import * as React from 'react'; import { BaseInputProps, BaseInputPropTypes, OptionalBaseInputProps } from './BaseInputProps'; import { InputType } from '../types/InputType'; import { BaseInputState } from './BaseInputState'; import { ButtonType } from '../types/ButtonType'; import { ClickType } from '../types/ClickType'; export default abstract class BaseInput extends React.Component { static propTypes: BaseInputPropTypes; static defaultProps: OptionalBaseInputProps; state: BaseInputState; abstract getTimeoutIDMap(): { [key: string]: number; }; abstract getClickStepCount(inputType: InputType, clickType: ClickType): number; onButtonClick: (buttonType: ButtonType, inputType: InputType, hasDoubleClicksEnabled?: boolean) => void; handleDoubleClick: (buttonType: ButtonType, inputType: InputType, currentValue: number) => void; hasDoubleClicksEnabled: (inputType: InputType) => boolean; handleDelayedSingleClick: (buttonType: ButtonType, inputType: InputType, currentValue: number) => void; handleSingleClick: (buttonType: ButtonType, inputType: InputType, currentValue: number) => void; setNewValue: (buttonType: ButtonType, inputType: InputType, currentValue: number, stepCount: number) => void; setTimeoutID: (timeoutID: number, timeoutIDName: string) => void; changeValue: (newInputValueStr: string, inputType: InputType) => void; onInputFocus: (focusedInputType: InputType) => void; resetValue: (inputType: InputType) => void; resetToValue: (resetValue: number, inputType: InputType) => void; onKeyDown: (event: React.KeyboardEvent, inputType: InputType) => void; getInputComponent: (inputType: InputType, additionalStyleMap?: object) => React.ReactElement React.ReactElement React.Component)> | null) | (new (props: any) => React.Component)>; getButtonComponent: (buttonType: ButtonType, possibleInputType?: "hour" | "minute" | "month" | "year" | "date" | undefined, additionalStyleMap?: object) => React.ReactElement React.ReactElement React.Component)> | null) | (new (props: any) => React.Component)>; }