import { BrowserType } from '../enums/BrowserType';
import { DeviceName } from '../enums/DeviceName';
import { IosDeviceName } from '../enums/IosDeviceName';
import { IosVersion } from '../enums/IosVersion';
import { ScreenOrientation } from '../enums/ScreenOrientation';
import type { IosDeviceTargetNames } from '../enums/IosMultiDeviceTarget';
import type { AndroidDeviceTargetNames } from '../enums/AndroidMultiDeviceTarget';
type RenderInfoBase = {
    /** @internal */
    hostOS?: string;
    /** @internal */
    hostOSInfo?: string;
    /** @internal */
    hostApp?: string;
    /** @internal */
    hostAppInfo?: string;
};
export type DesktopBrowserInfo = {
    name?: BrowserType;
    width: number;
    height: number;
};
export type ChromeEmulationInfo = {
    chromeEmulationInfo: {
        deviceName: DeviceName;
        screenOrientation?: ScreenOrientation;
    };
};
/** @deprecated */
export type ChromeEmulationInfoLegacy = {
    deviceName: DeviceName;
    screenOrientation?: ScreenOrientation;
};
export type IOSDeviceInfo = {
    iosDeviceInfo: {
        deviceName: IosDeviceName;
        iosVersion?: IosVersion;
        screenOrientation?: ScreenOrientation;
    };
};
export type IOSMultiDeviceInfo = {
    iosDeviceInfo: {
        deviceName: IosDeviceTargetNames;
        screenOrientation?: ScreenOrientation;
    };
};
export type AndroidMultiDeviceInfo = {
    androidDeviceInfo: {
        deviceName: AndroidDeviceTargetNames;
        screenOrientation?: ScreenOrientation;
    };
};
export type RenderInfoLegacy = RenderInfoBase & (DesktopBrowserInfo | ChromeEmulationInfo | IOSDeviceInfo | ChromeEmulationInfoLegacy);
export type RenderInfo = RenderInfoBase & (DesktopBrowserInfo | ChromeEmulationInfo | IOSDeviceInfo | IOSMultiDeviceInfo | AndroidMultiDeviceInfo);
export {};
