import { z } from 'zod';
export declare const AuthMethodSchema: z.ZodObject<{
    id: z.ZodString;
    actions: z.ZodArray<z.ZodObject<{
        id: z.ZodEnum<{
            login: "login";
            provision: "provision";
            connect: "connect";
        }>;
        enabled: z.ZodBoolean;
        mode: z.ZodEnum<{
            keyed: "keyed";
            keyless: "keyless";
            either: "either";
        }>;
    }, z.core.$strip>>;
    ui: z.ZodOptional<z.ZodObject<{
        displayName: z.ZodOptional<z.ZodString>;
        iconHint: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    }, z.core.$strip>>;
}, z.core.$strip>;
export declare const AuthCapabilitiesSchema: z.ZodObject<{
    methods: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        actions: z.ZodArray<z.ZodObject<{
            id: z.ZodEnum<{
                login: "login";
                provision: "provision";
                connect: "connect";
            }>;
            enabled: z.ZodBoolean;
            mode: z.ZodEnum<{
                keyed: "keyed";
                keyless: "keyless";
                either: "either";
            }>;
        }, z.core.$strip>>;
        ui: z.ZodOptional<z.ZodObject<{
            displayName: z.ZodOptional<z.ZodString>;
            iconHint: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        }, z.core.$strip>>;
    }, z.core.$strip>>>>;
    signup: z.ZodObject<{
        methods: z.ZodArray<z.ZodObject<{
            id: z.ZodString;
            enabled: z.ZodBoolean;
        }, z.core.$strip>>;
    }, z.core.$strip>;
    login: z.ZodObject<{
        methods: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
            id: z.ZodString;
            enabled: z.ZodBoolean;
        }, z.core.$strip>>>>;
        requiredProviders: z.ZodArray<z.ZodString>;
    }, z.core.$strip>;
    recovery: z.ZodObject<{
        providerReset: z.ZodObject<{
            providers: z.ZodArray<z.ZodString>;
        }, z.core.$strip>;
    }, z.core.$strip>;
    ui: z.ZodObject<{
        autoRedirect: z.ZodObject<{
            enabled: z.ZodBoolean;
            providerId: z.ZodNullable<z.ZodString>;
        }, z.core.$strip>;
    }, z.core.$strip>;
    providers: z.ZodRecord<z.ZodString, z.ZodObject<{
        enabled: z.ZodBoolean;
        configured: z.ZodBoolean;
        ui: z.ZodOptional<z.ZodObject<{
            displayName: z.ZodString;
            iconHint: z.ZodOptional<z.ZodNullable<z.ZodString>>;
            connectButtonColor: z.ZodOptional<z.ZodNullable<z.ZodString>>;
            supportsProfileBadge: z.ZodOptional<z.ZodBoolean>;
            badgeIconName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        }, z.core.$strip>>;
        restrictions: z.ZodObject<{
            usersAllowlist: z.ZodBoolean;
            orgsAllowlist: z.ZodBoolean;
            orgMatch: z.ZodEnum<{
                all: "all";
                any: "any";
            }>;
        }, z.core.$strip>;
        offboarding: z.ZodObject<{
            enabled: z.ZodBoolean;
            intervalSeconds: z.ZodNumber;
            mode: z.ZodEnum<{
                "per-request-cache": "per-request-cache";
            }>;
            source: z.ZodString;
        }, z.core.$strip>;
    }, z.core.$strip>>;
    misconfig: z.ZodArray<z.ZodObject<{
        code: z.ZodString;
        message: z.ZodString;
        kind: z.ZodOptional<z.ZodString>;
        providerId: z.ZodOptional<z.ZodString>;
        envVars: z.ZodOptional<z.ZodArray<z.ZodString>>;
    }, z.core.$strip>>;
    mtls: z.ZodDefault<z.ZodOptional<z.ZodObject<{
        mode: z.ZodEnum<{
            forwarded: "forwarded";
            direct: "direct";
        }>;
        autoProvision: z.ZodBoolean;
        identitySource: z.ZodEnum<{
            san_email: "san_email";
            san_upn: "san_upn";
            subject_cn: "subject_cn";
            fingerprint: "fingerprint";
        }>;
        policy: z.ZodOptional<z.ZodObject<{
            trustForwardedHeaders: z.ZodBoolean;
            issuerAllowlist: z.ZodObject<{
                enabled: z.ZodBoolean;
                count: z.ZodNumber;
            }, z.core.$strip>;
            emailDomainAllowlist: z.ZodObject<{
                enabled: z.ZodBoolean;
                count: z.ZodNumber;
            }, z.core.$strip>;
        }, z.core.$strip>>;
    }, z.core.$strip>>>;
}, z.core.$strip>;
export type AuthCapabilities = z.infer<typeof AuthCapabilitiesSchema>;
export declare const DEFAULT_AUTH_CAPABILITIES: AuthCapabilities;
//# sourceMappingURL=authCapabilities.d.ts.map