Settings configuration for Web Compat

interface WebCompatSettings {
    domains?: Domains;
    mediaSession?: State;
    messageHandlers?: {
        handlerStrategies: {
            polyfill: string[];
            reflect: string[];
            undefined: string[];
        };
        state: State;
    };
    modifyLocalStorage?: {
        changes: { action: string; key: string }[];
        state: State;
    };
    navigatorCredentials?: State;
    notification?: { state: State };
    permissions?: { state: State; supportedPermissions: {} };
    plainTextViewPort?: State;
    presentation?: State;
    safariObject?: State;
    screenLock?: State;
    viewportWidth?:
        | State
        | {
            forcedDesktopValue?: string;
            forcedMobileValue?: string;
            state: State;
        };
    webShare?: State;
    windowSizing?: State;
}

Properties

domains?: Domains
mediaSession?: State
messageHandlers?: {
    handlerStrategies: {
        polyfill: string[];
        reflect: string[];
        undefined: string[];
    };
    state: State;
}
modifyLocalStorage?: {
    changes: { action: string; key: string }[];
    state: State;
}
navigatorCredentials?: State
notification?: { state: State }
permissions?: { state: State; supportedPermissions: {} }
plainTextViewPort?: State
presentation?: State
safariObject?: State
screenLock?: State
viewportWidth?:
    | State
    | { forcedDesktopValue?: string; forcedMobileValue?: string; state: State }
webShare?: State
windowSizing?: State