import { ParserOptions } from '../../core/parser'; import { RendererNavigationHooks } from '../../core/renderer'; import { RebookPluginLike } from '../../core/extensions'; import { ReaderSession } from '../../core/reader'; import { BrowserContentEngine, BrowserContentEngineRoute } from './content-engine'; import { BrowserRendererConfig } from './renderer'; import { BrowserFixedRendererConfig } from './fixed'; export interface BrowserContentEngineRouteContext { readonly hooks?: RendererNavigationHooks; } export interface BrowserConfiguredContentEngineRoute { readonly id: string; match: BrowserContentEngineRoute['match']; createEngine(context: BrowserContentEngineRouteContext): BrowserContentEngine; } export interface ReaderConfig extends BrowserRendererConfig { /** Parser options */ parserOptions?: ParserOptions; /** Plugins to transform the book before rendering */ plugins?: readonly RebookPluginLike[]; /** * Content-engine override for fixed/page-native books. When omitted, * ReaderView mounts BrowserFixedRenderer behind BrowserAdaptiveRenderer. */ createFixedContentEngine?: (hooks?: RendererNavigationHooks) => BrowserContentEngine; fixedPageRenderer?: BrowserFixedRendererConfig['fixedPageRenderer']; fixedContentRenderer?: BrowserFixedRendererConfig['fixedContentRenderer']; fixedPainter?: BrowserFixedRendererConfig['fixedPainter']; fixedPainters?: BrowserFixedRendererConfig['fixedPainters']; /** Custom fixed-page visual renderers evaluated before the built-in fixed-page painter renderer. */ fixedVisualRenderers?: BrowserFixedRendererConfig['fixedVisualRenderers']; devicePixelRatio?: BrowserFixedRendererConfig['devicePixelRatio']; /** * Content-engine override for reflowable books. When omitted, ReaderView * mounts BrowserRenderer behind BrowserAdaptiveRenderer. */ createReflowableContentEngine?: (hooks?: RendererNavigationHooks) => BrowserContentEngine; /** * Additional browser content-engine routes, evaluated before the default * fixed and reflowable routes. */ contentEngineRoutes?: readonly BrowserConfiguredContentEngineRoute[]; } /** * Browser reader that combines parsing and BrowserRenderer. */ export declare class ReaderView extends ReaderSession { constructor(config: ReaderConfig); } /** * Create a new browser ReaderView instance. */ export declare const createReader: (config: ReaderConfig) => ReaderView; //# sourceMappingURL=view.d.ts.map