import { BehaviorSubject, Observable, Subject } from 'rxjs'; import { IClickLabelsEvent, IClickShapesDecalEvent, IClickShapesEvent, IClickTablesEvent, IConfig, ICreateIRTableCellsEvent, ICreateLabelsEvent, ICreateShapesEvent, ICreateTablesEvent, IDeleteLabelsEvent, IDeleteShapesEvent, IDeleteTablesEvent, IDragLabelsEvent, IHighLightTableCellsParams, IHistoryChangeEvent, IIRTable, ILabels, IMergeTablesEvent, IMouseEnterLabelsEvent, IMouseEnterTablesEvent, IMouseLeaveLabelsEvent, IMouseLeaveTablesEvent, IPdfMask, IPdfRotation, IPdfScrollingEvent, IResizeLabelsEvent, ISafeAny, IScrollToIRTableCellsParams, IScrollToLabelsParams, IScrollToPageParams, IScrollToRectParams, IScrollToShapesParams, IScrollToTableCellsParams, IScrollToTablesParams, ISearchLabels, ISearchParams, ISetLabelsParams, ISetShapesParams, IShapeDomsChangeEvent, IShapes, ISplitTablesEvent, ITableMatrix, ITableOperation, ITableOperationClickEvent, ITables, IUpdateIRTablesEvent, IUpdateShapesEvent, IUpdateTablesEvent, IViewPort, IViewTablesChangeEvent, IVisualPageJsonParams } from './typings'; export interface IOptions { dev?: boolean; } interface IEventProxy { method: string; args?: ISafeAny; } export declare class LabelHub { id: string; protected _dev: boolean; protected _api: ISafeAny; readonly config$: BehaviorSubject | null>; /** * iframe 加载完成 */ readonly loadedState$: BehaviorSubject; /** * iframe 加载进度 */ readonly loaded$: Observable; /** * 加载状态 */ readonly readyState$: BehaviorSubject; /** * 加载完成 */ readonly ready$: Observable; /** * 页码 */ readonly pageNumber$: BehaviorSubject; /** * 总页数 */ readonly pageCount$: BehaviorSubject; /** * 视口变化 */ readonly viewportsChange$: Subject; /** * 缩放 */ readonly zoom$: BehaviorSubject; readonly eventsAfterLoaded$: BehaviorSubject; /** * 撤消栈变化 */ readonly eventsAfterReady$: BehaviorSubject; /** * 撤消栈变化 */ readonly historyChange$: Subject; /** * pdf 加载失败 */ readonly pdfLoadFailed$: Subject; /** * pdf 滚动 */ readonly pdfScrolling$: Subject; /** * 创建(框选、划选)文本标注 */ readonly createLabels$: Subject; /** * 删除文本标注 */ readonly deleteLabels$: Subject; /** * 点击文本标注 */ readonly clickLabels$: Subject; /** * @deprecated * 缩放文本标注 */ readonly resizeLabels$: Subject; /** * @deprecated * 拖动文本标注 */ readonly dragLabels$: Subject; /** * 鼠标移入文本标注 */ readonly mouseEnterLabels$: Subject; /** * 鼠标离开文本标注 */ readonly mouseLeaveLabels$: Subject; /** * 视图内表格发生变化(可追踪表格是否在页面渲染) */ readonly viewTablesChange$: Subject; /** * 创建(绘制)表格 */ readonly createTables$: Subject; /** * 删除表格 */ readonly deleteTables$: Subject; /** * 更新表格 */ readonly updateTables$: Subject; /** * 合并表格 */ readonly mergeTables$: Subject; /** * 拆分表格 */ readonly splitTables$: Subject; /** * 表格点击 */ readonly clickTables$: Subject; /** * 鼠标移入表格 */ readonly mouseEnterTables$: Subject; /** * 鼠标移出表格 */ readonly mouseLeaveTables$: Subject; /** * 表格操作点击事件 */ readonly tableOperationClick$: Subject; /** * 更新不规则表格(主要为单元格位置移动) */ readonly updateIRTables$: Subject; /** * 创建不规则表格单元格 */ readonly createIRTableCells$: Subject; /** * 创建图形 */ readonly createShapes$: Subject; /** * 点击图形 */ readonly clickShapes$: Subject; /** * 点击图形标签 */ readonly clickShapesDecal$: Subject; /** * 图形更新(主要为位置移动) */ readonly updateShapes$: Subject; /** * 删除图形 */ readonly deleteShapes$: Subject; /** * 图形 dom 变化,一些场景下对于图形是否渲染完成有苛刻的时间要求,那么这个流可以获取(需要在 shape 中标记 trackDomChange 为 true) */ readonly shapeDomsChange$: Subject; constructor(options?: IOptions); get dev(): boolean; get ready(): boolean; get loaded(): boolean; get api(): any; get pageNumber(): number; get pageCount(): number; get zoom(): number; /** ++++++++++++++++++++++++ COMMON ++++++++++++++++++++++++ */ config(options: Partial): void; setPageNumber(pageNumber: number): void; setZoom(zoom: number): void; setRotation(rotation: IPdfRotation): void; setMask(mask: IPdfMask): void; search(params: ISearchParams): Observable; clearHistory(): void; getOriginViewports(): Observable; getCurrentViewports(): Observable; setApi(api: ISafeAny): void; redo(): void; undo(): void; scrollToRect(params: IScrollToRectParams): void; scrollToPage(params: IScrollToPageParams): void; scrollToSearchResult(params: IScrollToLabelsParams): void; getText(): Observable; setSearchResult(params: ILabels): void; restore(): void; /** ++++++++++++++++++++++++ TEXT ++++++++++++++++++++++++ */ setLabels(params: ISetLabelsParams): void; getLabels(): Observable; scrollToLabels(params: IScrollToLabelsParams): void; visualizePageJson(params: IVisualPageJsonParams): void; /** ++++++++++++++++++++++++ TABLE ++++++++++++++++++++++++ */ setTables(tables: ITables): void; setPartialTables(tables: ITables): void; getTables(): Observable; getDirtyTablesMatrix(): Observable; mergeCells(): void; splitCells(): void; scrollToTables(params: IScrollToTablesParams): void; scrollToTableCells(params: IScrollToTableCellsParams): void; highLightTableCells(params: IHighLightTableCellsParams): void; /** ++++++++++++++++++++++++ 不规则表格 ++++++++++++++++++++++++ */ setIRTables(tables: IIRTable): void; setIRPartialTables(tables: IIRTable): void; getIRTables(): Observable; getIRDirtyTablesMatrix(): Observable; scrollToIRTableCells(params: IScrollToIRTableCellsParams): void; setTableOperations(params: ITableOperation[]): void; setShapes(params: ISetShapesParams): void; getShapes(): Observable; scrollToShapes(params: IScrollToShapesParams): void; /** * 销毁 Hub * @description 不要在外部调用,这可能会产生不可预期的效果 */ destroy(): void; } export {};