export type ProviderConfigFieldKey = "apiKey" | "baseUrl" | "azureApiVersion" | "awsRegion" | "awsProfile" | "gcpProjectId" | "gcpRegion" | "sapClientId" | "sapClientSecret" | "sapTokenUrl" | "sapResourceGroup" | "sapDeploymentId"; export interface ProviderConfigFieldRequirement { defaultValue?: string; label?: string; note?: string; placeholder?: string; optional?: boolean; } export interface ProviderConfigFields { providerId: string; authMethod: "api-key" | "oauth" | "local"; fields: Partial>; /** Optional description shown above the fields (e.g. AWS region auto-fill hint). */ description?: string; } /** * Project a provider into the inputs a configure-dialog should render. * * No fields are marked "required". `llms` no longer pre-flights credentials, * so a missing API key surfaces as the provider's own auth error rather than * a synthetic SDK failure. UIs may still require fields client-side if they * want, but the runtime does not. * * - OAuth providers (`cline`, `oca`, `openai-codex`) return `authMethod: * "oauth"` with no fields; the configure UI should route to the OAuth * login flow instead. * - Local auth providers return `authMethod: "local"` with no fields. The * configure UI should show provider-specific local readiness instead. * - All other providers return `apiKey`. Built-in local/proxy-style providers * with user-supplied endpoints, plus user-added providers with saved * endpoints, also return a pre-filled `baseUrl` field. * * Returns the same fallback shape for unknown providers (single `apiKey` * input, no default base URL) so callers can render a reasonable configure * dialog without per-id branches. */ export declare function getProviderConfigFields(providerId: string): ProviderConfigFields;