import { ClientSDK, RequestOptions } from "../lib/sdks.js";
import * as operations from "../models/operations/index.js";
import { PageIterator } from "../types/operations.js";
export declare class Users extends ClientSDK {
    /**
     * Get resources for a user
     *
     * @remarks
     * To get the collection of resources available to a specific user. If the corresponding record cannot be located, the api will return a 404 error code and message 'User not found.'
     */
    getResources(request: operations.GetResourcesForUserRequest, options?: RequestOptions): Promise<PageIterator<operations.GetResourcesForUserResponse, {
        offset: number;
    }>>;
    /**
     * Assign a resource to a user
     *
     * @remarks
     * To assign an existing resource to the specified user. If the corresponding record cannot be located, the api will return a 404 error code and message 'User or resource not found.'
     */
    assignResource(request: operations.AssignResourceToUserRequest, options?: RequestOptions): Promise<{
        [k: string]: any;
    }>;
    /**
     * Get all Users
     *
     * @remarks
     * To get all Users on the service provider.
     */
    getAll(request: operations.GetAllUsersRequest, options?: RequestOptions): Promise<PageIterator<operations.GetAllUsersResponse, {
        offset: number;
    }>>;
    /**
     * Create a new User
     *
     * @remarks
     * To create a new User on the service provider. The responding system must return the set of sourcedIds that have been allocated to the newly created user record.
     */
    create(request: operations.CreateUserRequest, options?: RequestOptions): Promise<operations.CreateUserResponse>;
    /**
     * Get a specific User
     *
     * @remarks
     * To get a specific User on the service provider.
     */
    get(request: operations.GetUserRequest, options?: RequestOptions): Promise<operations.GetUserResponse>;
    /**
     * Update an existing User
     *
     * @remarks
     * To update an existing User on the service provider. The sourcedId for the record to be updated is supplied by the requesting system.
     */
    update(request: operations.UpdateUserRequest, options?: RequestOptions): Promise<operations.UpdateUserResponse>;
    /**
     * Delete a User
     *
     * @remarks
     * Perform a soft delete on a specific User on the service provider. This operation changes the status of the User to 'tobedeleted'.
     */
    delete(request: operations.DeleteUserRequest, options?: RequestOptions): Promise<void>;
    /**
     * Get Classes for a User
     *
     * @remarks
     * To get the set of Classes a User is enrolled in.
     */
    getClasses(request: operations.GetClassesForUserRequest, options?: RequestOptions): Promise<PageIterator<operations.GetClassesForUserResponse, {
        offset: number;
    }>>;
}
//# sourceMappingURL=users.d.ts.map