import { TimeOptions } from "./time.interfaces"; /** * Time configuration service interface * Manages time picker configuration and validation */ export interface ITimeConfigurationService { /** * Process and validate time configuration options * @param options Raw time options * @returns Processed and validated options */ processTimeOptions(options: TimeOptions): TimeOptions; /** * Get default time options * @returns Default time configuration */ getDefaultTimeOptions(): TimeOptions; /** * Validate time format string * @param format Time format string * @returns Whether the format is valid */ validateTimeFormat(format: string): boolean; /** * Get supported time formats * @returns Array of supported format strings */ getSupportedTimeFormats(): string[]; /** * Normalize time options for consistency * @param options Time options to normalize * @returns Normalized options */ normalizeTimeOptions(options: TimeOptions): TimeOptions; /** * Get show seconds setting * @returns Whether to show seconds */ getShowSeconds(): boolean; /** * Set show seconds setting * @param show Whether to show seconds */ setShowSeconds(show: boolean): void; /** * Get show milliseconds setting * @returns Whether to show milliseconds */ getShowMilliseconds(): boolean; /** * Set show milliseconds setting * @param show Whether to show milliseconds */ setShowMilliseconds(show: boolean): void; /** * Get 12-hour format setting * @returns Whether to use 12-hour format */ getUse12HourFormat(): boolean; /** * Set 12-hour format setting * @param use12Hour Whether to use 12-hour format */ setUse12HourFormat(use12Hour: boolean): void; /** * Get minute step setting * @returns Minute step interval */ getMinuteStep(): number; /** * Set minute step setting * @param step Minute step interval */ setMinuteStep(step: number): void; /** * Get second step setting * @returns Second step interval */ getSecondStep(): number; /** * Set second step setting * @param step Second step interval */ setSecondStep(step: number): void; }