import type { ProviderAdapter } from "../types.js"; export interface ProviderCapabilities { streaming: boolean; structuredOutput: boolean; reasoning: boolean; usage: boolean; cancellation: boolean; } export declare class ProviderAdapterRegistry { private readonly entries; register(adapter: ProviderAdapter, capabilities: ProviderCapabilities): void; get(apiKind: string): ProviderAdapter; capabilities(apiKind: string): ProviderCapabilities; kinds(): string[]; } export declare function getProviderAdapter(apiKind: string): ProviderAdapter; export declare function registerProviderAdapter(adapter: ProviderAdapter, capabilities: ProviderCapabilities): void; export declare function getProviderCapabilities(apiKind: string): ProviderCapabilities; /** * Rejects non-https endpoints and link-local / cloud-metadata IPs before any * credentials are attached. Localhost (loopback) is permitted over plain http * for development. Throws on unsafe endpoints. */ export declare function assertSafeEndpoint(endpoint: string): void;