/**
 * @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";
/**
 * In-memory event store.
 *
 * Ensures event numbers remain sequential but otherwise discards all state on restart.
 */
export declare class VolatileEventStore extends BaseEventStore {
    #private;
    /**
     * Uses {@link storage} for persistence of "next" event number across restarts.
     *
     * {@link numberBlockSize} specifies how often storage is update with a new starting point.  A larger number reduces
     * writes but must remain small enough to avoid exhausting the full 64-bit even numbering space.
     */
    constructor(storage: StorageContext, numberBlockSize?: number);
    load(): Promise<never[]>;
    get(number: EventNumber): Occurrence;
    delete(number: EventNumber): MaybePromise<void>;
    add(occurrence: Occurrence): MaybePromise<OccurrenceSummary>;
    clear(): MaybePromise<void>;
    close(): Promise<void> | undefined;
}
//# sourceMappingURL=VolatileEventStore.d.ts.map