import { OperationsBase } from "../../base/internal";
import { EntityListIterator, MinimalUser, User } from "../../base/types";
import { OperationOptions } from "../OperationOptions";
import { GetSingleUserParams, GetUserListParams } from "./UserOperationParams";
export declare class UserOperations<TOptions extends OperationOptions> extends OperationsBase<TOptions> {
    /** Gets Users who have ever been connected to the iModel specified by the iModel id. This method returns Users in
     * their minimal representation. The returned iterator internally queries entities in pages. Wraps the
     * {@link https://developer.bentley.com/apis/imodels-v2/operations/get-imodel-users/ Get iModel Users}
     * operation from iModels API.
     * @param {GetUserListParams} params parameters for this operation. See {@link GetUserListParams}.
     * @returns {EntityListIterator<MinimalUser>} iterator for User list. See {@link EntityListIterator}, {@link MinimalUser}.
     */
    getMinimalList(params: GetUserListParams): EntityListIterator<MinimalUser>;
    /**
     * Gets Users who have ever been connected to the iModel specified by the iModel id. This method returns Users in their
     * full representation. The returned iterator internally queries entities in pages. Wraps the
     * {@link https://developer.bentley.com/apis/imodels-v2/operations/get-imodel-users/ Get iModel Users}
     * operation from iModels API.
     * @param {GetUserListParams} params parameters for this operation. See {@link GetUserListParams}.
     * @returns {EntityListIterator<User>} iterator for User list. See {@link EntityListIterator}, {@link User}.
     */
    getRepresentationList(params: GetUserListParams): EntityListIterator<User>;
    /**
     * Gets a single User by its id. This method returns a User in its full representation. Wraps the
     * {@link https://developer.bentley.com/apis/imodels-v2/operations/get-imodel-user-details/ Get iModel User}
     * operation from iModels API.
     * @param {GetSingleUserParams} params parameters for this operation. See {@link GetSingleUserParams}.
     * @returns {Promise<User>} a User with specified id. See {@link User}.
     */
    getSingle(params: GetSingleUserParams): Promise<User>;
}
//# sourceMappingURL=UserOperations.d.ts.map