import type { ReactiveController } from 'lit';
/**
 * Defines an interface that acts as a bridge between the Angular forms API and a native element in the DOM.
 *
 * @public
 */
export interface IElementValueAccessor extends Pick<ReactiveController, 'hostConnected' | 'hostDisconnected'> {
    /**
     * Writes a new value to the element.
     *
     * @public
     * @param obj - The new value for the element
     */
    writeValue(obj: any): void;
    /**
     * Resets the value of the element.
     *
     * @public
     */
    resetValue(): void;
    /**
     * Registers a function called when the element value changes.
     *
     * @public
     * @param fn - The callback function to register
     */
    registerOnChange(fn: any): void;
    /**
     * Registers a function called when the element is reset.
     *
     * @public
     * @param fn - The callback function to register
     */
    registerOnReset(fn: any): void;
    /**
     * Registers a function called when the element is touched.
     *
     * @public
     * @param fn - The callback function to register
     */
    registerOnTouched(fn: any): void;
    /**
     * Sets the "disabled" property on the range input element.
     *
     * @public
     * @optional
     * @param isDisabled - The disabled status to set on the element
     */
    setDisabled?(isDisabled: boolean): void;
}
//# sourceMappingURL=IElementValueAccessor.d.ts.map