import { FC, ReactNode, Context, RefObject } from 'react'; import { HeaderRowConfig } from '../types/scheduler-types'; import { CellData, HeaderRowGroup } from '../types/internal-interface'; /** * Value exposed by the SchedulerHeaderRowsContext. * * @private */ export interface SchedulerHeaderRowsType { /** * Last-level header cells — the header-side equivalent of resource-grouping. * Work-cell formation iterates this track instead of raw `renderDates`. */ headerLastLevel: CellData[]; /** * Year/Month/Week grouping metadata for the active header rows, keyed by option. * share the same precomputed groups without re-invoking the hook logic. */ allHeaderGroups: { Year?: HeaderRowGroup[]; Month?: HeaderRowGroup[]; Week?: HeaderRowGroup[]; } | null; /** Holds actual header rows. */ actualHeaderRows: HeaderRowConfig[]; /** * Mutable ref the timeline view writes its measured content height to, so other * views (e.g. month) can read the timeline content height without re-measuring. */ schedulerContentHeight: RefObject; } /** @private */ declare const SchedulerHeaderRowsContext: Context; /** * SchedulerHeaderRowsProvider — publishes the timeline header last-row * `CellData[]` (finest track for work cells) plus Year/Month/Week groups. * * @param {ReactNode} props.children - Child components. * @returns {JSX.Element} React component that provides the header-track context. * * @private */ export declare const SchedulerHeaderRowsProvider: FC<{ children: ReactNode; }>; /** * Hook to safely access the scheduler header-track context. * * @returns {SchedulerHeaderRowsType | null} Context value or null when * used outside a provider. * * @private */ export declare function useSchedulerHeaderRowsContext(): SchedulerHeaderRowsType | null; export default SchedulerHeaderRowsContext;