import { Moment } from 'moment';
export type QdFormattedDate = string | null | undefined;
export declare class QdDateAdapter {
    private static DEFAULT_DATE_OPTIONS;
    private static DEFAULT_TIME_OPTIONS;
    private static TIME_OPTIONS_WITH_SECONDS;
    static getTimeOptions(seconds: boolean): Intl.DateTimeFormatOptions;
    /**
     * Converts a localized date string into a JavaScript Date object.
     * If the input is invalid or null, the current date is returned.
     */
    static parseToDate(formatted: QdFormattedDate): Date;
    /**
     * Converts a localized Swiss date and time string into a JavaScript Date object.
     *
     * - If the date is invalid but the time is valid, the time is applied to the current date.
     * - Date formats follow the `DD.MM.YYYY` notation.
     *
     * Time formats depend on the string length:
     *   - `HH:mm` (e.g., `14:30`) → Hours and minutes
     *   - `HH:mm:ss` (e.g., `14:30:15`) → Hours, minutes, and seconds
     */
    static parseToDateTime(date: QdFormattedDate, time: QdFormattedDate): Date;
    /**
     * Converts a localized date string into a Moment.js object.
     * If the input is null or undefined, it returns undefined.
     */
    static parseToMoment(formatted: QdFormattedDate): Moment | undefined;
    /**
     * Formats a Moment.js object into a localized date string.
     * If the input is null, an empty string is returned.
     */
    static formatToLocalizedDateString(momentObj: Moment): string;
    /**
     * Formats a JavaScript Date object into a localized date string.
     */
    static formatToDateLocaleString(date: Date): string;
    /**
     * Formats a JavaScript Date object into a localized time string.
     */
    static formatToTimeLocaleString(date: Date, showSeconds: boolean): string;
    /**
     * Formats a JavaScript Date object into a localized date and time string.
     */
    static formatToDateTimeLocaleString(date: Date, showSeconds: boolean): string;
    /**
     * Validates whether a localized date string follows the expected format.
     * Returns true if the date is valid, otherwise false.
     */
    static isLocalizedDateStringValid(formatted: QdFormattedDate): boolean;
    /**
     * Validates if a date-time string matches the Swiss `DD.MM.YYYY HH:mm:ss` format.
     */
    static isLocalizedDateTimeStringValid(formatted: QdFormattedDate, showSeconds: boolean): boolean;
}
//# sourceMappingURL=date-adapter.d.ts.map