import { type Platform } from '../utils/platform.js';
import type { SandboxRuntimeConfig } from './sandbox-config.js';
import type { SandboxAskCallback, FsReadRestrictionConfig, FsWriteRestrictionConfig, NetworkRestrictionConfig } from './sandbox-schemas.js';
import { SandboxViolationStore } from './sandbox-violation-store.js';
/**
 * Interface for the sandbox manager API
 */
export interface ISandboxManager {
    initialize(runtimeConfig: SandboxRuntimeConfig, sandboxAskCallback?: SandboxAskCallback, enableLogMonitor?: boolean): Promise<void>;
    isSupportedPlatform(platform: Platform): boolean;
    isSandboxingEnabled(): boolean;
    checkDependencies(ripgrepConfig?: {
        command: string;
        args?: string[];
    }): boolean;
    getFsReadConfig(): FsReadRestrictionConfig;
    getFsWriteConfig(): FsWriteRestrictionConfig;
    getNetworkRestrictionConfig(): NetworkRestrictionConfig;
    getAllowUnixSockets(): string[] | undefined;
    getAllowLocalBinding(): boolean | undefined;
    getIgnoreViolations(): Record<string, string[]> | undefined;
    getEnableWeakerNestedSandbox(): boolean | undefined;
    getProxyPort(): number | undefined;
    getSocksProxyPort(): number | undefined;
    getLinuxHttpSocketPath(): string | undefined;
    getLinuxSocksSocketPath(): string | undefined;
    waitForNetworkInitialization(): Promise<boolean>;
    wrapWithSandbox(command: string, binShell?: string, customConfig?: Partial<SandboxRuntimeConfig>, abortSignal?: AbortSignal): Promise<string>;
    getSandboxViolationStore(): SandboxViolationStore;
    annotateStderrWithSandboxFailures(command: string, stderr: string): string;
    getLinuxGlobPatternWarnings(): string[];
    getConfig(): SandboxRuntimeConfig | undefined;
    updateConfig(newConfig: SandboxRuntimeConfig): void;
    reset(): Promise<void>;
}
/**
 * Global sandbox manager that handles both network and filesystem restrictions
 * for this session. This runs outside of the sandbox, on the host machine.
 */
export declare const SandboxManager: ISandboxManager;
//# sourceMappingURL=sandbox-manager.d.ts.map