UNPKG

@stencila/schema

Version:

Extensions to schema.org to support semantic, composable, parameterize-able and executable documents

1,370 lines 68.7 kB
declare type Integer = number; export interface Types { Array: Array<Primitive>; ArrayValidator: ArrayValidator; Article: Article; AudioObject: AudioObject; BlockContent: BlockContent; Boolean: boolean; BooleanValidator: BooleanValidator; Brand: Brand; CitationIntentEnumeration: CitationIntentEnumeration; Cite: Cite; CiteGroup: CiteGroup; Claim: Claim; Code: Code; CodeBlock: CodeBlock; CodeChunk: CodeChunk; CodeError: CodeError; CodeExecutable: CodeExecutable; CodeExecutableTypes: CodeExecutableTypes; CodeExpression: CodeExpression; CodeFragment: CodeFragment; CodeTypes: CodeTypes; Collection: Collection; Comment: Comment; ConstantValidator: ConstantValidator; ContactPoint: ContactPoint; ContactPointTypes: ContactPointTypes; CreativeWork: CreativeWork; CreativeWorkTypes: CreativeWorkTypes; Datatable: Datatable; DatatableColumn: DatatableColumn; Date: Date; DefinedTerm: DefinedTerm; Delete: Delete; Emphasis: Emphasis; Entity: Entity; EntityTypes: EntityTypes; EnumValidator: EnumValidator; Enumeration: Enumeration; EnumerationTypes: EnumerationTypes; Figure: Figure; Function: Function; Grant: Grant; GrantTypes: GrantTypes; Heading: Heading; ImageObject: ImageObject; Include: Include; InlineContent: InlineContent; Integer: Integer; IntegerValidator: IntegerValidator; Link: Link; List: List; ListItem: ListItem; Mark: Mark; MarkTypes: MarkTypes; Math: Math; MathBlock: MathBlock; MathFragment: MathFragment; MathTypes: MathTypes; MediaObject: MediaObject; MediaObjectTypes: MediaObjectTypes; MonetaryGrant: MonetaryGrant; Node: Node; NontextualAnnotation: NontextualAnnotation; Note: Note; Null: null; Number: number; NumberValidator: NumberValidator; Object: { [property: string]: Primitive; }; Organization: Organization; Paragraph: Paragraph; Parameter: Parameter; Periodical: Periodical; Person: Person; PostalAddress: PostalAddress; Primitive: Primitive; Product: Product; PropertyValue: PropertyValue; PublicationIssue: PublicationIssue; PublicationVolume: PublicationVolume; Quote: Quote; QuoteBlock: QuoteBlock; Review: Review; SoftwareApplication: SoftwareApplication; SoftwareEnvironment: SoftwareEnvironment; SoftwareSession: SoftwareSession; SoftwareSourceCode: SoftwareSourceCode; String: string; StringValidator: StringValidator; Strong: Strong; Subscript: Subscript; Superscript: Superscript; Table: Table; TableCell: TableCell; TableRow: TableRow; ThematicBreak: ThematicBreak; Thing: Thing; ThingTypes: ThingTypes; TupleValidator: TupleValidator; Validator: Validator; ValidatorTypes: ValidatorTypes; Variable: Variable; VideoObject: VideoObject; VolumeMount: VolumeMount; } /** * The most simple compound (ie. non-atomic like `number`, `string` etc) type. */ export declare type Entity = { type: 'Entity' | 'ArrayValidator' | 'Article' | 'AudioObject' | 'BooleanValidator' | 'Brand' | 'CitationIntentEnumeration' | 'Cite' | 'CiteGroup' | 'Claim' | 'Code' | 'CodeBlock' | 'CodeChunk' | 'CodeError' | 'CodeExecutable' | 'CodeExpression' | 'CodeFragment' | 'Collection' | 'Comment' | 'ConstantValidator' | 'ContactPoint' | 'CreativeWork' | 'Datatable' | 'DatatableColumn' | 'Date' | 'DefinedTerm' | 'Delete' | 'Emphasis' | 'EnumValidator' | 'Enumeration' | 'Figure' | 'Function' | 'Grant' | 'Heading' | 'ImageObject' | 'Include' | 'IntegerValidator' | 'Link' | 'List' | 'ListItem' | 'Mark' | 'Math' | 'MathBlock' | 'MathFragment' | 'MediaObject' | 'MonetaryGrant' | 'NontextualAnnotation' | 'Note' | 'NumberValidator' | 'Organization' | 'Paragraph' | 'Parameter' | 'Periodical' | 'Person' | 'PostalAddress' | 'Product' | 'PropertyValue' | 'PublicationIssue' | 'PublicationVolume' | 'Quote' | 'QuoteBlock' | 'Review' | 'SoftwareApplication' | 'SoftwareEnvironment' | 'SoftwareSession' | 'SoftwareSourceCode' | 'StringValidator' | 'Strong' | 'Subscript' | 'Superscript' | 'Table' | 'TableCell' | 'TableRow' | 'ThematicBreak' | 'Thing' | 'TupleValidator' | 'Validator' | 'Variable' | 'VideoObject' | 'VolumeMount'; id?: string; meta?: { [property: string]: Primitive; }; }; /** * Create a `Entity` node * @param props Object containing Entity schema properties as key/value pairs * @returns {Entity} Entity schema node */ export declare const entity: (props?: Omit<Entity, 'type'>) => Entity; /** * A reference to a CreativeWork that is cited in another CreativeWork. */ export declare type Cite = Entity & { type: 'Cite'; target: string; citationIntent?: Array<CitationIntentEnumeration>; citationMode?: 'Parenthetical' | 'Narrative' | 'NarrativeAuthor' | 'NarrativeYear' | 'normal' | 'suppressAuthor'; citationPrefix?: string; citationSuffix?: string; content?: Array<InlineContent>; pageEnd?: Integer | string; pageStart?: Integer | string; pagination?: string; }; /** * Create a `Cite` node * @param props Object containing Cite schema properties as key/value pairs * @returns {Cite} Cite schema node */ export declare const cite: (props: Omit<Cite, 'type'>) => Cite; /** * A group of Cite nodes. */ export declare type CiteGroup = Entity & { type: 'CiteGroup'; items: Array<Cite>; }; /** * Create a `CiteGroup` node * @param props Object containing CiteGroup schema properties as key/value pairs * @returns {CiteGroup} CiteGroup schema node */ export declare const citeGroup: (props: Omit<CiteGroup, 'type'>) => CiteGroup; /** * Base type for non-executable (e.g. `CodeBlock`) and executable (e.g. `CodeExpression`) code nodes. */ export declare type Code = Entity & { type: 'Code' | 'CodeBlock' | 'CodeChunk' | 'CodeExecutable' | 'CodeExpression' | 'CodeFragment'; text: string; mediaType?: string; programmingLanguage?: string; }; /** * Create a `Code` node * @param props Object containing Code schema properties as key/value pairs * @returns {Code} Code schema node */ export declare const code: (props: Omit<Code, 'type'>) => Code; /** * A code block. */ export declare type CodeBlock = Code & { type: 'CodeBlock'; }; /** * Create a `CodeBlock` node * @param props Object containing CodeBlock schema properties as key/value pairs * @returns {CodeBlock} CodeBlock schema node */ export declare const codeBlock: (props: Omit<CodeBlock, 'type'>) => CodeBlock; /** * Base type for executable code nodes (i.e. `CodeChunk` and `CodeExpression`). */ export declare type CodeExecutable = Code & { type: 'CodeExecutable' | 'CodeChunk' | 'CodeExpression'; programmingLanguage: string; codeDependencies?: Array<CodeChunk | Parameter>; codeDependents?: Array<CodeChunk | CodeExpression>; compileDigest?: string; errors?: Array<CodeError>; executeCount?: Integer; executeDigest?: string; executeDuration?: number; executeEnded?: Date; executeRequired?: 'No' | 'NeverExecuted' | 'SemanticsChanged' | 'DependenciesChanged' | 'DependenciesFailed'; executeStatus?: 'Scheduled' | 'ScheduledPreviouslyFailed' | 'Running' | 'RunningPreviouslyFailed' | 'Succeeded' | 'Failed' | 'Cancelled'; }; /** * Create a `CodeExecutable` node * @param props Object containing CodeExecutable schema properties as key/value pairs * @returns {CodeExecutable} CodeExecutable schema node */ export declare const codeExecutable: (props: Omit<CodeExecutable, 'type'>) => CodeExecutable; /** * A executable chunk of code. */ export declare type CodeChunk = CodeExecutable & { type: 'CodeChunk'; programmingLanguage: string; caption?: Array<BlockContent> | string; executeAuto?: 'Never' | 'Needed' | 'Always'; executePure?: boolean; label?: string; outputs?: Array<Node>; }; /** * Create a `CodeChunk` node * @param props Object containing CodeChunk schema properties as key/value pairs * @returns {CodeChunk} CodeChunk schema node */ export declare const codeChunk: (props: Omit<CodeChunk, 'type'>) => CodeChunk; /** * An executable programming code expression. */ export declare type CodeExpression = CodeExecutable & { type: 'CodeExpression'; programmingLanguage: string; output?: Node; }; /** * Create a `CodeExpression` node * @param props Object containing CodeExpression schema properties as key/value pairs * @returns {CodeExpression} CodeExpression schema node */ export declare const codeExpression: (props: Omit<CodeExpression, 'type'>) => CodeExpression; /** * Inline code. */ export declare type CodeFragment = Code & { type: 'CodeFragment'; }; /** * Create a `CodeFragment` node * @param props Object containing CodeFragment schema properties as key/value pairs * @returns {CodeFragment} CodeFragment schema node */ export declare const codeFragment: (props: Omit<CodeFragment, 'type'>) => CodeFragment; /** * An error that occurred when parsing, compiling or executing a Code node. */ export declare type CodeError = Entity & { type: 'CodeError'; errorMessage: string; errorType?: string; stackTrace?: string; }; /** * Create a `CodeError` node * @param props Object containing CodeError schema properties as key/value pairs * @returns {CodeError} CodeError schema node */ export declare const codeError: (props: Omit<CodeError, 'type'>) => CodeError; /** * A date encoded as a ISO 8601 string. */ export declare type Date = Entity & { type: 'Date'; value: string; }; /** * Create a `Date` node * @param props Object containing Date schema properties as key/value pairs * @returns {Date} Date schema node */ export declare const date: (props: Omit<Date, 'type'>) => Date; /** * A base class for nodes that mark some other inline content * in some way (e.g. as being emphasised, or quoted). */ export declare type Mark = Entity & { type: 'Mark' | 'Delete' | 'Emphasis' | 'NontextualAnnotation' | 'Quote' | 'Strong' | 'Subscript' | 'Superscript'; content: Array<InlineContent>; }; /** * Create a `Mark` node * @param props Object containing Mark schema properties as key/value pairs * @returns {Mark} Mark schema node */ export declare const mark: (props: Omit<Mark, 'type'>) => Mark; /** * Content that is marked for deletion */ export declare type Delete = Mark & { type: 'Delete'; }; /** * Create a `Delete` node * @param props Object containing Delete schema properties as key/value pairs * @returns {Delete} Delete schema node */ export declare const del: (props: Omit<Delete, 'type'>) => Delete; /** * Emphasised content. */ export declare type Emphasis = Mark & { type: 'Emphasis'; }; /** * Create a `Emphasis` node * @param props Object containing Emphasis schema properties as key/value pairs * @returns {Emphasis} Emphasis schema node */ export declare const emphasis: (props: Omit<Emphasis, 'type'>) => Emphasis; /** * The most generic type of item. */ export declare type Thing = Entity & { type: 'Thing' | 'Article' | 'AudioObject' | 'Brand' | 'CitationIntentEnumeration' | 'Claim' | 'Collection' | 'Comment' | 'ContactPoint' | 'CreativeWork' | 'Datatable' | 'DatatableColumn' | 'DefinedTerm' | 'Enumeration' | 'Figure' | 'Grant' | 'ImageObject' | 'ListItem' | 'MediaObject' | 'MonetaryGrant' | 'Organization' | 'Periodical' | 'Person' | 'PostalAddress' | 'Product' | 'PropertyValue' | 'PublicationIssue' | 'PublicationVolume' | 'Review' | 'SoftwareApplication' | 'SoftwareEnvironment' | 'SoftwareSession' | 'SoftwareSourceCode' | 'Table' | 'VideoObject' | 'VolumeMount'; alternateNames?: Array<string>; description?: Array<BlockContent> | Array<InlineContent> | string; identifiers?: Array<PropertyValue | string>; images?: Array<ImageObject | string>; name?: string; url?: string; }; /** * Create a `Thing` node * @param props Object containing Thing schema properties as key/value pairs * @returns {Thing} Thing schema node */ export declare const thing: (props?: Omit<Thing, 'type'>) => Thing; /** * A brand used by an organization or person for labeling a product, * product group, or similar. */ export declare type Brand = Thing & { type: 'Brand'; name: string; logo?: ImageObject | string; reviews?: Array<string>; }; /** * Create a `Brand` node * @param props Object containing Brand schema properties as key/value pairs * @returns {Brand} Brand schema node */ export declare const brand: (props: Omit<Brand, 'type'>) => Brand; /** * A contact point, usually within an organization. */ export declare type ContactPoint = Thing & { type: 'ContactPoint' | 'PostalAddress'; availableLanguages?: Array<string>; emails?: Array<string>; telephoneNumbers?: Array<string>; }; /** * Create a `ContactPoint` node * @param props Object containing ContactPoint schema properties as key/value pairs * @returns {ContactPoint} ContactPoint schema node */ export declare const contactPoint: (props?: Omit<ContactPoint, 'type'>) => ContactPoint; /** * A creative work, including books, movies, photographs, software programs, etc. */ export declare type CreativeWork = Thing & { type: 'CreativeWork' | 'Article' | 'AudioObject' | 'Claim' | 'Collection' | 'Comment' | 'Datatable' | 'Figure' | 'ImageObject' | 'MediaObject' | 'Periodical' | 'PublicationIssue' | 'PublicationVolume' | 'Review' | 'SoftwareApplication' | 'SoftwareSourceCode' | 'Table' | 'VideoObject'; about?: Array<ThingTypes>; authors?: Array<Person | Organization>; comments?: Array<Comment>; content?: Array<Node> | string; dateAccepted?: Date; dateCreated?: Date; dateModified?: Date; datePublished?: Date; dateReceived?: Date; editors?: Array<Person>; fundedBy?: Array<Grant | MonetaryGrant>; funders?: Array<Person | Organization>; genre?: Array<string>; isPartOf?: CreativeWorkTypes; keywords?: Array<string>; licenses?: Array<CreativeWorkTypes | string>; maintainers?: Array<Person | Organization>; parts?: Array<CreativeWorkTypes>; publisher?: Person | Organization; references?: Array<CreativeWorkTypes | string>; text?: string; title?: Array<InlineContent> | string; version?: string | number; }; /** * Create a `CreativeWork` node * @param props Object containing CreativeWork schema properties as key/value pairs * @returns {CreativeWork} CreativeWork schema node */ export declare const creativeWork: (props?: Omit<CreativeWork, 'type'>) => CreativeWork; /** * An article, including news and scholarly articles. */ export declare type Article = CreativeWork & { type: 'Article'; content?: Array<BlockContent>; pageEnd?: Integer | string; pageStart?: Integer | string; pagination?: string; }; /** * Create a `Article` node * @param props Object containing Article schema properties as key/value pairs * @returns {Article} Article schema node */ export declare const article: (props?: Omit<Article, 'type'>) => Article; /** * A claim represents specific reviewable facts or statements. */ export declare type Claim = CreativeWork & { type: 'Claim'; content: Array<BlockContent>; claimType?: 'Statement' | 'Theorem' | 'Lemma' | 'Proof' | 'Postulate' | 'Hypothesis' | 'Proposition' | 'Corollary'; label?: string; }; /** * Create a `Claim` node * @param props Object containing Claim schema properties as key/value pairs * @returns {Claim} Claim schema node */ export declare const claim: (props: Omit<Claim, 'type'>) => Claim; /** * A collection of CreativeWorks or other artifacts. */ export declare type Collection = CreativeWork & { type: 'Collection'; parts: Array<CreativeWorkTypes>; }; /** * Create a `Collection` node * @param props Object containing Collection schema properties as key/value pairs * @returns {Collection} Collection schema node */ export declare const collection: (props: Omit<Collection, 'type'>) => Collection; /** * A comment on an item, e.g on a Article, or SoftwareSourceCode. */ export declare type Comment = CreativeWork & { type: 'Comment'; commentAspect?: string; parentItem?: Comment; }; /** * Create a `Comment` node * @param props Object containing Comment schema properties as key/value pairs * @returns {Comment} Comment schema node */ export declare const comment: (props?: Omit<Comment, 'type'>) => Comment; /** * A table of data. */ export declare type Datatable = CreativeWork & { type: 'Datatable'; columns: Array<DatatableColumn>; }; /** * Create a `Datatable` node * @param props Object containing Datatable schema properties as key/value pairs * @returns {Datatable} Datatable schema node */ export declare const datatable: (props: Omit<Datatable, 'type'>) => Datatable; /** * A media object, such as an image, video, or audio object embedded in a web page or a * downloadable dataset. */ export declare type MediaObject = CreativeWork & { type: 'MediaObject' | 'AudioObject' | 'ImageObject' | 'VideoObject'; contentUrl: string; bitrate?: number; contentSize?: number; embedUrl?: string; mediaType?: string; }; /** * Create a `MediaObject` node * @param props Object containing MediaObject schema properties as key/value pairs * @returns {MediaObject} MediaObject schema node */ export declare const mediaObject: (props: Omit<MediaObject, 'type'>) => MediaObject; /** * An audio file */ export declare type AudioObject = MediaObject & { type: 'AudioObject'; caption?: string; transcript?: string; }; /** * Create a `AudioObject` node * @param props Object containing AudioObject schema properties as key/value pairs * @returns {AudioObject} AudioObject schema node */ export declare const audioObject: (props: Omit<AudioObject, 'type'>) => AudioObject; /** * A column of data within a Datatable. */ export declare type DatatableColumn = Thing & { type: 'DatatableColumn'; name: string; values: Array<Node>; validator?: ArrayValidator; }; /** * Create a `DatatableColumn` node * @param props Object containing DatatableColumn schema properties as key/value pairs * @returns {DatatableColumn} DatatableColumn schema node */ export declare const datatableColumn: (props: Omit<DatatableColumn, 'type'>) => DatatableColumn; /** * A word, name, acronym, phrase, etc. with a formal definition. */ export declare type DefinedTerm = Thing & { type: 'DefinedTerm'; name: string; termCode?: string; }; /** * Create a `DefinedTerm` node * @param props Object containing DefinedTerm schema properties as key/value pairs * @returns {DefinedTerm} DefinedTerm schema node */ export declare const definedTerm: (props: Omit<DefinedTerm, 'type'>) => DefinedTerm; /** * A base for all validator types. */ export declare type Validator = Entity & { type: 'Validator' | 'ArrayValidator' | 'BooleanValidator' | 'ConstantValidator' | 'EnumValidator' | 'IntegerValidator' | 'NumberValidator' | 'StringValidator' | 'TupleValidator'; }; /** * Create a `Validator` node * @param props Object containing Validator schema properties as key/value pairs * @returns {Validator} Validator schema node */ export declare const validator: (props?: Omit<Validator, 'type'>) => Validator; /** * A validator specifying constraints on an array node. */ export declare type ArrayValidator = Validator & { type: 'ArrayValidator'; contains?: ValidatorTypes; itemsValidator?: ValidatorTypes; maxItems?: Integer; minItems?: Integer; uniqueItems?: boolean; }; /** * Create a `ArrayValidator` node * @param props Object containing ArrayValidator schema properties as key/value pairs * @returns {ArrayValidator} ArrayValidator schema node */ export declare const arrayValidator: (props?: Omit<ArrayValidator, 'type'>) => ArrayValidator; /** * A schema specifying that a node must be a boolean value. */ export declare type BooleanValidator = Validator & { type: 'BooleanValidator'; }; /** * Create a `BooleanValidator` node * @param props Object containing BooleanValidator schema properties as key/value pairs * @returns {BooleanValidator} BooleanValidator schema node */ export declare const booleanValidator: (props?: Omit<BooleanValidator, 'type'>) => BooleanValidator; /** * A validator specifying a constant value that a node must have. */ export declare type ConstantValidator = Validator & { type: 'ConstantValidator'; value?: Node; }; /** * Create a `ConstantValidator` node * @param props Object containing ConstantValidator schema properties as key/value pairs * @returns {ConstantValidator} ConstantValidator schema node */ export declare const constantValidator: (props?: Omit<ConstantValidator, 'type'>) => ConstantValidator; /** * A schema specifying that a node must be one of several values. */ export declare type EnumValidator = Validator & { type: 'EnumValidator'; values?: Array<Node>; }; /** * Create a `EnumValidator` node * @param props Object containing EnumValidator schema properties as key/value pairs * @returns {EnumValidator} EnumValidator schema node */ export declare const enumValidator: (props?: Omit<EnumValidator, 'type'>) => EnumValidator; /** * Lists or enumerations, for example, a list of cuisines or music genres, etc. */ export declare type Enumeration = Thing & { type: 'Enumeration' | 'CitationIntentEnumeration'; }; /** * Create a `Enumeration` node * @param props Object containing Enumeration schema properties as key/value pairs * @returns {Enumeration} Enumeration schema node */ export declare const enumeration: (props?: Omit<Enumeration, 'type'>) => Enumeration; /** * Encapsulates one or more images, videos, tables, etc, and provides captions and labels for them. */ export declare type Figure = CreativeWork & { type: 'Figure'; caption?: Array<BlockContent> | string; label?: string; }; /** * Create a `Figure` node * @param props Object containing Figure schema properties as key/value pairs * @returns {Figure} Figure schema node */ export declare const figure: (props?: Omit<Figure, 'type'>) => Figure; /** * A function with a name, which might take Parameters and return a value of a certain type. */ export declare type Function = Entity & { type: 'Function'; name?: string; parameters?: Array<Parameter>; returns?: ValidatorTypes; }; /** * Create a `Function` node * @param props Object containing Function schema properties as key/value pairs * @returns {Function} Function schema node */ export declare const function_: (props?: Omit<Function, 'type'>) => Function; /** * A grant, typically financial or otherwise quantifiable, of resources. */ export declare type Grant = Thing & { type: 'Grant' | 'MonetaryGrant'; fundedItems?: Array<Thing>; sponsors?: Array<Person | Organization>; }; /** * Create a `Grant` node * @param props Object containing Grant schema properties as key/value pairs * @returns {Grant} Grant schema node */ export declare const grant: (props?: Omit<Grant, 'type'>) => Grant; /** * A heading. */ export declare type Heading = Entity & { type: 'Heading'; content: Array<InlineContent>; depth?: Integer; }; /** * Create a `Heading` node * @param props Object containing Heading schema properties as key/value pairs * @returns {Heading} Heading schema node */ export declare const heading: (props: Omit<Heading, 'type'>) => Heading; /** * An image file. */ export declare type ImageObject = MediaObject & { type: 'ImageObject'; caption?: string; thumbnail?: ImageObject; }; /** * Create a `ImageObject` node * @param props Object containing ImageObject schema properties as key/value pairs * @returns {ImageObject} ImageObject schema node */ export declare const imageObject: (props: Omit<ImageObject, 'type'>) => ImageObject; /** * Include content from an external source (e.g. file, URL). */ export declare type Include = Entity & { type: 'Include'; source: string; buildDigest?: string; content?: Array<BlockContent>; mediaType?: string; }; /** * Create a `Include` node * @param props Object containing Include schema properties as key/value pairs * @returns {Include} Include schema node */ export declare const include: (props: Omit<Include, 'type'>) => Include; /** * A validator specifying the constraints on an integer node. */ export declare type IntegerValidator = Validator & { type: 'IntegerValidator'; }; /** * Create a `IntegerValidator` node * @param props Object containing IntegerValidator schema properties as key/value pairs * @returns {IntegerValidator} IntegerValidator schema node */ export declare const integerValidator: (props?: Omit<IntegerValidator, 'type'>) => IntegerValidator; /** * A hyperlink to other pages, sections within the same document, resources, or any URL. */ export declare type Link = Entity & { type: 'Link'; content: Array<InlineContent>; target: string; exportFrom?: string; importTo?: string; relation?: string; title?: string; }; /** * Create a `Link` node * @param props Object containing Link schema properties as key/value pairs * @returns {Link} Link schema node */ export declare const link: (props: Omit<Link, 'type'>) => Link; /** * A list of items. */ export declare type List = Entity & { type: 'List'; items: Array<ListItem>; order?: 'Ascending' | 'Descending' | 'Unordered'; }; /** * Create a `List` node * @param props Object containing List schema properties as key/value pairs * @returns {List} List schema node */ export declare const list: (props: Omit<List, 'type'>) => List; /** * A single item in a list. */ export declare type ListItem = Thing & { type: 'ListItem'; content?: Array<BlockContent> | Array<InlineContent>; isChecked?: boolean; item?: Node; position?: Integer; }; /** * Create a `ListItem` node * @param props Object containing ListItem schema properties as key/value pairs * @returns {ListItem} ListItem schema node */ export declare const listItem: (props?: Omit<ListItem, 'type'>) => ListItem; /** * A mathematical variable or equation. */ export declare type Math = Entity & { type: 'Math' | 'MathBlock' | 'MathFragment'; text: string; errors?: Array<string>; mathLanguage?: string; }; /** * Create a `Math` node * @param props Object containing Math schema properties as key/value pairs * @returns {Math} Math schema node */ export declare const math: (props: Omit<Math, 'type'>) => Math; /** * A block of math, e.g an equation, to be treated as block content. */ export declare type MathBlock = Math & { type: 'MathBlock'; label?: string; }; /** * Create a `MathBlock` node * @param props Object containing MathBlock schema properties as key/value pairs * @returns {MathBlock} MathBlock schema node */ export declare const mathBlock: (props: Omit<MathBlock, 'type'>) => MathBlock; /** * A fragment of math, e.g a variable name, to be treated as inline content. */ export declare type MathFragment = Math & { type: 'MathFragment'; }; /** * Create a `MathFragment` node * @param props Object containing MathFragment schema properties as key/value pairs * @returns {MathFragment} MathFragment schema node */ export declare const mathFragment: (props: Omit<MathFragment, 'type'>) => MathFragment; /** * A monetary grant. */ export declare type MonetaryGrant = Grant & { type: 'MonetaryGrant'; amounts?: number; funders?: Array<Person | Organization>; }; /** * Create a `MonetaryGrant` node * @param props Object containing MonetaryGrant schema properties as key/value pairs * @returns {MonetaryGrant} MonetaryGrant schema node */ export declare const monetaryGrant: (props?: Omit<MonetaryGrant, 'type'>) => MonetaryGrant; /** * Inline text that has a non-textual annotation. */ export declare type NontextualAnnotation = Mark & { type: 'NontextualAnnotation'; }; /** * Create a `NontextualAnnotation` node * @param props Object containing NontextualAnnotation schema properties as key/value pairs * @returns {NontextualAnnotation} NontextualAnnotation schema node */ export declare const nontextualAnnotation: (props: Omit<NontextualAnnotation, 'type'>) => NontextualAnnotation; /** * Additional content which is not part of the main content of a document. */ export declare type Note = Entity & { type: 'Note'; content: Array<BlockContent>; noteType?: 'Footnote' | 'Endnote' | 'Sidenote'; }; /** * Create a `Note` node * @param props Object containing Note schema properties as key/value pairs * @returns {Note} Note schema node */ export declare const note: (props: Omit<Note, 'type'>) => Note; /** * A validator specifying the constraints on a numeric node. */ export declare type NumberValidator = Validator & { type: 'NumberValidator'; exclusiveMaximum?: number; exclusiveMinimum?: number; maximum?: number; minimum?: number; multipleOf?: number; }; /** * Create a `NumberValidator` node * @param props Object containing NumberValidator schema properties as key/value pairs * @returns {NumberValidator} NumberValidator schema node */ export declare const numberValidator: (props?: Omit<NumberValidator, 'type'>) => NumberValidator; /** * An organization such as a school, NGO, corporation, club, etc. */ export declare type Organization = Thing & { type: 'Organization'; address?: PostalAddress | string; brands?: Array<Brand>; contactPoints?: Array<ContactPoint>; departments?: Array<Organization>; funders?: Array<Organization | Person>; legalName?: string; logo?: ImageObject | string; members?: Array<Organization | Person>; parentOrganization?: Organization; }; /** * Create a `Organization` node * @param props Object containing Organization schema properties as key/value pairs * @returns {Organization} Organization schema node */ export declare const organization: (props?: Omit<Organization, 'type'>) => Organization; /** * Paragraph */ export declare type Paragraph = Entity & { type: 'Paragraph'; content: Array<InlineContent>; }; /** * Create a `Paragraph` node * @param props Object containing Paragraph schema properties as key/value pairs * @returns {Paragraph} Paragraph schema node */ export declare const paragraph: (props: Omit<Paragraph, 'type'>) => Paragraph; /** * A parameter of a document or function. */ export declare type Parameter = Entity & { type: 'Parameter'; name: string; default?: Node; executeDigest?: string; isExtensible?: boolean; isRequired?: boolean; isVariadic?: boolean; validator?: ValidatorTypes; value?: Node; }; /** * Create a `Parameter` node * @param props Object containing Parameter schema properties as key/value pairs * @returns {Parameter} Parameter schema node */ export declare const parameter: (props: Omit<Parameter, 'type'>) => Parameter; /** * A periodical publication. */ export declare type Periodical = CreativeWork & { type: 'Periodical'; dateEnd?: Date; dateStart?: Date; issns?: Array<string>; }; /** * Create a `Periodical` node * @param props Object containing Periodical schema properties as key/value pairs * @returns {Periodical} Periodical schema node */ export declare const periodical: (props?: Omit<Periodical, 'type'>) => Periodical; /** * A person (alive, dead, undead, or fictional). */ export declare type Person = Thing & { type: 'Person'; address?: PostalAddress | string; affiliations?: Array<Organization>; emails?: Array<string>; familyNames?: Array<string>; funders?: Array<Organization | Person>; givenNames?: Array<string>; honorificPrefix?: string; honorificSuffix?: string; jobTitle?: string; memberOf?: Array<Organization>; telephoneNumbers?: Array<string>; }; /** * Create a `Person` node * @param props Object containing Person schema properties as key/value pairs * @returns {Person} Person schema node */ export declare const person: (props?: Omit<Person, 'type'>) => Person; /** * A physical mailing address. */ export declare type PostalAddress = ContactPoint & { type: 'PostalAddress'; addressCountry?: string; addressLocality?: string; addressRegion?: string; postOfficeBoxNumber?: string; postalCode?: string; streetAddress?: string; }; /** * Create a `PostalAddress` node * @param props Object containing PostalAddress schema properties as key/value pairs * @returns {PostalAddress} PostalAddress schema node */ export declare const postalAddress: (props?: Omit<PostalAddress, 'type'>) => PostalAddress; /** * Any offered product or service. For example, a pair of shoes; * a haircut; or an episode of a TV show streamed online. */ export declare type Product = Thing & { type: 'Product'; brands?: Array<Brand>; logo?: ImageObject | string; productID?: string; }; /** * Create a `Product` node * @param props Object containing Product schema properties as key/value pairs * @returns {Product} Product schema node */ export declare const product: (props?: Omit<Product, 'type'>) => Product; /** * A property-value pair. */ export declare type PropertyValue = Thing & { type: 'PropertyValue'; value: boolean | Integer | number | string; propertyID?: string; }; /** * Create a `PropertyValue` node * @param props Object containing PropertyValue schema properties as key/value pairs * @returns {PropertyValue} PropertyValue schema node */ export declare const propertyValue: (props: Omit<PropertyValue, 'type'>) => PropertyValue; /** * A part of a successively published publication such as a periodical or publication * volume, often numbered. */ export declare type PublicationIssue = CreativeWork & { type: 'PublicationIssue'; issueNumber?: Integer | string; pageEnd?: Integer | string; pageStart?: Integer | string; pagination?: string; }; /** * Create a `PublicationIssue` node * @param props Object containing PublicationIssue schema properties as key/value pairs * @returns {PublicationIssue} PublicationIssue schema node */ export declare const publicationIssue: (props?: Omit<PublicationIssue, 'type'>) => PublicationIssue; /** * A part of a successively published publication such as a periodical or multi-volume work. */ export declare type PublicationVolume = CreativeWork & { type: 'PublicationVolume'; pageEnd?: Integer | string; pageStart?: Integer | string; pagination?: string; volumeNumber?: Integer | string; }; /** * Create a `PublicationVolume` node * @param props Object containing PublicationVolume schema properties as key/value pairs * @returns {PublicationVolume} PublicationVolume schema node */ export declare const publicationVolume: (props?: Omit<PublicationVolume, 'type'>) => PublicationVolume; /** * Inline, quoted content. */ export declare type Quote = Mark & { type: 'Quote'; cite?: Cite | string; }; /** * Create a `Quote` node * @param props Object containing Quote schema properties as key/value pairs * @returns {Quote} Quote schema node */ export declare const quote: (props: Omit<Quote, 'type'>) => Quote; /** * A section quoted from somewhere else. */ export declare type QuoteBlock = Entity & { type: 'QuoteBlock'; content: Array<BlockContent>; cite?: Cite | string; }; /** * Create a `QuoteBlock` node * @param props Object containing QuoteBlock schema properties as key/value pairs * @returns {QuoteBlock} QuoteBlock schema node */ export declare const quoteBlock: (props: Omit<QuoteBlock, 'type'>) => QuoteBlock; /** * A review of an item, e.g of an Article, or SoftwareSourceCode. */ export declare type Review = CreativeWork & { type: 'Review'; itemReviewed?: Thing; reviewAspect?: string; }; /** * Create a `Review` node * @param props Object containing Review schema properties as key/value pairs * @returns {Review} Review schema node */ export declare const review: (props?: Omit<Review, 'type'>) => Review; /** * A software application. */ export declare type SoftwareApplication = CreativeWork & { type: 'SoftwareApplication'; softwareRequirements?: Array<SoftwareApplication>; softwareVersion?: string; }; /** * Create a `SoftwareApplication` node * @param props Object containing SoftwareApplication schema properties as key/value pairs * @returns {SoftwareApplication} SoftwareApplication schema node */ export declare const softwareApplication: (props?: Omit<SoftwareApplication, 'type'>) => SoftwareApplication; /** * A computational environment. */ export declare type SoftwareEnvironment = Thing & { type: 'SoftwareEnvironment'; name: string; adds?: Array<SoftwareSourceCode>; extends?: Array<SoftwareEnvironment>; removes?: Array<SoftwareSourceCode>; }; /** * Create a `SoftwareEnvironment` node * @param props Object containing SoftwareEnvironment schema properties as key/value pairs * @returns {SoftwareEnvironment} SoftwareEnvironment schema node */ export declare const softwareEnvironment: (props: Omit<SoftwareEnvironment, 'type'>) => SoftwareEnvironment; /** * Definition of a compute session, including its software and compute resource * requirements and status. */ export declare type SoftwareSession = Thing & { type: 'SoftwareSession'; clientsLimit?: number; clientsRequest?: number; cpuLimit?: number; cpuRequest?: number; dateEnd?: Date; dateStart?: Date; durationLimit?: number; durationRequest?: number; environment?: SoftwareEnvironment; memoryLimit?: number; memoryRequest?: number; networkTransferLimit?: number; networkTransferRequest?: number; status?: 'Unknown' | 'Starting' | 'Started' | 'Stopping' | 'Stopped' | 'Failed'; timeoutLimit?: number; timeoutRequest?: number; volumeMounts?: Array<VolumeMount>; }; /** * Create a `SoftwareSession` node * @param props Object containing SoftwareSession schema properties as key/value pairs * @returns {SoftwareSession} SoftwareSession schema node */ export declare const softwareSession: (props?: Omit<SoftwareSession, 'type'>) => SoftwareSession; /** * Computer programming source code. Example: Full (compile ready) solutions, code snippet samples, scripts, templates. */ export declare type SoftwareSourceCode = CreativeWork & { type: 'SoftwareSourceCode'; codeRepository?: string; codeSampleType?: string; programmingLanguage?: string; runtimePlatform?: Array<string>; softwareRequirements?: Array<SoftwareSourceCode | SoftwareApplication | string>; targetProducts?: Array<SoftwareApplication>; }; /** * Create a `SoftwareSourceCode` node * @param props Object containing SoftwareSourceCode schema properties as key/value pairs * @returns {SoftwareSourceCode} SoftwareSourceCode schema node */ export declare const softwareSourceCode: (props?: Omit<SoftwareSourceCode, 'type'>) => SoftwareSourceCode; /** * A schema specifying constraints on a string node. */ export declare type StringValidator = Validator & { type: 'StringValidator'; maxLength?: Integer; minLength?: Integer; pattern?: string; }; /** * Create a `StringValidator` node * @param props Object containing StringValidator schema properties as key/value pairs * @returns {StringValidator} StringValidator schema node */ export declare const stringValidator: (props?: Omit<StringValidator, 'type'>) => StringValidator; /** * Strongly emphasised content. */ export declare type Strong = Mark & { type: 'Strong'; }; /** * Create a `Strong` node * @param props Object containing Strong schema properties as key/value pairs * @returns {Strong} Strong schema node */ export declare const strong: (props: Omit<Strong, 'type'>) => Strong; /** * Subscripted content. */ export declare type Subscript = Mark & { type: 'Subscript'; }; /** * Create a `Subscript` node * @param props Object containing Subscript schema properties as key/value pairs * @returns {Subscript} Subscript schema node */ export declare const subscript: (props: Omit<Subscript, 'type'>) => Subscript; /** * Superscripted content. */ export declare type Superscript = Mark & { type: 'Superscript'; }; /** * Create a `Superscript` node * @param props Object containing Superscript schema properties as key/value pairs * @returns {Superscript} Superscript schema node */ export declare const superscript: (props: Omit<Superscript, 'type'>) => Superscript; /** * A table. */ export declare type Table = CreativeWork & { type: 'Table'; rows: Array<TableRow>; caption?: Array<BlockContent> | string; label?: string; }; /** * Create a `Table` node * @param props Object containing Table schema properties as key/value pairs * @returns {Table} Table schema node */ export declare const table: (props: Omit<Table, 'type'>) => Table; /** * A cell within a `Table`. */ export declare type TableCell = Entity & { type: 'TableCell'; cellType?: 'Data' | 'Header'; colspan?: Integer; content?: Array<BlockContent> | Array<InlineContent>; name?: string; rowspan?: Integer; }; /** * Create a `TableCell` node * @param props Object containing TableCell schema properties as key/value pairs * @returns {TableCell} TableCell schema node */ export declare const tableCell: (props?: Omit<TableCell, 'type'>) => TableCell; /** * A row within a Table. */ export declare type TableRow = Entity & { type: 'TableRow'; cells: Array<TableCell>; rowType?: 'Header' | 'Footer'; }; /** * Create a `TableRow` node * @param props Object containing TableRow schema properties as key/value pairs * @returns {TableRow} TableRow schema node */ export declare const tableRow: (props: Omit<TableRow, 'type'>) => TableRow; /** * A thematic break, such as a scene change in a story, a transition to another topic, or a new document. */ export declare type ThematicBreak = Entity & { type: 'ThematicBreak'; }; /** * Create a `ThematicBreak` node * @param props Object containing ThematicBreak schema properties as key/value pairs * @returns {ThematicBreak} ThematicBreak schema node */ export declare const thematicBreak: (props?: Omit<ThematicBreak, 'type'>) => ThematicBreak; /** * A validator specifying constraints on an array of heterogeneous items. */ export declare type TupleValidator = Validator & { type: 'TupleValidator'; items?: Array<ValidatorTypes>; }; /** * Create a `TupleValidator` node * @param props Object containing TupleValidator schema properties as key/value pairs * @returns {TupleValidator} TupleValidator schema node */ export declare const tupleValidator: (props?: Omit<TupleValidator, 'type'>) => TupleValidator; /** * A variable representing a name / value pair. */ export declare type Variable = Entity & { type: 'Variable'; name: string; isReadonly?: boolean; validator?: ValidatorTypes; value?: Node; }; /** * Create a `Variable` node * @param props Object containing Variable schema properties as key/value pairs * @returns {Variable} Variable schema node */ export declare const variable: (props: Omit<Variable, 'type'>) => Variable; /** * A video file. */ export declare type VideoObject = MediaObject & { type: 'VideoObject'; caption?: string; thumbnail?: ImageObject; transcript?: string; }; /** * Create a `VideoObject` node * @param props Object containing VideoObject schema properties as key/value pairs * @returns {VideoObject} VideoObject schema node */ export declare const videoObject: (props: Omit<VideoObject, 'type'>) => VideoObject; /** * Describes a volume mount from a host to container. */ export declare type VolumeMount = Thing & { type: 'VolumeMount'; mountDestination: string; mountOptions?: Array<string>; mountSource?: string; mountType?: string; }; /** * Create a `VolumeMount` node * @param props Object containing VolumeMount schema properties as key/value pairs * @returns {VolumeMount} VolumeMount schema node */ export declare const volumeMount: (props: Omit<VolumeMount, 'type'>) => VolumeMount; /** * Union type for valid block content. */ export declare type BlockContent = Claim | CodeBlock | CodeChunk | Collection | Figure | Heading | Include | List | MathBlock | Paragraph | QuoteBlock | Table | ThematicBreak; /** * All type schemas that are derived from CodeExecutable */ export declare type CodeExecutableTypes = CodeExecutable | CodeChunk | CodeExpression; /** * All type schemas that are derived from Code */ export declare type CodeTypes = Code | CodeBlock | CodeChunk | CodeExecutable | CodeExpression | CodeFragment; /** * All type schemas that are derived from ContactPoint */ export declare type ContactPointTypes = ContactPoint | PostalAddress; /** * All type schemas that are derived from CreativeWork */ export declare type CreativeWorkTypes = CreativeWork | Article | AudioObject | Claim | Collection | Comment | Datatable | Figure | ImageObject | MediaObject | Periodical | PublicationIssue | PublicationVolume | Review | SoftwareApplication | SoftwareSourceCode | Table | VideoObject; /** * All type schemas that are derived from Entity */ export declare type EntityTypes = Entity | ArrayValidator | Article | AudioObject | BooleanValidator | Brand | CitationIntentEnumeration | Cite | CiteGroup | Claim | Code | CodeBlock | CodeChunk | CodeError | CodeExecutable | CodeExpression | CodeFragment | Collection | Comment | ConstantValidator | ContactPoint | CreativeWork | Datatable | DatatableColumn | Date | DefinedTerm | Delete | Emphasis | EnumValidator | Enumeration | Figure | Function | Grant | Heading | ImageObject | Include | IntegerValidator | Link | List | ListItem | Mark | Math | MathBlock | MathFragment | MediaObject | MonetaryGrant | NontextualAnnotation | Note | NumberValidator | Organization | Paragraph | Parameter | Periodical | Person | PostalAddress | Product | PropertyValue | PublicationIssue | PublicationVolume | Quote | QuoteBlock | Review | SoftwareApplication | SoftwareEnvironment | SoftwareSession | SoftwareSourceCode | StringValidator | Strong | Subscript | Superscript | Table | TableCell | TableRow | ThematicBreak | Thing | TupleValidator | Validator | Variable | VideoObject | VolumeMount; /** * All type schemas that are derived from Enumeration */ export declare type EnumerationTypes = Enumeration | CitationIntentEnumeration; /** * All type schemas that are derived from Grant */ export declare type GrantTypes = Grant | MonetaryGrant; /** * Union type for valid inline content. */ export declare type InlineContent = AudioObject | Cite | CiteGroup | CodeExpression | CodeFragment | Delete | Emphasis | ImageObject | Link | MathFragment | NontextualAnnotation | Note | Parameter | Quote | Strong | Subscript | Superscript | VideoObject | null | boolean | Integer | number | string; /** * All type schemas that are derived from Mark */ export declare type MarkTypes = Mark | Delete | Emphasis | NontextualAnnotation | Quote | Strong | Subscript | Superscript; /** * All type schemas that are derived from Math */ export declare type MathTypes = Math | MathBlock | MathFragment; /** * All type schemas that are derived from MediaObject */ export declare type MediaObjectTypes = MediaObject | AudioObject | ImageObject | VideoObject; /** * Union type for all types of nodes in this schema, including primitives and entities */ export declare type Node = Entity | ArrayValidator | Article | AudioObject | BooleanValidator | Brand | CitationIntentEnumeration | Cite | CiteGroup | Claim | Code | CodeBlock | CodeChunk | CodeError | CodeExecutable | CodeExpression | CodeFragment | Collection | Comment | ConstantValidator | ContactPoint | CreativeWork | Datatable | DatatableColumn | Date | DefinedTerm | Delete | Emphasis | EnumValidator | Enumeration | Figure | Function | Grant | Heading | ImageObject | Include | IntegerValidator | Link | List | ListItem | Mark | Math | MathBlock | MathFragment | MediaObject | MonetaryGrant | NontextualAnnotation | Note | NumberValidator | Organization | Paragraph | Parameter | Periodical | Person | PostalAddress | Product | PropertyValue | PublicationIssue | PublicationVolume | Quote | QuoteBlock | Review | SoftwareApplication | SoftwareEnvironment | SoftwareSession | SoftwareSourceCode | StringValidator | Strong | Subscript | Superscript | Table | TableCell | TableRow | ThematicBreak | Thing | TupleValidator |