import 'd3-selection-multi';
import { Mark } from './Mark';
import { BarsModel } from './BarsModel';
export declare class Bars extends Mark {
    render(): any;
    set_scale_orientation(): void;
    set_ranges(): void;
    set_positional_scales(): void;
    set_internal_scales(): void;
    adjust_offset(): void;
    create_listeners(): void;
    process_click(interaction: any): void;
    draw_zero_line(): void;
    update_internal_scales(): void;
    relayout(): void;
    invert_point(pixel: any): void;
    selector_changed(point_selector: any, rect_selector: any): any[];
    update_selected(model: any, value: any): void;
    draw(animate?: boolean): void;
    draw_bars(animate?: boolean): void;
    /**
     * Get the vertical label offset from the model
     */
    readonly offsetVertical: number;
    /**
     * Get the horizontal label offset from the model
     */
    readonly offsetHorizontal: number;
    /**
     * Get the baseline parameter from the model
     */
    readonly baseLine: number;
    /**
     * Get the bar chart's orientation
     */
    readonly barOrientation: string;
    /**
     * Main entry point function for adding bar labels
     * @param barGroups - D3 selection for all bar groups
     * @param bandWidth - Bandwidth of the x or y axis
     * @param dom - X or y axis (depending on oridnetation)
     * @param rang - X or y axis (depending on orientation)
     */
    manageBarLabels(barGroups: any, bandWidth: number, dom: string, rang: string): void;
    /**
     * All bars are stacked by default. The only other value this parameter can take is 'grouped'
     * @param barGroups - D3 selection for bar groups
     * @param bandWidth - Bandwidth parameter for the bar dimensions
     * @param dom - X or y axis (depending on oridnetation)
     * @param rang - X or y axis (depending on oridnetation)
     */
    stackedBarLabels(barGroups: any, bandWidth: number, dom: string, rang: string): void;
    /**
     * Add labels for a chart with grouped bars
     * @param barGroups - D3 selection for bar group
     * @param bandWidth - bandwidth parameter for the X axis
     */
    groupedBarLabels(barGroups: any, bandWidth: number): void;
    /**
     * Applies CSS translate to shift label position according
     * to vertical/horizontal offsets
     * @param d - Data point
     * @param baseLine - The base line of the chart
     * @param offsetHorizontal - Horizontal offset, in pixels, of the label
     * @param offsetVertical - Vertical offset, in pixels, of the label
     * @param bandWidth - Bandwidth parameter for the bar dimantions
     * @param barOrientation - Orientation of the bar chart (horizontal/vertical)
     */
    transformBarLabel(d: any, baseLine: number, offsetHorizontal: number, offsetVertical: number, bandWidth: number, barOrientation: string): string;
    /**
     * Determines the value of the text-anchor CSS attribute
     * @param d - Data point
     * @param i - Index number
     * @param barOrientation - Orientation of the bar chart (horizontal/vertical)
     * @param baseLine - The base line of the chart
     */
    styleBarLabelTextAnchor(d: any, barOrientation: string, baseLine: number): string;
    /**
     * Determines the value of the dominant-base-line CSS attribute
     * @param d - Data point
     * @param i - Index number
     * @param baseLine - The base line of the chart
     * @param barOrientation - Orientation of the bar chart (horizontal/vertical)
     */
    styleBarLabelDominantBaseline(d: any, baseLine: number, barOrientation: string): string;
    /**
     * Adds CSS styling to the bar labels
     */
    updateBarLabelsStyle(): void;
    update_type(model: any, value: any): void;
    update_colors(): void;
    draw_legend(elem: any, x_disp: any, y_disp: any, inter_x_disp: any, inter_y_disp: any): any[];
    clear_style(style: any, indices: any): void;
    set_style_on_elements(style: any, indices: any): void;
    set_default_style(indices: any): void;
    get_mark_color(data: any, index: any): any;
    get_mark_opacity(data: any, index: any): any;
    set_x_range(): any;
    bar_click_handler(args: any): void;
    reset_selection(): void;
    compute_view_padding(): void;
    dom_offset: any;
    dom_scale: any;
    legend_el: any;
    pixel_coords: any;
    range_offset: any;
    range_scale: any;
    x_pixels: any;
    stacked_scale: any;
    grouped_scale: any;
    model: BarsModel;
}
