import { IGroup } from "@esri/arcgis-rest-portal";
import { AccessLevel } from "../types/types";
/**
 * Sharing behavior for Item-Backed Entities
 */
export interface IWithSharingBehavior {
    /**
     * Share the item with the specified group
     * @param groupId
     */
    shareWithGroup(groupId: string): Promise<void>;
    /**
     * Share the item with multiple groups
     * @param groupIds
     */
    shareWithGroups(groupIds: string[]): Promise<void>;
    /**
     * Unshare the item with the specified group
     * @param groupId
     */
    unshareWithGroup(groupId: string): Promise<void>;
    /**
     * Unshare the item with the specified group
     * @param groupId
     */
    unshareWithGroups(groupIds: string[]): Promise<void>;
    /**
     * Set the access level for the item
     * @param access
     */
    setAccess(access: AccessLevel): Promise<void>;
    /**
     * Get the list of groups that the item is shared to.
     * Limited to Groups that the user has access to
     */
    sharedWith(): Promise<IGroup[]>;
}
