import { PlotData } from "./plot-data";
import { Attribute, Axis, RubberBand } from "./utils";
import { EdgeStyle, SurfaceStyle } from "./style";
/**
 * A class that inherits from PlotData and is specific for drawing PrimitiveGroups.
 */
export declare class PlotContour extends PlotData {
    data: any;
    width: number;
    height: number;
    buttons_ON: boolean;
    X: number;
    Y: number;
    canvas_id: string;
    is_in_multiplot: boolean;
    plot_datas: any;
    selected: boolean;
    constructor(data: any, width: number, height: number, buttons_ON: boolean, X: number, Y: number, canvas_id: string, is_in_multiplot?: boolean);
    draw(): void;
    draw_from_context(hidden: any): void;
}
/** A class that inherits from PlotData and is specific for drawing ScatterPlots and Graph2Ds
 */
export declare class PlotScatter extends PlotData {
    data: any;
    width: number;
    height: number;
    buttons_ON: boolean;
    X: number;
    Y: number;
    canvas_id: string;
    is_in_multiplot: boolean;
    constructor(data: any, width: number, height: number, buttons_ON: boolean, X: number, Y: number, canvas_id: string, is_in_multiplot?: boolean);
    draw(): void;
    draw_from_context(hidden: any): void;
}
/** A class that inherits from PlotData and is specific for drawing ParallelPlots  */
export declare class ParallelPlot extends PlotData {
    data: any;
    width: any;
    height: any;
    buttons_ON: any;
    canvas_id: string;
    is_in_multiplot: boolean;
    constructor(data: any, width: any, height: any, buttons_ON: any, X: any, Y: any, canvas_id: string, is_in_multiplot?: boolean);
    refresh_pp_buttons_coords(): void;
    initialize_display_list_to_elements_dict(): void;
    initialize_all_attributes(): void;
    initialize_attributes_list(): void;
    draw_initial(): void;
    draw(): void;
    draw_from_context(hidden: any): void;
    initialize_data_lists(): void;
    initialize_hexs(): void;
    getObjectsInRubberBands(rubberBands: RubberBand[]): number[];
}
/** A class that inherits from PlotData and is specific for drawing PrimitiveGroupContainers.  */
export declare class PrimitiveGroupContainer extends PlotData {
    data: any;
    width: number;
    height: number;
    buttons_ON: boolean;
    X: number;
    Y: number;
    canvas_id: string;
    is_in_multiplot: boolean;
    primitive_groups: PlotContour[];
    layout_mode: string;
    layout_axis: Axis;
    layout_attributes: Attribute[];
    selected_primitive: number;
    custom_sizes: boolean;
    constructor(data: any, width: number, height: number, buttons_ON: boolean, X: number, Y: number, canvas_id: string, is_in_multiplot?: boolean);
    define_canvas(canvas_id: any): void;
    initialize_primitive_groups_contexts(): void;
    reinitialize_all(): void;
    refresh_buttons_coords(): void;
    draw_buttons(): void;
    draw_manipulation_button(): void;
    draw_reset_button(): void;
    click_on_button_check(mouse1X: any, mouse1Y: any): void;
    click_on_manipulation_action(): void;
    reset_action(): void;
    reset_sizes(): void;
    refresh_MinMax(): void;
    refresh_spacing(): void;
    translate_inside_canvas(): void;
    reset_scales(): void;
    draw_initial(): void;
    draw(): void;
    draw_from_context(hidden: any): void;
    reset_selection(): void;
    select_primitive_groups(): void;
    redraw_object(): void;
    store_datas(): void;
    draw_coordinate_lines(): void;
    /**
     * Calls the layout function of a PrimitiveGroupContainer whose layout_mode and axis are already set.
     */
    refresh_layout(): void;
    add_primitive_group(serialized: any, point_index: any): void;
    remove_primitive_group(point_index: any): void;
    setAllInteractionsToOff(): void;
    manage_mouse_interactions(selected_primitive: number): void;
    get_selected_primitive(mouse2X: any, mouse2Y: any): number;
    draw_layout_axis(): void;
    regular_layout(): void;
    getSortedList(): any[];
    initialize_list(attribute: Attribute): any[];
    is_element_dict_empty(): boolean;
    multiplot_one_axis_layout(attribute: Attribute): void;
    refresh_one_axis_layout_list(attribute: Attribute): void;
    one_axis_layout(): void;
    refresh_two_axis_layout_list(attributes: Attribute[]): void;
    multiplot_two_axis_layout(attributes: Attribute[]): void;
    two_axis_layout(): void;
    translatePrimitive(index: any, tx: any, ty: any): void;
    translateAllPrimitives(tx: any, ty: any): void;
    resetAllObjects(): void;
    zoom_elements(mouse3X: number, mouse3Y: number, event: number): void;
    regular_zoom_elements(mouse3X: any, mouse3Y: any, event: any): void;
    x_zoom_elements(event: any): void;
    y_zoom_elements(event: any): void;
    manage_scroll(mouse3X: any, mouse3Y: any, event: any): void;
    delete_unwanted_vertex(vertex_infos: any): any;
    initialize_clickOnVertex(mouse1X: any, mouse1Y: any): [boolean, Object];
    resizeObject(vertex_infos: any, deltaX: any, deltaY: any): void;
    reorder_resize_style(resize_style: any): any;
    setCursorStyle(mouse2X: any, mouse2Y: any, canvas: any, selected_primitive: any): void;
    mouse_interaction(): void;
}
export declare class Histogram extends PlotData {
    data: any;
    width: number;
    height: number;
    buttons_ON: boolean;
    X: number;
    Y: number;
    canvas_id: string;
    is_in_multiplot: boolean;
    edge_style: EdgeStyle;
    surface_style: SurfaceStyle;
    x_variable: Attribute;
    axis: Axis;
    graduation_nb: number;
    initial_graduation_nb: number;
    infos: {};
    min_abs: number;
    max_abs: number;
    max_frequency: number;
    discrete: boolean;
    x_rubberband: number[];
    y_rubberband: number[];
    coeff: number;
    y_step: number;
    selected_keys: any[];
    constructor(data: any, width: number, height: number, buttons_ON: boolean, X: number, Y: number, canvas_id: string, is_in_multiplot?: boolean);
    draw_initial(): void;
    draw(): void;
    draw_from_context(hidden: any): void;
    draw_buttons(): void;
    draw_rubberbands(): void;
    draw_x_rubberband(): void;
    draw_y_rubberband(): void;
    coordinate_to_string(x1: any, x2?: any): any;
    string_to_coordinate(str: any): {
        x1: number;
        x2?: undefined;
    } | {
        x1: number;
        x2: number;
    };
    refresh_max_frequency(): void;
    get_infos(): {};
    draw_axis(): void;
    refresh_graduation_nb(): void;
    get_y_step(): number;
    draw_histogram(): void;
    mouse_interaction(): void;
    set_x_rubberband(mouse1X: any, mouse2X: any): void;
    set_y_rubberband(mouse1Y: any, mouse2Y: any): void;
    is_in_x_rubberband(x: any, y: any): boolean[];
    is_in_y_rubberband(x: any, y: any): boolean[];
    translate_rubberband(t: any, type_: any): void;
    resize_rubberband(t: any, up: any, down: any, left: any, right: any): void;
    reorder_rubberbands(): void;
    reset_x_rubberband(): void;
    get_selected_keys(): void;
    real_to_display(real: number, type_: any): number;
    real_to_display_length(real: number, type_: any): number;
    display_to_real(display: number, type_: any): number;
    display_to_real_length(display: number, type_: any): number;
}
export declare class ScatterMatrix extends PlotData {
    data: any;
    width: number;
    height: number;
    buttons_ON: boolean;
    X: number;
    Y: number;
    canvas_id: string;
    is_in_multiplot: boolean;
    plots: any[];
    constructor(data: any, width: number, height: number, buttons_ON: boolean, X: number, Y: number, canvas_id: string, is_in_multiplot?: boolean);
    define_canvas(canvas_id: string): void;
    draw_initial(): void;
    draw(): void;
    draw_from_context(hidden: any): void;
}
