import { Logger as ILogger } from '@amplitude/analytics-types'; import { DBSchema, IDBPDatabase, IDBPTransaction } from 'idb'; export declare const MAX_IDB_STORAGE_LENGTH: number; type EventData = { event_type: string; }; type EventTypeStore = { [event_type: string]: { [timestamp: number]: EventData; }; }; export interface TargetingDB extends DBSchema { eventTypesForSession: { key: string; value: { sessionId: string; eventTypes: EventTypeStore; lastUpdated: number; }; }; } export declare class TargetingIDBStore { dbs: { [apiKey: string]: IDBPDatabase; }; createStore: (dbName: string) => Promise>; openOrCreateDB: (apiKey: string) => Promise>; updateEventListForSession: ({ sessionId, eventType, eventTime, loggerProvider, tx, }: { sessionId: string | number; eventType: string; eventTime: number; loggerProvider: ILogger; tx: IDBPTransaction; }) => Promise; deleteOldSessionEventTypes: ({ currentSessionId, loggerProvider, tx, }: { currentSessionId: string | number; loggerProvider: ILogger; tx: IDBPTransaction; }) => Promise; storeEventTypeForSession: ({ loggerProvider, sessionId, eventType, eventTime, apiKey, }: { loggerProvider: ILogger; apiKey: string; eventType: string; eventTime: number; sessionId: string | number; }) => Promise; } export declare const targetingIDBStore: TargetingIDBStore; export {}; //# sourceMappingURL=targeting-idb-store.d.ts.map