import { OnInit, OnDestroy } from '@angular/core';
import { FormBuilder, NgForm } from '@angular/forms';
import { type DatapointAttributesFormConfig, type DatapointSelectorModalOptions, type KPIDetails } from '@c8y/ngx-components/datapoint-selector';
import { WidgetConfigComponent } from '@c8y/ngx-components/context-dashboard';
import { DynamicComponentComponent, OnBeforeSave } from '@c8y/ngx-components';
import { Observable } from 'rxjs';
import { GaugeOptions, InfoGaugeWidgetConfig } from './gauge.model';
import { EditorComponent } from '@c8y/ngx-components/editor';
import * as i0 from "@angular/core";
export declare class InfoGaugeWidgetConfigComponent implements OnInit, OnBeforeSave, OnDestroy {
    private formBuilder;
    private form;
    private widgetConfig;
    private dynamicComponent?;
    config: InfoGaugeWidgetConfig;
    editorComponent: EditorComponent;
    formGroup: ReturnType<InfoGaugeWidgetConfigComponent['createForm']>;
    datapointSelectionConfig: Partial<DatapointSelectorModalOptions>;
    defaultFormOptions: Partial<DatapointAttributesFormConfig>;
    isInfoGauge: boolean;
    activeDatapointGauge: KPIDetails;
    showAdvancedOptions: boolean;
    gaugeOptionsString: string;
    gaugeOptions: GaugeOptions;
    showAdvancedOptionsLabel: "Show advanced options";
    hideAdvancedOptionsLabel: "Hide advanced options";
    ALL_GAUGE_PRESETS: GaugeOptions[];
    private limits;
    readonly GAUGE_PRESETS: GaugeOptions[];
    private destroy$;
    constructor(formBuilder: FormBuilder, form: NgForm, widgetConfig: WidgetConfigComponent, dynamicComponent?: DynamicComponentComponent);
    onBeforeSave(config?: InfoGaugeWidgetConfigComponent['config']): boolean | Promise<boolean> | Observable<boolean>;
    ngOnInit(): void;
    ngOnDestroy(): void;
    onRadioPresetChange(presetId: string): void;
    assignSchema(): Promise<void>;
    gaugeJSONChange(value: string): void;
    trackByFn(_index: number, item: GaugeOptions): string;
    private getPresetId;
    private setupRadialGauge;
    private initForm;
    private createForm;
    static ɵfac: i0.ɵɵFactoryDeclaration<InfoGaugeWidgetConfigComponent, [null, null, null, { optional: true; }]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<InfoGaugeWidgetConfigComponent, "c8y-info-gauge-widget-config", never, { "config": { "alias": "config"; "required": false; }; }, {}, never, never, true, never>;
}
//# sourceMappingURL=info-gauge-widget-config.component.d.ts.map