import type { DataZoomAttributes } from './type';
import type { IGroup, IRect, ISymbol } from '@visactor/vrender-core';
import { Tag } from '../tag';
export interface DataZoomRendererAttrs {
    attribute: Partial<Required<DataZoomAttributes>>;
    getLayoutAttrFromConfig: any;
    getState: () => {
        start: number;
        end: number;
    };
    setState: (state: {
        start: number;
        end: number;
    }) => void;
    getContainer: () => IGroup;
}
export declare class DataZoomRenderer {
    attribute: Partial<Required<DataZoomAttributes>>;
    private _getLayoutAttrFromConfig;
    private _getState;
    private _getContainer;
    private _isHorizontal;
    private _startHandlerMask;
    get startHandlerMask(): IRect;
    private _startHandler;
    private _middleHandlerSymbol;
    get middleHandlerSymbol(): ISymbol;
    private _middleHandlerRect;
    get middleHandlerRect(): IRect;
    private _endHandlerMask;
    get endHandlerMask(): IRect;
    private _endHandler;
    private _selectedBackground;
    get selectedBackground(): IRect;
    private _dragMask;
    get dragMask(): IRect;
    private _startText;
    get startText(): Tag;
    private _endText;
    get endText(): Tag;
    private _startValue;
    get startValue(): string | number;
    private _endValue;
    get endValue(): string | number;
    private _showText;
    set showText(showText: boolean);
    private _background;
    get background(): IRect;
    private _previewData;
    set previewData(previewData: any[]);
    private _previewGroup;
    get previewGroup(): IGroup;
    private _previewLine;
    private _previewArea;
    private _selectedPreviewGroupClip;
    private _selectedPreviewGroup;
    get selectedPreviewGroup(): IGroup;
    private _selectedPreviewLine;
    private _selectedPreviewArea;
    private _previewPointsX;
    set previewPointsX(previewPointsX: (datum: any) => number);
    private _previewPointsY;
    set previewPointsY(previewPointsY: (datum: any) => number);
    private _previewPointsX1;
    set previewPointsX1(previewPointsX1: (datum: any) => number);
    private _previewPointsY1;
    set previewPointsY1(previewPointsY1: (datum: any) => number);
    private _statePointToData;
    set statePointToData(statePointToData: (state: number) => any);
    private _initAttrs;
    constructor(props: DataZoomRendererAttrs);
    setAttributes(props: DataZoomRendererAttrs): void;
    renderDataZoom(onlyStateChange?: boolean): void;
    renderDragMask(): {
        start: number;
        end: number;
    };
    private _renderBackground;
    private _renderHandler;
    private _renderSelectedBackground;
    private _setPreviewAttributes;
    private _setSelectedPreviewClipAttributes;
    private _setSelectedPreviewAttributes;
    private _computeBasePoints;
    private _simplifyPoints;
    private _getPreviewLinePoints;
    private _getPreviewAreaPoints;
    renderText(): void;
    private _setTextAttr;
    private _maybeAddLabel;
}
