import { AxiosInstance } from 'axios';
import { HealthStatus, IdParam } from '../common/types';
import { Venue, VenueQuery, VenueQueryWithId } from './types';
/**
 * Service class for venue service API calls.
 */
export declare class VenueService {
    readonly client: AxiosInstance;
    readonly version: string;
    constructor(client: AxiosInstance, version: string);
    /**
     * Returns true if the service is reachable
     *
     * @returns Services' online status
     */
    health(): Promise<HealthStatus>;
    /**
     * Gets venues matching specified criteria.
     *
     * @param req filtering options
     * @returns an array of venues matching the criteria
     */
    getVenues(req?: VenueQuery): Promise<Venue[]>;
    /**
     * Gets a venue by its id.
     *
     * @param req venue ID and query options
     * @returns the requested venue
     */
    getVenue(options: VenueQueryWithId): Promise<Venue>;
    /**
     * Creates a new venue
     *
     * @param newVenue venue data
     * @returns the created venue
     */
    createVenue(newVenue: Venue): Promise<Venue>;
    /**
     * Updates a venue
     *
     * @param newData venue data, must contain the venue id
     * @returns the updated venue
     */
    updateVenue(newData: Partial<Venue>): Promise<Venue>;
    /**
     * Updates a venue
     *
     * @param newData venue data, must contain the venue id
     * @returns the updated venue
     */
    deleteVenue(newData: IdParam): Promise<void>;
}
//# sourceMappingURL=service.d.ts.map