import Service from "../../service";
import { CreateMerchantUserRequest } from '../../typings/management/models';
import { CreateUserResponse } from '../../typings/management/models';
import { ListMerchantUsersResponse } from '../../typings/management/models';
import { UpdateMerchantUserRequest } from '../../typings/management/models';
import { User } from '../../typings/management/models';
import { IRequest } from "../../typings/requestOptions";
export default class UsersMerchantLevelApi extends Service {
    /**
     * @summary Get a list of users
     * @param merchantId Unique identifier of the merchant.
     * @param pageNumber The number of the page to fetch.
     * @param pageSize The number of items to have on a page. Maximum value is **100**. The default is **10** items on a page.
     */
    listUsers(merchantId: string, requestOptions?: IRequest.Options): Promise<ListMerchantUsersResponse>;
    /**
     * @summary Get user details
     * @param merchantId Unique identifier of the merchant.
     * @param userId Unique identifier of the user.
     */
    getUserDetails(merchantId: string, userId: string, requestOptions?: IRequest.Options): Promise<User>;
    /**
     * @summary Update a user
     * @param merchantId Unique identifier of the merchant.
     * @param userId Unique identifier of the user.
     * @param updateMerchantUserRequest
     */
    updateUser(merchantId: string, userId: string, updateMerchantUserRequest: UpdateMerchantUserRequest, requestOptions?: IRequest.Options): Promise<User>;
    /**
     * @summary Create a new user
     * @param merchantId Unique identifier of the merchant.
     * @param createMerchantUserRequest
     */
    createNewUser(merchantId: string, createMerchantUserRequest: CreateMerchantUserRequest, requestOptions?: IRequest.Options): Promise<CreateUserResponse>;
}
