import { LitElement, PropertyValues } from "lit";
import { Asset, ValueDatapoint } from "@openremote/model";
import "chartjs-adapter-moment";
import "@openremote/or-mwc-components/or-mwc-dialog";
import "@openremote/or-attribute-picker";
export type ContextMenuOption = "editAttribute" | "editDelta" | "editCurrentValue" | "delete";
export declare class OrAttributeCard extends LitElement {
    panelName?: string;
    protected _style: CSSStyleDeclaration;
    assets: Asset[];
    private assetAttributes;
    private data?;
    realm?: string;
    private mainValue?;
    private mainValueDecimals;
    private mainValueSize;
    private delta?;
    private deltaPlus;
    private deltaFormat;
    showControls: boolean;
    hideAttributePicker: boolean;
    showTitle: boolean;
    protected _loading: boolean;
    private period;
    private asset?;
    private formattedMainValue?;
    protected _error?: string;
    private _chartElem;
    private _chart?;
    protected _startOfPeriod?: number;
    protected _endOfPeriod?: number;
    protected _dataAbortController?: AbortController;
    private resizeObserver?;
    static get styles(): import("lit").CSSResult[];
    constructor();
    connectedCallback(): void;
    disconnectedCallback(): void;
    firstUpdated(): void;
    updated(changedProperties: PropertyValues): void;
    shouldHideAttributePicker(): boolean;
    shouldShowControls(): boolean;
    shouldShowTitle(): boolean;
    protected render(): import("lit").TemplateResult<1>;
    protected _openDialog(dialogContent?: ContextMenuOption): void;
    private _setAttribute;
    protected _cleanup(): void;
    protected loadSettings(reset?: boolean): Promise<void>;
    saveSettings(): Promise<void>;
    protected loadData(): Promise<void>;
    protected getTotalValue(data: ValueDatapoint<any>[]): number;
    protected getHighestValue(data: ValueDatapoint<any>[]): number;
    protected getFormattedValue(value: number | undefined): {
        value: number;
        unit: string;
    } | undefined;
    protected getFirstKnownMeasurement(data: ValueDatapoint<any>[]): number;
    protected getLastKnownMeasurement(data: ValueDatapoint<any>[]): number;
    protected getFormattedDelta(firstVal: number, lastVal: number): {
        val?: number;
        unit?: string;
    };
    protected handleMenuSelect(value: ContextMenuOption): void;
    protected setLabelSizeByLength(value: string): void;
    protected setLabelSizeByWidth(inlineSize: number): void;
    protected _setPeriodOption(value: any): void;
}
