/// <reference types="dist" />
import { Camera } from '../renderer/camera';
export interface RenderObjectParameter {
    x?: number;
    y?: number;
    z?: number;
    rotX?: number;
    rotY?: number;
    rotZ?: number;
}
export declare class RenderObject {
    x: number;
    y: number;
    z: number;
    rotX: number;
    rotY: number;
    rotZ: number;
    private matrixSize;
    private offset;
    private uniformBufferSize;
    private modelViewProjectionMatrix;
    private renderPipeline;
    private uniformBuffer;
    private uniformBindGroup;
    private verticesBuffer;
    private vertexCount;
    constructor(device: GPUDevice, verticesArray: Float32Array, vertexCount: number, parameter?: RenderObjectParameter);
    static cube(parameter?: RenderObjectParameter): RenderObject;
    static pyramid(parameter?: RenderObjectParameter): RenderObject;
    draw(passEncoder: GPURenderPassEncoder, device: GPUDevice, camera: Camera): void;
    private updateTransformationMatrix;
    private setTransformation;
}
