import type { ScrcpyOptionValue } from "../../base/index.js"; export declare const VideoOrientation: { readonly Unlocked: -1; readonly Portrait: 0; readonly Landscape: 1; readonly PortraitFlipped: 2; readonly LandscapeFlipped: 3; }; export type VideoOrientation = (typeof VideoOrientation)[keyof typeof VideoOrientation]; export type LogLevel = "debug" | "info" | "warn" | "error"; /** * If the option you need is not in this type, * please file an issue on GitHub. */ export interface CodecOptionsInit { profile?: number | undefined; level?: number | undefined; iFrameInterval?: number | undefined; maxBframes?: number | undefined; repeatPreviousFrameAfter?: number | undefined; maxPtsGapToEncoder?: number | undefined; intraRefreshPeriod?: number | undefined; } export declare class CodecOptions implements ScrcpyOptionValue { static Empty: CodecOptions; options: CodecOptionsInit; constructor(options?: CodecOptionsInit); toOptionValue(): string | undefined; } export declare namespace CodecOptions { type Init = CodecOptionsInit; } export declare class Crop implements ScrcpyOptionValue { width: number; height: number; x: number; y: number; constructor(width: number, height: number, x: number, y: number); toOptionValue(): string | undefined; } export interface Init { logLevel?: LogLevel; /** * The maximum value of both width and height. */ maxSize?: number; bitRate?: number; /** * 0 for unlimited. * * @default 0 */ maxFps?: number; /** * The orientation of the video stream. * * It will not keep the device screen in specific orientation, * only the captured video will in this orientation. */ lockVideoOrientation?: VideoOrientation; /** * Use ADB forward tunnel instead of reverse tunnel. * * This option is mainly used for working around the bug that on Android <9, * ADB daemon can't create reverse tunnels if connected wirelessly (ADB over WiFi). * * When using `AdbScrcpyClient`, it can detect this situation and enable this option automatically. */ tunnelForward?: boolean; crop?: Crop | string | undefined; /** * Send PTS so that the client may record properly * * Note: When `sendFrameMeta: false` is specified, * the video stream will not contain `configuration` typed packets, * which means it can't be decoded by the companion decoders. * It's still possible to record the stream into a file, * or to decode it with a more tolerant decoder like FFMpeg. * * @default true */ sendFrameMeta?: boolean; /** * @default true */ control?: boolean; displayId?: number; showTouches?: boolean; stayAwake?: boolean; codecOptions?: CodecOptions | string | undefined; } //# sourceMappingURL=init.d.ts.map