import moment, { Duration, Moment } from 'moment';
import { TextInputProps } from 'react-native';
import { MaybeObservable } from '../../util/reactUtil';
import { ViewRef } from '../formTypes';
import InputFieldModel, { ParsedInputFieldModelOptions } from './InputFieldModel';
import { KeyboardInputFieldModelBaseOptions } from './KeyboardInputFieldModel';
export interface TimeInputFieldModelOptions extends ParsedInputFieldModelOptions<Duration, Duration>, KeyboardInputFieldModelBaseOptions {
    refDay?: MaybeObservable<Moment | undefined>;
    futureDisabled?: boolean;
}
export default class TimeInputFieldModel extends InputFieldModel<Duration, Duration> implements TimeInputFieldModelOptions {
    mode: TimeInputFieldModelOptions['mode'] | undefined;
    refDay: MaybeObservable<Moment | undefined> | undefined;
    futureDisabled: boolean;
    autoFocus: boolean;
    optional: boolean;
    returnKeyType: TextInputProps['returnKeyType'];
    clearTextOnFocus: boolean;
    selectTextOnFocus: boolean;
    clearButtonMode: TextInputProps['clearButtonMode'];
    private _refDay?;
    private _refDaySub?;
    constructor(options: TimeInputFieldModelOptions);
    getRefDay(): moment.Moment | undefined;
    formatDate(date?: Moment): string;
    formatTime(time?: Duration): string;
    onMount(viewRef: ViewRef): void;
    onUnmount(viewRef: ViewRef): void;
}
