export type AuthMethod = "oauth" | "apikey";
/**
 * One API-key option for a provider that splits auth across multiple distinct
 * endpoints/credentials (currently only Xiaomi: Token Plan vs. API Credits).
 * Each variant stores under its own auth.json key so a user can hold both at
 * once — the model registry picks which one a given model resolves via
 * `getAuthStorageKeys()`.
 */
export interface ApiKeyVariant {
    /** Storage key in auth.json (distinct from `value` when multiple variants exist). */
    key: string;
    /** Display label, e.g. "Token Plan" or "API Credits". */
    label: string;
    /** Base URL stored alongside this variant's credential. */
    baseUrl?: string;
}
export interface AuthProviderMeta {
    /** Stable provider id (matches the gg-ai Provider union, plus storage keys). */
    value: string;
    /** Display name shown in the login list. */
    label: string;
    /** One-line model summary. */
    description: string;
    /** Supported auth methods, in preferred order (oauth first when both). */
    methods: AuthMethod[];
    /** Friendly label for the API key field (e.g. "Z.AI"). */
    apiKeyLabel?: string;
    /** Fixed base URL stored alongside an API key (e.g. Xiaomi's token plan). */
    apiKeyBaseUrl?: string;
    /**
     * When a provider's API-key auth splits across multiple endpoints, the
     * choices to present (in order). The first variant is the default. Absent
     * for every provider with a single API-key credential.
     */
    apiKeyVariants?: ApiKeyVariant[];
}
export declare const AUTH_PROVIDERS: AuthProviderMeta[];
export declare function getAuthProvider(value: string): AuthProviderMeta | undefined;
//# sourceMappingURL=auth-providers.d.ts.map