import type { ObjectOrArray } from "@twin.org/core"; import type { IJsonLdLanguageMap, IJsonLdNodeObject } from "@twin.org/data-json-ld"; import type { ActivityStreamsContextType } from "./activityStreamsContextType.js"; import type { ActivityStreamsObjectTypes } from "./activityStreamsObjectTypes.js"; /** * A W3C Activity Streams Object. * * This is the base type for most ActivityStreams entities. It supports natural language * values (e.g. `name`, `summary`, `content`) as either plain strings or language maps. * @see https://www.w3.org/TR/activitystreams-core/#object */ export interface IActivityStreamsObject { /** * The LD Context. */ "@context": ActivityStreamsContextType; /** * Object type. * * The value can be a single type or an array of types. */ type?: ObjectOrArray; /** * Global identifier. * @see https://www.w3.org/TR/activitystreams-vocabulary/#dfn-id * @json-schema format:uri */ id?: string; /** * Natural language name. * @see https://www.w3.org/TR/activitystreams-vocabulary/#dfn-name */ name?: string | IJsonLdLanguageMap; /** * Natural language name map. * @see https://www.w3.org/TR/activitystreams-core/#naturalLanguageValues */ nameMap?: IJsonLdLanguageMap; /** * Natural language summary. * @see https://www.w3.org/TR/activitystreams-vocabulary/#dfn-summary */ summary?: string | IJsonLdLanguageMap; /** * Natural language summary map. * @see https://www.w3.org/TR/activitystreams-core/#naturalLanguageValues */ summaryMap?: IJsonLdLanguageMap; /** * Natural language content. * @see https://www.w3.org/TR/activitystreams-vocabulary/#dfn-content */ content?: string | IJsonLdLanguageMap; /** * Natural language content map. * @see https://www.w3.org/TR/activitystreams-core/#naturalLanguageValues */ contentMap?: IJsonLdLanguageMap; /** * A link to the representation of the object. * * The value can be a URI or an embedded node object. * @see https://www.w3.org/TR/activitystreams-vocabulary/#dfn-url */ url?: ObjectOrArray; /** * A graphical representation of the object. * * The value can be a URI or an embedded `Image`/`Link` object. * @see https://www.w3.org/TR/activitystreams-vocabulary/#dfn-image-term */ image?: ObjectOrArray; /** * An icon for the object. * * The value can be a URI or an embedded `Image`/`Link` object. * @see https://www.w3.org/TR/activitystreams-vocabulary/#dfn-icon */ icon?: ObjectOrArray; /** * Published date-time. * @see https://www.w3.org/TR/activitystreams-vocabulary/#dfn-published * @json-schema format:date-time */ published?: string; /** * Updated date-time. * @see https://www.w3.org/TR/activitystreams-vocabulary/#dfn-updated * @json-schema format:date-time */ updated?: string; /** * Start time. * @see https://www.w3.org/TR/activitystreams-vocabulary/#dfn-starttime * @json-schema format:date-time */ startTime?: string; /** * End time. * @see https://www.w3.org/TR/activitystreams-vocabulary/#dfn-endtime * @json-schema format:date-time */ endTime?: string; /** * Duration. * @see https://www.w3.org/TR/activitystreams-vocabulary/#dfn-duration * @json-schema format:duration */ duration?: string; /** * The generator of the object. * @see https://www.w3.org/TR/activitystreams-vocabulary/#dfn-generator */ generator?: ObjectOrArray; /** * Attachments. * @see https://www.w3.org/TR/activitystreams-vocabulary/#dfn-attachment */ attachment?: ObjectOrArray; /** * Objects attributed to. * @see https://www.w3.org/TR/activitystreams-vocabulary/#dfn-attributedto */ attributedTo?: ObjectOrArray; /** * Audience. * @see https://www.w3.org/TR/activitystreams-vocabulary/#dfn-audience */ audience?: ObjectOrArray; /** * Context. * @see https://www.w3.org/TR/activitystreams-vocabulary/#dfn-context */ context?: ObjectOrArray; /** * Location. * @see https://www.w3.org/TR/activitystreams-vocabulary/#dfn-location */ location?: ObjectOrArray; /** * Tag. * @see https://www.w3.org/TR/activitystreams-vocabulary/#dfn-tag */ tag?: ObjectOrArray; /** * In reply to. * @see https://www.w3.org/TR/activitystreams-vocabulary/#dfn-inreplyto */ inReplyTo?: ObjectOrArray; /** * Replies collection. * * Typically an embedded `Collection` of Objects that are replies to this object. * @see https://www.w3.org/TR/activitystreams-vocabulary/#dfn-replies */ replies?: IJsonLdNodeObject; /** * Preview. * @see https://www.w3.org/TR/activitystreams-vocabulary/#dfn-preview */ preview?: ObjectOrArray; /** * To. * @see https://www.w3.org/TR/activitystreams-vocabulary/#dfn-to */ to?: ObjectOrArray; /** * BTo. * @see https://www.w3.org/TR/activitystreams-vocabulary/#dfn-bto */ bto?: ObjectOrArray; /** * CC. * @see https://www.w3.org/TR/activitystreams-vocabulary/#dfn-cc */ cc?: ObjectOrArray; /** * BCC. * @see https://www.w3.org/TR/activitystreams-vocabulary/#dfn-bcc */ bcc?: ObjectOrArray; /** * MIME media type of the referenced resource. * @see https://www.w3.org/TR/activitystreams-vocabulary/#dfn-mediatype */ mediaType?: string; }