import type { Option, OptionsWithOptgroupPropType, RowsPropType, SelectProps, SelectWatches, Stringified, W3CInputValue } from '../../schema';
import { InputIconController } from '../@deprecated/input/controller-icon';
import type { Generic } from 'adopted-style-sheets';
export declare class SelectController extends InputIconController implements SelectWatches {
    protected readonly component: Generic.Element.Component & SelectProps;
    private readonly keyOptionMap;
    constructor(component: Generic.Element.Component & SelectProps, name: string, host?: HTMLElement);
    readonly getOptionByKey: (key: string) => Option<W3CInputValue> | undefined;
    private readonly isValueInOptions;
    private readonly filterValuesInOptions;
    protected readonly afterPatchOptions: (value: unknown, _state: Record<string, unknown>, _component: Generic.Element.Component, key: string) => void;
    private readonly beforePatchOptions;
    validateOptions(value?: OptionsWithOptgroupPropType): void;
    validateMultiple(value?: boolean): void;
    validateRequired(value?: boolean): void;
    validateRows(value?: RowsPropType): void;
    validateValue(value?: Stringified<W3CInputValue[]>): void;
    componentWillLoad(): void;
}
