import { Wdocument, Wtbl } from './document';
import { Wstyles } from './styles';
import { Wimages } from './images';
import { Wsettings } from './settings/Wsettings';
import { Wheaders } from './headers/Wheaders';
import { Wfooters } from './footers/Wfooters';
import { Woverlays } from './overlays/Woverlays';
import { Wr } from './document/Wp';
import { Section } from '../view/Section';
import { Child } from './document/Wbody';
/**
 * Word 文档模型
 * 包含文档的所有组件（document、styles、images 等）
 * 支持编辑和往返转换
 *
 * 注：Section 作为独立节点维护在 document.body.children 中
 * 注：其他属性直接存储在实例上（settings、themes、fontTable 等）
 */
/**
 * DocModel 构造参数
 */
export interface DocModelOptions {
    document: Wdocument;
    headers: Wheaders;
    footers: Wfooters;
    styles: Wstyles;
    images: Wimages;
    settings: Wsettings;
    overlays: Woverlays;
}
export declare class DocModel {
    document: Wdocument;
    headers: Wheaders;
    footers: Wfooters;
    styles: Wstyles;
    images: Wimages;
    settings: Wsettings;
    overlays: Woverlays;
    constructor(options: DocModelOptions);
    /**
     * 从原始 DOCX JSON 转换为 DocModel 实例
     * @param json 原始 JSON (从 xml2js 转换得到)
     * @returns DocModel 实例对象
     */
    static fromXmlJson(json: any): DocModel;
    /**
     * 将 DocModel 实例转换回原始 DOCX JSON
     * 完整还原源 JSON，包括直接存储在实例上的其他属性
     * @returns 原始 JSON 格式 (可用于 xml2js 反向转换)
     */
    toXmlJson(): any;
    /** 获取所有 children */
    getAllChildren(): Child[];
    /** 获取所有表格 */
    getAllTables(): Wtbl[];
    /**
     * 获取所有同时存在 widgetMeta 和 valuePath 的实例
     * @returns Wr 实例数组（包含 widgetMeta 和 valuePath 的文本或图片 run）
     */
    getWidgetInstances(): Wr[];
    /** 获取子表信息列表 */
    getSubTableInfoList(): {
        field: string;
        key: string;
        name: string;
        subType: string;
    }[];
    /**
     * 根据版面数据分组 / 动态关联铺砖，计算子表字段在 rawData 中应初始化的行数。
     *
     * - 固定表：槽位归 subFieldKey（bounded + itemRegion）
     * - 二维表 / 检验表：动态分组铺砖槽位归 linkFieldKey（如 f_jianyan2）；
     *   纵向 subFieldKey（如 f_jianyan1）由检验项条数撑行，返回 0
     * - 其它子表无分组：返回 1
     */
    getSubTableLayoutSlotCount(subFieldKey: string): number;
    /** 根据 pageIndex 获取页眉实例 */
    getHeader(pageIndex: number, section: Section): import('./headers/Wheader').Wheader | null;
    /** 根据 pageIndex 获取页脚实例 */
    getFooter(pageIndex: number, section: Section): import('./footers/Wfooter').Wfooter | null;
    /** 获取章节对应的浮层实例 */
    getOverlay(section: Section): import('./overlays/Woverlay').Woverlay | null;
    private collectSecPrs;
    private collectScopedImagesFromHeaderFooter;
}
