[Exposed=(Window,Worker)]
interface IDBIndex {
    attribute DOMString name;
    [SameObject] readonly attribute IDBObjectStore objectStore;
    readonly attribute any keyPath;
    readonly attribute boolean multiEntry;
    readonly attribute boolean unique;
    [NewObject] IDBRequest get(any query);
    [NewObject] IDBRequest getKey(any query);
    [NewObject] IDBRequest getAll(optional any query, optional [EnforceRange] unsigned long count);
    [NewObject] IDBRequest getAllKeys(optional any query, optional [EnforceRange] unsigned long count);
    [NewObject] IDBRequest getAllRecords(optional IDBGetAllOptions options = {});
    [NewObject] IDBRequest count(optional any query);
    [NewObject] IDBRequest openCursor(optional any query, optional IDBCursorDirection direction = "next");
    [NewObject] IDBRequest openKeyCursor(optional any query, optional IDBCursorDirection direction = "next");
};
