/** * @license * Copyright 2025 Vybestack LLC * SPDX-License-Identifier: Apache-2.0 */ import { z } from 'zod'; /** * Schema for a single quota entry from Chutes quota endpoint * chute_id can be null for default quotas, quota can be a number or object */ export declare const ChutesQuotaEntrySchema: z.ZodObject<{ chute_id: z.ZodOptional>; is_default: z.ZodBoolean; user_id: z.ZodOptional>; updated_at: z.ZodOptional>; payment_refresh_date: z.ZodOptional>; quota: z.ZodUnknown; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ chute_id: z.ZodOptional>; is_default: z.ZodBoolean; user_id: z.ZodOptional>; updated_at: z.ZodOptional>; payment_refresh_date: z.ZodOptional>; quota: z.ZodUnknown; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ chute_id: z.ZodOptional>; is_default: z.ZodBoolean; user_id: z.ZodOptional>; updated_at: z.ZodOptional>; payment_refresh_date: z.ZodOptional>; quota: z.ZodUnknown; }, z.ZodTypeAny, "passthrough">>; /** * Schema for Chutes user info response */ export declare const ChutesUserInfoSchema: z.ZodObject<{ username: z.ZodString; user_id: z.ZodOptional>; balance: z.ZodNumber; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ username: z.ZodString; user_id: z.ZodOptional>; balance: z.ZodNumber; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ username: z.ZodString; user_id: z.ZodOptional>; balance: z.ZodNumber; }, z.ZodTypeAny, "passthrough">>; /** * Combined Chutes usage information */ export declare const ChutesUsageInfoSchema: z.ZodObject<{ quotas: z.ZodArray>; is_default: z.ZodBoolean; user_id: z.ZodOptional>; updated_at: z.ZodOptional>; payment_refresh_date: z.ZodOptional>; quota: z.ZodUnknown; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ chute_id: z.ZodOptional>; is_default: z.ZodBoolean; user_id: z.ZodOptional>; updated_at: z.ZodOptional>; payment_refresh_date: z.ZodOptional>; quota: z.ZodUnknown; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ chute_id: z.ZodOptional>; is_default: z.ZodBoolean; user_id: z.ZodOptional>; updated_at: z.ZodOptional>; payment_refresh_date: z.ZodOptional>; quota: z.ZodUnknown; }, z.ZodTypeAny, "passthrough">>, "many">; balance: z.ZodNumber; username: z.ZodString; }, "strip", z.ZodTypeAny, { balance: number; username: string; quotas: z.objectOutputType<{ chute_id: z.ZodOptional>; is_default: z.ZodBoolean; user_id: z.ZodOptional>; updated_at: z.ZodOptional>; payment_refresh_date: z.ZodOptional>; quota: z.ZodUnknown; }, z.ZodTypeAny, "passthrough">[]; }, { balance: number; username: string; quotas: z.objectInputType<{ chute_id: z.ZodOptional>; is_default: z.ZodBoolean; user_id: z.ZodOptional>; updated_at: z.ZodOptional>; payment_refresh_date: z.ZodOptional>; quota: z.ZodUnknown; }, z.ZodTypeAny, "passthrough">[]; }>; /** * Single quota entry */ export type ChutesQuotaEntry = z.infer; /** * User info */ export type ChutesUserInfo = z.infer; /** * Combined Chutes usage information */ export type ChutesUsageInfo = z.infer; /** * Fetch usage information from Chutes API * Fetches both quota and user info in parallel * * @param apiKey - Chutes API key * @returns Combined usage info if available, null on error */ export declare function fetchChutesUsage(apiKey: string): Promise; /** * Format all available Chutes usage information for display */ export declare function formatChutesUsage(usage: ChutesUsageInfo): string[];