import type { StructuralPrepass, Symbol, Import, FileFilter, ClassFilter, MethodFilter, InterfaceFilter, IndexResult, MethodFactSheet } from '../interface.js';
export declare class GrepOnlyBackend implements StructuralPrepass {
    private sourceDir;
    private files;
    /** Cache file→content to avoid re-reading on multiple calls. */
    private fileCache;
    capabilities: {
        callGraph: boolean;
        crossFileResolution: boolean;
        componentClustering: boolean;
        fullTextSearch: boolean;
        fileWatching: boolean;
        routeExtraction: boolean;
        implementsExtraction: boolean;
        validationSchemaExtraction: boolean;
        processExtraction: boolean;
    };
    init(sourceDir: string): Promise<void>;
    index(): Promise<IndexResult>;
    listFiles(filter?: FileFilter): Promise<string[]>;
    listClasses(filter?: ClassFilter): Promise<Symbol[]>;
    listMethods(filter?: MethodFilter): Promise<Symbol[]>;
    listInterfaces(filter?: InterfaceFilter): Promise<Symbol[]>;
    listImports(file: string): Promise<Import[]>;
    fileSourceText(file: string): Promise<string>;
    /**
     * Extract per-method facts via regex over the method body.
     *
     * Locates the method (parses class containing `qualifiedName`'s class part,
     * scans for the method by name), pulls the body via brace-depth tracking,
     * runs each pattern extractor on it.
     */
    getMethodDetails(qualifiedName: string): Promise<MethodFactSheet | null>;
    /** Find the closing line of a class block by tracking brace depth. */
    private findClassEnd;
}
//# sourceMappingURL=grep-only.d.ts.map