import type { CompletionRequest, CompletionResult, ProviderId } from "../types.js"; import type { ReasoningStyle } from "./http.js"; import { providerInfo } from "./provider-info-text.js"; import { defaultModels, envVars, providerAliases } from "./provider-identity.js"; export { defaultModels, envVars, providerAliases }; export { providerInfo }; export interface LlmProvider { id: ProviderId; displayName: string; defaultModel: string; reasoningStyle?: ReasoningStyle | undefined; envVar?: string | undefined; validateKey(key: string): boolean; ping(options: ProviderAuth): Promise; complete(request: CompletionRequest, auth: ProviderAuth): Promise; stream?(request: CompletionRequest, auth: ProviderAuth, onToken: (token: string) => void): Promise; listModels?(auth: ProviderAuth): Promise; } export interface ProviderAuth { apiKey?: string | undefined; baseUrl?: string | undefined; } export declare function getEnvVar(provider: ProviderId): string | undefined; export declare function setEnvVarResolver(resolver: ((provider: ProviderId) => string | undefined) | undefined): void; export declare function normalizeProvider(value: string): ProviderId | undefined; export declare function assertProvider(value: string): ProviderId; export declare function getDefaultModel(provider: ProviderId): string; export declare function setCustomProviderResolver(resolver: ((id: string) => boolean) | undefined): void; export declare function sanitizeProviderModel(provider: ProviderId, model: string): string; export declare function normalizeEndpointUrl(url: string): string; export declare function maskSecret(secret: string): string; export declare function maskSecretTail(secret: string): string; export declare function redactSecrets(value: string): string; export declare function getProviderInfoText(provider: string): string; export declare function setCustomProviderInfoResolver(resolver: ((provider: string) => string | undefined) | undefined): void; export declare function setCustomDefaultModelResolver(resolver: ((provider: ProviderId) => string | undefined) | undefined): void;