import { type Command } from "#compiled/commander/index.js";
import type { CliApplicationContext } from "#cli/application-command.js";
import type { EveCliTelemetry } from "#cli/telemetry/index.js";
import type { DevelopmentServer, DevelopmentServerOptions } from "#internal/nitro/host/types.js";
import type { RunDevelopmentTuiInput } from "./tui/tui.js";
interface DevelopmentCommandLogger {
    log(message: string): void;
}
interface DevelopmentCommandRuntime {
    isActiveDevelopmentServerForApp?(input: {
        readonly appRoot: string;
        readonly serverUrl: string;
    }): Promise<boolean>;
    runDevelopmentTui?: (input: RunDevelopmentTuiInput) => Promise<void>;
    startHost?: (appRoot: string, options?: DevelopmentServerOptions) => DevelopmentServer;
}
interface DevelopmentCommandTelemetry {
    trackDevContext: EveCliTelemetry["trackDevContext"];
    trackSetupStep: EveCliTelemetry["trackSetupStep"];
    trackSetupTerminal: EveCliTelemetry["trackSetupTerminal"];
}
/** Registers the local and remote development server command. */
export declare function registerDevelopmentCommand(input: {
    applicationContext: CliApplicationContext;
    logger: DevelopmentCommandLogger;
    program: Command;
    runtime: DevelopmentCommandRuntime;
    telemetry: DevelopmentCommandTelemetry;
}): void;
export {};
