import { StylesApiProps } from '@mantine/core'; import { ScheduleLabelsOverride } from '../../labels'; import { DateStringValue, ScheduleViewLevel } from '../../types'; import { MonthYearSelectProps } from './MonthYearSelect/MonthYearSelect'; import { ViewSelectProps } from './ViewSelect/ViewSelect'; interface NavigationHandlers { /** Handler for previous button click, returns new date */ previous: () => DateStringValue; /** Handler for next button click, returns new date */ next: () => DateStringValue; /** Handler for today button click, returns new date */ today: () => DateStringValue; } interface HeaderControlOptions { /** Title to render in a simple control (used by DayView, WeekView) */ title?: React.ReactNode; /** MonthYearSelect props (used by MonthView, YearView) */ monthYearSelect?: { yearValue: number; monthValue: number; onYearChange?: (year: number) => void; onMonthChange?: (month: number) => void; withMonths?: boolean; } & Partial; /** Minimum width for control */ miw?: React.CSSProperties['minWidth']; } export interface ScheduleHeaderBaseProps { /** Current view level */ view: ScheduleViewLevel; /** Navigation handlers for previous, next, and today */ navigationHandlers: NavigationHandlers; /** Central control configuration (either title or monthYearSelect) */ control: HeaderControlOptions; /** Label overrides */ labels?: ScheduleLabelsOverride; /** Called when date is changed */ onDateChange?: (date: DateStringValue) => void; /** Called when view is changed */ onViewChange?: (view: ScheduleViewLevel) => void; /** Props passed to previous control button */ previousControlProps?: React.ComponentProps<'button'>; /** Props passed to next control button */ nextControlProps?: React.ComponentProps<'button'>; /** Props passed to today control button */ todayControlProps?: React.ComponentProps<'button'>; /** Props passed to view select */ viewSelectProps?: Partial; /** Styles API props to pass through */ stylesApiProps?: StylesApiProps; /** Called when agenda button is clicked */ onAgendaClick?: () => void; /** Whether the agenda view is currently active */ agendaActive?: boolean; } export declare function ScheduleHeaderBase({ view, navigationHandlers, control, labels, onDateChange, onViewChange, previousControlProps, nextControlProps, todayControlProps, viewSelectProps, stylesApiProps, onAgendaClick, agendaActive, }: ScheduleHeaderBaseProps): import("react/jsx-runtime").JSX.Element; export {};