import React, { ReactNode } from 'react'; import { DragStartValidator, DragEndValidator, ReorderValidator, DrawValidator } from './validation'; /** * Configuration for validation across all components */ export interface ValidationConfig { /** * Validator for drag start operations */ onValidateDragStart?: DragStartValidator; /** * Validator for drag end (drop) operations */ onValidateDragEnd?: DragEndValidator; /** * Validator for hand reordering operations */ onValidateReorder?: ReorderValidator; /** * Validator for deck draw operations */ onValidateDraw?: DrawValidator; /** * Callback for validation errors */ onValidationError?: (error: string) => void; } export interface ValidationContextValue { config: ValidationConfig; } /** * Provider component for validation configuration * * @example * ```tsx * { * // Your validation logic * return { valid: true }; * }} * onValidationError={(error) => showToast(error)} * > * * * ``` */ export declare const ValidationProvider: React.FC<{ children: ReactNode; } & ValidationConfig>;