export declare type JsonPrimitive = null | boolean | number | string; export interface JsonSerializableObject { [key: string]: JsonSerializable; } export declare type JsonSerializableArray = Array; export declare type JsonSerializable = JsonPrimitive | JsonSerializableObject | JsonSerializableArray; export interface XApiAgentMbox { mbox: string; objectType: "Agent"; name?: string; } export interface XApiAgentMboxSha { mbox_sha1sum: string; objectType: "Agent"; name?: string; } export interface XApiAgentAccount { account: { homepage: string; name: string; }; name?: string; } export declare type XApiAgent = XApiAgentMbox | XApiAgentMboxSha | XApiAgentAccount; export interface i18nStrings { [lang: string]: string; } export interface XApiVerb { id: string; display: i18nStrings; } export interface XApiActivity { id: string; definition?: { name: i18nStrings; description: i18nStrings; type: string; extensions?: JsonSerializableObject; }; objectType: "Activity"; } export interface XApiScore { scaled?: number; min?: number; max?: number; raw?: number; } export interface XApiResult { score?: XApiScore; success?: boolean; completion?: boolean; duration?: string; response?: string; extensions?: JsonSerializableObject; } export interface XApiAttachment { contentType: string; usageType: string; display: Record; description: Record; fileUrl: string; length?: number; sha2?: number; } export declare type XApiAttachments = Array; export declare type XApiObject = XApiActivity; export declare type XApiActor = XApiAgent; export interface XApiStatement { id?: string; actor: XApiActor; verb: XApiVerb; object: XApiObject; context?: JsonSerializableObject; result?: XApiResult; timestamp?: string; attachments?: Array; }