export interface INodeSchemaStub {
    name: string;
    displayName: string;
    description: string;
    version: number | number[];
    keywords?: string[];
    operations?: string[];
    useCases?: string[];
    relevanceScore?: number;
}
export interface IEnrichedNode {
    name: string;
    displayName: string;
    description: string;
    version: number | number[];
    group?: string[];
    icon?: string;
    schema: {
        properties: any;
        sourcePath: string;
    };
    metadata: {
        keywords: string[];
        operations: string[];
        useCases: string[];
        keywordScore: number;
        hasDocumentation: boolean;
        markdownUrl: string | null;
        markdownFile: string | null;
    };
}
export declare class NodeSchemaProvider {
    private index;
    private enrichedIndex;
    private enrichedIndexPath;
    constructor(customIndexPath?: string);
    private loadIndex;
    /**
     * Get the full JSON schema for a specific node by name.
     * Returns null if not found.
     */
    getNodeSchema(nodeName: string): any | null;
    /**
     * Calculate relevance score for a node based on query
     */
    private calculateRelevance;
    /**
     * Fuzzy search for nodes with improved relevance scoring.
     * Returns a list of matches (stub only, not full schema).
     */
    searchNodes(query: string, limit?: number): INodeSchemaStub[];
    /**
     * List all available nodes (compact format).
     */
    listAllNodes(): INodeSchemaStub[];
}
//# sourceMappingURL=node-schema-provider.d.ts.map