import QtQuick.tooling 1.2

Module {
    dependencies: []

    Component {
        name: "void"
        extension: "undefined"
        exports: ["QML/void 1.0"]
        accessSemantics: "none"
    }

    Component {
        name: "std::nullptr_t"
        accessSemantics: "none"
    }

    Component {
        name: "QVariant"
        accessSemantics: "value"
        exports: ["QML/var 1.0", "QML/variant 1.0"]
        exportMetaObjectRevisions: [256, 256]
    }

    Component {
        name: "QVariantList"
        valueType: "QVariant"
        accessSemantics: "sequence"
    }

    Component {
        name: "QVariantMap"
        accessSemantics: "value"
    }

    Component {
        name: "QJSValue"
        accessSemantics: "value"
    }

    Component {
        file: "private/qqmlengine_p.h"
        name: "QObject"
        extension: "Object"
        accessSemantics: "reference"
        exports: ["QML/QtObject 1.0"]
        exportMetaObjectRevisions: [256]
        Property {
            name: "objectName"
            type: "QString"
            bindable: "bindableObjectName"
            read: "objectName"
            write: "setObjectName"
            notify: "objectNameChanged"
            index: 0
        }
        Signal {
            name: "objectNameChanged"
            Parameter { name: "objectName"; type: "QString" }
        }
        Method {
            name: "_q_reregisterTimers"
            Parameter { type: "void"; isPointer: true }
        }
        Method { name: "toString"; type: "string" }
        Method { name: "destroy" }
        Method {
            name: "destroy"
            Parameter { name: "delay"; type: "int" }
        }
    }

    Component {
        file: "qqmlcomponent.h"
        name: "QQmlComponent"
        accessSemantics: "reference"
        prototype: "QObject"
        exports: ["QML/Component 1.0"]
        exportMetaObjectRevisions: [256]
        attachedType: "QQmlComponentAttached"
        Enum {
            name: "CompilationMode"
            values: ["PreferSynchronous", "Asynchronous"]
        }
        Enum {
            name: "Status"
            values: ["Null", "Ready", "Loading", "Error"]
        }
        Property {
            name: "progress"
            type: "double"
            read: "progress"
            notify: "progressChanged"
            index: 0
            isReadonly: true
        }
        Property {
            name: "status"
            type: "Status"
            read: "status"
            notify: "statusChanged"
            index: 1
            isReadonly: true
        }
        Property { name: "url"; type: "QUrl"; read: "url"; index: 2; isReadonly: true }
        Signal {
            name: "statusChanged"
            Parameter { type: "QQmlComponent::Status" }
        }
        Signal {
            name: "progressChanged"
            Parameter { type: "double" }
        }
        Method {
            name: "loadUrl"
            Parameter { name: "url"; type: "QUrl" }
        }
        Method {
            name: "loadUrl"
            Parameter { name: "url"; type: "QUrl" }
            Parameter { name: "mode"; type: "CompilationMode" }
        }
        Method {
            name: "setData"
            Parameter { type: "QByteArray" }
            Parameter { name: "baseUrl"; type: "QUrl" }
        }
        Method { name: "errorString"; type: "QString" }
        Method { name: "createObject"; isJavaScriptFunction: true }
        Method {
            name: "createObject"
            type: "QObject"
            isPointer: true
            Parameter { name: "parent"; type: "QObject"; isPointer: true }
            Parameter { name: "properties"; type: "QVariantMap" }
        }
        Method {
            name: "createObject"
            type: "QObject"
            isPointer: true
            Parameter { name: "parent"; type: "QObject"; isPointer: true }
        }
        Method { name: "createObject"; type: "QObject"; isPointer: true }
        Method { name: "incubateObject"; isJavaScriptFunction: true }
    }

    Component {
        file: "private/qqmlcomponentattached_p.h"
        name: "QQmlComponentAttached"
        accessSemantics: "reference"
        prototype: "QObject"
        Signal { name: "completed" }
        Signal { name: "destruction" }
    }

    Component {
        name: "int"
        extension: "Number"
        exports: ["QML/int 1.0"]
        exportMetaObjectRevisions: [256]
        accessSemantics: "value"
    }

    Component {
        name: "float"
        extension: "Number"
        accessSemantics: "value"
    }

    Component {
        name: "double"
        extension: "Number"
        exports: ["QML/real 1.0", "QML/double 1.0"]
        exportMetaObjectRevisions: [256]
        accessSemantics: "value"
    }

    Component {
        name: "QString"
        extension: "String"
        exports: ["QML/string 1.0"]
        exportMetaObjectRevisions: [256]
        accessSemantics: "value"
    }

    Component {
        name: "QStringList"
        valueType: "QString"
        accessSemantics: "sequence"
    }

    Component {
        name: "bool"
        extension: "Boolean"
        exports: ["QML/bool 1.0"]
        exportMetaObjectRevisions: [256]
        accessSemantics: "value"
    }

    Component {
        name: "QDateTime"
        extension: "Date"
        exports: ["QML/date 1.0"]
        exportMetaObjectRevisions: [256]
        accessSemantics: "value"
    }

    Component {
        name: "QUrl"
        extension: "Url"
        exports: ["QML/url 1.0"]
        exportMetaObjectRevisions: [256]
        accessSemantics: "value"
    }

    Component {
        name: "QRegularExpression"
        exports: ["QML/regexp 1.0"]
        extension: "RegExp"
        accessSemantics: "value"
    }

    Component {
        name: "QByteArray"
        extension: "ArrayBuffer"
        accessSemantics: "value"
    }
}
