/** * Model Marketplace Types */ export declare enum MarketplaceStatus { ACTIVE = "active", PENDING = "pending", SUSPENDED = "suspended", DELISTED = "delisted" } export declare enum ModelCategory { TEXT_GENERATION = "text_generation", TEXT_EMBEDDING = "text_embedding", IMAGE_GENERATION = "image_generation", IMAGE_ANALYSIS = "image_analysis", AUDIO_TRANSCRIPTION = "audio_transcription", AUDIO_SYNTHESIS = "audio_synthesis", VIDEO_ANALYSIS = "video_analysis", CODE_GENERATION = "code_generation", TRANSLATION = "translation", CLASSIFICATION = "classification", CUSTOM = "custom" } export declare enum PricingType { FREE = "free", FREEMIUM = "freemium", PAY_PER_USE = "pay_per_use", SUBSCRIPTION = "subscription", CUSTOM = "custom" } export declare enum ProviderStatus { VERIFIED = "verified", UNVERIFIED = "unverified", SUSPENDED = "suspended" } export declare enum ReviewStatus { PENDING = "pending", APPROVED = "approved", REJECTED = "rejected", FLAGGED = "flagged" } export interface ModelProvider { id: string; name: string; description: string; website?: string; email: string; status: ProviderStatus; verifiedAt?: Date; rating: number; totalModels: number; totalDownloads: number; metadata?: Record; createdAt: Date; updatedAt: Date; } export interface MarketplaceModel { id: string; providerId: string; name: string; displayName: string; description: string; category: ModelCategory; version: string; status: MarketplaceStatus; pricing: { type: PricingType; pricePerToken?: number; pricePerRequest?: number; subscriptionPrice?: number; freeQuota?: { tokens?: number; requests?: number; period: 'daily' | 'monthly'; }; }; capabilities: string[]; tags: string[]; rating: number; reviewCount: number; downloadCount: number; contextWindow?: number; maxTokens?: number; languages?: string[]; documentation?: string; sampleCode?: string; apiEndpoint?: string; requiresApproval: boolean; metadata?: Record; publishedAt: Date; updatedAt: Date; } export interface ModelReview { id: string; modelId: string; userId: string; userName: string; rating: number; title: string; comment: string; pros?: string[]; cons?: string[]; useCases?: string[]; helpful: number; status: ReviewStatus; verified: boolean; createdAt: Date; updatedAt: Date; } export interface ModelInstallation { id: string; modelId: string; userId: string; providerId: string; version: string; status: 'active' | 'inactive' | 'suspended'; apiKey?: string; configuration?: Record; usageStats?: { totalRequests: number; totalTokens: number; totalCost: number; lastUsed?: Date; }; installedAt: Date; updatedAt: Date; } export interface SearchFilters { category?: ModelCategory; pricingType?: PricingType; minRating?: number; maxPricePerToken?: number; tags?: string[]; providerId?: string; capabilities?: string[]; languages?: string[]; freeOnly?: boolean; verified?: boolean; } export interface MarketplaceStats { totalModels: number; totalProviders: number; totalDownloads: number; totalReviews: number; byCategory: Record; topModels: MarketplaceModel[]; topProviders: ModelProvider[]; recentModels: MarketplaceModel[]; } export interface ModelComparison { models: MarketplaceModel[]; comparison: { features: { name: string; values: (string | number | boolean)[]; }[]; pricing: { metric: string; values: (number | undefined)[]; }[]; performance: { metric: string; values: (number | undefined)[]; }[]; }; } export interface ProviderApplication { id: string; applicantName: string; applicantEmail: string; companyName?: string; website?: string; description: string; status: 'pending' | 'approved' | 'rejected'; submittedAt: Date; reviewedAt?: Date; reviewNotes?: string; } //# sourceMappingURL=types.d.ts.map