import { type ConfigManagerLike } from './manager.js'; export interface SandboxDoctorCheck { readonly label: string; readonly ok: boolean; readonly detail: string; } export interface SandboxGuestBundle { readonly version: 1; readonly exportedAt: number; readonly guest: { readonly qemuBinary: string; readonly imagePath: string; readonly wrapperPath: string; readonly host: string; readonly port: number; readonly user: string; readonly workspacePath: string; readonly sessionMode: string; }; readonly nextSteps: readonly string[]; } export interface SandboxQemuInitBundle { readonly directory: string; readonly wrapperPath: string; readonly guestBundlePath: string; readonly readmePath: string; } export interface SandboxQemuSetupBundle extends SandboxQemuInitBundle { readonly imagePath: string; readonly imageCreateScriptPath: string; readonly guestBootstrapScriptPath: string; readonly projectionPolicyPath: string; readonly sshConfigPath: string; readonly manifestPath: string; } export interface SandboxQemuSetupManifest { readonly version: 1; readonly createdAt: number; readonly wrapperPath: string; readonly imagePath: string; readonly imageCreateScriptPath: string; readonly guestBootstrapScriptPath: string; readonly projectionPolicyPath: string; readonly sshConfigPath: string; readonly recommendedSettings: { readonly backend: 'qemu'; readonly wrapperPath: string; readonly imagePath: string; readonly guestHost: string; readonly guestPort: number; readonly guestUser: string; readonly guestWorkspacePath: string; readonly sessionMode: string; }; } export interface SandboxProvisioningOptions { readonly surfaceRoot: string; } export interface WritableConfigManagerLike extends ConfigManagerLike { setDynamic(key: string, value: unknown): void; } export declare function buildSandboxDoctorChecks(manager: ConfigManagerLike): SandboxDoctorCheck[]; export declare function renderSandboxDoctor(manager: ConfigManagerLike): string; export declare function exportSandboxGuestBundle(manager: ConfigManagerLike, workspaceRoot: string, pathArg: string, _options: SandboxProvisioningOptions): { path: string; bundle: SandboxGuestBundle; }; export declare function inspectSandboxGuestBundle(bundle: SandboxGuestBundle): string; export declare function scaffoldSandboxQemuInitBundle(manager: ConfigManagerLike, workspaceRoot: string, pathArg: string, options: SandboxProvisioningOptions): SandboxQemuInitBundle; export declare function scaffoldSandboxQemuSetupBundle(manager: ConfigManagerLike, workspaceRoot: string, pathArg: string, options: SandboxProvisioningOptions): SandboxQemuSetupBundle; export declare function createSandboxQemuImage(workspaceRoot: string, imagePathArg: string, sizeGb: number, qemuImgBinary?: string): { path: string; sizeGb: number; }; export declare function bootstrapSandboxQemuSetupBundle(manager: WritableConfigManagerLike, workspaceRoot: string, pathArg: string, sizeGb: number, options: SandboxProvisioningOptions): SandboxQemuSetupBundle; export declare function inspectSandboxQemuSetupManifest(manifest: SandboxQemuSetupManifest): string; export declare function loadSandboxQemuSetupManifest(workspaceRoot: string, pathArg: string): SandboxQemuSetupManifest; export declare function applySandboxQemuSetupManifest(manager: WritableConfigManagerLike, manifest: SandboxQemuSetupManifest): void; //# sourceMappingURL=provisioning.d.ts.map