import { ExclusionWindow } from '@bringg/types';
import { DELETE_RESPONSE } from '../../Core/CrudService';
import { DataOptions, GroupValue } from '../../data-entity';
import Session from '../../Services/Identity/Session';
import { CreateExclusionWindowsRequest, ExclusionWindowsFilterGroups, LoadAllExclusionWindowRequest, RangeExclusionWindowRequest, UpdateExclusionWindowsRequest } from './exclusion-window.consts';
export declare class ExclusionWindowApi {
    private readonly exclusionWindowStore;
    private readonly exclusionWindowService;
    private readonly storableDataService;
    constructor(session: Session);
    loadAllByTeam(request: LoadAllExclusionWindowRequest & RangeExclusionWindowRequest, options?: DataOptions): Promise<ExclusionWindow[]>;
    loadAllWithoutTeam(request?: RangeExclusionWindowRequest, options?: DataOptions): Promise<ExclusionWindow[]>;
    create(request: CreateExclusionWindowsRequest): Promise<ExclusionWindow>;
    update(id: number, request: UpdateExclusionWindowsRequest): Promise<ExclusionWindow>;
    createMany(request: CreateExclusionWindowsRequest[]): Promise<ExclusionWindow[]>;
    delete(id: number): Promise<DELETE_RESPONSE>;
    copyFromMerchant(teamId: number, exclusionWindowId?: number): Promise<ExclusionWindow[]>;
    get(id: number): ExclusionWindow;
    getByIds(ids: number[]): ExclusionWindow[];
    getAll(): ExclusionWindow[];
    removeAll(): void;
    getGroup(group: ExclusionWindowsFilterGroups, groupValue: GroupValue): ExclusionWindow[];
}
