import { Bounds, vec3 } from "../Math/";
import * as Deformation from "./Deformation";
import * as Face from "./Face";
export declare type ControlLattice = {
    dimensionX: number;
    dimensionY: number;
    dimensionZ: number;
    vertices: vec3[];
    faces: Face.Face[];
    readonly deformation: Deformation.Deformation;
};
export declare const createLatticeFromMinAndMax: (deformation: Deformation.Deformation, min: number, max: number) => ControlLattice;
export declare const createFromDeformation: (deformation: Deformation.Deformation) => ControlLattice;
export declare const getVerticeCount: (lattice: ControlLattice) => number;
export declare const getFaceCount: (lattice: ControlLattice) => number;
export declare const setDeformationTime: (lattice: ControlLattice, pTime: number) => void;
export declare const updateVertices: (lattice: ControlLattice, deformation: Deformation.Deformation) => void;
export declare const translateDeformation: (lattice: ControlLattice, x: number, y: number, z: number) => void;
export declare const getBoundingBox: (lattice: ControlLattice) => Bounds;
export declare const getVertex: (lattice: ControlLattice, index: number) => vec3;
export declare const setVertex: (lattice: ControlLattice, index: number, x: number, y: number, z: number) => void;
export declare const getFace: (lattice: ControlLattice, index: number) => Face.Face;
