import type { DescriptionJI, FuncStrNumVoid } from "../core/interfaces.js";
import { ESDJ_CLASS } from "../core/statics.js";
import type { IDescriptionSdj } from "../classes/class-interfaces.js";
import type { AllSdjTypes, ISdjHost, ISdjLexicons, ISdjLibrary, ISdjSearch, SdjJITypes, Settings } from "./global-interfaces.js";
import { type ILogManager } from "../util/log.js";
declare class IntSingletonLock {
    constructor();
}
export declare class SdjHost implements ISdjHost {
    private static _instance?;
    gLog: FuncStrNumVoid;
    private _lexicons;
    private _library;
    private _search;
    private _logs;
    constructor(lockCon: IntSingletonLock, initialSet?: Settings | undefined | null);
    get library(): ISdjLibrary;
    get lexiconMgr(): ISdjLexicons;
    get searchMgr(): ISdjSearch;
    get logs(): ILogManager;
    makeDescript(descJI: DescriptionJI, unlocked?: boolean): IDescriptionSdj;
    fullDescription(inDescJI: DescriptionJI): DescriptionJI;
    getLogFunc(name: string): FuncStrNumVoid;
    checkClassInst(ji: AllSdjTypes, jiType: ESDJ_CLASS, isClass?: boolean): void;
    verifyJIbyType(ji: SdjJITypes, jiType: ESDJ_CLASS, strict?: boolean): boolean;
    createDescription(descJI: DescriptionJI): IDescriptionSdj;
    private initLogs;
    private verifyLibrary;
    static setTestingInstance(testInstance: SdjHost | undefined): void;
    static getISdjHost(options?: Settings | undefined | null): ISdjHost;
    static getHost(): SdjHost;
}
export {};
