import { ComponentOptionsMixin } from 'vue'; import { ComponentProvideOptions } from 'vue'; import { ComputedRef } from 'vue'; import { DefineComponent } from 'vue'; import { ExtractPropTypes } from 'vue'; import { PropType } from 'vue'; import { PublicProps } from 'vue'; import { Ref } from 'vue'; declare const __VLS_component: DefineComponent, { visible: boolean; }>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly, { visible: boolean; }>>> & Readonly<{}>, { visible: boolean; }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>; declare const __VLS_component_2: DefineComponent, { watermark: null; }>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly, { watermark: null; }>>> & Readonly<{}>, { watermark: WatermarkConfig | null; }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>; declare type __VLS_NonUndefinedable = T extends undefined ? never : T; declare type __VLS_NonUndefinedable_10 = T extends undefined ? never : T; declare type __VLS_NonUndefinedable_11 = T extends undefined ? never : T; declare type __VLS_NonUndefinedable_12 = T extends undefined ? never : T; declare type __VLS_NonUndefinedable_13 = T extends undefined ? never : T; declare type __VLS_NonUndefinedable_14 = T extends undefined ? never : T; declare type __VLS_NonUndefinedable_15 = T extends undefined ? never : T; declare type __VLS_NonUndefinedable_16 = T extends undefined ? never : T; declare type __VLS_NonUndefinedable_17 = T extends undefined ? never : T; declare type __VLS_NonUndefinedable_2 = T extends undefined ? never : T; declare type __VLS_NonUndefinedable_3 = T extends undefined ? never : T; declare type __VLS_NonUndefinedable_4 = T extends undefined ? never : T; declare type __VLS_NonUndefinedable_5 = T extends undefined ? never : T; declare type __VLS_NonUndefinedable_6 = T extends undefined ? never : T; declare type __VLS_NonUndefinedable_7 = T extends undefined ? never : T; declare type __VLS_NonUndefinedable_8 = T extends undefined ? never : T; declare type __VLS_NonUndefinedable_9 = T extends undefined ? never : T; declare type __VLS_Prettify = { [K in keyof T]: T[K]; } & {}; declare type __VLS_Prettify_10 = { [K in keyof T]: T[K]; } & {}; declare type __VLS_Prettify_11 = { [K in keyof T]: T[K]; } & {}; declare type __VLS_Prettify_2 = { [K in keyof T]: T[K]; } & {}; declare type __VLS_Prettify_3 = { [K in keyof T]: T[K]; } & {}; declare type __VLS_Prettify_4 = { [K in keyof T]: T[K]; } & {}; declare type __VLS_Prettify_5 = { [K in keyof T]: T[K]; } & {}; declare type __VLS_Prettify_6 = { [K in keyof T]: T[K]; } & {}; declare type __VLS_Prettify_7 = { [K in keyof T]: T[K]; } & {}; declare type __VLS_Prettify_8 = { [K in keyof T]: T[K]; } & {}; declare type __VLS_Prettify_9 = { [K in keyof T]: T[K]; } & {}; declare function __VLS_template(): { "top-left"?(_: {}): any; "top-center"?(_: {}): any; "top-right"?(_: {}): any; "bottom-left"?(_: {}): any; "bottom-center"?(_: {}): any; "bottom-right"?(_: {}): any; }; declare function __VLS_template_2(): { default?(_: {}): any; }; declare type __VLS_TypePropsToRuntimeProps = { [K in keyof T]-?: {} extends Pick ? { type: PropType<__VLS_NonUndefinedable>; } : { type: PropType; required: true; }; }; declare type __VLS_TypePropsToRuntimeProps_10 = { [K in keyof T]-?: {} extends Pick ? { type: PropType<__VLS_NonUndefinedable_10>; } : { type: PropType; required: true; }; }; declare type __VLS_TypePropsToRuntimeProps_11 = { [K in keyof T]-?: {} extends Pick ? { type: PropType<__VLS_NonUndefinedable_11>; } : { type: PropType; required: true; }; }; declare type __VLS_TypePropsToRuntimeProps_12 = { [K in keyof T]-?: {} extends Pick ? { type: PropType<__VLS_NonUndefinedable_12>; } : { type: PropType; required: true; }; }; declare type __VLS_TypePropsToRuntimeProps_13 = { [K in keyof T]-?: {} extends Pick ? { type: PropType<__VLS_NonUndefinedable_13>; } : { type: PropType; required: true; }; }; declare type __VLS_TypePropsToRuntimeProps_14 = { [K in keyof T]-?: {} extends Pick ? { type: PropType<__VLS_NonUndefinedable_14>; } : { type: PropType; required: true; }; }; declare type __VLS_TypePropsToRuntimeProps_15 = { [K in keyof T]-?: {} extends Pick ? { type: PropType<__VLS_NonUndefinedable_15>; } : { type: PropType; required: true; }; }; declare type __VLS_TypePropsToRuntimeProps_16 = { [K in keyof T]-?: {} extends Pick ? { type: PropType<__VLS_NonUndefinedable_16>; } : { type: PropType; required: true; }; }; declare type __VLS_TypePropsToRuntimeProps_17 = { [K in keyof T]-?: {} extends Pick ? { type: PropType<__VLS_NonUndefinedable_17>; } : { type: PropType; required: true; }; }; declare type __VLS_TypePropsToRuntimeProps_2 = { [K in keyof T]-?: {} extends Pick ? { type: PropType<__VLS_NonUndefinedable_2>; } : { type: PropType; required: true; }; }; declare type __VLS_TypePropsToRuntimeProps_3 = { [K in keyof T]-?: {} extends Pick ? { type: PropType<__VLS_NonUndefinedable_3>; } : { type: PropType; required: true; }; }; declare type __VLS_TypePropsToRuntimeProps_4 = { [K in keyof T]-?: {} extends Pick ? { type: PropType<__VLS_NonUndefinedable_4>; } : { type: PropType; required: true; }; }; declare type __VLS_TypePropsToRuntimeProps_5 = { [K in keyof T]-?: {} extends Pick ? { type: PropType<__VLS_NonUndefinedable_5>; } : { type: PropType; required: true; }; }; declare type __VLS_TypePropsToRuntimeProps_6 = { [K in keyof T]-?: {} extends Pick ? { type: PropType<__VLS_NonUndefinedable_6>; } : { type: PropType; required: true; }; }; declare type __VLS_TypePropsToRuntimeProps_7 = { [K in keyof T]-?: {} extends Pick ? { type: PropType<__VLS_NonUndefinedable_7>; } : { type: PropType; required: true; }; }; declare type __VLS_TypePropsToRuntimeProps_8 = { [K in keyof T]-?: {} extends Pick ? { type: PropType<__VLS_NonUndefinedable_8>; } : { type: PropType; required: true; }; }; declare type __VLS_TypePropsToRuntimeProps_9 = { [K in keyof T]-?: {} extends Pick ? { type: PropType<__VLS_NonUndefinedable_9>; } : { type: PropType; required: true; }; }; declare type __VLS_WithDefaults = { [K in keyof Pick]: K extends keyof D ? __VLS_Prettify : P[K]; }; declare type __VLS_WithDefaults_10 = { [K in keyof Pick]: K extends keyof D ? __VLS_Prettify_10 : P[K]; }; declare type __VLS_WithDefaults_11 = { [K in keyof Pick]: K extends keyof D ? __VLS_Prettify_11 : P[K]; }; declare type __VLS_WithDefaults_2 = { [K in keyof Pick]: K extends keyof D ? __VLS_Prettify_2 : P[K]; }; declare type __VLS_WithDefaults_3 = { [K in keyof Pick]: K extends keyof D ? __VLS_Prettify_3 : P[K]; }; declare type __VLS_WithDefaults_4 = { [K in keyof Pick]: K extends keyof D ? __VLS_Prettify_4 : P[K]; }; declare type __VLS_WithDefaults_5 = { [K in keyof Pick]: K extends keyof D ? __VLS_Prettify_5 : P[K]; }; declare type __VLS_WithDefaults_6 = { [K in keyof Pick]: K extends keyof D ? __VLS_Prettify_6 : P[K]; }; declare type __VLS_WithDefaults_7 = { [K in keyof Pick]: K extends keyof D ? __VLS_Prettify_7 : P[K]; }; declare type __VLS_WithDefaults_8 = { [K in keyof Pick]: K extends keyof D ? __VLS_Prettify_8 : P[K]; }; declare type __VLS_WithDefaults_9 = { [K in keyof Pick]: K extends keyof D ? __VLS_Prettify_9 : P[K]; }; declare type __VLS_WithTemplateSlots = T & { new (): { $slots: S; }; }; declare type __VLS_WithTemplateSlots_2 = T & { new (): { $slots: S; }; }; declare type AudioController = { play?: () => Promise | void; pause?: () => void; seek?: (time: number) => void; setVolume?: (volume: number) => void; getPlaybackState?: () => AudioPlaybackState | null; }; export declare interface AudioOptions { /** 可视化模式:频谱柱状图(bars) / 镜像频谱(mirror) / 环形频谱(circle) / 时域波形(wave),默认 'bars' */ visualizer?: AudioVisualizerMode; /** 自定义主题色(十六进制/rgb),默认跟随 --jv-primary-color */ color?: string; /** FFT 帧大小,2 的幂次,范围 64~32768,默认 2048(越大精度越高) */ fftSize?: number; /** 自动播放,默认 false */ autoplay?: boolean; /** 循环播放,默认 false */ loop?: boolean; } export declare interface AudioPlaybackState { currentTime: number; duration: number; paused: boolean; volume: number; muted: boolean; loop: boolean; /** 当前可视化模式 */ visualizerMode: AudioVisualizerMode; } export declare const AudioRender: DefineComponent, {}>>, { play: typeof play_2; pause: typeof pause_2; seek: typeof seek_2; setVolume: typeof setVolume_2; getPlaybackState: typeof getPlaybackState; setVisualizerMode: typeof setVisualizerMode; setVisualizerColor: typeof setVisualizerColor; getVisualizerMode: typeof getVisualizerMode; }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, { error: (error: Error) => void; load: () => void; }, string, PublicProps, Readonly, {}>>> & Readonly<{ onError?: ((error: Error) => any) | undefined; onLoad?: (() => any) | undefined; }>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>; /** 音频可视化模式 */ export declare type AudioVisualizerMode = 'bars' | 'mirror' | 'circle' | 'wave'; export declare interface CadOptions { preview?: CadPreviewResult | null; previewUrl?: string; previewType?: Exclude; adapter?: CadPreviewAdapter; fonts?: string[]; useWorker?: boolean; iframeSandbox?: string; backgroundColor?: string; } export declare type CadPreviewAdapter = (context: CadPreviewContext) => Promise | CadPreviewResult | null; export declare interface CadPreviewContext { source: FileSource; filename: string; proxyUrl?: string; requestAdapter?: RequestAdapter; signal?: AbortSignal; } export declare type CadPreviewKind = 'dxf' | 'pdf' | 'svg' | 'html' | 'image' | 'iframe'; export declare interface CadPreviewResult { kind: CadPreviewKind; source?: FileSource; content?: string; mimeType?: string; } export declare const CadRender: DefineComponent, { zoom: number; pdfRender: string; }>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, { error: (error: Error) => void; load: () => void; }, string, PublicProps, Readonly, { zoom: number; pdfRender: string; }>>> & Readonly<{ onError?: ((error: Error) => any) | undefined; onLoad?: (() => any) | undefined; }>, { zoom: number; pdfRender: "native" | "inset"; }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>; export declare type CodeLanguage = 'javascript' | 'typescript' | 'jsx' | 'tsx' | 'docker' | 'csharp' | 'css' | 'scss' | 'less' | 'json' | 'yaml' | 'python' | 'java' | 'go' | 'rust' | 'cpp' | 'c' | 'shell' | 'sql' | 'php' | 'ruby' | 'swift' | 'kotlin' | 'plaintext'; export declare const CodeRender: DefineComponent>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, { error: (error: Error) => void; load: () => void; }, string, PublicProps, Readonly>> & Readonly<{ onError?: ((error: Error) => any) | undefined; onLoad?: (() => any) | undefined; }>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>; /** * 创建DOM元素 */ export declare function createElement(tag: string, className?: string, attrs?: Record): HTMLElement; /** * 创建事件总线 */ export declare function createEventBus(): EventBus; /** * 创建预览器实例 */ export declare function createViewer(options: ViewerOptions): ViewerInstance; /** * 创建预览器状态 */ export declare function createViewerState(options?: { initialZoom?: number; initialRotate?: number; }): { mounted: Ref; loading: Ref; error: Ref; fileType: Ref; filename: Ref; fileSource: Ref Promise; bytes: () => Promise>; slice: (start?: number, end?: number, contentType?: string) => Blob; stream: () => ReadableStream>; text: () => Promise; } | { readonly size: number; readonly type: string; arrayBuffer: () => Promise; bytes: () => Promise>; slice: (start?: number, end?: number, contentType?: string) => Blob; stream: () => ReadableStream>; text: () => Promise; } | { readonly byteLength: number; slice: (begin?: number, end?: number) => ArrayBuffer; readonly [Symbol.toStringTag]: "ArrayBuffer"; } | { url: string; headers?: Record | undefined; method?: "GET" | "POST" | undefined; body?: string | { readonly size: number; readonly type: string; arrayBuffer: () => Promise; bytes: () => Promise>; slice: (start?: number, end?: number, contentType?: string) => Blob; stream: () => ReadableStream>; text: () => Promise; } | { readonly byteLength: number; slice: (begin?: number, end?: number) => ArrayBuffer; readonly [Symbol.toStringTag]: "ArrayBuffer"; } | { readonly locked: boolean; cancel: (reason?: any) => Promise; getReader: { (options: { mode: "byob"; }): ReadableStreamBYOBReader; (): ReadableStreamDefaultReader; (options?: ReadableStreamGetReaderOptions): ReadableStreamReader; }; pipeThrough: (transform: ReadableWritablePair, options?: StreamPipeOptions) => ReadableStream; pipeTo: (destination: WritableStream, options?: StreamPipeOptions) => Promise; tee: () => [ReadableStream, ReadableStream]; } | { readonly buffer: { readonly byteLength: number; slice: (begin?: number, end?: number) => ArrayBuffer; readonly [Symbol.toStringTag]: "ArrayBuffer"; }; readonly byteLength: number; readonly byteOffset: number; } | { append: { (name: string, value: string | Blob): void; (name: string, value: string): void; (name: string, blobValue: Blob, filename?: string): void; }; delete: (name: string) => void; get: (name: string) => FormDataEntryValue | null; getAll: (name: string) => FormDataEntryValue[]; has: (name: string) => boolean; set: { (name: string, value: string | Blob): void; (name: string, value: string): void; (name: string, blobValue: Blob, filename?: string): void; }; forEach: (callbackfn: (value: FormDataEntryValue, key: string, parent: FormData) => void, thisArg?: any) => void; entries: () => FormDataIterator<[string, FormDataEntryValue]>; keys: () => FormDataIterator; values: () => FormDataIterator; [Symbol.iterator]: () => FormDataIterator<[string, FormDataEntryValue]>; } | { readonly size: number; append: (name: string, value: string) => void; delete: (name: string, value?: string) => void; get: (name: string) => string | null; getAll: (name: string) => string[]; has: (name: string, value?: string) => boolean; set: (name: string, value: string) => void; sort: () => void; toString: () => string; forEach: (callbackfn: (value: string, key: string, parent: URLSearchParams) => void, thisArg?: any) => void; entries: () => URLSearchParamsIterator<[string, string]>; keys: () => URLSearchParamsIterator; values: () => URLSearchParamsIterator; [Symbol.iterator]: () => URLSearchParamsIterator<[string, string]>; } | undefined; } | null, FileSource | { readonly lastModified: number; readonly name: string; readonly webkitRelativePath: string; readonly size: number; readonly type: string; arrayBuffer: () => Promise; bytes: () => Promise>; slice: (start?: number, end?: number, contentType?: string) => Blob; stream: () => ReadableStream>; text: () => Promise; } | { readonly size: number; readonly type: string; arrayBuffer: () => Promise; bytes: () => Promise>; slice: (start?: number, end?: number, contentType?: string) => Blob; stream: () => ReadableStream>; text: () => Promise; } | { readonly byteLength: number; slice: (begin?: number, end?: number) => ArrayBuffer; readonly [Symbol.toStringTag]: "ArrayBuffer"; } | { url: string; headers?: Record | undefined; method?: "GET" | "POST" | undefined; body?: string | { readonly size: number; readonly type: string; arrayBuffer: () => Promise; bytes: () => Promise>; slice: (start?: number, end?: number, contentType?: string) => Blob; stream: () => ReadableStream>; text: () => Promise; } | { readonly byteLength: number; slice: (begin?: number, end?: number) => ArrayBuffer; readonly [Symbol.toStringTag]: "ArrayBuffer"; } | { readonly locked: boolean; cancel: (reason?: any) => Promise; getReader: { (options: { mode: "byob"; }): ReadableStreamBYOBReader; (): ReadableStreamDefaultReader; (options?: ReadableStreamGetReaderOptions): ReadableStreamReader; }; pipeThrough: (transform: ReadableWritablePair, options?: StreamPipeOptions) => ReadableStream; pipeTo: (destination: WritableStream, options?: StreamPipeOptions) => Promise; tee: () => [ReadableStream, ReadableStream]; } | { readonly buffer: { readonly byteLength: number; slice: (begin?: number, end?: number) => ArrayBuffer; readonly [Symbol.toStringTag]: "ArrayBuffer"; }; readonly byteLength: number; readonly byteOffset: number; } | { append: { (name: string, value: string | Blob): void; (name: string, value: string): void; (name: string, blobValue: Blob, filename?: string): void; }; delete: (name: string) => void; get: (name: string) => FormDataEntryValue | null; getAll: (name: string) => FormDataEntryValue[]; has: (name: string) => boolean; set: { (name: string, value: string | Blob): void; (name: string, value: string): void; (name: string, blobValue: Blob, filename?: string): void; }; forEach: (callbackfn: (value: FormDataEntryValue, key: string, parent: FormData) => void, thisArg?: any) => void; entries: () => FormDataIterator<[string, FormDataEntryValue]>; keys: () => FormDataIterator; values: () => FormDataIterator; [Symbol.iterator]: () => FormDataIterator<[string, FormDataEntryValue]>; } | { readonly size: number; append: (name: string, value: string) => void; delete: (name: string, value?: string) => void; get: (name: string) => string | null; getAll: (name: string) => string[]; has: (name: string, value?: string) => boolean; set: (name: string, value: string) => void; sort: () => void; toString: () => string; forEach: (callbackfn: (value: string, key: string, parent: URLSearchParams) => void, thisArg?: any) => void; entries: () => URLSearchParamsIterator<[string, string]>; keys: () => URLSearchParamsIterator; values: () => URLSearchParamsIterator; [Symbol.iterator]: () => URLSearchParamsIterator<[string, string]>; } | undefined; } | null>; zoom: Ref; rotate: Ref; currentPage: Ref; totalPages: Ref; fullscreen: Ref; videoState: Ref< { currentTime: number; duration: number; paused: boolean; ended: boolean; muted: boolean; volume: number; playbackRate: number; disableSeek: boolean; } | null, VideoPlaybackState | { currentTime: number; duration: number; paused: boolean; ended: boolean; muted: boolean; volume: number; playbackRate: number; disableSeek: boolean; } | null>; videoController: Ref< { play?: (() => Promise | void) | undefined; pause?: (() => void) | undefined; togglePlayback?: (() => Promise | void) | undefined; seek?: ((time: number) => void) | undefined; restart?: (() => Promise | void) | undefined; setMuted?: ((muted: boolean) => void) | undefined; setVolume?: ((volume: number) => void) | undefined; setPlaybackRate?: ((rate: number) => void) | undefined; } | null, VideoController | { play?: (() => Promise | void) | undefined; pause?: (() => void) | undefined; togglePlayback?: (() => Promise | void) | undefined; seek?: ((time: number) => void) | undefined; restart?: (() => Promise | void) | undefined; setMuted?: ((muted: boolean) => void) | undefined; setVolume?: ((volume: number) => void) | undefined; setPlaybackRate?: ((rate: number) => void) | undefined; } | null>; model3dState: Ref< { ready: boolean; loading: boolean; format: Model3DPreviewKind | null; meshCount: number; materialCount: number; animationCount: number; hasTexture: boolean; boundingBox: { width: number; height: number; depth: number; } | null; animationPlaying: boolean; autoRotate: boolean; autoRotateSpeed: number; wireframe: boolean; showGrid: boolean; showAxes: boolean; exposure: number; lightIntensity: number; materialRoughness: number | null; materialMetalness: number | null; background: string; environment: Model3DEnvironment; } | null, Model3DState | { ready: boolean; loading: boolean; format: Model3DPreviewKind | null; meshCount: number; materialCount: number; animationCount: number; hasTexture: boolean; boundingBox: { width: number; height: number; depth: number; } | null; animationPlaying: boolean; autoRotate: boolean; autoRotateSpeed: number; wireframe: boolean; showGrid: boolean; showAxes: boolean; exposure: number; lightIntensity: number; materialRoughness: number | null; materialMetalness: number | null; background: string; environment: Model3DEnvironment; } | null>; model3dController: Ref< { resetCamera?: (() => void) | undefined; setAutoRotate?: ((enabled: boolean) => void) | undefined; setAutoRotateSpeed?: ((speed: number) => void) | undefined; setBackground?: ((background: string) => void) | undefined; setEnvironment?: ((environment: Model3DEnvironment) => void) | undefined; setExposure?: ((exposure: number) => void) | undefined; setLightIntensity?: ((intensity: number) => void) | undefined; setMaterialRoughness?: ((roughness: number | null) => void) | undefined; setMaterialMetalness?: ((metalness: number | null) => void) | undefined; setGridVisible?: ((visible: boolean) => void) | undefined; setAxesVisible?: ((visible: boolean) => void) | undefined; applyPreset?: ((preset: Partial) => void) | undefined; getPreset?: (() => Model3DPreset | null) | undefined; toggleWireframe?: (() => void) | undefined; toggleAnimation?: (() => void) | undefined; captureScreenshot?: (() => Promise) | undefined; } | null, Model3DController | { resetCamera?: (() => void) | undefined; setAutoRotate?: ((enabled: boolean) => void) | undefined; setAutoRotateSpeed?: ((speed: number) => void) | undefined; setBackground?: ((background: string) => void) | undefined; setEnvironment?: ((environment: Model3DEnvironment) => void) | undefined; setExposure?: ((exposure: number) => void) | undefined; setLightIntensity?: ((intensity: number) => void) | undefined; setMaterialRoughness?: ((roughness: number | null) => void) | undefined; setMaterialMetalness?: ((metalness: number | null) => void) | undefined; setGridVisible?: ((visible: boolean) => void) | undefined; setAxesVisible?: ((visible: boolean) => void) | undefined; applyPreset?: ((preset: Partial) => void) | undefined; getPreset?: (() => Model3DPreset | null) | undefined; toggleWireframe?: (() => void) | undefined; toggleAnimation?: (() => void) | undefined; captureScreenshot?: (() => Promise) | undefined; } | null>; audioState: Ref< { currentTime: number; duration: number; paused: boolean; volume: number; muted: boolean; loop: boolean; visualizerMode: AudioVisualizerMode; } | null, AudioPlaybackState | { currentTime: number; duration: number; paused: boolean; volume: number; muted: boolean; loop: boolean; visualizerMode: AudioVisualizerMode; } | null>; audioController: Ref< { play?: (() => Promise | void) | undefined; pause?: (() => void) | undefined; seek?: ((time: number) => void) | undefined; setVolume?: ((volume: number) => void) | undefined; getPlaybackState?: (() => AudioPlaybackState | null) | undefined; } | null, AudioController | { play?: (() => Promise | void) | undefined; pause?: (() => void) | undefined; seek?: ((time: number) => void) | undefined; setVolume?: ((volume: number) => void) | undefined; getPlaybackState?: (() => AudioPlaybackState | null) | undefined; } | null>; state: ComputedRef; setMounted: (value: boolean) => void; setLoading: (value: boolean) => void; setError: (err: Error | null) => void; setFile: (source: FileSource, name?: string, explicitType?: FileType) => void; clearFile: () => void; setZoom: (value: number) => void; setRotate: (value: number) => void; resetTransform: () => void; setPage: (current: number, total?: number) => void; gotoPage: (page: number) => void; prevPage: () => void; nextPage: () => void; setPageController: (controller: PageController | null) => void; setFullscreen: (value: boolean) => void; setVideoState: (value: VideoPlaybackState | null) => void; setVideoController: (controller: VideoController | null) => void; setModel3DState: (value: Model3DState | null) => void; setModel3DController: (controller: Model3DController | null) => void; setAudioState: (value: AudioPlaybackState | null) => void; setAudioController: (controller: AudioController | null) => void; playAudio: () => Promise; pauseAudio: () => void; seekAudio: (time: number) => void; setAudioVolume: (volume: number) => void; playVideo: () => Promise; pauseVideo: () => void; toggleVideoPlayback: () => Promise; seekVideo: (time: number) => void; restartVideo: () => Promise; setVideoMuted: (muted: boolean) => void; setVideoVolume: (volume: number) => void; setVideoPlaybackRate: (rate: number) => void; resetModel3DCamera: () => void; setModel3DAutoRotate: (enabled: boolean) => void; setModel3DAutoRotateSpeed: (speed: number) => void; setModel3DBackground: (background: string) => void; setModel3DEnvironment: (environment: Model3DEnvironment) => void; setModel3DExposure: (exposure: number) => void; setModel3DLightIntensity: (intensity: number) => void; setModel3DMaterialRoughness: (roughness: number | null) => void; setModel3DMaterialMetalness: (metalness: number | null) => void; setModel3DGridVisible: (visible: boolean) => void; setModel3DAxesVisible: (visible: boolean) => void; applyModel3DPreset: (preset: Partial) => void; getModel3DPreset: () => Model3DPreset | null; toggleModel3DWireframe: () => void; toggleModel3DAnimation: () => void; captureModel3DScreenshot: () => Promise; print: () => void; setPrintFn: (fn: () => void) => void; }; export declare const CsvRender: DefineComponent, { zoom: number; }>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, { error: (error: Error) => void; load: () => void; }, string, PublicProps, Readonly, { zoom: number; }>>> & Readonly<{ onError?: ((error: Error) => any) | undefined; onLoad?: (() => any) | undefined; }>, { zoom: number; }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>; /** * 防抖函数 */ export declare function debounce void>(fn: T, delay: number): (...args: Parameters) => void; declare function destroy(): void; export declare function detectCadPreviewKindFromUrl(url: string): Exclude | null; /** * 检测文件类型 */ export declare function detectFileType(source: FileSource, filename?: string): FileType; export declare function detectModel3DPreviewKindFromUrl(url: string): Model3DPreviewKind | null; export declare const DocxRender: DefineComponent>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, { error: (error: Error) => void; load: () => void; }, string, PublicProps, Readonly>> & Readonly<{ onError?: ((error: Error) => any) | undefined; onLoad?: (() => any) | undefined; }>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>; /** * 下载文件 */ export declare function downloadFile(source: FileSource, filename?: string): Promise; export declare interface EventBus { on: (event: string, handler: EventHandler) => void; off: (event: string, handler: EventHandler) => void; emit: (event: string, ...args: any[]) => void; once: (event: string, handler: EventHandler) => void; } export declare type EventHandler = (...args: any[]) => void; export declare const ExcelRender: DefineComponent>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, { error: (error: Error) => void; load: () => void; }, string, PublicProps, Readonly>> & Readonly<{ onError?: ((error: Error) => any) | undefined; onLoad?: (() => any) | undefined; }>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>; export declare interface FileRenderer { type: FileType; canRender: (file: FileSource) => boolean; render: (container: HTMLElement, file: FileSource, options?: any) => Promise; destroy?: () => void; } export declare type FileSource = string | File | Blob | ArrayBuffer | { url: string; headers?: Record; method?: 'GET' | 'POST'; body?: BodyInit; }; /** * 将文件源转换为ArrayBuffer */ export declare function fileToArrayBuffer(source: FileSource, options?: { proxyUrl?: string; requestAdapter?: RequestAdapter; }): Promise; /** * 将文件源转换为Blob */ export declare function fileToBlob(source: FileSource, options?: { proxyUrl?: string; requestAdapter?: RequestAdapter; }): Promise; /** * 将文件源转换为URL */ export declare function fileToUrl(source: FileSource): Promise; export declare type FileType = 'docx' | 'xlsx' | 'xls' | 'csv' | 'pdf' | 'pptx' | 'ppt' | 'txt' | 'code' | 'md' | 'markdown' | 'ofd' | 'html' | 'image' | 'video' | 'audio' | 'cad' | 'model3d' | 'unknown'; /** * 全屏API封装 */ export declare const fullscreen: { /** * 进入全屏 */ enter(element: HTMLElement): Promise; /** * 退出全屏 */ exit(): Promise; /** * 切换全屏 */ toggle(element: HTMLElement): Promise; /** * 是否处于全屏状态 */ isActive(): boolean; /** * 监听全屏变化 */ onChange(callback: (isFullscreen: boolean) => void): () => void; }; /** * 生成CSS变量字符串 */ export declare function generateCSSVariables(variables: Record): string; declare function getAudioState(): any; export declare function getCodeLanguage(options: { filename?: string; mimeType?: string; }): CodeLanguage; export declare function getCodeLanguageByExtension(extension?: string): CodeLanguage; export declare function getCodeLanguageLabel(language: CodeLanguage): string; /** * 获取DOM元素 */ export declare function getElement(target: HTMLElement | string): HTMLElement | null; /** * 从文件名中提取扩展名 */ export declare function getFileExtension(filename: string): string; /** * 获取文件名 */ export declare function getFilename(source: FileSource, fallback?: string): string; /** * 从URL中提取文件名 */ export declare function getFilenameFromUrl(url: string): string; export declare function getModel3DBuiltInPresets(): Model3DBuiltInPreset[]; declare function getModel3DState(): any; declare function getPageInfo(): { current: number; total: number; }; declare function getPlaybackState(): { currentTime: number; duration: number; paused: boolean; volume: number; muted: boolean; loop: boolean; visualizerMode: AudioVisualizerMode; }; declare function getVideoState(): any; declare function getVisualizerMode(): AudioVisualizerMode; declare function gotoPage(page: number): { current: number; total: number; }; export declare function highlightCode(code: string, language: CodeLanguage): string[]; export declare const HtmlRender: DefineComponent, { zoom: number; }>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, { error: (error: Error) => void; load: () => void; }, string, PublicProps, Readonly, { zoom: number; }>>> & Readonly<{ onError?: ((error: Error) => any) | undefined; onLoad?: (() => any) | undefined; }>, { zoom: number; }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>; export declare const ImageRender: DefineComponent, { zoom: number; }>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, { error: (error: Error) => void; load: () => void; }, string, PublicProps, Readonly, { zoom: number; }>>> & Readonly<{ onError?: ((error: Error) => any) | undefined; onLoad?: (() => any) | undefined; }>, { zoom: number; }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>; export declare function isDxfFilename(filename: string): boolean; export declare function isModel3DFilename(filename: string): boolean; /** * 检查文件类型是否支持 */ export declare function isSupportedType(type: FileType): boolean; declare const JitViewer: { createViewer: typeof createViewer; Viewer: typeof Viewer; }; export default JitViewer; declare function loadFile(): Promise; export declare type Locale = 'zh-CN' | 'en' | LocaleConfig; export declare interface LocaleConfig { name: string; messages: Record; } export declare const MarkdownRender: DefineComponent>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, { error: (error: Error) => void; load: () => void; }, string, PublicProps, Readonly>> & Readonly<{ onError?: ((error: Error) => any) | undefined; onLoad?: (() => any) | undefined; }>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>; export declare interface Model3DBuiltInPreset { id: Model3DBuiltInPresetId; name: string; description: string; preset: Model3DPreset; } export declare type Model3DBuiltInPresetId = 'product-showcase' | 'white-model-review' | 'night-outline' | 'warm-gallery'; declare type Model3DController = { resetCamera?: () => void; setAutoRotate?: (enabled: boolean) => void; setAutoRotateSpeed?: (speed: number) => void; setBackground?: (background: string) => void; setEnvironment?: (environment: Model3DEnvironment) => void; setExposure?: (exposure: number) => void; setLightIntensity?: (intensity: number) => void; setMaterialRoughness?: (roughness: number | null) => void; setMaterialMetalness?: (metalness: number | null) => void; setGridVisible?: (visible: boolean) => void; setAxesVisible?: (visible: boolean) => void; applyPreset?: (preset: Partial) => void; getPreset?: () => Model3DPreset | null; toggleWireframe?: () => void; toggleAnimation?: () => void; captureScreenshot?: () => Promise; }; export declare type Model3DEnvironment = 'studio' | 'neutral' | 'sunset' | 'night' | 'none' | string; export declare interface Model3DOptions { preview?: Model3DPreviewResult | null; previewUrl?: string; previewType?: Model3DPreviewKind; adapter?: Model3DPreviewAdapter; autoRotate?: boolean; showGrid?: boolean; showAxes?: boolean; enablePan?: boolean; enableZoom?: boolean; enableRotate?: boolean; enableDamping?: boolean; backgroundColor?: string; environment?: Model3DEnvironment; exposure?: number; lightIntensity?: number; autoRotateSpeed?: number; materialRoughness?: number | null; materialMetalness?: number | null; decoderPath?: string; wireframe?: boolean; animation?: 'auto' | 'manual' | false; toolbarItems?: Model3DToolbarItem[]; onModelLoaded?: (state: Model3DState) => void; onStateChange?: (state: Model3DState) => void; onAnimationStart?: (state: Model3DState) => void; onAnimationPause?: (state: Model3DState) => void; } export declare interface Model3DPreset { autoRotate: boolean; autoRotateSpeed: number; wireframe: boolean; showGrid: boolean; showAxes: boolean; background: string; environment: Model3DEnvironment; exposure: number; lightIntensity: number; materialRoughness: number | null; materialMetalness: number | null; } export declare type Model3DPreviewAdapter = (context: Model3DPreviewContext) => Promise | Model3DPreviewResult | null; export declare interface Model3DPreviewContext { source: FileSource; filename: string; proxyUrl?: string; requestAdapter?: RequestAdapter; signal?: AbortSignal; } export declare type Model3DPreviewKind = 'glb' | 'gltf' | 'stl' | 'obj' | 'ply' | 'iframe'; export declare interface Model3DPreviewResult { kind: Model3DPreviewKind; source?: FileSource; content?: string; mimeType?: string; } export declare const Model3DRender: DefineComponent; required: true; }; filename: { type: PropType; }; proxyUrl: { type: PropType; }; requestAdapter: { type: PropType; }; model3dOptions: { type: PropType; }; }>, { resetCamera: () => void; setAutoRotate: (enabled: boolean) => void; setAutoRotateSpeed: (speed: number) => void; setBackground: (background: string) => void; setEnvironment: (environment: Model3DEnvironment) => void; setExposure: (nextExposure: number) => void; setLightIntensity: (intensity: number) => void; setMaterialRoughness: (roughness: number | null) => void; setMaterialMetalness: (metalness: number | null) => void; setGridVisible: (visible: boolean) => void; setAxesVisible: (visible: boolean) => void; applyPreset: (preset: Partial) => void; getPreset: () => Model3DPreset; toggleWireframe: () => void; toggleAnimation: () => void; captureScreenshot: () => Promise; getState: () => { boundingBox: { width: number; height: number; depth: number; } | null; ready: boolean; loading: boolean; format: Model3DPreviewKind | null; meshCount: number; materialCount: number; animationCount: number; hasTexture: boolean; animationPlaying: boolean; autoRotate: boolean; autoRotateSpeed: number; wireframe: boolean; showGrid: boolean; showAxes: boolean; exposure: number; lightIntensity: number; materialRoughness: number | null; materialMetalness: number | null; background: string; environment: Model3DEnvironment; }; }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, { error: (error: Error) => void; load: () => void; stateChange: (state: Model3DState) => void; animationStart: (state: Model3DState) => void; animationPause: (state: Model3DState) => void; }, string, PublicProps, Readonly; required: true; }; filename: { type: PropType; }; proxyUrl: { type: PropType; }; requestAdapter: { type: PropType; }; model3dOptions: { type: PropType; }; }>> & Readonly<{ onError?: ((error: Error) => any) | undefined; onLoad?: (() => any) | undefined; onStateChange?: ((state: Model3DState) => any) | undefined; onAnimationStart?: ((state: Model3DState) => any) | undefined; onAnimationPause?: ((state: Model3DState) => any) | undefined; }>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>; export declare interface Model3DState { ready: boolean; loading: boolean; format: Model3DPreviewKind | null; meshCount: number; materialCount: number; animationCount: number; hasTexture: boolean; boundingBox: { width: number; height: number; depth: number; } | null; animationPlaying: boolean; autoRotate: boolean; autoRotateSpeed: number; wireframe: boolean; showGrid: boolean; showAxes: boolean; exposure: number; lightIntensity: number; materialRoughness: number | null; materialMetalness: number | null; background: string; environment: Model3DEnvironment; } export declare type Model3DToolbarItem = 'resetCamera' | 'autoRotate' | 'wireframe' | 'animation' | 'screenshot' | 'background' | 'grid' | 'axes'; declare function mount(target?: HTMLElement | string): Promise; declare function nextPage(): { current: number; total: number; }; declare interface OfdPageInfo { current: number; total: number; } export declare const OfdRender: DefineComponent, { zoom: number; }>>, { getPageInfo: typeof getPageInfo; gotoPage: typeof gotoPage; nextPage: typeof nextPage; prevPage: typeof prevPage; reload: typeof loadFile; }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, { error: (error: Error) => void; load: () => void; pageChange: (pageInfo: OfdPageInfo) => void; }, string, PublicProps, Readonly, { zoom: number; }>>> & Readonly<{ onError?: ((error: Error) => any) | undefined; onLoad?: (() => any) | undefined; onPageChange?: ((pageInfo: OfdPageInfo) => any) | undefined; }>, { zoom: number; }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>; declare type PageController = { getPageInfo?: () => PageInfo | null | undefined; gotoPage?: (page: number) => void | number | PageInfo; nextPage?: () => void | number | PageInfo; prevPage?: () => void | number | PageInfo; }; declare type PageInfo = { current: number; total: number; }; declare function pause(): void; declare function pause_2(): void; export declare const PdfRender: DefineComponent, { zoom: number; pdfRender: string; }>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, { error: (error: Error) => void; load: () => void; }, string, PublicProps, Readonly, { zoom: number; pdfRender: string; }>>> & Readonly<{ onError?: ((error: Error) => any) | undefined; onLoad?: (() => any) | undefined; }>, { zoom: number; pdfRender: "native" | "inset"; }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>; declare function play(): Promise; declare function play_2(): Promise; declare interface Plugin_2 { name: string; install: (ctx: PluginContext) => void; } export { Plugin_2 as Plugin } export declare interface PluginContext { viewer: ViewerInstance; options: ViewerOptions; events: EventBus; toolbar: ToolbarAPI; } export declare const PptxRender: DefineComponent>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, { error: (error: Error) => void; load: () => void; }, string, PublicProps, Readonly>> & Readonly<{ onError?: ((error: Error) => any) | undefined; onLoad?: (() => any) | undefined; }>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>; declare function prevPage(): { current: number; total: number; }; /** * 打印指定元素 */ export declare function printElement(element: HTMLElement, title?: string): void; declare interface Props extends ViewerOptions { } declare interface Props_10 { source: FileSource; } declare interface Props_11 { source: FileSource; zoom?: number; proxyUrl?: string; requestAdapter?: RequestAdapter; } declare interface Props_12 { source: FileSource; zoom?: number; proxyUrl?: string; requestAdapter?: RequestAdapter; } declare interface Props_13 { source: FileSource; zoom?: number; } declare interface Props_14 { source: FileSource; zoom?: number; proxyUrl?: string; requestAdapter?: RequestAdapter; videoOptions?: VideoOptions; preferExternalControls?: boolean; } declare interface Props_15 { source?: FileSource | null; filename?: string; proxyUrl?: string; requestAdapter?: any; audioOptions?: AudioOptions; } declare interface Props_16 { source: FileSource; filename?: string; zoom?: number; proxyUrl?: string; requestAdapter?: RequestAdapter; cadOptions?: CadOptions; pdfRender?: 'native' | 'inset'; } declare interface Props_17 { watermark?: WatermarkConfig | null; } declare interface Props_2 { config?: ToolbarConfig; visible?: boolean; videoOptions?: VideoOptions; model3dOptions?: Model3DOptions; } declare interface Props_3 { source: FileSource; zoom?: number; proxyUrl?: string; requestAdapter?: RequestAdapter; } declare interface Props_4 { source: FileSource; zoom?: number; proxyUrl?: string; requestAdapter?: RequestAdapter; } declare interface Props_5 { source: FileSource; zoom?: number; proxyUrl?: string; requestAdapter?: RequestAdapter; } declare interface Props_6 { source: FileSource; zoom?: number; proxyUrl?: string; requestAdapter?: RequestAdapter; pdfRender?: 'native' | 'inset'; } declare interface Props_7 { source: FileSource; zoom?: number; proxyUrl?: string; requestAdapter?: RequestAdapter; } declare interface Props_8 { source: FileSource; } declare interface Props_9 { source: FileSource; filename?: string; proxyUrl?: string; requestAdapter?: RequestAdapter; } export declare type RequestAdapter = (url: string, options?: { headers?: Record; method?: 'GET' | 'POST'; body?: BodyInit; }) => Promise; export declare function resolveCadPreview(context: CadPreviewContext, cadOptions?: CadOptions): Promise; export declare function resolveModel3DBuiltInPreset(presetId: Model3DBuiltInPresetId): Model3DPreset | null; export declare function resolveModel3DPreview(context: Model3DPreviewContext, model3dOptions?: Model3DOptions): Promise; declare function restartVideo(): void; declare function seek(time: number): void; declare function seek_2(time: number): void; declare function setFileInternal(file: FileSource, filename?: string, type?: Props['type']): Promise; declare function setMuted(nextMuted: boolean): void; declare function setPlaybackRate(nextRate: number): void; declare function setVisualizerColor(color: string): void; declare function setVisualizerMode(mode: AudioVisualizerMode): void; declare function setVolume(nextVolume: number): void; declare function setVolume_2(v: number): void; export declare const TextRender: DefineComponent>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, { error: (error: Error) => void; load: () => void; }, string, PublicProps, Readonly>> & Readonly<{ onError?: ((error: Error) => any) | undefined; onLoad?: (() => any) | undefined; }>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>; export declare type Theme = 'light' | 'dark' | ThemeConfig; export declare interface ThemeConfig { name: string; variables: Record; } /** * 节流函数 */ export declare function throttle void>(fn: T, limit: number): (...args: Parameters) => void; declare function togglePlayback(): Promise; export declare const Toolbar: __VLS_WithTemplateSlots>; export declare interface ToolbarAPI { register: (item: ToolbarItem) => void; unregister: (type: string) => void; update: (type: string, config: Partial) => void; getItems: () => ToolbarItem[]; setVisible: (visible: boolean) => void; } export declare interface ToolbarConfig { visible?: boolean; items?: ToolbarItem[]; className?: string; position?: 'top' | 'bottom' | 'both'; } export declare interface ToolbarItem { type: string; position?: 'top' | 'bottom' | 'left' | 'right'; visible?: boolean; disabled?: boolean; icon?: string; title?: string; className?: string; options?: Record; render?: () => any; } /** * 使用国际化 */ export declare function useLocale(): { locale: Ref; messages: Ref>; t: (key: string, params?: Record) => string; setLocale: (locale: Locale) => void; }; /** * 创建国际化实例 */ export declare function useLocaleProvider(initialLocale?: Locale): { locale: Ref<"zh-CN" | "en" | { name: string; messages: Record; }, Locale | { name: string; messages: Record; }>; messages: Ref, Record>; t: (key: string, params?: Record) => string; setLocale: (newLocale: Locale) => void; }; /** * 使用主题 */ export declare function useTheme(): { theme: Ref; setTheme: (theme: Theme) => void; getVariables: () => Record; }; /** * 创建主题提供者 */ export declare function useThemeProvider(initialTheme?: Theme, container?: Ref): { theme: Ref<"light" | "dark" | { name: string; variables: Record; }, Theme | { name: string; variables: Record; }>; setTheme: (newTheme: Theme) => void; getVariables: () => Record; }; /** * 使用预览器状态 */ export declare function useViewerState(): { mounted: Ref; loading: Ref; error: Ref; fileType: Ref; filename: Ref; fileSource: Ref Promise; bytes: () => Promise>; slice: (start?: number, end?: number, contentType?: string) => Blob; stream: () => ReadableStream>; text: () => Promise; } | { readonly size: number; readonly type: string; arrayBuffer: () => Promise; bytes: () => Promise>; slice: (start?: number, end?: number, contentType?: string) => Blob; stream: () => ReadableStream>; text: () => Promise; } | { readonly byteLength: number; slice: (begin?: number, end?: number) => ArrayBuffer; readonly [Symbol.toStringTag]: "ArrayBuffer"; } | { url: string; headers?: Record | undefined; method?: "GET" | "POST" | undefined; body?: string | { readonly size: number; readonly type: string; arrayBuffer: () => Promise; bytes: () => Promise>; slice: (start?: number, end?: number, contentType?: string) => Blob; stream: () => ReadableStream>; text: () => Promise; } | { readonly byteLength: number; slice: (begin?: number, end?: number) => ArrayBuffer; readonly [Symbol.toStringTag]: "ArrayBuffer"; } | { readonly locked: boolean; cancel: (reason?: any) => Promise; getReader: { (options: { mode: "byob"; }): ReadableStreamBYOBReader; (): ReadableStreamDefaultReader; (options?: ReadableStreamGetReaderOptions): ReadableStreamReader; }; pipeThrough: (transform: ReadableWritablePair, options?: StreamPipeOptions) => ReadableStream; pipeTo: (destination: WritableStream, options?: StreamPipeOptions) => Promise; tee: () => [ReadableStream, ReadableStream]; } | { readonly buffer: { readonly byteLength: number; slice: (begin?: number, end?: number) => ArrayBuffer; readonly [Symbol.toStringTag]: "ArrayBuffer"; }; readonly byteLength: number; readonly byteOffset: number; } | { append: { (name: string, value: string | Blob): void; (name: string, value: string): void; (name: string, blobValue: Blob, filename?: string): void; }; delete: (name: string) => void; get: (name: string) => FormDataEntryValue | null; getAll: (name: string) => FormDataEntryValue[]; has: (name: string) => boolean; set: { (name: string, value: string | Blob): void; (name: string, value: string): void; (name: string, blobValue: Blob, filename?: string): void; }; forEach: (callbackfn: (value: FormDataEntryValue, key: string, parent: FormData) => void, thisArg?: any) => void; entries: () => FormDataIterator<[string, FormDataEntryValue]>; keys: () => FormDataIterator; values: () => FormDataIterator; [Symbol.iterator]: () => FormDataIterator<[string, FormDataEntryValue]>; } | { readonly size: number; append: (name: string, value: string) => void; delete: (name: string, value?: string) => void; get: (name: string) => string | null; getAll: (name: string) => string[]; has: (name: string, value?: string) => boolean; set: (name: string, value: string) => void; sort: () => void; toString: () => string; forEach: (callbackfn: (value: string, key: string, parent: URLSearchParams) => void, thisArg?: any) => void; entries: () => URLSearchParamsIterator<[string, string]>; keys: () => URLSearchParamsIterator; values: () => URLSearchParamsIterator; [Symbol.iterator]: () => URLSearchParamsIterator<[string, string]>; } | undefined; } | null, FileSource | { readonly lastModified: number; readonly name: string; readonly webkitRelativePath: string; readonly size: number; readonly type: string; arrayBuffer: () => Promise; bytes: () => Promise>; slice: (start?: number, end?: number, contentType?: string) => Blob; stream: () => ReadableStream>; text: () => Promise; } | { readonly size: number; readonly type: string; arrayBuffer: () => Promise; bytes: () => Promise>; slice: (start?: number, end?: number, contentType?: string) => Blob; stream: () => ReadableStream>; text: () => Promise; } | { readonly byteLength: number; slice: (begin?: number, end?: number) => ArrayBuffer; readonly [Symbol.toStringTag]: "ArrayBuffer"; } | { url: string; headers?: Record | undefined; method?: "GET" | "POST" | undefined; body?: string | { readonly size: number; readonly type: string; arrayBuffer: () => Promise; bytes: () => Promise>; slice: (start?: number, end?: number, contentType?: string) => Blob; stream: () => ReadableStream>; text: () => Promise; } | { readonly byteLength: number; slice: (begin?: number, end?: number) => ArrayBuffer; readonly [Symbol.toStringTag]: "ArrayBuffer"; } | { readonly locked: boolean; cancel: (reason?: any) => Promise; getReader: { (options: { mode: "byob"; }): ReadableStreamBYOBReader; (): ReadableStreamDefaultReader; (options?: ReadableStreamGetReaderOptions): ReadableStreamReader; }; pipeThrough: (transform: ReadableWritablePair, options?: StreamPipeOptions) => ReadableStream; pipeTo: (destination: WritableStream, options?: StreamPipeOptions) => Promise; tee: () => [ReadableStream, ReadableStream]; } | { readonly buffer: { readonly byteLength: number; slice: (begin?: number, end?: number) => ArrayBuffer; readonly [Symbol.toStringTag]: "ArrayBuffer"; }; readonly byteLength: number; readonly byteOffset: number; } | { append: { (name: string, value: string | Blob): void; (name: string, value: string): void; (name: string, blobValue: Blob, filename?: string): void; }; delete: (name: string) => void; get: (name: string) => FormDataEntryValue | null; getAll: (name: string) => FormDataEntryValue[]; has: (name: string) => boolean; set: { (name: string, value: string | Blob): void; (name: string, value: string): void; (name: string, blobValue: Blob, filename?: string): void; }; forEach: (callbackfn: (value: FormDataEntryValue, key: string, parent: FormData) => void, thisArg?: any) => void; entries: () => FormDataIterator<[string, FormDataEntryValue]>; keys: () => FormDataIterator; values: () => FormDataIterator; [Symbol.iterator]: () => FormDataIterator<[string, FormDataEntryValue]>; } | { readonly size: number; append: (name: string, value: string) => void; delete: (name: string, value?: string) => void; get: (name: string) => string | null; getAll: (name: string) => string[]; has: (name: string, value?: string) => boolean; set: (name: string, value: string) => void; sort: () => void; toString: () => string; forEach: (callbackfn: (value: string, key: string, parent: URLSearchParams) => void, thisArg?: any) => void; entries: () => URLSearchParamsIterator<[string, string]>; keys: () => URLSearchParamsIterator; values: () => URLSearchParamsIterator; [Symbol.iterator]: () => URLSearchParamsIterator<[string, string]>; } | undefined; } | null>; zoom: Ref; rotate: Ref; currentPage: Ref; totalPages: Ref; fullscreen: Ref; videoState: Ref< { currentTime: number; duration: number; paused: boolean; ended: boolean; muted: boolean; volume: number; playbackRate: number; disableSeek: boolean; } | null, VideoPlaybackState | { currentTime: number; duration: number; paused: boolean; ended: boolean; muted: boolean; volume: number; playbackRate: number; disableSeek: boolean; } | null>; videoController: Ref< { play?: (() => Promise | void) | undefined; pause?: (() => void) | undefined; togglePlayback?: (() => Promise | void) | undefined; seek?: ((time: number) => void) | undefined; restart?: (() => Promise | void) | undefined; setMuted?: ((muted: boolean) => void) | undefined; setVolume?: ((volume: number) => void) | undefined; setPlaybackRate?: ((rate: number) => void) | undefined; } | null, VideoController | { play?: (() => Promise | void) | undefined; pause?: (() => void) | undefined; togglePlayback?: (() => Promise | void) | undefined; seek?: ((time: number) => void) | undefined; restart?: (() => Promise | void) | undefined; setMuted?: ((muted: boolean) => void) | undefined; setVolume?: ((volume: number) => void) | undefined; setPlaybackRate?: ((rate: number) => void) | undefined; } | null>; model3dState: Ref< { ready: boolean; loading: boolean; format: Model3DPreviewKind | null; meshCount: number; materialCount: number; animationCount: number; hasTexture: boolean; boundingBox: { width: number; height: number; depth: number; } | null; animationPlaying: boolean; autoRotate: boolean; autoRotateSpeed: number; wireframe: boolean; showGrid: boolean; showAxes: boolean; exposure: number; lightIntensity: number; materialRoughness: number | null; materialMetalness: number | null; background: string; environment: Model3DEnvironment; } | null, Model3DState | { ready: boolean; loading: boolean; format: Model3DPreviewKind | null; meshCount: number; materialCount: number; animationCount: number; hasTexture: boolean; boundingBox: { width: number; height: number; depth: number; } | null; animationPlaying: boolean; autoRotate: boolean; autoRotateSpeed: number; wireframe: boolean; showGrid: boolean; showAxes: boolean; exposure: number; lightIntensity: number; materialRoughness: number | null; materialMetalness: number | null; background: string; environment: Model3DEnvironment; } | null>; model3dController: Ref< { resetCamera?: (() => void) | undefined; setAutoRotate?: ((enabled: boolean) => void) | undefined; setAutoRotateSpeed?: ((speed: number) => void) | undefined; setBackground?: ((background: string) => void) | undefined; setEnvironment?: ((environment: Model3DEnvironment) => void) | undefined; setExposure?: ((exposure: number) => void) | undefined; setLightIntensity?: ((intensity: number) => void) | undefined; setMaterialRoughness?: ((roughness: number | null) => void) | undefined; setMaterialMetalness?: ((metalness: number | null) => void) | undefined; setGridVisible?: ((visible: boolean) => void) | undefined; setAxesVisible?: ((visible: boolean) => void) | undefined; applyPreset?: ((preset: Partial) => void) | undefined; getPreset?: (() => Model3DPreset | null) | undefined; toggleWireframe?: (() => void) | undefined; toggleAnimation?: (() => void) | undefined; captureScreenshot?: (() => Promise) | undefined; } | null, Model3DController | { resetCamera?: (() => void) | undefined; setAutoRotate?: ((enabled: boolean) => void) | undefined; setAutoRotateSpeed?: ((speed: number) => void) | undefined; setBackground?: ((background: string) => void) | undefined; setEnvironment?: ((environment: Model3DEnvironment) => void) | undefined; setExposure?: ((exposure: number) => void) | undefined; setLightIntensity?: ((intensity: number) => void) | undefined; setMaterialRoughness?: ((roughness: number | null) => void) | undefined; setMaterialMetalness?: ((metalness: number | null) => void) | undefined; setGridVisible?: ((visible: boolean) => void) | undefined; setAxesVisible?: ((visible: boolean) => void) | undefined; applyPreset?: ((preset: Partial) => void) | undefined; getPreset?: (() => Model3DPreset | null) | undefined; toggleWireframe?: (() => void) | undefined; toggleAnimation?: (() => void) | undefined; captureScreenshot?: (() => Promise) | undefined; } | null>; audioState: Ref< { currentTime: number; duration: number; paused: boolean; volume: number; muted: boolean; loop: boolean; visualizerMode: AudioVisualizerMode; } | null, AudioPlaybackState | { currentTime: number; duration: number; paused: boolean; volume: number; muted: boolean; loop: boolean; visualizerMode: AudioVisualizerMode; } | null>; audioController: Ref< { play?: (() => Promise | void) | undefined; pause?: (() => void) | undefined; seek?: ((time: number) => void) | undefined; setVolume?: ((volume: number) => void) | undefined; getPlaybackState?: (() => AudioPlaybackState | null) | undefined; } | null, AudioController | { play?: (() => Promise | void) | undefined; pause?: (() => void) | undefined; seek?: ((time: number) => void) | undefined; setVolume?: ((volume: number) => void) | undefined; getPlaybackState?: (() => AudioPlaybackState | null) | undefined; } | null>; state: ComputedRef; setMounted: (value: boolean) => void; setLoading: (value: boolean) => void; setError: (err: Error | null) => void; setFile: (source: FileSource, name?: string, explicitType?: FileType) => void; clearFile: () => void; setZoom: (value: number) => void; setRotate: (value: number) => void; resetTransform: () => void; setPage: (current: number, total?: number) => void; gotoPage: (page: number) => void; prevPage: () => void; nextPage: () => void; setPageController: (controller: PageController | null) => void; setFullscreen: (value: boolean) => void; setVideoState: (value: VideoPlaybackState | null) => void; setVideoController: (controller: VideoController | null) => void; setModel3DState: (value: Model3DState | null) => void; setModel3DController: (controller: Model3DController | null) => void; setAudioState: (value: AudioPlaybackState | null) => void; setAudioController: (controller: AudioController | null) => void; playAudio: () => Promise; pauseAudio: () => void; seekAudio: (time: number) => void; setAudioVolume: (volume: number) => void; playVideo: () => Promise; pauseVideo: () => void; toggleVideoPlayback: () => Promise; seekVideo: (time: number) => void; restartVideo: () => Promise; setVideoMuted: (muted: boolean) => void; setVideoVolume: (volume: number) => void; setVideoPlaybackRate: (rate: number) => void; resetModel3DCamera: () => void; setModel3DAutoRotate: (enabled: boolean) => void; setModel3DAutoRotateSpeed: (speed: number) => void; setModel3DBackground: (background: string) => void; setModel3DEnvironment: (environment: Model3DEnvironment) => void; setModel3DExposure: (exposure: number) => void; setModel3DLightIntensity: (intensity: number) => void; setModel3DMaterialRoughness: (roughness: number | null) => void; setModel3DMaterialMetalness: (metalness: number | null) => void; setModel3DGridVisible: (visible: boolean) => void; setModel3DAxesVisible: (visible: boolean) => void; applyModel3DPreset: (preset: Partial) => void; getModel3DPreset: () => Model3DPreset | null; toggleModel3DWireframe: () => void; toggleModel3DAnimation: () => void; captureModel3DScreenshot: () => Promise; print: () => void; setPrintFn: (fn: () => void) => void; }; export declare type VideoControlItem = 'playback' | 'restart' | 'time' | 'progress' | 'mute' | 'volume' | 'speed'; declare type VideoController = { play?: () => Promise | void; pause?: () => void; togglePlayback?: () => Promise | void; seek?: (time: number) => void; restart?: () => Promise | void; setMuted?: (muted: boolean) => void; setVolume?: (volume: number) => void; setPlaybackRate?: (rate: number) => void; }; export declare interface VideoOptions { controls?: boolean; nativeControls?: boolean; customControls?: boolean; disableSeek?: boolean; resumePlayback?: boolean | VideoProgressStorage; resumeKey?: string; autoplay?: boolean; muted?: boolean; loop?: boolean; playbackRate?: number; toolbarItems?: VideoControlItem[]; toolbarMoreItems?: VideoControlItem[]; customControlItems?: VideoControlItem[]; onPlay?: (state: VideoPlaybackState) => void; onPause?: (state: VideoPlaybackState) => void; onEnded?: (state: VideoPlaybackState) => void; onTimeUpdate?: (state: VideoPlaybackState) => void; } export declare interface VideoPlaybackState { currentTime: number; duration: number; paused: boolean; ended: boolean; muted: boolean; volume: number; playbackRate: number; disableSeek: boolean; } export declare type VideoProgressStorage = 'memory' | 'session' | 'local'; export declare const VideoRender: DefineComponent, { zoom: number; }>>, { play: typeof play; pause: typeof pause; togglePlayback: typeof togglePlayback; seek: typeof seek; restart: typeof restartVideo; setMuted: typeof setMuted; setVolume: typeof setVolume; setPlaybackRate: typeof setPlaybackRate; getState: () => { currentTime: number; duration: number; paused: boolean; ended: boolean; muted: boolean; volume: number; playbackRate: number; disableSeek: boolean; }; }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, { ended: (state: VideoPlaybackState) => void; error: (error: Error) => void; load: () => void; pause: (state: VideoPlaybackState) => void; play: (state: VideoPlaybackState) => void; stateChange: (state: VideoPlaybackState) => void; timeUpdate: (state: VideoPlaybackState) => void; seekingBlocked: (state: VideoPlaybackState) => void; }, string, PublicProps, Readonly, { zoom: number; }>>> & Readonly<{ onEnded?: ((state: VideoPlaybackState) => any) | undefined; onError?: ((error: Error) => any) | undefined; onLoad?: (() => any) | undefined; onPause?: ((state: VideoPlaybackState) => any) | undefined; onPlay?: ((state: VideoPlaybackState) => any) | undefined; onStateChange?: ((state: VideoPlaybackState) => any) | undefined; onTimeUpdate?: ((state: VideoPlaybackState) => any) | undefined; onSeekingBlocked?: ((state: VideoPlaybackState) => any) | undefined; }>, { zoom: number; }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>; export declare const Viewer: DefineComponent, { toolbar: boolean; theme: string; locale: string; width: string; height: string; }>>, { mount: typeof mount; destroy: typeof destroy; setFile: typeof setFileInternal; getFile: () => { source: string | { readonly lastModified: number; readonly name: string; readonly webkitRelativePath: string; readonly size: number; readonly type: string; arrayBuffer: () => Promise; bytes: () => Promise>; slice: (start?: number, end?: number, contentType?: string) => Blob; stream: () => ReadableStream>; text: () => Promise; } | { readonly size: number; readonly type: string; arrayBuffer: () => Promise; bytes: () => Promise>; slice: (start?: number, end?: number, contentType?: string) => Blob; stream: () => ReadableStream>; text: () => Promise; } | { readonly byteLength: number; slice: (begin?: number, end?: number) => ArrayBuffer; readonly [Symbol.toStringTag]: "ArrayBuffer"; } | { url: string; headers?: Record | undefined; method?: "GET" | "POST" | undefined; body?: string | { readonly size: number; readonly type: string; arrayBuffer: () => Promise; bytes: () => Promise>; slice: (start?: number, end?: number, contentType?: string) => Blob; stream: () => ReadableStream>; text: () => Promise; } | { readonly byteLength: number; slice: (begin?: number, end?: number) => ArrayBuffer; readonly [Symbol.toStringTag]: "ArrayBuffer"; } | { readonly locked: boolean; cancel: (reason?: any) => Promise; getReader: { (options: { mode: "byob"; }): ReadableStreamBYOBReader; (): ReadableStreamDefaultReader; (options?: ReadableStreamGetReaderOptions): ReadableStreamReader; }; pipeThrough: (transform: ReadableWritablePair, options?: StreamPipeOptions) => ReadableStream; pipeTo: (destination: WritableStream, options?: StreamPipeOptions) => Promise; tee: () => [ReadableStream, ReadableStream]; } | { readonly buffer: { readonly byteLength: number; slice: (begin?: number, end?: number) => ArrayBuffer; readonly [Symbol.toStringTag]: "ArrayBuffer"; }; readonly byteLength: number; readonly byteOffset: number; } | { append: { (name: string, value: string | Blob): void; (name: string, value: string): void; (name: string, blobValue: Blob, filename?: string): void; }; delete: (name: string) => void; get: (name: string) => FormDataEntryValue | null; getAll: (name: string) => FormDataEntryValue[]; has: (name: string) => boolean; set: { (name: string, value: string | Blob): void; (name: string, value: string): void; (name: string, blobValue: Blob, filename?: string): void; }; forEach: (callbackfn: (value: FormDataEntryValue, key: string, parent: FormData) => void, thisArg?: any) => void; entries: () => FormDataIterator<[string, FormDataEntryValue]>; keys: () => FormDataIterator; values: () => FormDataIterator; [Symbol.iterator]: () => FormDataIterator<[string, FormDataEntryValue]>; } | { readonly size: number; append: (name: string, value: string) => void; delete: (name: string, value?: string) => void; get: (name: string) => string | null; getAll: (name: string) => string[]; has: (name: string, value?: string) => boolean; set: (name: string, value: string) => void; sort: () => void; toString: () => string; forEach: (callbackfn: (value: string, key: string, parent: URLSearchParams) => void, thisArg?: any) => void; entries: () => URLSearchParamsIterator<[string, string]>; keys: () => URLSearchParamsIterator; values: () => URLSearchParamsIterator; [Symbol.iterator]: () => URLSearchParamsIterator<[string, string]>; } | undefined; } | null; type: FileType; filename: string; }; zoom: (value: number) => void; rotate: (value: number) => void; reset: () => void; fullscreen: (value: boolean) => void; prevPage: () => void; nextPage: () => void; gotoPage: (page: number) => void; getPageInfo: () => { current: number; total: number; }; print: () => void; download: () => Promise; playVideo: () => Promise; pauseVideo: () => void; toggleVideoPlayback: () => Promise; seekVideo: (time: number) => void; getVideoState: typeof getVideoState; playAudio: () => Promise; pauseAudio: () => void; seekAudio: (time: number) => void; setAudioVolume: (volume: number) => void; getAudioState: typeof getAudioState; setAudioVisualizerMode: (mode: AudioVisualizerMode) => void; setAudioVisualizerColor: (color: string) => void; getAudioVisualizerMode: () => any; resetModel3DCamera: () => void; setModel3DAutoRotate: (enabled: boolean) => void; setModel3DAutoRotateSpeed: (speed: number) => void; setModel3DBackground: (background: string) => void; setModel3DEnvironment: (environment: Model3DEnvironment) => void; setModel3DExposure: (exposure: number) => void; setModel3DLightIntensity: (intensity: number) => void; setModel3DMaterialRoughness: (roughness: number | null) => void; setModel3DMaterialMetalness: (metalness: number | null) => void; setModel3DGridVisible: (visible: boolean) => void; setModel3DAxesVisible: (visible: boolean) => void; applyModel3DPreset: (preset: Partial) => void; getModel3DPreset: () => any; toggleModel3DWireframe: () => void; toggleModel3DAnimation: () => void; captureModel3DScreenshot: () => Promise; getModel3DState: typeof getModel3DState; setTheme: (newTheme: Theme) => void; setLocale: (newLocale: Locale) => void; setToolbar: (config: ToolbarConfig | boolean) => void; on: (event: string, handler: EventHandler) => void; off: (event: string, handler: EventHandler) => void; getState: () => ViewerState; }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, { error: (error: Error) => void; load: () => void; destroy: () => void; ready: () => void; }, string, PublicProps, Readonly, { toolbar: boolean; theme: string; locale: string; width: string; height: string; }>>> & Readonly<{ onError?: ((error: Error) => any) | undefined; onLoad?: (() => any) | undefined; onDestroy?: (() => any) | undefined; onReady?: (() => any) | undefined; }>, { width: string | number; height: string | number; locale: Locale; theme: Theme; toolbar: ToolbarConfig | boolean; }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>; export declare interface ViewerInstance { mount: (target?: HTMLElement | string) => Promise; destroy: () => void; setFile: (file: FileSource, filename?: string) => Promise; setOptions: (options: Partial) => Promise; getFile: () => { source: FileSource; type: FileType; filename: string; } | null; zoom: (scale: number) => void; rotate: (degree: number) => void; reset: () => void; fullscreen: (enable?: boolean) => void; prevPage: () => void; nextPage: () => void; gotoPage: (page: number) => void; getPageInfo: () => { current: number; total: number; }; print: () => void; download: () => void; playVideo: () => Promise; pauseVideo: () => void; toggleVideoPlayback: () => Promise; seekVideo: (time: number) => void; getVideoState: () => VideoPlaybackState | null; playAudio: () => Promise; pauseAudio: () => void; seekAudio: (time: number) => void; setAudioVolume: (volume: number) => void; getAudioState: () => AudioPlaybackState | null; /** 运行时切换音频可视化模式 */ setAudioVisualizerMode: (mode: AudioVisualizerMode) => void; /** 运行时设置音频可视化主题色 */ setAudioVisualizerColor: (color: string) => void; /** 获取当前可视化模式 */ getAudioVisualizerMode: () => AudioVisualizerMode | null; resetModel3DCamera: () => void; setModel3DAutoRotate: (enabled: boolean) => void; setModel3DAutoRotateSpeed: (speed: number) => void; setModel3DBackground: (background: string) => void; setModel3DEnvironment: (environment: Model3DEnvironment) => void; setModel3DExposure: (exposure: number) => void; setModel3DLightIntensity: (intensity: number) => void; setModel3DMaterialRoughness: (roughness: number | null) => void; setModel3DMaterialMetalness: (metalness: number | null) => void; setModel3DGridVisible: (visible: boolean) => void; setModel3DAxesVisible: (visible: boolean) => void; applyModel3DPreset: (preset: Partial) => void; getModel3DPreset: () => Model3DPreset | null; applyBuiltInModel3DPreset: (presetId: Model3DBuiltInPresetId) => void; getBuiltInModel3DPresets: () => Model3DBuiltInPreset[]; toggleModel3DWireframe: () => void; toggleModel3DAnimation: () => void; captureModel3DScreenshot: () => Promise; getModel3DState: () => Model3DState | null; setTheme: (theme: Theme) => void; setLocale: (locale: Locale) => void; setToolbar: (config: ToolbarConfig | boolean) => void; on: (event: string, handler: EventHandler) => void; off: (event: string, handler: EventHandler) => void; getState: () => ViewerState; } export declare interface ViewerOptions { target?: HTMLElement | string; file?: FileSource; type?: FileType; filename?: string; toolbar?: ToolbarConfig | boolean; theme?: Theme; locale?: Locale; plugins?: Plugin_2[]; width?: string | number; height?: string | number; className?: string; style?: Record; pdfRender?: 'native' | 'inset'; watermark?: WatermarkConfig | null; proxyUrl?: string; requestAdapter?: RequestAdapter; cad?: CadOptions; video?: VideoOptions; audio?: AudioOptions; model3d?: Model3DOptions; onReady?: () => void; onError?: (error: Error) => void; onLoad?: () => void; onDestroy?: () => void; renderOptions?: { zoom?: number; rotate?: number; page?: number; [key: string]: any; }; } export declare interface ViewerState { mounted: boolean; loading: boolean; error: Error | null; fileType: FileType; filename: string; zoom: number; rotate: number; page: { current: number; total: number; }; fullscreen: boolean; video: VideoPlaybackState | null; audio: AudioPlaybackState | null; model3d: Model3DState | null; } export declare const Watermark: __VLS_WithTemplateSlots_2>; export declare interface WatermarkConfig { type: 'text' | 'image'; content?: string; image?: string; fontSize?: number; color?: string; fontFamily?: string; fontWeight?: string | number; imageWidth?: number; imageHeight?: number; opacity?: number; rotate?: number; gapX?: number; gapY?: number; position?: 'top' | 'bottom'; width?: string | number; height?: string | number; } export { }