/**
 * AST Parser Tool
 *
 * Multi-language Abstract Syntax Tree parser for extracting code structure.
 * Supports TypeScript, JavaScript, Python, and more.
 *
 * Inspired by hurry-mode's AST parsing capabilities.
 */
import { SupportedLanguage, ASTParseResult } from "./types.js";
/**
 * AST Parser Tool
 */
export declare class ASTParser {
    private cache;
    private cacheTimeout;
    private vfs;
    /**
     * Parse a file and extract symbols
     */
    parseFile(filePath: string, useCache?: boolean): Promise<ASTParseResult>;
    /**
     * Parse content string directly
     */
    parseContent(content: string, filePath: string, language?: SupportedLanguage): ASTParseResult;
    /**
     * Detect language from file extension
     */
    detectLanguage(filePath: string): SupportedLanguage;
    /**
     * Extract class symbols
     */
    private extractClasses;
    /**
     * Extract function symbols
     */
    private extractFunctions;
    /**
     * Extract interface symbols
     */
    private extractInterfaces;
    /**
     * Extract type alias symbols
     */
    private extractTypes;
    /**
     * Extract enum symbols
     */
    private extractEnums;
    /**
     * Extract variable and constant symbols
     */
    private extractVariables;
    /**
     * Extract imports
     */
    private extractImports;
    /**
     * Extract exports
     */
    private extractExports;
    /**
     * Parse parameter string into structured info
     */
    private parseParameters;
    /**
     * Split parameters handling nested brackets
     */
    private splitParameters;
    /**
     * Get source range from offset
     */
    private getRange;
    /**
     * Infer symbol visibility
     */
    private inferVisibility;
    /**
     * Build symbol hierarchy (parent-child relationships)
     */
    private buildSymbolHierarchy;
    /**
     * Calculate basic complexity metric
     */
    private calculateComplexity;
    /**
     * Create unique ID
     */
    private createId;
    /**
     * Clear cache
     */
    clearCache(): void;
    /**
     * Get cache stats
     */
    getCacheStats(): {
        size: number;
        entries: string[];
    };
}
/**
 * Create an AST parser instance
 */
export declare function createASTParser(): ASTParser;
export declare function getASTParser(): ASTParser;
export declare function resetASTParser(): void;
