import type { ReadableStream } from "@yume-chan/stream-extra";
import type { ValueOrPromise } from "@yume-chan/struct";
import type { ScrcpyOptionsInit2_2 } from "./2_2.js";
import type { ScrcpyAudioStreamMetadata } from "./codec.js";
import { ScrcpyOptions } from "./types.js";
export interface ScrcpyOptionsInit2_3 extends Omit<ScrcpyOptionsInit2_2, "audioCodec"> {
    audioCodec?: "raw" | "opus" | "aac" | "flac";
}
export declare class ScrcpyOptions2_3 extends ScrcpyOptions<ScrcpyOptionsInit2_3> {
    static readonly DEFAULTS: {
        readonly videoSource: "display";
        readonly displayId: 0;
        readonly cameraId: undefined;
        readonly cameraSize: undefined;
        readonly cameraFacing: undefined;
        readonly cameraAr: undefined;
        readonly cameraFps: undefined;
        readonly cameraHighSpeed: false;
        readonly listCameras: false;
        readonly listCameraSizes: false;
        readonly video: true;
        readonly audioSource: "output";
        readonly scid: import("./2_0.js").ScrcpyInstanceId;
        readonly videoCodec: "h264";
        readonly videoBitRate: 8000000;
        readonly videoCodecOptions: import("./index.js").CodecOptions;
        readonly videoEncoder: undefined;
        readonly audio: true;
        readonly audioCodec: "opus";
        readonly audioBitRate: 128000;
        readonly audioCodecOptions: import("./index.js").CodecOptions;
        readonly audioEncoder: undefined;
        readonly listEncoders: false;
        readonly listDisplays: false;
        readonly sendCodecMeta: true;
        readonly logLevel: import("./1_18.js").ScrcpyLogLevel1_18.Debug;
        readonly maxSize: 0;
        readonly maxFps: 0;
        readonly lockVideoOrientation: import("./1_18.js").ScrcpyVideoOrientation1_18.Unlocked;
        readonly tunnelForward: false;
        readonly crop: undefined;
        readonly sendFrameMeta: true;
        readonly control: true;
        readonly showTouches: false;
        readonly stayAwake: false;
        readonly powerOffOnClose: false;
        readonly clipboardAutosync: true;
        readonly downsizeOnError: true;
        readonly sendDeviceMeta: true;
        readonly sendDummyByte: true;
        readonly cleanup: true;
        readonly powerOn: true;
    };
    get defaults(): Required<ScrcpyOptionsInit2_3>;
    constructor(init: ScrcpyOptionsInit2_3);
    serialize(): string[];
    parseAudioStreamMetadata(stream: ReadableStream<Uint8Array>): ValueOrPromise<ScrcpyAudioStreamMetadata>;
}
//# sourceMappingURL=2_3.d.ts.map