import type { ApiShapeId } from "../../agent-defs/dist/index.js"; export type { ApiShapeId } from "../../agent-defs/dist/index.js"; export type EnvValueSource = { kind: "literal"; value: string; } | { kind: "providerCredential"; prefix?: string; } | { kind: "providerBaseUrl"; } | { kind: "providerField"; path: string; }; export interface ApiKeyPrompt { title: string; placeholder?: string; } export interface ApiKeyAuth { kind: "api-key"; envVar: string; storageKey: string; prompt: ApiKeyPrompt; preferredLogin?: "oauth"; } export interface OAuthAuth { kind: "oauth"; } export type AuthMethod = ApiKeyAuth | OAuthAuth; export interface ApiShapeBinding { readonly id: ApiShapeId; readonly baseUrlPath?: string; readonly envBaseUrlPath?: string; readonly defaultBaseUrl?: string; } export interface ProviderModelInput { readonly kind: "freeform"; } export interface AuthProvider { readonly id: string; readonly label: string; readonly summary?: string; readonly baseUrl?: string; readonly agentBaseUrl?: string; readonly baseUrlEnvVar?: string; readonly baseUrlEnvPath?: string; readonly agentBaseUrlPath?: string; readonly requiresBaseUrl?: boolean; readonly modelInput?: ProviderModelInput; readonly auth: AuthMethod; readonly apiShapes?: readonly ApiShapeBinding[]; readonly env?: Readonly>; } export declare function defineProvider(provider: AuthProvider): AuthProvider;