import { Dayjs } from 'dayjs'; import { AiRestrictionsRequest } from './AiRestrictionsRequest'; export interface CreateContractRequest { contentPartnerName: string; contractDocument?: string; contractDates?: CreateContractDatesRequest; contractIsRolling?: boolean; daysBeforeTerminationWarning?: number; yearsForMaximumLicense?: number | null; daysForSellOffPeriod?: number; royaltySplit?: CreateContractRoyaltySplitRequest; minimumPriceDescription?: string; remittanceCurrency?: string; restrictions?: CreateContractRestrictionsRequest; costs?: CreateContractCostsRequest; } export interface CreateContractDatesRequest { start?: Dayjs; end?: Dayjs; } export interface CreateContractRoyaltySplitRequest { streaming?: number; download?: number; } export interface CreateContractRestrictionsRequest { video?: string; territoryRestrictions?: TerritoryRestrictionsRequest; additionalTerritoryInfo?: string; licensing?: string; editing?: string; editingPermission?: string; aiRestrictions?: AiRestrictionsRequest; marketing?: string; companies?: string; payout?: string; other?: string; } export interface TerritoryRestrictionsRequest { restrictionsType?: 'RESTRICTED' | 'NO_RESTRICTIONS'; territories?: TerritoryRequest[]; } export interface CreateContractCostsRequest { minimumGuarantee?: number[]; upfrontLicense?: number; technicalFee?: number; recoupable?: boolean; } export interface TerritoryRequest { code: string; }