//Auto-generated by kalyptus. DO NOT EDIT.
namespace Qyoto {
    using System;
    [SmokeClass("QAbstractListModel")]
    public abstract class QAbstractListModel : QAbstractItemModel {
        protected QAbstractListModel(Type dummy) : base((Type) null) {}
        protected new void CreateProxy() {
            interceptor = new SmokeInvocation(typeof(QAbstractListModel), this);
        }
        private static SmokeInvocation staticInterceptor = null;
        static QAbstractListModel() {
            staticInterceptor = new SmokeInvocation(typeof(QAbstractListModel), null);
        }
        // QAbstractListModel* QAbstractListModel(QAbstractItemModelPrivate& arg1,QObject* arg2); >>>> NOT CONVERTED
        public QAbstractListModel(QObject parent) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QAbstractListModel#", "QAbstractListModel(QObject*)", typeof(void), typeof(QObject), parent);
        }
        public QAbstractListModel() : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QAbstractListModel", "QAbstractListModel()", typeof(void));
        }
        [SmokeMethod("index(int, int, const QModelIndex&) const")]
        public override QModelIndex Index(int row, int column, QModelIndex parent) {
            return (QModelIndex) interceptor.Invoke("index$$#", "index(int, int, const QModelIndex&) const", typeof(QModelIndex), typeof(int), row, typeof(int), column, typeof(QModelIndex), parent);
        }
        [SmokeMethod("index(int, int) const")]
        public virtual QModelIndex Index(int row, int column) {
            return (QModelIndex) interceptor.Invoke("index$$", "index(int, int) const", typeof(QModelIndex), typeof(int), row, typeof(int), column);
        }
        public QModelIndex Index(int row) {
            return (QModelIndex) interceptor.Invoke("index$", "index(int) const", typeof(QModelIndex), typeof(int), row);
        }
        [SmokeMethod("dropMimeData(const QMimeData*, Qt::DropAction, int, int, const QModelIndex&)")]
        public override bool DropMimeData(QMimeData data, Qt.DropAction action, int row, int column, QModelIndex parent) {
            return (bool) interceptor.Invoke("dropMimeData#$$$#", "dropMimeData(const QMimeData*, Qt::DropAction, int, int, const QModelIndex&)", typeof(bool), typeof(QMimeData), data, typeof(Qt.DropAction), action, typeof(int), row, typeof(int), column, typeof(QModelIndex), parent);
        }
        public static new string Tr(string s, string c) {
            return (string) staticInterceptor.Invoke("tr$$", "tr(const char*, const char*)", typeof(string), typeof(string), s, typeof(string), c);
        }
        public static new string Tr(string s) {
            return (string) staticInterceptor.Invoke("tr$", "tr(const char*)", typeof(string), typeof(string), s);
        }
        protected new IQAbstractListModelSignals Emit {
            get { return (IQAbstractListModelSignals) Q_EMIT; }
        }
    }

    public interface IQAbstractListModelSignals : IQAbstractItemModelSignals {
    }
}
