import type { GatewayDeployment } from '../auth/InvocationTokenCodec'; import type { AuthContext } from '../../auth/AuthContext'; import type { PodCredentialRepository } from '../connect'; import type { CredentialVault } from '../credentials/CredentialVault'; import type { ProviderRegistry } from '../providers/ProviderRegistry'; import { type DiscoveredProviderModel, type ModelsCredentialRecord, type ProviderModelsAdapter } from './ProviderModelsAdapter'; export interface ProviderModelDiscovery { provider: string; credential: string; models: DiscoveredProviderModel[]; observedAt: string; source: string; } export interface ProviderModelsServiceOptions { vault: CredentialVault; adapters: ProviderModelsAdapter[]; providerRegistry?: ProviderRegistry; credentialRepository?: PodCredentialRepository; credentials?: ModelsCredentialRecord[]; now?: () => Date; } export declare class ProviderModelsService { private readonly vault; private readonly adapters; private readonly protocolHandlers; private readonly providerRegistry?; private readonly credentialRepository?; private readonly credentials; private readonly now; constructor(options: ProviderModelsServiceOptions); list(input: { webId: string; deployment: GatewayDeployment; provider: string; credentialIri?: string; auth?: AuthContext; signal?: AbortSignal; }): Promise; listFromSecret(input: { webId: string; provider: string; offeringId?: string; credentialId: string; authMode?: ModelsCredentialRecord['authMode']; secret?: Record; apiKey?: string; baseUrl?: string; proxyUrl?: string; compatibility?: 'auto' | 'openai' | 'anthropic'; signal?: AbortSignal; }): Promise; private listAcrossCredentials; private findAdapter; private fetchModels; private resolveCredential; }