/** Exact decimal points are transport values. Never use Number for accounting. */ export interface ArkmeAiPointsAccount { accountScope: string; unit: 'ai_points'; availablePoints: string; reservedPoints: string; grantedPoints: string; purchasedPoints: string; observedAt: number; grants: { source: string; availablePoints: string; expiresAt: number; }[]; } export interface ArkmeAiPointsConsumption { requestUid: string; operationUid?: string; businessCode: string; model: string; chargedPoints: string; modelPoints: string; services: { code: string; quantity: string; chargedPoints: string; }[]; grantedPoints: string; purchasedPoints: string; createdAt: number; completedAt: number; tokens: { cacheHitInput: string; cacheMissInput: string; output: string; }; } export interface ArkmeAiPointsPage { accountScope: string; unit: 'ai_points'; month: string; chargedPoints: string; items: ArkmeAiPointsConsumption[]; nextBeforeId: string; } export interface ArkmeAiPointsQuery { month: string; beforeId?: string; } export declare function pointsUnits(value: string): bigint; /** Display floors only; a rounded label can never overpromise spendable points. */ export declare function formatAiPoints(value: string): string; /** Existing recharge values retain their nano-CNY meaning: ¥1 = 100 points. */ export declare function nanoCnyToPoints(value: string): string; /** The server pages whole operations. Call-level charges remain the only facts. */ export declare function groupPointsConsumption(items: ArkmeAiPointsConsumption[]): { key: string; calls: ArkmeAiPointsConsumption[]; chargedPoints: string; }[]; //# sourceMappingURL=ai-points.d.ts.map