import { TransformedPoint, Point3D } from '../types'; import { ShapeInstance } from './shape'; export type CubeFaceName = 'front' | 'back' | 'left' | 'right' | 'top' | 'bottom'; export type CubeFace = TransformedPoint[] & { centroid: Point3D; ccw: boolean; face: CubeFaceName; }; export type Cube = TransformedPoint[] & { faces?: CubeFace[]; centroid?: Point3D; }; interface Cubes3DInstance extends ShapeInstance { data(data: Datum[][]): Cube[]; draw(face: TransformedPoint[]): string; } export declare function cubes3D(): Cubes3DInstance; export {};