export type Value = string | null; export type ValidationResult = string | boolean; export type ValidationRule = (value: T) => ValidationResult; export interface ValidationRules { [key: string]: ValidationRule; } export type GenericFnOpt = (arg?: T) => string; export type GenericFn = (arg: T) => string; export interface ErrorMessages { [key: string]: GenericFn | GenericFnOpt | string; }