import { IDataStore, ILmdbDatabases } from "../../types"; interface IIndexingContext { databases: ILmdbDatabases; datastore: IDataStore; } export type IndexFields = Map; export interface IIndexMetadata { state: "ready" | "building" | "stale" | "error" | "initial"; error?: string; typeName: string; keyPrefix: number | string; keyFields: Array<[fieldName: string, orderDirection: number]>; multiKeyFields: Array; stats: { keyCount: number; itemCount: number; maxKeysPerItem: number; }; } export declare const undefinedSymbol: unique symbol; export type IndexFieldValue = number | string | boolean | null | typeof undefinedSymbol | Array; export type IndexKey = Array; export declare function createIndex(context: IIndexingContext, typeName: string, indexFields: IndexFields): Promise; export declare function getIndexMetadata(context: IIndexingContext, typeName: string, indexFields: IndexFields, assertReady?: boolean): IIndexMetadata; export {};