import { PropertyValueMap } from "lit";
import SgdsElement from "../../base/sgds-element";
import SgdsIcon from "../Icon/sgds-icon";
/**
 * @description SgdsSidenavItem can function as either a menu type or a link type. Its type is determined by the children slotted into the default slot.
 * A single anchor tag element passed into the default slot converts SgdsSidenavItem to a link type while passing in SgdsSidenavLink components into the default slots makes it a menu type.
 *
 * @event sgds-toggle - Emitted when the sidenav item's button is clicked. Only applicable to menu type.
 * @event sgds-show - Emitted on show. Only applicable to menu type.
 * @event sgds-after-show - Emitted on show after animation has completed. Only applicable to menu type.
 * @event sgds-hide - Emitted on hide. Only applicable to menu type.
 * @event sgds-after-hide - Emitted on hide after animation has completed. Only applicable to menu type.
 *
 * @slot default - default slot for SgdsSidenavLink and second level SgdsSidenavItem. For link type SgdsSidenavItem, pass in a single anchor tag to the default slot. For menu type, pass in SgdsSidenavLink to the default slot
 * @slot title - title slot for the content of SgdsSidenavItem's menu button element. Only applicable to menu type
 * @slot icon - icon slot for the content of SgdsSidenavItem's menu button element. Only applicable to menu type
 * @slot caret-icon - The slot for the caret arrow icon of SgdsSidenavItem. Only applicable to menu type.
 */
export declare class SgdsSidenavItem extends SgdsElement {
    static styles: import("lit").CSSResult[];
    /** @internal */
    static dependencies: {
        "sgds-icon": typeof SgdsIcon;
    };
    body: HTMLElement;
    /** @internal */
    header: HTMLElement;
    /**
     *  when true, toggles the sidenav-item to open on first load and set the active stylings.
     */
    active: boolean;
    /**
     * Disables the SgdsSidenavItem
     */
    disabled: boolean;
    private isLink;
    /**
     * @internal Forwards to id attribute of div.collapse and aria-controls attribute of button in SgdsSidenavItem. By default, SgdsSidenavItem auto-generates a unique id. Override the default id by specifiying your own
     */
    private _collapseId;
    /**
     * @internal Forwards to id attribute of button and aria-labelledby attribute of ul.sidenav-list in SgdsSidenavItem. By default, SgdsSidenavItem auto-generates a unique id. Override the default id by specifiying your own
     */
    private _buttonId;
    private _levelId;
    private _firstLevelId;
    private _secondLevelId;
    private _thirdLevelId;
    /** @internal */
    private index;
    private _onToggle;
    /** Shows the sidenav item. Only applicable to sgds-sidenav-item that are of menu types */
    show(): Promise<void>;
    /** Hide the sidenav item.  Only applicable to sgds-sidenav-item that are of menu types */
    hide(): Promise<void>;
    connectedCallback(): void;
    firstUpdated(changedProperties: PropertyValueMap<this>): void;
    /**
     * Sets active to true to open menu ,
     * evaluating based on whether any of the child in any level is active
     * If at least 1 child is active, parent item should be active
     */
    private _handleOpenMenu;
    private _handleSummaryClick;
    private _handleSummaryKeyDown;
    _handleOpenChange(): Promise<void>;
    private _items;
    private _handleSlotChange;
    render(): import("lit").TemplateResult<1>;
}
export default SgdsSidenavItem;
