export interface EmissionFactor {
    co2: number;
    ch4?: number;
    n2o?: number;
    cj?: number;
    lcv?: number;
    wtt?: number;
    E?: number;
}
export interface Fuel {
    type: FuelType | string;
    cons: number;
    areaRate: number;
    customFactor?: EmissionFactor;
}
/**
 * ETS配额缴纳比例
 */
export declare const YearRadio: {
    [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
}
/**
 * 各种燃料的排放因子
 * 参考官方文件： 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
 */
export declare const GWP_AR5: {
    [key: string]: number;
};
export declare const GWP_AR4: {
    [key: string]: number;
};
export declare enum FuelType {
    HFO = "HFO",
    LFO = "LFO",
    LSFO = "LSFO",
    DGO = "DGO",
    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 = "LPG",
    LNG = "LNG",
    METHANOL = "METHANOL",
    BIODIESEL = "BIODIESEL"
}
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
     * @param cons 油耗, 单位 mt
     * @param fc 排放因子
     * @param cj 燃料泄漏系数
     * @param lcv
     * @param ch4 是否是 CH4
     */
    static calculateMRV(cons: number, fc: number, cj: number | undefined, lcv: number, ch4?: boolean): {
        mrv: number;
        ttw: number;
    };
    /**
     *计算WtT GHG Intensity
     * @param factor
     */
    static calculateWtT(factor: EmissionFactor): number;
    static calculateCO2MRV(cons: number, type: FuelType | string, customFactor?: EmissionFactor, options?: {
        requireId?: string;
    }): {
        mrv: number;
        ttw: number;
    };
    static calculateCH4MRV(cons: number, type: FuelType | string, customFactor?: EmissionFactor, options?: {
        requireId?: string;
    }): {
        mrv: number;
        ttw: number;
    };
    static calculateN2OMRV(cons: number, type: FuelType | string, customFactor?: EmissionFactor, options?: {
        requireId?: string;
    }): {
        mrv: number;
        ttw: number;
    };
    /**
     * @param cons 油耗, 单位 mt
     * @param type 油耗类型
     * @param year 年份
     * @param price 碳税价格
     * @param areaRate 区域税率
     * @param options
     */
    static calculateGHGMRV(cons: number, type: FuelType | string, price?: number, year?: number, areaRate?: number, options?: {
        requireId?: string;
        factor?: EmissionFactor;
    }): {
        ghg: number;
        ghg2: number;
        euas: number;
        price: number;
        year: number;
        radio: number;
        cost: number;
        energy: number;
        lcv: number;
        wtt: number;
        ttw: number;
        co2: {
            mrv: number;
            ttw: number;
        };
        ch4: {
            mrv: number;
            ttw: number;
        };
        n2o: {
            mrv: number;
            ttw: number;
        };
    };
    /**
     * 计算MRV及FuelEU
     * @param fuels 按类型分组油耗类型及消耗
     * @param year 年份
     * @param price 碳税价格
     * @param options
     */
    static calculateGHGMRV2(fuels: Fuel[], year?: number, price?: number, options?: {
        requireId?: string;
        fwind?: WindRewardFactor | number;
    }): {
        ghg2: number;
        euas: number;
        cost: number;
        energy: number;
        wtwEmission: number;
        wttGhgi: number;
        ttwGhgi: number;
        actualGhgi: number;
        targetGhgi: number;
        balance: number;
        penalty: number;
        fwind: any;
        fuels: {
            cons: number;
            ghg2: number;
            euas: number;
            cost: number;
            energy: number;
            wtt: number;
            ttw: any;
            wtw: number;
            lcv: number;
            type: string;
            wttEmission: number;
            ttwEmission: number;
        }[];
    };
    static calculateGHGITarget(year: number): number;
    static calculateEUMRVLegCategory(departure?: {
        lat: number;
        lng: number;
    }, destination?: {
        lat: number;
        lng: number;
    }, fuelEU?: boolean, options?: {
        requireId?: string;
    }): Promise<{
        category: EUMRVLegCategory;
        areaRate: {
            [key: string]: number;
        };
    }>;
}
