import { CanvasHttpConnector } from "../../http/connections/canvas-http.connector";
import { UserInterface } from "../dtos/user.interface";
export declare class UsersFactory {
    protected readonly connector: CanvasHttpConnector;
    protected version: string;
    protected accountId: string;
    constructor(connector: CanvasHttpConnector, version: string, accountId: string);
    /**
     * Fetch users from the Canvas API
     *
     * @param endpoint
     * @private
     */
    private fetchUsers;
    /**
     * Map the user object from the Canvas API to the UserInterface
     *
     * @param user
     * @private
     */
    private mapUser;
    /**
     * List users by course ID
     *
     * @param courseId
     * @param page
     * @param size
     */
    listUsersByCourse(courseId: string, page: number, size: number): Promise<UserInterface[]>;
    /**
     * Get a user by their user ID
     *
     * @param userId
     */
    getUser(userId: string): Promise<UserInterface>;
    /**
     * Search users by a search term
     *
     * @param searchterm
     */
    searchUsers(searchterm: string): Promise<UserInterface[]>;
}
//# sourceMappingURL=users.factory.d.ts.map