import type { Generic } from 'adopted-style-sheets';
import type { AccessKeyPropType, AdjustHeightPropType, ButtonProps, HideErrorPropType, InputTypeOnDefault, LabelWithExpertSlotPropType, MsgPropType, ShortKeyPropType, StencilUnknown, Stringified, TooltipAlignPropType } from '../../../schema';
import { ControlledInputController } from '../../input-adapter-leanup/controller';
import type { Props as AdapterProps } from '../../input-adapter-leanup/types';
import type { Props, Watches } from './types';
type ValueChangeListener = (value: StencilUnknown) => void;
export declare class InputController extends ControlledInputController implements Watches {
    protected readonly component: Generic.Element.Component & Props & AdapterProps;
    private readonly valueChangeListeners;
    constructor(component: Generic.Element.Component & Props, name: string, host?: HTMLElement);
    validateAccessKey(value?: AccessKeyPropType): void;
    validateAdjustHeight(value?: AdjustHeightPropType): void;
    validateDisabled(value?: boolean): void;
    validateTooltipAlign(value?: TooltipAlignPropType): void;
    validateError(value?: string): void;
    validateHideError(value?: HideErrorPropType): void;
    validateHideLabel(value?: boolean): void;
    validateHint(value?: string): void;
    validateId(value?: string): void;
    validateLabel(value?: LabelWithExpertSlotPropType): void;
    validateMsg(value?: Stringified<MsgPropType>): void;
    validateOn(value?: InputTypeOnDefault): void;
    validateShortKey(value?: ShortKeyPropType): void;
    validateSmartButton(value?: ButtonProps | string): void;
    validateTabIndex(value?: number): void;
    componentWillLoad(): void;
    protected onBlur(event: Event): void;
    protected onChange(event: Event, value?: StencilUnknown): void;
    protected onInput(event: Event, shouldSetFormAssociatedValue?: boolean, value?: StencilUnknown): void;
    protected onClick(event: Event): void;
    protected onFocus(event: Event): void;
    addValueChangeListener(listener: ValueChangeListener): void;
    readonly onFacade: {
        onBlur: (event: Event) => void;
        onChange: (event: Event, value?: StencilUnknown) => void;
        onClick: (event: Event) => void;
        onFocus: (event: Event) => void;
        onInput: (event: Event, shouldSetFormAssociatedValue?: boolean, value?: StencilUnknown) => void;
    };
}
export {};
