declare type Formatter = (d: Date | null) => string;
declare type Parser = (s: string) => Date | false;
declare type Pair = [Formatter, Parser];
/**
 * The function makes a pair of formatter and parser which are each others inverse.
 * date === parser(formatter(date)) and value === formatter(parser(value)
 * The parser may return false if the value is not a valid date.
 *
 * The formatter uses the native browser function for this.
 * The parser works by creating a regex which is matched against the provided string
 * The parts it extracts are matched against the date parts the browser provides
 * and then loaded into a date object
 * If this causes any overflows (ie the 32 day of the month) the date is rejected
 */
export declare const makeParserPair: (l: string, o?: Intl.DateTimeFormatOptions) => Pair;
export {};
