/**
 * Node Registry - Complete n8n Node Knowledge Base
 *
 * Dynamically loads ALL nodes from n8n packages (1000+ nodes)
 * Falls back to static registry in bundled environments
 */
export interface NodeTemplate {
    type: string;
    displayName: string;
    typeVersion: number;
    description: string;
    category: string;
    categories: string[];
    alias: string[];
    subcategories: Record<string, string[]>;
    defaultParameters: Record<string, any>;
    requiresCredentials: boolean;
    credentialType?: string;
    inputs: string[];
    outputs: string[];
    isTrigger: boolean;
    documentation: string | null;
    icon?: string;
    properties?: Array<{
        name: string;
        type: string;
        default?: any;
        required?: boolean;
        description?: string;
    }>;
}
/**
 * Get all nodes (lazy loaded)
 */
export declare function getAllNodes(): NodeTemplate[];
/**
 * Get node by type
 */
export declare function getNode(type: string): NodeTemplate | null;
/**
 * Get nodes by category
 */
export declare function getNodesByCategory(category: string): NodeTemplate[];
/**
 * Search nodes by keyword
 */
export declare function searchNodes(query: string): NodeTemplate[];
/**
 * Get all available categories
 */
export declare function getCategories(): string[];
/**
 * Get trigger nodes only
 */
export declare function getTriggerNodes(): NodeTemplate[];
/**
 * Get action nodes only
 */
export declare function getActionNodes(): NodeTemplate[];
/**
 * Get nodes that require credentials
 */
export declare function getNodesRequiringCredentials(): NodeTemplate[];
/**
 * Get recommended nodes for a task description
 */
export declare function getRecommendedNodes(taskDescription: string): NodeTemplate[];
/**
 * Get node count
 */
export declare function getNodeCount(): number;
/**
 * Check if a node type exists
 */
export declare function nodeExists(type: string): boolean;
//# sourceMappingURL=nodes.d.ts.map