import { type MetaData, type NormalizeMode } from "@metaobjectsdev/metadata"; /** The render-engine FieldKind member name for a scalar field subtype, or null if non-scalar. */ export declare function scalarKind(subType: string): string | null; /** The field children of a payload value-object, in declaration order. */ export declare function fields(vo: MetaData): MetaData[]; /** isArray is a native (reserved) property on MetaData, not an attr. */ export declare function isArray(field: MetaData): boolean; /** True iff the field's @required is explicitly true (or the string "true"). */ export declare function isRequired(field: MetaData): boolean; /** True iff the field's @xmlText is explicitly true (the XML text-content extract marker). */ export declare function xmlText(field: MetaData): boolean; /** The string members of an enum field's @values attr (empty when absent). */ export declare function enumValues(field: MetaData): string[]; /** * FR-011: the field's `@coerceDefault` member symbol (present-but-uncoercible enum fallback), * or null when absent. Read own-attr only — `@coerceDefault` is concrete, never inherited. */ export declare function coerceDefault(field: MetaData): string | null; /** * FR-011: the field's `@default` member symbol (absent-fill enum value), or null when absent. */ export declare function defaultValue(field: MetaData): string | null; /** * FR-011: resolve the enum normalization mode for a field — field-level `@normalize`, * else the owning `object.value`'s `@normalize` (the per-object default), else the global * `NORMALIZE_DEFAULT` ("strip"). `ownerObject` may be null (resolution then skips the * object tier). Mirrors the cross-port field → object → global resolution. */ export declare function resolveNormalize(field: MetaData, ownerObject: MetaData | null): NormalizeMode; /** The nullable TS type for a field in the extract mirror interface. */ export declare function mirrorType(field: MetaData): string; /** The ExtractMap.as* helper name + call that reads this field from the forgiving map `d`. */ export declare function extractMapCall(field: MetaData): string; /** Distinct ExtractMap helper names used across a value-object's fields (for the import). */ export declare function extractMapHelpersUsed(vo: MetaData): string[]; /** A TS double-quoted string literal for `value`, with the load-bearing chars escaped. */ export declare function jsonStringLiteral(value: string): string; /** A TS array literal `["a", "b"]` for the given members. */ export declare function stringArrayLiteral(values: readonly string[]): string; /** * A TS object literal `{ "k": "v", … }` for a properties-shaped attr (e.g. @enumAlias / * @enumDoc), or "null" when absent/empty. Null values are dropped; keys are sorted * ordinally for deterministic output (matches the canonical-serializer properties sort). */ export declare function propertiesMapLiteral(attr: unknown): string; //# sourceMappingURL=fr010-field-mapping.d.ts.map