import React from 'react';
import { Theme } from '../cn';
export declare type FormProps = {
    /**
     * Способ кодирования данных формы при их отправке
     */
    enctype?: 'application/x-www-form-urlencoded' | 'multipart/form-data' | 'text/plain';
    /**
     * Адрес отправки данных на сервер
     */
    action?: string;
    /**
     * Метод запроса
     */
    method?: 'post' | 'get';
    /**
     * Тип формы
     */
    view?: 'line' | 'normal';
    /**
     * Размер компонента
     */
    size?: 's' | 'm' | 'l' | 'xl';
    /**
     * Футер для формы
     */
    footer?: React.ReactNode;
    /**
     * Управление встроенным в браузер механизмом валидации формы
     */
    noValidate?: boolean;
    /**
     * Управление автозаполнением формы
     */
    autocomplete?: boolean;
    /**
     * Дочерние элементы формы
     */
    children?: React.ReactNode;
    /**
     * Тема компонента
     */
    theme?: Theme;
    /**
     * Дополнительный класс
     */
    className?: string;
    /**
     * Идентификатор компонента в DOM
     */
    id?: string;
    /**
     * Имя компонента в DOM
     */
    name?: string;
    /**
     * Обработчик отправки формы
     */
    onSubmit?: (event?: React.FormEvent<any>) => void;
    /**
     * Идентификатор для систем автоматизированного тестирования
     */
    'data-test-id'?: string;
};
/**
 * Компонент формы.
 */
export declare class Form extends React.PureComponent<FormProps> {
    protected cn: (this: void | {
        props?: Record<string, unknown>;
    }, elementNameOrMods?: string | {
        [key: string]: string | number | boolean;
    }, mods?: {
        [key: string]: string | number | boolean;
    }) => string;
    static defaultProps: Partial<FormProps>;
    render(): JSX.Element;
    private handleSubmit;
}
declare const _default: React.ForwardRefExoticComponent<FormProps & React.RefAttributes<Form>> & Form;
export default _default;
