import { ListOption } from '../list'; import { RenderResult } from '@dojo/framework/core/interfaces'; export interface TimePickerProperties { /** Set the disabled property of the control */ disabled?: boolean; /** Callback to determine if a particular time entry should be disabled */ timeDisabled?: (time: Date) => boolean; /** The name of the field */ name?: string; /** The initial selected value */ initialValue?: string; /** Controlled value property */ value?: string; /** Called when the value changes */ onValue?(value: string): void; /** Indicates the input is required to complete the form */ required?: boolean; /** Callabck when valid state has changed */ onValidate?(valid: boolean, message: string): void; /** The maximum time to display in the menu (defaults to '23:59:59') */ max?: string; /** The minimum time to display in the menu (defaults to '00:00:00') */ min?: string; /** The number of seconds between each option in the menu (defaults to 1800) */ step?: number; /** How the time is formatted. 24 hour, 12 hour */ format?: '24' | '12'; /** Property to determine how many items to render. Defaults to 10 */ itemsInView?: number; /** The kind of time picker input */ kind?: 'outlined' | 'filled'; } export interface TimePickerChildren { /** The label to be displayed above the input */ label?: RenderResult; } export interface TimePickerICache { value?: string; lastValue: string; nextValue: string; inputValue: string; validationMessage: string | undefined; focusNode: 'input' | 'menu'; inputValid?: boolean; inputValidMessage?: string; isValid?: boolean; initialValue?: string; min: string; max: string; step: number; options: (ListOption & { dt: number; })[]; dirty: boolean; callOnValue: void; } export interface TimeParser { regex: RegExp; positions: { hour?: number; minute?: number; second?: number; amPm?: number; }; } export declare function parseTime(time: string | undefined, hour12: boolean): Date | undefined; export declare function format24HourTime(dt: Date): string; export declare const TimePicker: import("@dojo/framework/core/interfaces").OptionalWNodeFactory<{ properties: TimePickerProperties & import("@dojo/framework/core/interfaces").WidgetProperties & { variant?: "default" | "inherit" | undefined; } & import("@dojo/framework/core/middleware/theme").ThemeProperties & import("@dojo/framework/core/interfaces").FocusProperties & import("@dojo/framework/core/interfaces").I18nProperties; children: string | number | boolean | import("@dojo/framework/core/interfaces").VNode | import("@dojo/framework/core/interfaces").WNode | import("@dojo/framework/core/interfaces").DNode[] | TimePickerChildren; }>; export default TimePicker;