import { TreeViewItemMeta } from "../../models/index.js";
import { TreeViewRootSelector } from "../../utils/selectors.js";
import { UseTreeViewItemsSignature } from "./useTreeViewItems.types.js";
/**
 * Get the loading state for the Tree View.
 * @param {TreeViewState<[UseTreeViewItemsSignature]>} state The state of the tree view.
 * @returns {boolean} The loading state for the Tree View.
 */
export declare const selectorIsTreeViewLoading: ((state: import("../../corePlugins/useTreeViewId/useTreeViewId.types.js").UseTreeViewIdState & import("./useTreeViewItems.types.js").UseTreeViewItemsState<import("../../../index.js").TreeViewDefaultItemModelProperties> & Partial<{}> & {
  cacheKey: import("../../models/index.js").TreeViewStateCacheKey;
}) => boolean) & {
  clearCache: () => void;
  resultsCount: () => number;
  resetResultsCount: () => void;
} & {
  resultFunc: (resultFuncArgs_0: {
    disabledItemsFocusable: boolean;
    itemModelLookup: {
      [itemId: string]: import("../../../index.js").TreeViewBaseItem<import("../../../index.js").TreeViewDefaultItemModelProperties>;
    };
    itemMetaLookup: {
      [itemId: string]: TreeViewItemMeta;
    };
    itemOrderedChildrenIdsLookup: {
      [parentItemId: string]: string[];
    };
    itemChildrenIndexesLookup: {
      [parentItemId: string]: {
        [itemId: string]: number;
      };
    };
    loading: boolean;
    error: Error | null;
  }) => boolean;
  memoizedResultFunc: ((resultFuncArgs_0: {
    disabledItemsFocusable: boolean;
    itemModelLookup: {
      [itemId: string]: import("../../../index.js").TreeViewBaseItem<import("../../../index.js").TreeViewDefaultItemModelProperties>;
    };
    itemMetaLookup: {
      [itemId: string]: TreeViewItemMeta;
    };
    itemOrderedChildrenIdsLookup: {
      [parentItemId: string]: string[];
    };
    itemChildrenIndexesLookup: {
      [parentItemId: string]: {
        [itemId: string]: number;
      };
    };
    loading: boolean;
    error: Error | null;
  }) => boolean) & {
    clearCache: () => void;
    resultsCount: () => number;
    resetResultsCount: () => void;
  };
  lastResult: () => boolean;
  dependencies: [TreeViewRootSelector<UseTreeViewItemsSignature>];
  recomputations: () => number;
  resetRecomputations: () => void;
  dependencyRecomputations: () => number;
  resetDependencyRecomputations: () => void;
} & {
  argsMemoize: typeof import("reselect").weakMapMemoize;
  memoize: typeof import("reselect").weakMapMemoize;
};
/**
 * Get the error state for the Tree View.
 * @param {TreeViewState<[UseTreeViewItemsSignature]>} state The state of the tree view.
 * @returns {boolean} The error state for the Tree View.
 */
export declare const selectorGetTreeViewError: ((state: import("../../corePlugins/useTreeViewId/useTreeViewId.types.js").UseTreeViewIdState & import("./useTreeViewItems.types.js").UseTreeViewItemsState<import("../../../index.js").TreeViewDefaultItemModelProperties> & Partial<{}> & {
  cacheKey: import("../../models/index.js").TreeViewStateCacheKey;
}) => Error | null) & {
  clearCache: () => void;
  resultsCount: () => number;
  resetResultsCount: () => void;
} & {
  resultFunc: (resultFuncArgs_0: {
    disabledItemsFocusable: boolean;
    itemModelLookup: {
      [itemId: string]: import("../../../index.js").TreeViewBaseItem<import("../../../index.js").TreeViewDefaultItemModelProperties>;
    };
    itemMetaLookup: {
      [itemId: string]: TreeViewItemMeta;
    };
    itemOrderedChildrenIdsLookup: {
      [parentItemId: string]: string[];
    };
    itemChildrenIndexesLookup: {
      [parentItemId: string]: {
        [itemId: string]: number;
      };
    };
    loading: boolean;
    error: Error | null;
  }) => Error | null;
  memoizedResultFunc: ((resultFuncArgs_0: {
    disabledItemsFocusable: boolean;
    itemModelLookup: {
      [itemId: string]: import("../../../index.js").TreeViewBaseItem<import("../../../index.js").TreeViewDefaultItemModelProperties>;
    };
    itemMetaLookup: {
      [itemId: string]: TreeViewItemMeta;
    };
    itemOrderedChildrenIdsLookup: {
      [parentItemId: string]: string[];
    };
    itemChildrenIndexesLookup: {
      [parentItemId: string]: {
        [itemId: string]: number;
      };
    };
    loading: boolean;
    error: Error | null;
  }) => Error | null) & {
    clearCache: () => void;
    resultsCount: () => number;
    resetResultsCount: () => void;
  };
  lastResult: () => Error | null;
  dependencies: [TreeViewRootSelector<UseTreeViewItemsSignature>];
  recomputations: () => number;
  resetRecomputations: () => void;
  dependencyRecomputations: () => number;
  resetDependencyRecomputations: () => void;
} & {
  argsMemoize: typeof import("reselect").weakMapMemoize;
  memoize: typeof import("reselect").weakMapMemoize;
};
/**
 * Get the meta-information of all items.
 * @param {TreeViewState<[UseTreeViewItemsSignature]>} state The state of the tree view.
 * @returns {TreeViewItemMetaLookup} The meta-information of all items.
 */
