import { Address, Currency, PlanCreditsConfig, PlanPriceConfig, PlanRedemptionType } from './common/types.js'; export declare const ONE_DAY_DURATION = 86400n; export declare const ONE_WEEK_DURATION = 604800n; export declare const ONE_MONTH_DURATION = 2629746n; export declare const ONE_YEAR_DURATION = 31557600n; /** * Builds a price configuration for fiat-denominated plans (Stripe / Braintree). * * `amount` is in **6-decimal units** (the USDC convention used across the * Nevermined protocol — NOT cents). To charge $2.00, pass `2_000_000n`; * `200n` would be read as $0.0002 and rejected by the backend. * * Minimum charge enforced server-side is **$1.00** (`1_000_000n`) — fiat * processor fixed fees make smaller amounts uneconomic. Passing below the * minimum surfaces as `BCK.PROTOCOL.0047`. * * @param amount - Amount in 6-decimal units (e.g. `2_000_000n` for $2.00) * @param receiver - Wallet address that will receive the settled funds * @param currency - ISO currency code (defaults to `USD`) * * @example * ```ts * // Charge $9.99 in USD * getFiatPriceConfig(9_990_000n, sellerWallet) * * // Charge €29.00 in EUR * getFiatPriceConfig(29_000_000n, sellerWallet, Currency.EUR) * ``` */ export declare const getFiatPriceConfig: (amount: bigint, receiver: Address, currency?: Currency | string) => PlanPriceConfig; export declare const getCryptoPriceConfig: (amount: bigint, receiver: Address, tokenAddress?: Address) => PlanPriceConfig; export declare const getERC20PriceConfig: (amount: bigint, tokenAddress: Address, receiver: Address) => PlanPriceConfig; /** * Builds a price configuration for EURC (Euro stablecoin) payments. * * EURC uses 6 decimal places. To charge €29.00, pass `29_000_000n`. * * @param amount - Amount in the token's smallest unit (6 decimals for EURC). * @param receiver - Wallet address that will receive the payment. * @param eurcAddress - Optional EURC token address. Defaults to Base Mainnet EURC. * @returns The PlanPriceConfig representing an EURC price. */ export declare const getEURCPriceConfig: (amount: bigint, receiver: Address, eurcAddress?: Address) => PlanPriceConfig; export declare const getFreePriceConfig: () => PlanPriceConfig; export declare const getNativeTokenPriceConfig: (amount: bigint, receiver: Address) => PlanPriceConfig; export declare const getExpirableDurationConfig: (durationOfPlan: bigint) => PlanCreditsConfig; export declare const getNonExpirableDurationConfig: () => PlanCreditsConfig; export declare const getFixedCreditsConfig: (creditsGranted: bigint, creditsPerRequest?: bigint) => PlanCreditsConfig; export declare const getDynamicCreditsConfig: (creditsGranted: bigint, minCreditsPerRequest?: bigint, maxCreditsPerRequest?: bigint) => PlanCreditsConfig; export declare const setRedemptionType: (creditsConfig: PlanCreditsConfig, redemptionType: PlanRedemptionType) => PlanCreditsConfig; export declare const setOnchainMirror: (creditsConfig: PlanCreditsConfig, onchainMirror?: boolean) => PlanCreditsConfig; /** * Build a pay-as-you-go price configuration. * * For pay-as-you-go plans, the template address must come from the API deployment info. */ export declare const getPayAsYouGoPriceConfig: (amount: bigint, receiver: Address, tokenAddress?: Address, templateAddress?: Address) => PlanPriceConfig; /** * Build a pay-as-you-go credits configuration. * * Credits are not minted upfront; these values are required for validation only. */ export declare const getPayAsYouGoCreditsConfig: () => PlanCreditsConfig; //# sourceMappingURL=plans.d.ts.map