export default class AgendaView extends React.Component<any, any, any> {
    static propTypes: {
        theme: PropTypes.Requireable<object>;
        style: any;
        items: PropTypes.Requireable<object>;
        loadItemsForMonth: PropTypes.Requireable<(...args: any[]) => any>;
        onCalendarToggled: PropTypes.Requireable<(...args: any[]) => any>;
        onDayPress: PropTypes.Requireable<(...args: any[]) => any>;
        onDaychange: PropTypes.Requireable<(...args: any[]) => any>;
        renderItem: PropTypes.Requireable<(...args: any[]) => any>;
        renderDay: PropTypes.Requireable<(...args: any[]) => any>;
        renderKnob: PropTypes.Requireable<(...args: any[]) => any>;
        renderEmptyDay: PropTypes.Requireable<(...args: any[]) => any>;
        renderEmptyData: PropTypes.Requireable<(...args: any[]) => any>;
        rowHasChanged: PropTypes.Requireable<(...args: any[]) => any>;
        pastScrollRange: PropTypes.Requireable<number>;
        futureScrollRange: PropTypes.Requireable<number>;
        selected: PropTypes.Requireable<any>;
        minDate: PropTypes.Requireable<any>;
        maxDate: PropTypes.Requireable<any>;
        markedDates: PropTypes.Requireable<object>;
        markingType: PropTypes.Requireable<string>;
        hideKnob: PropTypes.Requireable<boolean>;
        monthFormat: PropTypes.Requireable<string>;
    };
    constructor(props: any);
    styles: any;
    viewHeight: number;
    viewWidth: number;
    scrollTimeout: NodeJS.Timeout | undefined;
    headerState: string;
    state: {
        scrollY: Animated.Value;
        calendarIsReady: boolean;
        calendarScrollable: boolean;
        firstResevationLoad: boolean;
        selectedDay: any;
        topDay: any;
    };
    currentMonth: any;
    onLayout(event: any): void;
    onScrollPadLayout(): void;
    onTouchStart(): void;
    onTouchEnd(): void;
    onStartDrag(): void;
    onSnapAfterDrag(e: any): void;
    generateMarkings(): any;
    knobTracker: VelocityTracker;
    calendarOffset(): number;
    initialScrollPadPosition(): number;
    setScrollPadPosition(y: any, animated: any): void;
    onVisibleMonthsChange(months: any): void;
    loadReservations(props: any): void;
    componentWillMount(): void;
    _isMounted: boolean | undefined;
    componentDidMount(): void;
    componentWillUnmount(): void;
    componentWillReceiveProps(props: any): void;
    enableCalendarScrolling(): void;
    _chooseDayFromCalendar(d: any): void;
    chooseDay(d: any, optimisticScroll: any): void;
    renderReservations(): React.JSX.Element;
    list: ReservationsList | null | undefined;
    onDayChange(day: any): void;
    render(): React.JSX.Element;
    knob: View | null | undefined;
    calendar: CalendarList | null | undefined;
    scrollPad: import("react-native").ScrollView | Animated.LegacyRef<import("react-native").ScrollView> | null | undefined;
}
import React from 'react';
import { Animated } from 'react-native';
import { VelocityTracker } from '../input';
import ReservationsList from './reservation-list';
import { View } from 'react-native';
import CalendarList from '../calendar-list';
import PropTypes from 'prop-types';
