export interface EmissionFactor {
    co2: number;
    ch4?: number;
    n2o?: number;
    cj?: number;
    lcv?: number;
    wtt?: number;
    E?: number;
    rwd?: number;
}
export interface Fuel {
    type: FuelType | string;
    cons?: number;
    consumption?: number;
    areaRate?: number;
    euetsRate?: number;
    fuelEURate?: number;
    customFactor?: EmissionFactor;
    factor?: EmissionFactor;
}
/**
 * ETS配额缴纳比例
 */
export declare const YearRatio: {
    [key: number]: number;
};
/**
 * FuelEU风帆奖励系数:
 *
 * 使用风力辅助推进系统 (WAPS) 的船舶在其最终计算的温室气体强度上获得直接降低。
 * 奖励因子 (f 风力) 的范围从 0.01（降低 1%）到最大
 * 0.05（降低 5%），具体取决于风力提供的推进功率的计算份额。
 * 如果风力贡献占总推进功率的 15% 或更多，则适用最大 5% 的降低。
 */
export declare enum WindRewardFactor {
    PROP5 = 0.99,
    PROP10 = 0.97,
    PROP15 = 0.95,
    NONE = 1
}
/**
 * 各种燃料的排放因子
 * 参考官方文件： https://eur-lex.europa.eu/legal-content/EN/TXT/PDF/?uri=CELEX:02015R0757-20240101
 *             https://eur-lex.europa.eu/legal-content/EN/TXT/PDF/?uri=CELEX:32023R1805
 */
export declare const GHGEmissionFactor: {
    [key: string]: EmissionFactor;
};
/**
 * Global warming potential, 计算 MRV时使用
 */
export declare const GWP_AR5: {
    [key: string]: number;
};
/**
 * Global warming potential, 计算FuelEU时使用
 */
