import { type MediaFilePreview } from './types'; /** * Primary reason is logged through Data Portal. * Make sure all the values are whitelisted in Measure -> Event Regitry -> "mediaCardRender failed" event */ export type MediaFilePreviewErrorPrimaryReason = 'upload' | 'metadata-fetch' | 'error-file-state' | 'failed-processing' | RemotePreviewPrimaryReason | LocalPreviewPrimaryReason | ImageLoadPrimaryReason | SsrPreviewPrimaryReason | 'missing-error-data' | 'preview-fetch'; export type ImageLoadPrimaryReason = 'cache-remote-uri' | 'cache-local-uri' | 'local-uri' | 'remote-uri' | 'external-uri' | 'ssr-client-uri' | 'ssr-server-uri' | 'unknown-uri'; export type RemotePreviewPrimaryReason = 'remote-preview-fetch' | 'remote-preview-not-ready' | 'remote-preview-fetch-ssr'; export type LocalPreviewPrimaryReason = 'local-preview-get' | 'local-preview-unsupported' | 'local-preview-rejected' | 'local-preview-image' | 'local-preview-video'; export type SsrPreviewPrimaryReason = 'ssr-client-uri' | 'ssr-client-load' | 'ssr-server-uri' | 'ssr-server-load'; export declare class MediaFilePreviewError extends Error { readonly primaryReason: MediaFilePreviewErrorPrimaryReason; readonly secondaryError?: Error | undefined; constructor(primaryReason: MediaFilePreviewErrorPrimaryReason, secondaryError?: Error | undefined); } export declare class LocalPreviewError extends MediaFilePreviewError { readonly primaryReason: LocalPreviewPrimaryReason; readonly secondaryError?: Error | undefined; constructor(primaryReason: LocalPreviewPrimaryReason, secondaryError?: Error | undefined); } export declare class RemotePreviewError extends MediaFilePreviewError { readonly primaryReason: RemotePreviewPrimaryReason; readonly secondaryError?: Error | undefined; constructor(primaryReason: RemotePreviewPrimaryReason, secondaryError?: Error | undefined); } export declare class SsrPreviewError extends MediaFilePreviewError { readonly primaryReason: SsrPreviewPrimaryReason; readonly secondaryError?: Error | undefined; constructor(primaryReason: SsrPreviewPrimaryReason, secondaryError?: Error | undefined); } export declare class ImageLoadError extends MediaFilePreviewError { constructor(source?: MediaFilePreview['source']); } export declare function isMediaFilePreviewError(err: Error): err is MediaFilePreviewError; export declare const isLocalPreviewError: (err: Error) => err is LocalPreviewError; export declare const isRemotePreviewError: (err: Error) => err is RemotePreviewError; export declare const isUnsupportedLocalPreviewError: (err: Error) => boolean; export declare const ensureMediaFilePreviewError: (primaryReason: MediaFilePreviewErrorPrimaryReason, error: Error, updatePrimaryReason?: boolean) => MediaFilePreviewError;