import React, { Component, CSSProperties } from 'react';
import { FormFieldProps, LabelPlacement, LabelSize } from './FormField.types';
export declare class FormField extends Component<FormFieldProps> {
    static displayName: string;
    labelId: string;
    statusId: string;
    constructor(props: FormFieldProps);
    static defaultProps: FormFieldProps;
    state: {
        lengthLeft: number | undefined;
    };
    childrenRenderPropInterface: {
        setCharactersLeft: (lengthLeft: number) => void;
    };
    _renderChildren(): React.ReactNode;
    _hasCharCounter: () => boolean;
    charactersLeft: (lengthLeft: number | undefined) => React.JSX.Element;
    _renderCharCounter: () => React.JSX.Element | undefined;
    _renderInfoIcon: () => false | "" | 0 | React.JSX.Element | null | undefined;
    _renderSuffix: () => false | "" | 0 | React.JSX.Element;
    _hasInlineElements: (label: FormFieldProps["label"], labelPlacement?: LabelPlacement) => boolean;
    _renderLabel: ({ trimLongText, labelSize, asterisk, }: {
        trimLongText: boolean;
        labelSize?: LabelSize;
        asterisk: JSX.Element;
    }) => React.JSX.Element;
    _renderStatusIcon: (icons: {
        StatusAlertFilledSmall: React.ComponentType;
        StatusWarningFilledSmall: React.ComponentType;
    }) => React.JSX.Element | undefined;
    _renderStatusMessage: (icons: {
        StatusAlertFilledSmall: React.ComponentType;
        StatusWarningFilledSmall: React.ComponentType;
    }) => React.JSX.Element;
    _getCustomColumns: () => CSSProperties["gridTemplateColumns"];
    render(): React.JSX.Element;
}
export default FormField;
//# sourceMappingURL=FormField.d.ts.map