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