import { Regl, DrawConfig, Texture2D, Buffer, DynamicVariableFn, DefaultContext } from "regl";
import { InnerShapeProps } from "..";
export declare type BufferAttribute = {
    buffer: Buffer | DynamicVariableFn<Buffer, DefaultContext, InnerShapeProps>;
    offset?: number;
    stride?: number;
    divisor?: number;
};
export declare type ShaderUniforms = {
    miterMode: number;
    miterLimit: number;
    scale: number[];
    scaleFract: number[];
    translate: number[];
    translateFract: number[];
    dashSize: number;
    dashPattern: Texture2D;
    thickness: number;
    opacity: number;
    pixelRatio: number;
    viewport: number[];
    depth: number;
};
export declare type ShaderDrawConfig<Attributes, Uniforms = ShaderUniforms> = DrawConfig<Uniforms, Attributes, InnerShapeProps>;
export declare function createShaders(regl: Regl): {
    rect: import("regl").DrawCommand<DefaultContext, InnerShapeProps>;
    miter: import("regl").DrawCommand<DefaultContext, InnerShapeProps>;
    fill: import("regl").DrawCommand<DefaultContext, InnerShapeProps>;
};
