import type { ISdjHost, ISdjSearch } from "./global-interfaces.js";
import type { DataJI, EntitySearch, FuncStrNumVoid, ItemSearch } from "../core/interfaces.js";
import type { IDataSdj, IDescriptionSdj, IEntitySdj, IItemSdj, IJsonSdj } from "../classes/class-interfaces.js";
export declare class SdjSearch implements ISdjSearch {
    private host;
    log: FuncStrNumVoid;
    private _host;
    constructor(host: ISdjHost);
    changeDataInfo(sdJson: IJsonSdj, newValue: boolean): void;
    dataByPath(sdJson: IJsonSdj, dataPath: string): IDataSdj | undefined;
    searchEntities(sdjDescript: IDescriptionSdj, searchEnt: EntitySearch): IEntitySdj[];
    searchItems(sdjDescript: IDescriptionSdj, searchItem: ItemSearch): IItemSdj[];
    dataByEntity(sdJson: IJsonSdj, searchEnt: EntitySearch, dataPath?: string): IDataSdj[];
    dataByItem(sdJson: IJsonSdj, searchItem: ItemSearch, dataPath?: string): IDataSdj[];
    validData(entity: IEntitySdj, dataSdj: DataJI, strict?: boolean): boolean;
    validStruct(entity: IEntitySdj, dataSdj: DataJI, parentRef: DataJI | undefined, strict?: boolean): boolean;
    private findDataErrors;
    private findStructErrors;
    private checkEntityData;
}
