--- /dev/null
+
+importJava "org.simantics.spreadsheet.ExternalRef" where
+ data ExternalRef
+
+importJava "org.simantics.spreadsheet.solver.SpreadsheetBook" where
+ data SpreadsheetBook
+ @JavaName "getEngine"
+ spreadsheetBookEngine :: SpreadsheetBook -> String -> <Proc> SpreadsheetEngine
+
+importJava "org.simantics.spreadsheet.solver.SpreadsheetEngine" where
+ data SpreadsheetEngine
+ @JavaName "getLines"
+ spreadsheetEngineLines :: SpreadsheetEngine -> Integer -> Integer -> <Proc> [SpreadsheetLine]
+
+importJava "org.simantics.spreadsheet.solver.SpreadsheetLine" where
+ data SpreadsheetLine
+ @JavaName "getRow"
+ spreadsheetLineRow :: SpreadsheetLine -> Integer
+ @JavaName "getCells"
+ spreadsheetLineCells :: SpreadsheetLine -> Integer -> Integer -> <Proc> [SpreadsheetCell]
+
+importJava "org.simantics.spreadsheet.solver.SpreadsheetCell" where
+ data SpreadsheetCell
+ @JavaName "getColumn"
+ spreadsheetCellColumn :: SpreadsheetCell -> Integer
+ @JavaName "getContentVariant"
+ spreadsheetCellContentVariant :: SpreadsheetCell -> SpreadsheetBook -> <Proc> Maybe Variant
+
+importJava "java.util.function.Consumer" where
+ data Consumer
+
+importJava "org.simantics.spreadsheet.Spreadsheets" where
+ cellName :: Integer -> Integer -> String
+
+importJava "org.simantics.spreadsheet.OperationMode" where
+ data OperationMode
+ OPERATION :: OperationMode
+ EDIT_MODE :: OperationMode
+
+importJava "org.simantics.spreadsheet.Transaction" where
+ data Transaction
+ commit :: Transaction -> <Proc> ()
+
+effect SpreadsheetTransaction
+ "spreadsheetTransaction"
+ "org.simantics.spreadsheet.Transaction"
+
+importJava "org.simantics.spreadsheet.CellEditor" where
+ data CellEditor
+ startTransaction :: CellEditor -> OperationMode -> <Proc> Transaction
+ @JavaName "edit"
+ editProperty_ :: CellEditor -> String -> String -> a -> Binding a -> Maybe Consumer -> <SpreadsheetTransaction> ()
+ @JavaName "edit"
+ editContent :: CellEditor -> String -> Variant -> Maybe Consumer -> <SpreadsheetTransaction> ()
+