import { APIResource } from "../../core/resource.mjs"; import * as UsersAPI from "./users.mjs"; import * as RolesAPI from "../roles/roles.mjs"; import * as UsersRolesAPI from "./roles.mjs"; import { APIResponseUserRoles, RoleClearResponse, RoleUpdateParams, Roles } from "./roles.mjs"; import { APIPromise } from "../../core/api-promise.mjs"; import { RequestOptions } from "../../internal/request-options.mjs"; export declare class Users extends APIResource { roles: UsersRolesAPI.Roles; /** * Create user */ create(body: UserCreateParams, options?: RequestOptions): APIPromise; /** * Get user by ID */ retrieve(id: string, options?: RequestOptions): APIPromise; /** * Update user (partial) */ update(id: string, body: UserUpdateParams, options?: RequestOptions): APIPromise; /** * List users (searchable, paginated) */ list(query?: UserListParams | null | undefined, options?: RequestOptions): APIPromise; /** * Delete user */ delete(id: string, options?: RequestOptions): APIPromise; /** * Get current authenticated user */ retrieveCurrent(options?: RequestOptions): APIPromise; } export interface APIResponseBase { success: boolean; timestamp: string; message?: string | null; } export interface APIResponseUser extends APIResponseBase { data?: UserWithRoles; } export interface APIResponseVoid extends APIResponseBase { /** * Empty response payload */ data?: APIResponseVoid.Data | null; } export declare namespace APIResponseVoid { /** * Empty response payload */ interface Data { } } export interface UserWithRoles { id: string; accessedAt: string; createdAt: string; isOnboarded: boolean; updatedAt: string; avatar?: string | null; clerkCreatedAt?: string | null; email?: string | null; emailVerifiedAt?: string | null; firstName?: string | null; fullName?: string | null; lastName?: string | null; messageCount?: number; phone?: string | null; preference?: { [key: string]: unknown; } | null; roles?: Array; username?: string | null; } export interface UserListResponse extends APIResponseBase { data?: UserListResponse.Data; } export declare namespace UserListResponse { interface Data { total: number; users: Array; } } export interface UserCreateParams { id?: string | null; avatar?: string | null; email?: string | null; firstName?: string | null; fullName?: string | null; lastName?: string | null; phone?: string | null; roleIds?: Array | null; username?: string | null; } export interface UserUpdateParams { avatar?: string | null; email?: string | null; firstName?: string | null; fullName?: string | null; isOnboarded?: boolean | null; lastName?: string | null; phone?: string | null; preference?: { [key: string]: unknown; } | null; roleIds?: Array | null; username?: string | null; } export interface UserListParams { keyword?: string; page?: number; pageSize?: number; } export declare namespace Users { export { type APIResponseBase as APIResponseBase, type APIResponseUser as APIResponseUser, type APIResponseVoid as APIResponseVoid, type UserWithRoles as UserWithRoles, type UserListResponse as UserListResponse, type UserCreateParams as UserCreateParams, type UserUpdateParams as UserUpdateParams, type UserListParams as UserListParams, }; export { Roles as Roles, type APIResponseUserRoles as APIResponseUserRoles, type RoleClearResponse as RoleClearResponse, type RoleUpdateParams as RoleUpdateParams, }; } //# sourceMappingURL=users.d.mts.map