import { type AgentFileDto } from '@n8n/api-types';
import { Logger } from '@n8n/backend-common';
import { AgentKnowledgeFileStore } from './agent-knowledge-file-store';
import { AgentKnowledgeSandboxService } from './agent-knowledge-sandbox.service';
import { AgentFileRepository } from './repositories/agent-file.repository';
import { AgentRepository } from './repositories/agent.repository';
export declare class AgentKnowledgeService {
    private readonly agentRepository;
    private readonly agentFileRepository;
    private readonly agentKnowledgeSandboxService;
    private readonly agentKnowledgeFileStore;
    private readonly logger;
    constructor(agentRepository: AgentRepository, agentFileRepository: AgentFileRepository, agentKnowledgeSandboxService: AgentKnowledgeSandboxService, agentKnowledgeFileStore: AgentKnowledgeFileStore, logger: Logger);
    uploadFiles(agentId: string, projectId: string, files: Express.Multer.File[]): Promise<AgentFileDto[]>;
    listFiles(agentId: string, projectId: string): Promise<AgentFileDto[]>;
    warmSandbox(agentId: string, projectId: string): Promise<void>;
    deleteFile(agentId: string, projectId: string, fileId: string): Promise<void>;
    deleteAllFilesForAgent(projectId: string, agentId: string): Promise<void>;
    destroySandbox(projectId: string, agentId: string): Promise<void>;
    private storeAgentFile;
    private saveAgentFile;
    private prepareUploadContent;
    private cleanupUploadedFiles;
    private extractPdfText;
    private validateUploadMetadata;
    private validateUploadBatch;
    private duplicateFileNameError;
    private validateMetadataLength;
    private ensureAgentBelongsToProject;
    private cleanupUploadTempFiles;
    private cleanupUploadTempFile;
}
