import type { SymbolInfo } from '../operations.ts'; export interface TsNode { readonly type: string; readonly text: string; readonly startPosition: { row: number; column: number; }; readonly endPosition: { row: number; column: number; }; readonly childCount: number; readonly children: TsNode[]; readonly isNamed: boolean; child(index: number): TsNode | null; childForFieldName(fieldName: string): TsNode | null; descendantsOfType(type: string): TsNode[]; } interface TsTree { readonly rootNode: TsNode; } interface TsLanguage { readonly version: number; } interface TsParser { setLanguage(lang: TsLanguage): void; parse(source: string): TsTree; } interface TsParserStatic { init(opts: { locateFile: (name: string) => string; }): Promise; new (): TsParser; } interface TsLanguageStatic { load(path: string): Promise; } interface VsCodeTreeSitter { Parser: TsParserStatic; Language: TsLanguageStatic; } export interface ParseResult { symbols: SymbolInfo[]; imports: Array<{ from: string; names: string[]; }>; exports: string[]; } export type LanguageParser = (source: string, filePath: string, parser: TsParser, lang: TsLanguage, mod: VsCodeTreeSitter) => ParseResult; export declare function registerLanguage(extensions: string[], wasmName: string, parse: LanguageParser): void; export declare function supportedExtensions(): string[]; export declare function supportedLanguageNames(): string[]; export declare function parseSource(source: string, filePath: string, ext: string): Promise; export {}; //# sourceMappingURL=registry.d.ts.map