import type { DecompressionLimits } from '../zip/decompression-guard'; import type { CellValue } from '../cell/cell'; import type { XlsxSource } from '../io/source'; import { type Stylesheet } from '../styles/stylesheet'; export interface IterRowsOptions { minRow?: number; maxRow?: number; minCol?: number; maxCol?: number; } export interface ReadOnlyCell { readonly row: number; readonly col: number; readonly value: CellValue; readonly styleId: number; } export interface ReadOnlyWorksheet { title: string; iterRows(opts?: IterRowsOptions): AsyncIterableIterator; iterValues(opts?: IterRowsOptions): AsyncIterableIterator; } export interface ReadOnlyWorkbook { sheetNames: string[]; styles: Stylesheet; openWorksheet(name: string): ReadOnlyWorksheet; close(): Promise; } /** Options for {@link loadWorkbookStream}. */ export interface LoadWorkbookStreamOptions { /** * Decompression-bomb safeguards applied while inflating zip entries. * Defaults to limits that fit any legitimate xlsx; pass `false` to disable * (only safe for fully trusted sources). */ decompressionLimits?: DecompressionLimits | false; } /** Open an xlsx for read-only streaming access. */ export declare function loadWorkbookStream(source: XlsxSource, opts?: LoadWorkbookStreamOptions): Promise;