import type { WorkspaceManager } from "../types/WorkspaceManager"; import { type WorkspaceManagerAndRoot } from "./implementations"; interface WrappedUtilityParams { /** Search for the root from here */ cwd: string; /** Optional manager to use instead of auto-detecting */ managerOverride: WorkspaceManager | undefined; /** What the utility is getting (for logging) */ description: string; } /** * Wrap a workspace utility function with common error handling and messaging. * Also handle getting the manager and root. * * @returns The utility's return value, or undefined on error (will verbose log on error) */ export declare function wrapWorkspaceUtility(params: WrappedUtilityParams & { /** Implementation of the utility, which receives the detected manager and root */ impl: (params: WorkspaceManagerAndRoot) => TReturn | undefined; }): TReturn | undefined; /** * Wrap a workspace utility function with common error handling and messaging. * Also handle getting the manager and root. * * @returns The utility's return value, or undefined on error (will verbose log on error) */ export declare function wrapAsyncWorkspaceUtility(params: WrappedUtilityParams & { /** Implementation of the utility, which receives the detected manager and root */ impl: (params: WorkspaceManagerAndRoot) => Promise; }): Promise; export {};