import { ComponentOptionsMixin, DefineComponent } from 'vue';
import { Picker as CorePicker } from '../../../core/components/picker/picker';

declare const DatePicker: DefineComponent<
  {
    actionText?: string;
    title?: string;
    locale?: string;
    dateFormat?: string;
    dateTimePicker?: boolean;
    datePicker?: boolean;
    startYear?: number;
    endYear?: number;
    minStep?: number;
    listInput?: boolean;
    is24Hours?: boolean;
    label?: string;
    name?: string;
    value?: Date;
    defaultValue?: Date;
    inputmode?: string;
    placeholder?: string;
    inputId?: string | number;
    autofocus?: boolean;
    autosave?: string;
    disabled?: boolean;
    readonly?: boolean;
    required?: boolean;
    pattern?: string;
    validate?: boolean | string;
    validateOnBlur?: boolean;
    onValidate?: Function;
    clearButton?: boolean;
    noFormStoreData?: boolean;
    noStoreData?: boolean;
    ignoreStoreData?: boolean;
    errorMessage?: string;
    errorMessageForce?: boolean;
    info?: string;
    wrap?: boolean;
    inputStyle?: Partial<CSSStyleDeclaration>;
  },
  () => JSX.Element,
  unknown,
  {},
  {},
  ComponentOptionsMixin,
  ComponentOptionsMixin,
  (
    | 'input:notempty'
    | 'input:empty'
    | 'input:clear'
    | 'focus'
    | 'blur'
    | 'change'
    | 'open'
    | 'close'
    | 'action'
  )[],
  | 'input:notempty'
  | 'input:empty'
  | 'input:clear'
  | 'focus'
  | 'blur'
  | 'change'
  | 'open'
  | 'close'
  | 'action'
>;

export default DatePicker;
