import { IDateLocale } from '../types'; export declare function tokenizer(format: string): string[]; export interface IUsefulDateInfo { year: number; month: number; date: number; week: number; day: number; hour: number; minute: number; second: number; dateOfYear: number; } export declare type TokenFormatter = (date: Date, locale: IDateLocale) => string; export declare type TokenParser = (str: string, locale: IDateLocale) => Partial; export declare type TokenMatcher = (str: string, locale: IDateLocale) => false | string; export interface IFormatTokenMap { [key: string]: { formatToken: TokenFormatter; matchToken: TokenMatcher; parseToken: TokenParser; }; } export declare const CONVERTER_MAP: IFormatTokenMap; export interface INumberConverterOptions { maxLength: 1 | 2 | 3 | 4; getter: (date: Date, locale: IDateLocale) => number; converter?: (num: number, format: string) => number; format?: string; paddingFormat?: string; field?: keyof IUsefulDateInfo; } export declare function createNumberConverter(options: INumberConverterOptions): void; export interface IEnumConverterOptions { format: string; getter: (date: Date) => number; localeKey: Exclude; field?: keyof IUsefulDateInfo; } export declare function createEnumConverter(options: IEnumConverterOptions): void;