import { CalendarDate, CalendarDateTime } from '@internationalized/date'; import { EditableSegmentType, Precision } from '../types'; import { DaySegment } from './date/day-segment'; import { MonthSegment } from './date/month-segment'; import { YearSegment } from './date/year-segment'; import { EditableSegment } from './editable-segment'; import { LiteralSegment } from './literal-segment'; import { DayPeriodSegment } from './time/day-period-segment'; import { HourSegment } from './time/hour-segment'; import { MillisecondSegment } from './time/millisecond-segment'; import { MinuteSegment } from './time/minute-segment'; import { SecondSegment } from './time/second-segment'; export type Segment = EditableSegment | LiteralSegment; export declare class DateTimeSegments { private segments; constructor(segments: Segment[]); get all(): Segment[]; get editableValues(): (number | undefined)[]; get year(): YearSegment | undefined; get month(): MonthSegment | undefined; get day(): DaySegment | undefined; get hour(): HourSegment | undefined; get minute(): MinuteSegment | undefined; get second(): SecondSegment | undefined; get millisecond(): MillisecondSegment | undefined; get dayPeriod(): DayPeriodSegment | undefined; getByType(type: EditableSegmentType): EditableSegment | undefined; /** * Returns a `CalendarDate` object with the year, month and day values of the segments if they are all defined. The time values * are checked and included based on the precision provided, returning a `CalendarDateTime` instead. * * @param precision - The precision to use when creating the date object */ getFormattedDate(precision?: Precision): CalendarDate | CalendarDateTime | undefined; }