import type { AuthorizationCodeOAuthIntegration, AuthorizationCodeProtocolDescriptor, DeviceCodeOAuthIntegration, DeviceCodeProtocolDescriptor, OAuthConnectMode, OAuthIntegration } from './DeviceCodeProtocol'; export type { AuthorizationCodeOAuthIntegration, AuthorizationCodeProtocolDescriptor, DeviceCodeOAuthIntegration, DeviceCodeProtocolDescriptor, OAuthConnectMode, OAuthIntegration, } from './DeviceCodeProtocol'; export interface OAuthIntegrationRegistryConfig { integrations?: Array<{ provider: string; offeringId: string; mode?: OAuthConnectMode; integrationId: string; issuedBy: string; clientId?: string; protocol: DeviceCodeProtocolDescriptor | AuthorizationCodeProtocolDescriptor; accountLabel?: string; accountId?: string; }>; } export declare class OAuthIntegrationRegistry { private readonly integrations; static fromServerConfig(config: OAuthIntegrationRegistryConfig): OAuthIntegrationRegistry; register(integration: OAuthIntegration): void; require(provider: string, offeringId?: string, mode?: 'deviceCodeOAuth'): DeviceCodeOAuthIntegration; require(provider: string, offeringId: string | undefined, mode: 'authorizationCodeOAuth'): AuthorizationCodeOAuthIntegration; private onlyIntegration; } type OAuthIntegrationConfigRecord = NonNullable[number]; export declare function requireTrustedOAuthIntegration(value: OAuthIntegrationConfigRecord | OAuthIntegration): OAuthIntegration;