import { OnDestroy, OnInit } from '@angular/core';
import { WidgetConfigComponent } from '@c8y/ngx-components/context-dashboard';
import { OnBeforeSave, FilesService, AlertService } from '@c8y/ngx-components';
import { ImageWidgetConfig, ImageWidgetStyle } from '../image-widget.model';
import { FormBuilder, FormGroup, NgForm } from '@angular/forms';
import { BehaviorSubject, Observable, Subject } from 'rxjs';
import { ImageWidgetService } from '../image-widget.service';
import * as i0 from "@angular/core";
export declare class ImageWidgetConfigComponent implements OnInit, OnDestroy, OnBeforeSave {
    private formBuilder;
    private form;
    private fileService;
    private alert;
    private imageWidget;
    private widgetConfig;
    config: ImageWidgetConfig;
    imageBinaryId$: BehaviorSubject<string>;
    imageSrc$: Observable<string>;
    loading: boolean;
    formGroup: FormGroup;
    fileFromConfig: File;
    styling: ImageWidgetStyle | null;
    destroyed$: Subject<void>;
    objectFitOptions: ({
        label: "Contain`verb, image fitting option`";
        value: string;
        description: "The image is entirely displayed within the widget while preserving the aspect ratio.";
    } | {
        label: "Cover`verb, image fitting option`";
        value: string;
        description: "The image is resized to fill the widget while preserving the aspect ratio. Overflowing areas are clipped.";
    } | {
        label: "Fill`verb, image fitting option`";
        value: string;
        description: "The image is stretched to fill the widget, overriding the aspect-ratio.";
    } | {
        label: "Full width`image fitting option`";
        value: string;
        description: "The image is resized to fit the widget's width while preserving the aspect ratio. Overflowing area is scrollable.";
    })[];
    constructor(formBuilder: FormBuilder, form: NgForm, fileService: FilesService, alert: AlertService, imageWidget: ImageWidgetService, widgetConfig: WidgetConfigComponent);
    onBeforeSave(config?: ImageWidgetConfig): Promise<boolean>;
    ngOnInit(): void;
    ngOnDestroy(): void;
    private getDashboardMoId;
    private initForm;
    private getFileFromFormValue;
    private setStyling;
    static ɵfac: i0.ɵɵFactoryDeclaration<ImageWidgetConfigComponent, [null, null, null, null, null, { optional: true; }]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ImageWidgetConfigComponent, "c8y-image-widget-config", never, { "config": { "alias": "config"; "required": false; }; }, {}, never, never, true, never>;
}
//# sourceMappingURL=image-widget-config.component.d.ts.map