export interface ValidationRule { name: string; data?: any; errorMessage?: string; } export interface ValidationRules { [key: string]: validate; } export interface validate { rule: (value: any, data?: any, currency?: string) => boolean; errorMessage?: string; } export interface Validation { state: ValidationState; errorMessage?: string; } export enum ValidationState { Valid = 'valid', Invalid = 'invalid', None = 'none', Required = 'required' }