/** * Standardized error codes for IllegalActionError and API errors * * These codes are used consistently across: * - Engine (IllegalActionError) * - API (HTTP error responses) * - Client SDK (error handling) * * Using a const object pattern for: * - Type safety at compile time * - Autocomplete in IDEs * - Documentation of all possible error codes * - Easy refactoring */ export declare const ErrorCodes: { readonly INVALID_ACTION: "INVALID_ACTION"; readonly PLAYER_NOT_FOUND: "PLAYER_NOT_FOUND"; readonly PLAYER_NOT_ACTIVE: "PLAYER_NOT_ACTIVE"; readonly NOT_YOUR_TURN: "NOT_YOUR_TURN"; readonly NO_CHIPS: "NO_CHIPS"; readonly NOT_SEATED: "NOT_SEATED"; readonly CANNOT_CHECK: "CANNOT_CHECK"; readonly NOTHING_TO_CALL: "NOTHING_TO_CALL"; readonly CANNOT_BET: "CANNOT_BET"; readonly BET_TOO_SMALL: "BET_TOO_SMALL"; readonly CANNOT_RAISE: "CANNOT_RAISE"; readonly CANNOT_RERAISE: "CANNOT_RERAISE"; readonly RAISE_TOO_SMALL: "RAISE_TOO_SMALL"; readonly CANNOT_DEAL: "CANNOT_DEAL"; readonly NOT_ENOUGH_PLAYERS: "NOT_ENOUGH_PLAYERS"; readonly INVALID_SEAT: "INVALID_SEAT"; readonly SEAT_OCCUPIED: "SEAT_OCCUPIED"; readonly INVALID_STACK: "INVALID_STACK"; readonly INVALID_AMOUNT: "INVALID_AMOUNT"; readonly INVALID_TIMESTAMP: "INVALID_TIMESTAMP"; readonly INSUFFICIENT_FUNDS: "INSUFFICIENT_FUNDS"; readonly INVALID_BUY_IN: "INVALID_BUY_IN"; readonly UNAUTHORIZED: "UNAUTHORIZED"; readonly FORBIDDEN: "FORBIDDEN"; readonly NOT_FOUND: "NOT_FOUND"; readonly TABLE_NOT_FOUND: "TABLE_NOT_FOUND"; readonly RATE_LIMIT_EXCEEDED: "RATE_LIMIT_EXCEEDED"; readonly INTERNAL_ERROR: "INTERNAL_ERROR"; readonly SERVICE_UNAVAILABLE: "SERVICE_UNAVAILABLE"; }; /** * Type representing all valid error codes */ export type ErrorCode = (typeof ErrorCodes)[keyof typeof ErrorCodes]; /** * Helper to check if an error message contains a specific error code */ export declare function hasErrorCode(error: Error, code: ErrorCode): boolean; /** * Standard error response structure for API endpoints */ export interface ErrorResponse { readonly error: ErrorCode; readonly message: string; readonly context?: Record; readonly statusCode?: number; } /** * Create a standardized error response */ export declare function createErrorResponse(code: ErrorCode, message: string, context?: Record, statusCode?: number): ErrorResponse; /** * Map error codes to HTTP status codes */ export declare const ERROR_STATUS_MAP: Record; /** * Get HTTP status code for an error code */ export declare function getStatusCodeForError(code: ErrorCode): number;