UNPKG

@gsarthak783/accesskit-auth

Version:

JavaScript/TypeScript SDK for AccessKit Authentication System - Easy auth integration for any project

120 lines 2.75 kB
export interface User { id: string; email: string; firstName: string; lastName: string; username?: string; displayName?: string; avatar?: string; isVerified: boolean; isActive: boolean; customFields?: Record<string, any>; createdAt: string; lastLogin?: string; } export interface CreateUserData { email: string; password: string; firstName: string; lastName: string; username?: string; customFields?: Record<string, any>; } export interface LoginCredentials { email: string; password: string; } export interface UpdateUserData { firstName?: string; lastName?: string; displayName?: string; avatar?: string; username?: string; customFields?: Record<string, any>; } export interface ChangePasswordData { currentPassword: string; newPassword: string; } export interface UpdateEmailData { newEmail: string; password: string; } export interface ReauthenticateData { password: string; } export interface AuthResponse { success: boolean; message?: string; data: { user: User; tokens: { accessToken: string; refreshToken: string; }; needsVerification?: boolean; }; } export interface ApiResponse<T = any> { success: boolean; data?: T; message?: string; errors?: Array<{ field: string; message: string; }>; } export interface AuthConfig { apiKey: string; baseUrl?: string; projectId?: string; timeout?: number; } export interface TokenStorage { getAccessToken(): string | null; setAccessToken(token: string): void; getRefreshToken(): string | null; setRefreshToken(token: string): void; clearTokens(): void; } export type AuthEvent = 'login' | 'logout' | 'register' | 'token_refresh' | 'profile_update' | 'error' | 'authStateChange' | 'reauthenticate'; export interface AuthEventData { user?: User; error?: Error; timestamp: number; isAuthenticated?: boolean; } export interface PaginationOptions { page?: number; limit?: number; } export interface PaginatedResponse<T> { data: T[]; pagination: { current: number; pages: number; total: number; }; } export interface ExportOptions { format?: 'json' | 'csv'; includeCustomFields?: boolean; dateRange?: { from: string; to: string; }; } export interface ImportOptions { format?: 'json' | 'csv'; updateExisting?: boolean; skipInvalid?: boolean; } export interface ExportData { users: User[]; metadata: { exportedAt: string; totalCount: number; projectId: string; }; } //# sourceMappingURL=types.d.ts.map