package io.swagger.api;

import io.swagger.api.*;
import io.swagger.model.*;

import org.glassfish.jersey.media.multipart.FormDataContentDisposition;

import io.swagger.model.Pet;
import io.swagger.model.ApiResponse;
import java.io.File;

import java.util.List;
import io.swagger.api.NotFoundException;

import java.io.InputStream;

import javax.ws.rs.core.Response;
import javax.ws.rs.core.SecurityContext;


public abstract class PetApiService {
    
    public abstract Response addPet(Pet body,SecurityContext securityContext) throws NotFoundException;
    
    public abstract Response deletePet(Long petId,String apiKey,SecurityContext securityContext) throws NotFoundException;
    
    public abstract Response findPetsByStatus(List<String> status,SecurityContext securityContext) throws NotFoundException;
    
    public abstract Response findPetsByTags(List<String> tags,SecurityContext securityContext) throws NotFoundException;
    
    public abstract Response getPetById(Long petId,SecurityContext securityContext) throws NotFoundException;
    
    public abstract Response updatePet(Pet body,SecurityContext securityContext) throws NotFoundException;
    
    public abstract Response updatePetWithForm(Long petId,String name,String status,SecurityContext securityContext) throws NotFoundException;
    
    public abstract Response uploadFile(Long petId,String additionalMetadata,InputStream inputStream, FormDataContentDisposition fileDetail,SecurityContext securityContext) throws NotFoundException;
    
}
