import type { OfficeKernelSpreadsheetInputSheet } from './office-kernel-spreadsheet-protocol'; export interface SpreadsheetStructuredRowSelection { all: boolean; headers: boolean; data: boolean; totals: boolean; current: boolean; } export interface SpreadsheetStructuredReference { tableName?: string; firstColumn?: string; lastColumn?: string; rows: SpreadsheetStructuredRowSelection; } export interface SpreadsheetStructuredReferenceArea { sheetId: string; sheetName: string; startRow: number; endRow: number; startColumn: number; endColumn: number; } export type SpreadsheetStructuredReferenceErrorKind = 'invalid' | 'unsupported' | 'missing-table' | 'missing-column'; export declare class SpreadsheetStructuredReferenceError extends Error { readonly kind: SpreadsheetStructuredReferenceErrorKind; constructor(kind: SpreadsheetStructuredReferenceErrorKind, message: string); } /** Parse one bounded table-reference token using the OOXML column grammar. */ export declare function parseSpreadsheetStructuredReference(reference: string): SpreadsheetStructuredReference; /** * Catalog the semantic tables in a workbook and resolve references to bounded * zero-based rectangular areas. The catalog deliberately contains no cells; * values remain in the calculation evaluator so dependencies stay observable. */ export declare class SpreadsheetStructuredReferenceCatalog { readonly sheets: readonly OfficeKernelSpreadsheetInputSheet[]; private readonly definitions; private readonly byName; private readonly bySheet; constructor(sheets: readonly OfficeKernelSpreadsheetInputSheet[]); resolve(qualifier: string | undefined, reference: string, currentSheet: OfficeKernelSpreadsheetInputSheet, currentColumn: number, currentRow: number): SpreadsheetStructuredReferenceArea[]; private resolveTable; private resolveColumns; private resolveRows; private dataRows; } /** Expand structured tokens to A1 ranges before invoking the scalar parser. */ export declare function expandSpreadsheetStructuredReferences(formula: string, catalog: SpreadsheetStructuredReferenceCatalog, currentSheet: OfficeKernelSpreadsheetInputSheet, currentRow: number, currentColumn: number): string;