import type { Server as HttpServer } from 'node:http';
import type { AdbServerClient } from '@yume-chan/adb';
import express from 'express';
import { Server } from 'socket.io';
export declare const debugPage: import("@midscene/shared/logger").DebugFunction;
export default class ScrcpyServer {
    app: express.Application;
    httpServer: HttpServer;
    io: Server;
    port?: number | null;
    defaultPort: number;
    adbClient: AdbServerClient | null;
    currentDeviceId: string | null;
    devicePollInterval: NodeJS.Timeout | null;
    lastDeviceList: string;
    constructor();
    private setupApiRoutes;
    private getDevicesList;
    private getAdbClient;
    private getAdb;
    private startScrcpy;
    private setupSocketHandlers;
    launch(port?: number): Promise<this>;
    private startDeviceMonitoring;
    close(): HttpServer<typeof import("http").IncomingMessage, typeof import("http").ServerResponse> | undefined;
}
