import { DeliveryBlock, DeliveryBlockBreak, DeliveryBlockRecharge, DeliveryBlockResource, DeliveryBlockTemplate, DeliveryBlockTemplateSchedule, RecurringTypes } from '@bringg/types';
export type DeliveryBlocksResponse = {
    success: boolean;
    delivery_blocks: DeliveryBlock[];
};
export type DeliveryBlocksDeleteResponse = {
    success: boolean;
};
export type DeliveryBlocksCreateResponse = {
    success: boolean;
    delivery_block: DeliveryBlock;
};
type DeliveryBlockOptionsBase = {
    id?: number;
    team_id: number;
    start_time: number | string;
    end_time: number | string;
    original_capacity: number;
    name?: string;
    break_start_time: string;
    break_end_time: string;
    description?: string;
    ical?: string;
    recurring?: RecurringTypes;
    delivery_block_breaks?: DeliveryBlockBreak[];
    delivery_block_recharges?: DeliveryBlockRecharge[];
};
export type DeliveryBlockOptionsWithUsers = DeliveryBlockOptionsBase & {
    user_ids: number[];
};
export type DeliveryBlockOptionsWithResources = DeliveryBlockOptionsBase & {
    delivery_block_resources: DeliveryBlockResource[];
};
export declare enum DateRangeType {
    startsInRange = 1,
    overlapsWithRange = 2
}
export type UnassignedResourcesArrayByTeam = {
    [key: number]: {
        missing_resources_count: number;
        type: string;
        from: string;
    }[];
};
export type UpdateDeliveryBlockTemplateRequest = {
    schedule_ids_to_remove: number[];
    template_schedules: Partial<DeliveryBlockTemplateSchedule>[];
};
export type UpdateDeliveryBlockTemplateResponse = {
    success: boolean;
    schedules_created: Partial<DeliveryBlockTemplateSchedule>[];
    schedules_removed: number[];
    unassigned_resources_array_by_team?: UnassignedResourcesArrayByTeam;
};
export type CreateDeliveryBlockTemplateResponse = {
    success: boolean;
    delivery_blocks_template: DeliveryBlockTemplate;
    unassigned_resources_array_by_team?: UnassignedResourcesArrayByTeam;
};
export {};
