import type { ComponentProps, ElementType, ReactElement, ReactNode } from 'react';
import type { DashboardSidebarCounter } from '../../DashboardSidebarCounter';
import type { ListProps } from './List';
export type CounterProps = {
    /**
     * Компонент SidebarCounter
     */
    component: typeof DashboardSidebarCounter;
    /**
     * Максимальное число которое отобразится в счетчике
     */
    max?: number;
    /**
     * Число счетчика
     */
    count?: number;
};
export type ItemProps<TComponent extends ElementType = ElementType> = {
    collapsedIn: boolean;
    item: [
        key: string,
        value: {
            icon: ReactElement;
            text: ReactNode;
            /**
             * Объект счетчика элемента меню
             */
            counter?: CounterProps;
            active?: boolean;
            items?: ListProps['items'];
            component?: TComponent;
        } & Omit<ComponentProps<ElementType extends TComponent ? 'button' : TComponent>, ''>
    ];
};
