import { z } from 'zod';
export declare const ssoConfigSchema: z.ZodObject<{
    provider: z.ZodString;
    text: z.ZodString;
    icon: z.ZodOptional<z.ZodString>;
    url: z.ZodString;
}, z.core.$strip>;
export declare const loginConfigSchema: z.ZodNullable<z.ZodObject<{
    type: z.ZodEnum<{
        credentials: "credentials";
        sso: "sso";
        both: "both";
    }>;
    sso: z.ZodOptional<z.ZodObject<{
        provider: z.ZodString;
        text: z.ZodString;
        icon: z.ZodOptional<z.ZodString>;
        url: z.ZodString;
    }, z.core.$strip>>;
    signUpEnabled: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strip>>;
export declare const publicCapabilitiesSchema: z.ZodObject<{
    enabled: z.ZodBoolean;
    login: z.ZodNullable<z.ZodObject<{
        type: z.ZodEnum<{
            credentials: "credentials";
            sso: "sso";
            both: "both";
        }>;
        sso: z.ZodOptional<z.ZodObject<{
            provider: z.ZodString;
            text: z.ZodString;
            icon: z.ZodOptional<z.ZodString>;
            url: z.ZodString;
        }, z.core.$strip>>;
        signUpEnabled: z.ZodOptional<z.ZodBoolean>;
    }, z.core.$strip>>;
}, z.core.$strip>;
export declare const authenticatedUserSchema: z.ZodObject<{
    id: z.ZodString;
    email: z.ZodOptional<z.ZodString>;
    name: z.ZodOptional<z.ZodString>;
    avatarUrl: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export declare const capabilityFlagsSchema: z.ZodObject<{
    user: z.ZodBoolean;
    session: z.ZodBoolean;
    sso: z.ZodBoolean;
    rbac: z.ZodBoolean;
    acl: z.ZodBoolean;
}, z.core.$strip>;
export declare const userAccessSchema: z.ZodNullable<z.ZodObject<{
    roles: z.ZodArray<z.ZodString>;
    permissions: z.ZodArray<z.ZodString>;
}, z.core.$strip>>;
export declare const authenticatedCapabilitiesSchema: z.ZodObject<{
    enabled: z.ZodBoolean;
    login: z.ZodNullable<z.ZodObject<{
        type: z.ZodEnum<{
            credentials: "credentials";
            sso: "sso";
            both: "both";
        }>;
        sso: z.ZodOptional<z.ZodObject<{
            provider: z.ZodString;
            text: z.ZodString;
            icon: z.ZodOptional<z.ZodString>;
            url: z.ZodString;
        }, z.core.$strip>>;
        signUpEnabled: z.ZodOptional<z.ZodBoolean>;
    }, z.core.$strip>>;
    user: z.ZodObject<{
        id: z.ZodString;
        email: z.ZodOptional<z.ZodString>;
        name: z.ZodOptional<z.ZodString>;
        avatarUrl: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>;
    capabilities: z.ZodObject<{
        user: z.ZodBoolean;
        session: z.ZodBoolean;
        sso: z.ZodBoolean;
        rbac: z.ZodBoolean;
        acl: z.ZodBoolean;
    }, z.core.$strip>;
    access: z.ZodNullable<z.ZodObject<{
        roles: z.ZodArray<z.ZodString>;
        permissions: z.ZodArray<z.ZodString>;
    }, z.core.$strip>>;
}, z.core.$strip>;
export declare const capabilitiesResponseSchema: z.ZodUnion<readonly [z.ZodObject<{
    enabled: z.ZodBoolean;
    login: z.ZodNullable<z.ZodObject<{
        type: z.ZodEnum<{
            credentials: "credentials";
            sso: "sso";
            both: "both";
        }>;
        sso: z.ZodOptional<z.ZodObject<{
            provider: z.ZodString;
            text: z.ZodString;
            icon: z.ZodOptional<z.ZodString>;
            url: z.ZodString;
        }, z.core.$strip>>;
        signUpEnabled: z.ZodOptional<z.ZodBoolean>;
    }, z.core.$strip>>;
    user: z.ZodObject<{
        id: z.ZodString;
        email: z.ZodOptional<z.ZodString>;
        name: z.ZodOptional<z.ZodString>;
        avatarUrl: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>;
    capabilities: z.ZodObject<{
        user: z.ZodBoolean;
        session: z.ZodBoolean;
        sso: z.ZodBoolean;
        rbac: z.ZodBoolean;
        acl: z.ZodBoolean;
    }, z.core.$strip>;
    access: z.ZodNullable<z.ZodObject<{
        roles: z.ZodArray<z.ZodString>;
        permissions: z.ZodArray<z.ZodString>;
    }, z.core.$strip>>;
}, z.core.$strip>, z.ZodObject<{
    enabled: z.ZodBoolean;
    login: z.ZodNullable<z.ZodObject<{
        type: z.ZodEnum<{
            credentials: "credentials";
            sso: "sso";
            both: "both";
        }>;
        sso: z.ZodOptional<z.ZodObject<{
            provider: z.ZodString;
            text: z.ZodString;
            icon: z.ZodOptional<z.ZodString>;
            url: z.ZodString;
        }, z.core.$strip>>;
        signUpEnabled: z.ZodOptional<z.ZodBoolean>;
    }, z.core.$strip>>;
}, z.core.$strip>]>;
export declare const ssoLoginQuerySchema: z.ZodObject<{
    redirect_uri: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export declare const ssoCallbackQuerySchema: z.ZodObject<{
    code: z.ZodString;
    state: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export declare const ssoLoginResponseSchema: z.ZodObject<{
    url: z.ZodString;
}, z.core.$strip>;
export declare const ssoCallbackResponseSchema: z.ZodObject<{
    success: z.ZodBoolean;
    user: z.ZodOptional<z.ZodObject<{
        id: z.ZodString;
        email: z.ZodOptional<z.ZodString>;
        name: z.ZodOptional<z.ZodString>;
        avatarUrl: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
    redirectTo: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export declare const logoutResponseSchema: z.ZodObject<{
    success: z.ZodBoolean;
    redirectTo: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export declare const currentUserResponseSchema: z.ZodNullable<z.ZodObject<{
    id: z.ZodString;
    email: z.ZodOptional<z.ZodString>;
    name: z.ZodOptional<z.ZodString>;
    avatarUrl: z.ZodOptional<z.ZodString>;
    roles: z.ZodOptional<z.ZodArray<z.ZodString>>;
    permissions: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.core.$strip>>;
export declare const credentialsSignInBodySchema: z.ZodObject<{
    email: z.ZodString;
    password: z.ZodString;
}, z.core.$strip>;
export declare const credentialsSignUpBodySchema: z.ZodObject<{
    email: z.ZodString;
    password: z.ZodString;
    name: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export declare const credentialsResponseSchema: z.ZodObject<{
    user: z.ZodObject<{
        id: z.ZodString;
        email: z.ZodOptional<z.ZodString>;
        name: z.ZodOptional<z.ZodString>;
        avatarUrl: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>;
    token: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
//# sourceMappingURL=auth.d.ts.map