import { type Ref } from "vue"; export type ChangePayload = { value: Date | null; event: any; }; type AnyArgsHandler = (...args: unknown[]) => void; export declare function useMaskedTimeInput(args: { id: string; onChange: (p: ChangePayload) => void; onShowPicker: (e: KeyboardEvent) => void; externalValue?: Ref; minuteStep?: 1 | 5 | 10 | 15 | 20 | 30; minuteStepRef?: Ref<1 | 5 | 10 | 15 | 20 | 30 | undefined>; timeFormat?: string; min?: Date | null | undefined; max?: Date | null | undefined; /** When true, empty/incomplete value is considered invalid after blur */ required?: boolean; debug?: boolean; }): { raw: Ref; rules: { readonly H: RegExp; readonly h: RegExp; readonly M: RegExp; readonly m: RegExp; readonly A: RegExp; readonly a: RegExp; }; debugEnabled: Ref; debugLines: import("vue").ComputedRef<((string | number)[] | (string | boolean)[])[]>; placeholder: Ref; isValid: import("vue").ComputedRef; reason: Readonly>; validationMessage: import("vue").ComputedRef; isComplete: import("vue").ComputedRef; inRangeTime: (d: Date) => boolean; cursorPos: Ref; hour: Readonly>; hour24: Readonly>; minute: Readonly>; period: Readonly>; time24: Readonly>; parsedRawTime: Readonly>; handleChange: AnyArgsHandler; handleKeyDown: (event: KeyboardEvent) => void; handleKeyUp: (event: KeyboardEvent) => void; handleClick: (event: MouseEvent) => void; handleWheel: (event: WheelEvent) => void; handleBlur: (event: FocusEvent) => void; initStyling: () => void; }; export {};