import { AbstractComponent } from '../core/base';
import { type DataZoomAttributes } from './type';
import type { ComponentOptions } from '../interface';
export declare class DataZoom extends AbstractComponent<Required<DataZoomAttributes>> {
    name: string;
    static defaultAttributes: {
        orient: string;
        showDetail: string;
        brushSelect: boolean;
        zoomLock: boolean;
        minSpan: number;
        maxSpan: number;
        delayType: string;
        delayTime: number;
        realTime: boolean;
        backgroundStyle: {
            fill: string;
            stroke: string;
            lineWidth: number;
            cornerRadius: number;
        };
        dragMaskStyle: {
            fill: string;
            fillOpacity: number;
        };
        backgroundChartStyle: {
            area: {
                visible: boolean;
                stroke: string;
                lineWidth: number;
                fill: string;
            };
            line: {
                visible: boolean;
                stroke: string;
                lineWidth: number;
            };
        };
        selectedBackgroundStyle: {
            fill: string;
            fillOpacity: number;
        };
        selectedBackgroundChartStyle: {
            area: {
                visible: boolean;
                stroke: string;
                lineWidth: number;
                fill: string;
            };
            line: {
                visible: boolean;
                stroke: string;
                lineWidth: number;
            };
        };
        middleHandlerStyle: {
            visible: boolean;
            background: {
                size: number;
                style: {
                    fill: string;
                    stroke: string;
                    cornerRadius: number;
                };
            };
            icon: {
                size: number;
                fill: string;
                stroke: string;
                symbolType: string;
                lineWidth: number;
            };
        };
        startHandlerStyle: {
            visible: boolean;
            triggerMinSize: number;
            symbolType: string;
            fill: string;
            stroke: string;
            lineWidth: number;
        };
        endHandlerStyle: {
            visible: boolean;
            triggerMinSize: number;
            symbolType: string;
            fill: string;
            stroke: string;
            lineWidth: number;
        };
        startTextStyle: {
            padding: number;
            textStyle: {
                fontSize: number;
                fill: string;
            };
        };
        endTextStyle: {
            padding: number;
            textStyle: {
                fontSize: number;
                fill: string;
            };
        };
    };
    private _interaction;
    private _renderer;
    private _container;
    private _state;
    private _layoutCacheFromConfig;
    private _isHorizontal;
    constructor(attributes: DataZoomAttributes, options?: ComponentOptions);
    getLayoutAttrFromConfig: () => any;
    private _getRendererAttrs;
    private _getInteractionAttrs;
    bindEvents(): void;
    setAttributes(params: Partial<Required<DataZoomAttributes>>, forceUpdateTag?: boolean): void;
    render(): void;
    release(all?: boolean): void;
    setStartAndEnd(start?: number, end?: number): void;
    setPreviewData(data: any[]): void;
    setText(text: string, tag: 'start' | 'end'): void;
    getStartValue(): string | number;
    getEndTextValue(): string | number;
    getMiddleHandlerSize(): number;
    setPreviewPointsX(callback: (d: any) => number): void;
    setPreviewPointsY(callback: (d: any) => number): void;
    setPreviewPointsX1(callback: (d: any) => number): void;
    setPreviewPointsY1(callback: (d: any) => number): void;
    setStatePointToData(callback: (state: number) => any): void;
}
