// SPDX-FileCopyrightText: 2026 UnionTech Software Technology Co., Ltd.
//
// SPDX-License-Identifier: GPL-3.0-or-later
//
// Minimal stub for <QQmlEngine> — Qt6 Qml dev package not installed.
// trayitempositionmanager.h uses QML_ELEMENT, QML_SINGLETON macros and
// QQmlEngine*/QJSEngine* pointer parameters in the create() factory.
// Forward declarations suffice since the pointers are only used with Q_UNUSED.

#pragma once

// trayitempositionmanager.h relies on <QQmlEngine> transitively pulling in
// <QObject>/<QList> (for the QObject base class and QList<QSize> member).
// Since this stub replaces <QQmlEngine>, provide those transitive includes
// explicitly; otherwise the header fails with "incomplete type QObject /
// QList<QSize>" and moc errors (QMetaObject::Call not declared).
#include <QObject>
#include <QList>
#include <QVariant>

#ifndef QML_ELEMENT
#define QML_ELEMENT
#endif

#ifndef QML_SINGLETON
#define QML_SINGLETON
#endif

#ifndef QML_NAMED_ELEMENT
#define QML_NAMED_ELEMENT(name)
#endif

class QQmlEngine;
class QJSEngine;
