import { Ref } from 'vue'; import { I18n } from 'vue-i18n'; import { feedbackIntegration as FeedbackIntegration } from '@sentry/vue'; import { File, MiniPage, FileRetrieve, MetadataTemplate } from '../../../types/openapi'; import { RecentFile } from '../../types/recentFiles.types'; import { CLIENT_TYPE } from '../../constants/cdp.const'; import { AnnotationType } from './CFileViewer.types'; import { PitcherFile } from '../../types/file.types'; import { SupportedLocale } from '../../types/i18n.types'; type __VLS_Props = { file: PitcherFile | null; initialPageNumber?: MiniPage['page_index']; initialSearch?: string; isPublishing?: boolean; isSavingPagesMetadata?: boolean; isLoadingInstanceMetadataTemplate?: boolean; i18n: I18n; hideActions?: boolean; hideDownload?: boolean; assetsPrefix?: string; clientType?: (typeof CLIENT_TYPE)[keyof typeof CLIENT_TYPE]; selectContent?: (fileId?: FileRetrieve['id'], pageIndex?: number) => Promise; appLocale?: SupportedLocale; context?: Record; feedbackIntegration?: typeof FeedbackIntegration; recentFiles?: RecentFile[]; track?: (eventName: string, payload: any) => void; allowNoteTaking?: boolean; fetchFileById?: (fileId: File['id']) => Promise; isOverlay?: boolean; videoCurrentTime?: number; instanceMetadataTemplate?: MetadataTemplate | null; isInSharebox?: boolean; isPreviewMode?: boolean; }; declare function __VLS_template(): { attrs: Partial<{}>; slots: { 'file-info'?(_: { file: PitcherFile | null; }): any; }; refs: { pdfViewerEl: HTMLDivElement; bottomBarRef: import('vue').CreateComponentPublicInstanceWithMixins; isSearchSelected: boolean; isThumbnailsSelected: boolean; hideActions: boolean; isFullscreen: boolean; clientType?: (typeof CLIENT_TYPE)[keyof typeof CLIENT_TYPE]; isOverlay?: boolean; isAnnotationVisibilityEnabled: boolean; hasHotspotsOnCurrentPage: boolean; isHotspotToggleEnabled: boolean; rootElement?: HTMLElement | null; }> & Readonly<{ onClick?: (() => any) | undefined; onExitFullscreen?: (() => any) | undefined; onZoomOut?: (() => any) | undefined; onZoomIn?: (() => any) | undefined; onSetPage?: ((p: number) => any) | undefined; onFitModeToggle?: (() => any) | undefined; onSearchFile?: (() => any) | undefined; onToggleThumbnails?: (() => any) | undefined; onToggleTextAnnotation?: (() => any) | undefined; onToggleLinkAnnotation?: (() => any) | undefined; onToggleAnnotations?: (() => any) | undefined; onSelectAnnotation?: ((a: "link" | "drawing" | "freeformHighlight" | "textHighlight" | "eraser") => any) | undefined; onToggleAnnotationVisibility?: (() => any) | undefined; }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, { click: () => any; exitFullscreen: () => any; zoomOut: () => any; zoomIn: () => any; setPage: (p: number) => any; fitModeToggle: () => any; searchFile: () => any; toggleThumbnails: () => any; toggleTextAnnotation: () => any; toggleLinkAnnotation: () => any; toggleAnnotations: () => any; selectAnnotation: (a: "link" | "drawing" | "freeformHighlight" | "textHighlight" | "eraser") => any; toggleAnnotationVisibility: () => any; }, import('vue').PublicProps, { page: number; isOverlay: boolean; }, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, { P: {}; B: {}; D: {}; C: {}; M: {}; Defaults: {}; }, Readonly<{ totalPages: number; page?: number; fileViewerSettings: import('../../types/fileViewerSettings.types').FileViewerSettings; file: PitcherFile | null; isTextAnnotationSelected: boolean; isLinkAnnotationSelected: boolean; isAnnotationsSelected: boolean; selectedAnnotationType: Exclude; isSearchSelected: boolean; isThumbnailsSelected: boolean; hideActions: boolean; isFullscreen: boolean; clientType?: (typeof CLIENT_TYPE)[keyof typeof CLIENT_TYPE]; isOverlay?: boolean; isAnnotationVisibilityEnabled: boolean; hasHotspotsOnCurrentPage: boolean; isHotspotToggleEnabled: boolean; rootElement?: HTMLElement | null; }> & Readonly<{ onClick?: (() => any) | undefined; onExitFullscreen?: (() => any) | undefined; onZoomOut?: (() => any) | undefined; onZoomIn?: (() => any) | undefined; onSetPage?: ((p: number) => any) | undefined; onFitModeToggle?: (() => any) | undefined; onSearchFile?: (() => any) | undefined; onToggleThumbnails?: (() => any) | undefined; onToggleTextAnnotation?: (() => any) | undefined; onToggleLinkAnnotation?: (() => any) | undefined; onToggleAnnotations?: (() => any) | undefined; onSelectAnnotation?: ((a: "link" | "drawing" | "freeformHighlight" | "textHighlight" | "eraser") => any) | undefined; onToggleAnnotationVisibility?: (() => any) | undefined; }>, {}, {}, {}, {}, { page: number; isOverlay: boolean; }> | null; videoPlayerEl: import('vue').CreateComponentPublicInstanceWithMixins & Readonly<{ onPause?: ((currentTime: number) => any) | undefined; onSeeked?: ((currentTime: number) => any) | undefined; }>, { videoPlayer: Ref<{ dispose: () => void; requestFullscreen: () => void; on: (event: string, callback: (this: import('../CVideo/CVideo.types').VideoPlayerType, ...args: any[]) => void) => void; currentTime: (time?: number) => number; el_: HTMLElement; } | null, import('../CVideo/CVideo.types').VideoPlayerType | { dispose: () => void; requestFullscreen: () => void; on: (event: string, callback: (this: import('../CVideo/CVideo.types').VideoPlayerType, ...args: any[]) => void) => void; currentTime: (time?: number) => number; el_: HTMLElement; } | null>; }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, { pause: (currentTime: number) => any; seeked: (currentTime: number) => any; }, import('vue').PublicProps, {}, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, { videoPlayerRef: HTMLVideoElement; }, HTMLDivElement, import('vue').ComponentProvideOptions, { P: {}; B: {}; D: {}; C: {}; M: {}; Defaults: {}; }, Readonly<{ currentTime?: number; ignoreAspectRatio?: boolean; preventPointerEvents?: boolean; options?: { sources?: { src: string; type?: string; }[]; fluid?: boolean; preload?: string; controls?: boolean; responsive?: boolean; maxHeight?: number; liveui?: boolean; enableSmoothSeeking?: boolean; autoplay?: boolean; poster?: string; posterBackgroundSize?: import('../../types/background').BackgroundSize; }; }> & Readonly<{ onPause?: ((currentTime: number) => any) | undefined; onSeeked?: ((currentTime: number) => any) | undefined; }>, { videoPlayer: Ref<{ dispose: () => void; requestFullscreen: () => void; on: (event: string, callback: (this: import('../CVideo/CVideo.types').VideoPlayerType, ...args: any[]) => void) => void; currentTime: (time?: number) => number; el_: HTMLElement; } | null, import('../CVideo/CVideo.types').VideoPlayerType | { dispose: () => void; requestFullscreen: () => void; on: (event: string, callback: (this: import('../CVideo/CVideo.types').VideoPlayerType, ...args: any[]) => void) => void; currentTime: (time?: number) => number; el_: HTMLElement; } | null>; }, {}, {}, {}, {}> | null; }; rootEl: any; }; type __VLS_TemplateResult = ReturnType; declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, { file: PitcherFile | null; isOverlay: boolean; isPublishing: boolean; hideActions: boolean; allowNoteTaking: boolean; clientType: (typeof CLIENT_TYPE)[keyof typeof CLIENT_TYPE]; hideDownload: boolean; assetsPrefix: string; initialPageNumber: number; initialSearch: string; }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, { pdfViewerEl: HTMLDivElement; bottomBarRef: import('vue').CreateComponentPublicInstanceWithMixins; isSearchSelected: boolean; isThumbnailsSelected: boolean; hideActions: boolean; isFullscreen: boolean; clientType?: (typeof CLIENT_TYPE)[keyof typeof CLIENT_TYPE]; isOverlay?: boolean; isAnnotationVisibilityEnabled: boolean; hasHotspotsOnCurrentPage: boolean; isHotspotToggleEnabled: boolean; rootElement?: HTMLElement | null; }> & Readonly<{ onClick?: (() => any) | undefined; onExitFullscreen?: (() => any) | undefined; onZoomOut?: (() => any) | undefined; onZoomIn?: (() => any) | undefined; onSetPage?: ((p: number) => any) | undefined; onFitModeToggle?: (() => any) | undefined; onSearchFile?: (() => any) | undefined; onToggleThumbnails?: (() => any) | undefined; onToggleTextAnnotation?: (() => any) | undefined; onToggleLinkAnnotation?: (() => any) | undefined; onToggleAnnotations?: (() => any) | undefined; onSelectAnnotation?: ((a: "link" | "drawing" | "freeformHighlight" | "textHighlight" | "eraser") => any) | undefined; onToggleAnnotationVisibility?: (() => any) | undefined; }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, { click: () => any; exitFullscreen: () => any; zoomOut: () => any; zoomIn: () => any; setPage: (p: number) => any; fitModeToggle: () => any; searchFile: () => any; toggleThumbnails: () => any; toggleTextAnnotation: () => any; toggleLinkAnnotation: () => any; toggleAnnotations: () => any; selectAnnotation: (a: "link" | "drawing" | "freeformHighlight" | "textHighlight" | "eraser") => any; toggleAnnotationVisibility: () => any; }, import('vue').PublicProps, { page: number; isOverlay: boolean; }, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, { P: {}; B: {}; D: {}; C: {}; M: {}; Defaults: {}; }, Readonly<{ totalPages: number; page?: number; fileViewerSettings: import('../../types/fileViewerSettings.types').FileViewerSettings; file: PitcherFile | null; isTextAnnotationSelected: boolean; isLinkAnnotationSelected: boolean; isAnnotationsSelected: boolean; selectedAnnotationType: Exclude; isSearchSelected: boolean; isThumbnailsSelected: boolean; hideActions: boolean; isFullscreen: boolean; clientType?: (typeof CLIENT_TYPE)[keyof typeof CLIENT_TYPE]; isOverlay?: boolean; isAnnotationVisibilityEnabled: boolean; hasHotspotsOnCurrentPage: boolean; isHotspotToggleEnabled: boolean; rootElement?: HTMLElement | null; }> & Readonly<{ onClick?: (() => any) | undefined; onExitFullscreen?: (() => any) | undefined; onZoomOut?: (() => any) | undefined; onZoomIn?: (() => any) | undefined; onSetPage?: ((p: number) => any) | undefined; onFitModeToggle?: (() => any) | undefined; onSearchFile?: (() => any) | undefined; onToggleThumbnails?: (() => any) | undefined; onToggleTextAnnotation?: (() => any) | undefined; onToggleLinkAnnotation?: (() => any) | undefined; onToggleAnnotations?: (() => any) | undefined; onSelectAnnotation?: ((a: "link" | "drawing" | "freeformHighlight" | "textHighlight" | "eraser") => any) | undefined; onToggleAnnotationVisibility?: (() => any) | undefined; }>, {}, {}, {}, {}, { page: number; isOverlay: boolean; }> | null; videoPlayerEl: import('vue').CreateComponentPublicInstanceWithMixins & Readonly<{ onPause?: ((currentTime: number) => any) | undefined; onSeeked?: ((currentTime: number) => any) | undefined; }>, { videoPlayer: Ref<{ dispose: () => void; requestFullscreen: () => void; on: (event: string, callback: (this: import('../CVideo/CVideo.types').VideoPlayerType, ...args: any[]) => void) => void; currentTime: (time?: number) => number; el_: HTMLElement; } | null, import('../CVideo/CVideo.types').VideoPlayerType | { dispose: () => void; requestFullscreen: () => void; on: (event: string, callback: (this: import('../CVideo/CVideo.types').VideoPlayerType, ...args: any[]) => void) => void; currentTime: (time?: number) => number; el_: HTMLElement; } | null>; }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, { pause: (currentTime: number) => any; seeked: (currentTime: number) => any; }, import('vue').PublicProps, {}, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, { videoPlayerRef: HTMLVideoElement; }, HTMLDivElement, import('vue').ComponentProvideOptions, { P: {}; B: {}; D: {}; C: {}; M: {}; Defaults: {}; }, Readonly<{ currentTime?: number; ignoreAspectRatio?: boolean; preventPointerEvents?: boolean; options?: { sources?: { src: string; type?: string; }[]; fluid?: boolean; preload?: string; controls?: boolean; responsive?: boolean; maxHeight?: number; liveui?: boolean; enableSmoothSeeking?: boolean; autoplay?: boolean; poster?: string; posterBackgroundSize?: import('../../types/background').BackgroundSize; }; }> & Readonly<{ onPause?: ((currentTime: number) => any) | undefined; onSeeked?: ((currentTime: number) => any) | undefined; }>, { videoPlayer: Ref<{ dispose: () => void; requestFullscreen: () => void; on: (event: string, callback: (this: import('../CVideo/CVideo.types').VideoPlayerType, ...args: any[]) => void) => void; currentTime: (time?: number) => number; el_: HTMLElement; } | null, import('../CVideo/CVideo.types').VideoPlayerType | { dispose: () => void; requestFullscreen: () => void; on: (event: string, callback: (this: import('../CVideo/CVideo.types').VideoPlayerType, ...args: any[]) => void) => void; currentTime: (time?: number) => number; el_: HTMLElement; } | null>; }, {}, {}, {}, {}> | null; }, any>; declare const _default: __VLS_WithTemplateSlots; export default _default; type __VLS_WithTemplateSlots = T & { new (): { $slots: S; }; };