import { DBSchema, IDBPDatabase } from 'idb'; import { EventType, Events, SendingSequencesReturn } from '../typings/session-replay'; import { BaseEventsStore, InstanceArgs as BaseInstanceArgs } from './base-events-store'; export declare const currentSequenceKey = "sessionCurrentSequence"; export declare const sequencesToSendKey = "sequencesToSend"; export declare const remoteConfigKey = "remoteConfig"; export interface SessionReplayDB extends DBSchema { sessionCurrentSequence: { key: number; value: Omit, 'sequenceId'>; }; sequencesToSend: { key: number; value: Omit, 'sequenceId'>; indexes: { sessionId: string | number; }; }; } export declare const defineObjectStores: (db: IDBPDatabase) => { sequencesStore: import("idb").IDBPObjectStore, "sequencesToSend", "versionchange"> | undefined; currentSequenceStore: import("idb").IDBPObjectStore, "sessionCurrentSequence", "versionchange"> | undefined; }; export declare const createStore: (dbName: string) => Promise>; type InstanceArgs = { apiKey: string; db: IDBPDatabase; } & BaseInstanceArgs; export declare class SessionReplayEventsIDBStore extends BaseEventsStore { private readonly db; constructor(args: InstanceArgs); static new(type: EventType, args: Omit): Promise; getCurrentSequenceEvents(sessionId?: number): Promise, "sequenceId">[] | undefined>; getSequencesToSend: () => Promise[] | undefined>; storeCurrentSequence: (sessionId: number) => Promise<{ sessionId: number; sequenceId: number; events: Events; } | undefined>; addEventToCurrentSequence: (sessionId: number, event: string) => Promise<{ events: Events; sessionId: number; sequenceId: number; } | undefined>; storeSendingEvents: (sessionId: number, events: Events) => Promise; cleanUpSessionEventsStore: (_sessionId: number, sequenceId?: number) => Promise; } export {}; //# sourceMappingURL=events-idb-store.d.ts.map