import { ApiClient } from './client'; import { User, UserPublic, UserUpdateParams, UserFilters, UserListResponse, ApiResponse, PaginationParams, PaginatedResponse, UserCardFilters, UserCardListResponse, BalanceTransactionFilters, BalanceTransactionListResponse, LicensePlate, LicensePlateCreateParams, LicensePlateListResponse, UUID } from './types'; export declare class Users { private client; constructor(client: ApiClient); /** * Get a paginated list of users with optional filtering (admin only) * @param filters Optional filter parameters * @returns Promise with paginated user list */ list(filters?: UserFilters): Promise>; /** * Get a paginated list of users with optional filtering (admin only) * @param filters Optional filter parameters * @returns Promise with paginated user list */ listCards(filters?: UserCardFilters): Promise>; /** * List authenticated user's balance transactions. * @param filters Optional pagination and filter parameters * @returns Promise with paginated balance transactions */ listBalanceTransactions(filters?: BalanceTransactionFilters): Promise>; setDefaultCard(card_id: string): Promise>; deleteCard(card_id: string): Promise>; /** * List license plates associated with the authenticated user. * @returns Promise with the user's license plates */ listLicensePlates(): Promise>; /** * Associate a license plate with the authenticated user. * @param params License plate creation parameters * @returns Promise with the created license plate association */ createLicensePlate(params: LicensePlateCreateParams): Promise>; /** * Remove a license plate association from the authenticated user. * @param licensePlateId License plate association ID * @returns Promise with the deletion result */ deleteLicensePlate(licensePlateId: UUID): Promise>; /** * List license plates associated with a specific user (admin only). * @param user_id Target user ID * @returns Promise with the user's license plates */ listUserLicensePlates(user_id: string): Promise>; /** * Associate a license plate with a specific user (admin only). * @param user_id Target user ID * @param params License plate creation parameters * @returns Promise with the created license plate association */ createUserLicensePlate(user_id: string, params: LicensePlateCreateParams): Promise>; /** * Remove a license plate association from a specific user (admin only). * @param user_id Target user ID * @param licensePlateId License plate association ID * @returns Promise with the deletion result */ deleteUserLicensePlate(user_id: string, licensePlateId: UUID): Promise>; /** * Get a paginated list of users with pagination controls (admin only) * @param paginationParams Pagination parameters (page, limit, sort, order) * @param filters Optional filter parameters * @returns Promise with paginated users */ listPaginated(paginationParams: PaginationParams, filters?: UserFilters): Promise>; /** * Get a specific user by ID * @param user_id The ID of the user to retrieve * @returns Promise with user details */ get(user_id: string): Promise>; /** * Get public profile of a user * @param user_id The ID of the user to retrieve * @returns Promise with public user details */ getPublic(user_id: string): Promise>; /** * Update a user profile * @param user_id The ID of the user to update * @param params The user update parameters * @returns Promise with the updated user */ update(user_id: string, params: UserUpdateParams): Promise>; /** * Delete a user * @param user_id The ID of the user to delete * @returns Promise with the deletion result */ delete(user_id: string): Promise>; }