import type { FormChildProps } from '../../../../composables/useFormChild'; import type { Dayjs } from 'dayjs'; export declare enum CompareType { NO_COMPARISON = "NO_COMPARISON", PRECEDING_PERIOD = "PRECEDING_PERIOD", PRECEDING_WEEK = "PRECEDING_WEEK", PRECEDING_MONTH = "PRECEDING_MONTH", PRECEDING_YEAR = "PRECEDING_YEAR", CUSTOM = "CUSTOM" } export interface FmCalendarPredefinedRange { label: string; value: DateRange; } export interface FmCalendarPredefinedComparison { id: string; label: string; sublabel: string; action: () => void; } export interface InternalDateRange { startDate: Dayjs | null; endDate: Dayjs | null; } export type DateRange = { startDate: string | null; endDate: string | null; }; export interface FmDateRangePickerProps extends Omit { modelValue: DateRange | null; /** The date range used to compare with the target date range */ compareTarget?: DateRange | null; /** The label of the date range picker */ startLabel?: string; /** The label of the date range picker */ endLabel?: string; /** Disable the date range picker */ disabled?: boolean; /** Should highlight the field border when the field is invalid */ showValidBorder?: boolean; /** Show quick select list */ showPredefinedRange?: boolean; /** Customized quick select list **/ predefinedRange?: FmCalendarPredefinedRange[]; /** Default Compare Type **/ defaultCompareType?: CompareType; /** The minimum date shown in matrix */ min?: string; /** The maximum date shown in matrix */ max?: string; /** Z-index of the date picker */ zIndex?: number; }