[
Conditional=INDEXED_DATABASE,
JSNoStaticTables,
ImplementationLacksVTable
] interface IDBIndex {
readonly attribute DOMString name;
readonly attribute IDBObjectStore objectStore;
[ImplementedAs=keyPathAny] readonly attribute IDBAny keyPath;
readonly attribute boolean unique;
readonly attribute boolean multiEntry;
[CallWith=ScriptExecutionContext, RaisesException] IDBRequest openCursor(optional IDBKeyRange? range, optional DOMString direction);
[CallWith=ScriptExecutionContext, RaisesException] IDBRequest openCursor(any key, optional DOMString direction);
[CallWith=ScriptExecutionContext, RaisesException] IDBRequest openKeyCursor(optional IDBKeyRange? range, optional DOMString direction);
[CallWith=ScriptExecutionContext, RaisesException] IDBRequest openKeyCursor(any key, optional DOMString direction);
[CallWith=ScriptExecutionContext, RaisesException] IDBRequest get(IDBKeyRange? key);
[CallWith=ScriptExecutionContext, RaisesException] IDBRequest get(any key);
[CallWith=ScriptExecutionContext, RaisesException] IDBRequest getKey(IDBKeyRange? key);
[CallWith=ScriptExecutionContext, RaisesException] IDBRequest getKey(any key);
[CallWith=ScriptExecutionContext, RaisesException] IDBRequest count(optional IDBKeyRange? range);
[CallWith=ScriptExecutionContext, RaisesException] IDBRequest count(any key);
};