import { XmlData } from './ofdData';
import { OfdDocument } from './ofdDocument';
/**
 * OfdRender 类用于渲染 OFD 文档。
 *
 * @class OfdRender
 * @property {OfdDocument} ofdDocument - OFD 文档对象
 * @property {XmlData[]} pages - 文档的页面数据
 * @property {HTMLDivElement | null} rootContainer - 整个渲染的根容器
 */
export declare class OfdRender {
    #private;
    ofdDocument: OfdDocument;
    pages: XmlData[];
    scrollContainer: HTMLDivElement;
    rootContainer: HTMLDivElement;
    currentPageIndex: number;
    constructor(ofdDocument: OfdDocument);
    /**
     * 使用自定义的div来渲染OFD文档
     * @param width 宽度
     * @param height 高度
     * @param pageWrapStyle 页面的样式
     * @returns
     */
    renderOfdWithSize(width: string, height: string, pageWrapStyle?: string | null): HTMLDivElement;
    /**
     * 使用自定义的div来渲染OFD文档
     * @param customDiv 自定义的div
     * @param pageWrapStyle 页面的样式
     */
    renderOfdWithCustomDiv(customDiv: HTMLDivElement, pageWrapStyle?: string | null): HTMLDivElement;
    renderOfdWithPageIndexWithScale(pageIndex: number, customDiv: HTMLDivElement, pageWrapStyle: string | null | undefined, scale: number): void;
    renderOfdWithPageIndex(pageIndex: number, customDiv: HTMLDivElement, pageWrapStyle?: string | null): void;
    changeScale(scale: number): void;
    renderOfdWithScale(rootDiv: HTMLDivElement, scale: number, pageWrapStyle?: string | null): void;
    render(rootContainer: HTMLDivElement, wrapStyle: string | null): void;
    /**
     * 放大文档
     * 每次放大 10%
     */
    zoomIn(): void;
    /**
     * 缩小文档
     * 每次缩小 10%，但不小于 0.1
     */
    zoomOut(): void;
    /**
     * 应用指定的缩放比例
     * @param newScale 新的缩放比例
     */
    applyZoom(rootContainer: HTMLDivElement, newScale: number): void;
    /**
     * 调整容器和内容的位置
     * @param originalWidth 原始宽度
     * @param scale 缩放比例
     */
    private adjustContainerAndPosition;
    /**
     * 重置缩放到初始比例
     */
    resetZoom(): void;
    /**
     * 获取滚动容器
     * @returns
     */
    getScrollContainer(): HTMLDivElement;
    /**
     * 添加滚动页面监听
     * @param rootContainer
     */
    private addScrollListener;
}
