import { BoxProps, DataAttributes, ElementProps, Factory, MantineRadius, PopoverProps, StylesApiProps } from '@mantine/core'; import { ScheduleLabelsOverride } from '../../../labels'; import { DateLabelFormat } from '../../../types'; export type MonthYearSelectStylesNames = 'monthYearSelectTarget' | 'monthYearSelectDropdown' | 'monthYearSelectControl' | 'monthYearSelectList' | 'monthYearSelectLabel'; export type MonthYearSelectCssVariables = { monthYearSelectDropdown: '--control-radius'; }; export interface MonthYearSelectProps extends BoxProps, StylesApiProps, ElementProps<'button'> { __staticSelector?: string; /** Locale passed down to dayjs, overrides value defined on `DatesProvider` */ locale?: string; /** Props passed down to the underlying Popover component */ popoverProps?: PopoverProps; /** Start year for year selection, calculated from the current date by default */ startYear?: number; /** End year for year selection, calculated from the current date by default */ endYear?: number; /** Current year value (e.g. `2025`) */ yearValue?: number; /** Current month value (0-11) */ monthValue?: number; /** Called with year value (e.g. `2025`) when year is selected in the dropdown */ onYearChange?: (year: number) => void; /** Called with month value (0-11) when month is selected in the dropdown */ onMonthChange?: (month: number) => void; /** Format for displaying months in the dropdown, dayjs format or custom formatter function @default 'MMM' */ monthsListFormat?: DateLabelFormat; /** Format for displaying month label in the control, dayjs format @default 'MMMM YYYY' */ labelFormat?: DateLabelFormat; /** Key of `theme.radius` or any valid CSS value to set `border-radius` @default theme.defaultRadius */ radius?: MantineRadius; /** Props passed down to year controls */ getYearControlProps?: (year: number) => React.ComponentProps<'button'> & DataAttributes; /** Props passed down to month controls */ getMonthControlProps?: (month: number) => React.ComponentProps<'button'> & DataAttributes; /** If set to false, months are not displayed in the dropdown @default true */ withMonths?: boolean; /** Labels override */ labels?: ScheduleLabelsOverride; } export type MonthYearSelectFactory = Factory<{ props: MonthYearSelectProps; ref: HTMLButtonElement; stylesNames: MonthYearSelectStylesNames; vars: MonthYearSelectCssVariables; }>; export declare const MonthYearSelect: import("@mantine/core").MantineComponent<{ props: MonthYearSelectProps; ref: HTMLButtonElement; stylesNames: MonthYearSelectStylesNames; vars: MonthYearSelectCssVariables; }>;