import { InputDateDisplayFormat } from '../daterange.constants';
import { NullableDaterange } from '../interfaces/daterange.interface';
import { NullableTimerange } from '../interfaces/timerange.interface';
import * as i0 from "@angular/core";
/**
 * Daterange parsing service.
 * Heavy inspired by `date-io.service.ts` from Clarity.
 * https://github.com/vmware-clarity/ng-clarity/blob/a21fe726fe91ae3c929b8f016359afe354bb89c6/projects/angular/src/forms/datepicker/providers/date-io.service.ts
 */
export declare class DaterangeParsingService {
    private readonly locale;
    readonly localeDisplayFormat: InputDateDisplayFormat;
    readonly localeDelimiter: Array<string>;
    /** Locale format. */
    get localeFormat(): string;
    constructor(locale: string);
    /**
     * Convert daterange to locale friendly text.
     * @param daterange - Daterange.
     * @param separator - Separator between 'from' and 'to' dates.
     * @returns Friendly daterange text.
     */
    toLocaleString(daterange: NullableDaterange, separator?: string): string;
    toLocaleStringWithTime(daterange: NullableDaterange | NullableTimerange, separator?: string): string;
    private toTimeString;
    /**
     * Convert date to locale display format string.
     * @param date - Javascript Date object.
     * @returns Locale display format string.
     */
    private toLocaleDisplayFormatString;
    /**
     * String padding with zeros.
     * @param num - Number to pad.
     * @returns Padded string.
     */
    private pad;
    /**
     * Parse daterange string to daterange object.
     * @param daterangeString - Daterange string.
     * @param separator - Separator text.
     * @returns Daterange object.
     */
    parse(daterangeString: string, separator?: string): NullableDaterange;
    /**
     * Get `DayModel` from date string.
     * @param dateString - Date string.
     * @returns DayModel.
     */
    private getDayModelFromDateString;
    /**
     * Get `DayModel` from date string parts.
     * @param yearString - Year string.
     * @param monthString - Month string.
     * @param dateString - Date string.
     * @returns DayModel.
     */
    private getDayModelFromDateParts;
    /**
     * Takes in a year and if it is a 2 digit year, returns the corresponding 4 digit year.
     * Window of 80 years before and 20 years after the present year.
     * Credit: https://github.com/globalizejs/globalize/blob/e1b31cd6a4f1cff75b185b68b7a32220aac5196f/src/date/parse.js
     * @param year - Year.
     * @returns Four-digit year.
     */
    private parseToFourDigitYear;
    static ɵfac: i0.ɵɵFactoryDeclaration<DaterangeParsingService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<DaterangeParsingService>;
}
