import { DELETE_RESPONSE } from '../../Core/CrudService';
import { BasicResponse } from '../../Core/Responses';
import { CommonOptions } from '../../Core/RouteGenerator';
import Session from '../../Services/Identity/Session';
import { ServiceAreaModel } from '../ServiceArea.consts';
import { CreateServiceAreaRequest, LoadAllServiceAreasByTeamsRequest, ServiceAreaFieldsRequest, ServiceAreasResponse, UpdateServiceAreaRequest } from './service-area.consts';
export default class ServiceAreaService {
    private readonly service;
    constructor(session: Session);
    loadAll(commonOptions?: CommonOptions): Promise<ServiceAreaModel[]>;
    loadAllByTeams(request: LoadAllServiceAreasByTeamsRequest, commonOptions?: CommonOptions): Promise<ServiceAreaModel[]>;
    create(request: CreateServiceAreaRequest): Promise<ServiceAreaModel>;
    update(id: number, request: UpdateServiceAreaRequest): Promise<ServiceAreaModel>;
    delete(id: number): Promise<DELETE_RESPONSE>;
    assign(id: number, userId: number): Promise<ServiceAreasResponse>;
    unassign(userId: number): Promise<BasicResponse>;
    getAllByFields(request: ServiceAreaFieldsRequest): Promise<BasicResponse & {
        service_areas: ServiceAreaModel[];
    }>;
}
