import React from 'react';
import { ActionButtonsConfig, AlignSpec, Base, BryntumScrollOptions, ButtonConfig, CalendarRow, CalendarRowConfig, CalendarView, Container, ContainerItemConfig, ContainerLayoutConfig, DateRangeOwner, DayCell, DayCellWithEvents, DayView, DayViewListeners, DomConfig, DurationConfig, EventBar, EventModel, FluidDayLayoutConfig, KeyMapConfig, MaskConfig, MenuItemConfig, MenuItemEntry, Model, OverflowPopupConfig, PagingToolbarConfig, Panel, PanelCollapserConfig, PanelCollapserOverlayConfig, PanelHeader, Rectangle, ResourceModel, Scroller, ScrollerConfig, StateProvider, TabConfig, Tool, ToolConfig, ToolbarConfig, ToolbarItems, TooltipConfig, Widget } from '@bryntum/calendar';
import { processWidgetContent } from './WrapperHelper.js';
export declare type BryntumDayViewProps = {
    actionButtons?: ActionButtonsConfig[] | Record<string, ActionButtonsConfig>;
    activationKey?: string;
    adopt?: HTMLElement | string;
    align?: AlignSpec | string;
    alignSelf?: string;
    allDayEvents?: CalendarRow | CalendarRowConfig | null;
    allowDragCreate?: boolean;
    allowDragMove?: boolean;
    allowDragResize?: boolean;
    allowZoomUnderflow?: boolean;
    anchor?: boolean;
    animateTimeShift?: boolean;
    appendTo?: HTMLElement | string;
    ariaDescription?: string;
    ariaLabel?: string;
    autoCreate?: {
        gesture?: string;
        newName?: Function | string;
        step?: string;
        snapType?: 'round' | 'ceil' | 'floor';
        duration?: string;
        startHour?: number;
    } | string | boolean;
    bbar?: (ContainerItemConfig | string)[] | ToolbarConfig | PagingToolbarConfig | null;
    bodyCls?: string | object;
    bubbleEvents?: object;
    callOnFunctions?: boolean;
    catchEventHandlerExceptions?: boolean;
    centered?: boolean;
    cls?: string | object;
    collapsed?: boolean;
    collapsible?: boolean | PanelCollapserConfig | PanelCollapserOverlayConfig;
    color?: string;
    column?: number;
    columnHeaderRenderer?: ((cellData: DayCellWithEvents) => string | object) | string;
    compactHeader?: boolean;
    config?: object;
    constrainTo?: HTMLElement | Widget | Rectangle;
    contentElementCls?: string | object;
    coreHours?: object | ((date: Date) => object[]) | string;
    currentTimeIndicatorRenderer?: (() => DomConfig) | string;
    dashedSubticks?: boolean;
    dataField?: string;
    dataset?: Record<string, string>;
    date?: Date;
    dateFilter?: ((context: DayCell) => boolean) | string;
    dateFormat?: string | ((date: Date) => string);
    dateSeparator?: string;
    dayCellRenderer?: ((domConfig: {
        className: object;
        style: object;
        dataset: object;
    }, children: DomConfig[], cellData: DayCell) => string) | string;
    dayEndTime?: string | number;
    dayHeaderRenderer?: ((headerDomConfig: {
        className: object;
        style: object;
        dataset: object;
        children: DomConfig[];
    }, cellData: DayCell) => string) | string;
    dayNameFormat?: string | ((date: Date) => string);
    dayStartShift?: string | number;
    dayStartTime?: string | number;
    defaultBindProperty?: string;
    defaultFocus?: ((widget: Widget) => boolean) | string;
    defaults?: ContainerItemConfig;
    defaultScrollOptions?: BryntumScrollOptions;
    descriptionFormat?: string | string[] | boolean[] | ((date: Date) => string) | Function[];
    descriptionRenderer?: (view: Widget) => string;
    detectCSSCompatibilityIssues?: boolean;
    disabled?: boolean | 'inert';
    dock?: 'top' | 'bottom' | 'left' | 'right' | 'start' | 'end' | 'header' | 'pre-header' | object;
    draggable?: boolean | {
        handleSelector?: string;
    };
    dragUnit?: string;
    drawer?: boolean | {
        side?: 'start' | 'left' | 'end' | 'right' | 'top' | 'bottom';
        size?: string | number;
        inline?: boolean;
        autoClose: {
            mousedown?: boolean | string;
            focusout?: boolean | string;
            mouseout?: string;
        };
        autoCloseDelay?: number;
    };
    elementAttributes?: Record<string, string | null>;
    endDate?: Date;
    eventFilter?: ((event: EventModel) => boolean) | string;
    eventHeaderRenderer?: ((detail: {
        view: CalendarView;
        eventRecord: EventModel;
        resourceRecord: ResourceModel;
        renderData: {
            style: object;
            cls: object;
            iconStyle: object;
            iconCls: object;
            eventColor: string;
            dataset: object;
            solidBar: boolean;
            bodyColor: string;
        };
        showBullet: boolean;
    }) => DomConfig | DomConfig[] | string | void) | string;
    eventLayout?: FluidDayLayoutConfig;
    eventRenderer?: ((detail: {
        view: CalendarView;
        eventRecord: EventModel;
        resourceRecord: ResourceModel;
        renderData: {
            style: object;
            cls: object;
            iconStyle: object;
            iconCls: object;
            eventColor: string;
            eventBackground: string;
            textColor: string;
            eventInnerStyle: object;
            dataset: object;
            solidBar: boolean;
            bodyColor: string;
            showBullet: boolean;
        };
    }) => DomConfig | DomConfig[] | string | void) | string;
    eventSorter?: (lhs: EventModel | EventBar, rhs: EventModel | EventBar) => number;
    eventSpacing?: number;
    extendAllDayEndDay?: boolean;
    extraData?: any;
    filterEventResources?: boolean;
    fitHours?: boolean | {
        minHeight?: number;
    };
    fixedDuration?: boolean;
    flex?: number | string;
    floating?: boolean;
    footer?: {
        dock?: 'top' | 'right' | 'bottom' | 'left' | 'start' | 'end';
        html?: string;
        cls?: string;
    } | string;
    getPrimaryResource?: ((eventRecord: EventModel) => ResourceModel) | string;
    header?: string | boolean | PanelHeader;
    height?: string | number;
    hidden?: boolean;
    hideAnimation?: boolean | object;
    hideEmptyDays?: boolean;
    hideNonWorkingDays?: boolean;
    hideWhenEmpty?: boolean;
    hourHeight?: number;
    hourHeightBreakpoints?: number[];
    icon?: string | DomConfig;
    id?: string;
    ignoreParentReadOnly?: boolean;
    increment?: string | number;
    inputFieldAlign?: 'start' | 'end';
    insertBefore?: HTMLElement | string;
    insertFirst?: HTMLElement | string;
    interDayDrag?: boolean;
    interDayResize?: boolean;
    itemCls?: string;
    items?: Record<string, ContainerItemConfig | MenuItemEntry> | (ContainerItemConfig | MenuItemEntry | Widget)[];
    keyMap?: Record<string, KeyMapConfig>;
    labelPosition?: 'before' | 'above' | 'align-before' | 'auto' | null;
    layout?: string | ContainerLayoutConfig;
    layoutStyle?: object;
    lazyItems?: Record<string, ContainerItemConfig> | ContainerItemConfig[] | Widget[];
    listeners?: DayViewListeners;
    localeClass?: typeof Base;
    localizable?: boolean;
    localizableProperties?: string[];
    margin?: number | string;
    maskDefaults?: MaskConfig;
    masked?: boolean | string | MaskConfig;
    maxAllDayHeight?: number | string;
    maxDate?: Date | string;
    maxHeight?: string | number;
    maximizeOnMobile?: number | string;
    maxWidth?: string | number;
    minDate?: Date | string;
    minDayWidth?: number | string;
    minEventHeight?: number | string;
    minHeight?: string | number;
    minHourHeight?: number;
    minWidth?: string | number;
    monitorResize?: boolean | {
        immediate?: boolean;
    };
    namedItems?: Record<string, ContainerItemConfig>;
    noMatchingDates?: string | DomConfig;
    nonWorkingDays?: Record<number, boolean>;
    overflowPopup?: OverflowPopupConfig;
    owner?: Widget | any;
    pastEventCls?: string;
    positioned?: boolean;
    preventTooltipOnTouch?: boolean;
    range?: string | DurationConfig;
    readOnly?: boolean;
    relayStoreEvents?: boolean;
    rendition?: string | Record<string, string> | null;
    resourceImagePath?: string;
    responsive?: object;
    responsiveRoot?: boolean;
    responsiveState?: string;
    responsiveTarget?: string | Widget;
    ripple?: boolean | {
        delegate?: string;
        color?: string;
        radius?: number;
        clip?: string;
    };
    rootElement?: ShadowRoot | HTMLElement;
    rtl?: boolean;
    scrollable?: boolean | ScrollerConfig | Scroller;
    scrollAction?: 'hide' | 'realign' | null;
    selectorButton?: ButtonConfig;
    selectorMenuItem?: MenuItemConfig;
    shiftIncrement?: string | DurationConfig;
    shortDateFormat?: string | ((date: Date) => string);
    shortDateTimeFormat?: string | ((date: Date) => string);
    shortEventCls?: string;
    shortEventDuration?: string | number;
    showAllDayHeader?: boolean;
    showAnimation?: boolean | object;
    showBullet?: boolean | {
        bar?: boolean;
        noBar?: boolean;
    };
    showCurrentTime?: boolean | {
        fullWidth?: boolean;
        showTime?: boolean;
        onTop?: boolean;
    };
    showResourceAvatars?: boolean | string;
    showTime?: boolean | Record<('startTime' | 'endTime' | 'duration'), boolean | string | Function>;
    showTooltipWhenDisabled?: boolean;
    sixMinuteTicks?: boolean;
    snapRelativeToEventStartDate?: boolean;
    span?: number;
    stackMultiDayEvents?: boolean;
    startDate?: Date;
    stateful?: boolean | object | string[];
    statefulEvents?: object | string[];
    stateId?: string;
    stateProvider?: StateProvider;
    strictRecordMapping?: boolean;
    strips?: Record<string, ContainerItemConfig>;
    syncCalendarDate?: boolean;
    syncViewDate?: boolean;
    tab?: boolean | TabConfig;
    tabBarItems?: ToolbarItems[] | Widget[];
    tag?: string;
    tbar?: (ContainerItemConfig | string)[] | ToolbarConfig | PagingToolbarConfig | null;
    textAlign?: 'left' | 'center' | 'right' | 'start' | 'end';
    tickRenderer?: ((tickContext: {
        startTime: Date;
        endTime: Date;
        events: EventModel[];
        tickIndex: number;
        subtickIndex: number;
        subtickCount: number;
        resourceRecord: ResourceModel;
    }) => DomConfig) | string;
    timeAxisTimeFormat?: string | ((date: Date) => string);
    timeFormat?: string | ((date: Date) => string);
    timeSnapType?: 'round' | 'ceil' | 'floor' | null;
    title?: string;
    tools?: Record<string, ToolConfig> | null;
    tooltip?: string | TooltipConfig | null;
    trapFocus?: boolean;
    type?: 'dayview' | 'day';
    ui?: 'plain' | 'toolbar' | string | object;
    visibleStartTime?: string | number | {
        time?: string | number;
        block?: 'start' | 'end' | 'center' | 'nearest';
        edgeOffset?: number;
        animate?: object | boolean | number;
        duration?: number;
        easing?: string;
    } | null;
    weekStartDay?: number;
    weight?: number;
    width?: string | number;
    x?: number;
    y?: number;
    zoomOnMouseWheel?: boolean | number;
    onBeforeAutoCreate?: ((event: {
        domEvent: Event;
        date: Date;
        startDate: Date;
        endDate: Date;
        resourceRecord: ResourceModel;
        view: CalendarView;
    }) => Promise<boolean> | boolean | void) | string;
    onBeforeChangeDate?: ((event: {
        oldDate: Date;
        date: Date;
    }) => Promise<boolean> | boolean | void) | string;
    onBeforeDestroy?: ((event: {
        source: Base;
    }) => void) | string;
    onBeforeHide?: ((event: {
        source: Widget;
    }) => Promise<boolean> | boolean | void) | string;
    onBeforeResponsiveStateChange?: ((event: {
        source: Widget;
        state: string;
        oldState: string;
    }) => void) | string;
    onBeforeSetRecord?: ((event: {
        source: Container;
        record: Model;
    }) => void) | string;
    onBeforeShow?: ((event: {
        source: Widget | any;
    }) => Promise<boolean> | boolean | void) | string;
    onBeforeStateApply?: ((event: {
        state: any;
    }) => Promise<boolean> | boolean | void) | string;
    onBeforeStateSave?: ((event: {
        state: any;
    }) => Promise<boolean> | boolean | void) | string;
    onCatchAll?: ((event: {
        [key: string]: any;
        type: string;
    }) => void) | string;
    onCellMapPopulated?: ((event: {
        cellMap: Map<any, any>;
    }) => void) | string;
    onCollapse?: ((event: {
        source: Panel;
    }) => void) | string;
    onDayCellPopulated?: ((event: {
        events: EventModel[];
        The: Date;
    }) => void) | string;
    onDestroy?: ((event: {
        source: Base;
    }) => void) | string;
    onDirtyStateChange?: ((event: {
        source: Container;
        dirty: boolean;
    }) => void) | string;
    onElementCreated?: ((event: {
        element: HTMLElement;
    }) => void) | string;
    onEventAutoCreated?: ((event: {
        source: CalendarView;
        eventRecord: EventModel;
    }) => void) | string;
    onEventPropagate?: ((event: {
        eventEndDate: Date;
        propagateEndDate: Date;
        isAllDay: boolean;
        isOverflow: boolean;
        overflows: boolean;
        eventRecord: EventModel;
        date: Date;
    }) => void) | string;
    onExpand?: ((event: {
        source: Panel;
    }) => void) | string;
    onFocusIn?: ((event: {
        source: Widget;
        fromElement: HTMLElement;
        toElement: HTMLElement;
        fromWidget: Widget;
        toWidget: Widget;
        backwards: boolean;
    }) => void) | string;
    onFocusOut?: ((event: {
        source: Widget;
        fromElement: HTMLElement;
        toElement: HTMLElement;
        fromWidget: Widget;
        toWidget: Widget;
        backwards: boolean;
    }) => void) | string;
    onHide?: ((event: {
        source: Widget;
    }) => void) | string;
    onLayoutUpdate?: ((event: {
        source: DayView;
    }) => void) | string;
    onPaint?: ((event: {
        source: Widget;
        firstPaint: boolean;
    }) => void) | string;
    onRangeChange?: ((event: {
        source: typeof DateRangeOwner;
        old: {
            startDate: Date;
            endDate: Date;
        };
        new: {
            startDate: Date;
            endDate: Date;
        };
    }) => void) | string;
    onReadOnly?: ((event: {
        readOnly: boolean;
    }) => void) | string;
    onRecompose?: (() => void) | string;
    onRefresh?: ((event: {
        source: DayView;
    }) => void) | string;
    onResize?: ((event: {
        source: Widget;
        width: number;
        height: number;
        oldWidth: number;
        oldHeight: number;
    }) => void) | string;
    onResponsiveStateChange?: ((event: {
        source: Widget;
        state: string;
        oldState: string;
    }) => void) | string;
    onShiftIncrementChange?: ((event: {
        old?: object;
        new: object;
    }) => void) | string;
    onShow?: ((event: {
        source: Widget;
    }) => void) | string;
    onTickChange?: ((event: {
        old: {
            level: number;
            step: string;
        };
        new: {
            level: number;
            step: string;
        };
    }) => void) | string;
    onTimeAxisClick?: ((event: {
        domEvent: Event;
        preciseTime: Date;
        time: Date;
    }) => void) | string;
    onToolClick?: ((event: {
        source: Tool;
        tool: Tool;
    }) => void) | string;
};
export declare class BryntumDayView extends React.Component<BryntumDayViewProps> {
    static instanceClass: typeof DayView;
    static instanceName: string;
    processWidgetContent: typeof processWidgetContent;
    static configNames: string[];
    static propertyConfigNames: string[];
    static propertyNames: string[];
    instance: DayView;
    element: HTMLElement;
    componentDidMount(): void;
    componentWillUnmount(): void;
    shouldComponentUpdate(nextProps: Readonly<BryntumDayViewProps>, nextState: Readonly<{}>): boolean;
    render(): React.ReactNode;
}
