/** * Confluence OAuth 2.0 (3LO) Authentication Handler * Part of ADPA (Automated Document Processing Assistant) v2.1.3 * * Handles OAuth 2.0 authentication flow for Confluence Cloud * Features: * - Authorization URL generation * - Token exchange and refresh * - Secure token storage * - Automatic token refresh */ export interface OAuth2Config { clientId: string; clientSecret: string; redirectUri: string; scopes: string[]; baseUrl?: string; } export interface OAuth2Tokens { access_token: string; refresh_token: string; expires_in: number; token_type: string; scope: string; expires_at?: number; } export interface AccessibleResource { id: string; name: string; url: string; scopes: string[]; avatarUrl?: string; } /** * OAuth 2.0 Authentication Handler for Confluence */ export declare class ConfluenceOAuth2 { private config; private tokens; private tokenFilePath; constructor(config: OAuth2Config); /** * Generate authorization URL for OAuth 2.0 flow */ getAuthorizationUrl(): string; /** * Start OAuth 2.0 authorization flow with local server */ startAuthorizationFlow(): Promise; /** * Exchange authorization code for access tokens */ exchangeCodeForTokens(code: string): Promise; /** * Get valid access token (refresh if needed) */ getValidAccessToken(): Promise; /** * Refresh access tokens using rotating refresh token * Follows Atlassian's rotating refresh token implementation */ refreshTokens(): Promise; /** * Get accessible Confluence resources */ getAccessibleResources(): Promise; /** * Find Cloud ID for a specific site URL */ findCloudId(siteUrl: string): Promise; /** * Check if currently authorized */ isAuthorized(): boolean; /** * Check if tokens are expired */ isTokenExpired(): boolean; /** * Get current token status */ getTokenStatus(): { authorized: boolean; expired: boolean; expiresIn: number | null; scopes: string[]; }; /** * Revoke tokens and clear storage */ revokeAuthorization(): Promise; /** * Load stored tokens from disk */ private loadStoredTokens; /** * Save tokens to disk */ private saveTokens; /** * Clear tokens from memory and disk */ private clearTokens; /** * Generate random state parameter for OAuth security */ private generateState; } /** * Factory function to create OAuth 2.0 handler from environment variables */ export declare function createConfluenceOAuth2(): ConfluenceOAuth2; //# sourceMappingURL=ConfluenceOAuth2.d.ts.map