import { Customer, Task } from '@bringg/types';
import { StorableEventUnsubscribe } from '../../Data/storable-types';
import { DataOptions, MappedStorableItem } from '../../data-entity';
import Session from '../../Services/Identity/Session';
import { FindRequest, GetAllRequest } from '../Customer.consts';
export default class CustomersApi {
    private readonly customersStore;
    private readonly customersService;
    private readonly storableDataService;
    private readonly storableRealtimeSubscriptions;
    constructor(session: Session);
    onCreate(callback: (customer: Customer) => StorableEventUnsubscribe): StorableEventUnsubscribe;
    add(customer: Customer): MappedStorableItem<Customer>;
    getAll(): Customer[];
    get(id: number): Customer;
    loadAll(params?: GetAllRequest, options?: DataOptions): Promise<any>;
    loadMany(ids: number[], options?: DataOptions): Promise<Customer[]>;
    load(id: any, options?: DataOptions): Promise<Customer>;
    find(params: FindRequest): Promise<Customer[]>;
    getTasks(id: number, page: number): Promise<Task[]>;
    getTotalTasks(id: number): Promise<number>;
    update(customerData: Customer): Promise<Customer>;
    create(customerData: Customer): Promise<Customer>;
}
