///
import dayjs from 'dayjs';
import { CalendarProps, DateObject } from 'react-multi-date-picker';
export type RangeDomainUnit = 'd' | 'w' | 'm' | 'y';
export type RangeDomain = `${number}${RangeDomainUnit}`;
export declare namespace ICalendar {
type Props = CalendarProps & {
range?: boolean;
numberOfMonths?: number;
calenderRef?: any;
labels?: string;
showSidebar?: boolean;
showTime?: boolean;
disableTime?: boolean;
time?: {
from: {
hour: string;
minute: string;
clockType: ClockType;
};
to: {
hour: string;
minute: string;
clockType: ClockType;
};
};
onHourChange?: (key: string, value: string) => void;
onMinuteChange?: (key: string, value: string) => void;
onClockTypeChange?: (key: string, value: string) => void;
sidebarOptions?: Omit[];
projectDuration?: ProjectDuration;
disableFutureDatesOnCustomRange?: boolean;
selectedSidebarOption?: string;
rangeDomain?: RangeDomain;
onSidebarOptionSelect?: (value: string) => void;
onChange?: (date: DateObject | DateObject[], selectedOption?: string) => void;
onChangeDateTime?: (date: dayjs.Dayjs | dayjs.Dayjs[], selectedOption?: string) => void;
};
type ClockType = 'am' | 'pm';
type CalendarTimeBarProps = {
times: string[];
onTimeChange: (index: number, value: string) => void;
};
enum DatpickerNavigationDirectionEnum {
right = "right",
left = "left"
}
type ProjectDuration = {
startDate: string;
endDate: string;
};
type InputChangeEvent = React.ChangeEvent;
type DatpickerNavigationDirection = keyof typeof DatpickerNavigationDirectionEnum;
type SidebarOptionProps = {
title: string;
selected?: boolean;
value?: (() => DateObject[]) | (() => dayjs.Dayjs[]) | string;
onClick?: () => void;
};
type Time = {
key: string;
label: string;
timeHour: string;
timeMinute: string;
clockType: string;
};
}
export type CalendarTimeBarProps = {
label?: string;
timeHour?: string;
timeMinute?: string;
clockType?: ICalendar.ClockType | string;
disabled?: boolean;
onHourChange: (key: string, value: string) => void;
onMinuteChange: (key: string, value: string) => void;
onClockTypeChange: (key: string, value: string) => void;
};