import type { Updater } from "svelte/store"; import { Time } from "@internationalized/date"; import { type WritableBox, DOMContext, type ReadableBoxedValues, type WritableBoxedValues } from "svelte-toolbelt"; import type { BitsFocusEvent, BitsInputEvent, BitsKeyboardEvent, BitsMouseEvent, RefAttachment, WithRefOpts } from "../../internal/types.js"; import type { TimeSegmentObj, SegmentPart, HourCycle, TimeValidator, TimeOnInvalid, EditableTimeSegmentPart } from "../../shared/date/types.js"; import { type TimeFormatter } from "../../internal/date-time/formatter.js"; import { type Announcer } from "../../internal/date-time/announcer.js"; import type { TimeValue } from "../../shared/date/types.js"; import type { TimeRangeFieldRootState } from "../time-range-field/time-range-field.svelte.js"; export declare const timeFieldAttrs: import("../../internal/attrs.js").CreateBitsAttrsReturn; interface SegmentConfig { min: number | ((root: TimeFieldRootState) => number); max: number | ((root: TimeFieldRootState) => number); cycle: number; canBeZero?: boolean; padZero?: boolean; } export interface TimeFieldRootStateOpts extends WritableBoxedValues<{ value: T | undefined; placeholder: TimeValue; }>, ReadableBoxedValues<{ readonlySegments: SegmentPart[]; validate: TimeValidator | undefined; onInvalid: TimeOnInvalid | undefined; minValue: TimeValue | undefined; maxValue: TimeValue | undefined; disabled: boolean; readonly: boolean; granularity: "hour" | "minute" | "second" | undefined; hourCycle: HourCycle | undefined; locale: string; hideTimeZone: boolean; required: boolean; errorMessageId: string | undefined; isInvalidProp: boolean | undefined; }> { } export declare class TimeFieldRootState { #private; static create(opts: TimeFieldRootStateOpts, rangeRoot?: TimeRangeFieldRootState): TimeFieldRootState