import { OrganizationId, ProjectId, RoleId, UserId, CollectionId, ExecutorOrCreator } from 'teambition-types'; import { Role } from './CustomRole'; export interface OrganizationDividerSchema { name: string; pos: number; } export interface OrganizationPaymentPlan { _objectId: OrganizationId; expired: string; isBasic: boolean; isExceedMember: boolean; isExpired: boolean; isStrictExceedMember: boolean; isTrialExpired: boolean; membersCount: number; objectType: 'organization'; payType: string; status: string; trialExpired: string; trialType: string; } export interface OrganizationLicense { membersCount: number; expired: string; payType: 'org' | 'org:2' | 'base'; isTrial: boolean; isExpired: boolean; } declare type OrganizationLicenseKey = 'currentLicense' | 'trialLicense' | 'payLicense'; export declare type OrganizationLicenseMap = Record; export interface OrganizationSchema { _creatorId: UserId; _defaultCollectionId: CollectionId; _defaultRoleId: RoleId | null; _id: OrganizationId; _ownerId?: UserId; _roleId: RoleId; background: string; category: string; created: string; description: string; dividers: OrganizationDividerSchema[]; isExpired: boolean; isPublic: boolean; logo: string; labels?: string[]; licenseMap: OrganizationLicenseMap; name: string; owner?: ExecutorOrCreator; pinyin: string; plan: OrganizationPaymentPlan; positions: string[]; projectIds: ProjectId[]; py: string; staffTypes: string[]; role: Role; } export {};