import { z } from 'zod';
export declare const SessionHandoffStorageModeSchema: z.ZodEnum<{
    direct: "direct";
    persisted: "persisted";
}>;
export type SessionHandoffStorageMode = z.infer<typeof SessionHandoffStorageModeSchema>;
export declare const SessionHandoffTransportStrategySchema: z.ZodEnum<{
    direct_peer: "direct_peer";
    server_routed_stream: "server_routed_stream";
}>;
export type SessionHandoffTransportStrategy = z.infer<typeof SessionHandoffTransportStrategySchema>;
export declare const SessionHandoffConflictPolicySchema: z.ZodEnum<{
    create_sibling_copy: "create_sibling_copy";
    replace_existing: "replace_existing";
}>;
export type SessionHandoffConflictPolicy = z.infer<typeof SessionHandoffConflictPolicySchema>;
export declare const SessionHandoffWorkspaceTransferStrategySchema: z.ZodEnum<{
    transfer_snapshot: "transfer_snapshot";
    sync_changes: "sync_changes";
}>;
export type SessionHandoffWorkspaceTransferStrategy = z.infer<typeof SessionHandoffWorkspaceTransferStrategySchema>;
export declare const SessionHandoffRecoveryActionSchema: z.ZodEnum<{
    restart_on_source: "restart_on_source";
    keep_stopped: "keep_stopped";
}>;
export type SessionHandoffRecoveryAction = z.infer<typeof SessionHandoffRecoveryActionSchema>;
export declare const SessionHandoffCodexBackendModeSchema: z.ZodEnum<{
    mcp: "mcp";
    acp: "acp";
    appServer: "appServer";
}>;
export type SessionHandoffCodexBackendMode = z.infer<typeof SessionHandoffCodexBackendModeSchema>;
export declare const SessionHandoffCodexAffinitySchema: z.ZodObject<{
    backendMode: z.ZodNullable<z.ZodEnum<{
        mcp: "mcp";
        acp: "acp";
        appServer: "appServer";
    }>>;
    source: 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">>;
    runtimeDescriptor: 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>>;
}, z.core.$strict>;
export type SessionHandoffCodexAffinity = z.infer<typeof SessionHandoffCodexAffinitySchema>;
//# sourceMappingURL=handoffTypes.d.ts.map