import { IGroup, GroupMembership } from "@esri/arcgis-rest-portal";
import { IEnrichmentErrorInfo, IHubRequestOptions } from "../../hub-types";
import { IGroupMembershipSummary } from "../types/IGroupMembershipSummary";
/**
 * Possible additional properties available through enrichments
 */
export interface IGroupEnrichments {
    contentCount?: number;
    membershipSummary?: IGroupMembershipSummary;
    userMembership?: GroupMembership;
    /**
     * Represents who can become _members_ of the group. This is separate from the `access`
     * field, which represents who can _see_ the group.
     *
     * While technically not documented for the `getGroup` endpoint, the enrichment _does_ come
     * back when requesting a specific group's information. As such, we're not totally sure
     * that this enum is perfectly accurate. CONFIRM VALUES BEFORE USE!
     *
     * All information about this enum (and its values) was taken from this search documentation page:
     * https://developers.arcgis.com/rest/users-groups-and-items/common-parameters.htm
     */
    membershipAccess?: "org" | "collaboration" | "none";
    /**
     * Any errors encountered when fetching enrichments
     * see https://github.com/ArcGIS/hub-indexer/blob/master/docs/errors.md#response-formatting-for-errors
     */
    errors?: IEnrichmentErrorInfo[];
}
export type GroupEnrichment = keyof IGroupEnrichments;
/**
 * Merging of the Enrichment and the Group
 */
export interface IGroupAndEnrichments extends IGroupEnrichments {
    group: IGroup;
}
/**
 * Fetch enrichments for Groups
 * @param group
 * @param enrichments
 * @param requestOptions
 * @returns
 */
export declare function fetchGroupEnrichments(group: IGroup, enrichments: GroupEnrichment[], requestOptions?: IHubRequestOptions): Promise<IGroupAndEnrichments>;
