import { SpawnOptions, SpawnPromise } from '@expo/spawn-async'; /** * The pending spawn promise is similar to the spawn promise from `@expo/spawn-async`. * Instead of the `child` process being available immediately, the `child` is behind another promise. * We need this to perform async tasks before running the actual spawn promise. * Use it like: `await manager.installAsync().child` */ export interface PendingSpawnPromise extends Promise { /** * The child process from the delayed spawn. * This is `null` whenever the promise before the spawn promise is rejected. */ child: Promise['child'] | null>; } export declare function createPendingSpawnAsync(actionAsync: () => Promise, spawnAsync: (result: V) => SpawnPromise): PendingSpawnPromise; /** * Spawn a command with sudo privileges. * On windows, this uses the `sudo-prompt` package. * on other systems, this uses the `sudo` binary. */ export declare function spawnSudoAsync(command: string[], spawnOptions: SpawnOptions): Promise;