/**
 * @license
 * Copyright 2022-2026 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import { MaybePromise, StorageContext } from "#general";
import { EventNumber } from "#types";
import { BaseEventStore } from "./BaseEventStore.js";
import { OccurrenceSummary } from "./EventStore.js";
import { Occurrence } from "./Occurrence.js";
/**
 * Event store that maintains even state across restarts.
 *
 * Reduces memory usage vs. non-volatle storage and maintains auditibility across restarts.  Requires a write for every
 * event.
 */
export declare class NonvolatileEventStore extends BaseEventStore {
    #private;
    /**
     * Create new store that persistes events into {@link storage}.
     */
    constructor(storage: StorageContext);
    load(): Promise<OccurrenceSummary[]>;
    add(occurrence: Occurrence): MaybePromise<OccurrenceSummary>;
    get(number: EventNumber): MaybePromise<Occurrence>;
    delete(number: EventNumber): MaybePromise<void>;
    clear(): MaybePromise<void>;
    close(): Promise<void> | undefined;
}
//# sourceMappingURL=NonvolatileEventStore.d.ts.map