import { TieredCacheOptions } from './tieredCache.js'; import fsSync from 'fs'; export interface SourceCodeMetadata { filePath: string; hash: string; size: number; lastModified: number; language: string; processed: boolean; content?: string; } export interface ASTMetadata { filePath: string; sourceHash: string; rootType: string; rootStartByte: number; rootEndByte: number; structure?: MinimalASTStructure; } export interface ASTNode { type: string; startByte: number; endByte: number; children?: ASTNode[]; [key: string]: unknown; } export interface MinimalASTStructure { type: string; startByte: number; endByte: number; children?: MinimalASTStructure[]; childrenCount?: number; } export interface MetadataCacheOptions extends Partial { name: string; cacheDir: string; } export declare class MetadataCache { private cache; private name; constructor(options: MetadataCacheOptions); init(): Promise; get(key: string): Promise; set(key: string, value: T): Promise; has(key: string): Promise; delete(key: string): Promise; clear(): Promise; getStats(): unknown; static createSourceCodeMetadata(filePath: string, content?: string, stats?: fsSync.Stats): Promise; static createASTMetadata(filePath: string, sourceHash: string, rootNode: ASTNode): ASTMetadata; static extractMinimalStructure(node: ASTNode, options?: { maxDepth?: number; maxChildren?: number; }): MinimalASTStructure | null; } //# sourceMappingURL=metadataCache.d.ts.map