import { EventEmitter, Signal, Injector } from '@angular/core'; import { ChangedRotation, PagesInfo, DocumentError, FindMatchesCount, ReadAloudState, AnnotationEditorState, AnnotationEditorMode, SidebarViewChange, DocumentMetadata, DocumentOutline, FormDataMap, PresentationMode } from 'ng2-pdfjs-viewer'; interface PdfViewerSignalSource { onPageChange: EventEmitter; onScaleChange: EventEmitter; onRotationChange: EventEmitter; onPagesInit: EventEmitter; onDocumentError: EventEmitter; onUpdateFindMatchesCount: EventEmitter; onReadAloudStateChange: EventEmitter; onAnnotationEditorStateChange: EventEmitter; annotationEditorChange: EventEmitter; onSidebarViewChanged: EventEmitter; onMetadataLoaded: EventEmitter; onOutlineLoaded: EventEmitter; formDataChange: EventEmitter; onPresentationModeChanged: EventEmitter; zoomChange: EventEmitter; cursorChange: EventEmitter; scrollChange: EventEmitter; spreadChange: EventEmitter; pageModeChange: EventEmitter; } interface PdfViewerSignals { /** Current 1-based page number; undefined until the first page change. */ page: Signal; /** Current zoom scale factor (1 = 100%); undefined until the first scale change. */ scale: Signal; /** Total page count, available once the document's pages initialize. */ totalPages: Signal; /** True once the document's pages have initialized. */ loaded: Signal; /** Last document-load error, or undefined if none. */ error: Signal; /** Page rotation state ({ rotation, page }). */ rotation: Signal; /** Live find/search match counts ({ current, total }). */ findMatches: Signal; /** Read-aloud progress ({ status, page, sentence? }). */ readAloud: Signal; /** Annotation editor undo/empty/selection state. */ annotationEditor: Signal; /** Active annotation editor tool (highlight / ink / freetext / ...). */ annotationEditorMode: Signal; /** Current sidebar panel ({ view }). */ sidebar: Signal; /** Document metadata (title / author / ...). */ metadata: Signal; /** Document outline / bookmarks ({ items?, hasOutline }). */ outline: Signal; /** Current AcroForm field values. */ formData: Signal; /** Presentation (fullscreen) mode ({ active }). */ presentationMode: Signal; /** Zoom mode string (e.g. 'auto', 'page-fit', '125'). */ zoom: Signal; /** Cursor tool ('select' | 'hand'). */ cursor: Signal; /** Scroll mode ('vertical' | 'horizontal' | 'wrapped' | 'page'). */ scroll: Signal; /** Spread mode ('none' | 'odd' | 'even'). */ spread: Signal; /** Page (view) mode. */ pageMode: Signal; } /** * Project the viewer's outputs into read-only signals. See the file header for * usage and the injection-context rules. The returned signals are live: each * updates when its source output next fires. */ declare function pdfViewerSignals(viewer: PdfViewerSignalSource, options?: { injector?: Injector; }): PdfViewerSignals; export { pdfViewerSignals }; export type { PdfViewerSignalSource, PdfViewerSignals };