import { MigrateFns, Schema, SchemaChecksum } from '@based/schema'; import { BasedDbQuery, QueryByAliasObj } from './query/BasedDbQuery.js'; import { SubStore } from './query/subscription/index.js'; import { DbShared } from '../shared/DbBase.js'; import { DbClientHooks } from '../hooks.js'; import { ModifyOpts } from './modify/types.js'; import { Ctx } from './modify/Ctx.js'; type DbClientOpts = { hooks: DbClientHooks; maxModifySize?: number; flushTime?: number; debug?: boolean; }; export declare class DbClient extends DbShared { constructor({ hooks, maxModifySize, flushTime, debug, }: DbClientOpts); subs: Map; stopped: boolean; hooks: DbClientHooks; flushTime: number; writeTime: number; isDraining: boolean; modifyCtx: Ctx; maxModifySize: number; upserting: Map; p: Promise; }>; schemaIsSet(): Promise; setSchema(schema: Schema, transformFns?: MigrateFns): Promise; create(type: string, obj?: {}, opts?: ModifyOpts): Promise; copy(type: string, target: number, objOrTransformFn?: Record | ((item: Record) => Promise)): Promise; query(type: string, id?: number | Promise | (number | Promise)[] | QueryByAliasObj | QueryByAliasObj[] | Uint32Array): BasedDbQuery; query(): BasedDbQuery; update(type: string, id: number | Promise, value: any, opts?: ModifyOpts): Promise; update(type: string, value: Record & { id: number; }, opts?: ModifyOpts): Promise; update(value: Record, opts?: ModifyOpts): Promise; upsert(type: string, obj: Record, opts?: ModifyOpts): Promise; insert(type: string, obj: Record, opts?: ModifyOpts): Promise; delete(type: string, id: number | Promise): any; expire(type: string, id: number, seconds: number): Promise; destroy(): void; stop(): void; drain(): Promise; isModified(): Promise; } export {};