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; type ExtendedInstanceMembershipRoleEnum = (typeof InstanceMembershipRoleEnum)[keyof typeof InstanceMembershipRoleEnum] | 'org_group_member'; export type Role = ExtendedInstanceMembershipRoleEnum | (typeof CollaborationRoleEnum)[keyof typeof CollaborationRoleEnum] | (string & {}); 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: ExtendedInstanceMembershipRoleEnum; }; export type ItemNormalized = CollaborationNormalized | ContentDistributionGroupMembershipNormalized | InstanceAssignmentGroupMembershipNormalized | InstanceMembershipNormalized; export type GroupSelectModel = ContentDistributionGroup | InstanceAssignmentGroup; export type UserSelectModel = User | InstanceMembership | Collaboration | ContentDistributionGroupMembership; export {};