/**
 * LSP Integration for Living Docs
 *
 * Provides LSP-enhanced code analysis for living docs generation.
 * Falls back to grep-based analysis when LSP is unavailable.
 *
 * @module core/lsp/lsp-living-docs-integration
 */
export interface SymbolInfo {
    name: string;
    kind: 'function' | 'class' | 'interface' | 'type' | 'variable' | 'unknown';
    filePath: string;
    line: number;
    documentation?: string;
}
export interface CodeAnalysisResult {
    symbols: SymbolInfo[];
    usedLSP: boolean;
    analysisTimeMs: number;
}
export interface LSPLivingDocsAnalyzerOptions {
    /** Skip LSP initialization entirely - use grep-only mode */
    skipLSP?: boolean;
    /** Timeout for initialization in ms (default: 5000) */
    initTimeoutMs?: number;
}
/**
 * Analyze code files using LSP (with grep fallback)
 */
export declare class LSPLivingDocsAnalyzer {
    private lspManager;
    private projectRoot;
    private options;
    private initializationAttempted;
    constructor(projectRoot: string, options?: LSPLivingDocsAnalyzerOptions);
    /**
     * Initialize LSP manager (with timeout protection)
     */
    initialize(): Promise<void>;
    /**
     * Analyze files and extract symbols
     */
    analyzeFiles(files: string[]): Promise<CodeAnalysisResult>;
    /**
     * Analyze a single file
     */
    private analyzeFile;
    /**
     * Grep-based analysis fallback
     */
    private grepAnalyzeFile;
    /**
     * Get regex patterns for file extension
     */
    private getPatternsForExtension;
    /**
     * Shutdown LSP manager (with timeout protection)
     */
    shutdown(): Promise<void>;
}
/**
 * Quick helper to analyze code with automatic LSP/grep selection
 */
export declare function analyzeCodeForLivingDocs(projectRoot: string, files: string[]): Promise<CodeAnalysisResult>;
//# sourceMappingURL=lsp-living-docs-integration.d.ts.map