import RequestClientWrapper from '../../RequestClientWrapper';
import RestService from '../../service/RestService';
import Location from './../model/Location';
import LocationCreateRequest from '../model/LocationCreateRequest';
import LocationUpdateRequest from './../model/LocationUpdateRequest';
import LocationSLA from '../model/LocationSLA';
import LocationClosedDay from '../model/LocationClosedDay';
import LocationClosureRequest from '../model/LocationClosureRequest';
import LocationSLAUpdateRequest from '../model/LocationSLAUpdateRequest';
export default class LocationsService extends RestService {
    private readonly client;
    private readonly EXPECTED_GET_OR_UPDATE_STATUS;
    private readonly EXPECTED_CREATE_STATUS;
    constructor(client: RequestClientWrapper);
    create(locationCreationRequest: LocationCreateRequest): Promise<Location>;
    update(locationUpdateRequest: LocationUpdateRequest): Promise<Location>;
    updateSla(locationId: string, sla: LocationSLAUpdateRequest): Promise<LocationSLA>;
    get(locationId: string): Promise<Location>;
    getByBusinessId(businessId: string): Promise<Location[]>;
    getSla(locationId: string): Promise<LocationSLA>;
    updateClosures(locationId: string, closedDates: LocationClosureRequest): Promise<LocationClosedDay[]>;
    getClosures(locationId: string): Promise<LocationClosedDay[]>;
    private mapLocationsResponse;
    private mapLocationSLAResponse;
    private mapLocationClosuresResponse;
    private formatLocation;
    private formatLocationClosure;
    private formatLocationSLA;
    private locationSLAOperatingDay;
}
