import type { ConnectedContextPack } from "@oscharko-dev/keiko-contracts/connected-context";
export interface IndexEntry {
    readonly key: string;
    readonly pack: ConnectedContextPack;
    readonly insertedAtMs: number;
    readonly expiresAtMs: number;
}
export interface MicroIndexOptions {
    readonly ttlMs: number;
    readonly maxEntries: number;
    readonly nowMs: () => number;
}
export declare const DEFAULT_MICRO_INDEX: Omit<MicroIndexOptions, "nowMs">;
export interface MicroIndex {
    get(key: string): ConnectedContextPack | undefined;
    set(key: string, pack: ConnectedContextPack): void;
    delete(key: string): void;
    clear(): void;
    size(): number;
}
export interface IndexKeyInput {
    readonly scopeId: string;
    readonly queryKind: string;
    readonly queryText: string;
    readonly atomStableIds: readonly string[];
}
export declare function makeIndexKey(input: IndexKeyInput): string;
export declare function createMicroIndex(options: MicroIndexOptions): MicroIndex;
//# sourceMappingURL=microIndex.d.ts.map