import * as React from 'react';
import type { HasComponent, HasRootRef } from '../../types';
import { type RemovableProps } from '../Removable/Removable';
import { FormItemTop } from './FormItemTop/FormItemTop';
import { FormItemTopAside } from './FormItemTop/FormItemTopAside';
import { FormItemTopLabel } from './FormItemTop/FormItemTopLabel';
export interface FormItemProps extends React.AllHTMLAttributes<HTMLElement>, HasRootRef<HTMLElement>, HasComponent, RemovableProps {
    /**
     * Дополнительный элемент, отображаемый над содержимым.
     */
    top?: React.ReactNode;
    /**
     * Передаётся при использовании `top`.
     *
     * `id` для `top`.
     */
    topId?: string;
    /**
     * Многострочный вывод заголовка. По умолчанию текст не переносится при переполнении.
     */
    topMultiline?: boolean;
    /**
     * Позволяет поменять тег используемый для top
     * Если оставить пустым, то тег top будет span.
     * Если оставить пустым и использовать htmlFor, то тег top будет label.
     */
    topComponent?: React.ElementType;
    /**
     * Дополнительный элемент, отображаемый под содержимым.
     */
    bottom?: React.ReactNode;
    /**
     * Передаётся при использовании `bottom`.
     *
     * Должен совпадать с `aria-describedby`, который передаётся в компонент, отвечающий за пользовательский ввод.
     */
    bottomId?: string;
    /**
     * Статус, влияющий на стиль отображения компонента.
     */
    status?: 'default' | 'error' | 'valid';
    /**
     * Дает возможность удалить `FormItem`. Рекомендуется использовать только для `Input` или `Select`.
     *
     * Режим `indent` предназначен для визуального отступа.
     */
    removable?: boolean | 'indent';
    /**
     * Удаляет внешние отступы вокруг компонента.
     * @since 5.8.0
     */
    noPadding?: boolean;
    /**
     * Помечает поле обязательным.
     */
    required?: boolean;
}
/**
 * @see https://vkui.io/components/form-item
 */
export declare const FormItem: React.FC<FormItemProps> & {
    Top: typeof FormItemTop;
    TopLabel: typeof FormItemTopLabel;
    TopAside: typeof FormItemTopAside;
};
//# sourceMappingURL=FormItem.d.ts.map