import { type PreviewFile, type PreviewFileInput, type Locale, type Messages, type Theme, type CustomRendererEventPayload, type RequestHandler, type RequestInitFactory, type ShouldFetchAsBlob } from '@eternalheart/file-preview-core'; import type { CustomRenderer } from './types'; interface Props { files: PreviewFileInput[]; currentIndex: number; customRenderers?: CustomRenderer[]; /** 运行模式: modal(弹窗) 或 embed(嵌入) */ mode?: 'modal' | 'embed'; /** ZIP 嵌套深度(内部使用),超过上限时不再递归渲染 ZIP */ zipNestingDepth?: number; /** 语言 */ locale?: Locale; /** 自定义翻译字典 */ messages?: Partial>>; /** 无头模式:隐藏工具栏和导航箭头,仅渲染文件内容 */ headless?: boolean; /** 主题模式,默认 'dark' */ theme?: Theme; /** 自定义 RequestInit(或工厂函数):注入 Authorization 等鉴权头 */ requestInit?: RequestInitFactory; /** 自定义请求处理器:完全接管库内 fetch */ requestHandler?: RequestHandler; /** 返回 true 时,对应文件先 fetcher→blob URL 后喂给 image/video/audio/pdf 等 renderer */ shouldFetchAsBlob?: ShouldFetchAsBlob; /** 自定义下载回调;不传时库内默认通过 fetcher 拉 Blob 触发下载 */ onDownload?: (file: PreviewFile) => void | Promise; /** 关闭回调 */ onClose?: () => void; /** 是否显示关闭按钮,默认根据 mode 决定(modal: true, embed: false) */ showClose?: boolean; /** 是否显示下载按钮,默认 true */ showDownload?: boolean; /** 是否显示文件导航箭头,默认 true */ showNavigation?: boolean; /** 是否循环导航文件,默认 false */ loopNavigation?: boolean; } declare const _default: import("vue").DefineComponent any; navigate: (index: number) => any; "custom-event": (payload: CustomRendererEventPayload) => any; }, string, import("vue").PublicProps, Readonly & Readonly<{ onClose?: (() => any) | undefined; onNavigate?: ((index: number) => any) | undefined; "onCustom-event"?: ((payload: CustomRendererEventPayload) => any) | undefined; }>, { requestInit: RequestInitFactory; requestHandler: RequestHandler; mode: "modal" | "embed"; onClose: () => void; theme: Theme; customRenderers: CustomRenderer[]; zipNestingDepth: number; locale: Locale; messages: Partial>>; headless: boolean; shouldFetchAsBlob: ShouldFetchAsBlob; onDownload: (file: PreviewFile) => void | Promise; showClose: boolean; showDownload: boolean; showNavigation: boolean; loopNavigation: boolean; }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>; export default _default;