import React from 'react'; import type { IComputationFunction, IErrorHandlerProps, IFilterField, IRenderStatus, IRow, IThemeProps, IViewField } from '../../interfaces'; import type { IPivotTablePath } from './interface'; interface PivotTableBaseProps extends IThemeProps, IErrorHandlerProps { /** Complete field catalog used to compile filters, expressions, and aggregations. */ fields: readonly IViewField[]; /** Controlled row shelf. Dimension and measure fields may both be supplied. */ rows: readonly IViewField[]; /** Controlled column shelf. Dimension and measure fields may both be supplied. */ columns: readonly IViewField[]; filters?: readonly IFilterField[]; /** * Set false for raw leaf records. Every row/column dimension tuple must be unique; * add a row ID dimension when records would otherwise share a cell. Collapse and * table summaries are disabled because a raw subtotal is not well-defined. When * true (the default), every visible measure must define aggName. */ defaultAggregated?: boolean; folds?: readonly string[]; limit?: number; timezoneDisplayOffset?: number; /** Aggregated-mode subtotals. Ignored when defaultAggregated is false. */ showTableSummary?: boolean; numberFormat?: string; disableCollapse?: boolean; collapsedPaths?: readonly IPivotTablePath[]; defaultCollapsedPaths?: readonly IPivotTablePath[]; /** Receives the complete next collapse state after a header interaction. */ onCollapsedPathsChange?: (paths: IPivotTablePath[]) => void; onRenderStatusChange?: (status: IRenderStatus) => void; /** Per dispatched computation call; defaults to 60 seconds. Set to 0 to disable. */ computationTimeout?: number; className?: string; style?: React.CSSProperties; emptyContent?: React.ReactNode; } export type ILocalPivotTableProps = PivotTableBaseProps & { data: readonly IRow[]; computation?: never; }; export type IRemotePivotTableProps = PivotTableBaseProps & { data?: never; computation: IComputationFunction; }; export type PivotTableProps = ILocalPivotTableProps | IRemotePivotTableProps; /** * Standalone PivotTable component. * * Pass `data` for the built-in browser computation, or pass `computation` * to execute Graphic Walker workflows in a remote or WASM-backed engine. */ export declare function PivotTable(props: PivotTableProps): React.JSX.Element; export {};