import { type EventEmitter } from "../../stencil-public-runtime";
export type Placement = "auto" | "auto-start" | "auto-end" | "top" | "top-start" | "top-end" | "bottom" | "bottom-start" | "bottom-end" | "right" | "right-start" | "right-end" | "left" | "left-start" | "left-end";
export declare class Dropdown {
    /** Where the dropdown menu is positioned relative to the trigger. */
    readonly placement: Placement;
    /** Wether the dropdown should be open initially. */
    readonly defaultOpen: boolean;
    internalIsOpen: boolean;
    /** If true, the menu is not appended to <body> (stays in place). */
    readonly noAppendToBody: boolean;
    /** Fired when dropdown open. */
    ifxOpen: EventEmitter;
    /** Fired when dropdown closed. */
    ifxClose: EventEmitter;
    /** General dropdown event. */
    ifxDropdown: EventEmitter;
    /** If true, dropdown is disabled and cannot be opened. */
    readonly disabled: boolean;
    /** If true, clicking outside will not close the dropdown. */
    readonly noCloseOnOutsideClick: boolean;
    /** Id true, clicking inside the menu will not close the dropdown. */
    readonly noCloseOnMenuClick: boolean;
    el: HTMLIfxDropdownElement;
    trigger: HTMLElement;
    menu: HTMLElement;
    private popperInstance;
    handleOutsideClick(event: MouseEvent): void;
    handleFocusOutside(event: FocusEvent): void;
    private handleTriggerClick;
    private handleTriggerKeyDown;
    private handleMenuClick;
    private getItemFocusables;
    private handleMenuKeyDown;
    componentWillLoad(): void;
    componentDidLoad(): Promise<void>;
    watchHandlerIsOpen(newValue: boolean, oldValue: boolean): void;
    watchHandlerDisabled(newValue: boolean): void;
    watchHandlerSlot(): void;
    private focusFirstItem;
    private updateSlotContent;
    disconnectedCallback(): void;
    /** Returns wether the dropdown is currently open. */
    isOpen(): Promise<boolean>;
    /** Closes the dropdown and cleans up the popper instance. */
    closeDropdown(): Promise<void>;
    /** Opens the dropdown and sets up the popper positioning. */
    openDropdown(): Promise<void>;
    render(): any;
}
