import { Router } from 'aurelia-router';
import { I18N } from 'aurelia-i18n';
import { BindingEngine } from "aurelia-framework";
import { ServiceBase } from "../../data/service-base";
import { EnumerationType } from "../../model/common-model";
import { CustomLogger } from "../../modules/custom-logger";
import { EnumerationTypeCategory } from "../../utils/enumeration-types-helper";
import { EntityDetailViewModelBase } from "../detail-view-model-base";
export declare abstract class EnumerationTypeDetailViewModelBase extends EntityDetailViewModelBase<EnumerationType> {
    private bindingEngine;
    private skipMandatoryLanguageForDBInfo;
    ressourceName: string;
    protected enumerationType: EnumerationTypeCategory;
    private _category;
    selectedLanguageCode: string;
    protected showOrder: boolean;
    private _enumerationTypeColorService;
    _enumerationTypesEnum: object;
    protected hasClosedEntry: boolean;
    private enumerationTypeColor;
    constructor(router: Router, logger: CustomLogger, i18n: I18N, bindingEngine: BindingEngine, skipMandatoryLanguageForDBInfo?: boolean);
    protected abstract get applicationParametersService(): ServiceBase<any>;
    protected get isClosedEntry(): boolean;
    protected get enumerationTypeColorService(): ServiceBase<any>;
    protected get enumerationTypesEnum(): object;
    protected get category(): number;
    protected get enumerationTypeConfig(): EnumerationTypeCategory;
    get ribbonHeaderText(): string;
    get documentTitle(): string;
    protected get isUniqueCodeRequired(): boolean;
    private setFirstLetterToLowerCase;
    activate(params: any): Promise<void>;
    cancel(): Promise<void>;
    attached(): void;
    activeChanged(): void;
    get tagLabel(): string;
    protected beforeSave(): Promise<boolean | void>;
}
