import { ComponentPropsWithoutRef } from 'react'; export declare type DatepickerScrollType = 'date' | 'datetime' | 'time'; export interface HeightData { height: number; fromObserver: boolean; } export interface ItemData { text: string; value: number | Date; disabled?: boolean; } declare type DatepickerScrollAttributes = ComponentPropsWithoutRef<'div'>; export interface DatepickerScrollProps extends Omit { /** * To remove border of datepickerscroll * @default false */ borderless?: boolean; className?: string; /** * To set the height of datepickerscroll * @default '200px' */ height?: string; /** * Used to recalculate height of scrollContanier */ heightData?: HeightData; /** * To set the type of datepickerScroll * @default 'date' */ type?: DatepickerScrollType; /** * To set initial selected date of datepickerScroll * @default new Date() */ initialDate?: Date; /** * To specify language of Datepicker * @default 'id' */ lang?: string; /** * To specify the maximum date (also time for timepicker/datetimepicker) that this datepickerScroll takes into account, accepts Date object * @default new Date(new Date().getFullYear(), 11, 31) */ maxDate?: Date; /** * To specify the minimum date (also time for timepicker/datetimepicker) that this datepickerScroll takes into account, accepts Date objec * @default new Date(0, 0, 0) */ minDate?: Date; /** * To pass function that gets called on value change * @default () => {} */ onChangeValue?: (newVal: Date) => void; } export interface DatepickerScrollDateProps extends DatepickerScrollProps { /** * To set the content of datepicker * @default 'd-MMMM-yyyy' */ format?: string; } export interface DatepickerScrollTimeProps extends DatepickerScrollProps { /** * To set max time for this datepickerScroll, accepts Date object. This overrides the time behavior of maxDate. Both min and maxDate need to be present in order for this to work. */ maxTime?: Date; /** * To set min time for this datepickerScroll, accepts Date object. This overrides the time behavior of minDate. Both min and maxDate need to be present in order for this to work. */ minTime?: Date; /** * To set the interval of value shown under minute section * @default 1 */ minuteInterval?: number; /** * To set type of content to display * @default 'datetime' */ type?: 'datetime' | 'time'; } export interface ScrollContainerProps { id?: string; className?: string; /** * Array of string values populated in scroll container */ data: ItemData[]; /** * Contains the height update data of this scroll container * @default { height: '100%', fromObserver: false } */ heightData?: HeightData; /** * Initial active index of scroll container */ initialIndex: number[]; /** * Width of container * @default 33 */ width?: number; /** * To disable all values in this container */ disableAll?: boolean; /** * Function that gets called on value change * @default () => {} */ onChangeValue?: (newValue: ItemData, index: number) => void; } export interface MinMaxValues { min?: number; max?: number; } export {};