import { Extension, IServiceCall } from "@chaosinsight/portalclient"; import type { IEndpointResult, IPortalResponse } from "../index"; export default class EZAsset extends Extension { protected readonly extensionName = "EZAsset"; getGet(id: string): IServiceCall>; setPost(data: IAssetSetRequest): IServiceCall>; deleteGet(id: string): IServiceCall>; setFileAccessPost(id: string, requireLogin: boolean): IServiceCall>; setTagPost(id: string, tags: string): IServiceCall>; } export interface IAsset { Identifier: string; TypeId: string; DoFilesRequireLogin: boolean; Data: IData[]; Files: IFile[]; Annotations: IAnnotationGroup[]; Tags: string[]; } export interface IAssetSetRequest { Identifier: string; [key: string]: string; } export interface IData { Name: string; Fields: { [key: string]: string; }; } export interface IFile { Identifier: string; Type: FileType; Name: string; Destinations: IDestination[]; } export declare enum FileType { video = "Video", audio = "Audio", image = "Image", other = "Other" } export interface IDestination { Type: string; Url: string; } export interface IAnnotationGroup { DefinitionId: string; Name: string; Data: IAnnotation[]; } export interface IAnnotation { [key: string]: string; } declare module "@chaosinsight/portalclient" { interface ExtensionHandler { ezAsset: EZAsset; } }