import { z } from 'zod';
export declare const SessionForkStrategySchema: z.ZodEnum<{
    auto: "auto";
    replay: "replay";
    provider_native: "provider_native";
    acp_fork_latest: "acp_fork_latest";
}>;
export type SessionForkStrategy = z.infer<typeof SessionForkStrategySchema>;
export declare const SessionForkPointSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
    type: z.ZodLiteral<"latest">;
}, z.core.$strict>, z.ZodObject<{
    type: z.ZodLiteral<"seq">;
    upToSeqInclusive: z.ZodNumber;
}, z.core.$strict>], "type">;
export type SessionForkPoint = z.infer<typeof SessionForkPointSchema>;
export declare const SessionForkRpcParamsSchema: z.ZodObject<{
    v: z.ZodLiteral<1>;
    parentSessionId: z.ZodString;
    forkPoint: z.ZodDiscriminatedUnion<[z.ZodObject<{
        type: z.ZodLiteral<"latest">;
    }, z.core.$strict>, z.ZodObject<{
        type: z.ZodLiteral<"seq">;
        upToSeqInclusive: z.ZodNumber;
    }, z.core.$strict>], "type">;
    strategy: z.ZodOptional<z.ZodEnum<{
        auto: "auto";
        replay: "replay";
        provider_native: "provider_native";
        acp_fork_latest: "acp_fork_latest";
    }>>;
    replaySummaryRunner: z.ZodOptional<z.ZodObject<{
        v: z.ZodLiteral<1>;
        backendTarget: z.ZodUnion<readonly [z.ZodObject<{
            kind: z.ZodLiteral<"builtInAgent">;
            agentId: z.ZodString;
        }, z.core.$strip>, z.ZodObject<{
            kind: z.ZodLiteral<"configuredAcpBackend">;
            backendId: z.ZodString;
        }, z.core.$strip>]>;
        modelId: z.ZodOptional<z.ZodString>;
        permissionMode: z.ZodOptional<z.ZodEnum<{
            read_only: "read_only";
            no_tools: "no_tools";
            workspace_write: "workspace_write";
            full: "full";
        }>>;
    }, z.core.$loose>>;
    replayMaxSeedChars: z.ZodOptional<z.ZodNumber>;
}, z.core.$strict>;
export type SessionForkRpcParams = z.infer<typeof SessionForkRpcParamsSchema>;
export declare const SessionForkRpcResultSchema: z.ZodUnion<readonly [z.ZodObject<{
    ok: z.ZodLiteral<true>;
    childSessionId: z.ZodString;
}, z.core.$loose>, z.ZodObject<{
    ok: z.ZodLiteral<false>;
    errorCode: z.ZodString;
    errorMessage: z.ZodString;
}, z.core.$loose>]>;
export type SessionForkRpcResult = z.infer<typeof SessionForkRpcResultSchema>;
//# sourceMappingURL=sessionFork.d.ts.map