import type { WidgetRenderMeta, WidgetRenderOut, WidgetStats } from '../../lib/contract/types'; /** The shared card title for the whole family (product name; the role word * goes on the legend line so the title never grows). */ export declare function title(): string; /** Window percent 0..100 (clamped), or null when the window is unusable. */ export declare function winPct(win: { used?: number; cap?: number; } | null | undefined): number | null; export declare function ccWhoamiRender(stats: WidgetStats): WidgetRenderOut | null; /** cc-usage - request counts / success / tokens / spend from `/alpha/usage/summary`. * * Layout (user's fix, 2026-09-20): the token total is the big figure under the * title with its unit to the right, the role word is gone (the figure already * says "usage"), and the three facts live in a FIGURES row on the card's floor — * the old single grey line (`4821 请求 / 100% 成功率 / 消费 $26.5`) was ~150px * wide in a ~126px slot, so the spend was always ellipsized away. */ export declare function ccUsageRender(stats: WidgetStats): WidgetRenderOut | null; /** cc-credits - the credit balance + the three quota windows from * `/alpha/billing/credits`. * * Layout (user's design, 2026-09-20 — the official site's limit rows): the * balance is the big figure under the title with `credits` to its right, and the * body is THREE rows, each a window name with its percent hard right over a * segmented bar (`5 小时 1%` / bar, then the week, then the month). The role word * and the reset lines are gone: the bars ARE the card, and the old * `kind: 'bars'` twin columns (plus their dashed grid and 25px of labels) made * the tile 200×250 in the market stage instead of a square. */ export declare function ccCreditsRender(stats: WidgetStats): WidgetRenderOut | null; /** cc-windows - 5h / weekly / monthly quota as three donuts (OpenCode-style * rolling / weekly / monthly rings). */ export declare function ccWindowsRender(stats: WidgetStats): WidgetRenderOut | null; /** * The tier badge for a subscription `planId`: `individual-goat` -> `GOAT`. * * An id outside the table is neither invented into a tier nor printed raw (the * raw id is what ran off the tile's edge as `individual-goa…`): the vendor * prefix is stripped and the rest is uppercased (`acme-team-plan` -> * `ACME TEAM PLAN`), so the badge stays one short word while the plan stays * identifiable. */ export declare function planTier(planId: string | undefined): string | null; /** The preview's tier ladder — the 套餐 card's `example.simSteps`: every badge * the card can print, as the `sim` objects a preview click walks through. */ export declare const PLAN_TIER_STEPS: Array>; /** cc-subscription - the plan TIER + billing period end from * `/alpha/billing/subscriptions`. * * Layout (user's design, 2026-09-20): the blue title, the grey `账期 10-10` * line under it, and the tier as the big figure on the card's floor; the raw * `individual-goat` id used to be that figure and ran off the tile. The tier is * the one thing the preview can walk (`sim.plan`), so the market / 组件配置 click * shows every badge without owning the subscription. */ export declare function ccSubscriptionRender(stats: WidgetStats, meta?: WidgetRenderMeta): WidgetRenderOut | null; /** Single-window percent card (cc-window-5h / cc-window-weekly / * cc-window-monthly) - the OpenCode single-window shape: one big percent, the * role word under the title, and the reset date beneath. */ export declare function ccWindowValueRender(key: 'fiveHour' | 'weekly' | 'monthly'): (stats: WidgetStats) => WidgetRenderOut | null;