import { Dispatcher, EventBus } from '../../bus';
import { RenderingStates } from '../../enums';
import { RenderingQueue } from './rendering-queue';
import * as pdfjs from '@/pdfjs';
export declare abstract class RenderView extends Dispatcher implements pdfjs.IRenderableView {
    readonly options: {
        id: number;
        eventBus: EventBus;
        viewport: pdfjs.PageViewport;
        scale?: number;
        rotation?: number;
        renderingQueue?: RenderingQueue;
    };
    readonly div: HTMLDivElement;
    private _pdfPage?;
    private pdfPageRotate;
    protected _viewport: pdfjs.PageViewport;
    protected _scale: number;
    protected _rotation: number;
    private loadingId?;
    private _renderingState;
    private renderTask?;
    protected renderError?: any;
    resume: (() => void) | null;
    constructor(options: {
        id: number;
        eventBus: EventBus;
        viewport: pdfjs.PageViewport;
        scale?: number;
        rotation?: number;
        renderingQueue?: RenderingQueue;
    });
    protected abstract updateDimensions(): void;
    get id(): number;
    get eventBus(): EventBus<Record<string, import('../../bus').ListenerCallback>, string>;
    get name(): string;
    get renderingId(): string;
    get renderingState(): RenderingStates;
    set renderingState(state: RenderingStates);
    get isRenderingInitial(): boolean;
    get isRenderingFinished(): boolean;
    get pdfPage(): import('pdfjs-dist/types/src/display/api').PDFPageProxy | undefined;
    get viewport(): import('pdfjs-dist/types/src/display/display_utils').PageViewport;
    get scale(): number;
    get rotation(): number;
    markAsRenderingFinished(dispatchEvent?: boolean): void;
    protected setViewport(scale?: number, clone?: boolean): void;
    setPdfPage(pdfPage: pdfjs.PDFPageProxy): void;
    destroy(): void;
    reset(): void;
    cancelRendering(): void;
    protected cancel(extraDelay?: number): void;
    protected abstract render(): Promise<pdfjs.RenderTask>;
    draw(): Promise<any>;
    protected finishRenderTask(renderTask: pdfjs.RenderTask, error?: any): Promise<any>;
}
