export interface Language { query(source: string): Query; } export interface Tree { rootNode: SyntaxNode; } export interface Query { matches(node: SyntaxNode): QueryMatch[]; captures(node: SyntaxNode): QueryCapture[]; } export interface SyntaxNode { type: string; text: string; startPosition: { row: number; column: number; }; endPosition: { row: number; column: number; }; children: SyntaxNode[]; } export interface QueryMatch { pattern: number; captures: QueryCapture[]; } export interface QueryCapture { name: string; node: SyntaxNode; } export type LanguageType = 'typescript' | 'javascript' | 'tsx' | 'jsx' | 'python' | 'go' | 'rust' | 'c' | 'cpp' | 'java' | 'kotlin' | 'ruby' | 'php' | 'bash'; export interface ParseResult { tree: Tree; language: LanguageType; parseTimeMs: number; } /** * Initialize the tree-sitter WASM runtime. * Must be called before any parsing operations. */ export declare function initParser(): Promise; /** * Check if the parser is initialized */ export declare function isInitialized(): boolean; /** * Load a language from a WASM file. * Downloads on first use and caches locally for subsequent uses. */ export declare function loadLanguage(languageType: LanguageType): Promise; /** * Check if a language is supported (has WASM available locally or can be downloaded) */ export declare function isLanguageSupported(languageType: LanguageType): boolean; /** * Check if a language WASM is already downloaded (no network needed) */ export declare function isLanguageAvailableOffline(languageType: LanguageType): boolean; /** * Get or create a parser for the given language */ export declare function getParser(languageType: LanguageType): Promise; /** * Get the language object for query creation */ export declare function getLanguageObject(languageType: LanguageType): Promise; /** * Parse file content into AST * Uses caching for performance */ export declare function parseFile(content: string, filePath: string, languageType: LanguageType): Promise; /** * Detect language from file extension */ export declare function detectLanguage(filePath: string): LanguageType | null; /** * Clear the tree cache for a specific file or all files */ export declare function clearTreeCache(filePath?: string): void; /** * Reset all parser state (for testing) */ export declare function resetParserState(): void; /** * Get cache statistics */ export declare function getCacheStats(): { parserCount: number; treeCacheSize: number; languageCount: number; }; /** * Get the WASM cache directory path */ export declare function getWasmCacheDir(): string; /** * List all cached WASM files */ export declare function listCachedLanguages(): LanguageType[]; /** * Pre-download all supported language WASM files */ export declare function downloadAllLanguages(): Promise<{ success: LanguageType[]; failed: LanguageType[]; }>; //# sourceMappingURL=parser.d.ts.map