import { ReactElement, ReactNode } from 'react';
import icons from './icons/index';
import { Indexable } from './zIndex';
type IconType = keyof typeof icons | {
    __path: string;
};
type Display = 'expandable' | 'static';
type BadgeType = {
    text: string;
    type?: 'info' | 'error' | 'warning' | 'success' | 'neutral';
};
type Counter = {
    number: string;
    accessibilityLabel: string;
};
export type Props = {
    /**
     * When supplied, will display a [Badge](https://gestalt.pinterest.systems/web/badge) next to the item's label. See the [Badges](https://gestalt.pinterest.systems/web/sidenavigation#Badge) variant to learn more.
     */
    badge?: BadgeType;
    /**
     * Content of the group. See [nested directory](https://gestalt.pinterest.systems/web/sidenavigation#Nested-directory) variant for more information.
     */
    children: ReactNode;
    /**
     * When supplied, will display a counter. See the [Counter](https://gestalt.pinterest.systems/web/sidenavigation#Counter) variant to learn more.
     */
    counter?: Counter;
    /**
     * Nested directories can be static or expandable.  See the [group display variant](https://gestalt.pinterest.systems/web/sidenavigation#Group-display) to learn more.
     */
    display?: Display;
    /**
     * When passed SideNavigation.Group becomes a controlled component. If not passed, it stays uncontrolled. See the [controlled group display variant](https://gestalt.pinterest.systems/web/sidenavigation#Group-display) to learn more. This functionality is not supported in mobile.
     */
    expanded?: boolean;
    /**
     * When supplied, will display Icon. See the [Icon](https://gestalt.pinterest.systems/web/sidenavigation#Icon) variant to learn more.
     */
    icon?: IconType;
    /**
     * Label for the group. See [nested directory](https://gestalt.pinterest.systems/web/sidenavigation#Nested-directory) variant for more information.
     */
    label: string;
    /**
     *  When supplied, will display a notification dot. See the [Notification](https://gestalt.pinterest.systems/web/sidenavigation#Notification) variant to learn more.
     */
    notificationAccessibilityLabel?: string;
    /**
     * Callback fired when the expand button component is clicked and the component is controlled.This functionality is not supported in mobile.
     */
    onExpand?: (arg1: {
        expanded: boolean;
    }) => void;
    /**
     * The primary action for each group. See the [primary action variant](https://gestalt.pinterest.systems/web/sidenavigation#Primary-action) to learn more.
     */
    primaryAction?: {
        icon?: 'ellipsis' | 'edit' | 'trash-can';
        onClick?: (arg1: {
            event: React.MouseEvent<HTMLDivElement> | React.KeyboardEvent<HTMLDivElement>;
        }) => void;
        tooltip: {
            accessibilityLabel?: string;
            text: string;
            zIndex?: Indexable;
        };
        dropdownItems?: ReadonlyArray<ReactElement>;
    };
};
/**
 * Use [SideNavigation.Group](https://gestalt.pinterest.systems/web/sidenavigation#SideNavigation.Group) to hold SideNavigation.NestedItem and SideNavigation.NestedGroup at the top level of SideNavigation. It supports badges, icons, counters, and notifications.
 */
declare function SideNavigationGroup({ badge, children, counter, display, expanded: expandedProp, icon, notificationAccessibilityLabel, label, onExpand, primaryAction, }: Props): import("react/jsx-runtime").JSX.Element;
declare namespace SideNavigationGroup {
    var displayName: string;
}
export default SideNavigationGroup;
