import { z } from 'zod';
import { SessionHandoffProgressCheckpointSchema, SessionHandoffProgressWarningCodeSchema, SessionHandoffStatusSchema, SessionHandoffWorkspacePreflightSummarySchema } from './handoffStatus.js';
import { TransferChunkEnvelopeSchema, TransferEndpointCandidateSchema } from '../../machineTransfer/transferStream.js';
export declare const SessionHandoffWorkspaceTransferSchema: z.ZodObject<{
    enabled: z.ZodBoolean;
    strategy: z.ZodDefault<z.ZodEnum<{
        transfer_snapshot: "transfer_snapshot";
        sync_changes: "sync_changes";
    }>>;
    conflictPolicy: z.ZodEnum<{
        create_sibling_copy: "create_sibling_copy";
        replace_existing: "replace_existing";
    }>;
    includeIgnoredMode: z.ZodDefault<z.ZodEnum<{
        exclude: "exclude";
        include_selected: "include_selected";
    }>>;
    ignoredIncludeGlobs: z.ZodDefault<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
}, z.core.$strict>;
export type SessionHandoffWorkspaceTransfer = z.infer<typeof SessionHandoffWorkspaceTransferSchema>;
declare const SessionHandoffProviderBundleTransferPublicationSchema: z.ZodObject<{
    transferId: z.ZodString;
    sizeBytes: z.ZodNumber;
    manifestHash: z.ZodString;
    endpointCandidates: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
        kind: z.ZodEnum<{
            tcp: "tcp";
            http: "http";
            https: "https";
        }>;
        url: z.ZodString;
        authorizationToken: z.ZodOptional<z.ZodString>;
        expiresAt: z.ZodNumber;
    }, z.core.$strict>], "kind">>>>;
}, z.core.$strict>;
export type SessionHandoffProviderBundleTransferPublication = z.infer<typeof SessionHandoffProviderBundleTransferPublicationSchema>;
declare const SessionHandoffWorkspaceReplicationManifestTransferPublicationSchema: z.ZodObject<{
    transferId: z.ZodString;
    endpointCandidates: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
        kind: z.ZodEnum<{
            tcp: "tcp";
            http: "http";
            https: "https";
        }>;
        url: z.ZodString;
        authorizationToken: z.ZodOptional<z.ZodString>;
        expiresAt: z.ZodNumber;
    }, z.core.$strict>], "kind">>>>;
}, z.core.$strict>;
export type SessionHandoffWorkspaceReplicationManifestTransferPublication = z.infer<typeof SessionHandoffWorkspaceReplicationManifestTransferPublicationSchema>;
export declare const SessionHandoffMetadataV2Schema: z.ZodObject<{
    providerBundleTransferPublication: z.ZodOptional<z.ZodObject<{
        transferId: z.ZodString;
        sizeBytes: z.ZodNumber;
        manifestHash: z.ZodString;
        endpointCandidates: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
            kind: z.ZodEnum<{
                tcp: "tcp";
                http: "http";
                https: "https";
            }>;
            url: z.ZodString;
            authorizationToken: z.ZodOptional<z.ZodString>;
            expiresAt: z.ZodNumber;
        }, z.core.$strict>], "kind">>>>;
    }, z.core.$strict>>;
    workspaceReplicationSourceRootPath: z.ZodOptional<z.ZodString>;
    workspaceReplicationHandoffBackTargetRootPath: z.ZodOptional<z.ZodString>;
    workspaceReplicationManifestTransferPublication: z.ZodOptional<z.ZodObject<{
        transferId: z.ZodString;
        endpointCandidates: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
            kind: z.ZodEnum<{
                tcp: "tcp";
                http: "http";
                https: "https";
            }>;
            url: z.ZodString;
            authorizationToken: z.ZodOptional<z.ZodString>;
            expiresAt: z.ZodNumber;
        }, z.core.$strict>], "kind">>>>;
    }, z.core.$strict>>;
    workspaceReplicationSourceControllerMetadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
}, z.core.$strict>;
export type SessionHandoffMetadataV2 = z.infer<typeof SessionHandoffMetadataV2Schema>;
declare const SessionHandoffResumePlanSchema: z.ZodObject<{
    directory: z.ZodString;
    agent: z.ZodEnum<{
        codex: "codex";
        opencode: "opencode";
        claude: "claude";
    }>;
    resume: z.ZodString;
    environmentVariables: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
    transcriptStorage: z.ZodEnum<{
        direct: "direct";
        persisted: "persisted";
    }>;
    approvedNewDirectoryCreation: z.ZodLiteral<true>;
    codexBackendMode: z.ZodOptional<z.ZodEnum<{
        mcp: "mcp";
        acp: "acp";
        appServer: "appServer";
    }>>;
}, z.core.$strict>;
export type SessionHandoffResumePlan = z.infer<typeof SessionHandoffResumePlanSchema>;
export declare const SessionHandoffStartRequestSchema: z.ZodObject<{
    sessionId: z.ZodString;
    sourceMachineId: z.ZodString;
    targetMachineId: z.ZodString;
    sessionStorageMode: z.ZodEnum<{
        direct: "direct";
        persisted: "persisted";
    }>;
    preferredTransportStrategies: z.ZodReadonly<z.ZodArray<z.ZodEnum<{
        direct_peer: "direct_peer";
        server_routed_stream: "server_routed_stream";
    }>>>;
    negotiatedTransportStrategy: z.ZodOptional<z.ZodEnum<{
        direct_peer: "direct_peer";
        server_routed_stream: "server_routed_stream";
    }>>;
    workspaceTransfer: z.ZodOptional<z.ZodObject<{
        enabled: z.ZodBoolean;
        strategy: z.ZodDefault<z.ZodEnum<{
            transfer_snapshot: "transfer_snapshot";
            sync_changes: "sync_changes";
        }>>;
        conflictPolicy: z.ZodEnum<{
            create_sibling_copy: "create_sibling_copy";
            replace_existing: "replace_existing";
        }>;
        includeIgnoredMode: z.ZodDefault<z.ZodEnum<{
            exclude: "exclude";
            include_selected: "include_selected";
        }>>;
        ignoredIncludeGlobs: z.ZodDefault<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
    }, z.core.$strict>>;
}, z.core.$strict>;
export type SessionHandoffStartRequest = z.infer<typeof SessionHandoffStartRequestSchema>;
export declare const SessionHandoffPrepareTargetRequestSchema: z.ZodObject<{
    handoffId: z.ZodString;
    sourceMachineId: z.ZodString;
    targetMachineId: z.ZodString;
    negotiatedTransportStrategy: z.ZodEnum<{
        direct_peer: "direct_peer";
        server_routed_stream: "server_routed_stream";
    }>;
    allowServerRoutedFallback: z.ZodOptional<z.ZodBoolean>;
    sourceSessionStorageMode: z.ZodEnum<{
        direct: "direct";
        persisted: "persisted";
    }>;
    targetSessionStorageMode: z.ZodOptional<z.ZodEnum<{
        direct: "direct";
        persisted: "persisted";
    }>>;
    targetPath: z.ZodString;
    endpointCandidates: z.ZodDefault<z.ZodReadonly<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
        kind: z.ZodEnum<{
            tcp: "tcp";
            http: "http";
            https: "https";
        }>;
        url: z.ZodString;
        authorizationToken: z.ZodOptional<z.ZodString>;
        expiresAt: z.ZodNumber;
    }, z.core.$strict>], "kind">>>>;
    handoffMetadataV2: z.ZodOptional<z.ZodObject<{
        providerBundleTransferPublication: z.ZodOptional<z.ZodObject<{
            transferId: z.ZodString;
            sizeBytes: z.ZodNumber;
            manifestHash: z.ZodString;
            endpointCandidates: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
                kind: z.ZodEnum<{
                    tcp: "tcp";
                    http: "http";
                    https: "https";
                }>;
                url: z.ZodString;
                authorizationToken: z.ZodOptional<z.ZodString>;
                expiresAt: z.ZodNumber;
            }, z.core.$strict>], "kind">>>>;
        }, z.core.$strict>>;
        workspaceReplicationSourceRootPath: z.ZodOptional<z.ZodString>;
        workspaceReplicationHandoffBackTargetRootPath: z.ZodOptional<z.ZodString>;
        workspaceReplicationManifestTransferPublication: z.ZodOptional<z.ZodObject<{
            transferId: z.ZodString;
            endpointCandidates: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
                kind: z.ZodEnum<{
                    tcp: "tcp";
                    http: "http";
                    https: "https";
                }>;
                url: z.ZodString;
                authorizationToken: z.ZodOptional<z.ZodString>;
                expiresAt: z.ZodNumber;
            }, z.core.$strict>], "kind">>>>;
        }, z.core.$strict>>;
        workspaceReplicationSourceControllerMetadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    }, z.core.$strict>>;
    workspaceTransfer: z.ZodOptional<z.ZodObject<{
        enabled: z.ZodBoolean;
        strategy: z.ZodDefault<z.ZodEnum<{
            transfer_snapshot: "transfer_snapshot";
            sync_changes: "sync_changes";
        }>>;
        conflictPolicy: z.ZodEnum<{
            create_sibling_copy: "create_sibling_copy";
            replace_existing: "replace_existing";
        }>;
        includeIgnoredMode: z.ZodDefault<z.ZodEnum<{
            exclude: "exclude";
            include_selected: "include_selected";
        }>>;
        ignoredIncludeGlobs: z.ZodDefault<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
    }, z.core.$strict>>;
}, z.core.$strict>;
export type SessionHandoffPrepareTargetRequest = z.infer<typeof SessionHandoffPrepareTargetRequestSchema>;
export declare const SessionHandoffPrepareTargetResultGetRequestSchema: z.ZodObject<{
    handoffId: z.ZodString;
}, z.core.$strict>;
export type SessionHandoffPrepareTargetResultGetRequest = z.infer<typeof SessionHandoffPrepareTargetResultGetRequestSchema>;
export declare const SessionHandoffCommitRequestSchema: z.ZodObject<{
    handoffId: z.ZodString;
    mode: z.ZodOptional<z.ZodEnum<{
        target: "target";
        source_cleanup: "source_cleanup";
    }>>;
    workspaceReplicationReverseSourceRootPath: z.ZodOptional<z.ZodString>;
    workspaceReplicationReverseTargetRootPath: z.ZodOptional<z.ZodString>;
}, z.core.$strict>;
export type SessionHandoffCommitRequest = z.infer<typeof SessionHandoffCommitRequestSchema>;
export declare const SessionHandoffAbortRequestSchema: z.ZodObject<{
    handoffId: z.ZodString;
    reason: z.ZodString;
}, z.core.$strict>;
export type SessionHandoffAbortRequest = z.infer<typeof SessionHandoffAbortRequestSchema>;
export declare const SessionHandoffStartResponseSchema: z.ZodObject<{
    handoffId: z.ZodString;
    status: z.ZodObject<{
        handoffId: z.ZodString;
        status: z.ZodEnum<{
            failed: "failed";
            pending: "pending";
            ready_for_cutover: "ready_for_cutover";
            in_progress: "in_progress";
            awaiting_recovery: "awaiting_recovery";
            completed: "completed";
            aborted: "aborted";
        }>;
        phase: z.ZodEnum<{
            preparing: "preparing";
            negotiating_transport: "negotiating_transport";
            staging_target: "staging_target";
            cutover: "cutover";
            transferring: "transferring";
            importing: "importing";
            resuming: "resuming";
            finalizing: "finalizing";
        }>;
        jobId: z.ZodOptional<z.ZodString>;
        progress: z.ZodOptional<z.ZodObject<{
            updatedAtMs: z.ZodNumber;
            checkpoint: z.ZodEnum<{
                plan: "plan";
                scan_source: "scan_source";
                transfer_blobs: "transfer_blobs";
                stage_target: "stage_target";
                apply: "apply";
                import_session: "import_session";
                finalize: "finalize";
            }>;
            planned: z.ZodObject<{
                totalFiles: z.ZodOptional<z.ZodNumber>;
                totalBytes: z.ZodOptional<z.ZodNumber>;
                added: z.ZodOptional<z.ZodNumber>;
                changed: z.ZodOptional<z.ZodNumber>;
                removed: z.ZodOptional<z.ZodNumber>;
            }, z.core.$strict>;
            transferred: z.ZodObject<{
                files: z.ZodOptional<z.ZodNumber>;
                bytes: z.ZodOptional<z.ZodNumber>;
                blobs: z.ZodOptional<z.ZodNumber>;
            }, z.core.$strict>;
            applied: z.ZodOptional<z.ZodObject<{
                files: z.ZodOptional<z.ZodNumber>;
                bytes: z.ZodOptional<z.ZodNumber>;
            }, z.core.$strict>>;
            remaining: z.ZodOptional<z.ZodObject<{
                files: z.ZodOptional<z.ZodNumber>;
                bytes: z.ZodOptional<z.ZodNumber>;
            }, z.core.$strict>>;
            current: z.ZodOptional<z.ZodObject<{
                relativePath: z.ZodOptional<z.ZodString>;
                digest: z.ZodOptional<z.ZodString>;
                phaseDetail: z.ZodOptional<z.ZodString>;
            }, z.core.$strict>>;
            resumable: z.ZodBoolean;
            warnings: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodEnum<{
                blocking_divergence_detected: "blocking_divergence_detected";
                problematic_source_entries: "problematic_source_entries";
                resumed_existing_job: "resumed_existing_job";
            }>>>>;
        }, z.core.$strict>>;
        workspacePreflightSummary: z.ZodOptional<z.ZodObject<{
            addedPathsCount: z.ZodNumber;
            changedPathsCount: z.ZodNumber;
            removedPathsCount: z.ZodNumber;
            totalBytes: z.ZodOptional<z.ZodNumber>;
        }, z.core.$strict>>;
        transportStrategy: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
            direct_peer: "direct_peer";
            server_routed_stream: "server_routed_stream";
        }>>>;
        recoveryActions: z.ZodDefault<z.ZodReadonly<z.ZodArray<z.ZodEnum<{
            restart_on_source: "restart_on_source";
            keep_stopped: "keep_stopped";
        }>>>>;
    }, z.core.$strict>;
    endpointCandidates: z.ZodDefault<z.ZodReadonly<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
        kind: z.ZodEnum<{
            tcp: "tcp";
            http: "http";
            https: "https";
        }>;
        url: z.ZodString;
        authorizationToken: z.ZodOptional<z.ZodString>;
        expiresAt: z.ZodNumber;
    }, z.core.$strict>], "kind">>>>;
    targetPath: z.ZodString;
    handoffMetadataV2: z.ZodOptional<z.ZodObject<{
        providerBundleTransferPublication: z.ZodOptional<z.ZodObject<{
            transferId: z.ZodString;
            sizeBytes: z.ZodNumber;
            manifestHash: z.ZodString;
            endpointCandidates: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
                kind: z.ZodEnum<{
                    tcp: "tcp";
                    http: "http";
                    https: "https";
                }>;
                url: z.ZodString;
                authorizationToken: z.ZodOptional<z.ZodString>;
                expiresAt: z.ZodNumber;
            }, z.core.$strict>], "kind">>>>;
        }, z.core.$strict>>;
        workspaceReplicationSourceRootPath: z.ZodOptional<z.ZodString>;
        workspaceReplicationHandoffBackTargetRootPath: z.ZodOptional<z.ZodString>;
        workspaceReplicationManifestTransferPublication: z.ZodOptional<z.ZodObject<{
            transferId: z.ZodString;
            endpointCandidates: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
                kind: z.ZodEnum<{
                    tcp: "tcp";
                    http: "http";
                    https: "https";
                }>;
                url: z.ZodString;
                authorizationToken: z.ZodOptional<z.ZodString>;
                expiresAt: z.ZodNumber;
            }, z.core.$strict>], "kind">>>>;
        }, z.core.$strict>>;
        workspaceReplicationSourceControllerMetadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    }, z.core.$strict>>;
}, z.core.$strict>;
export type SessionHandoffStartResponse = z.infer<typeof SessionHandoffStartResponseSchema>;
export declare const SessionHandoffPrepareTargetResponseSchema: z.ZodObject<{
    handoffId: z.ZodString;
    status: z.ZodObject<{
        handoffId: z.ZodString;
        status: z.ZodEnum<{
            failed: "failed";
            pending: "pending";
            ready_for_cutover: "ready_for_cutover";
            in_progress: "in_progress";
            awaiting_recovery: "awaiting_recovery";
            completed: "completed";
            aborted: "aborted";
        }>;
        phase: z.ZodEnum<{
            preparing: "preparing";
            negotiating_transport: "negotiating_transport";
            staging_target: "staging_target";
            cutover: "cutover";
            transferring: "transferring";
            importing: "importing";
            resuming: "resuming";
            finalizing: "finalizing";
        }>;
        jobId: z.ZodOptional<z.ZodString>;
        progress: z.ZodOptional<z.ZodObject<{
            updatedAtMs: z.ZodNumber;
            checkpoint: z.ZodEnum<{
                plan: "plan";
                scan_source: "scan_source";
                transfer_blobs: "transfer_blobs";
                stage_target: "stage_target";
                apply: "apply";
                import_session: "import_session";
                finalize: "finalize";
            }>;
            planned: z.ZodObject<{
                totalFiles: z.ZodOptional<z.ZodNumber>;
                totalBytes: z.ZodOptional<z.ZodNumber>;
                added: z.ZodOptional<z.ZodNumber>;
                changed: z.ZodOptional<z.ZodNumber>;
                removed: z.ZodOptional<z.ZodNumber>;
            }, z.core.$strict>;
            transferred: z.ZodObject<{
                files: z.ZodOptional<z.ZodNumber>;
                bytes: z.ZodOptional<z.ZodNumber>;
                blobs: z.ZodOptional<z.ZodNumber>;
            }, z.core.$strict>;
            applied: z.ZodOptional<z.ZodObject<{
                files: z.ZodOptional<z.ZodNumber>;
                bytes: z.ZodOptional<z.ZodNumber>;
            }, z.core.$strict>>;
            remaining: z.ZodOptional<z.ZodObject<{
                files: z.ZodOptional<z.ZodNumber>;
                bytes: z.ZodOptional<z.ZodNumber>;
            }, z.core.$strict>>;
            current: z.ZodOptional<z.ZodObject<{
                relativePath: z.ZodOptional<z.ZodString>;
                digest: z.ZodOptional<z.ZodString>;
                phaseDetail: z.ZodOptional<z.ZodString>;
            }, z.core.$strict>>;
            resumable: z.ZodBoolean;
            warnings: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodEnum<{
                blocking_divergence_detected: "blocking_divergence_detected";
                problematic_source_entries: "problematic_source_entries";
                resumed_existing_job: "resumed_existing_job";
            }>>>>;
        }, z.core.$strict>>;
        workspacePreflightSummary: z.ZodOptional<z.ZodObject<{
            addedPathsCount: z.ZodNumber;
            changedPathsCount: z.ZodNumber;
            removedPathsCount: z.ZodNumber;
            totalBytes: z.ZodOptional<z.ZodNumber>;
        }, z.core.$strict>>;
        transportStrategy: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
            direct_peer: "direct_peer";
            server_routed_stream: "server_routed_stream";
        }>>>;
        recoveryActions: z.ZodDefault<z.ZodReadonly<z.ZodArray<z.ZodEnum<{
            restart_on_source: "restart_on_source";
            keep_stopped: "keep_stopped";
        }>>>>;
    }, z.core.$strict>;
    remoteSessionId: z.ZodOptional<z.ZodString>;
    directSource: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
        kind: z.ZodLiteral<"codexHome">;
        home: z.ZodEnum<{
            user: "user";
            connectedService: "connectedService";
        }>;
        homePath: z.ZodOptional<z.ZodString>;
        connectedServiceId: z.ZodOptional<z.ZodString>;
        connectedServiceProfileId: z.ZodOptional<z.ZodString>;
    }, z.core.$loose>, z.ZodObject<{
        kind: z.ZodLiteral<"claudeConfig">;
        configDir: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        projectId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    }, z.core.$loose>, z.ZodObject<{
        kind: z.ZodLiteral<"opencodeServer">;
        baseUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        directory: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    }, z.core.$loose>], "kind">>;
    agentRuntimeDescriptorV1: z.ZodOptional<z.ZodObject<{
        v: z.ZodLiteral<1>;
        providerId: z.ZodString;
        provider: z.ZodObject<{
            providerExtra: z.ZodOptional<z.ZodObject<{
                owner: z.ZodString;
                schemaId: z.ZodString;
                v: z.ZodNumber;
            }, z.core.$loose>>;
        }, z.core.$loose>;
    }, z.core.$loose>>;
    resume: z.ZodOptional<z.ZodObject<{
        directory: z.ZodString;
        agent: z.ZodEnum<{
            codex: "codex";
            opencode: "opencode";
            claude: "claude";
        }>;
        resume: z.ZodString;
        environmentVariables: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
        transcriptStorage: z.ZodEnum<{
            direct: "direct";
            persisted: "persisted";
        }>;
        approvedNewDirectoryCreation: z.ZodLiteral<true>;
        codexBackendMode: z.ZodOptional<z.ZodEnum<{
            mcp: "mcp";
            acp: "acp";
            appServer: "appServer";
        }>>;
    }, z.core.$strict>>;
}, z.core.$strict>;
export type SessionHandoffPrepareTargetResponse = z.infer<typeof SessionHandoffPrepareTargetResponseSchema>;
export declare const SessionHandoffPrepareTargetResultGetResponseSchema: z.ZodObject<{
    handoffId: z.ZodString;
    status: z.ZodObject<{
        handoffId: z.ZodString;
        status: z.ZodEnum<{
            failed: "failed";
            pending: "pending";
            ready_for_cutover: "ready_for_cutover";
            in_progress: "in_progress";
            awaiting_recovery: "awaiting_recovery";
            completed: "completed";
            aborted: "aborted";
        }>;
        phase: z.ZodEnum<{
            preparing: "preparing";
            negotiating_transport: "negotiating_transport";
            staging_target: "staging_target";
            cutover: "cutover";
            transferring: "transferring";
            importing: "importing";
            resuming: "resuming";
            finalizing: "finalizing";
        }>;
        jobId: z.ZodOptional<z.ZodString>;
        progress: z.ZodOptional<z.ZodObject<{
            updatedAtMs: z.ZodNumber;
            checkpoint: z.ZodEnum<{
                plan: "plan";
                scan_source: "scan_source";
                transfer_blobs: "transfer_blobs";
                stage_target: "stage_target";
                apply: "apply";
                import_session: "import_session";
                finalize: "finalize";
            }>;
            planned: z.ZodObject<{
                totalFiles: z.ZodOptional<z.ZodNumber>;
                totalBytes: z.ZodOptional<z.ZodNumber>;
                added: z.ZodOptional<z.ZodNumber>;
                changed: z.ZodOptional<z.ZodNumber>;
                removed: z.ZodOptional<z.ZodNumber>;
            }, z.core.$strict>;
            transferred: z.ZodObject<{
                files: z.ZodOptional<z.ZodNumber>;
                bytes: z.ZodOptional<z.ZodNumber>;
                blobs: z.ZodOptional<z.ZodNumber>;
            }, z.core.$strict>;
            applied: z.ZodOptional<z.ZodObject<{
                files: z.ZodOptional<z.ZodNumber>;
                bytes: z.ZodOptional<z.ZodNumber>;
            }, z.core.$strict>>;
            remaining: z.ZodOptional<z.ZodObject<{
                files: z.ZodOptional<z.ZodNumber>;
                bytes: z.ZodOptional<z.ZodNumber>;
            }, z.core.$strict>>;
            current: z.ZodOptional<z.ZodObject<{
                relativePath: z.ZodOptional<z.ZodString>;
                digest: z.ZodOptional<z.ZodString>;
                phaseDetail: z.ZodOptional<z.ZodString>;
            }, z.core.$strict>>;
            resumable: z.ZodBoolean;
            warnings: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodEnum<{
                blocking_divergence_detected: "blocking_divergence_detected";
                problematic_source_entries: "problematic_source_entries";
                resumed_existing_job: "resumed_existing_job";
            }>>>>;
        }, z.core.$strict>>;
        workspacePreflightSummary: z.ZodOptional<z.ZodObject<{
            addedPathsCount: z.ZodNumber;
            changedPathsCount: z.ZodNumber;
            removedPathsCount: z.ZodNumber;
            totalBytes: z.ZodOptional<z.ZodNumber>;
        }, z.core.$strict>>;
        transportStrategy: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
            direct_peer: "direct_peer";
            server_routed_stream: "server_routed_stream";
        }>>>;
        recoveryActions: z.ZodDefault<z.ZodReadonly<z.ZodArray<z.ZodEnum<{
            restart_on_source: "restart_on_source";
            keep_stopped: "keep_stopped";
        }>>>>;
    }, z.core.$strict>;
    remoteSessionId: z.ZodString;
    directSource: z.ZodDiscriminatedUnion<[z.ZodObject<{
        kind: z.ZodLiteral<"codexHome">;
        home: z.ZodEnum<{
            user: "user";
            connectedService: "connectedService";
        }>;
        homePath: z.ZodOptional<z.ZodString>;
        connectedServiceId: z.ZodOptional<z.ZodString>;
        connectedServiceProfileId: z.ZodOptional<z.ZodString>;
    }, z.core.$loose>, z.ZodObject<{
        kind: z.ZodLiteral<"claudeConfig">;
        configDir: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        projectId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    }, z.core.$loose>, z.ZodObject<{
        kind: z.ZodLiteral<"opencodeServer">;
        baseUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        directory: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    }, z.core.$loose>], "kind">;
    agentRuntimeDescriptorV1: z.ZodOptional<z.ZodObject<{
        v: z.ZodLiteral<1>;
        providerId: z.ZodString;
        provider: z.ZodObject<{
            providerExtra: z.ZodOptional<z.ZodObject<{
                owner: z.ZodString;
                schemaId: z.ZodString;
                v: z.ZodNumber;
            }, z.core.$loose>>;
        }, z.core.$loose>;
    }, z.core.$loose>>;
    resume: z.ZodObject<{
        directory: z.ZodString;
        agent: z.ZodEnum<{
            codex: "codex";
            opencode: "opencode";
            claude: "claude";
        }>;
        resume: z.ZodString;
        environmentVariables: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
        transcriptStorage: z.ZodEnum<{
            direct: "direct";
            persisted: "persisted";
        }>;
        approvedNewDirectoryCreation: z.ZodLiteral<true>;
        codexBackendMode: z.ZodOptional<z.ZodEnum<{
            mcp: "mcp";
            acp: "acp";
            appServer: "appServer";
        }>>;
    }, z.core.$strict>;
}, z.core.$strict>;
export type SessionHandoffPrepareTargetResultGetResponse = z.infer<typeof SessionHandoffPrepareTargetResultGetResponseSchema>;
export declare const SessionHandoffCommitResponseSchema: z.ZodObject<{
    handoffId: z.ZodString;
    status: z.ZodObject<{
        handoffId: z.ZodString;
        status: z.ZodEnum<{
            failed: "failed";
            pending: "pending";
            ready_for_cutover: "ready_for_cutover";
            in_progress: "in_progress";
            awaiting_recovery: "awaiting_recovery";
            completed: "completed";
            aborted: "aborted";
        }>;
        phase: z.ZodEnum<{
            preparing: "preparing";
            negotiating_transport: "negotiating_transport";
            staging_target: "staging_target";
            cutover: "cutover";
            transferring: "transferring";
            importing: "importing";
            resuming: "resuming";
            finalizing: "finalizing";
        }>;
        jobId: z.ZodOptional<z.ZodString>;
        progress: z.ZodOptional<z.ZodObject<{
            updatedAtMs: z.ZodNumber;
            checkpoint: z.ZodEnum<{
                plan: "plan";
                scan_source: "scan_source";
                transfer_blobs: "transfer_blobs";
                stage_target: "stage_target";
                apply: "apply";
                import_session: "import_session";
                finalize: "finalize";
            }>;
            planned: z.ZodObject<{
                totalFiles: z.ZodOptional<z.ZodNumber>;
                totalBytes: z.ZodOptional<z.ZodNumber>;
                added: z.ZodOptional<z.ZodNumber>;
                changed: z.ZodOptional<z.ZodNumber>;
                removed: z.ZodOptional<z.ZodNumber>;
            }, z.core.$strict>;
            transferred: z.ZodObject<{
                files: z.ZodOptional<z.ZodNumber>;
                bytes: z.ZodOptional<z.ZodNumber>;
                blobs: z.ZodOptional<z.ZodNumber>;
            }, z.core.$strict>;
            applied: z.ZodOptional<z.ZodObject<{
                files: z.ZodOptional<z.ZodNumber>;
                bytes: z.ZodOptional<z.ZodNumber>;
            }, z.core.$strict>>;
            remaining: z.ZodOptional<z.ZodObject<{
                files: z.ZodOptional<z.ZodNumber>;
                bytes: z.ZodOptional<z.ZodNumber>;
            }, z.core.$strict>>;
            current: z.ZodOptional<z.ZodObject<{
                relativePath: z.ZodOptional<z.ZodString>;
                digest: z.ZodOptional<z.ZodString>;
                phaseDetail: z.ZodOptional<z.ZodString>;
            }, z.core.$strict>>;
            resumable: z.ZodBoolean;
            warnings: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodEnum<{
                blocking_divergence_detected: "blocking_divergence_detected";
                problematic_source_entries: "problematic_source_entries";
                resumed_existing_job: "resumed_existing_job";
            }>>>>;
        }, z.core.$strict>>;
        workspacePreflightSummary: z.ZodOptional<z.ZodObject<{
            addedPathsCount: z.ZodNumber;
            changedPathsCount: z.ZodNumber;
            removedPathsCount: z.ZodNumber;
            totalBytes: z.ZodOptional<z.ZodNumber>;
        }, z.core.$strict>>;
        transportStrategy: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
            direct_peer: "direct_peer";
            server_routed_stream: "server_routed_stream";
        }>>>;
        recoveryActions: z.ZodDefault<z.ZodReadonly<z.ZodArray<z.ZodEnum<{
            restart_on_source: "restart_on_source";
            keep_stopped: "keep_stopped";
        }>>>>;
    }, z.core.$strict>;
}, z.core.$strict>;
export type SessionHandoffCommitResponse = z.infer<typeof SessionHandoffCommitResponseSchema>;
export declare const SessionHandoffAbortResponseSchema: z.ZodObject<{
    handoffId: z.ZodString;
    status: z.ZodObject<{
        handoffId: z.ZodString;
        status: z.ZodEnum<{
            failed: "failed";
            pending: "pending";
            ready_for_cutover: "ready_for_cutover";
            in_progress: "in_progress";
            awaiting_recovery: "awaiting_recovery";
            completed: "completed";
            aborted: "aborted";
        }>;
        phase: z.ZodEnum<{
            preparing: "preparing";
            negotiating_transport: "negotiating_transport";
            staging_target: "staging_target";
            cutover: "cutover";
            transferring: "transferring";
            importing: "importing";
            resuming: "resuming";
            finalizing: "finalizing";
        }>;
        jobId: z.ZodOptional<z.ZodString>;
        progress: z.ZodOptional<z.ZodObject<{
            updatedAtMs: z.ZodNumber;
            checkpoint: z.ZodEnum<{
                plan: "plan";
                scan_source: "scan_source";
                transfer_blobs: "transfer_blobs";
                stage_target: "stage_target";
                apply: "apply";
                import_session: "import_session";
                finalize: "finalize";
            }>;
            planned: z.ZodObject<{
                totalFiles: z.ZodOptional<z.ZodNumber>;
                totalBytes: z.ZodOptional<z.ZodNumber>;
                added: z.ZodOptional<z.ZodNumber>;
                changed: z.ZodOptional<z.ZodNumber>;
                removed: z.ZodOptional<z.ZodNumber>;
            }, z.core.$strict>;
            transferred: z.ZodObject<{
                files: z.ZodOptional<z.ZodNumber>;
                bytes: z.ZodOptional<z.ZodNumber>;
                blobs: z.ZodOptional<z.ZodNumber>;
            }, z.core.$strict>;
            applied: z.ZodOptional<z.ZodObject<{
                files: z.ZodOptional<z.ZodNumber>;
                bytes: z.ZodOptional<z.ZodNumber>;
            }, z.core.$strict>>;
            remaining: z.ZodOptional<z.ZodObject<{
                files: z.ZodOptional<z.ZodNumber>;
                bytes: z.ZodOptional<z.ZodNumber>;
            }, z.core.$strict>>;
            current: z.ZodOptional<z.ZodObject<{
                relativePath: z.ZodOptional<z.ZodString>;
                digest: z.ZodOptional<z.ZodString>;
                phaseDetail: z.ZodOptional<z.ZodString>;
            }, z.core.$strict>>;
            resumable: z.ZodBoolean;
            warnings: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodEnum<{
                blocking_divergence_detected: "blocking_divergence_detected";
                problematic_source_entries: "problematic_source_entries";
                resumed_existing_job: "resumed_existing_job";
            }>>>>;
        }, z.core.$strict>>;
        workspacePreflightSummary: z.ZodOptional<z.ZodObject<{
            addedPathsCount: z.ZodNumber;
            changedPathsCount: z.ZodNumber;
            removedPathsCount: z.ZodNumber;
            totalBytes: z.ZodOptional<z.ZodNumber>;
        }, z.core.$strict>>;
        transportStrategy: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
            direct_peer: "direct_peer";
            server_routed_stream: "server_routed_stream";
        }>>>;
        recoveryActions: z.ZodDefault<z.ZodReadonly<z.ZodArray<z.ZodEnum<{
            restart_on_source: "restart_on_source";
            keep_stopped: "keep_stopped";
        }>>>>;
    }, z.core.$strict>;
}, z.core.$strict>;
export type SessionHandoffAbortResponse = z.infer<typeof SessionHandoffAbortResponseSchema>;
export declare const SessionHandoffStatusGetRequestSchema: z.ZodObject<{
    handoffId: z.ZodString;
}, z.core.$strict>;
export type SessionHandoffStatusGetRequest = z.infer<typeof SessionHandoffStatusGetRequestSchema>;
export { SessionHandoffProgressCheckpointSchema, SessionHandoffProgressWarningCodeSchema, SessionHandoffStatusSchema, SessionHandoffWorkspacePreflightSummarySchema, TransferChunkEnvelopeSchema, TransferEndpointCandidateSchema, };
//# sourceMappingURL=handoffSchemas.d.ts.map