import { LitElement } from 'lit';
import { IconButton } from '../icon-button';
import { PopoverAlign, PopoverPosition, PopoverType, TypeNativePopoverController } from '../internal';
/**
 * @element nve-dropdown
 * @description Generic dropdown element for rendering a variety of different content such as interactive navigation or form controls. [MDN Popover API](https://developer.mozilla.org/en-US/docs/Web/API/Popover_API)
 * @since 0.6.0
 * @entrypoint \@nvidia-elements/core/dropdown
 * @event beforetoggle - Dispatched on a popover just before showing or hiding. [MDN](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/beforetoggle_event)
 * @event toggle - Dispatched on a popover element just after showing or hiding. [MDN](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/toggle_event)
 * @event open - Dispatched when the dropdown opens.
 * @event close - Dispatched when the dropdown closes.
 * @slot - default slot for dropdown content
 * @cssprop --border
 * @cssprop --border-radius
 * @cssprop --background
 * @cssprop --color
 * @cssprop --padding
 * @cssprop --box-shadow
 * @cssprop --width
 * @cssprop --min-width
 * @cssprop --gap
 * @cssprop --arrow-transform - Transform applied to the popover arrow
 * @cssprop --animation-duration - Duration of dropdown open/close animations
 * @csspart icon-button - The close icon button element
 * @aria https://www.w3.org/WAI/ARIA/apg/patterns/menubar/
 */
export declare class Dropdown extends LitElement {
    #private;
    static styles: import('lit').CSSResult[];
    static readonly metadata: {
        tag: string;
        version: string;
    };
    static elementDefinitions: {
        [IconButton.metadata.tag]: typeof IconButton;
    };
    /**
     * (optional) By default the popover will automatically anchor itself relative to the trigger element.
     * Pass an optional custom anchor element as an idref string within the same render root or a HTMLElement DOM reference.
     */
    anchor: string | HTMLElement;
    /**
     * @deprecated Use the popover API instead.
     * The trigger defines what element triggers an `open` interaction event.
     * A trigger can accept a idref string within the same render root or a HTMLElement DOM reference.
     */
    trigger: string | HTMLElement;
    /**
     * Sets the side position of the popover relative to the provided anchor element.
     */
    position: PopoverPosition;
    /**
     * Sets the alignment of the popover relative to the provided anchor element.
     * If an arrow exists the alginment will be relative to the arrow against the anchor.
     */
    alignment: PopoverAlign;
    /**
     * @deprecated Use the popover API instead.
     * Determines if popover visibility behavior should be automatically controlled by the trigger.
     */
    behaviorTrigger: boolean;
    /**
     * Determines if a close button should render within dropdown. Non-closable
     * dropdowns suit menu or selection patterns.
     */
    closable: boolean;
    /**
     * Determines if an arrow renders.
     */
    arrow: boolean;
    /** @private */
    modal: boolean;
    /** @private */
    popoverType: PopoverType;
    popoverArrow: HTMLElement;
    protected typeNativePopoverController: TypeNativePopoverController<Dropdown>;
    /** @private */
    get popoverDismissible(): boolean;
    /**
     * Enables internal string values to update for internationalization.
     */
    i18n: Partial<import('../internal').I18nStrings & {
        __set: boolean;
    }>;
    render(): import('lit-html').TemplateResult<1>;
}
