export interface ILabel { uuid?: string; tagId?: string; stroke?: string; fill?: string; index: number; word: string; selected?: boolean; direction?: string; } export interface ILabelStyle { uuid: string; fill?: string; stroke?: string; } export interface ISerarchParams { keyword: string; caseSensitive: boolean; } export interface ISearchResult extends ISerarchParams { result?: { [prop: number]: { pageNumber: number; pre: string; next: string; }[]; }; } export interface IClickMetadata { altKey: boolean; ctrlKey: boolean; metaKey: boolean; shiftKey: boolean; which: number; } interface ILabelsEvent { data: ILabel[]; position: { top: number; left: number; width: number; height: number; }; } export declare type ILabelingEvent = ILabelsEvent; export declare type IDeleteLabelsEvent = ILabelsEvent; export declare type IHoverInLabelsEvent = ILabelsEvent; export interface IClickLabelsEvent extends ILabelsEvent { metadata: IClickMetadata; } export interface IPagination { pageNumber: number; pageCount: number; } export interface IInitOptions { id: string; pdfUrl: string; pdfInfoUrl: string; pdfCharsUrl: string; pdfMode: string; labelMode: LabelTableMode | LabelTextMode; pdfSize?: number; labels?: ILabel[]; tables?: ISafeAny[]; } export interface ISearchLabelByUuidParams { uuid: string; pageNumber?: number; isHighlight?: boolean; level?: number; offsetTop?: number; stroke?: string; fill?: string; } export interface ISearchLabelByIndexParams { index: number; word?: string; isHighlight?: boolean; level?: number; offsetTop?: number; } export interface ISearchTableCellParams { pageNumber: number; tableId: string; x: number; y: number; word?: string; fontSize?: number; scale?: number; fill?: string; } export interface IViewPort { height: number; left: number; scale: number; top: number; width: number; zoom: number; } export interface ITableMatrix { tableId: string; type: 'update' | 'insert' | 'delete'; pageNumber: number; area: number[]; lines: number[][][]; detail: { h: number; v: number; }; } export declare type ISafeAny = any; export declare enum LabelTextMode { /** * 禁止标注 */ non = "non", /** * 划选 */ textSlip = "textSlip", /** * 框选 */ textFrame = "textFrame", /** * 组合 */ textGroup = "textGroup" } export declare enum LabelTableMode { /** * 新增表格 */ tableAddTbl = "tableAddTbl", /** * 调整表格 */ tableResizeTbl = "tableResizeTbl", /** * 删除表格 */ tableDelTbl = "tableDelTbl", /** * 横向拆分表格 */ tableHSplitTbl = "tableHSplitTbl", /** * 纵向拆分表格 */ tableVSplitTbl = "tableVSplitTbl", /** * 增加横线 */ tableAddHLine = "tableAddHLine", /** * 增加竖线 */ tableAddVLine = "tableAddVLine", /** * 增加表格线 (任意长度) */ tableAddLine = "tableAddLine", /** * 调整线条 */ tableResizeCell = "tableResizeCell", /** * 删除线 */ tableDelLine = "tableDelLine", /** * 删除单元格线 */ tableDelCellLine = "tableDelCellLine", /** * 合并单元格 */ tableMergeCell = "tableMergeCell", /** * 拆分单元格 */ tableSplitCell = "tableSplitCell", /** * 选择单元格 */ tableSelectCells = "tableSelectCells", /** * 隐藏框线 */ tableHideTable = "tableHideTable", /** * 显示框线 */ tableShowTable = "tableShowTable", /** * 选择表格 */ selectTables = "tableSelectTables", /** * 合并表格 */ mergeTables = "tableMergeTables", /** * 拆分表格 */ splitTables = "tableSplitTables", /** * 禁止表格操作 */ tableNon = "tableNon" } export declare enum PdfMode { /** * 全部功能 */ full = "full", /** * 只读 */ readonly = "readonly", /** * 只删 */ deleteonly = "deleteonly", /** * 预览(只能查看pdf文档) */ preview = "preview" } export interface ISearchRectParams { x1: number; y1: number; x2: number; y2: number; pageNumber: number; stroke?: string; fill?: string; } export interface ITableSplit { page_number: number; table_id: string; split_lines: number[][][]; } export interface ITableOperationRecord { id: string; type: LabelTableMode; } export interface IModifiedTableLineMatrix { table_id: string; page_number: number; lines: { type: 'add' | 'delete' | 'update'; before: number[][] | null; after: number[][] | null; }[]; } export {};