import { type FileViewerRendererAssetDefinition, type FileViewerRendererAssetManifest } from '@file-viewer/core/assets'; export interface CopyViewerAssetsOptions { /** * Target static directory. Defaults to the host project's `public/file-viewer`. */ targetDir?: string; /** * Override the bundled viewer source directory, mainly for tests and release tooling. */ sourceDir?: string; /** * Whether to clear the target directory before copying. Defaults to true. */ clean?: boolean; } export interface ValidateViewerAssetsOptions { /** * Viewer static directory. Defaults to this package's bundled `viewer/`. */ sourceDir?: string; } export interface ViewerAssetValidationItem { id: string; rendererId: string; kind: FileViewerRendererAssetDefinition['kind']; target: FileViewerRendererAssetDefinition['target']; required: boolean; relativePath: string; absolutePath: string; exists: boolean; description: string; } export interface ViewerAssetValidationResult { sourceDir: string; valid: boolean; checkedAt: string; assets: ViewerAssetValidationItem[]; missingRequired: ViewerAssetValidationItem[]; missingOptional: ViewerAssetValidationItem[]; } export type ViewerAssetManifestValidationItem = Omit; export interface ViewerAssetManifestValidationResult { valid: boolean; checkedAt: string; assets: ViewerAssetManifestValidationItem[]; missingRequired: ViewerAssetManifestValidationItem[]; missingOptional: ViewerAssetManifestValidationItem[]; } export interface ViewerAssetManifestFile { schemaVersion: 1; generatedAt: string; rendererAssetManifests: FileViewerRendererAssetManifest[]; validation: ViewerAssetManifestValidationResult; } export interface CopyViewerAssetsResult { sourceDir: string; targetDir: string; assetBaseUrl: string; assetManifestPath: string; validation: ViewerAssetValidationResult; } export declare const DEFAULT_VIEWER_PUBLIC_DIR = "public/file-viewer"; export declare const DEFAULT_VIEWER_ASSET_BASE_URL = "/file-viewer/"; export declare const VIEWER_ASSET_MANIFEST_FILENAME = "flyfish-viewer-assets.json"; export declare const getViewerAssetDir: () => string; export declare const getDefaultViewerTargetDir: () => string; export declare const validateViewerAssets: (options?: ValidateViewerAssetsOptions) => Promise; export declare const toViewerAssetManifestValidation: (validation: ViewerAssetValidationResult) => ViewerAssetManifestValidationResult; export declare const buildViewerAssetManifest: (validation: ViewerAssetValidationResult) => ViewerAssetManifestFile; export declare const writeViewerAssetManifest: (targetDir: string, manifest: ViewerAssetManifestFile) => Promise; export declare const copyViewerAssets: (options?: CopyViewerAssetsOptions) => Promise;