import { ethers } from 'ethers'; import { ContentConfig } from '../types'; /** * Content utility functions for managing and validating content configurations */ export declare class ContentUtils { /** * Validate content ID format * @param contentId Content ID to validate * @returns True if valid */ static isValidContentId(contentId: number): boolean; /** * Format price for display * @param price Price in wei * @returns Formatted price string */ static formatPrice(price: ethers.BigNumber): string; /** * Parse price from string to BigNumber * @param priceStr Price string in ETH * @returns Price in wei */ static parsePrice(priceStr: string): ethers.BigNumber; /** * Validate content configuration * @param config Content configuration to validate * @returns Validation result */ static validateContentConfig(config: ContentConfig): { isValid: boolean; errors: string[]; }; /** * Compare two content configurations and return differences * @param config1 First configuration * @param config2 Second configuration * @returns Object containing changes */ static compareConfigs(config1: ContentConfig, config2: ContentConfig): any; /** * Generate content summary string * @param config Content configuration * @returns Summary string */ static generateContentSummary(config: ContentConfig): string; /** * Sort content configurations by specified field * @param configs Array of configurations * @param sortBy Field to sort by * @param ascending Sort direction * @returns Sorted array */ static sortConfigs(configs: ContentConfig[], sortBy: 'contentId' | 'nativePrice' | 'viewCount' | 'isActive', ascending?: boolean): ContentConfig[]; /** * Filter content configurations by criteria * @param configs Array of configurations * @param filters Filter criteria * @returns Filtered array */ static filterConfigs(configs: ContentConfig[], filters: { isActive?: boolean; minPrice?: ethers.BigNumber; maxPrice?: ethers.BigNumber; minViewCount?: number; maxViewCount?: number; }): ContentConfig[]; /** * Calculate total value of content configurations * @param configs Array of configurations * @returns Total value in wei */ static calculateTotalValue(configs: ContentConfig[]): ethers.BigNumber; /** * Get configuration statistics * @param configs Array of configurations * @returns Statistics object */ static getConfigStats(configs: ContentConfig[]): { total: number; active: number; inactive: number; totalValue: ethers.BigNumber; averagePrice: ethers.BigNumber; averageViewCount: number; }; /** * Convert configuration to display format * @param config Content configuration * @returns Display-friendly object */ static toDisplayFormat(config: ContentConfig): any; } //# sourceMappingURL=content-utils.d.ts.map