import { IStoreRecord, IStoreConfig } from './interface'; import { MemoryStore } from './memoryStore'; import { IStore } from './interface'; export declare type ArrayOrStoreConfig = Array | IStoreConfig; export interface IStorableClass { _store: IStore; new (...a: any[]): T; } export declare class StoreCatchable { _catchCallback: (err: any) => any; catch(catchCallback: (err: any) => any): void; throwAsync(err: any): void; } export declare abstract class Storable { static _store: IStore; private _queueSize; private _reposeCallback; constructor(attributes?: any); incQueue(): void; decQueue(): void; repose(reposeCallback: () => any): void; static find(this: IStorableClass, id: number, callback: (item: T) => any): StoreCatchable; static findOne(this: IStorableClass, conditions: any, callback: (item: T) => any): StoreCatchable; static all(this: IStorableClass, callback: (item: Array) => any): StoreCatchable; static initStore(config: ArrayOrStoreConfig | any): void; } export { MemoryStore };