import type { BuiltTool, CredentialProvider } from '@n8n/agents';
import { type AgentJsonConfig } from '@n8n/api-types';
import type { User } from '@n8n/db';
import { WorkflowRepository } from '@n8n/db';
import { CredentialTypes } from '../../../credential-types';
import { AgentTaskService } from '../agent-task.service';
import { AgentsToolsService } from '../agents-tools.service';
import { AgentsService } from '../agents.service';
import { AgentRepository } from '../repositories/agent.repository';
import { AgentSecureRuntime } from '../runtime/agent-secure-runtime';
import { BuilderModelLookupService } from './builder-model-lookup.service';
import { McpRegistryService } from '../../../modules/mcp-registry/registry/mcp-registry.service';
import { OauthService } from '../../../oauth/oauth.service';
export interface AgentConfigSnapshot {
    config: AgentJsonConfig | null;
    configHash: string | null;
    updatedAt: string | null;
    versionId: string | null;
}
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 secureRuntime;
    private readonly workflowRepository;
    private readonly agentsToolsService;
    private readonly builderModelLookupService;
    private readonly mcpRegistryService;
    private readonly oauthService;
    private readonly credentialTypes;
    private readonly agentTaskService;
    private readonly agentRepository;
    constructor(agentsService: AgentsService, secureRuntime: AgentSecureRuntime, workflowRepository: WorkflowRepository, agentsToolsService: AgentsToolsService, builderModelLookupService: BuilderModelLookupService, mcpRegistryService: McpRegistryService, oauthService: OauthService, credentialTypes: CredentialTypes, agentTaskService: AgentTaskService, agentRepository: AgentRepository);
    getTools(agentId: string, projectId: string, credentialProvider: CredentialProvider, user: User): BuilderTools;
    private getJsonTools;
    private getSharedTools;
    private getConfigSnapshot;
}
