#ifndef AUTOTESTS_WINDOWS_STUB_NOTIFICATION_GROUP_MODEL_H
#define AUTOTESTS_WINDOWS_STUB_NOTIFICATION_GROUP_MODEL_H

#include <QAbstractProxyModel>

namespace UkuiNotification {

class NotificationGroupModel : public QAbstractProxyModel
{
    Q_OBJECT
public:
    explicit NotificationGroupModel(QObject *parent = nullptr);

    void setSourceModel(QAbstractItemModel *sourceModel) override;
    QModelIndex mapToSource(const QModelIndex &proxyIndex) const override;
    QModelIndex mapFromSource(const QModelIndex &sourceIndex) const override;
    QModelIndex index(int row, int column, const QModelIndex &parent) const override;
    QModelIndex parent(const QModelIndex &child) const override;
    int rowCount(const QModelIndex &parent) const override;
    int columnCount(const QModelIndex &parent) const override;
    QVariant data(const QModelIndex &proxyIndex, int role) const override;
};

} // namespace UkuiNotification

#endif
