import type { PropType } from 'vue'; import type { VTimePickerViewMode } from './shared.js'; export type AllowFunction = (val: number) => boolean; export declare const makeTimeValidationProps: (defaults?: Defaults | undefined) => { allowedHours: unknown extends Defaults["allowedHours"] ? PropType : { type: PropType; default: unknown extends Defaults["allowedHours"] ? AllowFunction | number[] : Defaults["allowedHours"] | NonNullable; }; allowedMinutes: unknown extends Defaults["allowedMinutes"] ? PropType : { type: PropType; default: unknown extends Defaults["allowedMinutes"] ? AllowFunction | number[] : Defaults["allowedMinutes"] | NonNullable; }; allowedSeconds: unknown extends Defaults["allowedSeconds"] ? PropType : { type: PropType; default: unknown extends Defaults["allowedSeconds"] ? AllowFunction | number[] : Defaults["allowedSeconds"] | NonNullable; }; max: unknown extends Defaults["max"] ? StringConstructor : { type: PropType; default: unknown extends Defaults["max"] ? string : string | Defaults["max"]; }; min: unknown extends Defaults["min"] ? StringConstructor : { type: PropType; default: unknown extends Defaults["min"] ? string : string | Defaults["min"]; }; }; export interface TimeValidationProps { allowedHours?: AllowFunction | number[]; allowedMinutes?: AllowFunction | number[]; allowedSeconds?: AllowFunction | number[]; min?: string; max?: string; } export declare function useTimeValidation(props: TimeValidationProps): { isAllowedHour: import("vue").ComputedRef<(val: number) => boolean>; isAllowedMinute: import("vue").ComputedRef<(hour24hr: number | null, val: number) => boolean>; isAllowedSecond: import("vue").ComputedRef<(hour24hr: number | null, minute: number | null, val: number) => boolean>; findNextAllowed: (type: VTimePickerViewMode, value: number, increment: boolean, currentHour?: number | null, currentMinute?: number | null) => number; };