/** * Auto-generated TypeScript types from user_events.proto * DO NOT EDIT - regenerate with: npm run proto:gen */ import type { BaseEvent } from './base_event.js'; export interface UserCreatedEvent { base: BaseEvent; user_id: string; email: string; username: string; roles: string[]; registration_source: string; referrer_id?: string; email_verified: boolean; } export interface UserUpdatedEvent { base: BaseEvent; user_id: string; email?: string; username?: string; display_name?: string; avatar_url?: string; timezone?: string; language?: string; update_type: UserUpdateType; updated_by: string; } export interface UserDeletedEvent { base: BaseEvent; user_id: string; email: string; reason: DeletionReason; deleted_by: string; data_anonymized: boolean; } export interface UserSuspendedEvent { base: BaseEvent; user_id: string; suspended_by: string; reason: string; permanent: boolean; } export interface UserReactivatedEvent { base: BaseEvent; user_id: string; reactivated_by: string; reason: string; } export interface PermissionsChangedEvent { base: BaseEvent; user_id: string; added_permissions: string[]; removed_permissions: string[]; added_roles: string[]; removed_roles: string[]; workspace_id?: string; document_id?: string; scope: PermissionScope; changed_by: string; reason: string; } export interface PasswordChangedEvent { base: BaseEvent; user_id: string; reason: PasswordChangeReason; forced: boolean; ip_address: string; user_agent: string; } export interface EmailVerifiedEvent { base: BaseEvent; user_id: string; email: string; verification_method: string; } export interface LoginEvent { base: BaseEvent; user_id: string; method: LoginMethod; ip_address: string; user_agent: string; device_id: string; session_id?: string; mfa_used: boolean; location?: string; } export interface LogoutEvent { base: BaseEvent; user_id: string; reason: LogoutReason; session_id?: string; } export declare enum UserUpdateType { USER_UPDATE_TYPE_UNSPECIFIED = 0, PROFILE = 1, SETTINGS = 2, AVATAR = 3, PASSWORD = 4, EMAIL = 5 } export declare enum DeletionReason { DELETION_REASON_UNSPECIFIED = 0, USER_REQUEST = 1, ADMIN_ACTION = 2, POLICY_VIOLATION = 3, INACTIVITY = 4, GDPR_REQUEST = 5 } export declare enum PermissionScope { PERMISSION_SCOPE_UNSPECIFIED = 0, GLOBAL = 1, WORKSPACE = 2, DOCUMENT = 3 } export declare enum PasswordChangeReason { PASSWORD_CHANGE_REASON_UNSPECIFIED = 0, USER_INITIATED = 1, ADMIN_FORCED = 2, PASSWORD_RESET = 3, SECURITY_POLICY = 4 } export declare enum LoginMethod { LOGIN_METHOD_UNSPECIFIED = 0, EMAIL_PASSWORD = 1, OAUTH_GOOGLE = 2, OAUTH_GITHUB = 3, SAML = 4, SSO = 5 } export declare enum LogoutReason { LOGOUT_REASON_UNSPECIFIED = 0, USER_INITIATED = 1, SESSION_EXPIRED = 2, FORCED = 3, DEVICE_CHANGE = 4 } //# sourceMappingURL=user_events.d.ts.map