/**
 * Copyright Aquera Inc 2023
 *
 * This source code is licensed under the BSD-3-Clause license found in the
 * LICENSE file in the root directory of this source tree.
 */
import { CSSResultArray, TemplateResult, PropertyValues } from 'lit';
import NileElement from '../internal/nile-element';
import type { NileMenu } from '../nile-menu';
import type { NilePopup } from '../nile-popup';
import '../nile-popup';
/**
 * Nile side-bar-action component.
 *
 * @tag nile-side-bar-action
 *
 * @slot trigger - The clickable trigger (icon/button).
 * @slot - The dropdown panel content (menu, custom content).
 *
 * @event nile-show - Fired when dropdown opens.
 * @event nile-after-show - Fired after dropdown + animations.
 * @event nile-hide - Fired when dropdown closes.
 * @event nile-after-hide - Fired after dropdown closes + animations.
 */
export declare class NileSideBarAction extends NileElement {
    static styles: CSSResultArray;
    popup: NilePopup;
    trigger: HTMLSlotElement;
    panel: HTMLSlotElement;
    /** Whether the dropdown is open */
    open: boolean;
    /** Preferred placement relative to trigger */
    placement: 'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'right' | 'right-start' | 'right-end' | 'left' | 'left-start' | 'left-end';
    /** Disable interaction */
    disabled: boolean;
    /** Keep open on select */
    stayOpenOnSelect: boolean;
    /** External containing element (default: self) */
    containingElement?: HTMLElement;
    /** Offsets */
    distance: number;
    skidding: number;
    /** Sync size with trigger */
    sync: 'width' | 'height' | 'both';
    /** Hoist above scroll containers */
    hoist: boolean;
    /**
     * Enable portal mode to render the dropdown panel in a portal outside the component's DOM tree.
     * This provides better positioning control and prevents clipping issues in complex layouts.
     */
    portal: boolean;
    private portalManager;
    triggerDropdown: 'click' | 'hover';
    private hoverTimeout;
    connectedCallback(): void;
    firstUpdated(): void;
    handleTriggerMouseEnter(): void;
    handleTriggerMouseLeave(): void;
    disconnectedCallback(): void;
    focusOnTrigger(): void;
    getMenu(): NileMenu | undefined;
    handleKeyDown(event: KeyboardEvent): void;
    handleDocumentKeyDown(event: KeyboardEvent): void;
    handleDocumentMouseDown(event: MouseEvent): void;
    handlePanelSelect(event: any): void;
    handleTriggerClick(): void;
    handleTriggerKeyDown(event: KeyboardEvent): void;
    handleTriggerKeyUp(event: KeyboardEvent): void;
    handleTriggerSlotChange(): void;
    updateAccessibleTrigger(): void;
    /** Public methods */
    show(): Promise<void>;
    hide(): Promise<void>;
    reposition(): void;
    addOpenListeners(): void;
    removeOpenListeners(): void;
    protected updated(changedProperties: PropertyValues): void;
    handleOpenChange(): Promise<void>;
    render(): TemplateResult;
}
export default NileSideBarAction;
declare global {
    interface HTMLElementTagNameMap {
        'nile-side-bar-action': NileSideBarAction;
    }
}
