import * as prismic from "@prismicio/client"; import type { CustomTypeModel, CustomTypeModelDefinition, HTMLRichTextSerializer, ImageFieldImage, LinkResolverFunction, LinkToMediaField, PrismicDocument, Route, SharedSliceModel } from "@prismicio/client"; import type { FetchLike } from "@prismicio/custom-types-client"; import type { NodeInput } from "gatsby"; import type { ImgixURLParams } from "imgix-url-builder"; type ShouldDownloadFilesPredicate = (field: ImageFieldImage<"filled"> | LinkToMediaField<"filled">) => boolean | Promise; export type PluginOptions = LinkResolverFunction> = { repositoryName: string; accessToken?: string; apiEndpoint?: string; routes?: Route[]; linkResolver?: TLinkResolverFunction; htmlSerializer?: HTMLRichTextSerializer; lang?: string; predicates?: string | string[]; webhookSecret?: string; typePrefix?: string; customTypesApiToken?: string; customTypesApiEndpoint?: string; schemas?: Record; customTypeModels?: CustomTypeModel[]; sharedSliceModels?: SharedSliceModel[]; imageImgixParams?: ImgixURLParams; imagePlaceholderImgixParams?: ImgixURLParams; transformFieldName?: (fieldName: string) => string; shouldDownloadFiles?: boolean | ShouldDownloadFilesPredicate | Record; fetch?: FetchLike; } & ({ fetchLinks?: string[]; graphQuery?: never; } | { fetchLinks?: never; graphQuery?: string; }) & ({ releaseID?: string; releaseLabel?: never; } | { releaseID?: never; releaseLabel?: string; }); export type PublicPluginOptions = LinkResolverFunction> = PluginOptions & { repositoryName: PluginOptions["repositoryName"] | undefined; }; export type PrismicDocumentNodeInput = PrismicDocument & NodeInput & { prismicId: string; raw: PrismicDocument; }; type ValueOf = ObjectType[ValueType]; export type PrismicDocumentForModel = PrismicDocument>; export type MapFieldValueType> = { [P in keyof R]: FieldModelValueType; }; export type FieldModelValueType = M extends prismic.CustomTypeModelUIDField ? prismic.PrismicDocument["uid"] : M extends prismic.CustomTypeModelBooleanField ? prismic.BooleanField : M extends prismic.CustomTypeModelColorField ? prismic.ColorField : M extends prismic.CustomTypeModelTitleField ? prismic.RichTextField : M extends prismic.CustomTypeModelRichTextField ? prismic.RichTextField : M extends prismic.CustomTypeModelImageField ? prismic.ImageField : M extends prismic.CustomTypeModelLinkField ? prismic.LinkField : M extends prismic.CustomTypeModelLinkToMediaField ? prismic.LinkToMediaField : M extends prismic.CustomTypeModelContentRelationshipField ? prismic.ContentRelationshipField : M extends prismic.CustomTypeModelDateField ? prismic.DateField : M extends prismic.CustomTypeModelTimestampField ? prismic.TimestampField : M extends prismic.CustomTypeModelNumberField ? prismic.NumberField : M extends prismic.CustomTypeModelKeyTextField ? prismic.KeyTextField : M extends prismic.CustomTypeModelSelectField ? prismic.SelectField : M extends prismic.CustomTypeModelEmbedField ? prismic.EmbedField : M extends prismic.CustomTypeModelGeoPointField ? prismic.GeoPointField : M extends prismic.CustomTypeModelIntegrationField ? prismic.IntegrationField : M extends prismic.CustomTypeModelGroupField ? prismic.GroupField["fields"]>>> : M extends prismic.CustomTypeModelSliceZoneField ? prismic.SliceZone["choices"]>]: NonNullable["choices"]>[P] extends prismic.CustomTypeModelSlice ? prismic.Slice

["choices"]>[P]["non-repeat"]>>, MapFieldValueType["choices"]>[P]["repeat"]>>> : NonNullable["choices"]>[P] extends prismic.CustomTypeModelSharedSlice ? prismic.SharedSlice

: never; }>> : never; export {};