import type { DescriptionJI, EntityJI, ILexicon, ItemJI, IValidator, SdJsonJI, SdKeyProps } from "../core/interfaces.js";
import type { ISdjHost, ISdjLexicons } from "./global-interfaces.js";
import type { IEntitySdj } from "../classes/class-interfaces.js";
export declare class SdjLexicons implements ISdjLexicons {
    private _host;
    private _names;
    private _lexicons;
    private _validators;
    private readonly _baseItemIJs;
    constructor(_host: ISdjHost, addLexicons: ILexicon[] | undefined | null);
    get names(): string[];
    getValidator(validatorType: string): IValidator;
    getByName(lexName: string): ILexicon | undefined;
    fullGraphJI(inDescJI: DescriptionJI): EntityJI[];
    newBaseItems(): ItemJI[];
    fullItemJI(inDescJI: DescriptionJI): ItemJI[];
    validateRequires(descJI: DescriptionJI): boolean;
    validateGraph(inDescJI: DescriptionJI): boolean;
    verifyData(inJson: SdJsonJI, strict?: boolean): boolean;
    calcSdKeyProps(entity: IEntitySdj, graph: IEntitySdj[]): SdKeyProps;
    private defaultValidateGraphItems;
    private checkExtendsRecursion;
    private findLexicon;
    private buildLexicon;
    private removeEntityItemIds;
    private adjustCheckItem;
    private extendEntityKeys;
    private getParentProps;
    private assignSdProps;
    private entityUniqSort;
    static VerifyJI(lexicon: ILexicon): void;
}
