import { type UserPermissions } from './permissions.utils.js'; import { type ParsedOptions } from '../options.utils.js'; /** * Basic user information without permissions. */ export type BaseUser = { /** User ID */ id: number; /** User creation timestamp */ createdAt: Date; /** User status (Active/Inactive) */ status: string; /** Username */ userName: string; /** Options the client explicitly sent at create */ options: ParsedOptions; }; /** * Result of deserializing a base user. */ type BaseUserDeserialized = { /** Number of bytes consumed */ bytesRead: number; /** Deserialized user data */ data: BaseUser; }; /** User with permissions information */ export type User = BaseUser & { permissions: UserPermissions | null; }; /** * User status enumeration. */ export declare enum UserStatus { /** Active user */ Active = 1, /** Inactive user */ Inactive = 2 } /** * Deserializes a base user from a buffer. * * @param p - Buffer containing serialized user data * @param pos - Starting position in the buffer * @returns Object with bytes read and deserialized user data * @throws Error if the buffer is empty (user does not exist) */ export declare const deserializeBaseUser: (p: Buffer, pos?: number) => BaseUserDeserialized; /** * Deserializes a user with permissions from a buffer. * * @param p - Buffer containing serialized user data * @param pos - Starting position in the buffer * @returns Deserialized user with permissions */ export declare const deserializeUser: (p: Buffer, pos?: number) => User; /** * Deserializes multiple base users from a buffer. * * @param p - Buffer containing serialized users data * @param pos - Starting position in the buffer * @returns Array of deserialized base users */ export declare const deserializeUsers: (p: Buffer, pos?: number) => BaseUser[]; export {}; //# sourceMappingURL=user.utils.d.ts.map