import { IBaseDBItem, Manager } from '@berish/orm';
import { IWebDBAdapterParams } from './webDBAdapter';
export declare type WebDBMethodParameters<N extends keyof Manager['db']> = Parameters<Manager['db'][N]>;
export declare type WebDBMethodReturn<N extends keyof Manager['db']> = ReturnType<Manager['db'][N]>;
export declare class WebDBReceiver {
    private _manager;
    private _cacheEmitter;
    private _subscribeEventHashes;
    constructor(manager: Manager);
    get manager(): Manager;
    get API(): IWebDBAdapterParams;
    count: (data: import("@berish/orm").QueryData<import("@berish/orm").QueryDataSchema>) => Promise<number>;
    get: (data: import("@berish/orm").QueryData<import("@berish/orm").QueryDataSchema>) => Promise<IBaseDBItem>;
    create: (table: string, items: IBaseDBItem[]) => Promise<void>;
    update: (table: string, items: IBaseDBItem[]) => Promise<void>;
    delete: (data: import("@berish/orm").QueryData<import("@berish/orm").QueryDataSchema>) => Promise<void>;
    index: (table: string, indexName: string, keys?: string[]) => void;
    find: (data: import("@berish/orm").QueryData<import("@berish/orm").QueryDataSchema>) => Promise<IBaseDBItem[]>;
    subscribe: (data: import("@berish/orm").QueryData<import("@berish/orm").QueryDataSchema>, callback: (oldValue: IBaseDBItem, newValue: IBaseDBItem, newValueIndex?: number) => any, onError?: (reason: any) => any) => () => void;
    close: () => void;
}
