export type PlanType = 'pay-per-token' | 'subscription' | 'mixed'; export interface ProviderPlan { /** Provider 标识 (e.g. 'minimax-cn', 'openai', 'anthropic') */ provider: string; /** Plan 类型 */ type: PlanType; /** 订阅相关 (type='subscription' 时必填) */ subscription?: { /** 月度 token 额度 (input + output) */ tokens_quota_monthly: number; /** 当月起始日期 (ISO date) — 通常是订阅日 */ period_start_iso: string; /** Plan 显示名 (e.g. "Claude Pro / Cursor Pro / MiniMax 月度套餐") */ display_name: string; /** 月费 (用于"性价比" 对比) */ monthly_price_cny?: number; }; } export interface PlanConfig { /** Default plan type (没显式配的 provider 走这个) */ default_type: PlanType; /** Per-provider 配置 */ providers: Record; } export declare const DEFAULT_PLAN_CONFIG: PlanConfig; /** * 加载 plan 配置, 没有则返默认 */ export declare function loadPlanConfig(filePath?: string): Promise; /** * 保存 plan 配置 */ export declare function savePlanConfig(cfg: PlanConfig, filePath?: string): Promise; /** * 查 provider 真 plan (没显式配则返 default 类型 + 空 subscription) */ export declare function getProviderPlan(cfg: PlanConfig, provider: string): ProviderPlan; /** * 渲染 provider 用量行 — 根据 plan 类型自动切换 surface 模式 * * 输入: provider name + 用量数字 * 输出: * pay-per-token: "minimax-cn: 今日 ¥6.60" * subscription: "minimax-cn: 今日 271K token / 套餐 5.4% (Pro 月度)" */ export declare function renderProviderUsage(opts: { plan: ProviderPlan; total_tokens: number; cost_cny: number; period: 'today' | 'week' | 'month'; /** 距月底剩多少 token (subscription 用, 算 days_to_zero) */ remaining_in_period_tokens?: number; }): string; /** * Token 数格式化 (1234567 → "1.2M", 12345 → "12K") */ export declare function formatTokens(n: number): string; //# sourceMappingURL=plan.d.ts.map