import { Logger } from '@n8n/backend-common';
import { AgentsConfig } from '@n8n/config';
import { BinaryDataService, InstanceSettings } from 'n8n-core';
import { AiService } from '../../services/ai.service';
import { type GlobKnowledgeFilesRequest, type GlobKnowledgeFilesResult, type ReadKnowledgeRequest, type ReadKnowledgeResult, type SearchKnowledgeRequest, type SearchKnowledgeResult } from './agent-knowledge-retrieval';
import { AgentFileRepository } from './repositories/agent-file.repository';
import { AgentRepository } from './repositories/agent.repository';
export declare const AGENT_KNOWLEDGE_SANDBOX_NAME_PREFIX = "agent-";
export declare class AgentKnowledgeSandboxService {
    private readonly agentsConfig;
    private readonly logger;
    private readonly aiService;
    private readonly instanceSettings;
    private readonly agentFileRepository;
    private readonly agentRepository;
    private readonly binaryDataService;
    private readonly pendingSandboxAcquisitions;
    private readonly mirrorManifestHashes;
    private readonly pendingMirrorSyncs;
    constructor(agentsConfig: AgentsConfig, logger: Logger, aiService: AiService, instanceSettings: InstanceSettings, agentFileRepository: AgentFileRepository, agentRepository: AgentRepository, binaryDataService: BinaryDataService);
    warmSandbox(projectId: string, agentId: string): Promise<void>;
    destroySandbox(projectId: string, agentId: string): Promise<void>;
    searchKnowledge(projectId: string, agentId: string, request: SearchKnowledgeRequest): Promise<SearchKnowledgeResult>;
    globKnowledgeFiles(projectId: string, agentId: string, request: GlobKnowledgeFilesRequest): Promise<GlobKnowledgeFilesResult>;
    readKnowledge(projectId: string, agentId: string, request: ReadKnowledgeRequest): Promise<ReadKnowledgeResult>;
    private executeKnowledgeOperation;
    private ensureMirrorSynced;
    private syncMirror;
    private uploadMirrorFiles;
    prewarmMirrorInBackground(projectId: string, agentId: string): void;
    invalidateMirror(projectId: string, agentId: string): void;
    private loadKnowledgeReferenceLookup;
    private loadKnowledgeFileReferences;
    private resolveRequiredFile;
    private resolveOptionalFile;
    private acquireSandbox;
    private acquireSandboxFresh;
    private resolveDaytonaConnection;
    private resolveSandboxByName;
    private resolveReusableSandbox;
    private assertKnowledgeAccess;
    private assertKnowledgeConfiguration;
    private assertValidPathSegments;
    private isKnowledgeBaseEnabled;
    private assertKnowledgeBaseEnabled;
}
