import { type RefObject } from "react";
import { type List } from "react-virtualized";
import { type FlattenedNode, type SidebarNode } from "../../types.js";
type SidebarContextType = {
    nodes: SidebarNode[];
    flattenedNodes: FlattenedNode[];
    expandedNodes: Set<string>;
    pinnedNodePath: SidebarNode[];
    maxDepth: number;
    searchTerm: string;
    searchResults: SidebarNode[];
    isSearching: boolean;
    activeSearchIndex: number;
    activeNodeId?: string;
    isStatusFilterEnabled: boolean;
    virtualListRef: RefObject<List>;
    toggleNode: (nodeId: string) => void;
    openNode: (nodeId: string, openPath?: boolean, scrollTo?: boolean) => void;
    closeNode: (nodeId: string) => void;
    togglePin: (nodeId: string) => void;
    openLevel: (level: number) => void;
    changeSearchTerm: (newTerm: string) => void;
    nextSearchResult: () => void;
    previousSearchResult: () => void;
    setNodes: (newNodes: SidebarNode[]) => void;
    syncActiveNodeId: (nodeId?: string) => void;
    onActiveNodeChange: (node: SidebarNode) => void;
    setActiveNodeChangeCallback: (callback: (node: SidebarNode) => void) => void;
    toggleStatusFilter: () => void;
};
interface SidebarProviderProps extends React.PropsWithChildren {
    nodes?: SidebarNode[];
}
declare const SidebarProvider: ({ children, nodes: initialNodes, }: SidebarProviderProps) => import("react/jsx-runtime").JSX.Element;
declare const useSidebar: () => SidebarContextType;
export { SidebarProvider, useSidebar };
//# sourceMappingURL=sidebar-provider.d.ts.map