import { AfterViewInit } from '@angular/core';
import { FormControl } from '@angular/forms';
import { SideMenuControl } from '../../models/side-menu-control';
import { PetriNetResourceService } from '../../../resources/engine-endpoint/petri-net-resource.service';
import { LoggerService } from '../../../logger/services/logger.service';
import { SnackBarService } from '../../../snack-bar/services/snack-bar.service';
import { FileUploadDataModel } from '../../../data-fields/file-field/models/file-field';
import { Subscription } from 'rxjs';
import { TranslateService } from '@ngx-translate/core';
import { PetriNetEventOutcome } from '../../../event/model/event-outcomes/petrinet-outcomes/petri-net-event-outcome';
import { PathService } from "../../../navigation/service/path.service";
import * as i0 from "@angular/core";
export declare class FileUploadModel {
    stringId: string;
    data: File | FileUploadDataModel;
    inProgress: boolean;
    progress: number;
    completed: boolean;
    error?: boolean;
    uploaded?: boolean;
    downloading: boolean;
    sub?: Subscription;
}
interface FileList {
    [key: string]: FileUploadModel;
}
export declare abstract class AbstractImportNetComponent implements AfterViewInit {
    protected _sideMenuControl: SideMenuControl;
    protected _petriNetResource: PetriNetResourceService;
    protected _pathService: PathService;
    protected _log: LoggerService;
    protected _snackbar: SnackBarService;
    protected _translate: TranslateService;
    files: FileList;
    releaseTypes: Array<string>;
    releaseTypeControl: FormControl<string>;
    protected _response: PetriNetEventOutcome;
    protected _fileInput: HTMLInputElement;
    constructor(_sideMenuControl: SideMenuControl, _petriNetResource: PetriNetResourceService, _pathService: PathService, _log: LoggerService, _snackbar: SnackBarService, _translate: TranslateService);
    ngAfterViewInit(): void;
    get fileList(): Array<FileUploadModel>;
    get isAllFinished(): boolean;
    onProcessFileChosen(): void;
    cancelFile(file: FileUploadModel): void;
    retryFile(file: FileUploadModel): void;
    close(): void;
    protected setupFile(file: File): FileUploadModel;
    protected uploadFiles(): void;
    protected removeFile(file: FileUploadModel): void;
    protected uploadFile(file: FileUploadModel): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<AbstractImportNetComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AbstractImportNetComponent, "ncc-abstract-import-net", never, {}, {}, never, never, false, never>;
}
export {};
