import type { AndroidDriver } from '../driver';
/**
 * Starts a screen streaming session that broadcasts the device screen as an MJPEG stream.
 *
 * This method uses Android's `screenrecord` command to capture the screen and GStreamer
 * to encode it as an MJPEG stream accessible via HTTP. The stream can be viewed in any
 * web browser or MJPEG-compatible client.
 *
 * Requirements:
 * - The device must have the `screenrecord` binary available
 * - The host system must have GStreamer installed with required plugins
 * - The ADB screen streaming feature must be enabled
 *
 * @param 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 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 bitRate 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 host 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 port The port number to start the MJPEG server on.
 * @param tcpPort The port number to start the internal TCP MJPEG broadcast on.
 * @param 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 quality The quality value for the streamed JPEG images.
 * This number should be in range `[1,100]`, where `100` is the best quality.
 * @param considerRotation 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 logPipelineDetails Whether to log GStreamer pipeline events into the standard log output.
 * Might be useful for debugging purposes.
 * @throws {Error} If streaming requirements are not met, ports are busy, or streaming fails to start.
 */
export declare function mobileStartScreenStreaming(this: AndroidDriver, width?: number, height?: number, bitRate?: number, host?: string, port?: number, pathname?: string, tcpPort?: number, quality?: number, considerRotation?: boolean, logPipelineDetails?: boolean): Promise<void>;
/**
 * Stops the currently running screen streaming session.
 *
 * This method gracefully terminates all processes involved in screen streaming:
 * - The MJPEG HTTP server
 * - The GStreamer pipeline
 * - The device screen recording process
 *
 * If no streaming session is active, this method returns without error.
 */
export declare function mobileStopScreenStreaming(this: AndroidDriver): Promise<void>;
//# sourceMappingURL=streamscreen.d.ts.map