import type * as ApiTypes from '../generated/ApiTypes';
import BaseRole from '../generated/resources/Role';
export type UpdateRoleDiff<T> = {
    add?: Omit<T, 'environment'>[];
    remove?: Omit<T, 'environment'>[];
};
export type RoleItemTypePermission = ApiTypes.RoleAttributes['positive_item_type_permissions'][0];
export type RoleUploadPermission = ApiTypes.RoleAttributes['positive_upload_permissions'][0];
type UpdateCurrentEnvironmentPermissionsChanges = {
    positive_item_type_permissions?: UpdateRoleDiff<RoleItemTypePermission>;
    negative_item_type_permissions?: UpdateRoleDiff<RoleItemTypePermission>;
    positive_upload_permissions?: UpdateRoleDiff<RoleUploadPermission>;
    negative_upload_permissions?: UpdateRoleDiff<RoleUploadPermission>;
};
export default class RoleResource extends BaseRole {
    /**
     * Applies a set of changes to the permissions of the current environment
     */
    updateCurrentEnvironmentPermissions(roleId: string | ApiTypes.RoleData, changes: UpdateCurrentEnvironmentPermissionsChanges): Promise<ApiTypes.Role>;
}
export {};
