import { LayoutProcessor } from "./layout.js"; import Mutations from "./mutations.js"; import type { CssContextOptions } from "./css.js"; import type { Areas, LayoutProcessorEvents, LayoutProcessorOptions } from "./layout.js"; import type { GCPMContext } from "./gcpm.js"; export declare class Fragment { container: HTMLElement; body: HTMLElement; area: HTMLElement; areas: Areas; number: number; } export interface FragmentorOptions extends LayoutProcessorOptions, CssContextOptions { dest?: HTMLElement; maxFragmentTextLength: number; mutationsCommitLevel: 'fragment' | 'processor'; } export interface FragmentorEvents extends LayoutProcessorEvents { 'fragment-start': { fragment: Fragment; }; 'fragment-end': { fragment: Fragment; }; } export declare abstract class Fragmentor extends LayoutProcessor { static defaultOptions: FragmentorOptions; dest: HTMLElement; fragments: Fragment[]; currentFragment: Fragment; currentFragMut: Mutations; imagesToLoad: Set; logNoValidBreakPoint: boolean; protected constructor(source: string | HTMLElement, gcpmCtx: GCPMContext, options?: Partial); onFragmentStart(fragment: Fragment, forcedBreak: boolean): void; onFragmentBreak(fragment: Fragment): void; setLastBreakedHeight(container: HTMLElement): void; addImagesToLoad(fragment: Fragment): void; } export declare function createAreas(fragment: Fragment, areasProp?: string): void;