import React from 'react';
import { TextInput, Animated, ViewStyle, StyleProp, TextStyle, TextInputProps } from 'react-native';
import { ThemeProps } from '../config';
export declare type InputProps = React.ComponentPropsWithRef<typeof TextInput> & {
    containerStyle?: StyleProp<ViewStyle>;
    disabled?: boolean;
    disabledInputStyle?: StyleProp<TextStyle>;
    inputContainerStyle?: StyleProp<ViewStyle>;
    leftIcon?: any;
    leftIconContainerStyle?: StyleProp<ViewStyle>;
    rightIcon?: any;
    rightIconContainerStyle?: StyleProp<ViewStyle>;
    inputStyle?: object | any[];
    InputComponent?: typeof React.Component;
    errorProps?: object;
    errorStyle?: object | any[];
    errorMessage?: string;
    label?: React.ReactNode;
    labelStyle?: object | any[];
    labelProps?: object;
    renderErrorMessage?: boolean;
};
declare class Input extends React.Component<InputProps & Partial<ThemeProps<InputProps>>> {
    input: any;
    shakeAnimationValue: Animated.Value;
    focus(): void;
    blur(): void;
    clear(): void;
    isFocused(): boolean;
    setNativeProps(nativeProps: Partial<TextInputProps>): void;
    shake: () => void;
    render(): JSX.Element;
}
export { Input };
declare const _default: React.FunctionComponent<Omit<TextInputProps & React.RefAttributes<TextInput> & {
    containerStyle?: StyleProp<ViewStyle>;
    disabled?: boolean;
    disabledInputStyle?: StyleProp<TextStyle>;
    inputContainerStyle?: StyleProp<ViewStyle>;
    leftIcon?: any;
    leftIconContainerStyle?: StyleProp<ViewStyle>;
    rightIcon?: any;
    rightIconContainerStyle?: StyleProp<ViewStyle>;
    inputStyle?: object | any[];
    InputComponent?: typeof React.Component;
    errorProps?: object;
    errorStyle?: object | any[];
    errorMessage?: string;
    label?: React.ReactNode;
    labelStyle?: object | any[];
    labelProps?: object;
    renderErrorMessage?: boolean;
} & Partial<ThemeProps<InputProps>>, keyof ThemeProps<T>>> | React.ForwardRefExoticComponent<TextInputProps & React.RefAttributes<TextInput> & {
    containerStyle?: StyleProp<ViewStyle>;
    disabled?: boolean;
    disabledInputStyle?: StyleProp<TextStyle>;
    inputContainerStyle?: StyleProp<ViewStyle>;
    leftIcon?: any;
    leftIconContainerStyle?: StyleProp<ViewStyle>;
    rightIcon?: any;
    rightIconContainerStyle?: StyleProp<ViewStyle>;
    inputStyle?: object | any[];
    InputComponent?: typeof React.Component;
    errorProps?: object;
    errorStyle?: object | any[];
    errorMessage?: string;
    label?: React.ReactNode;
    labelStyle?: object | any[];
    labelProps?: object;
    renderErrorMessage?: boolean;
} & Partial<ThemeProps<InputProps>>>;
export default _default;
