import { TreeViewRootSelector } from "../../utils/selectors.js";
import { UseTreeViewExpansionSignature } from "./useTreeViewExpansion.types.js";
/**
 * Get the expanded items.
 * @param {TreeViewState<[UseTreeViewExpansionSignature]>} state The state of the tree view.
 * @returns {TreeViewItemId[]} The expanded items.
 */
export declare const selectorExpandedItems: ((state: import("../../corePlugins/useTreeViewId/useTreeViewId.types.js").UseTreeViewIdState & import("./useTreeViewExpansion.types.js").UseTreeViewExpansionState & Partial<{}> & {
  cacheKey: import("../../models/index.js").TreeViewStateCacheKey;
}) => string[]) & {
  clearCache: () => void;
  resultsCount: () => number;
  resetResultsCount: () => void;
} & {
  resultFunc: (resultFuncArgs_0: {
    expandedItems: string[];
    expansionTrigger: "content" | "iconContainer";
  }) => string[];
  memoizedResultFunc: ((resultFuncArgs_0: {
    expandedItems: string[];
    expansionTrigger: "content" | "iconContainer";
  }) => string[]) & {
    clearCache: () => void;
    resultsCount: () => number;
    resetResultsCount: () => void;
  };
  lastResult: () => string[];
  dependencies: [TreeViewRootSelector<UseTreeViewExpansionSignature>];
  recomputations: () => number;
  resetRecomputations: () => void;
  dependencyRecomputations: () => number;
  resetDependencyRecomputations: () => void;
} & {
  argsMemoize: typeof import("reselect").weakMapMemoize;
  memoize: typeof import("reselect").weakMapMemoize;
};
/**
 * Get the expanded items as a Map.
 * @param {TreeViewState<[UseTreeViewExpansionSignature]>} state The state of the tree view.
 * @returns {TreeViewExpansionValue} The expanded items as a Map.
 */
