import type { DevServer } from '@adonisjs/assembler';
import type { CommandOptions } from '../types/ace.ts';
import { BaseCommand } from '../modules/ace/main.ts';
/**
 * Serve command is used to run the AdonisJS HTTP server during development. The
 * command under the hood runs the "bin/server.ts" file and watches for file
 * system changes
 *
 * @example
 * ```
 * ace serve
 * ace serve --watch
 * ace serve --hmr
 * ace serve --poll
 * ace serve --no-clear
 * ```
 */
export default class Serve extends BaseCommand {
    #private;
    /**
     * The command name
     */
    static commandName: string;
    /**
     * The command description
     */
    static description: string;
    /**
     * Help text for the command
     */
    static help: string[];
    /**
     * Command options configuration
     */
    static options: CommandOptions;
    /**
     * The development server instance
     */
    devServer: DevServer;
    /**
     * Start the server with HMR support
     */
    hmr?: boolean;
    /**
     * Watch filesystem and restart the HTTP server on file change
     */
    watch?: boolean;
    /**
     * Use polling to detect filesystem changes
     */
    poll?: boolean;
    /**
     * Clear the terminal for new logs after file change
     */
    clear?: boolean;
    /**
     * Runs the HTTP server
     */
    run(): Promise<void>;
}
