import React from "react"; type PinnedItemData = { id: string; text: React.ReactNode; icon?: React.ReactNode; to?: string; onClick?: React.MouseEventHandler; active?: boolean; }; type SidebarContext = { state: "expanded" | "collapsed"; expanded: boolean; expandedSections: string[]; pinned: boolean; transition: null | "expanding" | "collapsing"; setExpanded: (expanded: boolean) => void; toggleExpanded: () => void; togglePinned: () => void; toggleSectionExpanded: (sectionId: string) => void; isSectionExpanded: (sectionId: string) => boolean; pinnedItems: string[]; toggleItemPinned: (itemId: string) => void; isItemPinned: (itemId: string) => boolean; registerPinnedItem: (data: PinnedItemData) => void; unregisterPinnedItem: (itemId: string) => void; getPinnedItemsData: () => PinnedItemData[]; }; declare const SidebarContext: React.Context; declare function useSidebar(): SidebarContext; type SidebarCachedState = { pinned: boolean; expandedSections: string[]; pinnedItems: string[]; }; type SidebarProviderProps = React.HTMLAttributes & { state?: SidebarCachedState; onChangeState?: (state: SidebarCachedState) => void; }; declare const SidebarProvider: { ({ className, children, state: cachedState, onChangeState, ...props }: SidebarProviderProps): React.JSX.Element; displayName: string; }; export { SidebarProvider, useSidebar, type PinnedItemData };