import { DiffType } from "../enums/diffType"; import { ICompareOptions } from "../interface/ICompareOptions"; import { BaseDiffField } from "../policys/BaseDiffField"; /** * 默认策略工厂 * * @export * @class DefaultPolicyFactory */ export declare class DefaultPolicyFactory { static policyMap: Map; constructor(); static version(): void; /** * 创建对应类的代理 * * create proxy for corresponding class * @param c 策略类 * @param originRawObj * @param comparingRawObj * @param compareOptions * @returns */ static createProxy(c: new (origin: any, comparing: any, compareOptions: ICompareOptions) => T, originRawObj: any, comparingRawObj: any, compareOptions: ICompareOptions): BaseDiffField; /** * 比较两个对象,返回比较结果对象 * * Compare two objects, return the comparison object * @template T * @param {*} originRawObj * @param {*} comparingRawObj * @param {ICompareOptions} [compareOptions] * @return {*} {T} * @memberof DefaultPolicyFactory */ produce(originRawObj: any, comparingRawObj: any, compareOptions?: ICompareOptions): T; /** * 比较两个对象,返回比较结果对象 * * Compare two objects, return the comparison object * @template T * @param {*} originRawObj * @param {*} comparingRawObj * @param {ICompareOptions} [compareOptions] * @return {*} {T} * @memberof DefaultPolicyFactory */ compare(originRawObj: any, comparingRawObj: any, compareOptions?: ICompareOptions): T; /** * 比较两个对象,返回比较结果 * * Compare two objects, return the comparison result * @param originRawObj * @param comparingRawObj * @param compareOptions * @returns */ compareResult(originRawObj: any, comparingRawObj: any, compareOptions?: ICompareOptions): DiffType; /** * 添加策略 * * Add comparison policy * @param type * @param policy */ addPolicy(type: string, policy: BaseDiffField): void; } //# sourceMappingURL=defaultPolicyFactory.d.ts.map