import { type ReactNode } from "react"; import type * as React from "react"; import { type CreateWorkbookPreviewerFromFileOptions, type WorkbookLoadProgress } from "./browserLoader.js"; import { type LoadReport, XlsxLoadError } from "./errors.js"; import type { PivotFilterEvent, PreviewerState, WorkbookPreviewer } from "./previewer.js"; import type { TableFilterEvent } from "./interact.js"; export interface UseWorkbookPreviewerOptions extends CreateWorkbookPreviewerFromFileOptions { onReady?: (previewer: WorkbookPreviewer) => void; onError?: (error: XlsxLoadError) => void; onSelectionChange?: (state: PreviewerState) => void; onSheetChange?: (state: PreviewerState) => void; onZoomChange?: (state: PreviewerState) => void; onPivotFilter?: (event: PivotFilterEvent) => void; onTableFilter?: (event: TableFilterEvent) => void; } export interface UseWorkbookPreviewerResult { containerRef: React.RefObject; previewer: WorkbookPreviewer | null; progress: WorkbookLoadProgress | null; error: XlsxLoadError | null; report: LoadReport | null; loading: boolean; } export interface ExcelPreviewerProps extends Omit, "children" | "onError" | "onProgress">, UseWorkbookPreviewerOptions { file: Blob | null | undefined; fileName?: string; previewerRef?: React.Ref; renderError?: (info: { error: XlsxLoadError; fileName?: string; }) => ReactNode; hideErrorUI?: boolean; showLeniencyChip?: boolean; } export declare function useWorkbookPreviewer(file: Blob | null | undefined, options?: UseWorkbookPreviewerOptions): UseWorkbookPreviewerResult; export declare function ExcelPreviewer({ file, fileName, previewerRef, className, style, wasmBinaryUrl, workerUrl, sheetIndex, sheetName, format, csvOptions, parquetOptions, initialSheet, initialZoom, editable, onDownload, onProgress, onReady, onError, onSelectionChange, onSheetChange, onZoomChange, onPivotFilter, pivotController, onTableFilter, tableController, renderError, hideErrorUI, showLeniencyChip, ...divProps }: ExcelPreviewerProps): React.ReactElement; export { distinctValuesFor } from "./pivotSource.js"; export type { PivotFilterEvent } from "./previewer.js"; export type { PivotFilterController, PivotFilterContext } from "./pivotFilterPopover.js"; export type { TableFilterController, TableFilterContext } from "./tableFilterPopover.js";