import type { Platform } from "../platform/web/Platform.js"; import type { BlobHandle } from "../platform/web/dom/BlobHandle.js"; import type { ILogItem, ILogger, ILogReporter, ISerializedItem } from "./types"; import { LogFilter } from "./LogFilter"; type QueuedItem = { json: string; id?: number; }; type Options = { name: string; flushInterval?: number; limit?: number; platform: Platform; serializedTransformer?: (item: ISerializedItem) => ISerializedItem; }; export declare class IDBLogPersister implements ILogReporter { private readonly _flushInterval; private _queuedItems; private readonly options; private logger?; constructor(options: Options); setLogger(logger: ILogger): void; reportItem(logItem: ILogItem, filter: LogFilter, forced: boolean): void; export(): Promise; dispose(): void; handleEvent(evt: Event): void; private _tryFlush; private _finishAllAndFlush; private _loadQueuedItems; private _openDB; private prepareItemForQueue; private _persistQueuedItems; /** @internal called by ILogExport.removeFromStore */ removeItems(items: QueuedItem[]): Promise; private getSerializedOpenItems; } export declare class IDBLogExport { private readonly _items; private readonly _logger; private readonly _platform; constructor(items: QueuedItem[], logger: IDBLogPersister, platform: Platform); get count(): number; /** * @return {Promise} */ removeFromStore(): Promise; asBlob(): BlobHandle; toJSON(): string; } export {};