export interface ContractResource { id: string; contentPartnerName: string; contractDocument?: string; contractDates?: ContractDatesResource; contractIsRolling?: boolean; daysBeforeTerminationWarning?: number; yearsForMaximumLicense?: number | null; daysForSellOffPeriod?: number; royaltySplit?: ContractRoyaltySplitResource; minimumPriceDescription?: string; remittanceCurrency?: string; restrictions?: ContractRestrictionsResource; costs?: ContractCostsResource; _links: any; } export interface ContractDatesResource { start?: string; end?: string; } export interface ContractRoyaltySplitResource { streaming?: number; download?: number; } export interface ContractCostsResource { minimumGuarantee: number[]; upfrontLicense?: number; technicalFee?: number; recoupable?: boolean; } export interface ContractRestrictionsResource { video?: string; additionalTerritoryInfo?: string; territoryRestrictions?: TerritoryRestrictionsResource; licensing?: string; editingRestrictions: EditingRestrictionsResource; aiRestrictions?: AiRestrictionsResource; marketing?: string; companies?: string; payout?: string; other?: string; } export interface TerritoryRestrictionsResource { restrictionsType?: 'RESTRICTED' | 'NO_RESTRICTIONS'; territories?: TerritoryResource[]; } export interface TerritoryResource { code: string; label: string; } export interface EditingRestrictionsResource { permission?: EditingPermissionResource; editingInfo?: string; } export interface EditingPermissionResource { value: string; label: string; } export interface AiRestrictionsResource { internalUse?: 'ALLOWED' | 'ALLOWED_WITH_RESTRICTIONS' | 'NOT_ALLOWED'; llmUse?: 'ALLOWED' | 'ALLOWED_WITH_RESTRICTIONS' | 'NOT_ALLOWED'; info?: string; }