import type { Observable } from "rxjs"; import type { GuidString, Id64Arg, Id64Array, Id64Set, Id64String } from "@itwin/core-bentley"; import type { HierarchyNodeIdentifiersPath, LimitingECSqlQueryExecutor } from "@itwin/presentation-hierarchies"; import type { ModelsTreeDefinition } from "../ModelsTreeDefinition.js"; import type { ChildrenTree } from "../Utils.js"; type ModelsTreeHierarchyConfiguration = ConstructorParameters[0]["hierarchyConfig"]; /** @internal */ export declare class ModelsTreeIdsCache implements Disposable { #private; constructor(queryExecutor: LimitingECSqlQueryExecutor, hierarchyConfig: ModelsTreeHierarchyConfiguration, componentId?: GuidString); [Symbol.dispose](): void; private querySubjects; private queryModels; private queryChildren; private getChildrenTreeFromMap; private getChildrenCountMap; /** * Populates #childrenLoadingMap with promises. When these promises resolve, they will populate #childrenMap with values and delete entries from #childrenLoadingMap. */ private createChildrenLoadingMapEntries; private createChildrenMapEntries; getChildrenTree({ elementIds }: { elementIds: Id64Arg; }): Observable; getAllChildrenCount({ elementIds }: { elementIds: Id64Arg; }): Observable>; private getSubjectInfos; /** Returns ECInstanceIDs of Subjects that either have direct Model or at least one child Subject with a Model. */ getParentSubjectIds(): Observable; /** * Returns child subjects of the specified parent subjects as they're displayed in the hierarchy - taking into * account `hideInHierarchy` flag. */ getChildSubjectIds(parentSubjectIds: Id64Array): Observable; /** Returns ECInstanceIDs of all Models under specific parent Subjects, including their child Subjects, etc. */ getSubjectModelIds(subjectIds: Id64Array): Observable; /** Returns ECInstanceIDs of Models under specific parent Subjects as they are displayed in the hierarchy. */ getChildSubjectModelIds(parentSubjectIds: Id64Array): Observable; createSubjectInstanceKeysPath(targetSubjectId: Id64String): Observable; private queryModelCategories; private queryModeledElements; private getModelWithCategoryModeledElements; private getModelInfos; getAllCategories(): Observable; getModelCategories(modelId: Id64String): Observable; getCategoriesOfModelsTopMostElements(modelIds: Id64Array): Observable; hasSubModel(elementId: Id64String): Observable; getCategoriesModeledElements(modelId: Id64String, categoryIds: Id64Arg): Observable; createModelInstanceKeyPaths(modelId: Id64String): Observable; private queryCategoryElementCounts; getCategoryElementsCount(modelId: Id64String, categoryId: Id64String): Observable; createCategoryInstanceKeyPaths(categoryId: Id64String): Observable; } export {}; //# sourceMappingURL=ModelsTreeIdsCache.d.ts.map