/**
 * A utility class for formatting times using format strings.
 *
 * Supported time format specifiers:
 * - `h`   : Hour (1-12) in 12-hour format without leading zero.
 * - `hh`  : Hour (01-12) in 12-hour format with leading zero.
 * - `H`   : Hour (0-23) in 24-hour format without leading zero.
 * - `HH`  : Hour (00-23) in 24-hour format with leading zero.
 * - `m`   : Minute (0-59) without leading zero.
 * - `mm`  : Minute (00-59) with leading zero.
 * - `s`   : Second (0-59) without leading zero.
 * - `ss`  : Second (00-59) with leading zero.
 * - `t`   : First character of the AM/PM designator (e.g., A or P).
 * - `tt`  : Full AM/PM designator (e.g., AM or PM).
 * - `:`   : Time separator (e.g., colon).
 * - `-`   : Custom separator (e.g., hyphen).
 * - ` `   : Space separator.
 *
 * @public
 */
export declare class TimeFormatter {
    private static readonly _validSpecifiers;
    /**
     * Formats a time using a time-specific format string.
     *
     * @remarks
     * This method uses raw numeric extraction from the Date object to ensure
     * consistent output across all locales. It does not rely on `Intl.DateTimeFormat`
     * for numeric values to avoid locale-specific suffixes (e.g., German "Uhr").
     *
     * @param date The date object containing the time to format.
     * @param format The format string.
     * @param locale The locale for AM/PM designator (default: 'en-US').
     * @returns The formatted time string.
     */
    static format(date: Date, format: string, locale?: string): string;
    /**
     * Gets the AM/PM designator for the specified locale.
     *
     * @param date The date to extract the AM/PM designator from.
     * @param locale The locale to use.
     * @returns The AM/PM designator string.
     */
    private static getAmPmDesignator;
}
//# sourceMappingURL=TimeFormatter.d.ts.map