import BTree from 'sorted-btree'; import { DbQuery } from './types'; export interface IxSetIndexDefinition { fields: (keyof TEntity)[]; } declare const ID: unique symbol; type IndexKey = TEntity & { [ID]: any; }; export interface IxSetIndex extends IxSetIndexDefinition { tree: BTree, void>; compare: (a: IndexKey, b: IndexKey) => number; } export declare class IxSet { private getId; empty: BTree; /** Primary key - a b-tree with entity ID as a key, and entity itself as a value */ pk: BTree; indexes: IxSetIndex[]; constructor(getId: (e: Partial) => TId, indexesDefinition: IxSetIndexDefinition[]); clone(): IxSet; byId(id: TId): TEntity; with(items: Partial[]): IxSet; query(query: DbQuery): TEntity[]; queryOne(query: DbQuery): TEntity; } export {}; //# sourceMappingURL=IxSet.d.ts.map