/// <reference types="lodash" />
import { CSSProperties, ReactNode } from 'react';
import { Moment } from 'moment';
import { TimeUnit } from './enum';
import DaysView, { DateViewProps } from './DaysView';
import { FieldType } from '../data-set/enum';
export interface TimesViewProps extends DateViewProps {
    /**
     * 是否是dateTime是使用，内部使用
     */
    datetimeSide?: boolean;
}
export default class TimesView<T extends TimesViewProps> extends DaysView<T> {
    static displayName: string;
    static defaultProps: {
        suffixCls: string;
        extraFooterPlacement: string;
        datetimeSide: boolean;
    };
    static type: FieldType;
    currentUnit?: TimeUnit;
    panel: HTMLDivElement | null;
    getViewClassName(): string;
    get showHour(): boolean;
    get showMinute(): boolean;
    get showSecond(): boolean;
    get use12Hours(): boolean;
    get timeUnitQueue(): TimeUnit[];
    get barStyle(): CSSProperties;
    get activeStyle(): CSSProperties;
    throttleHandleWheel: ((e: any) => void) & import("lodash").Cancelable;
    savePanel(node: any): void;
    getObservableProps(props: any, context: any): any;
    componentDidMount(): void;
    componentWillUnmount(): void;
    handleDateTimeSelect(): void;
    handleKeyDownHome(e: any): void;
    handleKeyDownEnd(e: any): void;
    handleKeyDownLeft(e: any): void;
    handleKeyDownRight(e: any): void;
    handleKeyDownUp(e: any): void;
    handleKeyDownDown(e: any): void;
    handleKeyDownPageUp(e: any): void;
    handleKeyDownPageDown(e: any): void;
    handleTimeCellClick(date: Moment, unit: TimeUnit): void;
    handleWheel(e: any): void;
    handleMouseEnterPanel(): void;
    handleMouseLeavePanel(): void;
    renderHeader(): ReactNode;
    renderFooter(): ReactNode;
    renderPanel(): JSX.Element;
    renderPanelBody(): ReactNode;
    renderCell(props: object): ReactNode;
    getTimeBar(unit: TimeUnit): ReactNode;
    getPanelClass(): string;
    getCurrentUnit(): TimeUnit;
    getPrevUnit(): TimeUnit;
    getNextUnit(): TimeUnit;
    changeUnit(unit?: TimeUnit): void;
    choose(date: Moment, expand?: boolean): void;
}
