/// <reference types="@arcgis/core/interfaces.d.ts" />
/// <reference types="../../index.d.ts" />
import { Use } from '@arcgis/lumina/controllers';
import { default as HistogramRangeSlider } from '@arcgis/core/widgets/HistogramRangeSlider.js';
import { PublicLitElement as LitElement, TargetedEvent } from '@arcgis/lumina';
import { ArcgisReferenceElement } from '../../utils/component-utils';

declare const useHistogramRangeSliderWidget: (component: LitElement & Pick<HistogramRangeSlider, "icon" | "label" | "viewModel" | "values" | "max" | "min" | "precision" | "average" | "barCreatedFunction" | "bins" | "dataLineCreatedFunction" | "dataLines" | "labelFormatFunction" | "rangeType" | "standardDeviation" | "standardDeviationCount"> & {
    state?: unknown;
    viewModel?: __esri.HistogramRangeSliderViewModel | undefined;
    closed?: boolean;
    icon: import('@arcgis/components-utils').Nil | string;
    label: import('@arcgis/components-utils').Nil | string;
    referenceElement?: ArcgisReferenceElement | string;
    position: __esri.UIPosition;
    arcgisReady: import('@arcgis/lumina').EventEmitter;
    arcgisPropertyChange: import('@arcgis/lumina').EventEmitter<{
        name: string;
    }> | undefined;
    el: HTMLElement & {
        childElem?: HTMLElement & {
            ownedBy?: HTMLElement;
        };
        view?: __esri.LinkChartView | __esri.MapView | __esri.SceneView;
    };
    autoDestroyDisabled: boolean;
    destroy: () => Promise<void>;
}) => HistogramRangeSlider;
/**
 * [Read more...](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-histogram-range-slider/)
 *
 * @internal
 */
export declare class ArcgisHistogramRangeSlider extends LitElement {
    /**
     * If true, the component will not be destroyed automatically when it is
     * disconnected from the document. This is useful when you want to move the
     * component to a different place on the page, or temporarily hide it. If this
     * is set, make sure to call the [destroy](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-histogram-range-slider/#destroy) method when you are done to
     * prevent memory leaks.
     *
     * @default false
     */
    autoDestroyDisabled: boolean;
    /**
     * The statistical average of the data in the histogram.
     *
     * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-HistogramRangeSlider.html#average)
     */
    average: number | nullish;
    /**
     * Function for styling bars representing histogram bins.
     *
     * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-HistogramRangeSlider.html#barCreatedFunction)
     */
    barCreatedFunction: nullish | __esri.BarCreatedFunction;
    /**
     * An array of objects representing each bin in the histogram.
     *
     * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-HistogramRangeSlider.html#bins)
     */
    bins: nullish | __esri.HistogramBin[];
    /**
     * Function that fires each time a data line is created.
     *
     * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-HistogramRangeSlider.html#dataLineCreatedFunction)
     */
    dataLineCreatedFunction: nullish | __esri.DataLineCreatedFunction;
    /**
     * When set, renders lines on the histogram that indicate important or
     * meaningful values to the end user.
     *
     * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-HistogramRangeSlider.html#dataLines)
     */
    dataLines: nullish | __esri.HistogramRangeSliderDataLines[];
    /**
     * Sets the color of the histogram bars that are excluded based on the specified
     * [rangeType](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-HistogramRangeSlider.html#rangeType).
     *
     * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-HistogramRangeSlider.html#excludedBarColor)
     *
     * @default "#d7e5f0"
     */
    get excludedBarColor(): typeof this.widget.excludedBarColor;
    set excludedBarColor(value: __esri.ColorProperties);
    /**
     * Icon which represents the component.
     * Typically used when the component is controlled by another component (e.g. by the Expand component).
     *
     * @see [Calcite Icons](https://developers.arcgis.com/calcite-design-system/icons/)
     * @default "arrow-double-horizontal"
     */
    icon: string;
    /**
     * Sets the color of the histogram bars that are included in the specified
     * [rangeType](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-HistogramRangeSlider.html#rangeType).
     *
     * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-HistogramRangeSlider.html#includedBarColor)
     *
     * @default "#599dd4"
     */
    get includedBarColor(): typeof this.widget.includedBarColor;
    set includedBarColor(value: __esri.ColorProperties);
    /**
     * The widget's default label.
     *
     * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-HistogramRangeSlider.html#label)
     */
    label: string;
    /**
     * A function used to format labels.
     *
     * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-HistogramRangeSlider.html#labelFormatFunction)
     */
    labelFormatFunction: __esri.SliderLabelFormatter;
    /**
     * The maximum value or upper bound of the slider.
     *
     * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-HistogramRangeSlider.html#max)
     */
    max: number | nullish;
    /**
     * The minimum value or lower bound of the slider.
     *
     * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-HistogramRangeSlider.html#min)
     */
    min: number | nullish;
    /** @default "bottom-left" */
    position: __esri.UIPosition;
    /**
     * Defines how slider thumb values should be rounded.
     *
     * @default 4
     */
    precision: number;
    /**
     * Indicates how the histogram bins should be rendered as the user slides the thumbs.
     *
     * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-HistogramRangeSlider.html#rangeType)
     */
    rangeType: "equal" | "not-equal" | "less-than" | "greater-than" | "at-most" | "at-least" | "between" | "not-between";
    /**
     * By assigning the `id` attribute of the Map or Scene component to this property, you can position a child component anywhere in the DOM while still maintaining a connection to the Map or Scene.
     *
     * @see [Associate components with a Map or Scene component](https://developers.arcgis.com/javascript/latest/programming-patterns/#associate-components-with-a-map-or-scene-component)
     */
    referenceElement?: ArcgisReferenceElement | string;
    /**
     * Indicates the standard deviation of the dataset.
     *
     * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-HistogramRangeSlider.html#standardDeviation)
     */
    standardDeviation: number | nullish;
    /**
     * Indicates the number of standard deviation lines to render on the histogram
     * from the [average].
     *
     * @default 1
     */
    standardDeviationCount: number;
    /** The current state of the component. */
    readonly state: "ready" | "disabled";
    /**
     * An array of either one or two numbers representing thumb positions on the slider.
     *
     * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-HistogramRangeSlider.html#values)
     */
    values: nullish | number[];
    /** Permanently destroy the component. */
    destroy(): Promise<void>;
    /**
     * Generates a SQL where clause based on a given field and the slider's
     * rangeType
     */
    generateWhereClause(field: string): Promise<nullish | string>;
    /** Emitted when the value of a property is changed. Use this to listen to changes to properties. */
    readonly arcgisPropertyChange: TargetedEvent<this, {
        name: "state";
    }>;
    /** Emitted when the component associated with a map or scene view is is ready to be interacted with. */
    readonly arcgisReady: TargetedEvent<this, void>;
    private widget: HistogramRangeSlider;
    readonly _setterTypes: {
        excludedBarColor?: __esri.ColorProperties;
        includedBarColor?: __esri.ColorProperties;
    };
}
export {};
