import { Collaboration, ContentDistributionGroup, MiniContentDistributionGroup, InstanceAssignmentGroup, User, CollaborationRoleEnum, InstanceMembership, ContentDistributionGroupMembership, InstanceAssignmentGroupMembership, InstanceMembershipRoleEnum } from '../../../types/openapi'; export type ContentDistributionGroupItem = Pick & { size?: ContentDistributionGroup['size']; id?: ContentDistributionGroup['id']; }; export type InstanceAssignmentGroupItem = Pick & { size?: InstanceAssignmentGroup['size']; id?: InstanceAssignmentGroup['id']; }; export type CollaborationItem = (Pick & { content_distribution_group: MiniContentDistributionGroup; }) | (Pick & { content_distribution_group: MiniContentDistributionGroup; }) | Pick | Pick; export type InstanceMembershipItem = (Pick & { instance_assignment_group: InstanceAssignmentGroupItem; }) | (Pick & { user: Pick & { name: string; }; }); export type ContentDistributionGroupMembershipItem = Pick & { content_distribution_group: ContentDistributionGroupItem; }; export type InstanceAssignmentGroupMembershipItem = Pick & { instance_assignment_group: InstanceAssignmentGroupItem; }; export type Item = CollaborationItem | InstanceMembershipItem | ContentDistributionGroupMembershipItem | InstanceAssignmentGroupMembershipItem; declare const ExtendedInstanceMembershipRoleEnum: { readonly ORG_GROUP_MEMBER: "org_group_member"; readonly ADMIN: InstanceMembershipRoleEnum.ADMIN; readonly EDITOR: InstanceMembershipRoleEnum.EDITOR; readonly MEMBER: InstanceMembershipRoleEnum.MEMBER; }; export type Role = (typeof ExtendedInstanceMembershipRoleEnum)[keyof typeof ExtendedInstanceMembershipRoleEnum] | (typeof CollaborationRoleEnum)[keyof typeof CollaborationRoleEnum]; export type CollaborationNormalized = Omit & { group: MiniContentDistributionGroup; type: 'collaboration'; }; type ContentDistributionGroupMembershipNormalized = Omit & { group: ContentDistributionGroupItem; type: 'content_distribution_group_membership'; }; export type InstanceAssignmentGroupMembershipNormalized = Omit & { group: InstanceAssignmentGroupItem; type: 'instance_assignment_group_membership'; }; export type InstanceMembershipNormalized = Omit & { group: InstanceAssignmentGroupItem; type: 'instance_membership'; role: (typeof ExtendedInstanceMembershipRoleEnum)[keyof typeof ExtendedInstanceMembershipRoleEnum]; }; export type ItemNormalized = CollaborationNormalized | ContentDistributionGroupMembershipNormalized | InstanceAssignmentGroupMembershipNormalized | InstanceMembershipNormalized; export type GroupSelectModel = ContentDistributionGroup | InstanceAssignmentGroup; export type UserSelectModel = User | InstanceMembership | Collaboration | ContentDistributionGroupMembership; export {};