/**
 * A utility class for parsing date strings using format strings.
 *
 * Supported date format specifiers:
 * - `d`   : Day of the month (1-31) without leading zero.
 * - `dd`  : Day of the month (01-31) with leading zero.
 * - `M`   : Month (1-12) without leading zero.
 * - `MM`  : Month (01-12) with leading zero.
 * - `y`   : Year as the last two digits without leading zero.
 * - `yy`  : Year as the last two digits with leading zero.
 * - `yyyy`: Year as a four-digit number.
 * - `-`   : Separator (hyphen).
 * - `/`   : Separator (slash).
 * - `.`   : Separator (dot).
 * - ` `   : Separator (space).
 *
 * @public
 */
export declare class DateParser {
    private static readonly _segmentRegex;
    /**
     * Attempts to parse a date string using the provided format.
     * Returns `null` if parsing fails or produces an invalid date.
     *
     * @param value The date string to parse.
     * @param format The expected format of the date string.
     * @param locale The locale (reserved for future use).
     * @returns The parsed Date or null.
     */
    static tryParse(value: string, format: string, locale: string): Date | null;
    /**
     * Parses a date string according to the given format string.
     *
     * @param value The date string to parse.
     * @param format The format string describing the layout.
     * @param locale The locale (reserved for future use).
     * @returns The parsed Date.
     * @throws Error if the format or value cannot be parsed.
     */
    static parse(value: string, format: string, locale: string): Date;
    /**
     * Extracts a numeric value from the input string at the given position.
     * The number of digits consumed is determined by the format segment:
     * - `yyyy` / `yyy`: up to 4 digits (min 3 or 4 depending on specifier length).
     * - `dd` / `MM` / `yy`: exactly 2 digits.
     * - `d` / `M` / `y`: 1 to 2 digits (greedy).
     *
     * @param value - The full input string being parsed.
     * @param position - The current character index in `value`.
     * @param segment - The format segment (e.g., `"dd"`, `"M"`, `"yyyy"`).
     * @returns An object containing the parsed numeric `value` and the `length` of characters consumed.
     * @throws Error if fewer digits are found than the segment requires.
     */
    private static extractNumericValue;
    /**
     * Checks whether the given Date object represents a valid point in time.
     *
     * @param date - The Date object to validate.
     * @returns `true` if the date is valid (not `NaN`), otherwise `false`.
     */
    private static isValidDate;
}
//# sourceMappingURL=DateParser.d.ts.map