import React from 'react';
import { StyleProp, TextStyle, ViewStyle } from 'react-native';
import { FormStyle, PaperThemeWithForm } from '../models/FormStyle';
export declare type Alignment = 'left' | 'center' | 'right';
export interface LabelFieldProps<T> extends Omit<ViewStyle, 'value'> {
    value: T;
    label?: string;
    placeholder?: string;
    format?: (value: T) => string;
    onPress?: (event: any) => void;
    theme: PaperThemeWithForm;
    align?: Alignment;
    style?: StyleProp<TextStyle>;
    textStyle?: StyleProp<TextStyle>;
    formStyle?: FormStyle;
    rippleColor?: string;
    disabled?: boolean;
    /**
     * If true, does not render label, placeholder and
     * value.
     **/
    custom?: boolean;
}
export interface LabelFieldState<T> {
    /** The final value. */
    value: T;
    /** User input error. */
    error?: any;
}
/** @deprecated */
export default class LabelField<T = any, P extends LabelFieldProps<T> = LabelFieldProps<T>, S extends LabelFieldState<T> = LabelFieldState<T>> extends React.PureComponent<P, S> {
    initialValue: T;
    constructor(props: P);
    componentDidUpdate(prevProps: P, prevState: S, snapshot: any): void;
    get isCustom(): boolean;
    format(value: T): string;
    handlePress(event: any): void;
    renderField(content: JSX.Element | JSX.Element[]): JSX.Element;
    renderTitleAndValue(): JSX.Element;
    renderContent(): JSX.Element | JSX.Element[];
    renderCustom(): JSX.Element | JSX.Element[];
    render(): JSX.Element | JSX.Element[];
}
