/** * Runtime Input Validation * * Validates parameters before sending to Telegram API. * Uses Zod for schema validation with: * - Lazy loading of schemas (only loaded when first used) * - Reusable base schemas for common types * - Method-specific schemas for priority methods * - Lenient mode (.passthrough) for forward compatibility * - Clear, actionable error messages */ import { type ZodType } from "zod"; declare function getChatIdSchema(): ZodType; declare function getUserIdSchema(): ZodType; declare function getMessageIdSchema(): ZodType; declare function getMessageTextSchema(): ZodType; declare function getCaptionSchema(): ZodType; declare function getParseModeSchema(): ZodType; declare function getBooleanSchema(): ZodType; declare function getFileSchema(): ZodType; declare function getReplyMarkupSchema(): ZodType; declare function getReplyParametersSchema(): ZodType; export interface ValidationSuccess { success: true; data: Record; } export interface ValidationError { success: false; error: string; details?: Array<{ path: string; message: string; }>; } export type ValidationResult = ValidationSuccess | ValidationError; /** * Validate parameters for a Telegram API method * * @param method - API method name (e.g., "sendMessage") * @param params - Parameters to validate * @returns ValidationResult with success/error status */ export declare function validateParams(method: string, params: Record): ValidationResult; /** * Check if a method has a validation schema defined */ export declare function hasSchema(method: string): boolean; /** * Get list of methods with validation schemas */ export declare function getValidatedMethods(): string[]; /** * Get current schema loading statistics (for debugging) */ export declare function getSchemaStats(): { defined: number; loaded: number; }; export { getChatIdSchema, getUserIdSchema, getMessageIdSchema, getMessageTextSchema, getCaptionSchema, getParseModeSchema, getBooleanSchema, getFileSchema, getReplyMarkupSchema, getReplyParametersSchema, }; //# sourceMappingURL=index.d.ts.map