See the dev directory for a minimal example.
// convert data into expected datadeclarefunctionc2m<TextendsAnyObject&{groups:any[]},KextendskeyofT>(data:T,key:K,modifier?:(data:T)=>T):T&{weight:number}// preset theme layout (unstable)declarefunctionpresetDecorator(app:TreemapLayout):voiddeclarefunctiongetNodeDepth(node:NativeModule):numberdeclarefunctionvisit<TextendsAnyObject>(data:T[],fn:(data:T)=>boolean|void):T|nulldeclarefunctionfindRelativeNode(p:{x:number,y:number},layoutNodes:LayoutModule[]):LayoutModule|nulldeclarefunctionfindRelativeNodeById(id:string,layoutNodes:LayoutModule[]):LayoutModule|nullinterfaceApp{init:(el:HTMLElement)=>voiddispose:()=>voidsetOptions:(options:TreemapOptions)=>voidresize:()=>voiduse:(using:Using,register:(app:TreemapLayout)=>void)=>voidzoom:(id:string)=>void}declarefunctioncreateTreemap():App