export declare const selectorItemMetaLookup: ((state: import("../../corePlugins/useTreeViewId/useTreeViewId.types.js").UseTreeViewIdState & import("./useTreeViewItems.types.js").UseTreeViewItemsState<import("../../../index.js").TreeViewDefaultItemModelProperties> & Partial<{}> & {
  cacheKey: import("../../models/index.js").TreeViewStateCacheKey;
}) => {
  [itemId: string]: TreeViewItemMeta;
}) & {
  clearCache: () => void;
  resultsCount: () => number;
  resetResultsCount: () => void;
} & {
  resultFunc: (resultFuncArgs_0: {
    disabledItemsFocusable: boolean;
    itemModelLookup: {
      [itemId: string]: import("../../../index.js").TreeViewBaseItem<import("../../../index.js").TreeViewDefaultItemModelProperties>;
    };
    itemMetaLookup: {
      [itemId: string]: TreeViewItemMeta;
    };
    itemOrderedChildrenIdsLookup: {
      [parentItemId: string]: string[];
    };
    itemChildrenIndexesLookup: {
      [parentItemId: string]: {
        [itemId: string]: number;
      };
    };
    loading: boolean;
    error: Error | null;
  }) => {
    [itemId: string]: TreeViewItemMeta;
  };
  memoizedResultFunc: ((resultFuncArgs_0: {
    disabledItemsFocusable: boolean;
    itemModelLookup: {
      [itemId: string]: import("../../../index.js").TreeViewBaseItem<import("../../../index.js").TreeViewDefaultItemModelProperties>;
    };
    itemMetaLookup: {
      [itemId: string]: TreeViewItemMeta;
    };
    itemOrderedChildrenIdsLookup: {
      [parentItemId: string]: string[];
    };
    itemChildrenIndexesLookup: {
      [parentItemId: string]: {
        [itemId: string]: number;
      };
    };
    loading: boolean;
    error: Error | null;
  }) => {
    [itemId: string]: TreeViewItemMeta;
  }) & {
    clearCache: () => void;
    resultsCount: () => number;
    resetResultsCount: () => void;
  };
  lastResult: () => {
    [itemId: string]: TreeViewItemMeta;
  };
  dependencies: [TreeViewRootSelector<UseTreeViewItemsSignature>];
  recomputations: () => number;
  resetRecomputations: () => void;
  dependencyRecomputations: () => number;
  resetDependencyRecomputations: () => void;
} & {
  argsMemoize: typeof import("reselect").weakMapMemoize;
  memoize: typeof import("reselect").weakMapMemoize;
};
/**
 * Get the ordered children ids of a given item.
 * @param {TreeViewState<[UseTreeViewItemsSignature]>} state The state of the tree view.
 * @param {TreeViewItemId} itemId The id of the item to get the children of.
 * @returns {TreeViewItemId[]} The ordered children ids of the item.
 */
export declare const selectorItemOrderedChildrenIds: ((state: any, itemId: string | null) => string[]) & {
  clearCache: () => void;
  resultsCount: () => number;
  resetResultsCount: () => void;
} & {
  resultFunc: (resultFuncArgs_0: {
    disabledItemsFocusable: boolean;
    itemModelLookup: {
      [itemId: string]: import("../../../index.js").TreeViewBaseItem<import("../../../index.js").TreeViewDefaultItemModelProperties>;
    };
    itemMetaLookup: {
      [itemId: string]: TreeViewItemMeta;
    };
    itemOrderedChildrenIdsLookup: {
      [parentItemId: string]: string[];
    };
    itemChildrenIndexesLookup: {
      [parentItemId: string]: {
        [itemId: string]: number;
      };
    };
    loading: boolean;
    error: Error | null;
  }, resultFuncArgs_1: string | null) => string[];
  memoizedResultFunc: ((resultFuncArgs_0: {
    disabledItemsFocusable: boolean;
    itemModelLookup: {
      [itemId: string]: import("../../../index.js").TreeViewBaseItem<import("../../../index.js").TreeViewDefaultItemModelProperties>;
    };
    itemMetaLookup: {
      [itemId: string]: TreeViewItemMeta;
    };
    itemOrderedChildrenIdsLookup: {
      [parentItemId: string]: string[];
    };
    itemChildrenIndexesLookup: {
      [parentItemId: string]: {
        [itemId: string]: number;
      };
    };
    loading: boolean;
    error: Error | null;
  }, resultFuncArgs_1: string | null) => string[]) & {
    clearCache: () => void;
    resultsCount: () => number;
    resetResultsCount: () => void;
  };
  lastResult: () => string[];
  dependencies: [TreeViewRootSelector<UseTreeViewItemsSignature>, (_: any, itemId: string | null) => string | null];
  recomputations: () => number;
  resetRecomputations: () => void;
  dependencyRecomputations: () => number;
  resetDependencyRecomputations: () => void;
} & {
  argsMemoize: typeof import("reselect").weakMapMemoize;
  memoize: typeof import("reselect").weakMapMemoize;
};
/**
 * Get the model of an item.
 * @param {TreeViewState<[UseTreeViewItemsSignature]>} state The state of the tree view.
 * @param {TreeViewItemId} itemId The id of the item to get the model of.
 * @returns {R} The model of the item.
 */
