type ReadiumWebPublicationManifest = EPUBExtensionSubCollections & { "@context"?: string | string[]; metadata: Metadata; links?: Link[]; /** * All resources listed in the reading order must contain a media type. */ readingOrder: (Link & { /** * MIME type of the linked resource */ type: string; [k: string]: unknown; })[]; /** * All resources listed in the publication must contain a media type. */ resources?: (Link & { /** * MIME type of the linked resource */ type: string; [k: string]: unknown; })[]; toc?: Link[]; [k: string]: unknown; }; type Metadata = EPUBProfileMetadata & { "@type"?: string; conformsTo?: string | string[]; title: LanguageMap; sortAs?: LanguageMap; subtitle?: LanguageMap; identifier?: string; altIdentifier?: AlternateIdentifiers; accessibility?: AccessibilityObject; modified?: string; published?: { [k: string]: unknown; } & string; /** * The language must be a valid BCP 47 tag. */ language?: string | string[]; author?: Contributor; translator?: Contributor; editor?: Contributor; artist?: Contributor; illustrator?: Contributor; letterer?: Contributor; penciler?: Contributor; colorist?: Contributor; inker?: Contributor; narrator?: Contributor; contributor?: Contributor; publisher?: Contributor; imprint?: Contributor; subject?: Subject; /** * Hints how the layout of the publication should be presented */ layout?: "fixed" | "reflowable" | "scrolled"; readingProgression?: "rtl" | "ltr"; description?: string; duration?: number; numberOfPages?: number; belongsTo?: { collection?: Collection; journal?: Periodical; magazine?: Periodical; newspaper?: Periodical; periodical?: Periodical; season?: Season; series?: Series; storyArc?: StoryArc; volume?: Volume; [k: string]: unknown; }; contains?: { article?: Article; chapter?: Chapter; episode?: Episode; issue?: Issue; season?: Season; series?: Series; storyArc?: StoryArc; volume?: Volume; [k: string]: unknown; }; tdm?: { reservation: "all" | "none"; policy?: string; [k: string]: unknown; }; [k: string]: unknown; }; type LanguageMap = string | { /** * This interface was referenced by `undefined`'s JSON-Schema definition * via the `patternProperty` "^((?(en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang))|((?([A-Za-z]{2,3}(-(?[A-Za-z]{3}(-[A-Za-z]{3}){0,2}))?)|[A-Za-z]{4}|[A-Za-z]{5,8})(-(?