/** * @license * Copyright Akveo. All Rights Reserved. * Licensed under the MIT License. See License.txt in the project root for license information. */ import React from 'react'; import { ImageProps, StyleProp, TouchableOpacityProps, ViewProps, ViewStyle } from 'react-native'; import { EvaInputSize, EvaStatus, RenderProp } from '../../devsupport'; import { StyledComponentProps } from '../../theme'; import { BaseCalendarProps } from '../calendar/baseCalendar.component'; import { CalendarElement } from '../calendar/calendar.component'; import { RangeCalendarElement } from '../calendar/rangeCalendar.component'; import { PopoverPlacement } from '../popover/type'; import { TextProps } from '../text/text.component'; export interface BaseDatepickerProps extends StyledComponentProps, TouchableOpacityProps, Omit, 'hitSlop'> { controlStyle?: StyleProp; label?: RenderProp | React.ReactText; caption?: RenderProp | React.ReactText; accessoryLeft?: RenderProp>; accessoryRight?: RenderProp>; status?: EvaStatus; size?: EvaInputSize; placeholder?: RenderProp | React.ReactText; placement?: PopoverPlacement | string; backdropStyle?: StyleProp; onFocus?: () => void; onBlur?: () => void; } interface State { visible: boolean; } export declare abstract class BaseDatepickerComponent extends React.Component & P, State> { static defaultProps: Partial; state: State; protected calendarRef: React.RefObject; scrollToToday: () => void; scrollToDate: (date: Date) => void; focus: () => void; blur: () => void; isFocused: () => boolean; abstract clear(): void; protected abstract getComponentTitle(): RenderProp | React.ReactText; protected abstract renderCalendar(): CalendarElement | RangeCalendarElement; private getComponentStyle; private onPress; private onPressIn; private onPressOut; private onPickerVisible; private onPickerInvisible; private setPickerVisible; private setPickerInvisible; private renderInputElement; render(): React.ReactElement; } export {};