import type { CustomElement } from '../../../Controls/Components/Abstracts/CustomElement';
import { ElementController, type IElementControllerConfig, type IElementFacade } from '../../Controllers/Abstracts/ElementController';
import type { FormElement } from './FormElement';
/**
 * Represents the methods available on a form element.
 *
 * @private
 */
interface IFormElementFacade extends IElementFacade, Pick<FormElement, 'submit' | 'reset' | 'reportValidity' | 'checkValidity'> {
    get<T = string | File>(name: string): T;
}
/**
 * Represents a controller for a form element.
 *
 * @public
 */
export declare class FormController extends ElementController<FormElement, IFormElementFacade> {
    /**
     * Constructs a new instance of the `FormController` class.
     *
     * @public
     */
    constructor(host: CustomElement, config: IElementControllerConfig<FormElement>);
    /**
     * Maps the element to a facade.
     *
     * @protected
     * @override
     * @param element - The element to map.
     * @returns The facade.
     */
    protected map(element: FormElement): IFormElementFacade;
}
export {};
//# sourceMappingURL=FormController.d.ts.map