import type { Transform } from "./base";
import { BaseGLGlyph } from "./base";
import { Float32Buffer } from "./buffer";
import type { ReglWrapper } from "./regl_wrap";
import type { GlyphView } from "../glyph";
import type { PatchesView } from "../patches";
import type { Elements } from "regl";
import type { RingLineData } from "../../../core/util/polygon";
type PolygonData = {
    line_rings: RingLineData[][];
    fill_nvertices: number[];
    fill_element_offsets: number[];
    fill_element_counts: number[];
};
export declare class PatchesGL extends BaseGLGlyph {
    readonly glyph: PatchesView;
    _positions?: Float32Buffer;
    _edge_distance?: Float32Buffer;
    _elements: Elements | null;
    _total_element_count: number;
    private _pv_fill_color;
    private _pv_hatch_patterns;
    private _pv_hatch_scales;
    private _pv_hatch_weights;
    private _pv_hatch_rgba;
    private _fill_color;
    private _have_hatch;
    private readonly _hatch_patterns;
    private readonly _hatch_scales;
    private readonly _hatch_weights;
    private readonly _hatch_rgba;
    private _line_points_buf?;
    private _line_show_buf?;
    private _length_so_far_buf?;
    private readonly _linewidth;
    private readonly _line_color;
    private readonly _line_cap;
    private readonly _line_join;
    private _is_dashed;
    private _dash_tex;
    private _dash_tex_info?;
    private _dash_scale?;
    private _dash_offset?;
    private _draw_lw?;
    private _draw_lc?;
    private _draw_lcap?;
    private _draw_ljoin?;
    private _draw_dti?;
    private _draw_ds?;
    private _draw_do?;
    _poly_data?: PolygonData;
    private _pv_dirty;
    private _topology?;
    private _elements_signature;
    constructor(regl_wrapper: ReglWrapper, glyph: PatchesView);
    draw(indices: number[], main_glyph: GlyphView, transform: Transform): void;
    _set_data(data_changed?: boolean): void;
    private _set_visuals;
}
export {};
//# sourceMappingURL=patches.d.ts.map