import type { WorkBook } from 'styled-exceljs'; import { type SpreadsheetTextSource } from './textEncoding.js'; import type { SheetCellImage, SheetChartDefinition, SheetDefinition } from '../type.js'; interface DrawingMarkerLike { row?: number; col?: number; } interface DrawingImageLike { anchor?: { from?: DrawingMarkerLike; to?: DrawingMarkerLike; }; } interface WorksheetWithDrawings { '!drawings'?: { images?: DrawingImageLike[]; }; } export interface SpreadsheetParserContext { workbook: WorkBook | null; sheets: SheetDefinition[]; charts: Record; cellImages: Record; } export interface SpreadsheetWorkerRequest { type: string; payload?: Record; } export interface SpreadsheetWorkerResponse { type: string; payload?: Record; } export interface SpreadsheetSearchOptions { caseSensitive?: boolean; wholeWord?: boolean; maxMatches?: number; } export interface SpreadsheetSearchMatch { sheet: number; sheetName: string; row: number; col: number; text: string; matchText: string; } export declare const createSpreadsheetParserContext: () => SpreadsheetParserContext; interface WorksheetRangeLike extends WorksheetWithDrawings { '!ref'?: string; '!data'?: Array | undefined>; '!merges'?: Array<{ e?: DrawingMarkerLike; }>; [key: string]: unknown; } export interface WorksheetDisplayBounds { rowCount: number; colCount: number; declaredRowCount: number; declaredColCount: number; observedRowCount: number; observedColCount: number; trimmed: boolean; } export declare const getWorksheetDisplayBounds: (worksheet: WorksheetRangeLike | undefined, charts: SheetChartDefinition[] | undefined) => WorksheetDisplayBounds; export declare const parseSpreadsheetWorkbook: (context: SpreadsheetParserContext, data: ArrayBuffer, source?: SpreadsheetTextSource) => Promise; export declare const parseSpreadsheetSheet: (context: SpreadsheetParserContext, payload?: Record) => SpreadsheetWorkerResponse[]; export declare const searchSpreadsheetWorkbook: (context: SpreadsheetParserContext, query: string, options?: SpreadsheetSearchOptions) => SpreadsheetSearchMatch[]; export declare const handleSpreadsheetWorkerRequest: (context: SpreadsheetParserContext, request: SpreadsheetWorkerRequest) => SpreadsheetWorkerResponse[] | Promise; export {};