import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
import { Logger } from '@n8n/backend-common';
import { ExecutionsConfig, GlobalConfig } from '@n8n/config';
import { ExecutionRepository, FolderRepository, ProjectRepository, SharedWorkflowRepository, User } from '@n8n/db';
import { InstanceSettings } from 'n8n-core';
import { type IDeferredPromise, type IRun } from 'n8n-workflow';
import { WorkflowBuilderToolsService } from './tools/workflow-builder/workflow-builder-tools.service';
import { ActiveExecutions } from '../../active-executions';
import { CredentialsService } from '../../credentials/credentials.service';
import { DataTableProxyService } from '../../modules/data-table/data-table-proxy.service';
import { NodeTypes } from '../../node-types';
import { ProjectService } from '../../services/project.service.ee';
import { RoleService } from '../../services/role.service';
import { UrlService } from '../../services/url.service';
import { Telemetry } from '../../telemetry';
import { WorkflowRunner } from '../../workflow-runner';
import { WorkflowCreationService } from '../../workflows/workflow-creation.service';
import { WorkflowFinderService } from '../../workflows/workflow-finder.service';
import { WorkflowService } from '../../workflows/workflow.service';
import { ExecutionService } from '../../executions/execution.service';
export declare class McpService {
    private readonly logger;
    private readonly executionsConfig;
    private readonly workflowFinderService;
    private readonly workflowService;
    private readonly urlService;
    private readonly credentialsService;
    private readonly activeExecutions;
    private readonly globalConfig;
    private readonly telemetry;
    private readonly workflowRunner;
    private readonly roleService;
    private readonly projectService;
    private readonly workflowBuilderToolsService;
    private readonly workflowCreationService;
    private readonly nodeTypes;
    private readonly projectRepository;
    private readonly folderRepository;
    private readonly sharedWorkflowRepository;
    private readonly executionRepository;
    private readonly executionService;
    private readonly dataTableProxyService;
    private readonly pendingResponses;
    constructor(logger: Logger, executionsConfig: ExecutionsConfig, _instanceSettings: InstanceSettings, workflowFinderService: WorkflowFinderService, workflowService: WorkflowService, urlService: UrlService, credentialsService: CredentialsService, activeExecutions: ActiveExecutions, globalConfig: GlobalConfig, telemetry: Telemetry, workflowRunner: WorkflowRunner, roleService: RoleService, projectService: ProjectService, workflowBuilderToolsService: WorkflowBuilderToolsService, workflowCreationService: WorkflowCreationService, nodeTypes: NodeTypes, projectRepository: ProjectRepository, folderRepository: FolderRepository, sharedWorkflowRepository: SharedWorkflowRepository, executionRepository: ExecutionRepository, executionService: ExecutionService, dataTableProxyService: DataTableProxyService);
    getServer(user: User): Promise<McpServer>;
    private registerBuilderTools;
    get isQueueMode(): boolean;
    createPendingResponse(executionId: string): IDeferredPromise<IRun | undefined>;
    handleWorkerResponse(executionId: string, runData: IRun | undefined): void;
    removePendingResponse(executionId: string): void;
    cancelPendingExecution(executionId: string, reason?: string): void;
    cancelAllPendingExecutions(reason?: string): void;
    get pendingExecutionCount(): number;
}
