import { Models } from '../date/DataTypes';
import PropsType from './datepicker.props.component';
export interface StateType {
    months: Models.MonthData[];
}
export default class DatePicker {
    props: PropsType;
    state: any;
    visibleMonth: Models.MonthData[];
    genMonthComponent: (data: any) => {};
    constructor();
    init(): void;
    receiveProps(oldValue: PropsType, newValue: PropsType): void;
    getMonthDate(date?: Date, addMonth?: number): {
        firstDate: Date;
        lastDate: Date;
    };
    canLoadPrev(): boolean;
    canLoadNext(): boolean;
    getDateWithoutTime: (date?: Date) => number;
    genWeekData: (firstDate: Date) => Models.CellData[][];
    genMonthData(date?: Date, addMonth?: number): Models.MonthData;
    inDate(date: number, tick: number): boolean;
    selectDateRange: (startDate: Date, endDate?: Date, clear?: boolean) => void;
    computeVisible: (clientHeight: number, scrollTop: number) => boolean;
    createOnScroll: () => (data: {
        full: number;
        client: number;
        top: number;
    }) => void;
    baseOnCellClick: (day: Models.CellData) => void;
}
