import { EmissionFactor, FuelType } from '../../euets/src';
/**
 * 船船CII相关属性
 */
export interface CIIProps {
    name?: string;
    imo?: number;
    mmsi?: number;
    callSign?: string;
    type: VesselType;
    dwt: number;
    gt: number;
}
export declare enum VesselType {
    BULK_CARRIER = "BULK CARRIER",
    GAS_CARRIER = "GAS CARRIER",
    TANKER = "TANKER",
    CONTAINER_SHIP = "CONTAINER SHIP",
    GENERAL_CARGO_SHIP = "GENERAL CARGO SHIP",
    REFRIGERATED_CARGO_CARRIER = "REFRIGERATED CARGO CARRIER",
    COMBINATION_CARRIER = "COMBINATION CARRIER",
    LNG_CARRIER = "LNG CARRIER",
    RO_RO_CARGO_SHIP = "RO-RO CARGO SHIP",
    RO_RO_CARGO_VEHICLE_SHIP = "RO-RO CARGO VEHICLE SHIP",
    RO_RO_PASSENGER_SHIP = "RO-RO PASSENGER SHIP",
    CRUISE_PASSENGER_SHIP = "CRUISE PASSENGER SHIP"
}
export declare class CIIHelper {
    /**
     * 船舶载运能力：dwt or gt
     * @see https://docs.qq.com/pdf/DYWl3T1NuemNIZ0JJ?
     * -对于散货船、液货船、集装箱船、气体运输船、LNG船、杂货船、冷藏货船和兼用船，
     * 应使用载重吨（DWT）作为载运能力；
     * -对于豪华邮轮、滚装货船(车辆运输船)、滚装货船及滚装客船，应使用总吨（GT）作
     * 为载运能力；
     * @param props
     * @param options
     */
    static calculateCapacity(props: CIIProps, options?: {
        requestId?: string;
    }): number;
    /**
     * CII基准（2019）
     * @see https://docs.qq.com/pdf/DYXRJSkNJbmJQZFJu?
     * 3.1 考虑到2008年的数据有限，以2019年船型营运碳强度性能为基准。
     * 3.2 对于规定的一组船舶，基线的公式如下：
     * CIIref =aCapacity-c
     * 单位是  g/(dwt⋅nmile) 或 g/(gt⋅nmile)
     *
     * 式中CIIref系指2019年的基准值，Capacity与某一船型特定碳强度指标(CII)规定的值相
     * 同，见表1；a和c系指通过中值回归拟合所估算的参数，以2019年通过IMODCS收集的
     * attainedCII和单个船舶的Capacity为样本。
     *
     * @param props
     * @param options
     */
    static calculateReferCII(props: CIIProps, options?: {
        requestId?: string;
    }): {
        referCii: number;
        referYear: number;
    };
    /**
     * 年度达标需求的cii, 已经按年份折减
     * @see https://docs.qq.com/pdf/DYVRtWGlsUVdNcGlu?
     * 按照MARPOL附则VI第28条，对船舶要求的年度营运CII折减因素计算如下：
     * 要求的年度营运CII=(1–Z/100)×CIIR
     * 式中CIIR是2019年的基准值，定义见《2021年营运碳强度指标基线指南（G2）》，Z
     * 是2023年至2030年对船型要求的年度营运CII折减因素的一般参考，
     *
     * @param ref
     * @param year
     * @param options
     */
    static calculateRequiredCII(ref: number, year: number, options?: {
        requestId?: string;
    }): {
        requiredCii: number;
        z: number;
        year: number;
        ref: number;
    };
    /**
     * 计算CO2, 注意需要换算为: g
     * @param cons 油耗, 单位: mt
     * @param type
     * @param options
     */
    static calculateCO2(cons: number, type: FuelType | string, options?: {
        requestId?: string;
        customFactor?: EmissionFactor;
    }): number;
    /**
     * 计算当前实际CII
     * @see https://docs.qq.com/pdf/DYWl3T1NuemNIZ0JJ?
     * ，单个船舶每年可达到的营运CII是按某一给定日历年内所排放的CO2总质量
     * (M)与所承担的总运输功(W)之比计算的
     * @param props
     * @param co2 co2总质量(g)
     * @param distance 航行距离（nm）
     * @param options
     */
    static calculateAttainedCII(props: CIIProps, co2: number, distance: number, options?: {
        requestId?: string;
    }): {
        attainedCii: number;
        w: number;
        c: number;
    };
    /**
     * 计算营运碳强度等级
     * @see https://docs.qq.com/pdf/DYWhnWUJIeGZBRUhw?
     *
     * @param props
     * @param requiredCii
     * @param attainedCii
     * @param options
     */
    static calculateGrade(props: CIIProps, requiredCii: number, attainedCii: number, options?: {
        requestId?: string;
    }): {
        grade: string;
        attainedCii: number;
        requiredCii: number;
        capacity: number;
    };
    /**
     * 计算CII
     * @param props
     * @param year
     * @param co2 co2总质量(g)
     * @param distance
     * @param options
     */
    static calculateCII(props: CIIProps, year: number, co2: number, distance: number, options?: {
        requestId?: string;
    }): {
        grade: string;
        attainedCii: number;
        requiredCii: number;
        referYear: number;
        year: number;
        z: number;
        capacity: number;
    };
}
