import BinaryStream from '../../common/binarystream';
import TokenStream from './tokenstream';
import Extent from './extent';
/**
 * A geoset.
 */
export default class Geoset {
    vertices: Float32Array;
    normals: Float32Array;
    faceTypeGroups: Uint32Array;
    faceGroups: Uint32Array;
    faces: Uint16Array;
    vertexGroups: Uint8Array;
    matrixGroups: Uint32Array;
    matrixIndices: Uint32Array;
    materialId: number;
    selectionGroup: number;
    selectionFlags: number;
    /**
     * @since 900
     */
    lod: number;
    /**
     * @since 900
     */
    lodName: string;
    extent: Extent;
    sequenceExtents: Extent[];
    /**
     * @since 900
     */
    tangents: Float32Array;
    /**
     * An array of bone indices and weights.
     * Every 8 consecutive elements describe the following:
     *    [B0, B1, B2, B3, W0, W1, W2, W3]
     * Where:
     *     Bn is a bone index.
     *     Wn is a weight, which can be normalized with Wn/255.
     *
     * @since 900
     */
    skin: Uint8Array;
    uvSets: Float32Array[];
    readMdx(stream: BinaryStream, version: number): void;
    writeMdx(stream: BinaryStream, version: number): void;
    readMdl(stream: TokenStream): void;
    writeMdl(stream: TokenStream, version: number): void;
    getByteLength(version: number): number;
}
