import type { BuiltTool, CredentialProvider } from '@n8n/agents';
import { type AgentJsonConfig } from '@n8n/api-types';
import { OutboundHttp, SsrfProtectionService } from '@n8n/backend-network';
import { SsrfProtectionConfig } from '@n8n/config';
import type { User } from '@n8n/db';
import { CredentialTypes } from '../../../credential-types';
import { McpRegistryService } from '../../../modules/mcp-registry/registry/mcp-registry.service';
import { NodeTypes } from '../../../node-types';
import { OauthService } from '../../../oauth/oauth.service';
import { AiService } from '../../../services/ai.service';
import { DynamicNodeParametersService } from '../../../services/dynamic-node-parameters.service';
import { FreeAiCreditsService } from '../../../services/free-ai-credits.service';
import { Telemetry } from '../../../telemetry';
import { AgentConfigService } from '../agent-config.service';
import { AgentCustomToolsService } from '../agent-custom-tools.service';
import { AgentIntegrationPersistenceService } from '../agent-integration-persistence.service';
import { AgentPublishService } from '../agent-publish.service';
import { AgentSkillsService } from '../agent-skills.service';
import { AgentTaskService } from '../agent-task.service';
import { AgentValidationService } from '../agent-validation.service';
import { AgentsToolsService } from '../agents-tools.service';
import { AgentsService } from '../agents.service';
import { AttachableWorkflowsService } from '../attachable-workflows.service';
import { BuilderModelLiveLookupService } from './builder-model-live-lookup.service';
import { AgentSecureRuntime } from '../runtime/agent-secure-runtime';
interface BuilderTelemetryContext {
    threadId?: string;
    runId?: string;
}
export declare function getAgentConfigHash(config: AgentJsonConfig | null): string | null;
export interface BuilderTools {
    json: BuiltTool[];
    shared: BuiltTool[];
}
export declare class AgentsBuilderToolsService {
    private readonly agentsService;
    private readonly agentConfigService;
    private readonly agentCustomToolsService;
    private readonly agentIntegrationPersistenceService;
    private readonly agentSkillsService;
    private readonly secureRuntime;
    private readonly attachableWorkflowsService;
    private readonly agentsToolsService;
    private readonly builderModelLiveLookupService;
    private readonly mcpRegistryService;
    private readonly oauthService;
    private readonly credentialTypes;
    private readonly agentTaskService;
    private readonly agentPublishService;
    private readonly aiService;
    private readonly outboundHttp;
    private readonly dynamicNodeParametersService;
    private readonly nodeTypes;
    private readonly ssrfConfig;
    private readonly ssrfProtectionService;
    private readonly freeAiCreditsService;
    private readonly telemetry;
    private readonly agentValidationService;
    constructor(agentsService: AgentsService, agentConfigService: AgentConfigService, agentCustomToolsService: AgentCustomToolsService, agentIntegrationPersistenceService: AgentIntegrationPersistenceService, agentSkillsService: AgentSkillsService, secureRuntime: AgentSecureRuntime, attachableWorkflowsService: AttachableWorkflowsService, agentsToolsService: AgentsToolsService, builderModelLiveLookupService: BuilderModelLiveLookupService, mcpRegistryService: McpRegistryService, oauthService: OauthService, credentialTypes: CredentialTypes, agentTaskService: AgentTaskService, agentPublishService: AgentPublishService, aiService: AiService, outboundHttp: OutboundHttp, dynamicNodeParametersService: DynamicNodeParametersService, nodeTypes: NodeTypes, ssrfConfig: SsrfProtectionConfig, ssrfProtectionService: SsrfProtectionService, freeAiCreditsService: FreeAiCreditsService, telemetry: Telemetry, agentValidationService: AgentValidationService);
    private withConfigMutationMarker;
    getTools(agentId: string, projectId: string, credentialProvider: CredentialProvider, user: User, telemetryContext?: BuilderTelemetryContext): BuilderTools;
    private getJsonTools;
    private getSharedTools;
    private getConfigSnapshot;
    private emitConfigDiffTelemetry;
    private applyCredentialToMcpServer;
}
export {};
