import { ComputerLanguage } from "schema-dts"; import { CreativeWork, SoftwareSourceCode, Thing, Person, Organization, Dataset, } from "schema-dts"; interface RoCrateFormalParameter { "@type": "FormalParameter"; "@id": string; name: string; valueRequired?: boolean; format?: string; conformsTo?: Thing; additionalType?: Thing; encodingFormat?: Thing; } interface RoCrateWorkflow { "@type": "Workflow"; conformsTo: string; creator: Person; dateCreated: string; license: string; input: RoCrateFormalParameter[]; output: RoCrateFormalParameter[]; sdPublisher: Person; version: string; } export type RoCrateGraph = | RoCrateFormalParameter | Person | RoCrateWorkflow | Organization | ComputerLanguage | CreativeWork | SoftwareSourceCode | Dataset; export interface RoCrate { "@context": string; "@graph": RoCrateGraph[]; }