import { OAuthConfig, AuthTokens, InitiatePartnerAuthOptions } from '../models/auth'; export interface AuthorizationUrlOptions { loginHint?: string; } export declare class OAuthClient { private config; private tokens?; private axiosInstance; constructor(config: OAuthConfig); getAuthorizationUrl(state?: string, options?: AuthorizationUrlOptions): string; exchangeCodeForToken(code: string): Promise; refreshAccessToken(refreshToken?: string): Promise; getClientCredentialsToken(scope?: string[]): Promise; revokeToken(token: string, tokenType?: 'access_token' | 'refresh_token'): Promise; getAccessToken(): string | undefined; setTokens(tokens: AuthTokens): void; isTokenExpired(): boolean; initiatePartnerAuth(email: string, name?: string, options?: InitiatePartnerAuthOptions): Promise<{ session: string; challengeName: string; challengeParams?: Record; userProvisioned?: boolean; }>; verifyPartnerAuth(email: string, code: string, session: string): Promise<{ redirectUrl?: string; }>; checkConsent(email: string): Promise<{ hasConsent: boolean; requiresConsent: boolean; redirectUrl?: string; }>; getPartnerInfo(): Promise<{ name: string; description?: string; logoUrl?: string; websiteUrl?: string; }>; getAvailableScopes(): Promise; introspectToken(token: string): Promise<{ active: boolean; scope?: string; clientId?: string; username?: string; exp?: number; iat?: number; }>; getUserInfo(accessToken?: string): Promise<{ sub: string; email?: string; name?: string; picture?: string; }>; private parseTokenResponse; } //# sourceMappingURL=oauth.d.ts.map