import { OnInit, EventEmitter } from '@angular/core';
import { CategorizationChangeEvent } from '../../events/categorization-change-event';
import { ListSearchService, ListItemModel, TaxonomyFieldDefinitionService } from 'e5core-angular-services';
import { TaxonomyCategory2Service } from 'e5core-angular-services';
import { UiStyleService } from '../../services/ui-style.service';
import { CategorizationPopulationMode } from "../../enums/categorization-population-mode";
export declare class E5coreUiCategorizationComponent implements OnInit {
    style: UiStyleService;
    private listService;
    private fieldDefinitonServices;
    private category2Service;
    readonly CATEGORY1_ID = "Category1_Id";
    readonly CATEGORY2_ID = "Category2_Id";
    readonly CATEGORY3_ID = "Category3_Id";
    hideToLevel: number;
    labels: string[];
    readonly: boolean;
    populationMode: CategorizationPopulationMode;
    categorizationChange: EventEmitter<CategorizationChangeEvent>;
    defaultComplete: EventEmitter<CategorizationChangeEvent>;
    categorization: number[];
    cat1List: ListItemModel[];
    cat2List: ListItemModel[];
    cat3List: ListItemModel[];
    cat123: number[];
    catLabels: string[];
    lastCat123: number[];
    constructor(style: UiStyleService, listService: ListSearchService, fieldDefinitonServices: TaxonomyFieldDefinitionService, category2Service: TaxonomyCategory2Service);
    ngOnInit(): void;
    applyLabels(): void;
    onCategoryChange($event: CategorizationChangeEvent): void;
    private loadCategorization1;
    private loadCategorization2;
    private loadCategorization3;
    private getCategory1;
    private InitialiseCategorisationLists;
    private SetCategorisationLists;
    private EmitCategorizationChangeEvent;
}
