import { CustomTypeModelFieldType, BooleanField, RichTextField, ImageField, IntegrationFields, LinkField, EmbedField, SelectField, GeoPointField, KeyTextField, NumberField, ColorField, DateField, TimestampField } from "@prismicio/types"; interface IFieldType { field: TFields; type: TFieldType; } declare type BooleanFieldType = IFieldType<"Boolean", BooleanField>; declare type StructuredTextFieldType = IFieldType<"StructuredText", RichTextField>; declare type ImageFieldType = IFieldType<"Image", ImageField>; declare type IntegrationFieldsType = IFieldType<"IntegrationFields", IntegrationFields>; declare type LinkFieldType = IFieldType<"Link", LinkField>; declare type EmbedFieldType = IFieldType<"Embed", EmbedField>; declare type SelectFieldType = IFieldType<"Select", SelectField>; declare type GeoPointFieldType = IFieldType<"GeoPoint", GeoPointField>; declare type TextFieldType = IFieldType<"Text", KeyTextField>; declare type NumberFieldType = IFieldType<"Number", NumberField>; declare type ColorFieldType = IFieldType<"Color", ColorField>; declare type DateFieldType = IFieldType<"Date", DateField>; declare type TimestampFieldType = IFieldType<"Timestamp", TimestampField>; export declare type FieldTypes = BooleanFieldType | StructuredTextFieldType | ImageFieldType | IntegrationFieldsType | LinkFieldType | EmbedFieldType | SelectFieldType | GeoPointFieldType | TextFieldType | NumberFieldType | ColorFieldType | DateFieldType | TimestampFieldType; export declare const Fields: Record; export declare type FieldByType = T extends { type: E; } ? T : never; export {};