import type { CodeBuilderSearchResult, NodeRequest, NodeTypeParser } from '@n8n/ai-utilities/node-catalog'; import { Logger } from '@n8n/backend-common'; import { LoadNodesAndCredentials } from '../load-nodes-and-credentials'; export type NodeFilter = (nodeId: string) => boolean; export interface SearchNodesOptions { nodeFilter?: NodeFilter; } export declare class NodeCatalogService { private readonly loadNodesAndCredentials; private readonly logger; private nodeTypeParser; private nodeDefinitionDirs; private mcpRegistryDescriptions; private initPromise; private readonly searchStates; private readonly getCache; private readonly suggestCache; constructor(loadNodesAndCredentials: LoadNodesAndCredentials, logger: Logger); initialize(): Promise; getNodeTypeParser(): NodeTypeParser; getNodeDefinitionDirs(): string[]; searchNodes(queries: string[], options?: SearchNodesOptions): Promise; getNodeTypes(nodeIds: NodeRequest[]): Promise; getSuggestedNodes(categories: string[]): Promise; private doInitialize; private refreshNodeTypes; private indexMcpRegistryDescriptions; private resolveBuiltinNodeDefinitionDirs; }