import { WithInstall } from '../../utils/withInstall';
import { CreateComponentPublicInstanceWithMixins, ComputedRef, ComponentOptionsMixin, PublicProps, GlobalComponents, GlobalDirectives, ComponentProvideOptions, ComponentOptionsBase, VNodeProps, AllowedComponentProps, ComponentCustomProps } from 'vue';
import { FilePreviewSrc_Type, FilePreviewListItem_Intf, FilePreviewExcelOptions_Intf, FilePreviewKind_Type } from './src/file_preview';
declare const HbLibFilePreview: WithInstall<{
    new (...args: any[]): CreateComponentPublicInstanceWithMixins<Readonly<{
        visible?: boolean;
        src?: FilePreviewSrc_Type;
        fileName?: string;
        fileList?: FilePreviewListItem_Intf[];
        fileIndex?: number;
        height?: string;
        excelOptions?: FilePreviewExcelOptions_Intf;
        pdfStaticFileUrl?: string;
        modalWidth?: string | number;
        modalTitlePrefix?: string;
        modalTitleOverride?: string;
        showDownload?: boolean;
        showNav?: boolean;
        centered?: boolean;
        destroyOnClose?: boolean;
        maskClosable?: boolean;
        keyboard?: boolean;
        needSafe?: boolean;
        customDownload?: (ctx: {
            item: FilePreviewListItem_Intf | null;
            index: number;
            src: FilePreviewSrc_Type;
            fileName?: string;
            downloadName: string;
        }) => void | Promise<void>;
    }> & Readonly<{
        onError?: ((err: unknown) => any) | undefined;
        onCancel?: (() => any) | undefined;
        onRendered?: (() => any) | undefined;
        "onUpdate:visible"?: ((open: boolean) => any) | undefined;
        "onUpdate:fileIndex"?: ((index: number) => any) | undefined;
        onFileChange?: ((payload: {
            index: number;
            item: FilePreviewListItem_Intf | null;
        }) => any) | undefined;
        onBeforeDownload?: ((payload: {
            item: FilePreviewListItem_Intf | null;
            index: number;
        }) => any) | undefined;
        onDownloaded?: ((payload: {
            item: FilePreviewListItem_Intf | null;
            index: number;
        }) => any) | undefined;
    }>, {
        previewKind: ComputedRef<FilePreviewKind_Type>;
        safeIndex: ComputedRef<number>;
        currentListItem: ComputedRef< FilePreviewListItem_Intf | null>;
        effectiveSrc: ComputedRef<FilePreviewSrc_Type>;
        effectiveFileName: ComputedRef<string>;
        goPrev: () => void;
        goNext: () => void;
        download: () => Promise<void>;
        closeModal: () => void;
    }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
        error: (err: unknown) => any;
        cancel: () => any;
        rendered: () => any;
        "update:visible": (open: boolean) => any;
        "update:fileIndex": (index: number) => any;
        fileChange: (payload: {
            index: number;
            item: FilePreviewListItem_Intf | null;
        }) => any;
        beforeDownload: (payload: {
            item: FilePreviewListItem_Intf | null;
            index: number;
        }) => any;
        downloaded: (payload: {
            item: FilePreviewListItem_Intf | null;
            index: number;
        }) => any;
    }, PublicProps, {
        modalWidth: string | number;
        height: string;
        visible: boolean;
        centered: boolean;
        maskClosable: boolean;
        destroyOnClose: boolean;
        keyboard: boolean;
        src: string | ArrayBuffer | Blob | null;
        fileName: string;
        fileList: FilePreviewListItem_Intf[];
        fileIndex: number;
        excelOptions: FilePreviewExcelOptions_Intf;
        pdfStaticFileUrl: string;
        modalTitlePrefix: string;
        modalTitleOverride: string;
        showDownload: boolean;
        showNav: boolean;
        needSafe: boolean;
        customDownload: (ctx: {
            item: FilePreviewListItem_Intf | null;
            index: number;
            src: FilePreviewSrc_Type;
            fileName?: string;
            downloadName: string;
        }) => void | Promise<void>;
    }, false, {}, {}, GlobalComponents, GlobalDirectives, string, {}, any, ComponentProvideOptions, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly<{
        visible?: boolean;
        src?: FilePreviewSrc_Type;
        fileName?: string;
        fileList?: FilePreviewListItem_Intf[];
        fileIndex?: number;
        height?: string;
        excelOptions?: FilePreviewExcelOptions_Intf;
        pdfStaticFileUrl?: string;
        modalWidth?: string | number;
        modalTitlePrefix?: string;
        modalTitleOverride?: string;
        showDownload?: boolean;
        showNav?: boolean;
        centered?: boolean;
        destroyOnClose?: boolean;
        maskClosable?: boolean;
        keyboard?: boolean;
        needSafe?: boolean;
        customDownload?: (ctx: {
            item: FilePreviewListItem_Intf | null;
            index: number;
            src: FilePreviewSrc_Type;
            fileName?: string;
            downloadName: string;
        }) => void | Promise<void>;
    }> & Readonly<{
        onError?: ((err: unknown) => any) | undefined;
        onCancel?: (() => any) | undefined;
        onRendered?: (() => any) | undefined;
        "onUpdate:visible"?: ((open: boolean) => any) | undefined;
        "onUpdate:fileIndex"?: ((index: number) => any) | undefined;
        onFileChange?: ((payload: {
            index: number;
            item: FilePreviewListItem_Intf | null;
        }) => any) | undefined;
        onBeforeDownload?: ((payload: {
            item: FilePreviewListItem_Intf | null;
            index: number;
        }) => any) | undefined;
        onDownloaded?: ((payload: {
            item: FilePreviewListItem_Intf | null;
            index: number;
        }) => any) | undefined;
    }>, {
        previewKind: ComputedRef<FilePreviewKind_Type>;
        safeIndex: ComputedRef<number>;
        currentListItem: ComputedRef< FilePreviewListItem_Intf | null>;
        effectiveSrc: ComputedRef<FilePreviewSrc_Type>;
        effectiveFileName: ComputedRef<string>;
        goPrev: () => void;
        goNext: () => void;
        download: () => Promise<void>;
        closeModal: () => void;
    }, {}, {}, {}, {
        modalWidth: string | number;
        height: string;
        visible: boolean;
        centered: boolean;
        maskClosable: boolean;
        destroyOnClose: boolean;
        keyboard: boolean;
        src: string | ArrayBuffer | Blob | null;
        fileName: string;
        fileList: FilePreviewListItem_Intf[];
        fileIndex: number;
        excelOptions: FilePreviewExcelOptions_Intf;
        pdfStaticFileUrl: string;
        modalTitlePrefix: string;
        modalTitleOverride: string;
        showDownload: boolean;
        showNav: boolean;
        needSafe: boolean;
        customDownload: (ctx: {
            item: FilePreviewListItem_Intf | null;
            index: number;
            src: FilePreviewSrc_Type;
            fileName?: string;
            downloadName: string;
        }) => void | Promise<void>;
    }>;
    __isFragment?: never;
    __isTeleport?: never;
    __isSuspense?: never;
} & ComponentOptionsBase<Readonly<{
    visible?: boolean;
    src?: FilePreviewSrc_Type;
    fileName?: string;
    fileList?: FilePreviewListItem_Intf[];
    fileIndex?: number;
    height?: string;
    excelOptions?: FilePreviewExcelOptions_Intf;
    pdfStaticFileUrl?: string;
    modalWidth?: string | number;
    modalTitlePrefix?: string;
    modalTitleOverride?: string;
    showDownload?: boolean;
    showNav?: boolean;
    centered?: boolean;
    destroyOnClose?: boolean;
    maskClosable?: boolean;
    keyboard?: boolean;
    needSafe?: boolean;
    customDownload?: (ctx: {
        item: FilePreviewListItem_Intf | null;
        index: number;
        src: FilePreviewSrc_Type;
        fileName?: string;
        downloadName: string;
    }) => void | Promise<void>;
}> & Readonly<{
    onError?: ((err: unknown) => any) | undefined;
    onCancel?: (() => any) | undefined;
    onRendered?: (() => any) | undefined;
    "onUpdate:visible"?: ((open: boolean) => any) | undefined;
    "onUpdate:fileIndex"?: ((index: number) => any) | undefined;
    onFileChange?: ((payload: {
        index: number;
        item: FilePreviewListItem_Intf | null;
    }) => any) | undefined;
    onBeforeDownload?: ((payload: {
        item: FilePreviewListItem_Intf | null;
        index: number;
    }) => any) | undefined;
    onDownloaded?: ((payload: {
        item: FilePreviewListItem_Intf | null;
        index: number;
    }) => any) | undefined;
}>, {
    previewKind: ComputedRef<FilePreviewKind_Type>;
    safeIndex: ComputedRef<number>;
    currentListItem: ComputedRef< FilePreviewListItem_Intf | null>;
    effectiveSrc: ComputedRef<FilePreviewSrc_Type>;
    effectiveFileName: ComputedRef<string>;
    goPrev: () => void;
    goNext: () => void;
    download: () => Promise<void>;
    closeModal: () => void;
}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
    error: (err: unknown) => any;
    cancel: () => any;
    rendered: () => any;
    "update:visible": (open: boolean) => any;
    "update:fileIndex": (index: number) => any;
    fileChange: (payload: {
        index: number;
        item: FilePreviewListItem_Intf | null;
    }) => any;
    beforeDownload: (payload: {
        item: FilePreviewListItem_Intf | null;
        index: number;
    }) => any;
    downloaded: (payload: {
        item: FilePreviewListItem_Intf | null;
        index: number;
    }) => any;
}, string, {
    modalWidth: string | number;
    height: string;
    visible: boolean;
    centered: boolean;
    maskClosable: boolean;
    destroyOnClose: boolean;
    keyboard: boolean;
    src: string | ArrayBuffer | Blob | null;
    fileName: string;
    fileList: FilePreviewListItem_Intf[];
    fileIndex: number;
    excelOptions: FilePreviewExcelOptions_Intf;
    pdfStaticFileUrl: string;
    modalTitlePrefix: string;
    modalTitleOverride: string;
    showDownload: boolean;
    showNav: boolean;
    needSafe: boolean;
    customDownload: (ctx: {
        item: FilePreviewListItem_Intf | null;
        index: number;
        src: FilePreviewSrc_Type;
        fileName?: string;
        downloadName: string;
    }) => void | Promise<void>;
}, {}, string, {}, GlobalComponents, GlobalDirectives, string, ComponentProvideOptions> & VNodeProps & AllowedComponentProps & ComponentCustomProps & (new () => {
    $slots: {
        empty?(_: {}): any;
        empty?(_: {}): any;
        unsupported?(_: {}): any;
        unsupported?(_: {}): any;
        'footer-extra'?(_: {}): any;
    };
})>;
export default HbLibFilePreview;
export type HbLibFilePreviewInstance = InstanceType<typeof HbLibFilePreview>;
//# sourceMappingURL=index.d.ts.map