import { InjectionToken, Provider } from '@angular/core'; import { VudYearMonthStruct } from './year-month-picker.model'; import * as i0 from "@angular/core"; export declare function VUD_YEAR_MONTH_PICKER_PARSER_FORMATTER_FACTORY(): VudYearMonthParserFormatterDefault; /** * Converts between the internal `VudYearMonthStruct` model presentation and a `string` that is displayed in the * input element. * * When user types something in the input this service attempts to parse it into a `VudYearMonthStruct` object. * And vice versa, when users selects a month in the year month picker with the mouse, it must be displayed as a `string` * in the input. * * Default implementation uses the ISO 8601 format, but you can provide another implementation via DI * to use an alternative string format or a custom parsing logic. */ export declare abstract class VudYearMonthParserFormatter { /** * Parses the given `string` to an `VudYearMonthStruct`. * * Implementations should try their best to provide a result, even * partial. They must return `null` if the value can't be parsed. */ abstract parse(value: string): VudYearMonthStruct | null; /** * Formats the given `VudYearMonthStruct` to a `string`. * * Implementations should return an empty string if the given date is `null`, * and try their best to provide a partial result if the given date is incomplete or invalid. */ abstract format(date: VudYearMonthStruct | null): string; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } export type VudYearMonthPickerFormats = { [locale: string]: { input: string[]; output: string; }; }; export declare const VUD_DEFAULT_YEAR_MONTH_PICKER_FORMATS: VudYearMonthPickerFormats; export declare const VUD_YEAR_MONTH_PARSER_FORMATTER_CONFIG: InjectionToken; export declare function extendVudYearMonthParserFormatter(formats: VudYearMonthPickerFormats): Provider; export declare class VudYearMonthParserFormatterDefault extends VudYearMonthParserFormatter { /** @ignore */ private readonly locale; /** @ignore */ private readonly formats; parse(value: string): VudYearMonthStruct | null; format(date: VudYearMonthStruct): string; private dateFormatToRegexp; private addYearPadding; private printUnkownLocaleWarning; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }