import type { NavigationTreeDataItem, NavigationTreeNodePartialState, NavigationTreeNodeState, NavigationTreeServiceNode, NavigationTreeState } from './types'; export declare enum NavigationTreeActionType { ToggleCollapsed = "toggle-collapsed", StartLoading = "start-loading", FinishLoading = "finish-loading", ErrorLoading = "error-loading", ResetNode = "reset-node" } export type NavigationTreeAction = { type: NavigationTreeActionType.ToggleCollapsed; payload: { path: string; }; } | { type: NavigationTreeActionType.StartLoading; payload: { path: string; /** Monotonic id captured at dispatch time; written into node state. */ requestId: number; }; } | { type: NavigationTreeActionType.FinishLoading; payload: { path: string; activePath?: string; data: NavigationTreeDataItem[]; /** Id of the `StartLoading` this result belongs to; stale ones are dropped. */ requestId: number; }; } | { type: NavigationTreeActionType.ErrorLoading; payload: { path: string; error: unknown; /** Id of the `StartLoading` this error belongs to; stale ones are dropped. */ requestId: number; }; } | { type: NavigationTreeActionType.ResetNode; payload: { path: string; }; }; export declare function getDefaultNodeState(): { collapsed: boolean; loading: boolean; loaded: boolean; error: boolean; children: never[]; requestId: number; }; export declare function getNodeState(partialState: NavigationTreeNodePartialState): NavigationTreeNodeState; export declare function reducer(state: NavigationTreeState | undefined, action: NavigationTreeAction): NavigationTreeState; export declare function selectTreeAsList(state: NavigationTreeState, rootPath: string): (NavigationTreeNodeState | NavigationTreeServiceNode)[];