import type { IndexSummaryFamily, IndexViewer } from '@xyo-network/xl1-protocol/protocol-lib';
import type { CreatableProviderParams } from '../../CreatableProvider/index.js';
import { AbstractCreatableProvider } from '../../CreatableProvider/index.js';
/** Parameters for SimpleIndexViewer. */
export type SimpleIndexViewerParams = CreatableProviderParams;
/**
 * A truly memory-backed IndexViewer: computes step summaries on demand from the located
 * BlockViewer and memoizes each family's frames in-process. There is no durable index behind a
 * `memory` connection (no publisher populates it), so — unlike Rest/Mongo, which only ever read a
 * store someone else writes — this is both builder and cache, scoped to this instance's lifetime.
 */
export declare class SimpleIndexViewer extends AbstractCreatableProvider<SimpleIndexViewerParams> implements IndexViewer {
    static readonly connectionTypes: readonly ["memory"];
    static readonly defaultMoniker: "IndexViewer";
    static readonly dependencies: "BlockViewer"[];
    static readonly monikers: "IndexViewer"[];
    moniker: "IndexViewer";
    private _blockViewer;
    private readonly _semaphores;
    private readonly _summaryMaps;
    createHandler(): Promise<void>;
    /** Computes (and memoizes) the summary for a completed step, or null when the frame isn't complete yet. */
    stepSummary<T = unknown>(family: IndexSummaryFamily, stepLevel: number, stepIndex: number): Promise<T | null>;
    private buildFrame;
}
//# sourceMappingURL=SimpleIndexViewer.d.ts.map