import { OnInit } from '@angular/core';
import { AnyParameter, EntityViewModelParameter } from '../model/entity-parameter';
import { EventEmitter, ElementRef, ChangeDetectorRef } from '@angular/core';
import { EntityDetailsViewModel } from '../model/entity-details.view-model';
import { DeviceTypeService } from '../services/device-type.service';
import { EntityService } from '../services/entity.service';
import { SimpleParameter } from '../model/entity-parameter';
import { StorageService } from '../documents/storage.service';
import { ParametersGroup } from '../model/entity-details.view-model';
import { MatDialog } from '@angular/material/dialog';
import { Entity } from '../model/entity';
import { AfterViewInit } from '@angular/core';
import { EntitiesGroup } from '../model/entities.group';
import { Parameter } from '../model/entity-parameter';
import * as i0 from "@angular/core";
declare class EntitiesCollectionViewComponent implements OnInit {
    entityParameter: EntityViewModelParameter | AnyParameter | undefined;
    constructor();
    ngOnInit(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<EntitiesCollectionViewComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<EntitiesCollectionViewComponent, "app-entities-collection-view", never, { "entityParameter": "entityParameter"; }, {}, never, never, false>;
}
declare class EntitiesListComponent implements OnInit {
    private entittService;
    private deviceTypeService;
    private changeDetector;
    displayEntitiesInline: boolean;
    displayEntityBackground: boolean;
    entities: EntityDetailsViewModel[];
    columnsNumber: number;
    index: number;
    isProcess: boolean;
    entityClickEmitter: EventEmitter<any>;
    elementView: ElementRef;
    viewHeight: number;
    isMobile: boolean;
    constructor(entittService: EntityService, deviceTypeService: DeviceTypeService, changeDetector: ChangeDetectorRef);
    ngOnInit(): void;
    ngAfterViewInit(): void;
    entityClick(entityDetailsViewModel: EntityDetailsViewModel): void;
    equalHeightEntitiesList(): void;
    onResize(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<EntitiesListComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<EntitiesListComponent, "app-entities-list", never, { "displayEntitiesInline": "displayEntitiesInline"; "displayEntityBackground": "displayEntityBackground"; "entities": "entities"; "columnsNumber": "columnsNumber"; "index": "index"; "isProcess": "isProcess"; }, { "entityClickEmitter": "entityClickEmitter"; }, never, never, false>;
}
declare class InnerEntityDetailsComponent implements OnInit {
    private storageService;
    protected env: any;
    entityDetailsViewModel: EntityDetailsViewModel | null;
    currentPage?: number;
    expantionOpened: EventEmitter<any>;
    expantionClosed: EventEmitter<any>;
    mobWidth: any;
    isDisplayDevIndications: boolean;
    constructor(storageService: StorageService, env: any);
    ngOnInit(): void;
    getMoreClasses(): string;
    onResize(): void;
    downloadDocument(parameter: SimpleParameter): void;
    groupCollectionOpen(): void;
    groupCollectionClosed(): void;
    getIsDisplayGroup(group: any): boolean;
    static ɵfac: i0.ɵɵFactoryDeclaration<InnerEntityDetailsComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<InnerEntityDetailsComponent, "app-inner-entity-details", never, { "entityDetailsViewModel": "entityDetailsViewModel"; "currentPage": "currentPage"; }, { "expantionOpened": "expantionOpened"; "expantionClosed": "expantionClosed"; }, never, never, false>;
}
declare class ParametersGroupComponent implements OnInit {
    cd: ChangeDetectorRef;
    dialog: MatDialog;
    private deviceTypeService;
    private changeDetector;
    protected env: any;
    isMobile: boolean;
    isDisplayDevIndications: boolean;
    private _group;
    set group(value: ParametersGroup);
    get group(): ParametersGroup;
    get parameters(): AnyParameter[];
    cssClasses: string[] | undefined;
    currentPage?: number;
    downloadDocument: EventEmitter<SimpleParameter>;
    expantionOpened: EventEmitter<any>;
    expantionClosed: EventEmitter<any>;
    groups: Map<string, Entity[]> | undefined;
    private counter;
    constructor(cd: ChangeDetectorRef, dialog: MatDialog, deviceTypeService: DeviceTypeService, changeDetector: ChangeDetectorRef, env: any);
    ngOnInit(): void;
    getValueCssClassName(parameter: any): string;
    getParameterValue(parameter: any): string;
    isLongValue(parameter: any): boolean;
    getLabelCssClassName(parameter: any): string;
    valueClick(parameter: any): void;
    isSimpleParameter(parameter: AnyParameter): boolean;
    isEntityParameter(parameter: AnyParameter): boolean;
    log(message: any): void;
    getIconColor(iconName: string): string;
    getIconClass(iconName: string): string;
    getLabelLocation(parameter: any): any;
    downloadDocumentEmit(parameter: any): void;
    groupCollectionOpen(): void;
    groupCollectionClosed(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<ParametersGroupComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ParametersGroupComponent, "app-parameters-group", never, { "group": "group"; "cssClasses": "cssClasses"; "currentPage": "currentPage"; }, { "downloadDocument": "downloadDocument"; "expantionOpened": "expantionOpened"; "expantionClosed": "expantionClosed"; }, never, never, false>;
}
declare class GroupsCollectionComponent implements OnInit, AfterViewInit {
    entityParameter: EntityViewModelParameter | AnyParameter | Parameter | undefined;
    groups: EntitiesGroup[];
    expantionOpened: EventEmitter<any>;
    expantionClosed: EventEmitter<any>;
    constructor();
    ngOnInit(): void;
    ngAfterViewInit(): void;
    getChildsGroups(entities: EntityDetailsViewModel[], groupByParameterId: number): EntitiesGroup[];
    onExpantionOpened(): void;
    onExpantionClosed(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<GroupsCollectionComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<GroupsCollectionComponent, "app-groups-collection", never, { "entityParameter": "entityParameter"; }, { "expantionOpened": "expantionOpened"; "expantionClosed": "expantionClosed"; }, never, never, false>;
}
export { EntitiesCollectionViewComponent, EntitiesListComponent, InnerEntityDetailsComponent, ParametersGroupComponent, GroupsCollectionComponent };
