import type { JSX } from '../../stencil-public-runtime';
import type { FocusableElement, HideErrorPropType, IconsHorizontalPropType, IdPropType, InputTypeOnDefault, LabelWithExpertSlotPropType, MsgPropType, NamePropType, OptionsWithOptgroupPropType, RowsPropType, SelectAPI, SelectStates, ShortKeyPropType, Stringified, SyncValueBySelectorPropType, TooltipAlignPropType, W3CInputValue } from '../../schema';
export declare class KolSelect implements SelectAPI, FocusableElement {
    private readonly host?;
    private selectRef?;
    private readonly catchRef;
    getValue(): Promise<Stringified<W3CInputValue[]> | undefined>;
    focus(): Promise<void>;
    kolFocus(): Promise<void>;
    private renderOptgroup;
    render(): JSX.Element;
    private readonly controller;
    _accessKey?: string;
    _alert?: boolean;
    _disabled?: boolean;
    _error?: string;
    _hideError?: boolean;
    _hideLabel?: boolean;
    _hint?: string;
    _icons?: IconsHorizontalPropType;
    _id?: IdPropType;
    _label: LabelWithExpertSlotPropType;
    _msg?: Stringified<MsgPropType>;
    _multiple?: boolean;
    _name?: NamePropType;
    _on?: InputTypeOnDefault;
    _options: OptionsWithOptgroupPropType;
    _required?: boolean;
    _shortKey?: ShortKeyPropType;
    _rows?: RowsPropType;
    _syncValueBySelector?: SyncValueBySelectorPropType;
    _tabIndex?: number;
    _tooltipAlign?: TooltipAlignPropType;
    _touched?: boolean;
    _value?: Stringified<W3CInputValue[]>;
    state: SelectStates;
    private inputHasFocus;
    constructor();
    private showAsAlert;
    validateAccessKey(value?: string): void;
    validateAlert(value?: boolean): void;
    validateDisabled(value?: boolean): void;
    validateError(value?: string): void;
    validateHideError(value?: HideErrorPropType): void;
    validateHideLabel(value?: boolean): void;
    validateHint(value?: string): void;
    validateIcons(value?: IconsHorizontalPropType): void;
    validateId(value?: string): void;
    validateLabel(value?: LabelWithExpertSlotPropType): void;
    validateMsg(value?: Stringified<MsgPropType>): void;
    validateMultiple(value?: boolean): void;
    validateName(value?: string): void;
    validateOn(value?: InputTypeOnDefault): void;
    validateOptions(value?: OptionsWithOptgroupPropType): void;
    validateRequired(value?: boolean): void;
    validateRows(value?: RowsPropType): void;
    validateShortKey(value?: ShortKeyPropType): void;
    validateSyncValueBySelector(value?: SyncValueBySelectorPropType): void;
    validateTabIndex(value?: number): void;
    validateTouched(value?: boolean): void;
    validateValue(value?: Stringified<W3CInputValue[]>): void;
    componentWillLoad(): void;
    private onInput;
    private onChange;
}
