import type { RequireAtLeastOne } from 'type-fest'; import { type DataTestId, type StylingProps } from '@dynatrace/strato-components/core'; import type { FormControlProps } from '../../core/types/form-control-props.js'; import type { TimeframeV2 } from '../../core/types/time.js'; import type { FormControlRef, TimeRangePickerRef } from '../shared-types.js'; /** @internal */ export type CalendarValueType = Type extends 'range' ? RequireAtLeastOne | RequireAtLeastOne<{ from: string; to: string; }> | null : string | null | Date; /** @internal */ export type CalendarStrictValueType = Type extends 'range' ? TimeframeV2 | null : string | null; /** * @internal */ export type CalendarType = 'single' | 'range'; /** @internal */ export type CalendarProps = FormControlProps, (date: CalendarStrictValueType) => void> & StylingProps & DataTestId & { /** The earliest selectable date. It will always consider the start of the day as time. */ min?: string; /** The latest selectable date. It will always consider the end of the day as time. */ max?: string; /** Determines the calendar type. Single allows the selection of one date and range allows a range selection with a from and to value. * @defaultValue 'single' */ type?: Type; /** * The precision of the time shown in the display value. * @defaultValue 'minutes' */ precision?: 'minutes' | 'seconds' | 'milliseconds'; }; /** * Calendar Component * @internal */ export declare const Calendar: (props: CalendarProps & import("react").RefAttributes | (Omit, "inputRef"> & Pick, "inputRef">)>) => React.ReactElement | null;