import { ElementType } from '../definitions/shared/base';
/**
 * v1 field-type strings → v2 dot-notation `type` (with optional extras).
 *
 * v1's schema used a single string like `"text"`, `"select"`, `"date"`
 * for the field type. v2 combines the category + variant into a
 * dot-notation string like `"input.text"`, `"option-select.select"`,
 * `"picker.date-picker"`. This table is the canonical map; the
 * adapter consults it once per field.
 *
 * Some v1 types (the `heading-N` variants) map to a single v2 type
 * (`display.type`) plus an extra `contentType` payload. Those entries
 * carry an `extras` block that's spread onto the converted element.
 */
export interface V2Discriminator {
    /** Dot-notation v2 type, e.g. `"input.text"`. */
    type: ElementType;
    /** Extra fields to merge into the converted element. */
    extras?: Record<string, unknown>;
}
export declare const V1_TO_V2_FIELD_TYPE: Record<string, V2Discriminator>;
/**
 * v2 dot-notation `type` → v1 single-string field type. Picks the
 * canonical v1 name when multiple existed (e.g. `editor.code-editor`
 * → `"codeEditor"`).
 */
export declare function v2ToV1FieldType(type: string): string;
//# sourceMappingURL=fieldTypeMap.d.ts.map