import { TreeViewRootSelector, TreeViewRootSelectorForOptionalPlugin } from "../../utils/selectors.js";
import { UseTreeViewLazyLoadingSignature } from "./useTreeViewLazyLoading.types.js";
export declare const selectorDataSourceState: ((state: import("../../corePlugins/useTreeViewId/useTreeViewId.types.js").UseTreeViewIdState & import("./useTreeViewLazyLoading.types.js").UseTreeViewLazyLoadingState & Partial<{}> & {
  cacheKey: import("../../models/index.js").TreeViewStateCacheKey;
}) => {
  loading: Record<import("../../../index.js").TreeViewItemId, boolean>;
  errors: Record<import("../../../index.js").TreeViewItemId, Error | null>;
}) & {
  clearCache: () => void;
  resultsCount: () => number;
  resetResultsCount: () => void;
} & {
  resultFunc: (resultFuncArgs_0: {
    enabled: boolean;
    dataSource: {
      loading: Record<import("../../../index.js").TreeViewItemId, boolean>;
      errors: Record<import("../../../index.js").TreeViewItemId, Error | null>;
    };
  }) => {
    loading: Record<import("../../../index.js").TreeViewItemId, boolean>;
    errors: Record<import("../../../index.js").TreeViewItemId, Error | null>;
  };
  memoizedResultFunc: ((resultFuncArgs_0: {
    enabled: boolean;
    dataSource: {
      loading: Record<import("../../../index.js").TreeViewItemId, boolean>;
      errors: Record<import("../../../index.js").TreeViewItemId, Error | null>;
    };
  }) => {
    loading: Record<import("../../../index.js").TreeViewItemId, boolean>;
    errors: Record<import("../../../index.js").TreeViewItemId, Error | null>;
  }) & {
    clearCache: () => void;
    resultsCount: () => number;
    resetResultsCount: () => void;
  };
  lastResult: () => {
    loading: Record<import("../../../index.js").TreeViewItemId, boolean>;
    errors: Record<import("../../../index.js").TreeViewItemId, Error | null>;
  };
  dependencies: [TreeViewRootSelector<UseTreeViewLazyLoadingSignature>];
  recomputations: () => number;
  resetRecomputations: () => void;
  dependencyRecomputations: () => number;
  resetDependencyRecomputations: () => void;
} & {
  argsMemoize: typeof import("reselect").weakMapMemoize;
  memoize: typeof import("reselect").weakMapMemoize;
};
/**
 * Check if lazy loading is enabled.
 * @param {TreeViewState<[UseTreeViewLazyLoadingSignature]>} state The state of the tree view.
 * @returns {boolean} True if lazy loading is enabled, false if it isn't.
 */
export declare const selectorIsLazyLoadingEnabled: ((state: import("../../corePlugins/useTreeViewId/useTreeViewId.types.js").UseTreeViewIdState & Partial<import("./useTreeViewLazyLoading.types.js").UseTreeViewLazyLoadingState> & {
  cacheKey: import("../../models/index.js").TreeViewStateCacheKey;
}) => boolean) & {
  clearCache: () => void;
  resultsCount: () => number;
  resetResultsCount: () => void;
} & {
  resultFunc: (resultFuncArgs_0: {
    enabled: boolean;
    dataSource: {
      loading: Record<import("../../../index.js").TreeViewItemId, boolean>;
      errors: Record<import("../../../index.js").TreeViewItemId, Error | null>;
    };
  } | undefined) => boolean;
  memoizedResultFunc: ((resultFuncArgs_0: {
    enabled: boolean;
    dataSource: {
      loading: Record<import("../../../index.js").TreeViewItemId, boolean>;
      errors: Record<import("../../../index.js").TreeViewItemId, Error | null>;
    };
  } | undefined) => boolean) & {
    clearCache: () => void;
    resultsCount: () => number;
    resetResultsCount: () => void;
  };
  lastResult: () => boolean;
  dependencies: [TreeViewRootSelectorForOptionalPlugin<UseTreeViewLazyLoadingSignature>];
  recomputations: () => number;
  resetRecomputations: () => void;
  dependencyRecomputations: () => number;
  resetDependencyRecomputations: () => void;
} & {
  argsMemoize: typeof import("reselect").weakMapMemoize;
  memoize: typeof import("reselect").weakMapMemoize;
};
/**
 * Get the loading state for a tree item.
 * @param {TreeViewState<[UseTreeViewLazyLoadingSignature]>} state The state of the tree view.
 * @param {TreeViewItemId} itemId The id of the item to get the loading state of.
 * @returns {boolean} The loading state for the Tree Item.
 */
