import { PropertyValueMap } from "lit";
import { SelectElement } from "../../base/select-element";
import SgdsIcon from "../Icon/sgds-icon";
import SgdsSelectOption from "./sgds-select-option";
import SgdsSpinner from "../Spinner/sgds-spinner";
/**
 * @summary Select is used to make one selection from a list through keyboard or mouse actions
 *
 * @event sgds-select - Emitted when an option is selected.
 * @event sgds-change - Emitted when the select value changes.
 * @event sgds-focus -  Emitted when user input is focused.
 * @event sgds-blur -  Emitted when user input is blurred.
 *
 * @slot default - slot for sgds-select-option passed into select's menu
 */
export declare class SgdsSelect extends SelectElement {
    static styles: import("lit").CSSResult[];
    static childName: string;
    /** @internal */
    static dependencies: {
        [SgdsSelect.childName]: typeof SgdsSelectOption;
        "sgds-icon": typeof SgdsIcon;
        "sgds-spinner": typeof SgdsSpinner;
    };
    connectedCallback(): void;
    protected options: SgdsSelectOption[];
    firstUpdated(changedProperties: PropertyValueMap<this>): Promise<void>;
    private _handleSlotChange;
    private _updateDisplayValue;
    private _setActiveToOption;
    _handleValueChange(): Promise<void>;
    protected _handleItemSelected(e: Event): Promise<void>;
    protected _handleFocus(): void;
    protected _handleInputBlur(e: Event): Promise<void>;
    /** For form reset  */
    protected _mixinResetFormControl(): Promise<void>;
    private _blockInputKeydown;
    /** Applicable for menuList prop only */
    protected _renderMenu(): import("lit").TemplateResult<1> | import("lit").TemplateResult<1>[];
    protected _renderInput(): import("lit").TemplateResult<1>;
    render(): import("lit").TemplateResult<1>;
}
export default SgdsSelect;
