import type { estypes } from "@elastic/elasticsearch"; export type AllFields = FieldsOfType; export type TermFields = FieldsOfType; export type TextualFields = FieldsOfType; export type TextFields = FieldsOfType; export type KeywordFields = FieldsOfType; export type NumericFields = FieldsOfType; export type MappingNumericProperty = estypes.MappingFloatNumberProperty | estypes.MappingLongNumberProperty | estypes.MappingShortNumberProperty | estypes.MappingDoubleNumberProperty | estypes.MappingIntegerNumberProperty | estypes.MappingHalfFloatNumberProperty | estypes.MappingScaledFloatNumberProperty | estypes.MappingUnsignedLongNumberProperty; export type DateFields = FieldsOfType; export type GeoFields = FieldsOfType; export type IpFields = FieldsOfType; export type BoolFields = FieldsOfType; export type BinaryFields = FieldsOfType; export type FieldsOfType = Property extends PropertyType ? Property["fields"] extends Record ? Paths | { [field in keyof Property["fields"]]: FieldsOfType}`>; }[keyof Property["fields"]] : Paths : Property extends estypes.MappingNestedProperty | estypes.MappingObjectProperty ? { [prop in keyof Property["properties"]]: FieldsOfType[prop], PropertyType, `${Paths extends "" ? "" : `${Paths}.`}${Extract}`>; }[keyof Property["properties"]] : never; export type FieldValue = FieldDotNotation extends undefined ? any : Document extends string | number | boolean | undefined | null ? Document : FieldDotNotation extends `${infer field extends Extract}.${infer rest}` ? FieldValue : FieldDotNotation extends keyof Document ? Document[FieldDotNotation] : never; //# sourceMappingURL=fields.d.ts.map