import { ChangeDetectorRef, EventEmitter, NgZone, OnDestroy, OnInit } from '@angular/core';
import { AlertController, ModalController } from '@ionic/angular';
import { EditableValueDataStreamInterface } from '@iotize/tap/data';
import { BehaviorSubject, Observable, Subject } from 'rxjs';
import { CurrentDeviceService } from '../current-device.service';
import { InlineEditorComponent } from '../inline-editor/inline-editor.component';
import * as i0 from "@angular/core";
export declare class TapValueEditorContainerComponent implements OnInit, OnDestroy {
    private alertDialog;
    private tapService;
    private changeDetectorRef;
    private ngZone;
    private modalController;
    button: boolean;
    set variable(v: EditableValueDataStreamInterface<unknown, any> | undefined);
    inputOptions: InlineEditorComponent.InputOptions | any;
    /**
     * Show refresh button
     */
    showRefreshButton: boolean;
    /**
     * Show submit button
     */
    showSubmitButton: boolean;
    /**
     * Show edit button
     */
    showEditButton: boolean;
    /**
     * Enable edition mode
     */
    editModeChange: BehaviorSubject<boolean>;
    loadingChange: BehaviorSubject<boolean>;
    /**
     * Error to display
     */
    error?: Error;
    lines: string;
    modalEdition: boolean;
    /**
     * Force value to display
     */
    set value(v: any);
    submit: EventEmitter<any>;
    refresh: EventEmitter<any>;
    pendingSubmitValue?: any;
    valueToSubmit?: any;
    lastReadValue?: any;
    private variableChange;
    variableValuesStream: Observable<any>;
    forceValueChange: Subject<any>;
    valueToDisplay: Observable<any>;
    private pendingCallManager?;
    private destroyed;
    constructor(alertDialog: AlertController, tapService: CurrentDeviceService, changeDetectorRef: ChangeDetectorRef, ngZone: NgZone, modalController: ModalController);
    ngOnInit(): void;
    submitValue(): void;
    notifyValueChange(newValue: any, forceWrite?: boolean): Promise<void>;
    openErrorDialog(error: Error): Promise<void>;
    explainWaitForSubmit(): Promise<void>;
    private _submitValue;
    refreshValue(): Promise<void>;
    enableEditMode(): Promise<void>;
    private showEditModal;
    private startAction;
    ngOnDestroy(): void;
    cancelEdit(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<TapValueEditorContainerComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TapValueEditorContainerComponent, "tap-value-editor-container", never, { "button": "button"; "variable": "variable"; "inputOptions": "inputOptions"; "showRefreshButton": "showRefreshButton"; "showSubmitButton": "showSubmitButton"; "showEditButton": "showEditButton"; "error": "error"; "lines": "lines"; "modalEdition": "modalEdition"; "value": "value"; }, { "submit": "submit"; "refresh": "refresh"; }, never, ["*"], false>;
}
