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-qt5 -nonrelocatable org.kde.plasma.core 2.0 /home/koder/System/opt/kf5/lib64/qml'

Module {
    dependencies: [
        "QtQml 2.0",
        "QtQuick 2.6",
        "QtQuick.Controls 1.5",
        "QtQuick.Controls.Styles 1.4",
        "QtQuick.Controls.Styles.Plasma 2.0",
        "QtQuick.Layouts 1.1",
        "QtQuick.Window 2.2",
        "org.kde.kconfig 1.0",
        "org.kde.kquickcontrolsaddons 2.0",
        "org.kde.plasma.components 2.0",
        "org.kde.plasma.extras 2.0"
    ]
    Component {
        name: "ColorScope"
        defaultProperty: "data"
        prototype: "QQuickItem"
        exports: ["org.kde.plasma.core/ColorScope 2.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "colorGroup"; type: "Plasma::Theme::ColorGroup" }
        Property { name: "textColor"; type: "QColor"; isReadonly: true }
        Property { name: "highlightColor"; type: "QColor"; isReadonly: true }
        Property { name: "highlightedTextColor"; type: "QColor"; isReadonly: true }
        Property { name: "backgroundColor"; type: "QColor"; isReadonly: true }
        Property { name: "positiveTextColor"; type: "QColor"; isReadonly: true }
        Property { name: "neutralTextColor"; type: "QColor"; isReadonly: true }
        Property { name: "negativeTextColor"; type: "QColor"; isReadonly: true }
        Property { name: "inherit"; type: "bool" }
        Signal { name: "colorsChanged" }
    }
    Component {
        name: "IconItem"
        defaultProperty: "data"
        prototype: "QQuickItem"
        exports: ["org.kde.plasma.core/IconItem 2.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "source"; type: "QVariant" }
        Property { name: "colorGroup"; type: "Plasma::Theme::ColorGroup" }
        Property { name: "overlays"; type: "QStringList" }
        Property { name: "active"; type: "bool" }
        Property { name: "status"; type: "Plasma::Svg::Status" }
        Property { name: "animated"; type: "bool" }
        Property { name: "usesPlasmaTheme"; type: "bool" }
        Property { name: "roundToIconSize"; type: "bool" }
        Property { name: "valid"; type: "bool"; isReadonly: true }
        Property { name: "paintedWidth"; type: "int"; isReadonly: true }
        Property { name: "paintedHeight"; type: "int"; isReadonly: true }
        Property { name: "implicitHeight"; type: "int" }
        Property { name: "implicitWidth"; type: "int" }
        Signal { name: "paintedSizeChanged" }
        Signal { name: "implicitHeightChanged2" }
        Signal { name: "implicitWidthChanged2" }
    }
    Component {
        name: "Plasma::DataModel"
        prototype: "QAbstractItemModel"
        exports: ["org.kde.plasma.core/DataModel 2.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "dataSource"; type: "QObject"; isPointer: true }
        Property { name: "keyRoleFilter"; type: "string" }
        Property { name: "sourceFilter"; type: "string" }
        Property { name: "count"; type: "int"; isReadonly: true }
        Signal {
            name: "sourceModelChanged"
            Parameter { type: "QObject"; isPointer: true }
        }
        Signal {
            name: "filterRegExpChanged"
            Parameter { type: "string" }
        }
        Method {
            name: "get"
            type: "QVariantMap"
            Parameter { name: "i"; type: "int" }
        }
    }
    Component {
        name: "Plasma::DataSource"
        prototype: "QObject"
        exports: ["org.kde.plasma.core/DataSource 2.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "valid"; type: "bool"; isReadonly: true }
        Property { name: "interval"; type: "int" }
        Property { name: "intervalAlignment"; type: "Plasma::Types::IntervalAlignment" }
        Property { name: "dataEngine"; type: "string" }
        Property { name: "engine"; type: "string" }
        Property { name: "connectedSources"; type: "QStringList" }
        Property { name: "sources"; type: "QStringList"; isReadonly: true }
        Property { name: "data"; type: "QQmlPropertyMap"; isReadonly: true; isPointer: true }
        Property { name: "models"; type: "QQmlPropertyMap"; isReadonly: true; isPointer: true }
        Signal {
            name: "newData"
            Parameter { name: "sourceName"; type: "string" }
            Parameter { name: "data"; type: "QVariantMap" }
        }
        Signal {
            name: "sourceAdded"
            Parameter { name: "source"; type: "string" }
        }
        Signal {
            name: "sourceRemoved"
            Parameter { name: "source"; type: "string" }
        }
        Signal {
            name: "sourceConnected"
            Parameter { name: "source"; type: "string" }
        }
        Signal {
            name: "sourceDisconnected"
            Parameter { name: "source"; type: "string" }
        }
        Method {
            name: "dataUpdated"
            Parameter { name: "sourceName"; type: "string" }
            Parameter { name: "data"; type: "Plasma::DataEngine::Data" }
        }
        Method {
            name: "modelChanged"
            Parameter { name: "sourceName"; type: "string" }
            Parameter { name: "model"; type: "QAbstractItemModel"; isPointer: true }
        }
        Method {
            name: "serviceForSource"
            type: "QObject*"
            Parameter { name: "source"; type: "string" }
        }
        Method {
            name: "connectSource"
            Parameter { name: "source"; type: "string" }
        }
        Method {
            name: "disconnectSource"
            Parameter { name: "source"; type: "string" }
        }
    }
    Component {
        name: "Plasma::FrameSvg"
        prototype: "Plasma::Svg"
        exports: ["org.kde.plasma.core/FrameSvg 2.0"]
        exportMetaObjectRevisions: [0]
        Enum {
            name: "EnabledBorders"
            values: {
                "NoBorder": 0,
                "TopBorder": 1,
                "BottomBorder": 2,
                "LeftBorder": 4,
                "RightBorder": 8,
                "AllBorders": 15
            }
        }
        Property { name: "enabledBorders"; type: "EnabledBorders" }
        Method {
            name: "setImagePath"
            Parameter { name: "path"; type: "string" }
        }
        Method {
            name: "resizeFrame"
            Parameter { name: "size"; type: "QSizeF" }
        }
        Method { name: "frameSize"; type: "QSizeF" }
        Method {
            name: "marginSize"
            type: "double"
            Parameter { name: "edge"; type: "Plasma::Types::MarginEdge" }
        }
        Method {
            name: "getMargins"
            Parameter { name: "left"; type: "qreal&" }
            Parameter { name: "top"; type: "qreal&" }
            Parameter { name: "right"; type: "qreal&" }
            Parameter { name: "bottom"; type: "qreal&" }
        }
        Method {
            name: "fixedMarginSize"
            type: "double"
            Parameter { name: "edge"; type: "Plasma::Types::MarginEdge" }
        }
        Method {
            name: "getFixedMargins"
            Parameter { name: "left"; type: "qreal&" }
            Parameter { name: "top"; type: "qreal&" }
            Parameter { name: "right"; type: "qreal&" }
            Parameter { name: "bottom"; type: "qreal&" }
        }
        Method { name: "contentsRect"; type: "QRectF" }
        Method {
            name: "setElementPrefix"
            Parameter { name: "location"; type: "Plasma::Types::Location" }
        }
        Method {
            name: "setElementPrefix"
            Parameter { name: "prefix"; type: "string" }
        }
        Method {
            name: "hasElementPrefix"
            type: "bool"
            Parameter { name: "prefix"; type: "string" }
        }
        Method {
            name: "hasElementPrefix"
            type: "bool"
            Parameter { name: "location"; type: "Plasma::Types::Location" }
        }
        Method { name: "prefix"; type: "string" }
        Method { name: "mask"; type: "QRegion" }
        Method {
            name: "setCacheAllRenderedFrames"
            Parameter { name: "cache"; type: "bool" }
        }
        Method { name: "cacheAllRenderedFrames"; type: "bool" }
        Method { name: "clearCache" }
        Method { name: "framePixmap"; type: "QPixmap" }
        Method {
            name: "paintFrame"
            Parameter { name: "painter"; type: "QPainter"; isPointer: true }
            Parameter { name: "target"; type: "QRectF" }
            Parameter { name: "source"; type: "QRectF" }
        }
        Method {
            name: "paintFrame"
            Parameter { name: "painter"; type: "QPainter"; isPointer: true }
            Parameter { name: "target"; type: "QRectF" }
        }
        Method {
            name: "paintFrame"
            Parameter { name: "painter"; type: "QPainter"; isPointer: true }
            Parameter { name: "pos"; type: "QPointF" }
        }
        Method {
            name: "paintFrame"
            Parameter { name: "painter"; type: "QPainter"; isPointer: true }
        }
    }
    Component {
        name: "Plasma::FrameSvgItem"
        defaultProperty: "data"
        prototype: "QQuickItem"
        exports: ["org.kde.plasma.core/FrameSvgItem 2.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "imagePath"; type: "string" }
        Property { name: "prefix"; type: "QVariant" }
        Property { name: "usedPrefix"; type: "string"; isReadonly: true }
        Property { name: "margins"; type: "QObject"; isReadonly: true; isPointer: true }
        Property { name: "fixedMargins"; type: "QObject"; isReadonly: true; isPointer: true }
        Property { name: "enabledBorders"; type: "Plasma::FrameSvg::EnabledBorders" }
        Property { name: "fromCurrentTheme"; type: "bool"; isReadonly: true }
        Property { name: "colorGroup"; type: "Plasma::Theme::ColorGroup" }
        Property { name: "status"; type: "Plasma::Svg::Status" }
        Property { name: "mask"; type: "QRegion"; isReadonly: true }
        Signal { name: "repaintNeeded" }
        Method {
            name: "hasElementPrefix"
            type: "bool"
            Parameter { name: "prefix"; type: "string" }
        }
    }
    Component {
        name: "Plasma::FrameSvgItemMargins"
        prototype: "QObject"
        Property { name: "left"; type: "double"; isReadonly: true }
        Property { name: "top"; type: "double"; isReadonly: true }
        Property { name: "right"; type: "double"; isReadonly: true }
        Property { name: "bottom"; type: "double"; isReadonly: true }
        Property { name: "horizontal"; type: "double"; isReadonly: true }
        Property { name: "vertical"; type: "double"; isReadonly: true }
        Signal { name: "marginsChanged" }
        Method { name: "update" }
    }
    Component {
        name: "Plasma::QuickTheme"
        prototype: "Plasma::Theme"
        exports: ["org.kde.plasma.core/Theme 2.0"]
        isCreatable: false
        exportMetaObjectRevisions: [0]
        Property { name: "textColor"; type: "QColor"; isReadonly: true }
        Property { name: "highlightColor"; type: "QColor"; isReadonly: true }
        Property { name: "highlightedTextColor"; type: "QColor"; isReadonly: true }
        Property { name: "backgroundColor"; type: "QColor"; isReadonly: true }
        Property { name: "linkColor"; type: "QColor"; isReadonly: true }
        Property { name: "visitedLinkColor"; type: "QColor"; isReadonly: true }
        Property { name: "positiveTextColor"; type: "QColor"; isReadonly: true }
        Property { name: "neutralTextColor"; type: "QColor"; isReadonly: true }
        Property { name: "negativeTextColor"; type: "QColor"; isReadonly: true }
        Property { name: "buttonTextColor"; type: "QColor"; isReadonly: true }
        Property { name: "buttonBackgroundColor"; type: "QColor"; isReadonly: true }
        Property { name: "buttonHoverColor"; type: "QColor"; isReadonly: true }
        Property { name: "buttonFocusColor"; type: "QColor"; isReadonly: true }
        Property { name: "buttonHighlightedTextColor"; type: "QColor"; isReadonly: true }
        Property { name: "buttonPositiveTextColor"; type: "QColor"; isReadonly: true }
        Property { name: "buttonNeutralTextColor"; type: "QColor"; isReadonly: true }
        Property { name: "buttonNegativeTextColor"; type: "QColor"; isReadonly: true }
        Property { name: "viewTextColor"; type: "QColor"; isReadonly: true }
        Property { name: "viewBackgroundColor"; type: "QColor"; isReadonly: true }
        Property { name: "viewHoverColor"; type: "QColor"; isReadonly: true }
        Property { name: "viewFocusColor"; type: "QColor"; isReadonly: true }
        Property { name: "viewHighlightedTextColor"; type: "QColor"; isReadonly: true }
        Property { name: "viewPositiveTextColor"; type: "QColor"; isReadonly: true }
        Property { name: "viewNeutralTextColor"; type: "QColor"; isReadonly: true }
        Property { name: "viewNegativeTextColor"; type: "QColor"; isReadonly: true }
        Property { name: "complementaryTextColor"; type: "QColor"; isReadonly: true }
        Property { name: "complementaryBackgroundColor"; type: "QColor"; isReadonly: true }
        Property { name: "complementaryHoverColor"; type: "QColor"; isReadonly: true }
        Property { name: "complementaryFocusColor"; type: "QColor"; isReadonly: true }
        Property { name: "complementaryHighlightedTextColor"; type: "QColor"; isReadonly: true }
        Property { name: "complementaryPositiveTextColor"; type: "QColor"; isReadonly: true }
        Property { name: "complementaryNeutralTextColor"; type: "QColor"; isReadonly: true }
        Property { name: "complementaryNegativeTextColor"; type: "QColor"; isReadonly: true }
        Signal { name: "themeChangedProxy" }
    }
    Component {
        name: "Plasma::SortFilterModel"
        prototype: "QSortFilterProxyModel"
        exports: [
            "org.kde.plasma.core/SortFilterModel 2.0",
            "org.kde.plasma.core/SortFilterModel 2.1"
        ]
        exportMetaObjectRevisions: [0, 1]
        Property { name: "sourceModel"; type: "QAbstractItemModel"; isPointer: true }
        Property { name: "filterRegExp"; type: "string" }
        Property { name: "filterString"; revision: 1; type: "string" }
        Property { name: "filterCallback"; revision: 1; type: "QJSValue" }
        Property { name: "filterRole"; type: "string" }
        Property { name: "sortRole"; type: "string" }
        Property { name: "sortOrder"; type: "Qt::SortOrder" }
        Property { name: "count"; type: "int"; isReadonly: true }
        Signal {
            name: "sourceModelChanged"
            Parameter { type: "QObject"; isPointer: true }
        }
        Signal {
            name: "filterRegExpChanged"
            Parameter { type: "string" }
        }
        Signal {
            name: "filterStringChanged"
            revision: 1
            Parameter { type: "string" }
        }
        Signal {
            name: "filterCallbackChanged"
            revision: 1
            Parameter { type: "QJSValue" }
        }
        Method {
            name: "get"
            type: "QVariantMap"
            Parameter { name: "i"; type: "int" }
        }
        Method {
            name: "mapRowToSource"
            type: "int"
            Parameter { name: "i"; type: "int" }
        }
        Method {
            name: "mapRowFromSource"
            type: "int"
            Parameter { name: "i"; type: "int" }
        }
    }
    Component {
        name: "Plasma::Svg"
        prototype: "QObject"
        exports: ["org.kde.plasma.core/Svg 2.0"]
        exportMetaObjectRevisions: [0]
        Enum {
            name: "Status"
            values: {
                "Normal": 0,
                "Selected": 1
            }
        }
        Property { name: "size"; type: "QSize" }
        Property { name: "multipleImages"; type: "bool" }
        Property { name: "imagePath"; type: "string" }
        Property { name: "usingRenderingCache"; type: "bool" }
        Property { name: "fromCurrentTheme"; type: "bool"; isReadonly: true }
        Property { name: "colorGroup"; type: "Plasma::Theme::ColorGroup" }
        Property { name: "status"; type: "Plasma::Svg::Status" }
        Signal { name: "repaintNeeded" }
        Signal { name: "colorHintChanged" }
        Signal {
            name: "fromCurrentThemeChanged"
            Parameter { name: "fromCurrentTheme"; type: "bool" }
        }
        Signal {
            name: "statusChanged"
            Parameter { name: "status"; type: "Plasma::Svg::Status" }
        }
        Method {
            name: "pixmap"
            type: "QPixmap"
            Parameter { name: "elementID"; type: "string" }
        }
        Method { name: "pixmap"; type: "QPixmap" }
        Method {
            name: "image"
            type: "QImage"
            Parameter { name: "size"; type: "QSize" }
            Parameter { name: "elementID"; type: "string" }
        }
        Method {
            name: "image"
            type: "QImage"
            Parameter { name: "size"; type: "QSize" }
        }
        Method {
            name: "paint"
            Parameter { name: "painter"; type: "QPainter"; isPointer: true }
            Parameter { name: "point"; type: "QPointF" }
            Parameter { name: "elementID"; type: "string" }
        }
        Method {
            name: "paint"
            Parameter { name: "painter"; type: "QPainter"; isPointer: true }
            Parameter { name: "point"; type: "QPointF" }
        }
        Method {
            name: "paint"
            Parameter { name: "painter"; type: "QPainter"; isPointer: true }
            Parameter { name: "x"; type: "int" }
            Parameter { name: "y"; type: "int" }
            Parameter { name: "elementID"; type: "string" }
        }
        Method {
            name: "paint"
            Parameter { name: "painter"; type: "QPainter"; isPointer: true }
            Parameter { name: "x"; type: "int" }
            Parameter { name: "y"; type: "int" }
        }
        Method {
            name: "paint"
            Parameter { name: "painter"; type: "QPainter"; isPointer: true }
            Parameter { name: "rect"; type: "QRectF" }
            Parameter { name: "elementID"; type: "string" }
        }
        Method {
            name: "paint"
            Parameter { name: "painter"; type: "QPainter"; isPointer: true }
            Parameter { name: "rect"; type: "QRectF" }
        }
        Method {
            name: "paint"
            Parameter { name: "painter"; type: "QPainter"; isPointer: true }
            Parameter { name: "x"; type: "int" }
            Parameter { name: "y"; type: "int" }
            Parameter { name: "width"; type: "int" }
            Parameter { name: "height"; type: "int" }
            Parameter { name: "elementID"; type: "string" }
        }
        Method {
            name: "paint"
            Parameter { name: "painter"; type: "QPainter"; isPointer: true }
            Parameter { name: "x"; type: "int" }
            Parameter { name: "y"; type: "int" }
            Parameter { name: "width"; type: "int" }
            Parameter { name: "height"; type: "int" }
        }
        Method {
            name: "resize"
            Parameter { name: "width"; type: "double" }
            Parameter { name: "height"; type: "double" }
        }
        Method {
            name: "resize"
            Parameter { name: "size"; type: "QSizeF" }
        }
        Method { name: "resize" }
        Method {
            name: "elementSize"
            type: "QSize"
            Parameter { name: "elementId"; type: "string" }
        }
        Method {
            name: "elementRect"
            type: "QRectF"
            Parameter { name: "elementId"; type: "string" }
        }
        Method {
            name: "hasElement"
            type: "bool"
            Parameter { name: "elementId"; type: "string" }
        }
        Method { name: "isValid"; type: "bool" }
    }
    Component {
        name: "Plasma::SvgItem"
        defaultProperty: "data"
        prototype: "QQuickItem"
        exports: ["org.kde.plasma.core/SvgItem 2.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "elementId"; type: "string" }
        Property { name: "svg"; type: "Plasma::Svg"; isPointer: true }
        Property { name: "naturalSize"; type: "QSizeF"; isReadonly: true }
    }
    Component {
        name: "Plasma::Theme"
        prototype: "QObject"
        Enum {
            name: "ColorGroup"
            values: {
                "NormalColorGroup": 0,
                "ButtonColorGroup": 1,
                "ViewColorGroup": 2,
                "ComplementaryColorGroup": 3
            }
        }
        Property { name: "themeName"; type: "string"; isReadonly: true }
        Property { name: "useGlobalSettings"; type: "bool"; isReadonly: true }
        Property { name: "wallpaperPath"; type: "string"; isReadonly: true }
        Property { name: "defaultFont"; type: "QFont"; isReadonly: true }
        Property { name: "smallestFont"; type: "QFont"; isReadonly: true }
        Property { name: "styleSheet"; type: "string"; isReadonly: true }
        Signal { name: "themeChanged" }
        Method {
            name: "wallpaperPathForSize"
            type: "string"
            Parameter { name: "width"; type: "int" }
            Parameter { name: "height"; type: "int" }
        }
        Method {
            name: "wallpaperPathForSize"
            type: "string"
            Parameter { name: "width"; type: "int" }
        }
        Method { name: "wallpaperPathForSize"; type: "string" }
        Method {
            name: "mSize"
            type: "QSizeF"
            Parameter { name: "font"; type: "QFont" }
        }
        Method { name: "mSize"; type: "QSizeF" }
    }
    Component {
        name: "Plasma::Types"
        prototype: "QObject"
        exports: ["org.kde.plasma.core/Types 2.0"]
        isCreatable: false
        exportMetaObjectRevisions: [0]
        Enum {
            name: "Constraint"
            values: {
                "NoConstraint": 0,
                "FormFactorConstraint": 1,
                "LocationConstraint": 2,
                "ScreenConstraint": 4,
                "ImmutableConstraint": 8,
                "StartupCompletedConstraint": 16,
                "ContextConstraint": 32,
                "UiReadyConstraint": 64,
                "AllConstraints": 15
            }
        }
        Enum {
            name: "FormFactor"
            values: {
                "Planar": 0,
                "MediaCenter": 1,
                "Horizontal": 2,
                "Vertical": 3,
                "Application": 4
            }
        }
        Enum {
            name: "ContainmentType"
            values: {
                "NoContainmentType": -1,
                "DesktopContainment": 0,
                "PanelContainment": 1,
                "CustomContainment": 127,
                "CustomPanelContainment": 128,
                "CustomEmbeddedContainment": 129
            }
        }
        Enum {
            name: "ActionType"
            values: {
                "AddAction": 0,
                "ConfigureAction": 100,
                "ControlAction": 200,
                "MiscAction": 300,
                "DestructiveAction": 400,
                "UserAction": 1400
            }
        }
        Enum {
            name: "Direction"
            values: {
                "Down": 0,
                "Up": 1,
                "Left": 2,
                "Right": 3
            }
        }
        Enum {
            name: "Location"
            values: {
                "Floating": 0,
                "Desktop": 1,
                "FullScreen": 2,
                "TopEdge": 3,
                "BottomEdge": 4,
                "LeftEdge": 5,
                "RightEdge": 6
            }
        }
        Enum {
            name: "Position"
            values: {
                "LeftPositioned": 0,
                "RightPositioned": 1,
                "TopPositioned": 2,
                "BottomPositioned": 3,
                "CenterPositioned": 4
            }
        }
        Enum {
            name: "PopupPlacement"
            values: {
                "FloatingPopup": 0,
                "TopPosedLeftAlignedPopup": 1,
                "TopPosedRightAlignedPopup": 2,
                "LeftPosedTopAlignedPopup": 3,
                "LeftPosedBottomAlignedPopup": 4,
                "BottomPosedLeftAlignedPopup": 5,
                "BottomPosedRightAlignedPopup": 6,
                "RightPosedTopAlignedPopup": 7,
                "RightPosedBottomAlignedPopup": 8
            }
        }
        Enum {
            name: "FlipDirection"
            values: {
                "NoFlip": 0,
                "HorizontalFlip": 1,
                "VerticalFlip": 2
            }
        }
        Enum {
            name: "IntervalAlignment"
            values: {
                "NoAlignment": 0,
                "AlignToMinute": 1,
                "AlignToHour": 2
            }
        }
        Enum {
            name: "ImmutabilityType"
            values: {
                "Mutable": 1,
                "UserImmutable": 2,
                "SystemImmutable": 4
            }
        }
        Enum {
            name: "ComponentType"
            values: {
                "AppletComponent": 1,
                "DataEngineComponent": 2,
                "ContainmentComponent": 4,
                "WallpaperComponent": 8,
                "GenericComponent": 16
            }
        }
        Enum {
            name: "MarginEdge"
            values: {
                "TopMargin": 0,
                "BottomMargin": 1,
                "LeftMargin": 2,
                "RightMargin": 3
            }
        }
        Enum {
            name: "ItemStatus"
            values: {
                "UnknownStatus": 0,
                "PassiveStatus": 1,
                "ActiveStatus": 2,
                "NeedsAttentionStatus": 3,
                "RequiresAttentionStatus": 4,
                "AcceptingInputStatus": 5,
                "HiddenStatus": 6
            }
        }
        Enum {
            name: "TrustLevel"
            values: {
                "UnverifiableTrust": 0,
                "CompletelyUntrusted": 1,
                "UnknownTrusted": 2,
                "UserTrusted": 3,
                "SelfTrusted": 4,
                "FullyTrusted": 5,
                "UltimatelyTrusted": 6
            }
        }
        Enum {
            name: "BackgroundHints"
            values: {
                "NoBackground": 0,
                "StandardBackground": 1,
                "TranslucentBackground": 2,
                "DefaultBackground": 1
            }
        }
    }
    Component {
        name: "Plasma::WindowThumbnail"
        defaultProperty: "data"
        prototype: "QQuickItem"
        exports: ["org.kde.plasma.core/WindowThumbnail 2.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "winId"; type: "uint" }
        Property { name: "paintedWidth"; type: "double"; isReadonly: true }
        Property { name: "paintedHeight"; type: "double"; isReadonly: true }
        Property { name: "thumbnailAvailable"; type: "bool"; isReadonly: true }
        Signal { name: "paintedSizeChanged" }
    }
    Component {
        name: "PlasmaQuick::Dialog"
        defaultProperty: "mainItem"
        prototype: "QQuickWindow"
        exports: ["org.kde.plasma.core/Dialog 2.0"]
        exportMetaObjectRevisions: [0]
        Enum {
            name: "WindowType"
            values: {
                "Normal": 0,
                "Dock": 2,
                "DialogWindow": 5,
                "PopupMenu": 11,
                "Tooltip": 12,
                "Notification": 13,
                "OnScreenDisplay": 16,
                "CriticalNotification": 17
            }
        }
        Enum {
            name: "BackgroundHints"
            values: {
                "NoBackground": 0,
                "StandardBackground": 1
            }
        }
        Property { name: "mainItem"; type: "QQuickItem"; isPointer: true }
        Property { name: "visualParent"; type: "QQuickItem"; isPointer: true }
        Property { name: "margins"; type: "QObject"; isReadonly: true; isPointer: true }
        Property { name: "location"; type: "Plasma::Types::Location" }
        Property { name: "type"; type: "WindowType" }
        Property { name: "hideOnWindowDeactivate"; type: "bool" }
        Property { name: "outputOnly"; type: "bool" }
        Property { name: "flags"; type: "Qt::WindowFlags" }
        Property { name: "backgroundHints"; type: "BackgroundHints" }
        Property { name: "visible"; type: "bool" }
        Signal { name: "visibleChangedProxy" }
        Signal { name: "windowDeactivated" }
    }
    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: "QQmlPropertyMap"
        prototype: "QObject"
        Signal {
            name: "valueChanged"
            Parameter { name: "key"; type: "string" }
            Parameter { name: "value"; type: "QVariant" }
        }
        Method { name: "keys"; type: "QStringList" }
    }
    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" }
        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: "ServiceOperationStatus"
        prototype: "QObject"
        exports: ["org.kde.plasma.core/ServiceOperationStatus 2.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "service"; type: "Plasma::Service"; isPointer: true }
        Property { name: "operation"; type: "string" }
        Property { name: "enabled"; type: "bool" }
    }
    Component {
        name: "ToolTip"
        defaultProperty: "data"
        prototype: "QQuickItem"
        exports: ["org.kde.plasma.core/ToolTipArea 2.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "mainItem"; type: "QQuickItem"; isPointer: true }
        Property { name: "mainText"; type: "string" }
        Property { name: "subText"; type: "string" }
        Property { name: "textFormat"; type: "int" }
        Property { name: "icon"; type: "QVariant" }
        Property { name: "containsMouse"; type: "bool"; isReadonly: true }
        Property { name: "location"; type: "Plasma::Types::Location" }
        Property { name: "image"; type: "QVariant" }
        Property { name: "active"; type: "bool" }
        Property { name: "interactive"; type: "bool" }
        Signal { name: "aboutToShow" }
        Method { name: "hideToolTip" }
    }
    Component {
        name: "Units"
        prototype: "QObject"
        exports: ["org.kde.plasma.core/Units 2.0"]
        isCreatable: false
        exportMetaObjectRevisions: [0]
        Property { name: "gridUnit"; type: "int"; isReadonly: true }
        Property { name: "iconSizes"; type: "QQmlPropertyMap"; isReadonly: true; isPointer: true }
        Property { name: "iconSizeHints"; type: "QQmlPropertyMap"; isReadonly: true; isPointer: true }
        Property { name: "smallSpacing"; type: "int"; isReadonly: true }
        Property { name: "largeSpacing"; type: "int"; isReadonly: true }
        Property { name: "devicePixelRatio"; type: "double"; isReadonly: true }
        Property { name: "longDuration"; type: "int"; isReadonly: true }
        Property { name: "shortDuration"; type: "int"; isReadonly: true }
        Property { name: "veryLongDuration"; type: "int"; isReadonly: true }
        Signal { name: "spacingChanged" }
        Signal { name: "durationChanged" }
        Method {
            name: "roundToIconSize"
            type: "int"
            Parameter { name: "size"; type: "int" }
        }
    }
}
