import { z } from 'zod';
export declare const userTypeSchema: z.ZodEnum<{
    readonly STAFF: "STAFF";
    readonly PLAYER: "PLAYER";
}>;
export declare const PHONE_REGEX: RegExp;
export declare const emailOrPhoneSchema: z.ZodString;
export declare const userSchema: z.ZodObject<{
    id: z.ZodUUID;
    name: z.ZodString;
    lastName: z.ZodString;
    email: z.ZodNullable<z.ZodOptional<z.ZodEmail>>;
    phoneNumber: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    role: z.ZodEnum<{
        readonly SUPER_ADMIN: "SUPER_ADMIN";
        readonly OPERATOR: "OPERATOR";
        readonly PLAYER: "PLAYER";
        readonly CASHIER: "CASHIER";
    }>;
    type: z.ZodEnum<{
        readonly STAFF: "STAFF";
        readonly PLAYER: "PLAYER";
    }>;
    isActive: z.ZodDefault<z.ZodBoolean>;
    isEmailVerified: z.ZodDefault<z.ZodBoolean>;
    isPhoneVerified: z.ZodDefault<z.ZodBoolean>;
    defaultPlayerId: z.ZodOptional<z.ZodUUID>;
    createdAt: z.ZodDate;
    lastLoginAt: z.ZodOptional<z.ZodDate>;
}, z.core.$strip>;
/**
 * The schema for the user returned on login
 */
export declare const authUserSchema: z.ZodObject<{
    id: z.ZodUUID;
    name: z.ZodString;
    lastName: z.ZodString;
    email: z.ZodNullable<z.ZodOptional<z.ZodEmail>>;
    phoneNumber: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    role: z.ZodEnum<{
        readonly SUPER_ADMIN: "SUPER_ADMIN";
        readonly OPERATOR: "OPERATOR";
        readonly PLAYER: "PLAYER";
        readonly CASHIER: "CASHIER";
    }>;
    type: z.ZodEnum<{
        readonly STAFF: "STAFF";
        readonly PLAYER: "PLAYER";
    }>;
    isActive: z.ZodDefault<z.ZodBoolean>;
    isEmailVerified: z.ZodDefault<z.ZodBoolean>;
    isPhoneVerified: z.ZodDefault<z.ZodBoolean>;
    defaultPlayerId: z.ZodOptional<z.ZodUUID>;
    createdAt: z.ZodDate;
    lastLoginAt: z.ZodOptional<z.ZodDate>;
    authToken: z.ZodString;
}, z.core.$strip>;
export declare const userWithPasswordSchema: z.ZodIntersection<z.ZodObject<{
    id: z.ZodUUID;
    name: z.ZodString;
    lastName: z.ZodString;
    email: z.ZodNullable<z.ZodOptional<z.ZodEmail>>;
    phoneNumber: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    role: z.ZodEnum<{
        readonly SUPER_ADMIN: "SUPER_ADMIN";
        readonly OPERATOR: "OPERATOR";
        readonly PLAYER: "PLAYER";
        readonly CASHIER: "CASHIER";
    }>;
    type: z.ZodEnum<{
        readonly STAFF: "STAFF";
        readonly PLAYER: "PLAYER";
    }>;
    isActive: z.ZodDefault<z.ZodBoolean>;
    isEmailVerified: z.ZodDefault<z.ZodBoolean>;
    isPhoneVerified: z.ZodDefault<z.ZodBoolean>;
    defaultPlayerId: z.ZodOptional<z.ZodUUID>;
    createdAt: z.ZodDate;
    lastLoginAt: z.ZodOptional<z.ZodDate>;
}, z.core.$strip>, z.ZodObject<{
    password: z.ZodString;
}, z.core.$strip>>;
export declare const userInitialRegistrationSchema: z.ZodObject<{
    emailOrPhone: z.ZodString;
    password: z.ZodString;
}, z.core.$strip>;
export declare const userVerifySchema: z.ZodObject<{
    emailOrPhone: z.ZodString;
    code: z.ZodString;
}, z.core.$strip>;
export declare const userCompleteProfileSchema: z.ZodObject<{
    name: z.ZodString;
    lastName: z.ZodOptional<z.ZodString>;
    nickname: z.ZodString;
    birthDate: z.ZodCoercedDate<unknown>;
    waiverSignature: z.ZodBoolean;
    teamName: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export declare const userRegistrationInputSchema: z.ZodObject<{
    name: z.ZodString;
    email: z.ZodNullable<z.ZodOptional<z.ZodEmail>>;
    lastName: z.ZodString;
    phoneNumber: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    password: z.ZodString;
    nickname: z.ZodString;
    birthDate: z.ZodCoercedDate<unknown>;
}, z.core.$strip>;
export declare const userLoginInputSchema: z.ZodObject<{
    emailOrPhone: z.ZodString;
    password: z.ZodString;
}, z.core.$strip>;
