import Struct from "@yume-chan/struct";
import type { AndroidKeyEventAction, ScrcpyBackOrScreenOnControlMessage } from "../control/index.js";
import { ScrcpyControlMessageType } from "../control/index.js";
import type { ScrcpyOptionsInit1_17 } from "./1_17.js";
import type { ScrcpyEncoder } from "./types.js";
import { ScrcpyOptions } from "./types.js";
export declare enum ScrcpyLogLevel1_18 {
    Verbose = "verbose",
    Debug = "debug",
    Info = "info",
    Warn = "warn",
    Error = "error"
}
export declare enum ScrcpyVideoOrientation1_18 {
    Initial = -2,
    Unlocked = -1,
    Portrait = 0,
    Landscape = 1,
    PortraitFlipped = 2,
    LandscapeFlipped = 3
}
export interface ScrcpyOptionsInit1_18 extends Omit<ScrcpyOptionsInit1_17, "logLevel" | "lockVideoOrientation"> {
    logLevel?: ScrcpyLogLevel1_18;
    lockVideoOrientation?: ScrcpyVideoOrientation1_18;
    powerOffOnClose?: boolean;
}
export declare const ScrcpyBackOrScreenOnControlMessage1_18: Struct<{
    type: number;
    action: AndroidKeyEventAction;
}, never, Record<never, never>, undefined>;
export type ScrcpyBackOrScreenOnControlMessage1_18 = (typeof ScrcpyBackOrScreenOnControlMessage1_18)["TInit"];
export declare const SCRCPY_CONTROL_MESSAGE_TYPES_1_18: ScrcpyControlMessageType[];
export declare class ScrcpyOptions1_18 extends ScrcpyOptions<ScrcpyOptionsInit1_18> {
    static readonly DEFAULTS: {
        readonly logLevel: ScrcpyLogLevel1_18.Debug;
        readonly lockVideoOrientation: ScrcpyVideoOrientation1_18.Unlocked;
        readonly powerOffOnClose: false;
        readonly encoderName: undefined;
        readonly maxSize: 0;
        readonly bitRate: 8000000;
        readonly maxFps: 0;
        readonly tunnelForward: false;
        readonly crop: undefined;
        readonly sendFrameMeta: true;
        readonly control: true;
        readonly displayId: 0;
        readonly showTouches: false;
        readonly stayAwake: false;
        readonly codecOptions: import("./1_16/codec-options.js").CodecOptions;
    };
    static readonly SERIALIZE_ORDER: readonly ["logLevel", "maxSize", "bitRate", "maxFps", "lockVideoOrientation", "tunnelForward", "crop", "sendFrameMeta", "control", "displayId", "showTouches", "stayAwake", "codecOptions", "encoderName", "powerOffOnClose"];
    get defaults(): Required<ScrcpyOptionsInit1_18>;
    get controlMessageTypes(): ScrcpyControlMessageType[];
    constructor(init: ScrcpyOptionsInit1_18);
    serialize(): string[];
    parseEncoder(line: string): ScrcpyEncoder | undefined;
    serializeBackOrScreenOnControlMessage(message: ScrcpyBackOrScreenOnControlMessage): Uint8Array;
}
//# sourceMappingURL=1_18.d.ts.map