import { z } from 'zod';
export declare const playerTypeSchema: z.ZodEnum<{
    readonly ADULT: "ADULT";
    readonly MINOR: "MINOR";
}>;
export declare const playerWaiverStatusSchema: z.ZodObject<{
    isSigned: z.ZodDefault<z.ZodBoolean>;
    waiverId: z.ZodOptional<z.ZodNullable<z.ZodUUID>>;
    templateVersion: z.ZodOptional<z.ZodString>;
    expiresAt: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
}, z.core.$strip>;
export declare const playerStatsSchema: z.ZodObject<{
    totalRaces: z.ZodDefault<z.ZodNumber>;
    bestTimeMs: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
    xp: z.ZodDefault<z.ZodNumber>;
}, z.core.$strip>;
export declare const playerSchema: z.ZodObject<{
    id: z.ZodUUID;
    nickname: z.ZodString;
    avatarUrl: z.ZodOptional<z.ZodURL>;
    birthDate: z.ZodDate;
    type: z.ZodDefault<z.ZodEnum<{
        readonly ADULT: "ADULT";
        readonly MINOR: "MINOR";
    }>>;
    ownerUserId: z.ZodOptional<z.ZodNullable<z.ZodUUID>>;
    isGuest: z.ZodDefault<z.ZodBoolean>;
    waiver: z.ZodObject<{
        isSigned: z.ZodDefault<z.ZodBoolean>;
        waiverId: z.ZodOptional<z.ZodNullable<z.ZodUUID>>;
        templateVersion: z.ZodOptional<z.ZodString>;
        expiresAt: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
    }, z.core.$strip>;
    stats: z.ZodNullable<z.ZodOptional<z.ZodObject<{
        totalRaces: z.ZodDefault<z.ZodNumber>;
        bestTimeMs: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
        xp: z.ZodDefault<z.ZodNumber>;
    }, z.core.$strip>>>;
    createdAt: z.ZodDate;
    updatedAt: z.ZodDate;
}, z.core.$strip>;
export declare const createPlayerSchema: z.ZodObject<{
    nickname: z.ZodString;
    ownerUserId: z.ZodOptional<z.ZodNullable<z.ZodUUID>>;
    isGuest: z.ZodDefault<z.ZodBoolean>;
    birthDate: z.ZodCoercedDate<unknown>;
}, z.core.$strip>;
export declare const signWaiverSchema: z.ZodObject<{
    signature: z.ZodOptional<z.ZodString>;
    accepted: z.ZodLiteral<true>;
}, z.core.$strip>;
