import React from 'react'; import type { GridComponentSchema } from '../FormBuilder/types/FormSchema'; /** * DataGridRef: Public API exposed via forwardRef * - getGridData(): Returns current grid data array for form submission */ export interface DataGridRef { getGridData: () => Record[]; } /** * DataGridComponentProps: Component props extending GridComponentSchema * - onDataChange: Optional callback when grid data changes * - isPreviewMode: Whether to refresh grid on column changes (for preview/renderer only) */ export interface DataGridComponentProps extends GridComponentSchema { onDataChange?: (data: Record[]) => void; } /** * DataGridComponent: Wrapper around Syncfusion GridComponent * * Responsibilities: * - Manages internal _currentData state (initialized from dataSource) * - Exposes getGridData() via useImperativeHandle for form submission * - Handles actionComplete events (add/edit/delete operations) * - Maps GridColumn.validationRules to ColumnDirective.validationRules * - Renders Syncfusion toolbar with CRUD actions based on allowAdding/Editing/Deleting */ export declare const DataGridComponent: React.ForwardRefExoticComponent>;