import { Node, Tree } from 'web-tree-sitter';
import type { TolkType, TolkStruct, TypeAliasInfo, TLBDefinition, GetMethod } from './types';
export declare class TolkASTProcessor {
    private parser;
    private structs;
    private typeAliases;
    private getMethods;
    private constructor();
    static initialize(): Promise<TolkASTProcessor>;
    /**
     * Convert Tolk source code directly to TLB definitions
     */
    transpile(sourceCode: string): TLBDefinition[];
    parse(sourceCode: string): Tree;
    /**
     * Get parsed get methods
     */
    getGetMethods(): GetMethod[];
    getStructs(): TolkStruct[];
    getTypeAliases(): TypeAliasInfo[];
    processAST(tree: Tree): TLBDefinition[];
    private collectDefinitions;
    private processStructDeclaration;
    private processTypeAlias;
    private extractPackPrefix;
    private extractAnnotations;
    private extractGenerics;
    private extractStructFields;
    resolveType(typeNode: Node): TolkType;
    private processUnionType;
    private flattenUnion;
    private processTensorType;
    private processTupleType;
    private processGenericType;
    private parseGenericParams;
}
//# sourceMappingURL=parser.d.ts.map