import { Icon } from '@phosphor-icons/react'; import * as React_2 from 'react'; export declare interface ArticleNavItem extends Omit { status?: 'discovery' | 'unpublished' | 'draft'; hasChildren?: boolean; isLoadingChildren?: boolean; items?: ArticleNavItem[]; } export declare type ItemLinkComponent = React_2.ComponentType & { 'data-sidebar-item-id'?: string; 'data-sidebar-item-type'?: 'app' | 'article' | 'section'; }>; export declare const Sidebar: React_2.ForwardRefExoticComponent>; declare interface SidebarContextProps { collapsed: boolean; ItemLinkComponent: ItemLinkComponent; activeArticleId?: string; onSelectArticle?: (id: string) => void; onExpandArticle?: (id: string) => void; onSearchArticles?: (value: string) => void; onAddArticle?: (parentId: string | null) => Promise; onMoreActions?: (articleId: string) => void; canMoveArticle?: (move: { id: string; parentId: string | null; index: number; }) => boolean; onMoveArticle?: (moved: { id: string; parentId: string | null; index: number; }) => void | Promise; } export declare interface SidebarContextValue extends SidebarContextProps { handleSearchArticles: (value: string) => void; isSearching: boolean; searchValue: string; setSearchValue: React_2.Dispatch>; /** Set when user selects from search results; tree uses this until activeArticleId catches up */ lastSelectedArticleId: string | null; setLastSelectedArticleId: React_2.Dispatch>; } export declare interface SidebarNavItem { id: string; label: string; href: string; Icon?: Icon; items?: SidebarNavItem[]; } export declare interface SidebarProps extends React_2.ComponentPropsWithoutRef<'aside'>, SidebarContextProps { showAppBack?: boolean; onAppBack?: () => void; appNavItems?: SidebarNavItem[]; appNavActiveId?: string; showArticles?: boolean; isLoadingArticles?: boolean; articles?: ArticleNavItem[]; sectionNavItems?: SidebarNavItem[]; sectionNavActiveId?: string; } export declare function useSidebar(): SidebarContextValue; export { }