    let gridOptions = {

        // PROPERTIES - object properties, myRowData and myColDefs are created somewhere in your application
        rowData: myRowData,
        columnDefs: myColDefs,

        // PROPERTIES - simple boolean / string / number properties
        pagination: true,
        rowSelection: 'single',

        // EVENTS - add event callback handlers
        onRowClicked: function(event) { console.log('a row was clicked'); },
        onColumnResized: function(event) { console.log('a column was resized'); },
        onGridReady: function(event) { console.log('the grid is now ready'); },

        // CALLBACKS
        isScrollLag: function() { return false; }
    }

    export class AgGridReact extends React.Component {
        protected eGridDiv: HTMLElement;

        render() {
            return React.createElement("div", {
                style: ...,
                ref: e => {
                    this.eGridDiv = e;
                }
            }, ...);
        }
    }