{
    "types": {
        "Global": [
            { "name": "bool", "mode": "SCALAR" },
            { "name": "double", "mode": "SCALAR" },
            { "name": "uint32_t", "mode": "SCALAR", "description": "Unsigned 32-bit integer." },
            { "name": "uint64_t", "mode": "SCALAR", "description": "Unsigned 64-bit integer." },
            { "name": "int32_t", "mode": "SCALAR", "description": "Signed 32-bit integer." },
            { "name": "int64_t", "mode": "SCALAR", "description": "Signed 64-bit integer." }
        ],

        "WTF": [
            {
                "name": "String", "mode": "HEAVY_SCALAR",
                "header": "wtf/text/WTFString.h"
            }
        ],

        "JavaScriptCore": [
            {
                "name": "InputQueue", "mode": "SCALAR", "storage": "uint8_t",
                "flags": ["ENUM_CLASS"],
                "values": ["EventLoopInput", "LoaderMemoizedData", "ScriptMemoizedData", "Count"],
                "header": "replay/NondeterministicInput.h"
            }
        ]
    },

    "inputs": {
        "JavaScriptCore": [
            {
                "name": "GetCurrentTime",
                "description": "Supplies the system time to Date.now() and new Date().",
                "queue": "SCRIPT_MEMOIZED",
                "members": [
                    { "name": "currentTime", "type": "double" }
                ]
            },
            {
                "name": "SetRandomSeed",
                "description": "Sets the PRNG seed used by Math.random().",
                "queue": "SCRIPT_MEMOIZED",
                "members": [
                    { "name": "randomSeed", "type": "uint64_t" }
                ]
            }
        ]
    }
}
