export interface IPropsDatepicker {
   name?: any; // name do input (Se name for definido Unnform será ativado)
   nameAllDay?: string; // name do input all day (Se name for definido Unnform será ativado)
   title?: string; // titulo do campo
   applyOnSelect?: boolean; // só definir data quando pressionar botão aplicar
   value?: Date; // Se não for definido name, value deve ser definido para saber o valor do componente
   onValueChange?: (value: Date, formatted: string) => void; // callback ao mudar valor do componente
   allDay?: boolean; // Se não for definido name, allDay deve ser definido para saber o valor allDay
   onAllDayChange?: (value: boolean) => void; // callback ao mudar valor do allDay
   withTimePicker?: boolean; // habilita timepicker
   error?: string; // string de erro no component
   // open?: boolean;
   asPopup?: boolean; // usar datepicker como popup, remove input dele
   children?: any; // componente filho para ser usado junto com asPopup
   formattedString?: string; // data formatada que será retornada junto com formatted
   enableAllDay?: boolean; // habilita checkbox de dia todo
   disablePastDates?: boolean; // desabilitar datas passadas
   formatShowDate?: string; // Formatado do ano, mês e dia quando a data estiver selecioanda (default: "d MMM yyyy")
   formatTimeDate?: string; // Formatado do ano, mês e dia quando a data estiver selecioanda (default: "Ás HH:dd")
   TimerPickerPlusComponent?: JSX.Element;
   TimerPickerMinusComponent?: JSX.Element;
}

export interface IValueDatePicker {
   day: number;
   month: number;
   year: number;
   today: boolean;
   date: string;
   dateYYYYMMDD: string;
   allDay: boolean;
   hour: string;
   minutes: string;
}

export type IInputDatePicker = {
   dateYYYYMMDD?: string;
   dateYYYYMMDDhhiiss?: string;
   date: Date;
   day?: number;
   year?: number;
   month?: number;
   hour?: number;
   minutes?: number;
   isToday?: boolean;
   allDay?: boolean;
} | null;
