import { WidgetView } from '@jupyter-widgets/base';
import * as d3 from 'd3';
import { Figure } from './Figure';
import { Scale } from './Scale';
export declare class Axis extends WidgetView {
    initialize(): void;
    render(): void;
    create_listeners(): void;
    update_offset(): void;
    update_display(): void;
    set_tick_values(animate?: boolean): void;
    tickformat_changed(): void;
    apply_tick_styling(): void;
    get_tick_transforms(): string;
    update_scales(): void;
    update_scale_domain(): void;
    update_offset_scale_domain(): void;
    generate_tick_formatter(): (number: any) => any;
    set_scales_range(): void;
    create_axis(): void;
    append_axis(): void;
    get_offset_promise(): Promise<void>;
    highlight(): void;
    unhighlight(): void;
    get_basic_transform(): number;
    get_axis_transform(): string;
    process_offset(): number;
    get_label_attributes(): {
        transform: string;
        x: number;
        y: any;
        dy: string;
        dx: string;
    };
    get_text_styling(): {
        'text-anchor': string;
    };
    update_label(): void;
    update_label_location(): void;
    update_label_offset(model: any, offset: any): void;
    calculate_label_offset(): any;
    update_grid_lines(animate?: boolean): void;
    update_color(): void;
    redraw_axisline(): void;
    rescale_axis(): void;
    update_axis_domain(): void;
    parent_margin_updated(): void;
    update_visibility(model: any, visible: any): void;
    get_ticks_from_array_or_length(data_array?: any[]): any[];
    set_scale_promise(model: any): Promise<void>;
    update_scale(old: any, scale: any): void;
    _get_digits(number: any): number;
    _replace_trailing_zeros(str: any): any;
    get_format_func(prec: number): (number: any) => any;
    _linear_scale_precision(ticks?: any[]): number;
    linear_sc_format(ticks?: any[]): (number: any) => any;
    date_sc_format(ticks?: any[]): (date: any) => string;
    log_sc_format(ticks?: any[]): (number: any) => any;
    _log_sc_precision(ticks?: any[]): number;
    guess_tick_format(ticks?: any[]): (number: any) => any;
    get width(): number;
    get height(): number;
    get margin(): {
        top: number;
        bottom: number;
        left: number;
        right: number;
    };
    axis_scale: Scale;
    axis: d3.Axis<d3.AxisDomain>;
    d3el: d3.Selection<HTMLElement, any, any, any>;
    g_axisline: d3.Selection<SVGGElement, any, any, any>;
    label_offset: string;
    offset_scale: Scale;
    offset_value: any;
    parent: Figure;
    tick_format: (d: number) => string;
    vertical: boolean;
}