export declare const selectorItemModel: ((state: any, itemId: string) => import("../../../index.js").TreeViewBaseItem<import("../../../index.js").TreeViewDefaultItemModelProperties>) & {
  clearCache: () => void;
  resultsCount: () => number;
  resetResultsCount: () => void;
} & {
  resultFunc: (resultFuncArgs_0: {
    disabledItemsFocusable: boolean;
    itemModelLookup: {
      [itemId: string]: import("../../../index.js").TreeViewBaseItem<import("../../../index.js").TreeViewDefaultItemModelProperties>;
    };
    itemMetaLookup: {
      [itemId: string]: TreeViewItemMeta;
    };
    itemOrderedChildrenIdsLookup: {
      [parentItemId: string]: string[];
    };
    itemChildrenIndexesLookup: {
      [parentItemId: string]: {
        [itemId: string]: number;
      };
    };
    loading: boolean;
    error: Error | null;
  }, resultFuncArgs_1: string) => import("../../../index.js").TreeViewBaseItem<import("../../../index.js").TreeViewDefaultItemModelProperties>;
  memoizedResultFunc: ((resultFuncArgs_0: {
    disabledItemsFocusable: boolean;
    itemModelLookup: {
      [itemId: string]: import("../../../index.js").TreeViewBaseItem<import("../../../index.js").TreeViewDefaultItemModelProperties>;
    };
    itemMetaLookup: {
      [itemId: string]: TreeViewItemMeta;
    };
    itemOrderedChildrenIdsLookup: {
      [parentItemId: string]: string[];
    };
    itemChildrenIndexesLookup: {
      [parentItemId: string]: {
        [itemId: string]: number;
      };
    };
    loading: boolean;
    error: Error | null;
  }, resultFuncArgs_1: string) => import("../../../index.js").TreeViewBaseItem<import("../../../index.js").TreeViewDefaultItemModelProperties>) & {
    clearCache: () => void;
    resultsCount: () => number;
    resetResultsCount: () => void;
  };
  lastResult: () => import("../../../index.js").TreeViewBaseItem<import("../../../index.js").TreeViewDefaultItemModelProperties>;
  dependencies: [TreeViewRootSelector<UseTreeViewItemsSignature>, (_: any, itemId: string) => string];
  recomputations: () => number;
  resetRecomputations: () => void;
  dependencyRecomputations: () => number;
  resetDependencyRecomputations: () => void;
} & {
  argsMemoize: typeof import("reselect").weakMapMemoize;
  memoize: typeof import("reselect").weakMapMemoize;
};
/**
 * Get the meta-information of an item.
 * Check the `TreeViewItemMeta` type for more information.
 * @param {TreeViewState<[UseTreeViewItemsSignature]>}
 * @param {TreeViewItemId} itemId The id of the item to get the meta-information of.
 * @returns {TreeViewItemMeta | null} The meta-information of the item.
 */
export declare const selectorItemMeta: ((state: any, itemId: string | null) => TreeViewItemMeta | null) & {
  clearCache: () => void;
  resultsCount: () => number;
  resetResultsCount: () => void;
} & {
  resultFunc: (resultFuncArgs_0: {
    [itemId: string]: TreeViewItemMeta;
  }, resultFuncArgs_1: string | null) => TreeViewItemMeta | null;
  memoizedResultFunc: ((resultFuncArgs_0: {
    [itemId: string]: TreeViewItemMeta;
  }, resultFuncArgs_1: string | null) => TreeViewItemMeta | null) & {
    clearCache: () => void;
    resultsCount: () => number;
    resetResultsCount: () => void;
  };
  lastResult: () => TreeViewItemMeta | null;
  dependencies: [((state: import("../../corePlugins/useTreeViewId/useTreeViewId.types.js").UseTreeViewIdState & import("./useTreeViewItems.types.js").UseTreeViewItemsState<import("../../../index.js").TreeViewDefaultItemModelProperties> & Partial<{}> & {
    cacheKey: import("../../models/index.js").TreeViewStateCacheKey;
  }) => {
    [itemId: string]: TreeViewItemMeta;
  }) & {
    clearCache: () => void;
    resultsCount: () => number;
    resetResultsCount: () => void;
  } & {
    resultFunc: (resultFuncArgs_0: {
      disabledItemsFocusable: boolean;
      itemModelLookup: {
        [itemId: string]: import("../../../index.js").TreeViewBaseItem<import("../../../index.js").TreeViewDefaultItemModelProperties>;
      };
      itemMetaLookup: {
        [itemId: string]: TreeViewItemMeta;
      };
      itemOrderedChildrenIdsLookup: {
        [parentItemId: string]: string[];
      };
      itemChildrenIndexesLookup: {
        [parentItemId: string]: {
          [itemId: string]: number;
        };
      };
      loading: boolean;
      error: Error | null;
    }) => {
      [itemId: string]: TreeViewItemMeta;
    };
    memoizedResultFunc: ((resultFuncArgs_0: {
      disabledItemsFocusable: boolean;
      itemModelLookup: {
        [itemId: string]: import("../../../index.js").TreeViewBaseItem<import("../../../index.js").TreeViewDefaultItemModelProperties>;
      };
      itemMetaLookup: {
        [itemId: string]: TreeViewItemMeta;
      };
      itemOrderedChildrenIdsLookup: {
        [parentItemId: string]: string[];
      };
      itemChildrenIndexesLookup: {
        [parentItemId: string]: {
          [itemId: string]: number;
        };
      };
      loading: boolean;
      error: Error | null;
    }) => {
      [itemId: string]: TreeViewItemMeta;
    }) & {
      clearCache: () => void;
      resultsCount: () => number;
      resetResultsCount: () => void;
    };
    lastResult: () => {
      [itemId: string]: TreeViewItemMeta;
    };
    dependencies: [TreeViewRootSelector<UseTreeViewItemsSignature>];
    recomputations: () => number;
    resetRecomputations: () => void;
    dependencyRecomputations: () => number;
    resetDependencyRecomputations: () => void;
  } & {
    argsMemoize: typeof import("reselect").weakMapMemoize;
    memoize: typeof import("reselect").weakMapMemoize;
  }, (_: any, itemId: string | null) => string | null];
  recomputations: () => number;
  resetRecomputations: () => void;
  dependencyRecomputations: () => number;
  resetDependencyRecomputations: () => void;
} & {
  argsMemoize: typeof import("reselect").weakMapMemoize;
  memoize: typeof import("reselect").weakMapMemoize;
};
/**
 * Check if an item is disabled.
 * @param {TreeViewState<[UseTreeViewItemsSignature]>} state The state of the tree view.
 * @param {TreeViewItemId} itemId The id of the item to check.
 * @returns {boolean} `true` if the item is disabled, `false` otherwise.
 */
