declare const LionSelectRich_base: typeof LionListbox & import("@open-wc/dedupe-mixin").Constructor<import("@lion/overlays/types/OverlayMixinTypes").OverlayHost> & Pick<typeof import("@lion/overlays/types/OverlayMixinTypes").OverlayHost, "prototype"> & Pick<typeof import("@lion/core").LitElement, "prototype" | "_$litElement$" | "enabledWarnings" | "enableWarning" | "disableWarning" | "addInitializer" | "_initializers" | "elementProperties" | "properties" | "elementStyles" | "styles" | "observedAttributes" | "createProperty" | "shadowRootOptions"> & import("@open-wc/dedupe-mixin").Constructor<import("@lion/core/node_modules/@open-wc/scoped-elements/types/src/types").ScopedElementsHost> & import("@open-wc/dedupe-mixin").Constructor<import("@lion/core/types/SlotMixinTypes").SlotHost> & Pick<typeof import("@lion/core/types/SlotMixinTypes").SlotHost, "prototype">;
/**
 * LionSelectRich: wraps the <lion-listbox> element
 */
export class LionSelectRich extends LionSelectRich_base {
    static get scopedElements(): {
        'lion-select-invoker': typeof LionSelectInvoker;
    };
    /** @type {any} */
    static get properties(): any;
    /**
     * @protected
     * @type {LionSelectInvoker}
     */
    protected get _invokerNode(): LionSelectInvoker;
    /**
     * When invoker has focus, up and down arrow keys changes active state of listbox,
     * without opening overlay.
     * @type {Boolean}
     */
    navigateWithinInvoker: boolean;
    /**
     * Aligns behavior for 'selectionFollowFocus' and 'navigateWithinInvoker' with
     * platform. When 'auto' (default), platform is automatically detected
     * @type {'windows/linux'|'mac'|'auto'}
     */
    interactionMode: 'windows/linux' | 'mac' | 'auto';
    /** @protected */
    protected _arrowWidth: number;
    /**
     * @param {KeyboardEvent} ev
     * @protected
     */
    protected __onKeyUp(ev: KeyboardEvent): void;
    /** @private */
    private __invokerOnBlur;
    /** @private */
    private __overlayOnHide;
    /** @private */
    private __overlayOnShow;
    /** @private */
    private __invokerOnClick;
    /** @private */
    private __overlayBeforeShow;
    __hasInitialSelectedFormElement: boolean | undefined;
    /** @protected */
    protected _onFormElementsChanged(): void;
    /** @private */
    private __initInteractionStates;
    /** @private */
    private __toggleInvokerDisabled;
    /** @private */
    private __syncInvokerElement;
    /** @private */
    private __setupInvokerNode;
    /** @private */
    private __setupInvokerNodeEventListener;
    /** @private */
    private __teardownInvokerNode;
    /**
     * With no selected element, we should override the inheritsReferenceWidth in most cases.
     * By default, we will set it to 'min', and then set it back to what it was initially when
     * something is selected.
     * As a subclasser you can override this behavior.
     * @protected
     */
    protected _noDefaultSelectedInheritsWidth(): void;
    _initialInheritsReferenceWidth: "none" | "min" | "max" | "full" | undefined;
    /**
     * Align invoker width with content width
     * Make sure display is not set to "none" while calculating the content width
     * @protected
     */
    protected _alignInvokerWidth(): Promise<void>;
    /**
     * @configure FormControlMixin
     * @protected
     */
    protected _onLabelClick(): void;
    /**
     * Normally, when textbox gets focus or a char is typed, it opens listbox.
     * In transition phases (like clicking option) we prevent this.
     * @private
     */
    private __blockListShowDuringTransition;
    __blockListShow: boolean | undefined;
}
export type LionOptions = import('@lion/listbox').LionOptions;
export type LionOption = import('@lion/listbox').LionOption;
export type ScopedElementsHost = import('@open-wc/scoped-elements/src/types').ScopedElementsHost;
export type FormRegisteringHost = import('@lion/form-core/types/registration/FormRegisteringMixinTypes').FormRegisteringHost;
export type FormControlHost = import('@lion/form-core/types/FormControlMixinTypes').FormControlHost;
export type SlotsMap = import('@lion/core/types/SlotMixinTypes').SlotsMap;
import { LionListbox } from "@lion/listbox";
import { LionSelectInvoker } from "./LionSelectInvoker.js";
export {};
