import { Mark } from './Mark';
import { ScatterGLModel } from './ScatterGLModel';
import * as THREE from 'three';
declare type TypedArray = Int8Array | Uint8Array | Int16Array | Uint16Array | Int32Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array;
declare class AttributeParameters {
    constructor(array: TypedArray, item_size?: number, mesh_per_attribute?: number, normalized?: Boolean);
    array: TypedArray;
    item_size: number;
    mesh_per_attribute: number;
    normalized: Boolean;
}
declare class ColorAttributeParameters extends AttributeParameters {
    constructor(array: TypedArray, item_size?: number, mesh_per_attribute?: number, normalized?: Boolean, use_colormap?: Boolean);
    use_colormap: Boolean;
}
declare class SelectionAttributeParameters extends AttributeParameters {
    constructor(array: TypedArray, item_size?: number, mesh_per_attribute?: number, normalized?: Boolean, use_selection?: Boolean);
    use_selection: Boolean;
}
export declare class ScatterGL extends Mark {
    render(): Promise<void>;
    initialize_attribute(name: String, parameters: AttributeParameters): any;
    get_color_attribute_parameters(): ColorAttributeParameters;
    get_opacity_attribute_parameters(): AttributeParameters;
    get_size_attribute_parameters(): AttributeParameters;
    get_rotation_attribute_parameters(): AttributeParameters;
    get_selected_attribute_parameters(): SelectionAttributeParameters;
    update_scene(): void;
    render_gl(): void;
    create_listeners(): void;
    update_attribute(name: String, value: THREE.InstancedBufferAttribute, new_parameters: AttributeParameters): any;
    update_attributes(name: String, value: THREE.InstancedBufferAttribute, value_previous: THREE.InstancedBufferAttribute, new_parameters: AttributeParameters, animate?: Boolean, after_animation?: Function): any[];
    animate_attribute(name: String, after_animation?: Function): void;
    update_x(rerender?: Boolean): void;
    update_y(rerender?: Boolean): void;
    update_markers_number(n: number): void;
    update_color(rerender?: Boolean): void;
    update_opacity(rerender?: Boolean): void;
    update_size(rerender?: Boolean): void;
    update_rotation(rerender?: Boolean): void;
    update_selected(rerender?: Boolean): void;
    update_marker(): void;
    update_stroke(): void;
    update_stroke_width(): void;
    update_color_map(): void;
    update_position(animate?: any): void;
    invalidate_pixel_position(): void;
    ensure_pixel_position(): void;
    update_pixel_position(animate?: any): void;
    selector_changed(point_selector: any, rect_selector: any): void;
    _real_selector_changed(point_selector: any, rect_selector: any): any[];
    set_positional_scales(): void;
    initialize_additional_scales(): void;
    set_ranges(): void;
    transition(f: any, on_done: any, context: any): any;
    draw_legend(elem: any, x_disp: any, y_disp: any, inter_x_disp: any, inter_y_disp: any): number[];
    draw_legend_elements(elements_added: any, rect_dim: any): void;
    update_legend(): void;
    relayout(): void;
    compute_view_padding(): void;
    draw(animate?: any): void;
    clear_style(style_dict: any, indices?: any, elements?: any): void;
    set_default_style(indices: any, elements?: any): void;
    set_style_on_elements(style: any, indices: any, elements?: any): void;
    transitions: any;
    x_scale: any;
    y_scale: any;
    pixel_x: any;
    pixel_y: any;
    trottled_selector_changed: any;
    invalidated_pixel_position: any;
    camera: any;
    scene: any;
    instanced_geometry: any;
    scatter_material: any;
    mesh: any;
    markers_number: number;
    x: THREE.InstancedBufferAttribute;
    x_previous: THREE.InstancedBufferAttribute;
    y: THREE.InstancedBufferAttribute;
    y_previous: THREE.InstancedBufferAttribute;
    color: THREE.InstancedBufferAttribute;
    size: THREE.InstancedBufferAttribute;
    size_previous: THREE.InstancedBufferAttribute;
    opacity: THREE.InstancedBufferAttribute;
    opacity_previous: THREE.InstancedBufferAttribute;
    rotation: THREE.InstancedBufferAttribute;
    rotation_previous: THREE.InstancedBufferAttribute;
    selected: THREE.InstancedBufferAttribute;
    legend_el: any;
    dot: any;
    model: ScatterGLModel;
}
export {};
