import { HubEntityType } from "../../core/types/HubEntityType";
import { IEntityPermissionPolicy } from "../../permissions/types/IEntityPermissionPolicy";
export interface IHubRoleConfigValue {
    key: string;
    entityId?: string;
    entityType?: HubEntityType;
    roles: Record<string, {
        value: string;
        id?: string;
    }>;
}
/**
 * @private
 * Transforms an array of IEntityPermissionPolicy (Hub entity) objects to an array of IHubRoleConfigValue (entity editor) objects
 * representing the channel's public (anonymous & authenticated) permissions
 * @param permissionPolicies An array of IEntityPermissionPolicy objects
 * @returns an array of IHubRoleConfigValue objects
 */
export declare const transformEntityPermissionPoliciesToPublicFormValues: (permissionPolicies: IEntityPermissionPolicy[]) => IHubRoleConfigValue[];
/**
 * @private
 * Transforms an array of IEntityPermissionPolicy (Hub entity) objects to an array of IHubRoleConfigValue (entity editor) objects
 * representing the channel's group (member & admin) permissions
 * @param permissionPolicies An array of IEntityPermissionPolicy objects
 * @returns an array of IHubRoleConfigValue objects
 */
export declare const transformEntityPermissionPoliciesToGroupFormValues: (permissionPolicies: IEntityPermissionPolicy[]) => IHubRoleConfigValue[];
/**
 * @private
 * Transforms an array of IEntityPermissionPolicy (Hub entity) objects to an array of IHubRoleConfigValue (entity editor) objects
 * representing the channel's org (member & admin) permissions
 * @param permissionPolicies An array of IEntityPermissionPolicy objects
 * @param defaultOrgId The current user's orgId
 * @returns an array of IHubRoleConfigValue objects
 */
export declare const transformEntityPermissionPoliciesToOrgFormValues: (permissionPolicies: IEntityPermissionPolicy[], defaultOrgId?: string) => IHubRoleConfigValue[];
/**
 * @private
 * Transforms an array of IEntityPermissionPolicy (Hub entity) objects to an array of IHubRoleConfigValue (entity editor) objects
 * representing the channel's individual user permissions
 * @param permissionPolicies An array of IEntityPermissionPolicy objects
 * @returns an array of IHubRoleConfigValue objects
 */
export declare const transformEntityPermissionPoliciesToUserFormValues: (permissionPolicies: IEntityPermissionPolicy[]) => IHubRoleConfigValue[];
