import { BoxProps, ElementProps, Factory, MantineComponentStaticProperties, StylesApiProps } from '@mantine/core'; import { CalendarLevel, DatePickerType, DateStringValue, PickerBaseProps } from '../../types'; import { CalendarBaseProps } from '../Calendar'; import { DecadeLevelBaseSettings } from '../DecadeLevel'; import { DecadeLevelGroupStylesNames } from '../DecadeLevelGroup'; import { YearLevelBaseSettings } from '../YearLevel'; import { YearLevelGroupStylesNames } from '../YearLevelGroup'; export type MonthPickerStylesNames = DecadeLevelGroupStylesNames | YearLevelGroupStylesNames; type MonthPickerLevel = Exclude; export interface MonthPickerBaseProps extends PickerBaseProps, DecadeLevelBaseSettings, YearLevelBaseSettings, Omit { /** Max level that user can go up to @default `'decade'` */ maxLevel?: CalendarLevel; /** Initial displayed level (uncontrolled) */ defaultLevel?: CalendarLevel; /** Current displayed level (controlled) */ level?: CalendarLevel; /** Called when level changes */ onLevelChange?: (level: MonthPickerLevel) => void; } export interface MonthPickerProps extends BoxProps, MonthPickerBaseProps, StylesApiProps, ElementProps<'div', 'onChange' | 'value' | 'defaultValue'> { /** Called when month is selected */ onMonthSelect?: (date: DateStringValue) => void; } export type MonthPickerFactory = Factory<{ props: MonthPickerProps; ref: HTMLDivElement; stylesNames: MonthPickerStylesNames; }>; type MonthPickerComponent = ((props: MonthPickerProps & { ref?: React.ForwardedRef; }) => React.JSX.Element) & { displayName?: string; } & MantineComponentStaticProperties; export declare const MonthPicker: MonthPickerComponent; export {};