import type { AuthenticationStatus, OAuthSignInMethod } from '../constants'; import type { SignInOptions } from './oauth-manager'; import type { User } from './user'; export interface AuthProvider { getAuthStatus(): Promise; signIn(method: OAuthSignInMethod, opts?: SignInOptions): Promise; connect(): Promise; signInOrConnect(signInMethod?: OAuthSignInMethod, opts?: SignInOptions): Promise; getUser(): Promise; redirectCallback(): Promise; signOut(): Promise; }