import { Snapshot } from "./lib/dto/snapshot.js"; import type { DatabaseConfig, DatabaseData, ListenerHandler, ListenerKey, ResolveQueueId, TableKey } from "./lib/type/database.js"; import type { PeerID, WebRtcDispatchPayload } from "./lib/type/web-rtc.js"; export declare class LiveDatabase { private storage; private listener; private updateResolveQueue; private roomChief; private updateTimeout; private lastResolveQueueId; onSendUpdate: (data: WebRtcDispatchPayload) => void; onConnect: (peerId: PeerID) => void; onUpdateComplete: () => void; onSetStorageKey: (key: string) => void; constructor(config?: DatabaseConfig); syncDatabase(snapshot: Snapshot): void; addDBListener(listenerKey: ListenerKey, dbHandler: ListenerHandler): void; removeDBListener(listenerKey: ListenerKey): void; updateDB(table: TableKey | undefined, data: DatabaseData, options?: { clear: boolean; }): Promise; checkUpdate(id: ResolveQueueId): Promise; onValue({ id, table, data, clear }: WebRtcDispatchPayload, send?: boolean): void; private emitCallback; private emitAllCallback; getData(table: TableKey): DatabaseData | undefined; connect(targetId: string): void; onClear(): Promise; setRoomChief(): void; destroy(): void; getSnapshot(): Snapshot; get database(): { [k: string]: DatabaseData; }; } //# sourceMappingURL=database.d.ts.map