import * as valita from '../../shared/src/valita.ts'; /** * The definition of a single index. */ export type IndexDefinition = { /** * The prefix, if any, to limit the index over. If not provided the values of * all keys are indexed. */ readonly prefix?: string | undefined; /** * A [JSON Pointer](https://tools.ietf.org/html/rfc6901) pointing at the sub * value inside each value to index over. * * For example, one might index over users' ages like so: * `{prefix: '/user/', jsonPointer: '/age'}` */ readonly jsonPointer: string; /** * If `true`, indexing empty values will not emit a warning. Defaults to `false`. */ readonly allowEmpty?: boolean | undefined; }; export declare const indexDefinitionSchema: valita.Type; /** * An object as a map defining the indexes. The keys are the index names and the * values are the index definitions. */ export type IndexDefinitions = { readonly [name: string]: IndexDefinition; }; export declare const indexDefinitionsSchema: valita.Type>>; export declare function indexDefinitionEqual(a: IndexDefinition, b: IndexDefinition): boolean; export declare function indexDefinitionsEqual(a: IndexDefinitions, b: IndexDefinitions): boolean; export declare function assertIndexDefinitions(value: unknown): asserts value is IndexDefinitions; //# sourceMappingURL=index-defs.d.ts.map