import { MaterialConsumeTableController } from './material-consume-table-controller';
import { IBomEntry, IFormTmplBom, IMaterialConsumeData } from '../../../../../types/material.type';
interface FormInstBomResponse {
    bomEntries?: any[];
    formTmplBomList?: any[];
    productionIdentificationId?: string;
    qty?: number;
    sequenceEntries?: any[];
}
/**
 * 表单模板bom配置控制器（物料消耗表）
 * @export
 * @class FormTmplBomController
 */
export declare class FormTmplBomController {
    /** 实例bom配置信息 */
    formInstBom: FormInstBomResponse | null;
    /** 工序id */
    operationId: string;
    /** 批次/sn */
    materialNo: string;
    /** 历史填报数据 */
    historyData: IMaterialConsumeData[];
    /** 表单控制器(key是 valuePath) */
    tableControllers: Record<string, MaterialConsumeTableController>;
    /** 字段key和tableKey的映射 */
    field2TableMap: Record<string, string>;
    constructor();
    /**
     * 判断使用场景，不符合的报错提示
     * @param opts
     */
    judgeScene(opts: {
        cloneRuntimeJson: any;
        selfInfo: any;
    }): void;
    /**
     * 批次数量
     * @readonly
     */
    get materialNoNum(): number;
    /**
     * bom模块配置关联过来的bom明细集合
     * @readonly
     */
    get bomEntries(): IBomEntry[];
    /** 表单模板bom信息配置列表 */
    get tmplBomList(): IFormTmplBom[];
    /**
     * bom那边指定的当前工序的开关
     * @readonly
     */
    get enableSequenceLoading(): boolean;
    /**
     * 初始化模板的物料消耗的配置
     */
    init(data: {
        formInstBom: FormInstBomResponse;
        operationId: string;
        materialNo: string;
    }): Promise<void>;
    /**
     * 根据字段key获取子表控制器
     */
    /**
     * 处理字段组件
     * - 补充物料字段的额外查询条件
     */
    /**
     * 处理默认值，
     * - 补充行数据的工序默认值
     * @param defaultMap
     */
    handleDefaultMap(defaultMap: Record<string, any>): void;
    submitValidate(showMsg: any, notifyCallback: any): Promise<void>;
}
export {};
