import { NavigationData, NavigationNode, NavigationResult, NodeId, NavigationPosition, MoveNavigationNodeResult, MovePageCollectionResult, PageId, PageNavigationData, PageNavigationNode, NavigationDataType, NavigationNodeQuery, MovePageCollectionValidationResult } from "../models"; import { HttpClient } from "@omnia/fx"; import { GuidValue } from "@omnia/fx-models"; export declare class NavigationService { protected httpClient: HttpClient; protected readonly baseUrl = "api/navigation"; /** * /// /// Creates a new navigation node of a defined type /// Inserted under a supplied parent /// Sorted between siblings, a combination of after/before /// /// /// Sort example /// Last: /// after:Null /// before:Null /// Result: last /// /// First: /// after:Null /// before:Current first /// /// Between: /// after:Node on Index7 /// before:Node on Index 8 /// result: Between, new node will be child index8, previous 8 will be index 9 /// /// Throws SortException if the current state does not match after/before supplied, i.e. concurrent change etc. /// Throws Notfound exception if any of the nodes does not exist /// /// A type of NavigationData /// A navigation node of a certain type, /// e.g. / or another custom type inheriting from /// Null for root, or the parent under which to place the new node */ create: (nodeData: T, position: NavigationPosition) => Promise>; /** * Updates the data part of a navigation node i.e. NavigationNode.navigationData **/ updateNodeData: >(node: T) => Promise; move: >(nodeToMove: T, newPosition: NavigationPosition) => Promise; movePageCollection: (pageCollectionId: number, targetPublishingAppId: string) => Promise; validateMovingPageCollection: (pageCollectionId: number, targetPublishingAppId: string) => Promise; getParentNodes: >(nodeToGetParentsFor: T, nodeTypes?: NavigationDataType) => Promise>>; getChildNodes: >(nodeToGetParentsFor: T, nodeTypes?: NavigationDataType, depth?: number, forceFromPublishingAppId?: string) => Promise>>; getMegamenuChildNodes: >(nodeToGetParentsFor: T, nodeTypes?: NavigationDataType, depth?: number, forceFromPublishingAppId?: string) => Promise>>; getMegamenusChildNodes: >(nodesToGetParentsFor: NavigationNodeQuery[], nodeTypes?: NavigationDataType) => Promise>>; getUnavailableDirectChildNodes: >(nodeToGet: T) => Promise>>; getNodesByIds: (nodeIds: Array) => Promise<{ [nodeId: number]: NavigationNode; }>; getNavigationByNode: (node: NavigationNode, nodeTypes?: NavigationDataType) => Promise; getNavigationByPath: (path: string, nodeTypes?: NavigationDataType, appInstanceId?: string) => Promise; getNavigationByUrl: (url: string, nodeTypes?: NavigationDataType) => Promise; getNodesByPageIds: (...args: Array) => Promise<{ [pageId: number]: PageNavigationNode[]; }>; checkUrlSegmentExists: (appInstanceId: GuidValue, parentNavigationNode: NavigationNode, urlSegment: string) => Promise; }