import * as CANNON from 'cannon'; import * as THREE from 'three'; declare class MeshWithBody extends THREE.Mesh { body: CANNON.Body; } declare interface DiceValuePair { dice: DiceObject; value: number; } declare class DiceManagerClass { world: CANNON.World; diceBodyMaterial: CANNON.Material; floorBodyMaterial: CANNON.Material; barrierBodyMaterial: CANNON.Material; setWorld(world: CANNON.World): void; prepareValues(diceValues: DiceValuePair[]): void; } declare interface DiceOptions { size?: number; fontColor?: string | number; backColor?: string | number; } declare class DiceObject { constructor(options: DiceOptions); getObject(): MeshWithBody; updateMeshFromBody(): void; updateBodyFromMesh(): void; isFinished(): boolean; getUpsideValue(): number; } export declare class DiceD4 extends DiceObject { } export declare class DiceD6 extends DiceObject { } export declare class DiceD8 extends DiceObject { } export declare class DiceD10 extends DiceObject { } export declare class DiceD12 extends DiceObject { } export declare class DiceD20 extends DiceObject { } export declare const DiceManager: DiceManagerClass;