import type { Address, Chain } from 'viem'; /** * Subscription tier configuration */ export interface SubscriptionTierConfig { value: number; name: string; displayName: string; } /** * Subscription period configuration */ export interface SubscriptionPeriodConfig { value: number; name: string; displayName: string; days: number; } /** * Subscription network configuration */ export interface SubscriptionNetworkConfig { chainId: number; contractAddress: Address; chain?: Chain; tiers: SubscriptionTierConfig[]; periods: SubscriptionPeriodConfig[]; } /** * Complete subscription configuration * If not provided or enabled is false, subscription system is disabled */ export interface SubscriptionConfig { enabled: boolean; networks: SubscriptionNetworkConfig[]; defaultTier?: number; defaultPeriod?: number; showReferrerInput?: boolean; bufferPercentage?: number; } /** * Helper to get network config by chain ID */ export declare function getNetworkConfig(config: SubscriptionConfig, chainId: number): SubscriptionNetworkConfig | undefined; /** * Check if a chain supports subscriptions */ export declare function isSubscriptionSupported(config: SubscriptionConfig, chainId: number): boolean;