export declare const GWP_AR4: {
    [key: string]: number;
};
export declare enum FuelType {
    HFO = "HFO",
    LFO = "LFO",
    MGO = "MGO",
    MDO = "MDO",
    LNG_OTTO_MEDIUM_SPD = "LNG_OTTO_MEDIUM_SPD",
    LNG_OTTO_SLOW_SPD = "LNG_OTTO_SLOW_SPD",
    LNG_DIESEL_SLOW_SPD = "LNG_DIESEL_SLOW_SPD",
    LNG_LBSI = "LNG_LBSI",
    LPG_PROPANE = "LPG_PROPANE",
    LPG_BUTANE = "LPG_BUTANE",
    LNG = "LNG",
    METHANOL = "METHANOL",
    BIODIESEL = "BIODIESEL",
    ETHANE = "ETHANE"
}
export declare enum EUMRVLegCategory {
    EU_MRV_Non_EU = "Non EU",
    EU_MRV_Arrived_EU = "Arrived EU",
    EU_MRV_Departed_EU = "Departed EU",
    EU_MRV_Between_EU = "Between EU"
}
export declare class EUTESHelper {
    /**
     * 计算MRV (Monitoring/Reporting/Verification) 和 TTW (Tank to Wake)
     * @param cons 燃料消耗, 单位 mt
     * @param fc 排放因子, 单位 gGHG/gFuel
     * @param cj 燃料泄漏系数, 单位 %
     * @param lcv 燃料热值, 单位 MJ/g
     * @param ch4 是否是 CH4(甲烷)
     * @returns {
     *  mrv, 燃料产生的温室气体排放量, 单位 mt
     *  ttw, 燃料从Tank到Wake的温室气体排放常量, 单位 gGHG/gFuel
     * }
     */
    static calculateMRV(cons: number, fc: number, cj: number | undefined, lcv: number, ch4?: boolean): {
        mrv: number;
        ttw: number;
    };
    /**
     *计算WtT (Well to Tank) GHG Intensity
     * @param factor
     * @returns WtT GHG Intensity, 单位 gCO2eq/MJ
     */
    static calculateWtT(factor: EmissionFactor): number;
    /**
     * 计算 CO2 MRV (Monitoring/Reporting/Verification)
     * @param cons 油耗, 单位 mt
     * @param type 油耗类型
     * @param customFactor 自定义排放因子
     * @param options 配置项
     * @returns { mrv, ttw }
     */
    static calculateCO2MRV(cons: number, type: FuelType | string, customFactor?: EmissionFactor, options?: {
        requestId?: string;
    }): {
        mrv: number;
        mrvGWP: number;
        ttw: number;
        ttwGWP: number;
        fc: number;
        cj: number | undefined;
        lcv: number | undefined;
    };
    /**
     *  计算 CH4 MRV (Monitoring/Reporting/Verification)
     * @param cons 油耗, 单位 mt
     * @param type 油耗类型
     * @param customFactor 自定义排放因子
     * @param options 配置项
     * @returns { mrv, ttw }
     */
    static calculateCH4MRV(cons: number, type: FuelType | string, customFactor?: EmissionFactor, options?: {
        requestId?: string;
    }): {
        mrv: number;
        mrvGWP: number;
        ttw: number;
        ttwGWP: number;
        fc: number | undefined;
        cj: number | undefined;
        lcv: number | undefined;
    };
    /**
     * 计算 N2O MRV (Monitoring/Reporting/Verification)
     * @param cons 油耗, 单位 mt
     * @param type 油耗类型
     * @param customFactor 自定义排放因子
     * @param options 配置项
     * @returns { mrv, ttw }
     */
    static calculateN2OMRV(cons: number, type: FuelType | string, customFactor?: EmissionFactor, options?: {
        requestId?: string;
    }): {
        mrv: number;
        mrvGWP: number;
        ttw: number;
        ttwGWP: number;
        fc: number | undefined;
        cj: number | undefined;
        lcv: number | undefined;
    };
    /**
     * 计算单一燃料的GHG MRV (Monitoring/Reporting/Verification)
     * @param cons 油耗, 单位 mt
     * @param type 油耗类型
     * @param year 年份
     * @param price 碳税价格
     * @param options
     * @return {
     *   ghg,  MRV需要报告的温室气体排放量，2024之后需要报告CO2, CH4, N2O, 单位 mt
     *   ghg2, ETS需要报告的温室气体排放量，2026之后需要报告CO2, CH4, N2O, 单位 mt
     *   euas, 需要交纳的EUAS份额, 2026年以后需全额交纳, 单位 mt
     *   price, 碳税价格, 单位 €/tCO2, 常量
     *   year,  年份, 常量
     *   ratio, EUAS交纳比例, 常量
     *   cost,  EUAS成本, 单位 €
     *   energy, 燃料转能量, 计算fuelEU时使用, 单位 TJ
     *   lcv,  燃料低位热值, 计算fuelEU时使用, 单位 MJ/g, 常量(不同燃料取值不同)
     *   wtt,  Well to Tank, 计算fuelEU时使用, 单位 gCO2eq/MJ, 常量(不同燃料取值不同)
     *   ttw,  Tank to Wake, 计算fuelEU时使用, 单位 gGHG/gFuel, 常量(不同燃料取值不同)
     *   co2,  CO2排放量, 单位 mt
     *   ch4,  CH4排放量, 单位 mt
     *   n2o,  N2O排放量, 单位 mt
     * }
     * @deprecated
     */
    static calculateGHGMRV(cons: number, type: FuelType | string, price?: number, year?: number, options?: {
        requestId?: string;
        factor?: EmissionFactor;
    }): {
        ghg: number;
        ghg2: number;
        euas: number;
        price: number;
        year: number;
        ratio: number;
        cost: number;
        energy: number;
        lcv: number;
        wtt: number;
        ttw: number;
        co2: {
            mrv: number;
            mrvGWP: number;
            ttw: number;
            ttwGWP: number;
            fc: number;
            cj: number | undefined;
            lcv: number | undefined;
        };
        ch4: {
            mrv: number;
            mrvGWP: number;
            ttw: number;
            ttwGWP: number;
            fc: number | undefined;
            cj: number | undefined;
            lcv: number | undefined;
        };
        n2o: {
            mrv: number;
            mrvGWP: number;
            ttw: number;
            ttwGWP: number;
            fc: number | undefined;
            cj: number | undefined;
            lcv: number | undefined;
        };
    };
    /**
     * 计算单一燃料的GHG MRV (Monitoring/Reporting/Verification)
     * @param cons 油耗, 单位 mt
     * @param type 油耗类型
     * @param year 年份
     * @param price 碳税价格
     * @param options
     * @return {
     *   ghg,  MRV需要报告的温室气体排放量，2024之后需要报告CO2, CH4, N2O, 单位 mt
     *   ghg2, ETS需要报告的温室气体排放量，2026之后需要报告CO2, CH4, N2O, 单位 mt
     *   euas, 需要交纳的EUAS份额, 2026年以后需全额交纳, 单位 mt
     *   price, 碳税价格, 单位 €/tCO2, 常量
     *   year,  年份, 常量
     *   ratio, EUAS交纳比例, 常量
     *   cost,  EUAS成本, 单位 €
     *   co2,  CO2排放量, 单位 mt
     *   ch4,  CH4排放量, 单位 mt
     *   n2o,  N2O排放量, 单位 mt
     * }
     */
    static calculateSingleGHGMRV(cons: number, type: FuelType | string, price?: number, year?: number, options?: {
        requestId?: string;
        factor?: EmissionFactor;
    }): {
        ghg: number;
        ghg2: number;
        euas: number;
        price: number;
        year: number;
        ratio: number;
        cost: number;
        co2: {
            mrv: number;
            mrvGWP: number;
            ttw: number;
            ttwGWP: number;
            fc: number;
            cj: number | undefined;
            lcv: number | undefined;
        };
        ch4: {
            mrv: number;
            mrvGWP: number;
            ttw: number;
            ttwGWP: number;
            fc: number | undefined;
            cj: number | undefined;
            lcv: number | undefined;
        };
        n2o: {
            mrv: number;
            mrvGWP: number;
            ttw: number;
            ttwGWP: number;
            fc: number | undefined;
            cj: number | undefined;
            lcv: number | undefined;
        };
        factor: EmissionFactor;
    };
    /**
     * 计算单一燃料的FuelEU
     * @param cons 油耗, 单位 mt
     * @param type 油耗类型
     * @param options
     * @return {
     *   energy, 燃料转能量, 计算fuelEU时使用, 单位 MJ
     *   lcv,  燃料低位热值, 计算fuelEU时使用, 单位 MJ/g, 常量(不同燃料取值不同)
     *   wtt,  Well to Tank, 计算fuelEU时使用, 单位 gCO2eq/MJ, 常量(不同燃料取值不同)
     *   ttw,  Tank to Wake, 计算fuelEU时使用, 单位 gGHG/gFuel, 常量(不同燃料取值不同)
     *   co2,  CO2排放量, 单位 mt
     *   ch4,  CH4排放量, 单位 mt
     *   n2o,  N2O排放量, 单位 mt
     * }
     */
    static calculateSingleFuelEU(cons: number, type: FuelType | string, options?: {
        requestId?: string;
        factor?: EmissionFactor;
    }): {
        energy: number;
        lcv: number;
        wtt: number;
        ttw: number;
        rawTtw: {
            co2: number;
            ch4: number;
            n2o: number;
        };
        cons: number;
        factor: EmissionFactor;
    };
    /**
     * 计算多燃料的GHG MRV
     * @param fuels 按类型分组油耗类型及消耗
     * @param ek 岸电消耗能量，单位 kwh  1kwh = 3.6MJ
     * @param year 年份
     * @param options
     */
    static calculateMultiFuelEU(fuels: Fuel[], ek?: number, year?: number, options?: {
        requestId?: string;
        fwind?: WindRewardFactor | number;
    }): {
        year: number;
        fwind: any;
        energy: any;
        energy2: any;
        ek: number;
        wtwEmission: number;
        wttGhgi: number;
        ttwGhgi: number;
        actualGhgi: number;
        targetGhgi: number;
        balance: number;
        penalty: number;
        fuels: Record<string, any>;
    };
    /**
     * 计算多燃料的GHG MRV
     * @param fuels 按类型分组油耗类型及消耗
     * @param year 年份
     * @param price 碳税价格
     * @param options
     */
    static calculateMultiGHGMRV(fuels: Fuel[], year?: number, price?: number, options?: {
        requestId?: string;
    }): {
        year: number;
        price: number;
        ratio: number;
        ghg: any;
        ghg2: any;
        euas: any;
        cost: any;
        fuels: Record<string, any>;
    };
    /**
     * 计算MRV及FuelEU
     * @param fuels 按类型分组油耗类型及消耗
     * @param year 年份
     * @param price 碳税价格
     * @param options
     * @deprecated
     */
    static calculateGHGMRV2(fuels: Fuel[], year?: number, price?: number, options?: {
        requestId?: string;
        fwind?: WindRewardFactor | number;
    }): {
        year: number;
        price: number;
        fwind: any;
        ratio: number;
        ghg: number;
        ghg2: number;
        euas: number;
        cost: number;
        energy: number;
        wtwEmission: number;
        wttGhgi: number;
        ttwGhgi: number;
        actualGhgi: number;
        targetGhgi: number;
        balance: number;
        penalty: number;
        fuels: {
            cons: number;
            ghg: number;
            ghg2: number;
            co2: number;
            ch4: number;
            n2o: number;
            euas: number;
            cost: number;
            energy: number;
            wtt: number;
            ttw: any;
            wtw: number;
            lcv: number;
            type: string;
            wttEmission: number;
            ttwEmission: number;
            wtwEmission: number;
        }[];
    };
    /**
     * 计算 EUETS Ratio, 不同年份交纳的比例不同，2026年以后需全额交纳
     * @param year
     * @returns
     * @deprecated use getEUETSRatio instead
     */
    static getEUETSRadio(year: number): number;
    /**
     * 计算 EUETS Ratio, 不同年份交纳的比例不同，2026年以后需全额交纳
     * @param year
     * @returns
     */
    static getEUETSRatio(year: number): number;
    /**
     * 计算 GHG Intensity Target, 单位 gCO₂eq/MJ
     * @param year
     * @returns
     */
    static calculateGHGITarget(year: number): number;
    /**
     * 计算 EUMRV Leg Category
     * @param departure 出发地
     * @param destination 目的地
     * @param fuelEU 是否是fuelEU, 注意 EUETS和fuelEU不同，fuelEU在Norway and Iceland将被视为第三国，在EEA执行50%标准
     * @param options 配置项
     * @returns
     * @deprecated
     */
    static calculateEUMRVLegCategory(departure?: {
        lat: number;
        lng: number;
    }, destination?: {
        lat: number;
        lng: number;
    }, fuelEU?: boolean, options?: {
        requestId?: string;
    }): Promise<{
        category: EUMRVLegCategory;
        areaRate: {
            [key: string]: number;
        };
    }>;
    /**
     * 计算 EUMRV Category
     * @param departure 出发地
     * @param destination 目的地
     * @param options 配置项
     * @returns { category, areaRate } 是否在EU，以及对应计算比例
     */
    static calculateEUMRVCategory(departure?: {
        lat: number;
        lng: number;
    }, destination?: {
        lat: number;
        lng: number;
    }, options?: {
        requestId?: string;
    }): Promise<{
        category: EUMRVLegCategory;
        areaRate: {
            [key: string]: number;
        };
    }>;
    /**
     * 计算 Fuel EU Category
     * 注意 EUETS和fuelEU不同，fuelEU在Norway and Iceland将被视为第三国，在EEA执行50%标准
     * FuelEU delayed in Norway and Iceland(https://www.sdir.no/en/news/FuelEu_delayed_in_Norway/)
     * @param departure 出发地
     * @param destination 目的地
     * @param options 配置项
     * @returns { category, areaRate } 是否在EU，以及对应计算比例
     */
    static calculateFuelEUCategory(departure?: {
        lat: number;
        lng: number;
    }, destination?: {
        lat: number;
        lng: number;
    }, options?: {
        requestId?: string;
    }): Promise<{
        category: EUMRVLegCategory;
        areaRate: {
            [key: string]: number;
        };
    }>;
}
