import type { IUser } from "@esri/arcgis-rest-portal";
import { IHubUser } from "../core/types/IHubUser";
import { IHubRequestOptions } from "../hub-types";
import { IHubSearchResult } from "../search/types/IHubSearchResult";
import type { IArcGISContext } from "../types/IArcGISContext";
/**
 * Converts a IUser object into an IHubUser.
 *
 * @param user
 * @returns IHubUser
 */
export declare const convertUserToHubUser: (user: IUser) => IHubUser;
/**
 * Enriches an IUser object search result.
 * @param user
 * @param includes
 * @param requestOptions
 * @returns
 */
export declare function enrichUserSearchResult(user: IUser & Record<string, any>, include: string[], requestOptions: IHubRequestOptions): Promise<IHubSearchResult>;
/**
 * Fetches a hub user by username
 * @param username - hub username. can also be "self"
 * @param context
 * @returns
 */
export declare const fetchHubUser: (username: string, context?: IArcGISContext) => Promise<IHubUser>;
