16 lines
425 B
TypeScript
16 lines
425 B
TypeScript
import type { ComputedRef, Ref } from 'vue'
|
|
import type { AuthUser } from '~/stores/auth'
|
|
|
|
export type AuthMode = 'disabled' | 'mock' | 'userinfo'
|
|
|
|
export interface AuthClient {
|
|
mode: AuthMode
|
|
isEnabled: boolean
|
|
isReady: Ref<boolean>
|
|
isAuthenticated: ComputedRef<boolean>
|
|
user: Ref<AuthUser | null>
|
|
ensureInitialized: () => Promise<void>
|
|
login: () => void | Promise<void>
|
|
logout: () => void | Promise<void>
|
|
}
|