
import { Styles } from "../../../tasty/styles/types.js";
import { BaseProps, ContainerStyleProps } from "../../../tasty/types.js";
import "../../../tasty/index.js";
import { FieldBaseProps, ValidationState } from "../../../shared/form.js";
import "../../../shared/index.js";
import { Granularity } from "./types.js";
import * as react from "react";
import { AriaTimeFieldProps, DateValue, TimeValue } from "react-aria";
import * as _react_types_shared0 from "@react-types/shared";

//#region src/components/fields/DatePicker/TimeInput.d.ts
interface CubeTimeInputProps<T extends TimeValue = TimeValue> extends Omit<AriaTimeFieldProps<T>, 'errorMessage'>, BaseProps, ContainerStyleProps, FieldBaseProps {
  wrapperStyles?: Styles;
  inputStyles?: Styles;
  styles?: Styles;
  size?: 'small' | 'medium' | 'large' | (string & {});
  validationState?: ValidationState;
  value?: TimeValue;
  /** The minimum allowed date that a user may select. */
  minValue?: TimeValue;
  /** The maximum allowed date that a user may select. */
  maxValue?: TimeValue;
  /** Callback that is called for each date of the calendar. If it returns true, then the date is unavailable. */
  isDateUnavailable?: (date: DateValue) => boolean;
  /** A placeholder date that influences the format of the placeholder shown when no value is selected. Defaults to today's date at midnight. */
  placeholderValue?: TimeValue;
  /** Whether to display the time in 12 or 24 hour format. By default, this is determined by the user's locale. */
  hourCycle?: 12 | 24;
  /** Determines the smallest unit that is displayed in the date picker. By default, this is `"day"` for dates, and `"minute"` for times. */
  granularity?: Granularity;
  /**
   * Whether to hide the time zone abbreviation.
   * @default false
   */
  hideTimeZone?: boolean;
  onChange?: (value: TimeValue) => void;
}
/**
 * TimeFields allow users to enter and edit time values using a keyboard.
 * Each part of the time is displayed in an individually editable segment.
 */
declare const _TimeInput: react.ForwardRefExoticComponent<Omit<CubeTimeInputProps<TimeValue>, "ref"> & react.RefAttributes<_react_types_shared0.FocusableRefValue<HTMLElement, HTMLElement>>>;
//#endregion
export { CubeTimeInputProps, _TimeInput };
//# sourceMappingURL=TimeInput.d.ts.map