/** Remote directory where PowerLine artifacts are installed. Uses $HOME (not ~) so it expands inside double-quoted shell strings. */ export declare const REMOTE_POWERLINE_DIRECTORY: string; /** Return a promise that resolves after the specified number of milliseconds. */ export declare function sleep(ms: number): Promise; /** Find and return an available TCP port by briefly binding to port 0. */ export declare function findFreePort(): Promise; /** * Return true if an error indicates a port-binding conflict (EADDRINUSE or * equivalent messages from Docker / SSH / gh CLI). */ export declare function isPortConflictError(err: unknown): boolean; /** * Discover a free port and pass it to `action`. If the action throws a * port-conflict error, retry with a freshly discovered port up to * `maxAttempts` times (default 3). When the caller already has a * preferred port, call the action directly instead of using this wrapper. */ export declare function withFreePort(action: (port: number) => Promise, maxAttempts?: number): Promise; /** * Check if we are running from a monorepo source checkout. * We detect this by checking for `rush.json` at the repo root, * computed relative to this file's compiled location (packages/adapter-sdk/dist → 3 levels up). */ export declare function isDevMode(): boolean; /** * Read the lockstep version from the SDK's own package.json. * import.meta.dirname = dist/, so ../package.json = adapter-sdk's package.json. */ export declare function getPackageVersion(): string; /** * Escape a value for safe use inside a shell single-quoted string. * Replaces each `'` with `'\''` (end quote, escaped quote, start quote). */ export declare function shellEscape(value: string): string; //# sourceMappingURL=utils.d.ts.map