import QtQuick.tooling 1.2

// This file describes the plugin-supplied types contained in the library.
// It is used for QML tooling purposes only.
//
// This file was auto-generated by:
// 'qmlplugindump -nonrelocatable org.kde.kdeconnect 1.0 qml'

Module {
    dependencies: ["QtQuick 2.0"]
    Component {
        name: "BigscreenDbusInterface"
        prototype: "OrgKdeKdeconnectDeviceBigscreenInterface"
        exports: ["org.kde.kdeconnect/BigscreenDbusInterface 1.0"]
        isCreatable: false
        exportMetaObjectRevisions: [0]
    }
    Component {
        name: "CommandsModel"
        prototype: "QAbstractListModel"
        exports: ["org.kde.kdeconnect/CommandsModel 1.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "deviceId"; type: "string" }
        Signal {
            name: "deviceIdChanged"
            Parameter { name: "value"; type: "string" }
        }
        Signal { name: "rowsChanged" }
        Method {
            name: "removeCommand"
            Parameter { name: "index"; type: "int" }
        }
        Method {
            name: "addCommand"
            Parameter { name: "name"; type: "string" }
            Parameter { name: "command"; type: "string" }
        }
    }
    Component {
        name: "DBusAsyncResponse"
        prototype: "QObject"
        exports: ["org.kde.kdeconnect/DBusAsyncResponse 1.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "autoDelete"; type: "bool" }
        Signal {
            name: "success"
            Parameter { name: "result"; type: "QVariant" }
        }
        Signal {
            name: "error"
            Parameter { name: "message"; type: "string" }
        }
        Method {
            name: "setPendingCall"
            Parameter { name: "e"; type: "QVariant" }
        }
    }
    Component {
        name: "DaemonDbusInterface"
        prototype: "OrgKdeKdeconnectDaemonInterface"
        exports: ["org.kde.kdeconnect/DaemonDbusInterface 1.0"]
        isCreatable: false
        isSingleton: true
        exportMetaObjectRevisions: [0]
        Property { name: "customDevices"; type: "QStringList" }
        Signal {
            name: "deviceAdded"
            Parameter { name: "id"; type: "string" }
        }
        Signal { name: "pairingRequestsChangedProxy" }
        Signal { name: "customDevicesChangedProxy" }
    }
    Component {
        name: "DeviceDbusInterface"
        prototype: "OrgKdeKdeconnectDeviceInterface"
        exports: ["org.kde.kdeconnect/DeviceDbusInterface 1.0"]
        isCreatable: false
        exportMetaObjectRevisions: [0]
        Property { name: "isReachable"; type: "bool"; isReadonly: true }
        Property { name: "isTrusted"; type: "bool"; isReadonly: true }
        Property { name: "name"; type: "string"; isReadonly: true }
        Property { name: "hasPairingRequests"; type: "bool"; isReadonly: true }
        Signal {
            name: "nameChangedProxy"
            Parameter { name: "name"; type: "string" }
        }
        Signal {
            name: "trustedChangedProxy"
            Parameter { name: "paired"; type: "bool" }
        }
        Signal {
            name: "reachableChangedProxy"
            Parameter { name: "reachable"; type: "bool" }
        }
        Signal {
            name: "hasPairingRequestsChangedProxy"
            Parameter { type: "bool" }
        }
        Method { name: "id"; type: "string" }
        Method {
            name: "pluginCall"
            Parameter { name: "plugin"; type: "string" }
            Parameter { name: "method"; type: "string" }
        }
    }
    Component {
        name: "DevicesModel"
        prototype: "QAbstractListModel"
        exports: ["org.kde.kdeconnect/DevicesModel 1.0"]
        exportMetaObjectRevisions: [0]
        Enum {
            name: "ModelRoles"
            values: {
                "NameModelRole": 0,
                "IconModelRole": 1,
                "StatusModelRole": 14,
                "IdModelRole": 256,
                "IconNameRole": 257,
                "DeviceRole": 258
            }
        }
        Enum {
            name: "StatusFilterFlag"
            values: {
                "NoFilter": 0,
                "Paired": 1,
                "Reachable": 2
            }
        }
        Enum {
            name: "StatusFilterFlags"
            values: {
                "NoFilter": 0,
                "Paired": 1,
                "Reachable": 2
            }
        }
        Property { name: "displayFilter"; type: "int" }
        Property { name: "count"; type: "int"; isReadonly: true }
        Signal { name: "rowsChanged" }
        Method {
            name: "getDevice"
            type: "DeviceDbusInterface*"
            Parameter { name: "row"; type: "int" }
        }
        Method {
            name: "rowForDevice"
            type: "int"
            Parameter { name: "id"; type: "string" }
        }
    }
    Component {
        name: "DevicesSortProxyModel"
        prototype: "QSortFilterProxyModel"
        exports: ["org.kde.kdeconnect/DevicesSortProxyModel 1.0"]
        exportMetaObjectRevisions: [0]
    }
    Component {
        name: "FindMyPhoneDeviceDbusInterface"
        prototype: "OrgKdeKdeconnectDeviceFindmyphoneInterface"
        exports: ["org.kde.kdeconnect/FindMyPhoneDbusInterface 1.0"]
        isCreatable: false
        exportMetaObjectRevisions: [0]
    }
    Component {
        name: "KdeConnectPluginConfig"
        prototype: "QObject"
        exports: ["org.kde.kdeconnect/KdeConnectPluginConfig 1.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "deviceId"; type: "string" }
        Property { name: "pluginName"; type: "string" }
        Signal { name: "configChanged" }
        Method {
            name: "set"
            Parameter { name: "key"; type: "string" }
            Parameter { name: "value"; type: "QVariant" }
        }
        Method {
            name: "getString"
            type: "string"
            Parameter { name: "key"; type: "string" }
            Parameter { name: "defaultValue"; type: "string" }
        }
        Method {
            name: "getBool"
            type: "bool"
            Parameter { name: "key"; type: "string" }
            Parameter { name: "defaultValue"; type: "bool" }
        }
        Method {
            name: "getInt"
            type: "int"
            Parameter { name: "key"; type: "string" }
            Parameter { name: "defaultValue"; type: "int" }
        }
        Method {
            name: "getByteArray"
            type: "QByteArray"
            Parameter { name: "key"; type: "string" }
            Parameter { name: "defaultValue"; type: "QByteArray" }
        }
    }
    Component {
        name: "LockDeviceDbusInterface"
        prototype: "OrgKdeKdeconnectDeviceLockdeviceInterface"
        exports: ["org.kde.kdeconnect/LockDeviceDbusInterface 1.0"]
        isCreatable: false
        exportMetaObjectRevisions: [0]
        Property { name: "isLocked"; type: "bool" }
        Signal {
            name: "lockedChangedProxy"
            Parameter { name: "isLocked"; type: "bool" }
        }
    }
    Component {
        name: "MprisDbusInterface"
        prototype: "OrgKdeKdeconnectDeviceMprisremoteInterface"
        exports: ["org.kde.kdeconnect/MprisDbusInterface 1.0"]
        isCreatable: false
        exportMetaObjectRevisions: [0]
        Property { name: "isPlaying"; type: "bool"; isReadonly: true }
        Property { name: "length"; type: "int"; isReadonly: true }
        Property { name: "nowPlaying"; type: "string"; isReadonly: true }
        Property { name: "title"; type: "string"; isReadonly: true }
        Property { name: "artist"; type: "string"; isReadonly: true }
        Property { name: "album"; type: "string"; isReadonly: true }
        Property { name: "playerList"; type: "QStringList"; isReadonly: true }
        Property { name: "volume"; type: "int" }
        Property { name: "position"; type: "int" }
        Property { name: "canSeek"; type: "bool"; isReadonly: true }
        Signal { name: "propertiesChangedProxy" }
    }
    Component {
        name: "NotificationsModel"
        prototype: "QAbstractListModel"
        exports: ["org.kde.kdeconnect/NotificationsModel 1.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "deviceId"; type: "string" }
        Property { name: "count"; type: "int"; isReadonly: true }
        Property { name: "isAnyDimissable"; type: "bool"; isReadonly: true }
        Signal {
            name: "deviceIdChanged"
            Parameter { name: "value"; type: "string" }
        }
        Signal { name: "anyDismissableChanged" }
        Signal { name: "rowsChanged" }
        Method { name: "dismissAll" }
        Method { name: "isAnyDimissable"; type: "bool" }
    }
    Component {
        name: "ObjectFactory"
        prototype: "QObject"
        exports: [
            "org.kde.kdeconnect/BigscreenDbusInterfaceFactory 1.0",
            "org.kde.kdeconnect/DeviceBatteryDbusInterfaceFactory 1.0",
            "org.kde.kdeconnect/DeviceConnectivityReportDbusInterfaceFactory 1.0",
            "org.kde.kdeconnect/DeviceDbusInterfaceFactory 1.0",
            "org.kde.kdeconnect/FindMyPhoneDbusInterfaceFactory 1.0",
            "org.kde.kdeconnect/LockDeviceDbusInterfaceFactory 1.0",
            "org.kde.kdeconnect/MprisDbusInterfaceFactory 1.0",
            "org.kde.kdeconnect/RemoteCommandsDbusInterfaceFactory 1.0",
            "org.kde.kdeconnect/RemoteControlDbusInterfaceFactory 1.0",
            "org.kde.kdeconnect/RemoteKeyboardDbusInterfaceFactory 1.0",
            "org.kde.kdeconnect/RemoteSystemVolumeDbusInterfaceFactory 1.0",
            "org.kde.kdeconnect/SftpDbusInterfaceFactory 1.0",
            "org.kde.kdeconnect/ShareDbusInterfaceFactory 1.0",
            "org.kde.kdeconnect/SmsDbusInterfaceFactory 1.0"
        ]
        isCreatable: false
        isSingleton: true
        exportMetaObjectRevisions: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
        Method { name: "create"; type: "QObject*" }
        Method {
            name: "create"
            type: "QObject*"
            Parameter { name: "arg1"; type: "QVariant" }
        }
        Method {
            name: "create"
            type: "QObject*"
            Parameter { name: "arg1"; type: "QVariant" }
            Parameter { name: "arg2"; type: "QVariant" }
        }
    }
    Component {
        name: "OrgKdeKdeconnectDaemonInterface"
        prototype: "QDBusAbstractInterface"
        Property { name: "customDevices"; type: "QStringList" }
        Property { name: "isDiscoveringDevices"; type: "bool"; isReadonly: true }
        Property { name: "pairingRequests"; type: "QStringList"; isReadonly: true }
        Signal {
            name: "announcedNameChanged"
            Parameter { name: "announcedName"; type: "string" }
        }
        Signal {
            name: "customDevicesChanged"
            Parameter { name: "customDevices"; type: "QStringList" }
        }
        Signal {
            name: "deviceAdded"
            Parameter { name: "id"; type: "string" }
        }
        Signal { name: "deviceListChanged" }
        Signal {
            name: "deviceRemoved"
            Parameter { name: "id"; type: "string" }
        }
        Signal {
            name: "deviceVisibilityChanged"
            Parameter { name: "id"; type: "string" }
            Parameter { name: "isVisible"; type: "bool" }
        }
        Method {
            name: "acquireDiscoveryMode"
            type: "QDBusPendingReply<>"
            Parameter { name: "id"; type: "string" }
        }
        Method { name: "announcedName"; type: "QDBusPendingReply<QString>" }
        Method {
            name: "deviceIdByName"
            type: "QDBusPendingReply<QString>"
            Parameter { name: "name"; type: "string" }
        }
        Method { name: "devices"; type: "QDBusPendingReply<QStringList>" }
        Method {
            name: "devices"
            type: "QDBusPendingReply<QStringList>"
            Parameter { name: "onlyReachable"; type: "bool" }
        }
        Method {
            name: "devices"
            type: "QDBusPendingReply<QStringList>"
            Parameter { name: "onlyReachable"; type: "bool" }
            Parameter { name: "onlyPaired"; type: "bool" }
        }
        Method { name: "forceOnNetworkChange"; type: "QDBusPendingReply<>" }
        Method { name: "openConfiguration"; type: "QDBusPendingReply<>" }
        Method {
            name: "openConfiguration"
            type: "QDBusPendingReply<>"
            Parameter { name: "deviceId"; type: "string" }
        }
        Method {
            name: "openConfiguration"
            type: "QDBusPendingReply<>"
            Parameter { name: "deviceId"; type: "string" }
            Parameter { name: "pluginId"; type: "string" }
        }
        Method {
            name: "releaseDiscoveryMode"
            type: "QDBusPendingReply<>"
            Parameter { name: "id"; type: "string" }
        }
        Method { name: "selfId"; type: "QDBusPendingReply<QString>" }
        Method {
            name: "sendSimpleNotification"
            type: "QDBusPendingReply<>"
            Parameter { name: "eventId"; type: "string" }
            Parameter { name: "title"; type: "string" }
            Parameter { name: "text"; type: "string" }
            Parameter { name: "iconName"; type: "string" }
        }
        Method {
            name: "setAnnouncedName"
            type: "QDBusPendingReply<>"
            Parameter { name: "name"; type: "string" }
        }
    }
    Component {
        name: "OrgKdeKdeconnectDeviceBigscreenInterface"
        prototype: "QDBusAbstractInterface"
        Signal {
            name: "messageReceived"
            Parameter { name: "message"; type: "string" }
        }
    }
    Component {
        name: "OrgKdeKdeconnectDeviceFindmyphoneInterface"
        prototype: "QDBusAbstractInterface"
        Method { name: "ring"; type: "QDBusPendingReply<>" }
    }
    Component {
        name: "OrgKdeKdeconnectDeviceInterface"
        prototype: "QDBusAbstractInterface"
        Property { name: "hasPairingRequests"; type: "bool"; isReadonly: true }
        Property { name: "iconName"; type: "string"; isReadonly: true }
        Property { name: "isReachable"; type: "bool"; isReadonly: true }
        Property { name: "isTrusted"; type: "bool"; isReadonly: true }
        Property { name: "name"; type: "string"; isReadonly: true }
        Property { name: "statusIconName"; type: "string"; isReadonly: true }
        Property { name: "supportedPlugins"; type: "QStringList"; isReadonly: true }
        Property { name: "type"; type: "string"; isReadonly: true }
        Signal {
            name: "hasPairingRequestsChanged"
            Parameter { name: "hasPairingRequests"; type: "bool" }
        }
        Signal {
            name: "nameChanged"
            Parameter { name: "name"; type: "string" }
        }
        Signal {
            name: "pairingError"
            Parameter { name: "error"; type: "string" }
        }
        Signal { name: "pluginsChanged" }
        Signal {
            name: "reachableChanged"
            Parameter { name: "reachable"; type: "bool" }
        }
        Signal {
            name: "trustedChanged"
            Parameter { name: "trusted"; type: "bool" }
        }
        Signal {
            name: "typeChanged"
            Parameter { name: "type"; type: "string" }
        }
        Method { name: "acceptPairing"; type: "QDBusPendingReply<>" }
        Method { name: "availableLinks"; type: "QDBusPendingReply<QStringList>" }
        Method { name: "encryptionInfo"; type: "QDBusPendingReply<QString>" }
        Method { name: "hasPairingRequests"; type: "QDBusPendingReply<bool>" }
        Method {
            name: "hasPlugin"
            type: "QDBusPendingReply<bool>"
            Parameter { name: "name"; type: "string" }
        }
        Method {
            name: "isPluginEnabled"
            type: "QDBusPendingReply<bool>"
            Parameter { name: "pluginName"; type: "string" }
        }
        Method { name: "isTrusted"; type: "QDBusPendingReply<bool>" }
        Method { name: "loadedPlugins"; type: "QDBusPendingReply<QStringList>" }
        Method {
            name: "pluginIconName"
            type: "QDBusPendingReply<QString>"
            Parameter { name: "pluginName"; type: "string" }
        }
        Method { name: "pluginsConfigFile"; type: "QDBusPendingReply<QString>" }
        Method { name: "rejectPairing"; type: "QDBusPendingReply<>" }
        Method { name: "reloadPlugins"; type: "QDBusPendingReply<>" }
        Method { name: "requestPair"; type: "QDBusPendingReply<>" }
        Method {
            name: "setPluginEnabled"
            type: "QDBusPendingReply<>"
            Parameter { name: "pluginName"; type: "string" }
            Parameter { name: "enabled"; type: "bool" }
        }
        Method { name: "unpair"; type: "QDBusPendingReply<>" }
        Method { name: "verificationKey"; type: "QDBusPendingReply<QByteArray>" }
    }
    Component {
        name: "OrgKdeKdeconnectDeviceLockdeviceInterface"
        prototype: "QDBusAbstractInterface"
        Property { name: "isLocked"; type: "bool" }
        Signal {
            name: "lockedChanged"
            Parameter { name: "locked"; type: "bool" }
        }
        Method {
            name: "setLocked"
            type: "QDBusPendingReply<>"
            Parameter { name: "in0"; type: "bool" }
        }
    }
    Component {
        name: "OrgKdeKdeconnectDeviceMprisremoteInterface"
        prototype: "QDBusAbstractInterface"
        Property { name: "album"; type: "string"; isReadonly: true }
        Property { name: "artist"; type: "string"; isReadonly: true }
        Property { name: "canSeek"; type: "bool"; isReadonly: true }
        Property { name: "isPlaying"; type: "bool"; isReadonly: true }
        Property { name: "length"; type: "int"; isReadonly: true }
        Property { name: "nowPlaying"; type: "string"; isReadonly: true }
        Property { name: "player"; type: "string" }
        Property { name: "playerList"; type: "QStringList"; isReadonly: true }
        Property { name: "position"; type: "int" }
        Property { name: "title"; type: "string"; isReadonly: true }
        Property { name: "volume"; type: "int" }
        Signal { name: "propertiesChanged" }
        Method { name: "requestPlayerList"; type: "QDBusPendingReply<>" }
        Method {
            name: "seek"
            type: "QDBusPendingReply<>"
            Parameter { name: "offset"; type: "int" }
        }
        Method {
            name: "sendAction"
            type: "QDBusPendingReply<>"
            Parameter { name: "action"; type: "string" }
        }
    }
    Component {
        name: "OrgKdeKdeconnectDeviceRemotecommandsInterface"
        prototype: "QDBusAbstractInterface"
        Property { name: "canAddCommand"; type: "bool"; isReadonly: true }
        Property { name: "commands"; type: "QByteArray"; isReadonly: true }
        Property { name: "deviceId"; type: "string"; isReadonly: true }
        Signal {
            name: "commandsChanged"
            Parameter { name: "commands"; type: "QByteArray" }
        }
        Method { name: "editCommands"; type: "QDBusPendingReply<>" }
        Method {
            name: "triggerCommand"
            type: "QDBusPendingReply<>"
            Parameter { name: "key"; type: "string" }
        }
    }
    Component {
        name: "OrgKdeKdeconnectDeviceRemotekeyboardInterface"
        prototype: "QDBusAbstractInterface"
        Property { name: "remoteState"; type: "bool"; isReadonly: true }
        Signal {
            name: "keyPressReceived"
            Parameter { name: "key"; type: "string" }
            Parameter { name: "specialKey"; type: "int" }
            Parameter { name: "shift"; type: "bool" }
            Parameter { name: "ctrl"; type: "bool" }
            Parameter { name: "alt"; type: "bool" }
        }
        Signal {
            name: "remoteStateChanged"
            Parameter { name: "state"; type: "bool" }
        }
        Method {
            name: "sendKeyPress"
            type: "QDBusPendingReply<>"
            Parameter { name: "key"; type: "string" }
        }
        Method {
            name: "sendKeyPress"
            type: "QDBusPendingReply<>"
            Parameter { name: "key"; type: "string" }
            Parameter { name: "specialKey"; type: "int" }
        }
        Method {
            name: "sendKeyPress"
            type: "QDBusPendingReply<>"
            Parameter { name: "key"; type: "string" }
            Parameter { name: "specialKey"; type: "int" }
            Parameter { name: "shift"; type: "bool" }
        }
        Method {
            name: "sendKeyPress"
            type: "QDBusPendingReply<>"
            Parameter { name: "key"; type: "string" }
            Parameter { name: "specialKey"; type: "int" }
            Parameter { name: "shift"; type: "bool" }
            Parameter { name: "ctrl"; type: "bool" }
        }
        Method {
            name: "sendKeyPress"
            type: "QDBusPendingReply<>"
            Parameter { name: "key"; type: "string" }
            Parameter { name: "specialKey"; type: "int" }
            Parameter { name: "shift"; type: "bool" }
            Parameter { name: "ctrl"; type: "bool" }
            Parameter { name: "alt"; type: "bool" }
        }
        Method {
            name: "sendKeyPress"
            type: "QDBusPendingReply<>"
            Parameter { name: "key"; type: "string" }
            Parameter { name: "specialKey"; type: "int" }
            Parameter { name: "shift"; type: "bool" }
            Parameter { name: "ctrl"; type: "bool" }
            Parameter { name: "alt"; type: "bool" }
            Parameter { name: "sendAck"; type: "bool" }
        }
        Method {
            name: "sendQKeyEvent"
            type: "QDBusPendingReply<>"
            Parameter { name: "keyEvent"; type: "QVariantMap" }
        }
        Method {
            name: "sendQKeyEvent"
            type: "QDBusPendingReply<>"
            Parameter { name: "keyEvent"; type: "QVariantMap" }
            Parameter { name: "sendAck"; type: "bool" }
        }
        Method {
            name: "translateQtKey"
            type: "QDBusPendingReply<int>"
            Parameter { name: "qtKey"; type: "int" }
        }
    }
    Component {
        name: "OrgKdeKdeconnectDeviceRemotesystemvolumeInterface"
        prototype: "QDBusAbstractInterface"
        Property { name: "deviceId"; type: "string"; isReadonly: true }
        Property { name: "sinks"; type: "QByteArray"; isReadonly: true }
        Signal {
            name: "mutedChanged"
            Parameter { name: "name"; type: "string" }
            Parameter { name: "muted"; type: "bool" }
        }
        Signal {
            name: "volumeChanged"
            Parameter { name: "name"; type: "string" }
            Parameter { name: "volume"; type: "int" }
        }
        Method {
            name: "sendMuted"
            type: "QDBusPendingReply<>"
            Parameter { name: "name"; type: "string" }
            Parameter { name: "muted"; type: "bool" }
        }
        Method {
            name: "sendVolume"
            type: "QDBusPendingReply<>"
            Parameter { name: "name"; type: "string" }
            Parameter { name: "volume"; type: "int" }
        }
    }
    Component {
        name: "OrgKdeKdeconnectDeviceShareInterface"
        prototype: "QDBusAbstractInterface"
        Signal {
            name: "shareReceived"
            Parameter { name: "url"; type: "string" }
        }
        Method {
            name: "openFile"
            type: "QDBusPendingReply<>"
            Parameter { name: "file"; type: "string" }
        }
        Method {
            name: "shareText"
            type: "QDBusPendingReply<>"
            Parameter { name: "text"; type: "string" }
        }
        Method {
            name: "shareUrl"
            type: "QDBusPendingReply<>"
            Parameter { name: "url"; type: "string" }
        }
        Method {
            name: "shareUrls"
            type: "QDBusPendingReply<>"
            Parameter { name: "urls"; type: "QStringList" }
        }
    }
    Component {
        name: "PluginModel"
        prototype: "QAbstractListModel"
        exports: ["org.kde.kdeconnect/PluginModel 1.0"]
        exportMetaObjectRevisions: [0]
        Enum {
            name: "ExtraRoles"
            values: {
                "IconRole": 257,
                "IdRole": 258,
                "ConfigSourceRole": 259,
                "DescriptionRole": 260
            }
        }
        Property { name: "deviceId"; type: "string" }
        Signal {
            name: "deviceIdChanged"
            Parameter { name: "value"; type: "string" }
        }
        Signal { name: "rowsChanged" }
    }
    Component {
        name: "QAbstractItemModel"
        prototype: "QObject"
        Enum {
            name: "LayoutChangeHint"
            values: {
                "NoLayoutChangeHint": 0,
                "VerticalSortHint": 1,
                "HorizontalSortHint": 2
            }
        }
        Enum {
            name: "CheckIndexOption"
            values: {
                "NoOption": 0,
                "IndexIsValid": 1,
                "DoNotUseParent": 2,
                "ParentIsInvalid": 4
            }
        }
        Signal {
            name: "dataChanged"
            Parameter { name: "topLeft"; type: "QModelIndex" }
            Parameter { name: "bottomRight"; type: "QModelIndex" }
            Parameter { name: "roles"; type: "QVector<int>" }
        }
        Signal {
            name: "dataChanged"
            Parameter { name: "topLeft"; type: "QModelIndex" }
            Parameter { name: "bottomRight"; type: "QModelIndex" }
        }
        Signal {
            name: "headerDataChanged"
            Parameter { name: "orientation"; type: "Qt::Orientation" }
            Parameter { name: "first"; type: "int" }
            Parameter { name: "last"; type: "int" }
        }
        Signal {
            name: "layoutChanged"
            Parameter { name: "parents"; type: "QList<QPersistentModelIndex>" }
            Parameter { name: "hint"; type: "QAbstractItemModel::LayoutChangeHint" }
        }
        Signal {
            name: "layoutChanged"
            Parameter { name: "parents"; type: "QList<QPersistentModelIndex>" }
        }
        Signal { name: "layoutChanged" }
        Signal {
            name: "layoutAboutToBeChanged"
            Parameter { name: "parents"; type: "QList<QPersistentModelIndex>" }
            Parameter { name: "hint"; type: "QAbstractItemModel::LayoutChangeHint" }
        }
        Signal {
            name: "layoutAboutToBeChanged"
            Parameter { name: "parents"; type: "QList<QPersistentModelIndex>" }
        }
        Signal { name: "layoutAboutToBeChanged" }
        Signal {
            name: "rowsAboutToBeInserted"
            Parameter { name: "parent"; type: "QModelIndex" }
            Parameter { name: "first"; type: "int" }
            Parameter { name: "last"; type: "int" }
        }
        Signal {
            name: "rowsInserted"
            Parameter { name: "parent"; type: "QModelIndex" }
            Parameter { name: "first"; type: "int" }
            Parameter { name: "last"; type: "int" }
        }
        Signal {
            name: "rowsAboutToBeRemoved"
            Parameter { name: "parent"; type: "QModelIndex" }
            Parameter { name: "first"; type: "int" }
            Parameter { name: "last"; type: "int" }
        }
        Signal {
            name: "rowsRemoved"
            Parameter { name: "parent"; type: "QModelIndex" }
            Parameter { name: "first"; type: "int" }
            Parameter { name: "last"; type: "int" }
        }
        Signal {
            name: "columnsAboutToBeInserted"
            Parameter { name: "parent"; type: "QModelIndex" }
            Parameter { name: "first"; type: "int" }
            Parameter { name: "last"; type: "int" }
        }
        Signal {
            name: "columnsInserted"
            Parameter { name: "parent"; type: "QModelIndex" }
            Parameter { name: "first"; type: "int" }
            Parameter { name: "last"; type: "int" }
        }
        Signal {
            name: "columnsAboutToBeRemoved"
            Parameter { name: "parent"; type: "QModelIndex" }
            Parameter { name: "first"; type: "int" }
            Parameter { name: "last"; type: "int" }
        }
        Signal {
            name: "columnsRemoved"
            Parameter { name: "parent"; type: "QModelIndex" }
            Parameter { name: "first"; type: "int" }
            Parameter { name: "last"; type: "int" }
        }
        Signal { name: "modelAboutToBeReset" }
        Signal { name: "modelReset" }
        Signal {
            name: "rowsAboutToBeMoved"
            Parameter { name: "sourceParent"; type: "QModelIndex" }
            Parameter { name: "sourceStart"; type: "int" }
            Parameter { name: "sourceEnd"; type: "int" }
            Parameter { name: "destinationParent"; type: "QModelIndex" }
            Parameter { name: "destinationRow"; type: "int" }
        }
        Signal {
            name: "rowsMoved"
            Parameter { name: "parent"; type: "QModelIndex" }
            Parameter { name: "start"; type: "int" }
            Parameter { name: "end"; type: "int" }
            Parameter { name: "destination"; type: "QModelIndex" }
            Parameter { name: "row"; type: "int" }
        }
        Signal {
            name: "columnsAboutToBeMoved"
            Parameter { name: "sourceParent"; type: "QModelIndex" }
            Parameter { name: "sourceStart"; type: "int" }
            Parameter { name: "sourceEnd"; type: "int" }
            Parameter { name: "destinationParent"; type: "QModelIndex" }
            Parameter { name: "destinationColumn"; type: "int" }
        }
        Signal {
            name: "columnsMoved"
            Parameter { name: "parent"; type: "QModelIndex" }
            Parameter { name: "start"; type: "int" }
            Parameter { name: "end"; type: "int" }
            Parameter { name: "destination"; type: "QModelIndex" }
            Parameter { name: "column"; type: "int" }
        }
        Method { name: "submit"; type: "bool" }
        Method { name: "revert" }
        Method {
            name: "hasIndex"
            type: "bool"
            Parameter { name: "row"; type: "int" }
            Parameter { name: "column"; type: "int" }
            Parameter { name: "parent"; type: "QModelIndex" }
        }
        Method {
            name: "hasIndex"
            type: "bool"
            Parameter { name: "row"; type: "int" }
            Parameter { name: "column"; type: "int" }
        }
        Method {
            name: "index"
            type: "QModelIndex"
            Parameter { name: "row"; type: "int" }
            Parameter { name: "column"; type: "int" }
            Parameter { name: "parent"; type: "QModelIndex" }
        }
        Method {
            name: "index"
            type: "QModelIndex"
            Parameter { name: "row"; type: "int" }
            Parameter { name: "column"; type: "int" }
        }
        Method {
            name: "parent"
            type: "QModelIndex"
            Parameter { name: "child"; type: "QModelIndex" }
        }
        Method {
            name: "sibling"
            type: "QModelIndex"
            Parameter { name: "row"; type: "int" }
            Parameter { name: "column"; type: "int" }
            Parameter { name: "idx"; type: "QModelIndex" }
        }
        Method {
            name: "rowCount"
            type: "int"
            Parameter { name: "parent"; type: "QModelIndex" }
        }
        Method { name: "rowCount"; type: "int" }
        Method {
            name: "columnCount"
            type: "int"
            Parameter { name: "parent"; type: "QModelIndex" }
        }
        Method { name: "columnCount"; type: "int" }
        Method {
            name: "hasChildren"
            type: "bool"
            Parameter { name: "parent"; type: "QModelIndex" }
        }
        Method { name: "hasChildren"; type: "bool" }
        Method {
            name: "data"
            type: "QVariant"
            Parameter { name: "index"; type: "QModelIndex" }
            Parameter { name: "role"; type: "int" }
        }
        Method {
            name: "data"
            type: "QVariant"
            Parameter { name: "index"; type: "QModelIndex" }
        }
        Method {
            name: "setData"
            type: "bool"
            Parameter { name: "index"; type: "QModelIndex" }
            Parameter { name: "value"; type: "QVariant" }
            Parameter { name: "role"; type: "int" }
        }
        Method {
            name: "setData"
            type: "bool"
            Parameter { name: "index"; type: "QModelIndex" }
            Parameter { name: "value"; type: "QVariant" }
        }
        Method {
            name: "headerData"
            type: "QVariant"
            Parameter { name: "section"; type: "int" }
            Parameter { name: "orientation"; type: "Qt::Orientation" }
            Parameter { name: "role"; type: "int" }
        }
        Method {
            name: "headerData"
            type: "QVariant"
            Parameter { name: "section"; type: "int" }
            Parameter { name: "orientation"; type: "Qt::Orientation" }
        }
        Method {
            name: "fetchMore"
            Parameter { name: "parent"; type: "QModelIndex" }
        }
        Method {
            name: "canFetchMore"
            type: "bool"
            Parameter { name: "parent"; type: "QModelIndex" }
        }
        Method {
            name: "flags"
            type: "Qt::ItemFlags"
            Parameter { name: "index"; type: "QModelIndex" }
        }
        Method {
            name: "match"
            type: "QModelIndexList"
            Parameter { name: "start"; type: "QModelIndex" }
            Parameter { name: "role"; type: "int" }
            Parameter { name: "value"; type: "QVariant" }
            Parameter { name: "hits"; type: "int" }
            Parameter { name: "flags"; type: "Qt::MatchFlags" }
        }
        Method {
            name: "match"
            type: "QModelIndexList"
            Parameter { name: "start"; type: "QModelIndex" }
            Parameter { name: "role"; type: "int" }
            Parameter { name: "value"; type: "QVariant" }
            Parameter { name: "hits"; type: "int" }
        }
        Method {
            name: "match"
            type: "QModelIndexList"
            Parameter { name: "start"; type: "QModelIndex" }
            Parameter { name: "role"; type: "int" }
            Parameter { name: "value"; type: "QVariant" }
        }
    }
    Component { name: "QAbstractListModel"; prototype: "QAbstractItemModel" }
    Component {
        name: "QAbstractProxyModel"
        prototype: "QAbstractItemModel"
        Property { name: "sourceModel"; type: "QAbstractItemModel"; isPointer: true }
        Method {
            name: "mapToSource"
            type: "QModelIndex"
            Parameter { name: "proxyIndex"; type: "QModelIndex" }
        }
        Method {
            name: "mapFromSource"
            type: "QModelIndex"
            Parameter { name: "sourceIndex"; type: "QModelIndex" }
        }
        Method {
            name: "mapSelectionToSource"
            type: "QItemSelection"
            Parameter { name: "selection"; type: "QItemSelection" }
        }
        Method {
            name: "mapSelectionFromSource"
            type: "QItemSelection"
            Parameter { name: "selection"; type: "QItemSelection" }
        }
    }
    Component { name: "QDBusAbstractInterface"; prototype: "QObject" }
    Component {
        name: "QSortFilterProxyModel"
        prototype: "QAbstractProxyModel"
        Property { name: "filterRegExp"; type: "QRegExp" }
        Property { name: "filterRegularExpression"; type: "QRegularExpression" }
        Property { name: "filterKeyColumn"; type: "int" }
        Property { name: "dynamicSortFilter"; type: "bool" }
        Property { name: "filterCaseSensitivity"; type: "Qt::CaseSensitivity" }
        Property { name: "sortCaseSensitivity"; type: "Qt::CaseSensitivity" }
        Property { name: "isSortLocaleAware"; type: "bool" }
        Property { name: "sortRole"; type: "int" }
        Property { name: "filterRole"; type: "int" }
        Property { name: "recursiveFilteringEnabled"; type: "bool" }
        Signal {
            name: "dynamicSortFilterChanged"
            Parameter { name: "dynamicSortFilter"; type: "bool" }
        }
        Signal {
            name: "filterCaseSensitivityChanged"
            Parameter { name: "filterCaseSensitivity"; type: "Qt::CaseSensitivity" }
        }
        Signal {
            name: "sortCaseSensitivityChanged"
            Parameter { name: "sortCaseSensitivity"; type: "Qt::CaseSensitivity" }
        }
        Signal {
            name: "sortLocaleAwareChanged"
            Parameter { name: "sortLocaleAware"; type: "bool" }
        }
        Signal {
            name: "sortRoleChanged"
            Parameter { name: "sortRole"; type: "int" }
        }
        Signal {
            name: "filterRoleChanged"
            Parameter { name: "filterRole"; type: "int" }
        }
        Signal {
            name: "recursiveFilteringEnabledChanged"
            Parameter { name: "recursiveFilteringEnabled"; type: "bool" }
        }
        Method {
            name: "setFilterRegExp"
            Parameter { name: "pattern"; type: "string" }
        }
        Method {
            name: "setFilterRegExp"
            Parameter { name: "regExp"; type: "QRegExp" }
        }
        Method {
            name: "setFilterRegularExpression"
            Parameter { name: "pattern"; type: "string" }
        }
        Method {
            name: "setFilterRegularExpression"
            Parameter { name: "regularExpression"; type: "QRegularExpression" }
        }
        Method {
            name: "setFilterWildcard"
            Parameter { name: "pattern"; type: "string" }
        }
        Method {
            name: "setFilterFixedString"
            Parameter { name: "pattern"; type: "string" }
        }
        Method { name: "clear" }
        Method { name: "invalidate" }
    }
    Component {
        name: "RemoteCommandsDbusInterface"
        prototype: "OrgKdeKdeconnectDeviceRemotecommandsInterface"
        exports: ["org.kde.kdeconnect/RemoteCommandsDbusInterface 1.0"]
        isCreatable: false
        exportMetaObjectRevisions: [0]
    }
    Component {
        name: "RemoteCommandsModel"
        prototype: "QAbstractListModel"
        exports: ["org.kde.kdeconnect/RemoteCommandsModel 1.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "deviceId"; type: "string" }
        Signal {
            name: "deviceIdChanged"
            Parameter { name: "value"; type: "string" }
        }
        Signal { name: "rowsChanged" }
    }
    Component {
        name: "RemoteKeyboardDbusInterface"
        prototype: "OrgKdeKdeconnectDeviceRemotekeyboardInterface"
        exports: ["org.kde.kdeconnect/RemoteKeyboardDbusInterface 1.0"]
        isCreatable: false
        exportMetaObjectRevisions: [0]
        Property { name: "remoteState"; type: "bool"; isReadonly: true }
        Signal {
            name: "remoteStateChanged"
            Parameter { name: "state"; type: "bool" }
        }
    }
    Component {
        name: "RemoteSinksModel"
        prototype: "QAbstractListModel"
        exports: ["org.kde.kdeconnect/RemoteSinksModel 1.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "deviceId"; type: "string" }
        Signal {
            name: "deviceIdChanged"
            Parameter { name: "value"; type: "string" }
        }
        Signal { name: "rowsChanged" }
    }
    Component {
        name: "RemoteSystemVolumeDbusInterface"
        prototype: "OrgKdeKdeconnectDeviceRemotesystemvolumeInterface"
        exports: ["org.kde.kdeconnect/RemoteSystemVolumeInterface 1.0"]
        isCreatable: false
        exportMetaObjectRevisions: [0]
    }
    Component {
        name: "ShareDbusInterface"
        prototype: "OrgKdeKdeconnectDeviceShareInterface"
        exports: ["org.kde.kdeconnect/ShareDbusInterface 1.0"]
        isCreatable: false
        exportMetaObjectRevisions: [0]
    }
}
