import Intl, { Messages } from 'intl-ts'; export declare type ValidatorMessage = { [K in keyof T]: Intl[K] extends (...args: P) => string ? K : never; }[keyof T]; /** * A validator interface. */ export default interface Validator { readonly params: P; validate: (value: string) => ValidatorMessage | undefined; } /** * A validator based on regular expression. */ export declare class RegExpValidator implements Validator { private readonly regExp; private readonly msgKey; readonly params: P; constructor(regExp: RegExp, msgKey: ValidatorMessage, params: P); validate(value: string): ValidatorMessage | undefined; }