/**
 * Copyright Aquera Inc 2025
 *
 * 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';
/**
 * Nile inline sidebar component.
 *
 * @tag nile-inline-sidebar
 */
export declare class NileInlineSidebar extends NileElement {
    collapsed: boolean;
    fixed: boolean;
    showTooltip: boolean;
    /** The side on which the sidebar is placed. */
    placement: 'left' | 'right';
    /** Enables a draggable resize handle on the sidebar's trailing edge. */
    resizable: boolean;
    /** Current sidebar width in pixels when resizable is enabled. */
    sidebarWidth: number;
    /** Minimum sidebar width in pixels. */
    minSidebarWidth: number;
    showToggleBtn: boolean;
    /** Maximum sidebar width in pixels. */
    maxSidebarWidth: number;
    variant?: 'minimal' | 'rich';
    private activeIndex;
    private defaultSlot;
    private mutationObserver?;
    static get styles(): CSSResultArray;
    private get sidebarItems();
    connectedCallback(): void;
    disconnectedCallback(): void;
    firstUpdated(): void;
    updated(changedProperties: PropertyValues): void;
    /** Pushes sidebar `variant` onto each item (rich vs minimal) so layout stays in sync with slotted content. */
    private syncChildSidebarItemVariants;
    private observeSidebarItems;
    private syncActiveFromItems;
    private get focusableItems();
    private updateTabIndices;
    private focusItem;
    private handleKeyDown;
    private handleItemSelect;
    private toggleCollapse;
    private handleMenuItemClick;
    private handleSeparatorDrag;
    private handleSeparatorKeyDown;
    private get separatorTemplate();
    private get menuItemsTemplate();
    render(): TemplateResult;
}
export default NileInlineSidebar;
declare global {
    interface HTMLElementTagNameMap {
        'nile-inline-sidebar': NileInlineSidebar;
    }
}