export declare const selectorExpandedItemsMap: ((state: import("../../corePlugins/useTreeViewId/useTreeViewId.types.js").UseTreeViewIdState & import("./useTreeViewExpansion.types.js").UseTreeViewExpansionState & Partial<{}> & {
  cacheKey: import("../../models/index.js").TreeViewStateCacheKey;
}) => Map<string, true>) & {
  clearCache: () => void;
  resultsCount: () => number;
  resetResultsCount: () => void;
} & {
  resultFunc: (resultFuncArgs_0: string[]) => Map<string, true>;
  memoizedResultFunc: ((resultFuncArgs_0: string[]) => Map<string, true>) & {
    clearCache: () => void;
    resultsCount: () => number;
    resetResultsCount: () => void;
  };
  lastResult: () => Map<string, true>;
  dependencies: [((state: import("../../corePlugins/useTreeViewId/useTreeViewId.types.js").UseTreeViewIdState & import("./useTreeViewExpansion.types.js").UseTreeViewExpansionState & Partial<{}> & {
    cacheKey: import("../../models/index.js").TreeViewStateCacheKey;
  }) => string[]) & {
    clearCache: () => void;
    resultsCount: () => number;
    resetResultsCount: () => void;
  } & {
    resultFunc: (resultFuncArgs_0: {
      expandedItems: string[];
      expansionTrigger: "content" | "iconContainer";
    }) => string[];
    memoizedResultFunc: ((resultFuncArgs_0: {
      expandedItems: string[];
      expansionTrigger: "content" | "iconContainer";
    }) => string[]) & {
      clearCache: () => void;
      resultsCount: () => number;
      resetResultsCount: () => void;
    };
    lastResult: () => string[];
    dependencies: [TreeViewRootSelector<UseTreeViewExpansionSignature>];
    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 an item is expanded.
 * @param {TreeViewState<[UseTreeViewExpansionSignature]>} state The state of the tree view.
 * @returns {boolean} `true` if the item is expanded, `false` otherwise.
 */
export declare const selectorIsItemExpanded: ((state: any, itemId: string) => boolean) & {
  clearCache: () => void;
  resultsCount: () => number;
  resetResultsCount: () => void;
} & {
  resultFunc: (resultFuncArgs_0: Map<string, true>, resultFuncArgs_1: string) => boolean;
  memoizedResultFunc: ((resultFuncArgs_0: Map<string, true>, resultFuncArgs_1: string) => boolean) & {
    clearCache: () => void;
    resultsCount: () => number;
    resetResultsCount: () => void;
  };
  lastResult: () => boolean;
  dependencies: [((state: import("../../corePlugins/useTreeViewId/useTreeViewId.types.js").UseTreeViewIdState & import("./useTreeViewExpansion.types.js").UseTreeViewExpansionState & Partial<{}> & {
    cacheKey: import("../../models/index.js").TreeViewStateCacheKey;
  }) => Map<string, true>) & {
    clearCache: () => void;
    resultsCount: () => number;
    resetResultsCount: () => void;
  } & {
    resultFunc: (resultFuncArgs_0: string[]) => Map<string, true>;
    memoizedResultFunc: ((resultFuncArgs_0: string[]) => Map<string, true>) & {
      clearCache: () => void;
      resultsCount: () => number;
      resetResultsCount: () => void;
    };
    lastResult: () => Map<string, true>;
    dependencies: [((state: import("../../corePlugins/useTreeViewId/useTreeViewId.types.js").UseTreeViewIdState & import("./useTreeViewExpansion.types.js").UseTreeViewExpansionState & Partial<{}> & {
      cacheKey: import("../../models/index.js").TreeViewStateCacheKey;
    }) => string[]) & {
      clearCache: () => void;
      resultsCount: () => number;
      resetResultsCount: () => void;
    } & {
      resultFunc: (resultFuncArgs_0: {
        expandedItems: string[];
        expansionTrigger: "content" | "iconContainer";
      }) => string[];
      memoizedResultFunc: ((resultFuncArgs_0: {
        expandedItems: string[];
        expansionTrigger: "content" | "iconContainer";
      }) => string[]) & {
        clearCache: () => void;
        resultsCount: () => number;
        resetResultsCount: () => void;
      };
      lastResult: () => string[];
      dependencies: [TreeViewRootSelector<UseTreeViewExpansionSignature>];
      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;
  }, (_: any, itemId: string) => string];
  recomputations: () => number;
  resetRecomputations: () => void;
  dependencyRecomputations: () => number;
  resetDependencyRecomputations: () => void;
} & {
  argsMemoize: typeof import("reselect").weakMapMemoize;
  memoize: typeof import("reselect").weakMapMemoize;
};
/**
 * Check if an item is expandable.
 * @param {TreeViewState<[UseTreeViewItemsSignature]>} state The state of the tree view.
 * @returns {boolean} `true` if the item is expandable, `false` otherwise.
 */
export declare const selectorIsItemExpandable: ((state: any, itemId: string | null) => boolean) & {
  clearCache: () => void;
  resultsCount: () => number;
  resetResultsCount: () => void;
} & {
  resultFunc: (resultFuncArgs_0: import("../../index.js").TreeViewItemMeta | null) => boolean;
  memoizedResultFunc: ((resultFuncArgs_0: import("../../index.js").TreeViewItemMeta | null) => boolean) & {
    clearCache: () => void;
    resultsCount: () => number;
    resetResultsCount: () => void;
  };
  lastResult: () => boolean;
  dependencies: [((state: any, itemId: string | null) => import("../../index.js").TreeViewItemMeta | null) & {
    clearCache: () => void;
    resultsCount: () => number;
    resetResultsCount: () => void;
  } & {
    resultFunc: (resultFuncArgs_0: {
      [itemId: string]: import("../../index.js").TreeViewItemMeta;
    }, resultFuncArgs_1: string | null) => import("../../index.js").TreeViewItemMeta | null;
    memoizedResultFunc: ((resultFuncArgs_0: {
      [itemId: string]: import("../../index.js").TreeViewItemMeta;
    }, resultFuncArgs_1: string | null) => import("../../index.js").TreeViewItemMeta | null) & {
      clearCache: () => void;
      resultsCount: () => number;
      resetResultsCount: () => void;
    };
    lastResult: () => import("../../index.js").TreeViewItemMeta | null;
    dependencies: [((state: import("../../corePlugins/useTreeViewId/useTreeViewId.types.js").UseTreeViewIdState & import("../useTreeViewItems/index.js").UseTreeViewItemsState<import("../../../index.js").TreeViewDefaultItemModelProperties> & Partial<{}> & {
      cacheKey: import("../../models/index.js").TreeViewStateCacheKey;
    }) => {
      [itemId: string]: import("../../index.js").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]: import("../../index.js").TreeViewItemMeta;
        };
        itemOrderedChildrenIdsLookup: {
          [parentItemId: string]: string[];
        };
        itemChildrenIndexesLookup: {
          [parentItemId: string]: {
            [itemId: string]: number;
          };
        };
        loading: boolean;
        error: Error | null;
      }) => {
        [itemId: string]: import("../../index.js").TreeViewItemMeta;
      };
      memoizedResultFunc: ((resultFuncArgs_0: {
        disabledItemsFocusable: boolean;
        itemModelLookup: {
          [itemId: string]: import("../../../index.js").TreeViewBaseItem<import("../../../index.js").TreeViewDefaultItemModelProperties>;
        };
        itemMetaLookup: {
          [itemId: string]: import("../../index.js").TreeViewItemMeta;
        };
        itemOrderedChildrenIdsLookup: {
          [parentItemId: string]: string[];
        };
        itemChildrenIndexesLookup: {
          [parentItemId: string]: {
            [itemId: string]: number;
          };
        };
        loading: boolean;
        error: Error | null;
      }) => {
        [itemId: string]: import("../../index.js").TreeViewItemMeta;
      }) & {
        clearCache: () => void;
        resultsCount: () => number;
        resetResultsCount: () => void;
      };
      lastResult: () => {
        [itemId: string]: import("../../index.js").TreeViewItemMeta;
      };
      dependencies: [TreeViewRootSelector<import("../useTreeViewItems/index.js").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 slot that triggers the item's expansion when clicked.
 * @param {TreeViewState<[UseTreeViewExpansionSignature]>} state The state of the tree view.
 * @returns {'content' | 'iconContainer'} The slot that triggers the item's expansion when clicked. Is `null` if the item is not expandable.
 */
export declare const selectorItemExpansionTrigger: ((state: import("../../corePlugins/useTreeViewId/useTreeViewId.types.js").UseTreeViewIdState & import("./useTreeViewExpansion.types.js").UseTreeViewExpansionState & Partial<{}> & {
  cacheKey: import("../../models/index.js").TreeViewStateCacheKey;
}) => "content" | "iconContainer") & {
  clearCache: () => void;
  resultsCount: () => number;
  resetResultsCount: () => void;
} & {
  resultFunc: (resultFuncArgs_0: {
    expandedItems: string[];
    expansionTrigger: "content" | "iconContainer";
  }) => "content" | "iconContainer";
  memoizedResultFunc: ((resultFuncArgs_0: {
    expandedItems: string[];
    expansionTrigger: "content" | "iconContainer";
  }) => "content" | "iconContainer") & {
    clearCache: () => void;
    resultsCount: () => number;
    resetResultsCount: () => void;
  };
  lastResult: () => "content" | "iconContainer";
  dependencies: [TreeViewRootSelector<UseTreeViewExpansionSignature>];
  recomputations: () => number;
  resetRecomputations: () => void;
  dependencyRecomputations: () => number;
  resetDependencyRecomputations: () => void;
} & {
  argsMemoize: typeof import("reselect").weakMapMemoize;
  memoize: typeof import("reselect").weakMapMemoize;
};