import type { AddProviderActionRequest, ITelemetryService, ProviderCapability, ProviderListItem, ProviderModel, SaveProviderSettingsActionRequest } from "@cline/shared"; import { type ProviderOAuthCredentials } from "../../auth/provider-auth-registry"; import type { ProviderClient, ProviderConfig, ProviderProtocol, ProviderSettings } from "../../services/llms/provider-settings"; import type { ProviderTokenSource } from "../../types/provider-settings"; import type { ProviderSettingsManager } from "../storage/provider-settings-manager"; export { ensureCustomProvidersLoaded } from "./local-provider-registry"; export interface ListLocalProvidersOptions { isClinePassEnabled?: boolean; } export interface UpdateLocalProviderRequest { providerId: string; name?: string; baseUrl?: string; apiKey?: string | null; headers?: Record | null; timeoutMs?: number | null; models?: string[]; defaultModelId?: string | null; modelsSourceUrl?: string | null; protocol?: ProviderProtocol | null; client?: ProviderClient | null; capabilities?: ProviderCapability[] | null; } export interface DeleteLocalProviderRequest { providerId: string; } export declare function addLocalProvider(manager: ProviderSettingsManager, request: Omit): Promise<{ providerId: string; settingsPath: string; modelsPath: string; modelsCount: number; }>; export declare function updateLocalProvider(manager: ProviderSettingsManager, request: UpdateLocalProviderRequest): Promise<{ providerId: string; settingsPath: string; modelsPath: string; modelsCount: number; }>; export declare function deleteLocalProvider(manager: ProviderSettingsManager, request: DeleteLocalProviderRequest): Promise<{ providerId: string; settingsPath: string; modelsPath: string; }>; export declare function markLocalProviderEnabled(manager: ProviderSettingsManager, providerId: string, options?: { tokenSource?: ProviderTokenSource; }): { providerId: string; enabled: true; settingsPath: string; }; export declare function listLocalProviders(manager: ProviderSettingsManager, options?: ListLocalProvidersOptions): Promise<{ providers: ProviderListItem[]; settingsPath: string; }>; export declare function getLocalProviderModels(providerId: string, config?: ProviderConfig): Promise<{ providerId: string; models: ProviderModel[]; }>; export declare function saveLocalProviderSettings(manager: ProviderSettingsManager, request: Omit): { providerId: string; enabled: boolean; settingsPath: string; }; export declare function refreshProviderModelsFromSource(manager: ProviderSettingsManager, providerId: string): Promise<{ providerId: string; refreshed: boolean; modelsCount?: number; }>; export declare function normalizeOAuthProvider(provider: string): string; export declare function loginLocalProvider(providerId: string, existing: ProviderSettings | undefined, openUrl: (url: string) => void, telemetry?: ITelemetryService): Promise; export declare function saveLocalProviderOAuthCredentials(manager: ProviderSettingsManager, providerId: string, existing: ProviderSettings | undefined, credentials: ProviderOAuthCredentials, options?: { setLastUsed?: boolean; }): ProviderSettings; export declare function loginAndSaveLocalProviderOAuthCredentials(manager: ProviderSettingsManager, providerId: string, openUrl: (url: string) => void, telemetry?: ITelemetryService): Promise; export declare function resolveLocalClineAuthToken(settings: ProviderSettings | undefined): string | undefined;