export declare const selectorIsItemDisabled: ((state: any, itemId: string) => boolean) & {
  clearCache: () => void;
  resultsCount: () => number;
  resetResultsCount: () => void;
} & {
  resultFunc: (resultFuncArgs_0: {
    [itemId: string]: TreeViewItemMeta;
  }, resultFuncArgs_1: string) => boolean;
  memoizedResultFunc: ((resultFuncArgs_0: {
    [itemId: string]: TreeViewItemMeta;
  }, resultFuncArgs_1: string) => boolean) & {
    clearCache: () => void;
    resultsCount: () => number;
    resetResultsCount: () => void;
  };
  lastResult: () => boolean;
  dependencies: [((state: import("../../corePlugins/useTreeViewId/useTreeViewId.types.js").UseTreeViewIdState & import("./useTreeViewItems.types.js").UseTreeViewItemsState<import("../../../index.js").TreeViewDefaultItemModelProperties> & Partial<{}> & {
    cacheKey: import("../../models/index.js").TreeViewStateCacheKey;
  }) => {
    [itemId: string]: TreeViewItemMeta;
  }) & {
    clearCache: () => void;
    resultsCount: () => number;
    resetResultsCount: () => void;
  } & {
    resultFunc: (resultFuncArgs_0: {
      disabledItemsFocusable: boolean;
      itemModelLookup: {
        [itemId: string]: import("../../../index.js").TreeViewBaseItem<import("../../../index.js").TreeViewDefaultItemModelProperties>;
      };
      itemMetaLookup: {
        [itemId: string]: TreeViewItemMeta;
      };
      itemOrderedChildrenIdsLookup: {
        [parentItemId: string]: string[];
      };
      itemChildrenIndexesLookup: {
        [parentItemId: string]: {
          [itemId: string]: number;
        };
      };
      loading: boolean;
      error: Error | null;
    }) => {
      [itemId: string]: TreeViewItemMeta;
    };
    memoizedResultFunc: ((resultFuncArgs_0: {
      disabledItemsFocusable: boolean;
      itemModelLookup: {
        [itemId: string]: import("../../../index.js").TreeViewBaseItem<import("../../../index.js").TreeViewDefaultItemModelProperties>;
      };
      itemMetaLookup: {
        [itemId: string]: TreeViewItemMeta;
      };
      itemOrderedChildrenIdsLookup: {
        [parentItemId: string]: string[];
      };
      itemChildrenIndexesLookup: {
        [parentItemId: string]: {
          [itemId: string]: number;
        };
      };
      loading: boolean;
      error: Error | null;
    }) => {
      [itemId: string]: TreeViewItemMeta;
    }) & {
      clearCache: () => void;
      resultsCount: () => number;
      resetResultsCount: () => void;
    };
    lastResult: () => {
      [itemId: string]: TreeViewItemMeta;
    };
    dependencies: [TreeViewRootSelector<UseTreeViewItemsSignature>];
    recomputations: () => number;
    resetRecomputations: () => void;
    dependencyRecomputations: () => number;
    resetDependencyRecomputations: () => void;
  } & {
    argsMemoize: typeof import("reselect").weakMapMemoize;
    memoize: typeof import("reselect").weakMapMemoize;
  }, (_: any, itemId: string) => string];
  recomputations: () => number;
  resetRecomputations: () => void;
  dependencyRecomputations: () => number;
  resetDependencyRecomputations: () => void;
} & {
  argsMemoize: typeof import("reselect").weakMapMemoize;
  memoize: typeof import("reselect").weakMapMemoize;
};
/**
 * Get the index of an item in its parent's children.
 * @param {TreeViewState<[UseTreeViewItemsSignature]>} state The state of the tree view.
 * @param {TreeViewItemId} itemId The id of the item to get the index of.
 * @returns {number} The index of the item in its parent's children.
 */
