/**
 * CLI entry point for the remote-environment runner.
 *
 * `lisa workstation` prepares the machine — tools and a credential-manager CLI.
 * It stops there, and a session also needs the credentials themselves: the
 * materialized env file, the shell profile that loads it, and the per-environment
 * AWS profiles.
 *
 * In a repository that work is reached through `scripts/lisa-remote-env/setup.sh`.
 * A session with NO checkout has no such script, and that is an ordinary state:
 * a Claude Tag channel session runs as the organization, and a repository does
 * not enter the session until a request names one.
 *
 * So the runner needs a way in that presumes no checkout, for the same reason
 * the workstation bootstrap does:
 *
 *     npx -y `@codyswann/lisa@latest` remote-env --phase=secrets
 *
 * Without this the no-checkout setup path called a subcommand that did not
 * exist. The call was guarded with `|| true` so the failure was silent, and the
 * session came up with a bootstrap token and nothing able to use it.
 * @module cli/remote-env-cmd
 */
import type { Command } from "commander";
/** Injectable seams so the command is testable without provisioning anything. */
export interface RemoteEnvDeps {
    /** Resolve the installed package root. */
    readonly installPath?: () => string;
    /** Run the script. */
    readonly run?: (command: string, args: string[]) => {
        status: number | null;
    };
    /** Report a problem. */
    readonly error?: (message: string) => void;
}
/**
 * Locate the runner inside the installed package.
 *
 * Resolved from the module's own location rather than the working directory,
 * because under npx the cwd is wherever the operator is standing and is often
 * not a project at all — which is the whole point of this command.
 * @param installPath Package root resolver.
 * @returns Absolute path to the runner.
 * @throws {Error} When the package is incomplete.
 */
export declare function resolveRemoteEnvScript(installPath?: () => string): string;
/**
 * Run the remote-environment runner with the given flags.
 * @param flags Flags forwarded verbatim to the runner.
 * @param deps Injectable seams.
 * @returns The runner's exit code.
 */
export declare function runRemoteEnv(flags?: readonly string[], deps?: RemoteEnvDeps): number;
/**
 * Register `lisa remote-env`.
 * @param program Commander program to mutate.
 * @param deps Program dependencies.
 * @param deps.runRemoteEnv Runs the runner and returns its exit code.
 */
export declare function addRemoteEnvCommand(program: Command, deps?: {
    readonly runRemoteEnv: (flags: readonly string[]) => number;
}): void;
//# sourceMappingURL=remote-env-cmd.d.ts.map