import { _IIndex, IValue, _ITable, _Transaction, _Explainer, _IndexExplanation, IndexOp, IndexKey, Stats } from '../interfaces-private'; interface IndexSubject { readonly size: number; readonly column: IValue; byColumnValue(columnValue: string, t: _Transaction): T[]; } export declare class CustomIndex implements _IIndex { readonly onTable: _ITable; private subject; readonly expressions: IValue[]; explain(e: _Explainer): _IndexExplanation; constructor(onTable: _ITable, subject: IndexSubject); get indexName(): string; entropy(): number; stats(t: _Transaction, key?: IndexKey): Stats | null; iterateKeys(): null; add(raw: any): void; eqFirst([key]: any, t: _Transaction): T | null; enumerate(op: IndexOp): Iterable; eq([rawKey]: any, t: _Transaction): Iterable; nin(keys: any[][], t: _Transaction): Generator; neq([rawKey]: any, t: _Transaction): Generator; gt(rawKey: any, t: _Transaction): Iterable; lt(rawKey: any, t: _Transaction): Iterable; ge(rawKey: any, t: _Transaction): Iterable; le(rawKey: any, t: _Transaction): Iterable; outside(lo: IndexKey, hi: IndexKey, t: _Transaction): Iterable; inside(lo: IndexKey, hi: IndexKey, t: _Transaction): Iterable; } export {}; //# sourceMappingURL=custom-index.d.ts.map