export declare const selectorItemIndex: ((state: any, itemId: string | null) => number) & {
  clearCache: () => void;
  resultsCount: () => number;
  resetResultsCount: () => void;
} & {
  resultFunc: (resultFuncArgs_0: {
    disabledItemsFocusable: boolean;
    itemModelLookup: {
      [itemId: string]: import("../../../index.js").TreeViewBaseItem<import("../../../index.js").TreeViewDefaultItemModelProperties>;
    };
    itemMetaLookup: {
      [itemId: string]: TreeViewItemMeta;
    };
    itemOrderedChildrenIdsLookup: {
      [parentItemId: string]: string[];
    };
    itemChildrenIndexesLookup: {
      [parentItemId: string]: {
        [itemId: string]: number;
      };
    };
    loading: boolean;
    error: Error | null;
  }, resultFuncArgs_1: TreeViewItemMeta | null) => number;
  memoizedResultFunc: ((resultFuncArgs_0: {
    disabledItemsFocusable: boolean;
    itemModelLookup: {
      [itemId: string]: import("../../../index.js").TreeViewBaseItem<import("../../../index.js").TreeViewDefaultItemModelProperties>;
    };
    itemMetaLookup: {
      [itemId: string]: TreeViewItemMeta;
    };
    itemOrderedChildrenIdsLookup: {
      [parentItemId: string]: string[];
    };
    itemChildrenIndexesLookup: {
      [parentItemId: string]: {
        [itemId: string]: number;
      };
    };
    loading: boolean;
    error: Error | null;
  }, resultFuncArgs_1: TreeViewItemMeta | null) => number) & {
    clearCache: () => void;
    resultsCount: () => number;
    resetResultsCount: () => void;
  };
  lastResult: () => number;
  dependencies: [TreeViewRootSelector<UseTreeViewItemsSignature>, ((state: any, itemId: string | null) => TreeViewItemMeta | null) & {
    clearCache: () => void;
    resultsCount: () => number;
    resetResultsCount: () => void;
  } & {
    resultFunc: (resultFuncArgs_0: {
      [itemId: string]: TreeViewItemMeta;
    }, resultFuncArgs_1: string | null) => TreeViewItemMeta | null;
    memoizedResultFunc: ((resultFuncArgs_0: {
      [itemId: string]: TreeViewItemMeta;
    }, resultFuncArgs_1: string | null) => TreeViewItemMeta | null) & {
      clearCache: () => void;
      resultsCount: () => number;
      resetResultsCount: () => void;
    };
    lastResult: () => TreeViewItemMeta | null;
    dependencies: [((state: import("../../corePlugins/useTreeViewId/useTreeViewId.types.js").UseTreeViewIdState & import("./useTreeViewItems.types.js").UseTreeViewItemsState<import("../../../index.js").TreeViewDefaultItemModelProperties> & Partial<{}> & {
      cacheKey: import("../../models/index.js").TreeViewStateCacheKey;
    }) => {
      [itemId: string]: TreeViewItemMeta;
    }) & {
      clearCache: () => void;
      resultsCount: () => number;
      resetResultsCount: () => void;
    } & {
      resultFunc: (resultFuncArgs_0: {
        disabledItemsFocusable: boolean;
        itemModelLookup: {
          [itemId: string]: import("../../../index.js").TreeViewBaseItem<import("../../../index.js").TreeViewDefaultItemModelProperties>;
        };
        itemMetaLookup: {
          [itemId: string]: TreeViewItemMeta;
        };
        itemOrderedChildrenIdsLookup: {
          [parentItemId: string]: string[];
        };
        itemChildrenIndexesLookup: {
          [parentItemId: string]: {
            [itemId: string]: number;
          };
        };
        loading: boolean;
        error: Error | null;
      }) => {
        [itemId: string]: TreeViewItemMeta;
      };
      memoizedResultFunc: ((resultFuncArgs_0: {
        disabledItemsFocusable: boolean;
        itemModelLookup: {
          [itemId: string]: import("../../../index.js").TreeViewBaseItem<import("../../../index.js").TreeViewDefaultItemModelProperties>;
        };
        itemMetaLookup: {
          [itemId: string]: TreeViewItemMeta;
        };
        itemOrderedChildrenIdsLookup: {
          [parentItemId: string]: string[];
        };
        itemChildrenIndexesLookup: {
          [parentItemId: string]: {
            [itemId: string]: number;
          };
        };
        loading: boolean;
        error: Error | null;
      }) => {
        [itemId: string]: TreeViewItemMeta;
      }) & {
        clearCache: () => void;
        resultsCount: () => number;
        resetResultsCount: () => void;
      };
      lastResult: () => {
        [itemId: string]: TreeViewItemMeta;
      };
      dependencies: [TreeViewRootSelector<UseTreeViewItemsSignature>];
      recomputations: () => number;
      resetRecomputations: () => void;
      dependencyRecomputations: () => number;
      resetDependencyRecomputations: () => void;
    } & {
      argsMemoize: typeof import("reselect").weakMapMemoize;
      memoize: typeof import("reselect").weakMapMemoize;
    }, (_: any, itemId: string | null) => string | null];
    recomputations: () => number;
    resetRecomputations: () => void;
    dependencyRecomputations: () => number;
    resetDependencyRecomputations: () => void;
  } & {
    argsMemoize: typeof import("reselect").weakMapMemoize;
    memoize: typeof import("reselect").weakMapMemoize;
  }];
  recomputations: () => number;
  resetRecomputations: () => void;
  dependencyRecomputations: () => number;
  resetDependencyRecomputations: () => void;
} & {
  argsMemoize: typeof import("reselect").weakMapMemoize;
  memoize: typeof import("reselect").weakMapMemoize;
};
/**
 * Get the id of the parent of an item.
 * @param {TreeViewState<[UseTreeViewItemsSignature]>} state The state of the tree view.
 * @param {TreeViewItemId} itemId The id of the item to get the parent id of.
 * @returns {TreeViewItemId | null} The id of the parent of the item.
 */
