import React from 'react'; type BuiltinFlavor = 'primary' | 'success' | 'danger' | 'warning' | 'neutral'; type ShadedFlavor = BuiltinFlavor | `${BuiltinFlavor}+` | `${BuiltinFlavor}-`; type Placement = 'top-start' | 'top' | 'top-end' | 'right-start' | 'right' | 'right-end' | 'bottom-start' | 'bottom' | 'bottom-end' | 'left-start' | 'left' | 'left-end'; export interface TyDatePickerEventDetail { /** The selected date value (ISO string or formatted string based on format) */ value: string | null; /** The selected date as milliseconds since epoch */ milliseconds: number | null; /** Source of the change: "selection" | "time-change" | "clear" | "external" */ source: 'selection' | 'time-change' | 'clear' | 'external'; /** Formatted display value */ formatted: string | null; } export interface TyDatePickerProps extends Omit, 'onChange'> { /** The selected date value (ISO string or formatted string) */ value?: string; /** Field size — fields come in exactly three; legacy xs/xl map to sm/lg */ size?: 'sm' | 'md' | 'lg'; /** Visual flavor — built-in semantic, +/- shade, or a custom flavor backed by --ty-*-X tokens. Also tints the popup calendar's selected/today day. */ flavor?: 'default' | ShadedFlavor | (string & {}); /** Label text displayed above the input */ label?: string; /** Placeholder text when no date is selected */ placeholder?: string; /** Whether the field is required */ required?: boolean; /** Whether the field is disabled */ disabled?: boolean; /** Form field name for form submission */ name?: string; /** Whether to show a clear button */ clearable?: boolean; /** Date format: "short" | "medium" | "long" | "full" | custom format string */ format?: 'short' | 'medium' | 'long' | 'full' | string; /** Locale for date formatting (e.g., "en-US", "de-DE") */ locale?: string; /** Whether to include time selection */ withTime?: boolean; /** Earliest selectable date (ISO "YYYY-MM-DD") */ min?: string; /** Latest selectable date (ISO "YYYY-MM-DD") */ max?: string; /** Calendar popup placement, same vocabulary as ty-popup/ty-tooltip/ty-select: a side plus an optional cross-axis alignment (e.g. "bottom-start"). The calendar only lives above or below the field, so left/right degrade to auto-side with the alignment kept. Empty/unset = auto (below when it fits). */ placement?: Placement; /** Callback when the date value changes */ onChange?: (event: CustomEvent) => void; /** Callback when the dropdown opens */ onOpen?: (event: CustomEvent<{}>) => void; /** Callback when the dropdown closes */ onClose?: (event: CustomEvent<{}>) => void; } /** The underlying custom element, typed with its imperative clear() method. */ export interface TyDatePickerElement extends HTMLElement { clear(): void; } export declare const TyDatePicker: React.ForwardRefExoticComponent>; export {}; //# sourceMappingURL=TyDatePicker.d.ts.map