import { AfterViewInit, ElementRef, OnChanges, OnInit, Renderer2, SimpleChanges } from "@angular/core";
import { CanDeactivate } from "@angular/router";
import { Observable } from "rxjs";
import { QMSFileUploadDisplayDirective } from "./file-upload-display.directive";
import { QMSFileUploadSelectorDirective } from "./file-upload-selector.directive";
export interface ComponentCanDeactivate {
    canDeactivate: () => Observable<boolean> | Promise<boolean> | boolean;
}
export declare class QMSUploadingFileGuard implements CanDeactivate<ComponentCanDeactivate> {
    constructor();
    canDeactivate(component: ComponentCanDeactivate): boolean | Observable<boolean> | Promise<boolean>;
}
export declare class QMSFileUploadDirective implements OnInit, AfterViewInit, OnChanges {
    private ele;
    private renderer;
    isLoading: any;
    fileSelector: QMSFileUploadSelectorDirective;
    fileDisplay: QMSFileUploadDisplayDirective;
    constructor(ele: ElementRef, renderer: Renderer2);
    ngOnChanges(changes: SimpleChanges): void;
    ngOnInit(): void;
    ngAfterViewInit(): void;
    removeInvalid: () => void;
    addInvalid: () => void;
}
