import { TemplateResult } from "lit";
import { WidgetSettings } from "../util/widget-settings";
import "../panels/attributes-chart-panel";
import "../util/settings-panel";
import { AttributeActionEvent, AttributeReplaceEvent, AttributesSelectEvent } from "../panels/attributes-panel";
import { AttributeRef } from "@openremote/model";
import { BarChartWidgetConfig } from "../widgets/barchart-widget";
import { OrInputChangedEvent } from "@openremote/or-mwc-components/or-mwc-input";
import moment from "moment/moment";
import { BarChartInterval, IntervalConfig } from "@openremote/or-attribute-barchart";
import { AttributesChartPanel } from "../panels/attributes-chart-panel";
export declare class BarChartSettings extends WidgetSettings {
    protected _attributesPanelElem?: AttributesChartPanel;
    protected readonly widgetConfig: BarChartWidgetConfig;
    protected timeWindowOptions: Map<string, [moment.unitOfTime.DurationConstructor, number]>;
    protected timePrefixOptions: string[];
    protected intervalOptions: Map<BarChartInterval, IntervalConfig>;
    setTimeWindowOptions(options: Map<string, [moment.unitOfTime.DurationConstructor, number]>): void;
    setTimePrefixOptions(options: string[]): void;
    setIntervalOptions(options: Map<BarChartInterval, IntervalConfig>): void;
    static get styles(): import("lit").CSSResult[];
    protected render(): TemplateResult;
    protected onAttributeAction(ev: AttributeActionEvent): void;
    protected onFaintClick(attrRef: AttributeRef): void;
    protected onArrowUpClick(attrRef: AttributeRef): void;
    protected onArrowDownClick(attrRef: AttributeRef): void;
    protected onAttributesSelect(ev: AttributesSelectEvent): void;
    /**
     * Handles an in-place replacement of an {@link AttributeRef}. All per-attribute configuration
     * (aggregation method, alignment, custom color, ...) is migrated from the old reference to the
     * new one, so the new attribute inherits the full configuration of the one it replaces.
     */
    protected onAttributeReplace(ev: AttributeReplaceEvent): void;
    protected removeFromAttributeSettings(attributeRef: AttributeRef): void;
    /**
     * Adds or removes an {@link AttributeRef} from a field in the {@link BarChartAttributeConfig}.
     * For example, you can modify the list of 'right aligned attributes', or attributes that are displaying their 'AVG value'.
     * If the {@link AttributeRef} is already present, it'll be removed. Otherwise, it will be added.
     * @param setting - Field of {@link BarChartWidgetConfig} to append/remove the attribute from.
     * @param attributeRef - The {@link AttributeRef} to add/remove.
     * @protected
     */
    protected toggleAttributeSetting(setting: keyof BarChartWidgetConfig["attributeSettings"], attributeRef: AttributeRef, notify?: boolean): void;
    protected openColorPickDialog(attributeRef: AttributeRef): void;
    protected removeFromAttributeColors(attributeRef: AttributeRef): void;
    protected openAlgorithmMethodsDialog(attributeRef: AttributeRef): void;
    protected onTimePrefixSelect(ev: Event): void;
    protected onTimeWindowSelect(ev: Event): void;
    protected onIntervalSelect(ev: Event): void;
    protected onTimestampControlsToggle(ev: OrInputChangedEvent): void;
    protected onShowLegendToggle(ev: OrInputChangedEvent): void;
    protected onDefaultStackedToggle(ev: OrInputChangedEvent): void;
    protected setAxisMinMaxValue(axis: "left" | "right", type: "min" | "max", value?: number): void;
    protected onMinMaxValueChange(axis: "left" | "right", type: "min" | "max", ev: Event): void;
    protected onMinMaxValueToggle(axis: "left" | "right", type: "min" | "max", ev: OrInputChangedEvent): void;
    protected onDecimalsChange(ev: Event): void;
}
//# sourceMappingURL=barchart-settings.d.ts.map