import { CfiManager } from '../../cfi'; import { Context } from '../../context/Context'; import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager'; import { SpineLocator } from '../../spine/locator/SpineLocator'; import { Spine } from '../../spine/Spine'; import { SpineItemsManager } from '../../spine/SpineItemsManager'; import { SpinePosition, UnboundSpinePosition } from '../../spine/types'; import { SpineItem } from '../../spineItem/SpineItem'; import { SpineItemPosition } from '../../spineItem/types'; import { Viewport } from '../../viewport/Viewport'; import { NavigationVisibleArea, SpineBoundary } from '../types'; import { getNavigationForSpineItemPage } from './getNavigationForSpineItemPage'; export declare const NAMESPACE = "spineNavigator"; export type NavigationResolver = ReturnType; export declare const createNavigationResolver: ({ context, spineItemsManager, locator, settings, spine, viewport, cfi: cfiManager, }: { cfi: CfiManager; context: Context; spineItemsManager: SpineItemsManager; locator: SpineLocator; settings: ReaderSettingsManager; spine: Spine; viewport: Viewport; }) => { getNavigationForUrl: (url: string | URL) => { position: SpinePosition; spineItemId: string; } | undefined; getNavigationForSpineItemPage: (params: Omit[0], "spineItemsManager" | "spineItemNavigationResolver" | "spineLocator" | "viewport">) => SpinePosition; getNavigationFromSpineItemPosition: (params: { spineItemPosition: SpineItemPosition; spineItem: SpineItem; }) => SpinePosition; getNavigationForCfi: (cfi: string) => SpinePosition | undefined; getNavigationForLastPage: (spineItem: SpineItem) => SpinePosition; getNavigationForSpineIndexOrId: (indexOrId: number | string | SpineItem) => SpinePosition; getNavigationForPosition: (viewportPosition: SpinePosition | UnboundSpinePosition) => SpinePosition; getMostPredominantNavigationForPosition: (viewportPosition: SpinePosition) => SpinePosition; clampPositionInSpine: (position: SpinePosition | UnboundSpinePosition, size: NavigationVisibleArea) => UnboundSpinePosition; getBoundaryForPosition: (position: SpinePosition | UnboundSpinePosition, size?: NavigationVisibleArea) => SpineBoundary | undefined; isNavigationGoingForwardFrom: (to: SpinePosition, from: SpinePosition) => boolean; arePositionsDifferent: (a: { x: number; y: number; }, b: { x: number; y: number; }) => boolean; getAdjustedPositionForSpread: (position: SpinePosition | UnboundSpinePosition) => SpinePosition | UnboundSpinePosition; spineItemNavigator: { getNavigationForLastPage: (spineItem: SpineItem) => SpineItemPosition; getNavigationForPosition: (spineItem: SpineItem, position: SpineItemPosition) => SpineItemPosition; getNavigationFromNode: (spineItem: SpineItem, node: Node, offset: number) => SpineItemPosition; }; };