import type { NamePropType, PropSyncValueBySelector, StencilUnknown, SyncValueBySelectorPropType } from '../../schema';
import type { Generic } from 'adopted-style-sheets';
type RequiredProps = NonNullable<unknown>;
type OptionalProps = {
    name: string;
} & PropSyncValueBySelector;
type Props = Generic.Element.Members<RequiredProps, OptionalProps>;
type Watches = Generic.Element.Watchers<RequiredProps, OptionalProps>;
export declare class AssociatedInputController implements Watches {
    private readonly experimentalMode;
    protected readonly component: Generic.Element.Component & Props;
    protected readonly type: string;
    protected readonly host?: HTMLElement;
    readonly formAssociated?: HTMLButtonElement | HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;
    syncToOwnInput?: HTMLButtonElement | HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;
    constructor(component: Generic.Element.Component & Props, type: string, host?: HTMLElement);
    private findHostWithShadowRoot;
    protected setAttribute(qualifiedName: string, element?: HTMLElement, value?: string | number | boolean): void;
    private tryToStringifyValue;
    readonly setFormAssociatedValue: (rawValue: StencilUnknown) => void;
    private syncValue;
    validateName(value?: NamePropType): void;
    validateSyncValueBySelector(value?: SyncValueBySelectorPropType): void;
    componentWillLoad(): void;
}
export {};
