/** * @category Events */ import { LoadingGraphError } from './errors.models'; export type EventType = 'CdnMessageEvent' | 'StartEvent' | 'SourceLoadingEvent' | 'SourceLoadedEvent' | 'SourceParsedEvent' | 'InstallDoneEvent' | 'UnauthorizedEvent' | 'UrlNotFoundEvent' | 'ParseErrorEvent' | 'CdnLoadingGraphErrorEvent'; /** * @category Events */ export type EventStatus = 'Pending' | 'Succeeded' | 'Failed' | 'None'; /** * Base class of events. * * @category Events */ export type CdnEvent = { step: EventType; id: string; text: string; status: EventStatus; }; /** * @category Events */ export declare function isCdnEvent(event: unknown): event is CdnEvent; /** * Generic custom CDN event. * * @category Events */ export declare class CdnMessageEvent implements CdnEvent { readonly id: string; readonly text: string; readonly status: EventStatus; readonly step = "CdnMessageEvent"; constructor(id: string, text: string, status?: EventStatus); } /** * Base class for CDN's HTTP request event * * @category Events */ export type CdnFetchEvent = CdnEvent & { id: string; assetId: string; url: string; }; /** * Event emitted when starting to fetch a script. * * @category Events */ export declare class StartEvent implements CdnFetchEvent { readonly targetName: string; readonly assetId: string; readonly url: string; readonly step = "StartEvent"; readonly id: string; readonly text: string; readonly status = "Pending"; constructor(targetName: string, assetId: string, url: string); } /** * Event emitted when a script's content is transferring over HTTP network. * * @category Events */ export declare class SourceLoadingEvent implements CdnFetchEvent { readonly targetName: string; readonly assetId: string; readonly url: string; readonly progress: ProgressEvent; readonly step = "SourceLoadingEvent"; readonly id: string; readonly text: string; readonly status = "Pending"; constructor(targetName: string, assetId: string, url: string, progress: ProgressEvent); } /** * Event emitted when a script's content transfer over HTTP network has completed. * * @category Events */ export declare class SourceLoadedEvent implements CdnFetchEvent { readonly targetName: string; readonly assetId: string; readonly url: string; readonly progress: ProgressEvent; readonly step = "SourceLoadedEvent"; readonly id: string; readonly text: string; readonly status = "Pending"; constructor(targetName: string, assetId: string, url: string, progress: ProgressEvent); } /** * Event emitted when a script's content has been parsed (installed). * * @category Events */ export declare class SourceParsedEvent implements CdnFetchEvent { readonly targetName: string; readonly assetId: string; readonly url: string; readonly step = "SourceParsedEvent"; readonly id: string; readonly text: string; readonly status = "Succeeded"; constructor(targetName: string, assetId: string, url: string); } /** * Event emitted when an {@link Unauthorized} error occurred. * * @category Events */ export declare class UnauthorizedEvent implements CdnFetchEvent { readonly targetName: string; readonly assetId: string; readonly url: string; readonly step = "UnauthorizedEvent"; readonly id: string; readonly text: string; readonly status = "Failed"; constructor(targetName: string, assetId: string, url: string); } /** * Event emitted when an {@link UrlNotFound} error occurred. * * @category Events */ export declare class UrlNotFoundEvent implements CdnFetchEvent { readonly targetName: string; readonly assetId: string; readonly url: string; readonly step = "UrlNotFoundEvent"; readonly id: string; readonly text: string; readonly status = "Failed"; constructor(targetName: string, assetId: string, url: string); } /** * Event emitted when an {@link SourceParsingFailed} error occurred. * * @category Events */ export declare class ParseErrorEvent implements CdnFetchEvent { readonly targetName: string; readonly assetId: string; readonly url: string; readonly step = "ParseErrorEvent"; readonly id: string; readonly text: string; readonly status = "Failed"; constructor(targetName: string, assetId: string, url: string); } /** * Event emitted when an {@link LoadingGraphError} error occurred. * * @category Events */ export declare class CdnLoadingGraphErrorEvent implements CdnEvent { readonly error: LoadingGraphError; readonly id = "loading-graph"; readonly step = "CdnLoadingGraphErrorEvent"; readonly text = "Failed to retrieve the loading graph"; readonly status = "Failed"; constructor(error: LoadingGraphError); } /** * Event emitted when an installation is done ({@link install}, {@link Client.install}). * * @category Events */ export declare class InstallDoneEvent implements CdnEvent { readonly id = "InstallDoneEvent"; readonly step = "InstallDoneEvent"; readonly text = "Installation successful"; readonly status = "Succeeded"; }