import { ExtractPropTypes, Component, ComputedRef } from 'vue'; import { pickerProps } from '@/picker/src/type'; import { ISharedRenderlessParamUtils } from './shared.type.js'; type IPickerProps = ExtractPropTypes; interface IPickerApi { initGlobalTimezone: () => void; setInputPaddingLeft: () => void; handleClickIcon: (event: MouseEvent) => void; destroyPopper: () => void; getValueEmpty: () => boolean; computedTriggerClass: () => string; getMode: () => string; computedHaveTrigger: () => boolean; displayValue: () => string; parsedValue: () => string | string[]; firstInputId: () => { id: string; }; secondInputId: () => { id: string; }; getType: () => string; getTimezone: () => { from: number; to: number; isServiceTimezone: boolean; }; getValueFormat: () => string; computedFormat: () => string; getPanel: (type: string) => Component; watchPickerVisible: (value: boolean) => void; watchIsRange: (value: boolean) => void; watchModelValue: (value: Date | Date[], oldValue: Date | Date[]) => boolean; updateOptions: () => void; } interface IPickerState { picker: HTMLElement | null; panel: HTMLElement; historyValue: string[]; historyInput: string[]; historyUserInput: string[]; historyUserValue: string[]; startStatus: boolean; endStatus: boolean; date: null; pickerVisible: boolean; showClose: boolean; userInput: null; valueOnOpen: null; popperElm: HTMLElement | null; unwatchPickerOptions: null; ranged: ComputedRef; reference: ComputedRef; formDisabled: ComputedRef; refInput: ComputedRef; valueIsEmpty: ComputedRef; triggerClass: ComputedRef; selectionMode: ComputedRef; haveTrigger: ComputedRef; displayValue: ComputedRef; parsedValue: ComputedRef; pickerSize: ComputedRef; pickerDisabled: ComputedRef; firstInputId: ComputedRef<{ id: string; }>; secondInputId: ComputedRef<{ id: string; }>; type: ComputedRef; timezone: ComputedRef<{ from: number; to: number; isServiceTimezone: boolean; }>; valueFormat: ComputedRef; format: ComputedRef; labelTooltip: string; displayOnlyTooltip: string; isDisplayOnly: ComputedRef; } type IPickerRenderlessParamUtils = ISharedRenderlessParamUtils; interface IPickRenderlessParamExtendOptions { TimePanel: Component; TimeRangePanel: Component; } export { IPickRenderlessParamExtendOptions, IPickerApi, IPickerProps, IPickerRenderlessParamUtils, IPickerState };