import type { Chain, GetChainContractAddressErrorType, ReadContractErrorType } from 'viem'; import { type RequireClientContracts } from '../../../clients/chain.js'; export type ApplyDiscountParameters = { /** Undiscounted value (e.g. baseRate × duration), in standard units */ value: bigint; /** Term length in seconds — selects the discount tier */ duration: bigint; }; export type ApplyDiscountReturnType = bigint; export type ApplyDiscountErrorType = ReadContractErrorType | GetChainContractAddressErrorType; /** * Applies the oracle's duration-tiered discount to an arbitrary value. The * oracle uses a step-function keyed on duration; doing this on-chain keeps the * caller agnostic to the contract's discount denominator. * * @param client - {@link Client} * @param parameters - {@link ApplyDiscountParameters} * @returns The discounted value. {@link ApplyDiscountReturnType} */ export declare function applyDiscount(client: RequireClientContracts, { value, duration }: ApplyDiscountParameters): Promise; //# sourceMappingURL=applyDiscount.d.ts.map