/**
 * @file timeParser.ts
 * @input Uses string parsing
 * @output Exports time parsing and formatting utilities
 * @position Shared utility; used by TimePicker
 *
 * SYNC: When modified, update this header
 */
/**
 * ISO time string in HH:MM or HH:MM:SS format (24-hour).
 * Examples: "14:30", "09:15:00", "23:59:59"
 */
export type ISOTimeString = string & {
    readonly __brand: 'ISOTimeString';
};
/**
 * Parsed time object for internal manipulation.
 */
export interface ParsedTime {
    hour: number;
    minute: number;
    second: number;
}
/**
 * Validates and creates an ISOTimeString from a string.
 * Returns null if the string is not a valid time format.
 */
export declare function createISOTimeString(value: string): ISOTimeString | null;
/**
 * Parses an ISO time string into a ParsedTime object.
 * Accepts HH:MM or HH:MM:SS format.
 */
export declare function parseISOTime(time: string): ParsedTime | null;
/**
 * Formats a ParsedTime object into an ISOTimeString.
 */
export declare function formatISOTime(time: ParsedTime, includeSeconds?: boolean): ISOTimeString;
/**
 * Formats a time for display in 12-hour format.
 * Example: "14:30" -> "2:30 PM"
 */
export declare function formatDisplayTime12h(time: ISOTimeString | undefined, includeSeconds?: boolean): string;
/**
 * Formats a time for display in 24-hour format.
 * Example: "14:30" -> "14:30"
 */
export declare function formatDisplayTime24h(time: ISOTimeString | undefined, includeSeconds?: boolean): string;
/**
 * Parses user input into an ISOTimeString.
 * Accepts various formats:
 * - "2:30 PM", "2:30pm", "2:30 pm"
 * - "14:30", "1430"
 * - "2pm", "2 PM"
 */
export declare function parseTimeInput(input: string, includeSeconds?: boolean): ISOTimeString | null;
/**
 * Compares two times. Returns:
 * - negative if a < b
 * - 0 if a === b
 * - positive if a > b
 */
export declare function compareTime(a: ISOTimeString | undefined, b: ISOTimeString | undefined): number;
/**
 * Checks if a time is within a min/max range (inclusive).
 */
export declare function isTimeInRange(time: ISOTimeString, min?: ISOTimeString, max?: ISOTimeString): boolean;
/**
 * Clamps a time to a min/max range.
 */
export declare function clampTime(time: ISOTimeString, min?: ISOTimeString, max?: ISOTimeString, includeSeconds?: boolean): ISOTimeString;
/**
 * Adjusts a time by adding/subtracting minutes.
 */
export declare function adjustTime(time: ISOTimeString, deltaMinutes: number, includeSeconds?: boolean): ISOTimeString;
//# sourceMappingURL=timeParser.d.ts.map