/**
 * Radius gateway OAuth flow and model catalog loading.
 *
 * Radius is a pi-messages gateway. OAuth endpoints are discovered from the
 * gateway (`/v1/oauth`); the model catalog comes from `/v1/config` and is
 * cached on the stored credential (`gatewayConfig`) so models are available
 * at startup and refreshed whenever the token refreshes.
 *
 * NOTE: This module uses node:http for the OAuth callback server.
 * It is only intended for CLI use, not browser environments.
 */
import type { Api, Model, ThinkingLevelMap } from "../../types.ts";
import type { OAuthCredentials, OAuthProviderInterface } from "./types.ts";
export declare const DEFAULT_RADIUS_GATEWAY = "https://radius.pi.dev";
/** Model metadata served by the gateway config endpoint. */
export type RadiusGatewayModel = {
    id: string;
    name: string;
    reasoning: boolean;
    thinkingLevelMap?: ThinkingLevelMap;
    input: ("text" | "image")[];
    cost: Model<Api>["cost"];
    contextWindow: number;
    maxTokens: number;
};
export type RadiusGatewayConfig = {
    baseUrl: string;
    models: RadiusGatewayModel[];
};
export type RadiusOAuthCredentials = OAuthCredentials & {
    gatewayConfig?: RadiusGatewayConfig;
};
export interface RadiusOAuthProviderOptions {
    id: string;
    name: string;
    gateway: string;
}
export declare function createRadiusOAuthProvider(options: RadiusOAuthProviderOptions): OAuthProviderInterface;
//# sourceMappingURL=radius.d.ts.map