import { Context } from '../context/Context'; import { ReaderSettingsManager } from '../settings/ReaderSettingsManager'; import { ReactiveEntity } from '../utils/ReactiveEntity'; import { AbsoluteViewport, RelativeViewport } from './types'; import { Observable } from 'rxjs'; type State = { element: HTMLElement; pageSize: { width: number; height: number; }; width: number; height: number; }; export declare class Viewport extends ReactiveEntity { protected context: Context; protected settingsManager: ReaderSettingsManager; private layoutSubject; readonly layout$: Observable; constructor(context: Context, settingsManager: ReaderSettingsManager); protected calculatePageSize(layout: { width: number; height: number; }): { width: number; height: number; }; private syncAbsoluteViewportCssVariables; layout(): void; get absoluteViewport(): AbsoluteViewport; get pageSize(): { width: number; height: number; }; get scaleFactor(): number; get relativeViewport(): RelativeViewport; destroy(): void; } export {};