import { z } from 'zod';
export declare const racingTeamSchema: z.ZodObject<{
    id: z.ZodString;
    name: z.ZodString;
    imageUrl: z.ZodOptional<z.ZodURL>;
    adminUserId: z.ZodString;
    createdAt: z.ZodDate;
    updatedAt: z.ZodDate;
}, z.core.$strip>;
export declare const createRacingTeamSchema: z.ZodObject<{
    name: z.ZodString;
    imageUrl: z.ZodOptional<z.ZodURL>;
}, z.core.$strip>;
export declare const updateRacingTeamSchema: z.ZodObject<{
    id: z.ZodOptional<z.ZodString>;
    name: z.ZodOptional<z.ZodString>;
    imageUrl: z.ZodOptional<z.ZodOptional<z.ZodURL>>;
    adminUserId: z.ZodOptional<z.ZodString>;
    createdAt: z.ZodOptional<z.ZodDate>;
    updatedAt: z.ZodOptional<z.ZodDate>;
}, z.core.$strip>;
export declare const filterRacingTeamSchema: z.ZodObject<{
    name: z.ZodOptional<z.ZodString>;
    adminUserId: z.ZodOptional<z.ZodString>;
    page: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
    limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
    cursor: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export declare const racingTeamSummarySchema: z.ZodObject<{
    id: z.ZodString;
    name: z.ZodString;
    imageUrl: z.ZodOptional<z.ZodURL>;
}, z.core.$strip>;
export declare const paginatedRacingTeamSchema: z.ZodObject<{
    data: z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        name: z.ZodString;
        imageUrl: z.ZodOptional<z.ZodURL>;
        adminUserId: z.ZodString;
        createdAt: z.ZodDate;
        updatedAt: z.ZodDate;
    }, z.core.$strip>>;
    meta: z.ZodObject<{
        nextCursor: z.ZodOptional<z.ZodString>;
        hasMore: z.ZodOptional<z.ZodBoolean>;
        limit: z.ZodNumber;
    }, z.core.$strip>;
}, z.core.$strip>;
export declare const paginatedRacingTeamSummarySchema: z.ZodObject<{
    data: z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        name: z.ZodString;
        imageUrl: z.ZodOptional<z.ZodURL>;
    }, z.core.$strip>>;
    meta: z.ZodObject<{
        nextCursor: z.ZodOptional<z.ZodString>;
        hasMore: z.ZodOptional<z.ZodBoolean>;
        limit: z.ZodNumber;
    }, z.core.$strip>;
}, z.core.$strip>;
export declare const joinRequestSchema: z.ZodObject<{
    id: z.ZodString;
    racingTeamId: z.ZodString;
    playerId: z.ZodString;
    status: z.ZodEnum<{
        readonly PENDING: "PENDING";
        readonly ACCEPTED: "ACCEPTED";
        readonly REJECTED: "REJECTED";
    }>;
    createdAt: z.ZodDate;
    updatedAt: z.ZodDate;
}, z.core.$strip>;
export declare const teamMemberSchema: z.ZodObject<{
    id: z.ZodString;
    racingTeamId: z.ZodString;
    playerId: z.ZodString;
    role: z.ZodEnum<{
        readonly PILOT: "PILOT";
        readonly TECHNICIAN: "TECHNICIAN";
    }>;
    joinedAt: z.ZodDate;
}, z.core.$strip>;
export declare const teamMemberWithPlayerSchema: 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;
    role: z.ZodEnum<{
        readonly PILOT: "PILOT";
        readonly TECHNICIAN: "TECHNICIAN";
    }>;
    joinedAt: z.ZodDate;
}, z.core.$strip>;
export declare const racingTeamWithMembersSchema: z.ZodObject<{
    id: z.ZodString;
    name: z.ZodString;
    imageUrl: z.ZodOptional<z.ZodURL>;
    adminUserId: z.ZodString;
    createdAt: z.ZodDate;
    updatedAt: z.ZodDate;
    members: z.ZodArray<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;
        role: z.ZodEnum<{
            readonly PILOT: "PILOT";
            readonly TECHNICIAN: "TECHNICIAN";
        }>;
        joinedAt: z.ZodDate;
    }, z.core.$strip>>;
}, z.core.$strip>;
export declare const createJoinRequestSchema: z.ZodObject<{
    racingTeamId: z.ZodString;
    playerId: z.ZodString;
}, z.core.$strip>;
export declare const answerJoinRequestSchema: z.ZodObject<{
    racingTeamId: z.ZodString;
    targetPlayerId: z.ZodString;
    accepted: z.ZodBoolean;
}, z.core.$strip>;
export declare const addTeamMemberSchema: z.ZodObject<{
    nickname: z.ZodString;
    birthDate: z.ZodCoercedDate<unknown>;
}, z.core.$strip>;
