import { type AgRangesPosition, type CssColor, type FontFamily, type FontWeight, type Padding, _ModuleSupport } from 'ag-charts-community';
import { BaseProperties, CleanupRegistry, type DynamicContext, type ModuleInstance, PropertiesArray } from 'ag-charts-core';
import { RangesButtonProperties, RangesDropdownProperties, RangesStateStylesProperties, RangesStylesProperties } from './rangesProperties';
/**
 * Ranges extends BaseProperties to ensure the `padding` property can be correctly modified by jsonApply() when it
 * changes between a number and an object. So it manually implements ModuleInstance, instead of extending the
 * default AbstractModuleInstance class.
 */
export declare class Ranges extends BaseProperties implements ModuleInstance {
    private readonly ctx;
    enabled: boolean;
    buttons: PropertiesArray<RangesButtonProperties>;
    button: RangesStylesProperties;
    dropdown: RangesDropdownProperties;
    active: RangesStateStylesProperties;
    disabled: RangesStateStylesProperties;
    hover: RangesStateStylesProperties;
    enableOutOfRange: boolean;
    gap: number;
    cornerRadius: number;
    fill: CssColor;
    fillOpacity: number;
    fontSize: number;
    fontFamily: FontFamily;
    fontWeight: FontWeight;
    stroke: CssColor;
    strokeWidth: number;
    textColor: CssColor;
    padding: Padding;
    position: AgRangesPosition;
    spacing: number;
    minSize: number;
    protected readonly cleanup: CleanupRegistry;
    private container?;
    private dropdownMenu?;
    private buttonsToolbar?;
    private dropdownToolbar?;
    private isDropdown?;
    private dropdownLabel;
    private dropdownMinWidth?;
    constructor(ctx: DynamicContext<_ModuleSupport.ChartRegistry>);
    destroy(): void;
    private setup;
    private teardown;
    private onLayoutStart;
    private onLayoutComplete;
    private onChartWidgetClick;
    private updateToolbarBounds;
    private updateCSSVariables;
    private getComponentVariables;
    private getComponentStateVariables;
    private getComponentFill;
    private onZoomChanged;
    private onButtonPress;
    private swapDropdownIn;
    private swapDropdownOut;
    private resetDropdownButton;
    private getDropdownButtonOptions;
    private showDropdownMenu;
    private updateZoomWithButtonIndex;
    private getUpdateWithFn;
    private getButtonEnabled;
}
