import { type BuildHost } from "#cli/commands/build.js";
import { resolveDevUiMode, resolveTuiDisplayOptions } from "#cli/dev/ui-options.js";
import type { RunDevelopmentTuiInput } from "#cli/dev/tui/tui.js";
import type { DevelopmentServer, DevelopmentServerOptions, ProductionServerHandle } from "#internal/nitro/host/types.js";
export { resolveDevUiMode, resolveTuiDisplayOptions };
interface CliLogger {
    error(message: string): void;
    log(message: string): void;
}
interface CliRuntimeDependencies {
    isCodingAgentLaunch(): Promise<boolean>;
    isActiveDevelopmentServerForApp(input: {
        readonly appRoot: string;
        readonly serverUrl: string;
    }): Promise<boolean>;
    buildHost: BuildHost;
    printApplicationInfo(logger: CliLogger, appRoot: string, options?: {
        json?: boolean;
    }): Promise<void>;
    runDevelopmentTui(input: RunDevelopmentTuiInput): Promise<void>;
    runEvalCommand(evalIds: readonly string[], options: EvalCliOptions, logger: CliLogger): Promise<void>;
    startHost(appRoot: string, options?: DevelopmentServerOptions): DevelopmentServer;
    startProductionHost(appRoot: string, options?: {
        host?: string;
        port?: number;
    }): Promise<ProductionServerHandle>;
}
type CliRuntimeOverrides = Partial<CliRuntimeDependencies>;
interface EvalCliOptions {
    json?: boolean;
    junit?: string;
    list?: boolean;
    maxConcurrency?: string;
    skipReport?: boolean;
    strict?: boolean;
    tag?: string[];
    timeout?: string;
    url?: string;
    verbose?: boolean;
}
/**
 * Runs the eve CLI entrypoint.
 */
export declare function runCli(argv?: string[], logger?: CliLogger, runtime?: CliRuntimeOverrides): Promise<void>;
