import { BFast } from '../bfast';
/**
 * G3D is a simple, efficient, generic binary format for storing and transmitting geometry.
 * The G3D format is designed to be used either as a serialization format or as an in-memory data structure.
 * A G3d with specific attributes according to the VIM format specification.
 * See https://github.com/vimaec/vim#vim-geometry-attributes for the vim specification.
 * See https://github.com/vimaec/g3d for the g3d specification.
 */
/**
 * See https://github.com/vimaec/vim#vim-geometry-attributes
 */
export declare class MeshAttributes {
    static meshSubmeshOffset: string;
    static meshOpaqueSubmeshCount: string;
    static submeshIndexOffsets: string;
    static submeshVertexOffsets: string;
    static submeshMaterials: string;
    static positions: string;
    static indices: string;
}
export declare class G3dChunk {
    readonly meshSubmeshOffset: Int32Array;
    readonly meshOpaqueSubmeshCount: Int32Array;
    readonly submeshIndexOffset: Int32Array;
    readonly submeshVertexOffset: Int32Array;
    readonly submeshMaterial: Int32Array;
    readonly positions: Float32Array;
    readonly indices: Uint32Array;
    static readonly COLOR_SIZE = 4;
    static readonly POSITION_SIZE = 3;
    /**
     * Opaque white
     */
    static readonly DEFAULT_COLOR: Float32Array;
    constructor(meshSubmeshOffset: Int32Array, meshOpaqueSubmeshCount: Int32Array, submeshIndexOffsets: Int32Array, submeshVertexOffsets: Int32Array, submeshMaterials: Int32Array, indices: Int32Array | Uint32Array, positions: Float32Array);
    static createFromBfast(bfast: BFast): Promise<G3dChunk>;
}
