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 allGroupedNavigationItemHeights;
    private collapsedNavItemsHeight;
    private dropdown?;
    private expandedNavItemsHeight;
    private groupEl?;
    private mouseGate;
    private linkWrapper?;
    el: HTMLIcNavigationGroupElement;
    deviceSize: number;
    dropdownOpen: 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;
    /**
     * If `true`, the expandable group will be expanded by default when in an ic-side-navigation component. To enable this prop, `expandable` must also be set to `true`.
     */
    expanded: 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 toggleExpanded;
    private showDropdown;
    private hideDropdown;
    private handleClick;
    private handleBlur;
    private handleKeydown;
    private handleMouseLeave;
    private handleMouseEnter;
    private renderGroupTitleText;
    private renderNavigationItems;
    private setGroupedLinksElementHeight;
    render(): any;
}
