import type { CoreSD, DataJI, EntityJI, GenKeyStore, NumKeyStore, SdKeyProps } from "../core/interfaces.js";
import { ESDJ_LIMIT } from "../core/statics.js";
import type { IDescriptionSdj, IEntitySdj, IItemSdj } from "./class-interfaces.js";
export declare class SdjEntity implements CoreSD, IEntitySdj {
    private _sdId;
    private _sdKey;
    private _parentIds;
    private _sdItems;
    private _extendIds;
    private _childIds;
    private _dataInfo;
    private _limiter;
    private _sdProps;
    private _description;
    private _childRefs?;
    private _itemRefs?;
    constructor(inEnt: EntityJI, description?: IDescriptionSdj | undefined);
    get sdKey(): string;
    get sdId(): number;
    get parentIds(): number[];
    get sdItems(): number[];
    get extendIds(): number[] | undefined;
    get childIds(): number[] | undefined;
    get childRefs(): NumKeyStore<IEntitySdj>;
    get itemRefs(): GenKeyStore<IItemSdj>;
    get description(): IDescriptionSdj;
    get sdProps(): SdKeyProps | undefined;
    get limiter(): ESDJ_LIMIT;
    get dataInfo(): boolean | undefined;
    set description(inDesc: IDescriptionSdj | undefined);
    validStruct(dataSdj: DataJI, parentRef: DataJI | undefined, strict?: boolean): boolean;
    validData(dataSdj: DataJI, strict?: boolean): boolean;
    genJI(): EntityJI;
    $refreshRefs(): void;
    private confirmDescript;
    private graphZeroLockout;
    static VerifyJI(inEnt: EntityJI): void;
    private static checkArrays;
}
