import { IHubGroup } from "../core/types/IHubGroup";
import type { IUserRequestOptions } from "@esri/arcgis-rest-request";
import { IArcGISContext } from "../types/IArcGISContext";
import { IHubRequestOptions } from "../hub-types";
/**
 * Create a new Hub Group
 * we are creating an IGroup with the createGroup call
 * so we need to convert the Hub Group to IGroup first
 * then convert it back to Hub Group and return it
 * @param partialGroup
 * @param requestOptions
 */
export declare function createHubGroup(partialGroup: Partial<IHubGroup>, context: IArcGISContext): Promise<IHubGroup>;
/**
 * Get a Hub Group by id
 * we need to convert the IGroup we get to Hub Group
 * @param identifier
 * @param requestOptions
 */
export declare function fetchHubGroup(identifier: string, requestOptions: IHubRequestOptions): Promise<IHubGroup>;
/**
 * @private
 * Update a Hub Group and return it
 * we need to convert the incoming Hub Group to IGroup
 * before sending it to the API
 * @param hubGroup
 * @param requestOptions
 */
export declare function updateHubGroup(hubGroup: IHubGroup, context: IArcGISContext): Promise<IHubGroup>;
/**
 * @private
 * Remove a Hub Group
 * @param id
 * @param requestOptions
 */
export declare function deleteHubGroup(id: string, requestOptions: IUserRequestOptions): Promise<void>;
