import { Context } from '../../context/Context'; import { ReaderSettingsManager } from '../../settings/ReaderSettingsManager'; import { createSpineItemLocator } from '../../spineItem/locationResolver'; import { SpineItem } from '../../spineItem/SpineItem'; import { SpineItemPosition } from '../../spineItem/types'; import { ViewportSlicePosition } from '../../viewport/types'; import { Viewport } from '../../viewport/Viewport'; import { SpineItemsManager } from '../SpineItemsManager'; import { SpineLayout } from '../SpineLayout'; import { SpinePosition, UnboundSpinePosition } from '../types'; import { getAbsolutePageIndexFromPageIndex } from './getAbsolutePageIndexFromPageIndex'; import { getVisibleSpineItemsFromPosition } from './getVisibleSpineItemsFromPosition'; import { UnboundSpineItemPagePosition } from '../..'; export type SpineLocator = ReturnType; export declare const createSpineLocator: ({ spineItemsManager, context, spineItemLocator, settings, spineLayout, viewport, }: { spineItemsManager: SpineItemsManager; context: Context; spineItemLocator: ReturnType; settings: ReaderSettingsManager; spineLayout: SpineLayout; viewport: Viewport; }) => { getSpinePositionFromSpineItemPosition: ({ spineItem, spineItemPosition, }: { spineItemPosition: SpineItemPosition; spineItem: SpineItem; }) => SpinePosition; _getAbsolutePageIndexFromPageIndex: (params: Omit[0], "context" | "settings" | "spineLayout" | "spineItemsManager">) => number | undefined; getSpineItemPagePositionFromSpinePosition: (spinePosition: UnboundSpinePosition | SpinePosition) => { spineItem: SpineItem; spineItemPageIndex: number; spineItemPagePosition: UnboundSpineItemPagePosition; pageSize: { width: number; height: number; }; } | undefined; getSpinePositionFromSpineItem: (spineItem: SpineItem) => SpinePosition; getSpineItemPositionFromSpinePosition: (position: SpinePosition | UnboundSpinePosition, spineItem: SpineItem) => SpineItemPosition; getSpineItemFromPosition: (position: SpinePosition | UnboundSpinePosition) => SpineItem | undefined; getSpineItemFromIframe: (iframe: Element) => SpineItem | undefined; getSpineItemPageIndexFromNode: (node: Node, offset: number | undefined, spineItemOrIndex: SpineItem | number) => number | undefined; getVisibleSpineItemsFromPosition: (params: Omit[0], "spineItemsManager" | "settings" | "spineLayout" | "viewport">) => { beginIndex: number; endIndex: number; } | undefined; getVisiblePagesFromViewportPosition: (params: Omit { beginPageIndex: number; endPageIndex: number; } | undefined>[0], "viewport">) => { beginPageIndex: number; endPageIndex: number; } | undefined; isPositionWithinSpineItem: (position: ViewportSlicePosition | SpinePosition | UnboundSpinePosition, spineItem: SpineItem) => boolean; spineItemLocator: { getSpineItemPositionFromNode: (node: Node, offset: number, spineItem: SpineItem) => SpineItemPosition | undefined; getSpineItemPositionFromPageIndex: ({ pageIndex, spineItem, }: { pageIndex: number; spineItem: SpineItem; }) => SpineItemPosition; getSpineItemPageIndexFromPosition: (params: { position: SpineItemPosition; isUsingVerticalWriting: boolean; itemWidth: number; itemHeight: number; }) => number; getSpineItemPageIndexFromNode: (node: Node, offset: number, spineItem: SpineItem) => number | undefined; getSpineItemClosestPositionFromUnsafePosition: (unsafePosition: SpineItemPosition, spineItem: SpineItem) => SpineItemPosition; getSpineItemPagePositionFromSpineItemPosition: (position: SpineItemPosition, pageIndex: number, spineItem: SpineItem) => UnboundSpineItemPagePosition; }; getSafeSpineItemPositionFromUnsafeSpineItemPosition: (unsafePosition: SpineItemPosition, spineItem: SpineItem) => SpineItemPosition; };