export declare const selectorItemParentId: ((state: any, itemId: string | null) => string | null) & {
  clearCache: () => void;
  resultsCount: () => number;
  resetResultsCount: () => void;
} & {
  resultFunc: (resultFuncArgs_0: TreeViewItemMeta | null) => string | null;
  memoizedResultFunc: ((resultFuncArgs_0: TreeViewItemMeta | null) => string | null) & {
    clearCache: () => void;
    resultsCount: () => number;
    resetResultsCount: () => void;
  };
  lastResult: () => string | null;
  dependencies: [((state: any, itemId: string | null) => TreeViewItemMeta | null) & {
    clearCache: () => void;
    resultsCount: () => number;
    resetResultsCount: () => void;
  } & {
    resultFunc: (resultFuncArgs_0: {
      [itemId: string]: TreeViewItemMeta;
    }, resultFuncArgs_1: string | null) => TreeViewItemMeta | null;
    memoizedResultFunc: ((resultFuncArgs_0: {
      [itemId: string]: TreeViewItemMeta;
    }, resultFuncArgs_1: string | null) => TreeViewItemMeta | null) & {
      clearCache: () => void;
      resultsCount: () => number;
      resetResultsCount: () => void;
    };
    lastResult: () => TreeViewItemMeta | null;
    dependencies: [((state: import("../../corePlugins/useTreeViewId/useTreeViewId.types.js").UseTreeViewIdState & import("./useTreeViewItems.types.js").UseTreeViewItemsState<import("../../../index.js").TreeViewDefaultItemModelProperties> & Partial<{}> & {
      cacheKey: import("../../models/index.js").TreeViewStateCacheKey;
    }) => {
      [itemId: string]: TreeViewItemMeta;
    }) & {
      clearCache: () => void;
      resultsCount: () => number;
      resetResultsCount: () => void;
    } & {
      resultFunc: (resultFuncArgs_0: {
        disabledItemsFocusable: boolean;
        itemModelLookup: {
          [itemId: string]: import("../../../index.js").TreeViewBaseItem<import("../../../index.js").TreeViewDefaultItemModelProperties>;
        };
        itemMetaLookup: {
          [itemId: string]: TreeViewItemMeta;
        };
        itemOrderedChildrenIdsLookup: {
          [parentItemId: string]: string[];
        };
        itemChildrenIndexesLookup: {
          [parentItemId: string]: {
            [itemId: string]: number;
          };
        };
        loading: boolean;
        error: Error | null;
      }) => {
        [itemId: string]: TreeViewItemMeta;
      };
      memoizedResultFunc: ((resultFuncArgs_0: {
        disabledItemsFocusable: boolean;
        itemModelLookup: {
          [itemId: string]: import("../../../index.js").TreeViewBaseItem<import("../../../index.js").TreeViewDefaultItemModelProperties>;
        };
        itemMetaLookup: {
          [itemId: string]: TreeViewItemMeta;
        };
        itemOrderedChildrenIdsLookup: {
          [parentItemId: string]: string[];
        };
        itemChildrenIndexesLookup: {
          [parentItemId: string]: {
            [itemId: string]: number;
          };
        };
        loading: boolean;
        error: Error | null;
      }) => {
        [itemId: string]: TreeViewItemMeta;
      }) & {
        clearCache: () => void;
        resultsCount: () => number;
        resetResultsCount: () => void;
      };
      lastResult: () => {
        [itemId: string]: TreeViewItemMeta;
      };
      dependencies: [TreeViewRootSelector<UseTreeViewItemsSignature>];
      recomputations: () => number;
      resetRecomputations: () => void;
      dependencyRecomputations: () => number;
      resetDependencyRecomputations: () => void;
    } & {
      argsMemoize: typeof import("reselect").weakMapMemoize;
      memoize: typeof import("reselect").weakMapMemoize;
    }, (_: any, itemId: string | null) => string | null];
    recomputations: () => number;
    resetRecomputations: () => void;
    dependencyRecomputations: () => number;
    resetDependencyRecomputations: () => void;
  } & {
    argsMemoize: typeof import("reselect").weakMapMemoize;
    memoize: typeof import("reselect").weakMapMemoize;
  }];
  recomputations: () => number;
  resetRecomputations: () => void;
  dependencyRecomputations: () => number;
  resetDependencyRecomputations: () => void;
} & {
  argsMemoize: typeof import("reselect").weakMapMemoize;
  memoize: typeof import("reselect").weakMapMemoize;
};
/**
 * Get the depth of an item (items at the root level have a depth of 0).
 * @param {TreeViewState<[UseTreeViewItemsSignature]>} state The state of the tree view.
 * @param {TreeViewItemId} itemId The id of the item to get the depth of.
 * @returns {number} The depth of the item.
 */
