import type { IComputedValue } from "mobx";
import type { SetRequired } from "type-fest";
import type { StrictReactNode } from "@openlens/utilities";
export interface SidebarItemRegistration {
    id: string;
    parentId: string | null;
    title: StrictReactNode;
    onClick: () => void;
    getIcon?: () => StrictReactNode;
    isActive?: IComputedValue<boolean>;
    isVisible?: IComputedValue<boolean>;
    orderNumber: number;
}
export declare const sidebarItemsInjectionToken: import("@ogre-tools/injectable").InjectionToken<IComputedValue<SidebarItemRegistration[]>, void>;
export interface HierarchicalSidebarItem extends SetRequired<SidebarItemRegistration, "isActive" | "isVisible"> {
    children: HierarchicalSidebarItem[];
}
declare const sidebarItemsInjectable: import("@ogre-tools/injectable").Injectable<IComputedValue<HierarchicalSidebarItem[]>, unknown, void>;
export default sidebarItemsInjectable;
