import { type AgentIntegrationConfig, type ChatIntegrationDescriptor } from '@n8n/api-types';
import { AgentRuntimeCacheService } from './agent-runtime-cache.service';
import type { Agent } from './entities/agent.entity';
import { ChatIntegrationRegistry } from './integrations/agent-chat-integration';
import { ChatIntegrationService } from './integrations/chat-integration.service';
import { AgentRepository } from './repositories/agent.repository';
export interface SaveCredentialIntegrationOptions {
    broadcast?: boolean;
}
export interface RemoveCredentialIntegrationOptions {
    broadcast?: boolean;
}
export declare class AgentIntegrationPersistenceService {
    private readonly agentRepository;
    private readonly chatIntegrationService;
    private readonly runtimeCacheService;
    private readonly chatIntegrationRegistry;
    constructor(agentRepository: AgentRepository, chatIntegrationService: ChatIntegrationService, runtimeCacheService: AgentRuntimeCacheService, chatIntegrationRegistry: ChatIntegrationRegistry);
    listChatIntegrations(): ChatIntegrationDescriptor[];
    saveCredentialIntegration(agent: Agent, integration: AgentIntegrationConfig, options?: SaveCredentialIntegrationOptions): Promise<Agent>;
    removeCredentialIntegration(agent: Agent, type: string, credentialId: string, options?: RemoveCredentialIntegrationOptions): Promise<Agent>;
}
