import { DataOptions, GroupValue } from '../data-entity';
import Session from '../Services/Identity/Session';
import { PlannedDeliveryWindow, PlannedDeliveryWindowsBulkDeleteRequest, PlannedDeliveryWindowsBulkEditRequest, PlannedDeliveryWindowsBulkResponse, PlannedDeliveryWindowsFilterGroups, RecurrenceOptions } from './planned-delivery-windows.consts';
export default class PlannedDeliveryWindowsApi {
    private readonly deliveryWindowsStore;
    private readonly deliveryWindowsService;
    private readonly storableDataService;
    constructor(session: Session);
    load(id: number, options?: DataOptions): Promise<PlannedDeliveryWindow>;
    loadAllWithoutTeam(startTime: string, endTime: string, options?: DataOptions): Promise<PlannedDeliveryWindow[]>;
    loadAllByTeam(teamId: number, startTime: string, endTime: string, options?: DataOptions): Promise<PlannedDeliveryWindow[]>;
    create(plannedDeliveryWindowsData: Partial<PlannedDeliveryWindow>[]): Promise<PlannedDeliveryWindow[]>;
    delete(id: number, recurrenceOptions?: RecurrenceOptions): Promise<PlannedDeliveryWindow>;
    update(id: number, plannedDeliveryWindow: Partial<PlannedDeliveryWindow>, recurrenceOptions?: RecurrenceOptions): Promise<PlannedDeliveryWindow>;
    get(id: number): PlannedDeliveryWindow;
    bulkDelete(plannedDeliveryWindowsToDelete: PlannedDeliveryWindowsBulkDeleteRequest): Promise<{
        planned_window_id: number;
        success: boolean;
    }[]>;
    bulkUpdate(plannedDeliveryWindowsToEdit: PlannedDeliveryWindowsBulkEditRequest): Promise<PlannedDeliveryWindowsBulkResponse>;
    getAll(): PlannedDeliveryWindow[];
    removeAll(): void;
    getGroup(group: PlannedDeliveryWindowsFilterGroups, groupValue: GroupValue): PlannedDeliveryWindow[];
}
