export interface User { id: string; username: string; email: string; passwordHash: string | null; linuxUsername: string; createdAt: number; updatedAt: number; isActive: boolean; emailVerified: boolean; failedLoginAttempts: number; lastLoginAt: number | null; } export interface Session { id: string; userId: string; tokenHash: string; ipAddress: string | null; userAgent: string | null; createdAt: number; expiresAt: number; isRevoked: boolean; revokedAt: number | null; } export interface OAuth2Provider { id: string; userId: string; provider: "google" | "github" | "microsoft"; providerUserId: string; providerEmail: string | null; accessToken: string | null; refreshToken: string | null; tokenExpiresAt: number | null; createdAt: number; updatedAt: number; } export interface AuditLog { id: string; userId: string | null; action: string; resourceType: string | null; resourceId: string | null; ipAddress: string | null; userAgent: string | null; details: string | null; createdAt: number; } export interface JWTPayload { sub: string; username: string; email: string; iat: number; exp: number; jti: string; [key: string]: unknown; } export interface RegisterRequest { username: string; email: string; password: string; } export interface LoginRequest { email: string; password: string; } export interface AuthResponse { user: { id: string; username: string; email: string; emailVerified: boolean; }; token: string; } export declare class AuthError { readonly code: string; readonly message: string; readonly cause?: unknown | undefined; readonly _tag = "AuthError"; constructor(code: string, message: string, cause?: unknown | undefined); } export declare class ValidationError { readonly field: string; readonly message: string; readonly _tag = "ValidationError"; constructor(field: string, message: string); } export declare class DatabaseError { readonly message: string; readonly cause?: unknown | undefined; readonly _tag = "DatabaseError"; constructor(message: string, cause?: unknown | undefined); } //# sourceMappingURL=types.d.ts.map