import { QueryData, QueryDataSchema } from './query'; export interface IBaseDBItem { id: string; createdAt?: number; updatedAt?: number; [key: string]: any; } export declare const baseDBMethods: string[]; export declare abstract class BaseDBAdapter { params: IInitializeParams; abstract initialize(params: IInitializeParams): Promise; abstract close(): Promise; abstract create(table: string, items: IBaseDBItem[]): Promise; abstract update(table: string, items: IBaseDBItem[]): Promise; abstract index(table: string, indexName: string, keys?: string[]): void; abstract count(data: QueryData): Promise; abstract get(data: QueryData): Promise; abstract delete(data: QueryData): Promise; abstract find(data: QueryData): Promise; abstract subscribe(data: QueryData, callback: (oldValue: IBaseDBItem, newValue: IBaseDBItem) => any, onError: (reason: any) => any): (() => any) | Promise<() => any>; }