/** * IR type → Elasticsearch field type mapping table. * * Mirrors the Drizzle projection's `DEFAULT_TYPE_MAPPING` pattern: * a frozen record of IR type names to ES field type definitions. * * CRITICAL: 'number' is INTENTIONALLY ABSENT — it is ambiguous in Manifest * (could be int, float, or decimal). Mapping it silently would produce * incorrect ES types. The generator emits a hard `ELASTICSEARCH_AMBIGUOUS_NUMBER` * diagnostic instead. No silent fallback, ever. * * Additional unsupported types (e.g. 'bytes', 'uuid' as text) produce * `ELASTICSEARCH_UNSUPPORTED_TYPE` diagnostics. */ export interface ESFieldType { /** Elasticsearch field type (keyword, text, integer, long, etc.) */ type: string; /** Whether doc_values are enabled (default: true for keyword/numeric) */ doc_values?: boolean; /** Optional index setting (e.g. false for large text fields) */ index?: boolean; /** Scaling factor for scaled_float */ scaling_factor?: number; /** Optional analyzer hint (standard, simple, whitespace) */ analyzer?: string; } export declare const ES_TYPE_MAPPING: Readonly>; /** Types that the generator will refuse to map (produces diagnostic). */ export declare const UNSUPPORTED_ES_TYPES: ReadonlySet; //# sourceMappingURL=type-mapping.d.ts.map