import { native_ } from './Constants';
import { GPUBindGroup } from './GPUBindGroup';
import { GPUBuffer } from './GPUBuffer';
import { GPURenderBundle } from './GPURenderBundle';
import { GPURenderPipeline } from './GPURenderPipeline';
import { GPUColor } from './Types';
export declare class GPURenderPassEncoder {
    [native_]: any;
    get label(): any;
    beginOcclusionQuery(queryIndex: number): void;
    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;
    end(): void;
    endOcclusionQuery(): void;
    executeBundles(bundles: GPURenderBundle[]): void;
    insertDebugMarker(markerLabel: string): void;
    popDebugGroup(): void;
    pushDebugGroup(groupLabel: string): void;
    setBindGroup(index: number, bindGroup: GPUBindGroup, dynamicOffsetsData?: number[] | Uint32Array, dynamicOffsetsDataStart?: number, dynamicOffsetsDataLength?: number): void;
    setBlendConstant(color: GPUColor): void;
    setIndexBuffer(buffer: GPUBuffer, indexFormat: 'uint16' | 'uint32', offset?: number, size?: number): void;
    setPipeline(renderPipeline: GPURenderPipeline): void;
    setScissorRect(x: number, y: number, width: number, height: number): void;
    setStencilReference(reference: number): void;
    setVertexBuffer(slot: number, buffer: GPUBuffer, offset?: number, size?: number): void;
    setViewport(x: any, y: any, width: any, height: any, minDepth: any, maxDepth: any): void;
    static fromNative(pass: any): GPURenderPassEncoder;
}
