import type { RegistryCredential } from './types.js'; /** * Pull the cluster image via `docker compose pull`. * * When `registryCredentials` is provided, writes a scoped Docker config * directory with an auth entry for every host and passes `DOCKER_CONFIG` * to the subprocess. The scoped directory is always cleaned up in a * `finally` block. * * When no credentials are provided, runs with inherited env (ambient auth). * * @param projectDir - Absolute path to the project root. * @param registryCredentials - Optional registry credentials from LaunchConfig. * @throws {Error} If the pull command fails. */ export declare function pullImage(projectDir: string, registryCredentials?: RegistryCredential[]): void; /** * Start the cluster in detached mode via `docker compose up -d`. * * Runs synchronously; throws on non-zero exit. * * @param projectDir - Absolute path to the project root. * @throws {Error} If the up command fails. */ export declare function startCluster(projectDir: string): void; /** * Stream `docker compose logs -f` and watch for activation patterns. * * Resolves once both the verification URI (`Go to: `) and user code * (`Enter code: `) have been detected in stdout. Rejects if the * patterns are not matched within {@link DEFAULT_TIMEOUT_MS}. * * @param projectDir - Absolute path to the project root. * @param timeoutMs - Maximum time to wait in milliseconds (default: 120 000). * @returns The extracted verification URI and user code. * * @throws {Error} If the timeout expires before both patterns are matched. */ export declare function streamLogsUntilActivation(projectDir: string, timeoutMs?: number): Promise<{ verificationUri: string; userCode: string; }>; //# sourceMappingURL=compose.d.ts.map