import BaseMapping, { ICfg } from './base';
import { RatePlanDto } from '../dto';
interface IRatePlanBaseMapping {
    readonly rule: RatePlanDto;
}
export declare abstract class RatePlanBaseMapping<T extends RatePlanDto> extends BaseMapping<T> implements IRatePlanBaseMapping {
    constructor(config: ICfg);
    abstract get rule(): T;
    /**
     * 执行多个价格计划匹配逻辑函数
     *
     * @param {any[]} rateplans 待匹配数据
     * @param {boolean} [withRawData=true] 是否保留元数据
     * @param {*} [parameter] mapping 函数执行时的额外参数
     * @returns {Promise<RatePlanDto[]>}
     * @memberof RatePlanBaseMapping
     */
    doBatchMapping(rateplans: any[], withRawData?: boolean, parameter?: any): Promise<T[]>;
    /**
     * 执行单个价格计划匹配逻辑函数
     *
     * @param {*} rateplan 待匹配数据
     * @param {boolean} [withRawData=true] 是否保留原数据
     * @param {*} [parameter] mapping 函数执行时的额外参数
     * @returns {Promise<RatePlanDto>}
     * @memberof RatePlanBaseMapping
     */
    doMapping(rateplan: any, withRawData?: boolean, parameter?: any): Promise<T>;
}
export {};
