import { Context, Effect, Layer } from "effect"; import { DatabaseService } from "../../database/db.js"; import { DatabaseError } from "../../../shared/types.js"; export interface CreateAuditLogData { userId: string | null; action: AuditAction; resourceType?: string | null; resourceId?: string | null; ipAddress?: string | null; userAgent?: string | null; details?: string | null; } export type AuditAction = "USER_REGISTERED" | "USER_LOGIN" | "USER_LOGOUT" | "LOGIN_FAILED" | "PASSWORD_CHANGED" | "PASSWORD_RESET_REQUESTED" | "PASSWORD_RESET_COMPLETED" | "EMAIL_VERIFIED" | "EMAIL_CHANGED" | "PROFILE_UPDATED" | "ACCOUNT_LOCKED" | "ACCOUNT_UNLOCKED" | "SESSION_CREATED" | "SESSION_REVOKED" | "TOKEN_REFRESHED" | "OAUTH_LINKED" | "OAUTH_UNLINKED" | "TWO_FACTOR_ENABLED" | "TWO_FACTOR_DISABLED"; declare const AuditLogService_base: Context.TagClass Effect.Effect; }>; export declare class AuditLogService extends AuditLogService_base { static Live: Layer.Layer; } export {}; //# sourceMappingURL=AuditLogService.d.ts.map