import { Doc } from '../../../core';
import { DocInfo } from '../../types';
import { DocModel } from '../../../core/model';
import { FieldMeta } from '../../../capabilities/model-field-runtime/types/field';
import { IDocPayload, IDocProps, Execute } from './useDocumentFactory';
import { DesignSuiteContext } from '../../../runtime/_register_/context/DesignSuiteContext';
export interface InitializedDocument {
    doc: Doc;
    docInfo: DocInfo;
}
/**
 * 全量替换 rawData 后补跑 enrich（超链接 _href_ 等）。
 * setRawData 仅 emit('$')，不会按字段路径触发 PostChangePipeline。
 */
export declare function runDocumentPostLoadEnrichFlush(doc: Doc): Promise<void>;
/**
 * setRawData 会清空 depGraph / fieldRuntimeConfigByPath，已挂载的 overlay 不会再次 initDependency。
 * 在 refreshData、controller.setRawData 等全量换数后调用，与首次挂载 overlay 行为对齐。
 */
export declare function reinitializeDocumentFieldDependencies(doc: Doc, ctx: DesignSuiteContext): Promise<void>;
/**
 * 全量 setRawData 后的统一收尾：依赖重算 → enrich（超链接 _href_ 等）→ 排版。
 * 用于 refreshData、controller.setRawData（overlay 已挂载，不会再次 initDependency）。
 */
export declare function finalizeAfterRawDataReplace(doc: Doc, ctx: DesignSuiteContext): Promise<void>;
/** 从 Doc 实例提取响应式页面快照（与 layout 同步，供 docInfo ref 驱动 Vue） */
export declare function snapshotDocInfo(docInst?: Doc): DocInfo;
export interface PrepareFieldContextOptions {
    requestInfo: Execute['requestInfo'];
    payload: IDocPayload;
    loadSubModels?: boolean;
}
export interface DocumentFieldContext {
    mainModelKey: string;
    masterSlaveList: FieldMeta[];
}
export declare function prepareDocumentFieldContext(options: PrepareFieldContextOptions): Promise<DocumentFieldContext>;
export interface PrepareRenderDataOptions {
    requestInfo: Execute['requestInfo'];
    payload: IDocPayload;
    materialNo: string;
    query: Record<string, any>;
    instances: any[];
    subTableInfoList: any[];
    masterSlaveList: FieldMeta[];
}
export declare function prepareDocumentRenderData(options: PrepareRenderDataOptions): Promise<any>;
export declare function initializeDocumentEngine(props: IDocProps, payload: IDocPayload, result: Execute): Promise<InitializedDocument>;
/**
 * 设计态导入 docx：替换模型并完成子模型 scope、设计默认值、交互与未保存基线等收尾。
 */
export declare function finalizeDesignModelImport(doc: Doc, docModel: DocModel): Promise<void>;
