/**
 * SandboxManager — lifecycle management for Docker sandbox environments.
 * Handles lazy container startup, reuse, exec routing, and cleanup.
 */
import { SandboxConfig, SandboxInstance, SandboxExecOptions, SandboxExecResult } from './types';
export declare class SandboxManager {
    private sandboxDefs;
    private repoPath;
    private gitBranch;
    private instances;
    private cacheManager;
    private visorDistPath;
    /** Get the resolved repository path (used by trace file relay) */
    getRepoPath(): string;
    constructor(sandboxDefs: Record<string, SandboxConfig>, repoPath: string, gitBranch: string);
    /**
     * Resolve which sandbox a check should use.
     * Returns null if the check should run on the host.
     *
     * Resolution order:
     * 1. Check-level sandbox: (explicit override)
     * 2. Workspace-level sandbox: (default)
     * 3. null → run on host
     */
    resolveSandbox(checkSandbox: string | undefined, workspaceDefault: string | undefined): string | null;
    /**
     * Get or lazily start a sandbox instance by name.
     */
    getOrStart(name: string): Promise<SandboxInstance>;
    /**
     * Execute a command inside a named sandbox
     */
    exec(name: string, options: SandboxExecOptions): Promise<SandboxExecResult>;
    /**
     * Stop all running sandbox instances and run cache eviction
     */
    stopAll(): Promise<void>;
}
//# sourceMappingURL=sandbox-manager.d.ts.map