import type { SchemaBase } from './dsl.js'; /** One end of a field rule (e.g. 'fen' / 'yuan', 'plain' / 'cipher', 'raw' / 'masked'). */ export interface FieldRuleEnd { /** End name — written back by defineFieldRule from the ends map key. */ name: string; description?: string; } /** A semantic transformation rule between two field representations. */ export interface FieldRuleSchema extends SchemaBase { type: 'fieldRule'; /** Rule name — the semantic uniqueness key. */ name: string; /** The two ends of the rule, keyed by end name. */ ends: Record; } export declare function defineFieldRule(options: { name: string; ends: Record>; description?: string; }): FieldRuleSchema;