import { z } from 'zod';
export declare const E2eProviderProtocolSchema: z.ZodEnum<{
    acp: "acp";
    codex: "codex";
    claude: "claude";
}>;
export declare const E2eRequiredBinarySchema: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
    bin: z.ZodString;
    envOverride: z.ZodOptional<z.ZodString>;
    requireExists: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strip>]>;
export declare const E2eCliSpecSchema: z.ZodObject<{
    subcommand: z.ZodString;
    extraArgs: z.ZodOptional<z.ZodArray<z.ZodString>>;
    env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
    envFrom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
}, z.core.$strip>;
export declare const E2eCliProviderAuthOverlaySchema: z.ZodObject<{
    requiredAll: z.ZodOptional<z.ZodArray<z.ZodString>>;
    requiredAnyOf: z.ZodOptional<z.ZodArray<z.ZodArray<z.ZodString>>>;
    env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
    envUnset: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.core.$strip>;
export declare const E2eCliProviderAuthSchema: z.ZodObject<{
    mode: z.ZodOptional<z.ZodEnum<{
        host: "host";
        auto: "auto";
        env: "env";
    }>>;
    env: z.ZodOptional<z.ZodObject<{
        requiredAll: z.ZodOptional<z.ZodArray<z.ZodString>>;
        requiredAnyOf: z.ZodOptional<z.ZodArray<z.ZodArray<z.ZodString>>>;
        env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
        envUnset: z.ZodOptional<z.ZodArray<z.ZodString>>;
    }, z.core.$strip>>;
    host: z.ZodOptional<z.ZodObject<{
        requiredAll: z.ZodOptional<z.ZodArray<z.ZodString>>;
        requiredAnyOf: z.ZodOptional<z.ZodArray<z.ZodArray<z.ZodString>>>;
        env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
        envUnset: z.ZodOptional<z.ZodArray<z.ZodString>>;
    }, z.core.$strip>>;
}, z.core.$strip>;
export declare const E2eCliProviderPermissionsV1Schema: z.ZodObject<{
    v: z.ZodLiteral<1>;
    acp: z.ZodOptional<z.ZodObject<{
        toolPermissionPromptsByMode: z.ZodOptional<z.ZodObject<{
            default: z.ZodOptional<z.ZodBoolean>;
            'safe-yolo': z.ZodOptional<z.ZodBoolean>;
            'read-only': z.ZodOptional<z.ZodBoolean>;
            yolo: z.ZodOptional<z.ZodBoolean>;
            plan: z.ZodOptional<z.ZodBoolean>;
        }, z.core.$strip>>;
        outsideWorkspaceWriteAllowedByMode: z.ZodOptional<z.ZodObject<{
            default: z.ZodOptional<z.ZodBoolean>;
            'safe-yolo': z.ZodOptional<z.ZodBoolean>;
            'read-only': z.ZodOptional<z.ZodBoolean>;
            yolo: z.ZodOptional<z.ZodBoolean>;
            plan: z.ZodOptional<z.ZodBoolean>;
        }, z.core.$strip>>;
        outsideWorkspaceWriteMustCompleteByMode: z.ZodOptional<z.ZodObject<{
            default: z.ZodOptional<z.ZodBoolean>;
            'safe-yolo': z.ZodOptional<z.ZodBoolean>;
            'read-only': z.ZodOptional<z.ZodBoolean>;
            yolo: z.ZodOptional<z.ZodBoolean>;
            plan: z.ZodOptional<z.ZodBoolean>;
        }, z.core.$strip>>;
        outsideWorkspaceRequireTaskCompleteByMode: z.ZodOptional<z.ZodObject<{
            default: z.ZodOptional<z.ZodBoolean>;
            'safe-yolo': z.ZodOptional<z.ZodBoolean>;
            'read-only': z.ZodOptional<z.ZodBoolean>;
            yolo: z.ZodOptional<z.ZodBoolean>;
            plan: z.ZodOptional<z.ZodBoolean>;
        }, z.core.$strip>>;
        expectToolPermissionPrompts: z.ZodOptional<z.ZodBoolean>;
        permissionSurfaceOutsideWorkspaceYolo: z.ZodOptional<z.ZodBoolean>;
    }, z.core.$strip>>;
}, z.core.$strip>;
export declare const E2eCliProviderSpecV1Schema: z.ZodObject<{
    v: z.ZodLiteral<1>;
    id: z.ZodString;
    enableEnvVar: z.ZodString;
    protocol: z.ZodEnum<{
        acp: "acp";
        codex: "codex";
        claude: "claude";
    }>;
    traceProvider: z.ZodString;
    requiredEnv: z.ZodOptional<z.ZodArray<z.ZodString>>;
    auth: z.ZodOptional<z.ZodObject<{
        mode: z.ZodOptional<z.ZodEnum<{
            host: "host";
            auto: "auto";
            env: "env";
        }>>;
        env: z.ZodOptional<z.ZodObject<{
            requiredAll: z.ZodOptional<z.ZodArray<z.ZodString>>;
            requiredAnyOf: z.ZodOptional<z.ZodArray<z.ZodArray<z.ZodString>>>;
            env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
            envUnset: z.ZodOptional<z.ZodArray<z.ZodString>>;
        }, z.core.$strip>>;
        host: z.ZodOptional<z.ZodObject<{
            requiredAll: z.ZodOptional<z.ZodArray<z.ZodString>>;
            requiredAnyOf: z.ZodOptional<z.ZodArray<z.ZodArray<z.ZodString>>>;
            env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
            envUnset: z.ZodOptional<z.ZodArray<z.ZodString>>;
        }, z.core.$strip>>;
    }, z.core.$strip>>;
    permissions: z.ZodOptional<z.ZodObject<{
        v: z.ZodLiteral<1>;
        acp: z.ZodOptional<z.ZodObject<{
            toolPermissionPromptsByMode: z.ZodOptional<z.ZodObject<{
                default: z.ZodOptional<z.ZodBoolean>;
                'safe-yolo': z.ZodOptional<z.ZodBoolean>;
                'read-only': z.ZodOptional<z.ZodBoolean>;
                yolo: z.ZodOptional<z.ZodBoolean>;
                plan: z.ZodOptional<z.ZodBoolean>;
            }, z.core.$strip>>;
            outsideWorkspaceWriteAllowedByMode: z.ZodOptional<z.ZodObject<{
                default: z.ZodOptional<z.ZodBoolean>;
                'safe-yolo': z.ZodOptional<z.ZodBoolean>;
                'read-only': z.ZodOptional<z.ZodBoolean>;
                yolo: z.ZodOptional<z.ZodBoolean>;
                plan: z.ZodOptional<z.ZodBoolean>;
            }, z.core.$strip>>;
            outsideWorkspaceWriteMustCompleteByMode: z.ZodOptional<z.ZodObject<{
                default: z.ZodOptional<z.ZodBoolean>;
                'safe-yolo': z.ZodOptional<z.ZodBoolean>;
                'read-only': z.ZodOptional<z.ZodBoolean>;
                yolo: z.ZodOptional<z.ZodBoolean>;
                plan: z.ZodOptional<z.ZodBoolean>;
            }, z.core.$strip>>;
            outsideWorkspaceRequireTaskCompleteByMode: z.ZodOptional<z.ZodObject<{
                default: z.ZodOptional<z.ZodBoolean>;
                'safe-yolo': z.ZodOptional<z.ZodBoolean>;
                'read-only': z.ZodOptional<z.ZodBoolean>;
                yolo: z.ZodOptional<z.ZodBoolean>;
                plan: z.ZodOptional<z.ZodBoolean>;
            }, z.core.$strip>>;
            expectToolPermissionPrompts: z.ZodOptional<z.ZodBoolean>;
            permissionSurfaceOutsideWorkspaceYolo: z.ZodOptional<z.ZodBoolean>;
        }, z.core.$strip>>;
    }, z.core.$strip>>;
    requiredBinaries: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
        bin: z.ZodString;
        envOverride: z.ZodOptional<z.ZodString>;
        requireExists: z.ZodOptional<z.ZodBoolean>;
    }, z.core.$strip>]>>>;
    cli: z.ZodObject<{
        subcommand: z.ZodString;
        extraArgs: z.ZodOptional<z.ZodArray<z.ZodString>>;
        env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
        envFrom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
    }, z.core.$strip>;
}, z.core.$strip>;
export type E2eCliProviderSpecV1 = z.infer<typeof E2eCliProviderSpecV1Schema>;
//# sourceMappingURL=providerSpec.d.ts.map