import { EventEmitter } from "../../stencil-public-runtime";
import { IcNavType, IcBrand, IcBrandForeground, IcBrandForegroundNoDefault, IcThemeMode } from "../../utils/types";
import { IcNavigationExpandEventDetail, IcNavigationOpenEventDetail } from "./ic-navigation-group.types";
export declare class NavigationGroup {
    private allGroupedNavigationItems;
    private collapsedNavItemsHeight;
    private dropdown?;
    private DYNAMIC_GROUPED_LINKS_HEIGHT_MS;
    private expandedNavItemsHeight;
    private groupEl?;
    private IC_NAVIGATION_ITEM;
    private mouseGate;
    private nodeName;
    private GROUPED_LINKS_WRAPPER_CLASS;
    el: HTMLIcNavigationGroupElement;
    deviceSize: number;
    dropdownOpen: boolean;
    expanded: boolean;
    focusStyle: IcBrandForegroundNoDefault | IcBrandForeground;
    inTopNavSideMenu: boolean;
    navigationType: IcNavType | "";
    parentEl: HTMLElement | null;
    isSideNavExpanded: boolean;
    /**
     *  If `true`, the group will be expandable when in an ic-side-navigation component, or, when in an ic-top-navigation component, in the side menu displayed at small screen sizes.
     */
    expandable?: boolean;
    /**
     * The label to display on the group.
     */
    label: string;
    /**
     * Sets the theme color to the dark or light theme color. "inherit" will set the color based on the system settings or ic-theme component.
     */
    theme?: IcThemeMode;
    /**
     * @internal Emitted when a navigation group is opened - when within an ic-top-navigation at large screen sizes.
     */
    navigationGroupOpened: EventEmitter<IcNavigationOpenEventDetail>;
    /**
     * @internal Emitted when a navigation group is expanded - when within an ic-top-navigation at small screen sizes.
     */
    navigationGroupExpanded: EventEmitter<IcNavigationExpandEventDetail>;
    disconnectedCallback(): void;
    componentWillLoad(): void;
    componentDidLoad(): void;
    childBlurHandler(): void;
    handleNavigationGroupOpened(event: CustomEvent): void;
    navItemClickHandler(): void;
    brandChangeHandler(ev: CustomEvent<IcBrand>): void;
    /**
     * Sets focus on the nav item.
     */
    setFocus(): Promise<void>;
    private sideNavExpandHandler;
    private topNavResizedHandler;
    private toggleDropdown;
    private setGroupedNavItemTabIndex;
    private toggleGroupedLinkWrapperHeight;
    private toggleExpanded;
    private showDropdown;
    private hideDropdown;
    private handleClick;
    private handleBlur;
    private handleTopNavKeydown;
    private handleKeydown;
    private handleMouseLeave;
    private handleMouseEnter;
    private renderDropdownGroupedLinks;
    private renderGroupedLinks;
    /**
     * Gets the total height of navigation links to improve
     * smoothness of expand/collapse animations
     */
    private getNavigationChildItemsHeight;
    private setInitialGroupedLinksWrapperHeight;
    private renderGroupTitleText;
    private renderNavigationItems;
    private setGroupedLinksElementHeight;
    render(): any;
}
