interface DatabaseCommand {
    id: number;
    name: string;
    description: string;
    syntax_canonical: string;
    purpose: string;
    has_body: boolean;
    is_blocking: boolean;
    implicit_target?: string;
    implicit_result_target?: string;
    status: string;
    created_at: string;
    updated_at: string;
    source_info_id?: number;
}
interface DatabaseExpression {
    id: number;
    name: string;
    description: string;
    syntax: string;
    category: string;
    evaluates_to_type: string;
    precedence?: number;
    associativity?: string;
    status: string;
    created_at: string;
    updated_at: string;
    source_info_id?: number;
}
interface DatabaseFeature {
    id: number;
    name: string;
    description: string;
    syntax_canonical: string;
    trigger?: string;
    structure_description?: string;
    scope_impact?: string;
    status: string;
    created_at: string;
    updated_at: string;
    source_info_id?: number;
}
interface DatabaseExample {
    id: string;
    element_id: string;
    element_type: string;
    example: string;
}
export declare class LSPDatabaseExtractor {
    private db;
    constructor(dbPath?: string);
    extractCommands(): DatabaseCommand[];
    extractExpressions(): DatabaseExpression[];
    extractFeatures(): DatabaseFeature[];
    extractExamples(elementId: string, elementType: string): DatabaseExample[];
    extractAllExamples(): DatabaseExample[];
    generateCommandInterfaces(): string;
    generateTestCases(): string;
    generateCommandRegistry(): string;
    private getCategoryForCommand;
    extract(): Promise<void>;
    close(): void;
}
export {};
//# sourceMappingURL=extract-database.d.ts.map