import { PropertyValues, CSSResultArray, TemplateResult } from '@spectrum-web-components/base'; import { Focusable } from '@spectrum-web-components/shared/src/focusable.js'; import '@spectrum-web-components/icon/sp-icon.js'; import { MenuItem, Menu } from '@spectrum-web-components/menu'; import '@spectrum-web-components/popover/sp-popover.js'; import { Placement, TriggerInteractions, OverlayOptions } from '@spectrum-web-components/overlay'; /** * @slot label - The placeholder content for the dropdown * @slot {"sp-menu"} - The menu of options that will display when the dropdown is open * * @fires sp-open - Announces that the overlay has been opened * @fires sp-close - Announces that the overlay has been closed */ export declare class DropdownBase extends Focusable { static openOverlay: (target: HTMLElement, interaction: TriggerInteractions, content: HTMLElement, options: OverlayOptions) => Promise<() => void>; button: HTMLButtonElement; get target(): HTMLButtonElement | this; disabled: boolean; focused: boolean; invalid: boolean; label?: string; open: boolean; optionsMenu?: Menu; /** * @type {"auto" | "auto-start" | "auto-end" | "top" | "bottom" | "right" | "left" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end" | "none"} * @attr */ placement: Placement; quiet: boolean; value: string; selectedItemText: string; private closeOverlay?; private popover?; protected listRole: string; protected itemRole: string; private placeholder?; constructor(); get focusElement(): HTMLElement; forceFocusVisible(): void; onButtonBlur(): void; protected onButtonClick(): void; onButtonFocus(): void; onClick(event: Event): void; onKeydown: (event: KeyboardEvent) => void; setValueFromItem(item: MenuItem): Promise; toggle(): void; close(): void; protected onOverlayClosed(): void; private openMenu; protected sizePopover(popover: HTMLElement): void; private closeMenu; protected get buttonContent(): TemplateResult[]; protected get renderButton(): TemplateResult; protected render(): TemplateResult; protected firstUpdated(changedProperties: PropertyValues): void; protected updated(changedProperties: PropertyValues): void; private manageSelection; private menuStatePromise; private menuStateResolver; protected _getUpdateComplete(): Promise; disconnectedCallback(): void; } export declare class Dropdown extends DropdownBase { static get styles(): CSSResultArray; }