export type BillingTier = "free" | "premium"; export interface SkillPricing { slug: string; displayName: string; tier: BillingTier; costCents: number; providers: string[]; description: string; provider?: string; model?: string; costMicros?: number; } export interface PublicSkillPricing { tier: BillingTier; billingUnit: "run" | "image" | "second" | "character" | "song" | "thousand_tokens" | "article"; costCents: number; formattedCost: string; formattedUnitCost?: string; unitCount?: number; estimated: boolean; quoteDependsOnInput: boolean; quoteRequired: boolean; description: string; } export type SkillCatalogBillingMode = "free" | "credits" | "subscription" | "metered"; export interface SkillCatalogBillingFields { billingMode: SkillCatalogBillingMode; creditsPerExecution: number; } export type MediaModality = "image" | "video" | "audio" | "music"; export type MediaProvider = "openai" | "minimax" | "gemini" | "seedance"; type PriceUnit = "image" | "second" | "character" | "song" | "thousand_tokens"; interface MediaPrice { slug: MediaModality; provider: MediaProvider; model: string; unit: PriceUnit; costMicros: number; description: string; default?: boolean; resolution?: string; durationSeconds?: number; } export declare const MUSIC_ALBUM_SLUG = "music-album"; export declare const MUSIC_ALBUM_SONG_COUNTS: readonly [7, 14, 21]; export declare const PREMIUM_SKILLS: SkillPricing[]; export declare const ARTICLE_GENERATION_SLUG = "blog-article"; export declare const ARTICLE_MAX_COUNT = 12; export declare const ARTICLE_COUNT_ERROR = "Count must be an integer between 1 and 12."; declare const ARTICLE_TONES: readonly ["professional", "casual", "technical", "friendly"]; declare const ARTICLE_LENGTHS: readonly ["short", "medium", "long"]; export type ArticleTone = typeof ARTICLE_TONES[number]; export type ArticleLength = typeof ARTICLE_LENGTHS[number]; export interface BlogArticleRunOptions { topic?: string; audience?: string; tone: ArticleTone; length: ArticleLength; seo: boolean; outline?: string; count: number; } export type BlogArticleValidationResult = { ok: true; options: BlogArticleRunOptions; input: Record; errors: []; } | { ok: false; input: Record; errors: string[]; }; export declare const MEDIA_GENERATION_PRICES: MediaPrice[]; export declare function getSkillPricing(slug: string): SkillPricing | null; export declare function isPremiumSkill(slug: string): boolean; export declare function getSkillCostCents(slug: string): number; export declare function getSkillRunPricing(slug: string, input?: unknown, args?: string[]): SkillPricing | null; export declare function validateBlogArticleRunOptions(input?: unknown, args?: string[], validation?: { requireTopic?: boolean; }): BlogArticleValidationResult; export declare function getSkillRunCostCents(slug: string, input?: unknown, args?: string[]): number; export declare function getPublicSkillPricing(slug: string, input?: unknown, args?: string[]): PublicSkillPricing; export declare function getSkillCatalogBillingFields(slug: string, input?: unknown, args?: string[]): SkillCatalogBillingFields; export declare function formatPublicPricing(slug: string, input?: unknown, args?: string[]): string; export declare function isMediaGenerationSkill(slug: string): boolean; export declare function getMediaProviders(slug: MediaModality): string[]; export declare function formatCost(cents: number): string; export declare function getAllPremiumSlugs(): string[]; export {};