import { type AgentSkill, type AgentSkillMutationResponse } from '@n8n/api-types';
import { Logger } from '@n8n/backend-common';
import { Agent } from './entities/agent.entity';
import type { AgentJsonConfig } from './json-config/agent-json-config';
import { AgentRepository } from './repositories/agent.repository';
type AgentSkillEntries = Agent['skills'];
export declare class AgentSkillsService {
    private readonly logger;
    private readonly agentRepository;
    constructor(logger: Logger, agentRepository: AgentRepository);
    listSkills(agentId: string, projectId: string): Promise<Record<string, AgentSkill>>;
    getSkill(agentId: string, projectId: string, skillId: string): Promise<AgentSkill>;
    createSkill(agentId: string, projectId: string, skill: AgentSkill): Promise<AgentSkillMutationResponse>;
    createAndAttachSkill(agentId: string, projectId: string, skill: AgentSkill): Promise<AgentSkillMutationResponse>;
    updateSkill(agentId: string, projectId: string, skillId: string, updates: Partial<AgentSkill>): Promise<AgentSkillMutationResponse>;
    deleteSkill(agentId: string, projectId: string, skillId: string): Promise<void>;
    removeUnreferencedSkills(entity: Agent, config: AgentJsonConfig): void;
    getMissingSkillIds(config: AgentJsonConfig | null, skills: AgentSkillEntries): string[];
    snapshotConfiguredSkills(config: AgentJsonConfig | null, skills: AgentSkillEntries): AgentSkillEntries | null;
    private validateSkill;
    private addSkill;
    private attachSkillRef;
}
export {};
