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 interface NodeTypeDefinitionRequest { nodeId: string; version?: string; resource?: string; operation?: string; mode?: string; } export interface NodeTypeDefinitionResult { content: string; version?: string; error?: string; builderHint?: string; } export declare class NodeCatalogService { private readonly loadNodesAndCredentials; private readonly logger; private nodeTypeParser; private nodeDefinitionDirs; private descriptionsById; private initPromise; private readonly searchStates; private readonly getCache; private readonly getDefinitionCache; private readonly suggestCache; constructor(loadNodesAndCredentials: LoadNodesAndCredentials, logger: Logger); initialize(): Promise; getNodeTypeParser(): NodeTypeParser; getNodeDefinitionDirs(): string[]; searchNodes(queries: string[], options?: SearchNodesOptions): Promise; getNodeTypes(nodeIds: NodeRequest[]): Promise; getNodeTypeDefinition(request: NodeTypeDefinitionRequest): Promise; getSuggestedNodes(categories: string[]): Promise; private doInitialize; private refreshNodeTypes; private indexDescriptions; private toDefinitionRequest; private getBuiltinNodeTypeDefinition; private getSynthesizedNodeTypeDefinition; private selectDescription; private versionNotFoundError; private resolveBuiltinNodeDefinitionDirs; }