import { z } from "zod"; /** * Shared Zod validation schemas for type-safe, client-side validation * * These schemas can be used by: * - API endpoints for request validation * - Engine for action validation * - Client SDK for pre-flight validation (avoiding unnecessary network requests) */ /** * Schema for SIT action (joining a table) */ export declare const SitActionSchema: z.ZodObject<{ type: z.ZodLiteral<"SIT">; playerId: z.ZodString; playerName: z.ZodString; seat: z.ZodNumber; stack: z.ZodNumber; sitInOption: z.ZodOptional>; }, z.core.$strip>; /** * Schema for STAND action (leaving a table) */ export declare const StandActionSchema: z.ZodObject<{ type: z.ZodLiteral<"STAND">; playerId: z.ZodString; }, z.core.$strip>; /** * Schema for BET action */ export declare const BetActionSchema: z.ZodObject<{ type: z.ZodLiteral<"BET">; playerId: z.ZodString; amount: z.ZodNumber; }, z.core.$strip>; /** * Schema for RAISE action */ export declare const RaiseActionSchema: z.ZodObject<{ type: z.ZodLiteral<"RAISE">; playerId: z.ZodString; amount: z.ZodNumber; }, z.core.$strip>; /** * Schema for CALL action */ export declare const CallActionSchema: z.ZodObject<{ type: z.ZodLiteral<"CALL">; playerId: z.ZodString; }, z.core.$strip>; /** * Schema for CHECK action */ export declare const CheckActionSchema: z.ZodObject<{ type: z.ZodLiteral<"CHECK">; playerId: z.ZodString; }, z.core.$strip>; /** * Schema for FOLD action */ export declare const FoldActionSchema: z.ZodObject<{ type: z.ZodLiteral<"FOLD">; playerId: z.ZodString; }, z.core.$strip>; /** * Schema for DEAL action */ export declare const DealActionSchema: z.ZodObject<{ type: z.ZodLiteral<"DEAL">; }, z.core.$strip>; /** * Schema for ADD_CHIPS action */ export declare const AddChipsActionSchema: z.ZodObject<{ type: z.ZodLiteral<"ADD_CHIPS">; playerId: z.ZodString; amount: z.ZodNumber; }, z.core.$strip>; /** * Schema for RESERVE_SEAT action */ export declare const ReserveSeatActionSchema: z.ZodObject<{ type: z.ZodLiteral<"RESERVE_SEAT">; playerId: z.ZodString; playerName: z.ZodString; seat: z.ZodNumber; expiryTimestamp: z.ZodNumber; }, z.core.$strip>; /** * Schema for SHOW action (showing cards at showdown) */ export declare const ShowActionSchema: z.ZodObject<{ type: z.ZodLiteral<"SHOW">; playerId: z.ZodString; cardIndices: z.ZodOptional>; }, z.core.$strip>; /** * Schema for MUCK action (hiding cards at showdown) */ export declare const MuckActionSchema: z.ZodObject<{ type: z.ZodLiteral<"MUCK">; playerId: z.ZodString; }, z.core.$strip>; /** * Schema for TIME_BANK action */ export declare const TimeBankActionSchema: z.ZodObject<{ type: z.ZodLiteral<"TIME_BANK">; playerId: z.ZodString; }, z.core.$strip>; /** * Schema for TIMEOUT action */ export declare const TimeoutActionSchema: z.ZodObject<{ type: z.ZodLiteral<"TIMEOUT">; playerId: z.ZodString; timestamp: z.ZodOptional; }, z.core.$strip>; /** * Schema for NEXT_BLIND_LEVEL action (tournament) */ export declare const NextBlindLevelActionSchema: z.ZodObject<{ type: z.ZodLiteral<"NEXT_BLIND_LEVEL">; }, z.core.$strip>; /** * Schema for UNCALLED_BET_RETURNED action (internal engine action) * Generated when an uncalled bet is returned to a player */ export declare const UncalledBetReturnedActionSchema: z.ZodObject<{ type: z.ZodLiteral<"UNCALLED_BET_RETURNED">; playerId: z.ZodString; amount: z.ZodNumber; }, z.core.$strip>; /** * Union of all action schemas */ export declare const ActionSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{ type: z.ZodLiteral<"SIT">; playerId: z.ZodString; playerName: z.ZodString; seat: z.ZodNumber; stack: z.ZodNumber; sitInOption: z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"STAND">; playerId: z.ZodString; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"BET">; playerId: z.ZodString; amount: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"RAISE">; playerId: z.ZodString; amount: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"CALL">; playerId: z.ZodString; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"CHECK">; playerId: z.ZodString; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"FOLD">; playerId: z.ZodString; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"DEAL">; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"ADD_CHIPS">; playerId: z.ZodString; amount: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"RESERVE_SEAT">; playerId: z.ZodString; playerName: z.ZodString; seat: z.ZodNumber; expiryTimestamp: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"SHOW">; playerId: z.ZodString; cardIndices: z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"MUCK">; playerId: z.ZodString; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"TIME_BANK">; playerId: z.ZodString; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"TIMEOUT">; playerId: z.ZodString; timestamp: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"NEXT_BLIND_LEVEL">; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"UNCALLED_BET_RETURNED">; playerId: z.ZodString; amount: z.ZodNumber; }, z.core.$strip>], "type">; /** * Schema for blind level configuration */ export declare const BlindLevelSchema: z.ZodObject<{ smallBlind: z.ZodNumber; bigBlind: z.ZodNumber; ante: z.ZodNumber; }, z.core.$strip>; /** * Schema for table configuration */ export declare const TableConfigSchema: z.ZodObject<{ smallBlind: z.ZodNumber; bigBlind: z.ZodNumber; ante: z.ZodOptional; maxPlayers: z.ZodNumber; blindStructure: z.ZodOptional>>; rakePercent: z.ZodOptional; rakeCap: z.ZodOptional; timeBankSeconds: z.ZodOptional; timeBankDeductionSeconds: z.ZodOptional; }, z.core.$strip>; /** * Schema for creating a new table */ export declare const CreateTableSchema: z.ZodObject<{ name: z.ZodString; mode: z.ZodEnum<{ CASH: "CASH"; TOURNAMENT: "TOURNAMENT"; }>; smallBlind: z.ZodNumber; bigBlind: z.ZodNumber; maxPlayers: z.ZodDefault; minBuyIn: z.ZodOptional; maxBuyIn: z.ZodOptional; ante: z.ZodOptional; rakePercent: z.ZodOptional; rakeCap: z.ZodOptional; noFlopNoDrop: z.ZodOptional; timeBankSeconds: z.ZodOptional; timeBankDeductionSeconds: z.ZodOptional; actionTimeoutSeconds: z.ZodOptional; allowSpectators: z.ZodOptional; }, z.core.$strip>; export declare const TournamentPayoutSchema: z.ZodArray; export declare const CreateTournamentSchema: z.ZodObject<{ name: z.ZodString; buyIn: z.ZodNumber; fee: z.ZodDefault; startingStack: z.ZodNumber; smallBlind: z.ZodNumber; bigBlind: z.ZodNumber; maxPlayers: z.ZodDefault; tableMaxPlayers: z.ZodDefault; balancingTolerance: z.ZodDefault; startsAt: z.ZodOptional; blindStructure: z.ZodOptional>>; payoutPercentages: z.ZodDefault>; }, z.core.$strip>; export declare const RegisterTournamentRequestSchema: z.ZodObject<{ seat: z.ZodNumber; idempotencyKey: z.ZodString; }, z.core.$strip>; /** * Schema for buy-in request */ export declare const BuyInRequestSchema: z.ZodObject<{ amount: z.ZodNumber; seat: z.ZodNumber; idempotencyKey: z.ZodString; sitInOption: z.ZodOptional>; }, z.core.$strip>; /** * Schema for add chips request */ export declare const AddChipsRequestSchema: z.ZodObject<{ amount: z.ZodNumber; idempotencyKey: z.ZodString; }, z.core.$strip>; /** * Schema for game action request */ export declare const GameActionRequestSchema: z.ZodObject<{ type: z.ZodEnum<{ STAND: "STAND"; DEAL: "DEAL"; FOLD: "FOLD"; CHECK: "CHECK"; CALL: "CALL"; BET: "BET"; RAISE: "RAISE"; SHOW: "SHOW"; MUCK: "MUCK"; TIME_BANK: "TIME_BANK"; NEXT_BLIND_LEVEL: "NEXT_BLIND_LEVEL"; }>; amount: z.ZodOptional; cardIndices: z.ZodOptional>; idempotencyKey: z.ZodOptional; }, z.core.$strip>; export type ValidatedAction = z.infer; export type ValidatedBlindLevel = z.infer; export type ValidatedTableConfig = z.infer; export type CreateTableRequest = z.infer; export type CreateTournamentRequest = z.infer; export type RegisterTournamentRequest = z.infer; export type BuyInRequest = z.infer; export type AddChipsRequest = z.infer; export type GameActionRequest = z.infer;