import { Observable } from 'rxjs';
import { HttpClient } from '@angular/common/http';
import { EntityBaseService } from './entity-base.service';
import { OAuthService } from 'angular-oauth2-oidc';
import { Store } from '@ngrx/store';
import { EntityManagementState } from '../store/entity-management.reducer';
import { EntityStatus } from '../model/entity-status';
import { Entity } from '../model/entity';
import { UserService } from '../auth/user.service';
import { Logger } from '../../infrastructure/logger';
import * as i0 from "@angular/core";
export declare class UploadFileData {
    storedFileName: string;
    file: File;
    constructor(storedFileName: string, file: File);
}
export declare class ParameterForUpdate {
    parameterMetadataId: number;
    value: any;
    storedFileName: string;
    constructor(parameterMetadataId: number, value: any, storedFileName: string);
}
export declare class EntityForUpdate {
    id: number;
    entityMetadataId: number;
    presentationTypeId: number;
    presentationEntityId: number;
    createUser: string;
    entrepreneurId: number | null | undefined;
    parameters: ParameterForUpdate[];
    relatedEntities: EntityForUpdate[];
    isSpecificPresentation: boolean;
}
export declare class EntitiesStatusForUpdate {
    processId: number;
    statusId: number;
    entities: EntityStatus[];
}
export declare class BackgroundUpdateEntityParameters {
    id: number;
    fixedId: string;
    presentationEntityId: number;
}
export declare class BackgroundUpdateStatus {
    entityId: number;
    statusId: number;
}
export declare class UpdateResult {
    updatedEntity: Entity;
    allUpdatdEntities: BackgroundUpdateEntityParameters[];
}
export declare class UpdateEntityService extends EntityBaseService {
    protected http: HttpClient;
    protected logger: Logger;
    protected oauthService: OAuthService;
    private store;
    private userService;
    protected env: any;
    constructor(http: HttpClient, logger: Logger, oauthService: OAuthService, store: Store<EntityManagementState>, userService: UserService, env: any);
    updateEntity(entityForUpdate: EntityForUpdate): Observable<UpdateResult>;
    backgroundUpdate(backgroundUpdateEntityParameters: BackgroundUpdateEntityParameters[]): Observable<boolean>;
    backgroundUpdateOfStatuses(backgroundUpdateStatus: BackgroundUpdateStatus[]): Observable<boolean>;
    updateEntitiesStatus(statusId: number, entitiesStatus: EntityStatus[]): Observable<any>;
    get givenName(): any;
    static ɵfac: i0.ɵɵFactoryDeclaration<UpdateEntityService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<UpdateEntityService>;
}
