import type Context from '../gl/context';
/**
 * A LineAtlas lets us reuse rendered dashed lines
 * by writing many of them to a texture and then fetching their positions
 * using .getDash.
 *
 * @param {number} width
 * @param {number} height
 * @private
 */
declare class LineAtlas {
    width: number;
    height: number;
    nextRow: number;
    bytes: number;
    data: Uint8Array;
    dashEntry: {
        [_: string]: any;
    };
    dirty: boolean;
    texture: WebGLTexture;
    constructor(width: number, height: number);
    /**
     * Get or create a dash line pattern.
     *
     * @param {Array<number>} dasharray
     * @param {boolean} round whether to add circle caps in between dash segments
     * @returns {Object} position of dash texture in { y, height, width }
     * @private
     */
    getDash(dasharray: Array<number>, round: boolean): any;
    getDashRanges(dasharray: Array<number>, lineAtlasWidth: number, stretch: number): any[];
    addRoundDash(ranges: any, stretch: number, n: number): void;
    addRegularDash(ranges: any): void;
    addDash(dasharray: Array<number>, round: boolean): {
        y: number;
        height: number;
        width: number;
    };
    bind(context: Context): void;
}
export default LineAtlas;
//# sourceMappingURL=line_atlas.d.ts.map