import type { ULID } from 'ulid';
import type { Event, EventLog, GetEventsOptions } from '../types/event-log.js';
import { createLevelDatabase, LevelWrapper } from '../store/level-wrapper.js';
declare type EventLogLevelConfig = {
    /**
      * must be a directory path (relative or absolute) where
      *  LevelDB will store its files, or in browsers, the name of the
      * {@link https://developer.mozilla.org/en-US/docs/Web/API/IDBDatabase IDBDatabase} to be opened.
     */
    location: string;
    createLevelDatabase?: typeof createLevelDatabase;
};
export declare class EventLogLevel implements EventLog {
    config: EventLogLevelConfig;
    db: LevelWrapper<string>;
    ulid: ULID;
    constructor(config?: EventLogLevelConfig);
    open(): Promise<void>;
    close(): Promise<void>;
    clear(): Promise<void>;
    append(tenant: string, messageCid: string): Promise<string>;
    getEvents(tenant: string, options?: GetEventsOptions): Promise<Event[]>;
    deleteEventsByCid(tenant: string, cids: Array<string>): Promise<number>;
    dump(): Promise<void>;
}
export {};
//# sourceMappingURL=event-log-level.d.ts.map