/**
 * @fileoverview OrdoJS CLI - Development Server
 *
 * Main development server implementation with lifecycle management.
 */
/**
 * Development server options
 */
export interface DevServerOptions {
    /** Directory to serve */
    dir: string;
    /** Host to listen on */
    host: string;
    /** Port to listen on */
    port: string | number;
    /** Enable hot module replacement */
    hmr: boolean;
}
/**
 * Server status enum
 */
export declare enum ServerStatus {
    STOPPED = "stopped",
    STARTING = "starting",
    RUNNING = "running",
    STOPPING = "stopping",
    ERROR = "error",
    RESTARTING = "restarting"
}
/**
 * Server state interface for preserving state during restarts
 */
export interface ServerState {
    /** Connected clients */
    connectedClients?: string[];
    /** Active file watchers */
    activeWatchers?: string[];
    /** Compilation cache */
    compilationCache?: Record<string, unknown>;
    /** Custom state data */
    [key: string]: unknown;
}
/**
 * OrdoJSDevServer class for managing the development server lifecycle
 */
export declare class OrdoJSDevServer {
    private options;
    private server;
    private portManager;
    private processManager;
    private status;
    private actualPort;
    private serverState;
    /**
     * Create a new OrdoJSDevServer instance
     *
     * @param options - Server options
     */
    constructor(options: DevServerOptions);
    /**
     * Get the current server status
     */
    getStatus(): ServerStatus;
    /**
     * Get the actual port the server is running on
     */
    getPort(): number;
    /**
     * Get the current server state
     *
     * @returns The current server state
     */
    getServerState(): ServerState;
    /**
     * Start the development server
     */
    start(): Promise<void>;
    /**
     * Stop the development server
     */
    stop(): Promise<void>;
    /**
     * Restart the development server
     */
    restart(): Promise<void>;
    /**
     * Start the HTTP server
     */
    private startServer;
    /**
     * Stop the HTTP server
     */
    private stopServer;
    /**
     * HTTP request handler
     */
    private requestHandler;
    /**
     * Handle OrdoJS file compilation
     */
    private handleOrdoFile;
    /**
     * Handle index page
     */
    private handleIndex;
    /**
     * Handle static files
     */
    private handleStaticFile;
    /**
     * Show directory listing
     */
    private showDirectoryListing;
    /**
     * Compile OrdoJS to HTML
     */
    private compileOrdoToHTML;
}
//# sourceMappingURL=server.d.ts.map