import * as moment from 'moment';
import { IState } from './Picker';
export declare const selectView: (view: string) => ({ startDate, endDate }: {
    startDate: moment.Moment | null;
    endDate: moment.Moment | null;
}) => {
    selectedView: string;
    visibleDate: moment.Moment;
} | null;
export declare const selectHour: (date: moment.Moment) => (state: IState) => {
    startDate: moment.Moment;
    visibleDate: moment.Moment;
    endDate: moment.Moment | null;
    hoveredDate: moment.Moment | null;
    open: boolean;
    selectedView: string;
} | {
    endDate: moment.Moment;
    visibleDate: moment.Moment;
    startDate: moment.Moment | null;
    hoveredDate: moment.Moment | null;
    open: boolean;
    selectedView: string;
} | null;
export declare const selectMinute: (date: moment.Moment) => (state: IState) => {
    startDate: moment.Moment;
    visibleDate: moment.Moment;
    endDate: moment.Moment | null;
    hoveredDate: moment.Moment | null;
    open: boolean;
    selectedView: string;
} | {
    endDate: moment.Moment;
    visibleDate: moment.Moment;
    startDate: moment.Moment | null;
    hoveredDate: moment.Moment | null;
    open: boolean;
    selectedView: string;
} | null;
export declare const selectYear: (date: moment.Moment) => (state: IState) => {
    startDate: moment.Moment;
    visibleDate: moment.Moment;
    endDate: moment.Moment | null;
    hoveredDate: moment.Moment | null;
    open: boolean;
    selectedView: string;
} | {
    endDate: moment.Moment;
    visibleDate: moment.Moment;
    startDate: moment.Moment | null;
    hoveredDate: moment.Moment | null;
    open: boolean;
    selectedView: string;
} | null;
export declare const selectDate: (date: moment.Moment) => ({ selectedView, startDate, endDate }: Pick<IState, "startDate" | "endDate" | "selectedView">) => {
    startDate: moment.Moment;
    endDate: moment.Moment | null;
    visibleDate: moment.Moment;
    selectedView: string;
} | {
    startDate: moment.Moment | null;
    endDate: moment.Moment;
    visibleDate: moment.Moment;
    selectedView: string;
} | null;
export declare const hoverDate: (date: moment.Moment) => () => {
    hoveredDate: moment.Moment;
};
export declare const sortHoverDatesAndView: ({ hoveredDate, startDate, endDate, selectedView }: Pick<IState, "startDate" | "endDate" | "selectedView" | "hoveredDate">) => {
    selectedView: string;
    startDate: null;
    endDate: moment.Moment;
} | {
    selectedView: string;
    startDate: moment.Moment;
    endDate: null;
} | null;
export declare const sortDates: ({ startDate, endDate }: Pick<IState, "startDate" | "endDate">) => {
    startDate: moment.Moment;
    endDate: moment.Moment;
} | null;
export declare const incrementVisibleMonth: ({ visibleDate }: IState) => {
    visibleDate: moment.Moment;
};
export declare const decrementVisibleMonth: ({ visibleDate }: IState) => {
    visibleDate: moment.Moment;
};