export declare const selectorItemDepth: ((state: any, itemId: string | null) => number) & {
  clearCache: () => void;
  resultsCount: () => number;
  resetResultsCount: () => void;
} & {
  resultFunc: (resultFuncArgs_0: TreeViewItemMeta | null) => number;
  memoizedResultFunc: ((resultFuncArgs_0: TreeViewItemMeta | null) => number) & {
    clearCache: () => void;
    resultsCount: () => number;
    resetResultsCount: () => void;
  };
  lastResult: () => number;
  dependencies: [((state: any, itemId: string | null) => TreeViewItemMeta | null) & {
    clearCache: () => void;
    resultsCount: () => number;
    resetResultsCount: () => void;
  } & {
    resultFunc: (resultFuncArgs_0: {
      [itemId: string]: TreeViewItemMeta;
    }, resultFuncArgs_1: string | null) => TreeViewItemMeta | null;
    memoizedResultFunc: ((resultFuncArgs_0: {
      [itemId: string]: TreeViewItemMeta;
    }, resultFuncArgs_1: string | null) => TreeViewItemMeta | null) & {
      clearCache: () => void;
      resultsCount: () => number;
      resetResultsCount: () => void;
    };
    lastResult: () => TreeViewItemMeta | null;
    dependencies: [((state: import("../../corePlugins/useTreeViewId/useTreeViewId.types.js").UseTreeViewIdState & import("./useTreeViewItems.types.js").UseTreeViewItemsState<import("../../../index.js").TreeViewDefaultItemModelProperties> & Partial<{}> & {
      cacheKey: import("../../models/index.js").TreeViewStateCacheKey;
    }) => {
      [itemId: string]: TreeViewItemMeta;
    }) & {
      clearCache: () => void;
      resultsCount: () => number;
      resetResultsCount: () => void;
    } & {
      resultFunc: (resultFuncArgs_0: {
        disabledItemsFocusable: boolean;
        itemModelLookup: {
          [itemId: string]: import("../../../index.js").TreeViewBaseItem<import("../../../index.js").TreeViewDefaultItemModelProperties>;
        };
        itemMetaLookup: {
          [itemId: string]: TreeViewItemMeta;
        };
        itemOrderedChildrenIdsLookup: {
          [parentItemId: string]: string[];
        };
        itemChildrenIndexesLookup: {
          [parentItemId: string]: {
            [itemId: string]: number;
          };
        };
        loading: boolean;
        error: Error | null;
      }) => {
        [itemId: string]: TreeViewItemMeta;
      };
      memoizedResultFunc: ((resultFuncArgs_0: {
        disabledItemsFocusable: boolean;
        itemModelLookup: {
          [itemId: string]: import("../../../index.js").TreeViewBaseItem<import("../../../index.js").TreeViewDefaultItemModelProperties>;
        };
        itemMetaLookup: {
          [itemId: string]: TreeViewItemMeta;
        };
        itemOrderedChildrenIdsLookup: {
          [parentItemId: string]: string[];
        };
        itemChildrenIndexesLookup: {
          [parentItemId: string]: {
            [itemId: string]: number;
          };
        };
        loading: boolean;
        error: Error | null;
      }) => {
        [itemId: string]: TreeViewItemMeta;
      }) & {
        clearCache: () => void;
        resultsCount: () => number;
        resetResultsCount: () => void;
      };
      lastResult: () => {
        [itemId: string]: TreeViewItemMeta;
      };
      dependencies: [TreeViewRootSelector<UseTreeViewItemsSignature>];
      recomputations: () => number;
      resetRecomputations: () => void;
      dependencyRecomputations: () => number;
      resetDependencyRecomputations: () => void;
    } & {
      argsMemoize: typeof import("reselect").weakMapMemoize;
      memoize: typeof import("reselect").weakMapMemoize;
    }, (_: any, itemId: string | null) => string | null];
    recomputations: () => number;
    resetRecomputations: () => void;
    dependencyRecomputations: () => number;
    resetDependencyRecomputations: () => void;
  } & {
    argsMemoize: typeof import("reselect").weakMapMemoize;
    memoize: typeof import("reselect").weakMapMemoize;
  }];
  recomputations: () => number;
  resetRecomputations: () => void;
  dependencyRecomputations: () => number;
  resetDependencyRecomputations: () => void;
} & {
  argsMemoize: typeof import("reselect").weakMapMemoize;
  memoize: typeof import("reselect").weakMapMemoize;
};
/**
 * Check if the disabled items are focusable.
 * @param {TreeViewState<[UseTreeViewItemsSignature]>} state The state of the tree view.
 * @returns {boolean} Whether the disabled items are focusable.
 */
