import { type EditableArtifactSession, type EditableSpreadsheetSheetMetadata } from "@opengeni/sdk/editable-artifacts"; import { type ReactNode } from "react"; import { type SpreadsheetDownload } from "./spreadsheet-download.js"; import { type SpreadsheetCommit, type SpreadsheetDimensionCommit, type SpreadsheetSelection, type SpreadsheetViewport } from "./spreadsheet-grid.js"; export type EditableSpreadsheetGridProps = { session: EditableArtifactSession; sheet: EditableSpreadsheetSheetMetadata; metadataRevision: bigint; readOnly?: boolean | undefined; rowCount?: number | undefined; columnCount?: number | undefined; overscanRows?: number | undefined; overscanColumns?: number | undefined; onSelectionChange?: ((selection: SpreadsheetSelection) => void) | undefined; onCommit?: ((commit: SpreadsheetCommit) => void) | undefined; onResize?: ((change: SpreadsheetDimensionCommit) => void) | undefined; onCommandError?: ((error: Error) => void) | undefined; onViewportChange?: ((viewport: SpreadsheetViewport) => void) | undefined; className?: string | undefined; }; export type EditableSpreadsheetArtifactSurfaceProps = Omit & { title?: string | undefined; showHeader?: boolean | undefined; subtitle?: ReactNode | undefined; actions?: ReactNode | undefined; /** Authenticated XLSX export of the current saved native head. */ download?: SpreadsheetDownload | undefined; initialSheetId?: string | undefined; allowAddSheet?: boolean | undefined; }; /** * Durable spreadsheet editor over one SDK session. Canonical state remains in * the dedicated Worker; React receives one bounded immutable viewport only. */ export declare function EditableSpreadsheetGrid(props: EditableSpreadsheetGridProps): import("react").JSX.Element; /** Artifact chrome, sheet navigation, and one Worker-backed spreadsheet grid. */ export declare function EditableSpreadsheetArtifactSurface(props: EditableSpreadsheetArtifactSurfaceProps): import("react").JSX.Element;