import { DeliveryBlock, DeliveryBlockTemplate, RecurringTypes } from '@bringg/types';
import Session from '../Services/Identity/Session';
import { CreateDeliveryBlockTemplateResponse, DateRangeType, DeliveryBlockOptionsWithResources, DeliveryBlockOptionsWithUsers, UpdateDeliveryBlockTemplateRequest, UpdateDeliveryBlockTemplateResponse } from './DeliveryBlocks.consts';
export declare class DeliveryBlocksApi {
    private deliveryBlocksEntity;
    constructor(session: Session);
    get(teamId: number, startTime: number, endTime: number, dateRangeType?: DateRangeType): Promise<DeliveryBlock[]>;
    create(options: DeliveryBlockOptionsWithUsers | DeliveryBlockOptionsWithResources): Promise<DeliveryBlock>;
    update(options: DeliveryBlockOptionsWithUsers | DeliveryBlockOptionsWithResources): Promise<DeliveryBlock>;
    delete(id: number, recurring?: RecurringTypes): Promise<boolean>;
    getByDriverId(driverId: number, startTime: number, endTime: number, teamId?: number, dateRangeType?: DateRangeType): Promise<DeliveryBlock[]>;
    getTemplates(): Promise<DeliveryBlockTemplate[]>;
    getTemplateById(templateId: number): Promise<DeliveryBlockTemplate>;
    createTemplate(template: DeliveryBlockTemplate): Promise<CreateDeliveryBlockTemplateResponse>;
    updateTemplate(templateId: number, payload: UpdateDeliveryBlockTemplateRequest): Promise<UpdateDeliveryBlockTemplateResponse>;
    deleteTemplate(templateId: number): Promise<boolean>;
}
