//Auto-generated by kalyptus. DO NOT EDIT.
namespace DOM {
	using Kimono;
	using System;
	using Qyoto;
	/// <remarks>
	///  The <code>CSSRuleList</code> interface provides the abstraction
	///  of an ordered collection of CSS rules.
	///  </remarks>		<short>    The <code>CSSRuleList</code> interface provides the abstraction  of an ordered collection of CSS rules.</short>
	[SmokeClass("DOM::CSSRuleList")]
	public class CSSRuleList : Object, IDisposable {
		protected SmokeInvocation interceptor = null;
		private IntPtr smokeObject;
		protected CSSRuleList(Type dummy) {}
		protected void CreateProxy() {
			interceptor = new SmokeInvocation(typeof(CSSRuleList), this);
		}
		// DOM::CSSRuleList* CSSRuleList(DOM::CSSRuleListImpl* arg1); >>>> NOT CONVERTED
		// DOM::CSSRuleList* CSSRuleList(DOM::StyleListImpl* arg1); >>>> NOT CONVERTED
		public CSSRuleList() : this((Type) null) {
			CreateProxy();
			interceptor.Invoke("CSSRuleList", "CSSRuleList()", typeof(void));
		}
		public CSSRuleList(DOM.CSSRuleList other) : this((Type) null) {
			CreateProxy();
			interceptor.Invoke("CSSRuleList#", "CSSRuleList(const DOM::CSSRuleList&)", typeof(void), typeof(DOM.CSSRuleList), other);
		}
		/// <remarks>
		///  The number of <code>CSSRule</code> s in the list. The range
		///  of valid child rule indices is <code>0</code> to
		///  <code>length-1</code> inclusive.
		///      </remarks>		<short>    The number of <code>CSSRule</code> s in the list.</short>
		public ulong Length() {
			return (ulong) interceptor.Invoke("length", "length() const", typeof(ulong));
		}
		/// <remarks>
		///  Used to retrieve a CSS rule by ordinal index. The order in this
		///  collection represents the order of the rules in the CSS style
		///  sheet.
		/// <param> name="index" Index into the collection
		/// </param>     </remarks>		<return> The style rule at the <code>index</code> position in
		///  the <code>CSSRuleList</code> , or <code>null</code> if that
		///  is not a valid index.
		/// </return>
		/// 		<short>    Used to retrieve a CSS rule by ordinal index.</short>
		public DOM.CSSRule Item(ulong index) {
			return (DOM.CSSRule) interceptor.Invoke("item$", "item(unsigned long)", typeof(DOM.CSSRule), typeof(ulong), index);
		}
		public bool IsNull() {
			return (bool) interceptor.Invoke("isNull", "isNull() const", typeof(bool));
		}
		~CSSRuleList() {
			interceptor.Invoke("~CSSRuleList", "~CSSRuleList()", typeof(void));
		}
		public void Dispose() {
			interceptor.Invoke("~CSSRuleList", "~CSSRuleList()", typeof(void));
		}
	}
}