export declare const selectorDisabledItemFocusable: ((state: import("../../corePlugins/useTreeViewId/useTreeViewId.types.js").UseTreeViewIdState & import("./useTreeViewItems.types.js").UseTreeViewItemsState<import("../../../index.js").TreeViewDefaultItemModelProperties> & Partial<{}> & {
  cacheKey: import("../../models/index.js").TreeViewStateCacheKey;
}) => boolean) & {
  clearCache: () => void;
  resultsCount: () => number;
  resetResultsCount: () => void;
} & {
  resultFunc: (resultFuncArgs_0: {
    disabledItemsFocusable: boolean;
    itemModelLookup: {
      [itemId: string]: import("../../../index.js").TreeViewBaseItem<import("../../../index.js").TreeViewDefaultItemModelProperties>;
    };
    itemMetaLookup: {
      [itemId: string]: TreeViewItemMeta;
    };
    itemOrderedChildrenIdsLookup: {
      [parentItemId: string]: string[];
    };
    itemChildrenIndexesLookup: {
      [parentItemId: string]: {
        [itemId: string]: number;
      };
    };
    loading: boolean;
    error: Error | null;
  }) => boolean;
  memoizedResultFunc: ((resultFuncArgs_0: {
    disabledItemsFocusable: boolean;
    itemModelLookup: {
      [itemId: string]: import("../../../index.js").TreeViewBaseItem<import("../../../index.js").TreeViewDefaultItemModelProperties>;
    };
    itemMetaLookup: {
      [itemId: string]: TreeViewItemMeta;
    };
    itemOrderedChildrenIdsLookup: {
      [parentItemId: string]: string[];
    };
    itemChildrenIndexesLookup: {
      [parentItemId: string]: {
        [itemId: string]: number;
      };
    };
    loading: boolean;
    error: Error | null;
  }) => boolean) & {
    clearCache: () => void;
    resultsCount: () => number;
    resetResultsCount: () => void;
  };
  lastResult: () => boolean;
  dependencies: [TreeViewRootSelector<UseTreeViewItemsSignature>];
  recomputations: () => number;
  resetRecomputations: () => void;
  dependencyRecomputations: () => number;
  resetDependencyRecomputations: () => void;
} & {
  argsMemoize: typeof import("reselect").weakMapMemoize;
  memoize: typeof import("reselect").weakMapMemoize;
};
export declare const selectorCanItemBeFocused: ((state: any, itemId: string) => boolean) & {
  clearCache: () => void;
  resultsCount: () => number;
  resetResultsCount: () => void;
} & {
  resultFunc: (resultFuncArgs_0: boolean, resultFuncArgs_1: boolean) => boolean;
  memoizedResultFunc: ((resultFuncArgs_0: boolean, resultFuncArgs_1: boolean) => boolean) & {
    clearCache: () => void;
    resultsCount: () => number;
    resetResultsCount: () => void;
  };
  lastResult: () => boolean;
  dependencies: [((state: import("../../corePlugins/useTreeViewId/useTreeViewId.types.js").UseTreeViewIdState & import("./useTreeViewItems.types.js").UseTreeViewItemsState<import("../../../index.js").TreeViewDefaultItemModelProperties> & Partial<{}> & {
    cacheKey: import("../../models/index.js").TreeViewStateCacheKey;
  }) => boolean) & {
    clearCache: () => void;
    resultsCount: () => number;
    resetResultsCount: () => void;
  } & {
    resultFunc: (resultFuncArgs_0: {
      disabledItemsFocusable: boolean;
      itemModelLookup: {
        [itemId: string]: import("../../../index.js").TreeViewBaseItem<import("../../../index.js").TreeViewDefaultItemModelProperties>;
      };
      itemMetaLookup: {
        [itemId: string]: TreeViewItemMeta;
      };
      itemOrderedChildrenIdsLookup: {
        [parentItemId: string]: string[];
      };
      itemChildrenIndexesLookup: {
        [parentItemId: string]: {
          [itemId: string]: number;
        };
      };
      loading: boolean;
      error: Error | null;
    }) => boolean;
    memoizedResultFunc: ((resultFuncArgs_0: {
      disabledItemsFocusable: boolean;
      itemModelLookup: {
        [itemId: string]: import("../../../index.js").TreeViewBaseItem<import("../../../index.js").TreeViewDefaultItemModelProperties>;
      };
      itemMetaLookup: {
        [itemId: string]: TreeViewItemMeta;
      };
      itemOrderedChildrenIdsLookup: {
        [parentItemId: string]: string[];
      };
      itemChildrenIndexesLookup: {
        [parentItemId: string]: {
          [itemId: string]: number;
        };
      };
      loading: boolean;
      error: Error | null;
    }) => boolean) & {
      clearCache: () => void;
      resultsCount: () => number;
      resetResultsCount: () => void;
    };
    lastResult: () => boolean;
    dependencies: [TreeViewRootSelector<UseTreeViewItemsSignature>];
    recomputations: () => number;
    resetRecomputations: () => void;
    dependencyRecomputations: () => number;
    resetDependencyRecomputations: () => void;
  } & {
    argsMemoize: typeof import("reselect").weakMapMemoize;
    memoize: typeof import("reselect").weakMapMemoize;
  }, ((state: any, itemId: string) => boolean) & {
    clearCache: () => void;
    resultsCount: () => number;
    resetResultsCount: () => void;
  } & {
    resultFunc: (resultFuncArgs_0: {
      [itemId: string]: TreeViewItemMeta;
    }, resultFuncArgs_1: string) => boolean;
    memoizedResultFunc: ((resultFuncArgs_0: {
      [itemId: string]: TreeViewItemMeta;
    }, resultFuncArgs_1: string) => boolean) & {
      clearCache: () => void;
      resultsCount: () => number;
      resetResultsCount: () => void;
    };
    lastResult: () => boolean;
    dependencies: [((state: import("../../corePlugins/useTreeViewId/useTreeViewId.types.js").UseTreeViewIdState & import("./useTreeViewItems.types.js").UseTreeViewItemsState<import("../../../index.js").TreeViewDefaultItemModelProperties> & Partial<{}> & {
      cacheKey: import("../../models/index.js").TreeViewStateCacheKey;
    }) => {
      [itemId: string]: TreeViewItemMeta;
    }) & {
      clearCache: () => void;
      resultsCount: () => number;
      resetResultsCount: () => void;
    } & {
      resultFunc: (resultFuncArgs_0: {
        disabledItemsFocusable: boolean;
        itemModelLookup: {
          [itemId: string]: import("../../../index.js").TreeViewBaseItem<import("../../../index.js").TreeViewDefaultItemModelProperties>;
        };
        itemMetaLookup: {
          [itemId: string]: TreeViewItemMeta;
        };
        itemOrderedChildrenIdsLookup: {
          [parentItemId: string]: string[];
        };
        itemChildrenIndexesLookup: {
          [parentItemId: string]: {
            [itemId: string]: number;
          };
        };
        loading: boolean;
        error: Error | null;
      }) => {
        [itemId: string]: TreeViewItemMeta;
      };
      memoizedResultFunc: ((resultFuncArgs_0: {
        disabledItemsFocusable: boolean;
        itemModelLookup: {
          [itemId: string]: import("../../../index.js").TreeViewBaseItem<import("../../../index.js").TreeViewDefaultItemModelProperties>;
        };
        itemMetaLookup: {
          [itemId: string]: TreeViewItemMeta;
        };
        itemOrderedChildrenIdsLookup: {
          [parentItemId: string]: string[];
        };
        itemChildrenIndexesLookup: {
          [parentItemId: string]: {
            [itemId: string]: number;
          };
        };
        loading: boolean;
        error: Error | null;
      }) => {
        [itemId: string]: TreeViewItemMeta;
      }) & {
        clearCache: () => void;
        resultsCount: () => number;
        resetResultsCount: () => void;
      };
      lastResult: () => {
        [itemId: string]: TreeViewItemMeta;
      };
      dependencies: [TreeViewRootSelector<UseTreeViewItemsSignature>];
      recomputations: () => number;
      resetRecomputations: () => void;
      dependencyRecomputations: () => number;
      resetDependencyRecomputations: () => void;
    } & {
      argsMemoize: typeof import("reselect").weakMapMemoize;
      memoize: typeof import("reselect").weakMapMemoize;
    }, (_: any, itemId: string) => string];
    recomputations: () => number;
    resetRecomputations: () => void;
    dependencyRecomputations: () => number;
    resetDependencyRecomputations: () => void;
  } & {
    argsMemoize: typeof import("reselect").weakMapMemoize;
    memoize: typeof import("reselect").weakMapMemoize;
  }];
  recomputations: () => number;
  resetRecomputations: () => void;
  dependencyRecomputations: () => number;
  resetDependencyRecomputations: () => void;
} & {
  argsMemoize: typeof import("reselect").weakMapMemoize;
  memoize: typeof import("reselect").weakMapMemoize;
};