import { AxiosResponse } from 'axios'; interface Tokens { access_token: string; token_type?: string; expires_in?: number; refresh_token?: string; scope?: string; } interface User { id?: string; email?: string; verified?: boolean; name?: string; } export default class GithubOAuth2 { protected appID: string; protected appSecret: string; protected callback: string; protected state: any; protected scopes: string[]; protected user: User | undefined; constructor(appID: string, appSecret: string, callback: string, scopes: string[], state?: any); getName(): string; getLoginURL(): string; getTokens(code: string): Promise; refreshTokens(refreshToken: string): Promise; getUserID(accessToken: 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 getScopes(): string[]; } export {};