import { AxiosResponse } from 'axios'; interface Tokens { access_token: string; token_type: string; expires_in: number; refresh_token?: string; scope?: string; } interface User { sub?: string; email?: string; email_verified?: boolean; name?: string; } export default class GoogleOAuth2 { protected appID: string; protected appSecret: string; protected callback: string; protected state: any; protected scopes: string[]; constructor(appID: string, appSecret: string, callback: string, scopes: string[], state?: any); getName(): string; getLoginURL(): string; getTokens(code: string): Promise; refreshTokens(refreshToken: string): Promise; getUserEmail(accessToken: string): Promise; isEmailVerified(accessToken: string): Promise; getUserName(accessToken: string): Promise; getUser(accessToken: string): Promise; protected request(method: string, url: string, headers?: Record, payload?: string): Promise; protected addScope(scope: string): GoogleOAuth2; protected getScopes(): string[]; } export {};