import { FeeCodeDefinition, FeeThresholdUses } from "@gala-chain/api"; import BigNumber from "bignumber.js"; import { GalaChainContext } from "../types"; export interface GalaFeeGateParams { feeCode: string; activeUser?: string | undefined; additionalFee?: BigNumber | undefined; } /** * A standardized, pre-defined Fee Gate designed to work with `FeeUsageThreshold`, * `FeeCodeDefinition`, and `FeeCodeDefintion.FeeAccelerationRateType` schemes to * increase fees for heavy, abusive, or denial-of-service level usage by individual * identities. Fees will increase by the defined acceleration rate as users hit * increasingly high usage thresholds defined by authoritative channel operators. * * @param ctx * @param data * @returns */ export declare function galaFeeGate(ctx: GalaChainContext, data: GalaFeeGateParams): Promise; export interface FeeAmountAndUses { feeAmount: BigNumber; feeCodeDefinitions: FeeCodeDefinition[]; cumulativeUses: BigNumber; } export declare function writeUsageAndCalculateFeeAmount(ctx: GalaChainContext, data: GalaFeeGateParams): Promise; export interface cumulativeUsesAndFeeAmount { feeAmount: BigNumber; cumulativeUses: BigNumber; } export declare function incrementCumulativeUsesAndCalculateFee(feeCodeDefinitions: FeeCodeDefinition[], userFeeThresholdUses: FeeThresholdUses): cumulativeUsesAndFeeAmount; //# sourceMappingURL=galaFeeGate.d.ts.map