import { Dayjs } from 'dayjs'; import { ReactNode, MouseEvent } from 'react'; import { TypePickerContentType } from '../module-defs/ui-types'; import { Type_GetMonthText } from '../utils/date-utils'; import { InnerRangePicker } from '../inner-comps/inner-range-picker'; import { TypeInnerDatePicker } from '../inner-comps/create-inner-date-picker'; import { TypeMonthPanelDisplayProp, TypeMonthPanelValueProp } from './create-date-switcher'; export interface TypeInitOpts { onSelected?: (value: Dayjs) => void; onSelectedRange?: (start: Dayjs, end: Dayjs) => void; onZoomIn?: () => void; } export declare function createMonthPanel(comp: TypeInnerDatePicker | InnerRangePicker, { isForDateZooming, isRange, valueProp, isSelectingProp, firstSelectedDateProp, secondHoveringDateProp, startValueProp, endValueProp, isStartPanel, onMouseDown, displayProp, getTitle, getMonthText, syncRangePickersYearAside, }: { isForDateZooming?: boolean; isRange?: boolean; valueProp?: TypeMonthPanelValueProp; isSelectingProp?: 'isSelecting'; firstSelectedDateProp?: 'firstSelectedDate'; secondHoveringDateProp?: 'secondHoveringDate'; startValueProp?: 'startValue'; endValueProp?: 'endValue'; isStartPanel?: boolean; startDisplayProp?: 'startDisplayedDate'; endDisplayProp?: 'endDisplayedDate'; onMouseDown?: (e: MouseEvent) => void; displayProp?: TypeMonthPanelDisplayProp; getTitle: (date: Dayjs) => string; getMonthText: Type_GetMonthText; syncRangePickersYearAside?: () => void; }): { init(opts: TypeInitOpts): void; getRenderElem(): { titleElem: ReactNode; contentElem: ReactNode; asideElem: ReactNode; contentType: TypePickerContentType; }; renderPanel(): import("react/jsx-runtime").JSX.Element; } & { setYearRangeAnchor: (yearAnchor: number) => void; syncAsideScroll: () => void; }; export type TypeModuleMonthPanel = ReturnType;