/**
 * @this {import('../driver').AndroidDriver}
 * @param {number} [width] The scaled width of the device's screen.
 * If unset then the script will assign it to the actual screen width measured
 * in pixels.
 * @param {number} [height] The scaled height of the device's screen.
 * If unset then the script will assign it to the actual screen height
 * measured in pixels.
 * @param {number} [bitRate=4000000] The video bit rate for the video, in bits per second.
 * The default value is 4 Mb/s. You can increase the bit rate to improve video
 * quality, but doing so results in larger movie files.
 * @param {string} [host='127.0.0.1'] The IP address/host name to start the MJPEG server on.
 * You can set it to `0.0.0.0` to trigger the broadcast on all available
 * network interfaces.
 * @param {number} [port=8093] The port number to start the MJPEG server on.
 * @param {number} [tcpPort=8094] The port number to start the internal TCP MJPEG broadcast on.
 * @param {string} [pathname] The HTTP request path the MJPEG server should be available on.
 * If unset, then any pathname on the given `host`/`port` combination will
 * work. Note that the value should always start with a single slash: `/`
 * @param {number} [quality=70] The quality value for the streamed JPEG images.
 * This number should be in range `[1,100]`, where `100` is the best quality.
 * @param {boolean} [considerRotation=false] If set to `true` then GStreamer pipeline will increase the dimensions of
 * the resulting images to properly fit images in both landscape and portrait
 * orientations.
 * Set it to `true` if the device rotation is not going to be the same during
 * the broadcasting session.
 * @param {boolean} [logPipelineDetails=false] Whether to log GStreamer pipeline events into the standard log output.
 * Might be useful for debugging purposes.
 * @returns {Promise<void>}
*/
export function mobileStartScreenStreaming(this: import("../driver").AndroidDriver, width?: number, height?: number, bitRate?: number, host?: string, port?: number, pathname?: string, tcpPort?: number, quality?: number, considerRotation?: boolean, logPipelineDetails?: boolean): Promise<void>;
export class mobileStartScreenStreaming {
    /**
     * @this {import('../driver').AndroidDriver}
     * @param {number} [width] The scaled width of the device's screen.
     * If unset then the script will assign it to the actual screen width measured
     * in pixels.
     * @param {number} [height] The scaled height of the device's screen.
     * If unset then the script will assign it to the actual screen height
     * measured in pixels.
     * @param {number} [bitRate=4000000] The video bit rate for the video, in bits per second.
     * The default value is 4 Mb/s. You can increase the bit rate to improve video
     * quality, but doing so results in larger movie files.
     * @param {string} [host='127.0.0.1'] The IP address/host name to start the MJPEG server on.
     * You can set it to `0.0.0.0` to trigger the broadcast on all available
     * network interfaces.
     * @param {number} [port=8093] The port number to start the MJPEG server on.
     * @param {number} [tcpPort=8094] The port number to start the internal TCP MJPEG broadcast on.
     * @param {string} [pathname] The HTTP request path the MJPEG server should be available on.
     * If unset, then any pathname on the given `host`/`port` combination will
     * work. Note that the value should always start with a single slash: `/`
     * @param {number} [quality=70] The quality value for the streamed JPEG images.
     * This number should be in range `[1,100]`, where `100` is the best quality.
     * @param {boolean} [considerRotation=false] If set to `true` then GStreamer pipeline will increase the dimensions of
     * the resulting images to properly fit images in both landscape and portrait
     * orientations.
     * Set it to `true` if the device rotation is not going to be the same during
     * the broadcasting session.
     * @param {boolean} [logPipelineDetails=false] Whether to log GStreamer pipeline events into the standard log output.
     * Might be useful for debugging purposes.
     * @returns {Promise<void>}
    */
    constructor(this: import("../driver").AndroidDriver, width?: number, height?: number, bitRate?: number, host?: string, port?: number, pathname?: string, tcpPort?: number, quality?: number, considerRotation?: boolean, logPipelineDetails?: boolean);
    _screenStreamingProps: {
        deviceStreamingProc: import("child_process").ChildProcessWithoutNullStreams;
        gstreamerPipeline: SubProcess;
        mjpegSocket: net.Socket | undefined;
        mjpegServer: http.Server<typeof http.IncomingMessage, typeof http.ServerResponse> | undefined;
    } | undefined;
}
/**
 * @this {import('../driver').AndroidDriver}
 * @returns {Promise<void>}
 */
export function mobileStopScreenStreaming(this: import("../driver").AndroidDriver): Promise<void>;
export class mobileStopScreenStreaming {
    _screenStreamingProps: any;
}
export type ADB = import("appium-adb").ADB;
export type AppiumLogger = import("@appium/types").AppiumLogger;
export type DeviceInfo = import("./types").DeviceInfo;
import { SubProcess } from 'teen_process';
import net from 'node:net';
import http from 'node:http';
//# sourceMappingURL=streamscreen.d.ts.map