import { type KeyFileStaleReason } from "../../features/magic-context/key-files/project-key-files";
import type { SessionMeta } from "../../features/magic-context/types";
import type { Database } from "../../shared/sqlite";
export interface KeyFilesConfigForRender {
    enabled: boolean;
    tokenBudget: number;
}
interface CacheEntry {
    value: string | null;
    version: number;
}
export declare const cachedKeyFilesBySession: Map<string, CacheEntry>;
export declare function queueStaleUpdate(projectPath: string, path: string, generatedAtWitness: number, staleReason: KeyFileStaleReason): void;
export declare function flushStaleUpdates(db: Database): number;
export declare function pendingStaleUpdateCount(): number;
export declare function clearKeyFilesCacheForSession(sessionId: string): void;
export declare function buildKeyFilesBlock(db: Database, projectPath: string, config?: KeyFilesConfigForRender): string | null;
export declare function readVersionedKeyFiles(args: {
    db: Database;
    sessionId: string | undefined;
    sessionMeta: SessionMeta;
    directory?: string;
    isCacheBusting: boolean;
    config?: KeyFilesConfigForRender;
}): string | null;
export {};
//# sourceMappingURL=key-files-block.d.ts.map