import type { CodeBuilderSearchResult, NodeRequest, NodeTypeParser } from '@n8n/ai-workflow-builder';
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 initPromise;
    private readonly searchStates;
    private suggestTool;
    private readonly getCache;
    private readonly suggestCache;
    constructor(loadNodesAndCredentials: LoadNodesAndCredentials, logger: Logger);
    initialize(): Promise<void>;
    getNodeTypeParser(): NodeTypeParser;
    getNodeDefinitionDirs(): string[];
    searchNodes(queries: string[], options?: SearchNodesOptions): Promise<CodeBuilderSearchResult>;
    getNodeTypes(nodeIds: NodeRequest[]): Promise<string>;
    getSuggestedNodes(categories: string[]): Promise<string>;
    private doInitialize;
    private refreshNodeTypes;
    private resolveBuiltinNodeDefinitionDirs;
}
