import { z } from 'zod';
export declare const EnvironmentVariableSchema: z.ZodObject<{
    name: z.ZodString;
    value: z.ZodString;
    isSecret: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strip>;
export type EnvironmentVariable = z.infer<typeof EnvironmentVariableSchema>;
export declare const EnvVarRequirementSchema: z.ZodObject<{
    name: z.ZodString;
    kind: z.ZodDefault<z.ZodEnum<{
        config: "config";
        secret: "secret";
    }>>;
    required: z.ZodDefault<z.ZodBoolean>;
}, z.core.$strip>;
export type EnvVarRequirement = z.infer<typeof EnvVarRequirementSchema>;
export declare const AIBackendProfileSchema: z.ZodObject<{
    id: z.ZodString;
    name: z.ZodString;
    description: z.ZodOptional<z.ZodString>;
    environmentVariables: z.ZodDefault<z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        value: z.ZodString;
        isSecret: z.ZodOptional<z.ZodBoolean>;
    }, z.core.$strip>>>;
    defaultPermissionMode: z.ZodOptional<z.ZodEnum<{
        default: "default";
        plan: "plan";
        acceptEdits: "acceptEdits";
        bypassPermissions: "bypassPermissions";
        "read-only": "read-only";
        "safe-yolo": "safe-yolo";
        yolo: "yolo";
    }>>;
    defaultPermissionModeByTargetKey: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodEnum<{
        default: "default";
        plan: "plan";
        acceptEdits: "acceptEdits";
        bypassPermissions: "bypassPermissions";
        "read-only": "read-only";
        "safe-yolo": "safe-yolo";
        yolo: "yolo";
    }>>>;
    defaultPermissionModeByAgent: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodEnum<{
        default: "default";
        plan: "plan";
        acceptEdits: "acceptEdits";
        bypassPermissions: "bypassPermissions";
        "read-only": "read-only";
        "safe-yolo": "safe-yolo";
        yolo: "yolo";
    }>>>;
    defaultPersistenceModeByTargetKey: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodEnum<{
        direct: "direct";
        persisted: "persisted";
    }>>>;
    defaultPersistenceModeByAgent: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodEnum<{
        direct: "direct";
        persisted: "persisted";
    }>>>;
    defaultModelMode: z.ZodOptional<z.ZodString>;
    compatibilityByTargetKey: z.ZodDefault<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodBoolean>>>;
    compatibility: z.ZodDefault<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodBoolean>>>;
    authMode: z.ZodOptional<z.ZodEnum<{
        machineLogin: "machineLogin";
    }>>;
    requiresMachineLoginTargetKey: z.ZodOptional<z.ZodString>;
    requiresMachineLogin: z.ZodOptional<z.ZodString>;
    envVarRequirements: z.ZodDefault<z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        kind: z.ZodDefault<z.ZodEnum<{
            config: "config";
            secret: "secret";
        }>>;
        required: z.ZodDefault<z.ZodBoolean>;
    }, z.core.$strip>>>;
    isBuiltIn: z.ZodDefault<z.ZodBoolean>;
    createdAt: z.ZodDefault<z.ZodNumber>;
    updatedAt: z.ZodDefault<z.ZodNumber>;
    version: z.ZodDefault<z.ZodString>;
}, z.core.$strip>;
export type AIBackendProfile = z.infer<typeof AIBackendProfileSchema>;
export declare const SavedSecretSchema: z.ZodObject<{
    id: z.ZodString;
    name: z.ZodString;
    kind: z.ZodDefault<z.ZodEnum<{
        token: "token";
        other: "other";
        apiKey: "apiKey";
        password: "password";
    }>>;
    encryptedValue: z.ZodObject<{
        _isSecretValue: z.ZodLiteral<true>;
        value: z.ZodOptional<z.ZodString>;
        encryptedValue: z.ZodOptional<z.ZodObject<{
            t: z.ZodLiteral<"enc-v1">;
            c: z.ZodString;
        }, z.core.$strip>>;
    }, z.core.$strip>;
    createdAt: z.ZodDefault<z.ZodNumber>;
    updatedAt: z.ZodDefault<z.ZodNumber>;
}, z.core.$strip>;
export type SavedSecret = z.infer<typeof SavedSecretSchema>;
export declare function getProfileEnvironmentVariables(profile: AIBackendProfile): Record<string, string>;
//# sourceMappingURL=backendProfileSchema.d.ts.map