import { AfterViewInit, ElementRef, OnChanges, OnInit, Renderer2, SimpleChanges } from "@angular/core";
import { Observable } from "rxjs";
import { QMSFileUploadDisplayDirective } from "./file-upload-display.directive";
import { QMSFileUploadSelectorDirective } from "./file-upload-selector.directive";
import * as i0 from "@angular/core";
export interface ComponentCanDeactivate {
    canDeactivate: () => Observable<boolean> | Promise<boolean> | boolean;
}
export declare class QMSUploadingFileGuard {
    constructor();
    canDeactivate(component: ComponentCanDeactivate): boolean | Observable<boolean> | Promise<boolean>;
    static ɵfac: i0.ɵɵFactoryDeclaration<QMSUploadingFileGuard, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<QMSUploadingFileGuard>;
}
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;
    static ɵfac: i0.ɵɵFactoryDeclaration<QMSFileUploadDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<QMSFileUploadDirective, "[qms-file-upload]", never, { "isLoading": { "alias": "isLoading"; "required": false; }; }, {}, ["fileSelector", "fileDisplay"], never, false, never>;
}
