import type { PassportModuleOptions } from './providers/passport.js'; import type { SanctumModuleOptions } from './providers/sanctum.js'; import type { AuthState } from './core/state.js'; import type { H3Event } from 'h3'; export type ModuleOptions = PassportModuleOptions | SanctumModuleOptions; export interface AuthInstance { $headers: Headers; readonly _prefix: string; readonly options: ModuleOptions; readonly state: AuthState; get user(): Record | null; get strategy(): string | null; get loggedIn(): boolean; get headers(): Headers; get prefix(): string | null; set headers(headers: Headers); getRedirect(strategyName: string): Record | null; csrfToken(event?: H3Event): Promise; initialize(): Promise; loginWith(strategyName: string, value: Record): Promise>; logout(strategyName: string): Promise; twoFactor(strategyName: string, code: string): Promise<{ success: boolean; }>; } export * from './shared.js'; export * from './providers/passport.js'; export * from './providers/sanctum.js'; export * from './core/state.js';