export declare const selectorIsItemLoading: ((state: any, itemId: string) => boolean) & {
  clearCache: () => void;
  resultsCount: () => number;
  resetResultsCount: () => void;
} & {
  resultFunc: (resultFuncArgs_0: {
    loading: Record<import("../../../index.js").TreeViewItemId, boolean>;
    errors: Record<import("../../../index.js").TreeViewItemId, Error | null>;
  }, resultFuncArgs_1: string) => boolean;
  memoizedResultFunc: ((resultFuncArgs_0: {
    loading: Record<import("../../../index.js").TreeViewItemId, boolean>;
    errors: Record<import("../../../index.js").TreeViewItemId, Error | null>;
  }, resultFuncArgs_1: string) => boolean) & {
    clearCache: () => void;
    resultsCount: () => number;
    resetResultsCount: () => void;
  };
  lastResult: () => boolean;
  dependencies: [((state: import("../../corePlugins/useTreeViewId/useTreeViewId.types.js").UseTreeViewIdState & import("./useTreeViewLazyLoading.types.js").UseTreeViewLazyLoadingState & Partial<{}> & {
    cacheKey: import("../../models/index.js").TreeViewStateCacheKey;
  }) => {
    loading: Record<import("../../../index.js").TreeViewItemId, boolean>;
    errors: Record<import("../../../index.js").TreeViewItemId, Error | null>;
  }) & {
    clearCache: () => void;
    resultsCount: () => number;
    resetResultsCount: () => void;
  } & {
    resultFunc: (resultFuncArgs_0: {
      enabled: boolean;
      dataSource: {
        loading: Record<import("../../../index.js").TreeViewItemId, boolean>;
        errors: Record<import("../../../index.js").TreeViewItemId, Error | null>;
      };
    }) => {
      loading: Record<import("../../../index.js").TreeViewItemId, boolean>;
      errors: Record<import("../../../index.js").TreeViewItemId, Error | null>;
    };
    memoizedResultFunc: ((resultFuncArgs_0: {
      enabled: boolean;
      dataSource: {
        loading: Record<import("../../../index.js").TreeViewItemId, boolean>;
        errors: Record<import("../../../index.js").TreeViewItemId, Error | null>;
      };
    }) => {
      loading: Record<import("../../../index.js").TreeViewItemId, boolean>;
      errors: Record<import("../../../index.js").TreeViewItemId, Error | null>;
    }) & {
      clearCache: () => void;
      resultsCount: () => number;
      resetResultsCount: () => void;
    };
    lastResult: () => {
      loading: Record<import("../../../index.js").TreeViewItemId, boolean>;
      errors: Record<import("../../../index.js").TreeViewItemId, Error | null>;
    };
    dependencies: [TreeViewRootSelector<UseTreeViewLazyLoadingSignature>];
    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 error for a tree item.
 * @param {TreeViewState<[UseTreeViewLazyLoadingSignature]>} state The state of the tree view.
 * @param {TreeViewItemId} itemId The id of the item to get the error for.
 * @returns {boolean} The error for the Tree Item.
 */
export declare const selectorGetTreeItemError: ((state: any, itemId: string) => Error | null) & {
  clearCache: () => void;
  resultsCount: () => number;
  resetResultsCount: () => void;
} & {
  resultFunc: (resultFuncArgs_0: {
    loading: Record<import("../../../index.js").TreeViewItemId, boolean>;
    errors: Record<import("../../../index.js").TreeViewItemId, Error | null>;
  }, resultFuncArgs_1: string) => Error | null;
  memoizedResultFunc: ((resultFuncArgs_0: {
    loading: Record<import("../../../index.js").TreeViewItemId, boolean>;
    errors: Record<import("../../../index.js").TreeViewItemId, Error | null>;
  }, resultFuncArgs_1: string) => Error | null) & {
    clearCache: () => void;
    resultsCount: () => number;
    resetResultsCount: () => void;
  };
  lastResult: () => Error | null;
  dependencies: [((state: import("../../corePlugins/useTreeViewId/useTreeViewId.types.js").UseTreeViewIdState & import("./useTreeViewLazyLoading.types.js").UseTreeViewLazyLoadingState & Partial<{}> & {
    cacheKey: import("../../models/index.js").TreeViewStateCacheKey;
  }) => {
    loading: Record<import("../../../index.js").TreeViewItemId, boolean>;
    errors: Record<import("../../../index.js").TreeViewItemId, Error | null>;
  }) & {
    clearCache: () => void;
    resultsCount: () => number;
    resetResultsCount: () => void;
  } & {
    resultFunc: (resultFuncArgs_0: {
      enabled: boolean;
      dataSource: {
        loading: Record<import("../../../index.js").TreeViewItemId, boolean>;
        errors: Record<import("../../../index.js").TreeViewItemId, Error | null>;
      };
    }) => {
      loading: Record<import("../../../index.js").TreeViewItemId, boolean>;
      errors: Record<import("../../../index.js").TreeViewItemId, Error | null>;
    };
    memoizedResultFunc: ((resultFuncArgs_0: {
      enabled: boolean;
      dataSource: {
        loading: Record<import("../../../index.js").TreeViewItemId, boolean>;
        errors: Record<import("../../../index.js").TreeViewItemId, Error | null>;
      };
    }) => {
      loading: Record<import("../../../index.js").TreeViewItemId, boolean>;
      errors: Record<import("../../../index.js").TreeViewItemId, Error | null>;
    }) & {
      clearCache: () => void;
      resultsCount: () => number;
      resetResultsCount: () => void;
    };
    lastResult: () => {
      loading: Record<import("../../../index.js").TreeViewItemId, boolean>;
      errors: Record<import("../../../index.js").TreeViewItemId, Error | null>;
    };
    dependencies: [TreeViewRootSelector<UseTreeViewLazyLoadingSignature>];
    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;
};