import { ContentRenderer, PageCompositor, PageSurface, PageSurfaceComposeOutcome, PageSurfaceDecorator, PageSurfaceRequest } from './page-surface'; import { ReaderMark } from './renderer'; export interface PageSurfacePipelineDecoratorContext { getMarks(): ReaderMark[]; } export interface PageSurfacePipelineConfig { readonly contentRenderer: ContentRenderer; readonly compositor: PageCompositor; readonly createDecorators?: (context: PageSurfacePipelineDecoratorContext) => readonly PageSurfaceDecorator[]; } export type PageSurfacePipelineRenderResult = PageSurfaceComposeOutcome | Promise | null> | null; export declare class PageSurfacePipeline { private readonly marks; private readonly controller; constructor(config: PageSurfacePipelineConfig); render(context: TContext, target?: TTarget, request?: PageSurfaceRequest): PageSurfacePipelineRenderResult; clear(): void; destroy(): void; setMark(mark: ReaderMark): void; removeMark(id: string): void; clearMarks(kind?: string): void; getMarks(): ReaderMark[]; getCurrentSurface(): TSurface | null; } export declare const createPageSurfacePipeline: (config: PageSurfacePipelineConfig) => PageSurfacePipeline; //# sourceMappingURL=surface-pipeline.d.ts.map