export interface OAuthFlowParams { authorizeUrl: string; tokenUrl: string; clientId: string; redirectUri: string; scopes: string; pluginType: string; extraParams?: Record; useJsonTokenExchange?: boolean; } export interface OAuthFlowResult { authorizeUrl: string; state: string; } export interface OAuthTokens { accessToken: string | null; refreshToken: string | null; clientId: string; pluginType: string; } export declare class OAuthFlowService { private readonly logger; private readonly pendingFlows; createFlow(params: OAuthFlowParams): OAuthFlowResult; exchangeCode(state: string, code: string): Promise; private cleanupExpired; }