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