import { IModel, IModelDrawOptions, IModelInitializationOptions, IUniform } from '@antv/g-webgpu-core';
import regl from 'regl';
/**
 * adaptor for regl.DrawCommand
 */
export default class ReglModel implements IModel {
    private reGl;
    private drawCommand;
    private uniforms;
    constructor(reGl: regl.Regl, options: IModelInitializationOptions);
    addUniforms(uniforms: {
        [key: string]: IUniform;
    }): void;
    draw(options: IModelDrawOptions): void;
    destroy(): void;
    /**
     * @see https://github.com/regl-project/regl/blob/gh-pages/API.md#depth-buffer
     */
    private initDepthDrawParams;
    /**
     * @see https://github.com/regl-project/regl/blob/gh-pages/API.md#blending
     */
    private initBlendDrawParams;
    /**
     * @see https://github.com/regl-project/regl/blob/gh-pages/API.md#stencil
     */
    private initStencilDrawParams;
    /**
     * @see https://github.com/regl-project/regl/blob/gh-pages/API.md#culling
     */
    private initCullDrawParams;
    private generateDefines;
}
