import { CSSProperties, ReactNode } from 'react';
import { SelectUnits } from '../utility/calendar';
import { defaultHeaderFormats } from '../default-config';
import { IntervalRenderer, SidebarHeaderChildrenFnProps, TimelineTimeSteps } from '../types/main';
import { Dayjs, UnitType } from 'dayjs';
export interface DateHeaderProps<Data> {
    style?: CSSProperties;
    className?: string;
    unit?: keyof TimelineTimeSteps | 'primaryHeader';
    timelineUnit: SelectUnits;
    labelFormat?: string | ((interval: [Dayjs, Dayjs], unit: UnitType | 'primaryHeader', labelWidth: number) => string);
    intervalRenderer?: (props: IntervalRenderer<Data>) => ReactNode;
    headerData?: Data;
    children?: (props: SidebarHeaderChildrenFnProps<Data>) => ReactNode;
    height?: number;
}
export type DateHeaderWrapper<Data> = {
    unit?: keyof TimelineTimeSteps | 'primaryHeader';
    labelFormat?: typeof formatLabel;
    style?: CSSProperties;
    className?: string;
    intervalRenderer?: (props: IntervalRenderer<Data>) => ReactNode;
    headerData?: Data;
    height?: number;
};
export declare function DateHeader<Data>({ labelFormat, unit, style, className, intervalRenderer, headerData, height, }: DateHeaderWrapper<Data>): import("react/jsx-runtime").JSX.Element;
export declare namespace DateHeader {
    var displayName: string;
}
declare function formatLabel([timeStart]: [Dayjs, Dayjs], unit: keyof typeof defaultHeaderFormats, labelWidth: number, formatOptions?: Record<string, {
    long: string;
    mediumLong: string;
    medium: string;
    short: string;
}>): string;
export default DateHeader;
//# sourceMappingURL=DateHeader.d.ts.map