/**
* @license
* Copyright 2023 Nuraly, Laabidi Aymen
* SPDX-License-Identifier: MIT
*/
import { LitElement } from 'lit';
import { DropdownPlacement, DropdownTrigger, DropdownSize, DropdownAnimation, DropdownItem } from './dropdown.types.js';
declare const NrDropdownElement_base: (new (...args: any[]) => import("@nuralyui/common/mixins").DependencyAware) & (new (...args: any[]) => import("@nuralyui/common/mixins").ThemeAware) & (new (...args: any[]) => import("@nuralyui/common/mixins").EventHandlerCapable) & (new (...args: any[]) => import("packages/common/src/shared/base-mixin").LightDomContent) & typeof LitElement;
/**
* # Dropdown Component
*
* A versatile dropdown component that provides floating panel functionality with customizable triggers,
* content, and positioning. Supports both predefined item lists and custom slot content with
* cascading submenus and interactive elements.
*
* ## Features
* - Multiple trigger modes (hover, click, focus, manual)
* - Flexible positioning with auto-placement
* - Cascading submenus with custom content support
* - Interactive elements (forms, buttons) within dropdowns
* - Keyboard navigation and accessibility
* - Customizable animations and styling
* - Event delegation and outside click detection
*
* ## Usage
* ```html
*
*
*
*
*
*
*
*
*
*
*
*
*
* Hover me
* Tooltip content
*
* ```
*
* @element nr-dropdown
* @fires nr-dropdown-open - Fired when dropdown opens
* @fires nr-dropdown-close - Fired when dropdown closes
* @fires nr-dropdown-item-click - Fired when dropdown item is clicked
*
* @slot trigger - Element that triggers the dropdown
* @slot content - Custom content for the dropdown panel
* @slot header - Optional header content
* @slot footer - Optional footer content
*
* @cssproperty --dropdown-background - Background color of dropdown panel
* @cssproperty --dropdown-border - Border of dropdown panel
* @cssproperty --dropdown-shadow - Shadow of dropdown panel
* @cssproperty --dropdown-border-radius - Border radius of dropdown panel
* @cssproperty --dropdown-max-width - Maximum width of dropdown panel
* @cssproperty --dropdown-min-width - Minimum width of dropdown panel
* @cssproperty --dropdown-max-height - Maximum height of dropdown panel
*/
export declare class NrDropdownElement extends NrDropdownElement_base {
static useShadowDom: boolean;
static styles: import("lit").CSSResult;
requiredComponents: string[];
items: DropdownItem[];
open: boolean;
placement: DropdownPlacement;
trigger: DropdownTrigger;
size: DropdownSize;
animation: DropdownAnimation;
disabled: boolean;
arrow: boolean;
autoClose: boolean;
closeOnOutsideClick: boolean;
closeOnEscape: boolean;
offset: number;
delay: number;
maxHeight: string;
minWidth: string;
cascadeDirection: 'right' | 'left' | 'auto';
cascadeDelay: number;
cascadeOnHover: boolean;
allowOverflow: boolean;
private dropdownController;
private openSubmenus;
private submenuTimers;
connectedCallback(): void;
updated(changedProperties: Map): void;
disconnectedCallback(): void;
firstUpdated(): void;
private updateCascadingAttribute;
private handleDropdownPanelClick;
private handleItemClick;
private handleItemHover;
private handleItemLeave;
private handleSubmenuEnter;
private handleSubmenuLeave;
private clearSubmenuTimer;
private toggleSubmenu;
private showSubmenu;
private hideSubmenu;
show(): void;
hide(): void;
toggle(): void;
private renderCustomContent;
private renderSubmenuContent;
private renderItems;
render(): import("lit-html").TemplateResult<1>;
}
export {};
//# sourceMappingURL=dropdown.component.d.ts.map