import type { BuiltTelemetry, CredentialProvider, ModelConfig, ScopedMemoryTaskEvent, SerializableAgentState, StreamChunk, Telemetry } from '@n8n/agents';
import { Logger } from '@n8n/backend-common';
import type { User } from '@n8n/db';
import { NodeCatalogService } from '../../../node-catalog';
import { InstanceAiCreditService } from '../../instance-ai/instance-ai-credit.service';
import { AgentsService } from '../agents.service';
import { AgentsBuilderToolsService } from './agents-builder-tools.service';
import { N8NCheckpointStorage } from '../integrations/n8n-checkpoint-storage';
import { N8nMemory } from '../integrations/n8n-memory';
import { AgentCheckpointRepository } from '../repositories/agent-checkpoint.repository';
interface FindSuspendedCheckpointOptions {
    includeUnscoped?: boolean;
}
export interface InstanceAiBuilderSessionOptions {
    threadId: string;
    hostThreadId: string;
    runId: string;
    instructionsAddendum?: string;
    modelConfig: ModelConfig;
    telemetry?: Telemetry | BuiltTelemetry;
    memoryTaskObserver?: (event: ScopedMemoryTaskEvent) => void;
}
export declare class AgentsBuilderService {
    private readonly logger;
    private readonly agentsService;
    private readonly nodeCatalogService;
    private readonly agentsBuilderToolsService;
    private readonly n8nMemory;
    private readonly instanceAiCreditService;
    private readonly n8nCheckpointStorage;
    private readonly agentCheckpointRepository;
    constructor(logger: Logger, agentsService: AgentsService, nodeCatalogService: NodeCatalogService, agentsBuilderToolsService: AgentsBuilderToolsService, n8nMemory: N8nMemory, instanceAiCreditService: InstanceAiCreditService, n8nCheckpointStorage: N8NCheckpointStorage, agentCheckpointRepository: AgentCheckpointRepository);
    buildAgent(agentId: string, projectId: string, message: string, credentialProvider: CredentialProvider, user: User, session: InstanceAiBuilderSessionOptions): AsyncGenerator<StreamChunk>;
    resumeBuild(agentId: string, projectId: string, runId: string, toolCallId: string, resumeData: unknown, credentialProvider: CredentialProvider, user: User, session: InstanceAiBuilderSessionOptions): AsyncGenerator<StreamChunk>;
    cancelCheckpoint(agentId: string, runId: string): Promise<void>;
    private createBuilderAgent;
    private streamFromAgent;
    findOpenCheckpoint(agentId: string): Promise<SerializableAgentState | null>;
    findOpenCheckpointForThread(agentId: string, threadId: string, options?: FindSuspendedCheckpointOptions): Promise<SerializableAgentState | null>;
    private findSuspendedCheckpoint;
}
export {};
