import React from 'react';
import PropTypes from 'prop-types';
import { EventObject } from '@douyinfe/semi-foundation/lib/cjs/calendar/foundation';
import BaseComponent from '../_base/baseComponent';
import { CalendarProps } from './interface';
import '@douyinfe/semi-foundation/lib/cjs/calendar/calendar.css';
export * from './interface';
declare class Calendar extends BaseComponent<CalendarProps, {}> {
    static propTypes: {
        displayValue: PropTypes.Requireable<Date>;
        header: PropTypes.Requireable<PropTypes.ReactNodeLike>;
        events: PropTypes.Requireable<PropTypes.InferProps<{
            allDay: PropTypes.Requireable<boolean>;
            start: PropTypes.Requireable<Date>;
            end: PropTypes.Requireable<Date>;
            key: PropTypes.Validator<string>;
            children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
        }>[]>;
        mode: PropTypes.Requireable<string>;
        showCurrTime: PropTypes.Requireable<boolean>;
        weekStartsOn: PropTypes.Requireable<number>;
        scrollTop: PropTypes.Requireable<number>;
        onClick: PropTypes.Requireable<(...args: any[]) => any>;
        renderTimeDisplay: PropTypes.Requireable<(...args: any[]) => any>;
        renderDateDisplay: PropTypes.Requireable<(...args: any[]) => any>;
        markWeekend: PropTypes.Requireable<boolean>;
        minEventHeight: PropTypes.Requireable<number>;
        width: PropTypes.Requireable<NonNullable<string | number>>;
        height: PropTypes.Requireable<NonNullable<string | number>>;
        style: PropTypes.Requireable<object>;
        className: PropTypes.Requireable<string>;
    };
    static defaultProps: {
        events: EventObject[];
        displayValue: Date;
        showCurrTime: boolean;
        mode: string;
        markWeekend: boolean;
        height: number;
        scrollTop: number;
        weekStartsOn: number;
    };
    render(): React.FunctionComponentElement<any>;
}
export type { EventObject };
export default Calendar;
