import { native_ } from './Constants';
import { GPUBindGroup } from './GPUBindGroup';
import { GPUBuffer } from './GPUBuffer';
import { GPURenderBundle } from './GPURenderBundle';
import { GPURenderPipeline } from './GPURenderPipeline';
export declare class GPURenderBundleEncoder {
    [native_]: any;
    get label(): any;
    draw(vertexCount: number, instanceCount?: number, firstVertex?: number, firstInstance?: number): void;
    drawIndexed(indexCount: number, instanceCount?: number, firstVertex?: number, firstInstance?: number): void;
    drawIndexedIndirect(indirectBuffer: GPUBuffer, indirectOffset: number): void;
    drawIndirect(indirectBuffer: GPUBuffer, indirectOffset: number): void;
    finish(): GPURenderBundle;
    insertDebugMarker(markerLabel: string): void;
    popDebugGroup(): void;
    pushDebugGroup(groupLabel: string): void;
    setBindGroup(index: number, bindGroup: GPUBindGroup, dynamicOffsetsData?: number[] | Uint32Array, dynamicOffsetsDataStart?: number, dynamicOffsetsDataLength?: number): void;
    setIndexBuffer(buffer: GPUBuffer, indexFormat: 'uint16' | 'uint32', offset?: number, size?: number): void;
    setPipeline(renderPipeline: GPURenderPipeline): void;
    setVertexBuffer(slot: number, buffer: GPUBuffer, offset?: number, size?: number): void;
    static fromNative(encoder: any): GPURenderBundleEncoder;
}
