import { FetchRepositoryBase } from "../../../shared/index.js"; import type { TeamList } from "./AdminTeamRepository.d.js"; type ListTeamParams = { query?: string | undefined; page?: number | undefined; per_page?: number | undefined; active_filter?: number | undefined; active?: number | undefined; }; export type UpdateUserParams = { first_name?: string; last_name?: string; lang?: string; avatar_id?: number; iso2?: string; time_zone?: string; external_id?: string; active?: boolean; inactive_user?: boolean; email?: string; username?: string; password?: string; password_confirmation?: string; send_password?: boolean; role_id?: number; application_access?: { content?: boolean | undefined; channels?: boolean | undefined; customers?: boolean | undefined; insights?: boolean | undefined; }; }; type BulkUpdateUsersParams = { act?: "activate" | "deactivate"; id?: number[]; user_ids?: number[]; query?: string; active_filter?: number; all?: boolean; filters?: { active?: boolean; }; updates?: { first_name?: string; last_name?: string; lang?: string; active?: boolean; inactive_user?: boolean; }; }; export declare class AdminTeamRepository extends FetchRepositoryBase { getUsers(queryParams: ListTeamParams): Promise; getUser(id: number): Promise; getCurrentUser(): Promise; createUser(data: Pick & { password?: string; password_confirmation?: string; }): Promise; updateUser(id: number, data: UpdateUserParams): Promise; listUserSessions(id: number): Promise<{ sessions: Array<{ uuid: string; created_at: string; request_ip: string; device_name: string; device_type: string; device_os: string; impersonator: string | null; }>; }>; revokeUserSession(id: number, grant_uuid: string): Promise; removeUserOTP(id: number): Promise; bulkUpdateUsers(data: BulkUpdateUsersParams): Promise; /** * Find user by email or username (case-insensitive) * Returns null if not found * Used for idempotent create-or-update operations */ findUserByEmailOrUsername(identifier: string): Promise; /** * Resolve identifier to user ID * Accepts: email, username, or numeric ID * Throws if user not found */ resolveUserId(identifier: string | number): Promise; /** * Get full user details by ID * Used for verification and before/after comparisons */ getUserWithDetails(id: number): Promise; /** * Deactivate user account * Uses the bulk update endpoint for single user deactivation */ deactivateUser(id: number): Promise; /** * Activate user account * Uses the bulk update endpoint for single user activation */ activateUser(id: number): Promise; } export {}; //# sourceMappingURL=AdminTeamRepository.d.ts.map