import AuthProvider from "../../auth/AbstractAuth"; import { TokenResponse_google } from "../../types/apis-related"; import User from "../../local-models/user/UserProfile"; import { LocalStorageAuthObject } from "../../types/other"; declare class GoogleAuth extends AuthProvider { constructor(); /** * Gets auth object from local storage */ getAuthObjectFromLocalStorage(): LocalStorageAuthObject | null; /** * Checks if there is a session stored in local storage. * @returns {boolean} - True if a session exists, false otherwise. */ checkSessionExists(): Promise; /** * Clears the session from local storage. */ clearSession(): void; getCodeClient(): Promise; refreshAccessToken(): Promise; getExchangeCodeData(codeClient: string): Promise; /** * Initiates the login process for a Google user. This includes loading the GSI script, initializing the * OAuth client, and exchanging the auth code for tokens through a backend lambda function. * @returns {Promise} - A promise that resolves to true if login is successful. */ login(): Promise; protected loadAndCheckScripts(): Promise; protected checkAndHandleSession(): Promise; protected initializeAndExchangeTokens(): Promise; storeTokens(tokens: TokenResponse_google): void; /** * Logs out the Google user by revoking the access token and clearing stored token information. * @returns {Promise} - A promise that resolves when the logout process is complete. */ logout(): Promise; getUserProfileAfterConnection(): Promise; initGapiClient(): Promise; } export { GoogleAuth };