import { IObserverCallback, IItem, IGetItem, IInsertItem, IQueryInput, IInsertInput, IUnlisten, IDebeUse } from './types'; import { DebeDispatcher } from './dispatcher'; export declare class Debe> { dispatcher: TDispatcher & DebeDispatcher; initializing: Promise; isInitialized: boolean; constructor(dispatcher: TDispatcher & DebeDispatcher); close(): Promise; initialize(): Promise; use(collection: string): IDebeUse; listen(collection: string, callback: IObserverCallback<(T & IGetItem)[]>): IUnlisten; insert(collection: string, value: (T & IInsertItem)[], options?: IInsertInput): Promise<(T & IGetItem)[]>; insert(collection: string, value: T & IInsertItem, options?: IInsertInput): Promise; remove(collection: string, value: string | string[]): Promise; all(collection: string): Promise<(T & IGetItem)[]>; all(collection: string, value: string | string[] | IQueryInput): Promise<(T & IGetItem)[]>; all(collection: string, callback: IObserverCallback<(T & IGetItem)[]>): IUnlisten; all(collection: string, value: string[] | string | IQueryInput, callback: IObserverCallback<(T & IGetItem)[]>): IUnlisten; count(collection: string): Promise; count(collection: string, value: string | string[] | IQueryInput): Promise; count(collection: string, callback: IObserverCallback): IUnlisten; count(collection: string, value: IQueryInput, callback: IObserverCallback): IUnlisten; get(collection: string, args?: IQueryInput | string): Promise; get(collection: string, value?: IQueryInput | string, callback?: IObserverCallback): IUnlisten; }