import { z } from 'zod';
export declare const gameTicketStatusSchema: z.ZodEnum<{
    readonly CREATED: "created";
    readonly ASSIGNED: "assigned";
    readonly ACTIVE: "active";
    readonly COMPLETED: "completed";
}>;
export declare const ticketUserTypeSchema: z.ZodEnum<{
    readonly LEADER: "leader";
    readonly SUB_USER: "sub-user";
    readonly EXISTING: "existing";
    readonly GUEST: "guest";
}>;
export declare const ticketTypeSchema: z.ZodEnum<{
    readonly RACE: "race";
    readonly BATTLE: "battle";
    readonly SOCCER: "soccer";
}>;
export declare const ticketSummarySchema: z.ZodRecord<z.ZodEnum<{
    readonly RACE: "race";
    readonly BATTLE: "battle";
    readonly SOCCER: "soccer";
}>, z.ZodNumber>;
export declare const gameTicketSchema: z.ZodObject<{
    id: z.ZodUUID;
    purchaseId: z.ZodString;
    sessionId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    gameTurnId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    playerId: z.ZodNullable<z.ZodOptional<z.ZodUUID>>;
    status: z.ZodEnum<{
        readonly CREATED: "created";
        readonly ASSIGNED: "assigned";
        readonly ACTIVE: "active";
        readonly COMPLETED: "completed";
    }>;
    type: z.ZodDefault<z.ZodEnum<{
        readonly RACE: "race";
        readonly BATTLE: "battle";
        readonly SOCCER: "soccer";
    }>>;
    createdAt: z.ZodDate;
    updatedAt: z.ZodDate;
    completedAt: z.ZodOptional<z.ZodDate>;
}, z.core.$strip>;
export declare const purchaseStatusSchema: z.ZodEnum<{
    readonly PENDING: "pending";
    readonly PAID: "paid";
    readonly CANCELLED: "cancelled";
}>;
export declare const purchaseItemSchema: z.ZodObject<{
    ticketType: z.ZodEnum<{
        readonly Race: "Race";
        readonly Battle: "Battle";
    }>;
    quantity: z.ZodNumber;
    priceCents: z.ZodNumber;
}, z.core.$strip>;
export declare const purchaseSchema: z.ZodObject<{
    id: z.ZodUUID;
    purchaseNumber: z.ZodNumber;
    buyerUserId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    guestName: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    guestContact: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    items: z.ZodArray<z.ZodObject<{
        ticketType: z.ZodEnum<{
            readonly Race: "Race";
            readonly Battle: "Battle";
        }>;
        quantity: z.ZodNumber;
        priceCents: z.ZodNumber;
    }, z.core.$strip>>;
    totalAmountCents: z.ZodNumber;
    status: z.ZodDefault<z.ZodEnum<{
        readonly PENDING: "pending";
        readonly PAID: "paid";
        readonly CANCELLED: "cancelled";
    }>>;
    totalTickets: z.ZodOptional<z.ZodNumber>;
    ticketType: z.ZodOptional<z.ZodEnum<{
        readonly RACE: "race";
        readonly BATTLE: "battle";
        readonly SOCCER: "soccer";
    }>>;
    paymentData: z.ZodOptional<z.ZodAny>;
    createdAt: z.ZodDate;
    updatedAt: z.ZodDate;
}, z.core.$strip>;
export declare const createPurchaseInputSchema: z.ZodObject<{
    buyerUserId: z.ZodOptional<z.ZodString>;
    guestName: z.ZodOptional<z.ZodString>;
    guestContact: z.ZodOptional<z.ZodString>;
    items: z.ZodArray<z.ZodObject<{
        ticketType: z.ZodEnum<{
            readonly Race: "Race";
            readonly Battle: "Battle";
        }>;
        quantity: z.ZodNumber;
        priceCents: z.ZodNumber;
    }, z.core.$strip>>;
}, z.core.$strip>;
export declare const gameTurnStatusSchema: z.ZodEnum<{
    readonly CREATED: "created";
    readonly IN_QUEUE: "in_queue";
    readonly READY: "ready";
    readonly PLAYING: "playing";
    readonly COMPLETED: "completed";
}>;
export declare const gameTurnCheckSchema: z.ZodEnum<{
    readonly TUTORIAL: "tutorial";
    readonly AGE_VERIFICATION: "age_verification";
    readonly TERMS_ACCEPTANCE: "terms_acceptance";
}>;
export declare const gameTurnTaskTypeSchema: z.ZodEnum<{
    readonly QR_SCAN: "qr_scan";
    readonly MANUAL_CHECK: "manual_check";
    readonly LINK_ACCEPT: "link_accept";
}>;
export declare const gameTurnTaskStatusSchema: z.ZodEnum<{
    readonly PENDING: "pending";
    readonly COMPLETED: "completed";
}>;
export declare const gameTurnTaskSchema: z.ZodObject<{
    id: z.ZodString;
    type: z.ZodEnum<{
        readonly QR_SCAN: "qr_scan";
        readonly MANUAL_CHECK: "manual_check";
        readonly LINK_ACCEPT: "link_accept";
    }>;
    status: z.ZodEnum<{
        readonly PENDING: "pending";
        readonly COMPLETED: "completed";
    }>;
    label: z.ZodString;
    metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
    completedAt: z.ZodOptional<z.ZodDate>;
}, z.core.$strip>;
export declare const gameTurnSchema: z.ZodObject<{
    id: z.ZodString;
    purchaseId: z.ZodString;
    sessionId: z.ZodOptional<z.ZodString>;
    leaderPlayerId: z.ZodString;
    gameTickets: z.ZodArray<z.ZodString>;
    playerIds: z.ZodArray<z.ZodString>;
    status: z.ZodEnum<{
        readonly CREATED: "created";
        readonly IN_QUEUE: "in_queue";
        readonly READY: "ready";
        readonly PLAYING: "playing";
        readonly COMPLETED: "completed";
    }>;
    tasks: z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        type: z.ZodEnum<{
            readonly QR_SCAN: "qr_scan";
            readonly MANUAL_CHECK: "manual_check";
            readonly LINK_ACCEPT: "link_accept";
        }>;
        status: z.ZodEnum<{
            readonly PENDING: "pending";
            readonly COMPLETED: "completed";
        }>;
        label: z.ZodString;
        metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
        completedAt: z.ZodOptional<z.ZodDate>;
    }, z.core.$strip>>;
    createdAt: z.ZodDate;
    updatedAt: z.ZodDate;
    startedAt: z.ZodOptional<z.ZodDate>;
    completedAt: z.ZodOptional<z.ZodDate>;
}, z.core.$strip>;
export declare const gameTurnQueueItemSchema: z.ZodObject<{
    id: z.ZodString;
    purchaseId: z.ZodString;
    sessionId: z.ZodOptional<z.ZodString>;
    leaderPlayerId: z.ZodString;
    gameTickets: z.ZodArray<z.ZodString>;
    playerIds: z.ZodArray<z.ZodString>;
    status: z.ZodEnum<{
        readonly CREATED: "created";
        readonly IN_QUEUE: "in_queue";
        readonly READY: "ready";
        readonly PLAYING: "playing";
        readonly COMPLETED: "completed";
    }>;
    tasks: z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        type: z.ZodEnum<{
            readonly QR_SCAN: "qr_scan";
            readonly MANUAL_CHECK: "manual_check";
            readonly LINK_ACCEPT: "link_accept";
        }>;
        status: z.ZodEnum<{
            readonly PENDING: "pending";
            readonly COMPLETED: "completed";
        }>;
        label: z.ZodString;
        metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
        completedAt: z.ZodOptional<z.ZodDate>;
    }, z.core.$strip>>;
    createdAt: z.ZodDate;
    updatedAt: z.ZodDate;
    startedAt: z.ZodOptional<z.ZodDate>;
    completedAt: z.ZodOptional<z.ZodDate>;
    position: z.ZodNumber;
}, z.core.$strip>;
