import { Faker } from "../lib/createFaker.js";
import { MockBooleanValueConfig } from "./boolean.js";
import { MockCustomTypeValueConfig } from "./customType.js";
import { MockColorValue, MockColorValueConfig } from "./color.js";
import { MockContentRelationshipValue, MockContentRelationshipValueConfig } from "./contentRelationship.js";
import { MockTimestampValue, MockTimestampValueConfig } from "./timestamp.js";
import { MockDateValue, MockDateValueConfig } from "./date.js";
import { MockEmbedValue, MockEmbedValueConfig } from "./embed.js";
import { MockGeoPointValue, MockGeoPointValueConfig } from "./geoPoint.js";
import { MockGroupValueConfig } from "./group.js";
import { MockImageValue, MockImageValueConfig } from "./image.js";
import { MockIntegrationFieldValue, MockIntegrationFieldValueConfig } from "./integration.js";
import { MockKeyTextValue, MockKeyTextValueConfig } from "./keyText.js";
import { MockLinkValue, MockLinkValueConfig } from "./link.js";
import { MockLinkToMediaValue, MockLinkToMediaValueConfig } from "./linkToMedia.js";
import { MockNumberValue, MockNumberValueConfig } from "./number.js";
import { MockRichTextValue, MockRichTextValueConfig } from "./richText/index.js";
import { MockSelectValue, MockSelectValueConfig } from "./select.js";
import { MockSliceValueConfig } from "./slice.js";
import { MockSliceZoneValueConfig } from "./sliceZone.js";
import { MockSharedSliceVariationValueConfig } from "./sharedSliceVariation.js";
import { MockSharedSliceValueConfig } from "./sharedSlice.js";
import { MockTitleValue, MockTitleValueConfig } from "./title.js";
import { MockUIDValueConfig } from "./uid.js";
import { MockTableValue, MockTableValueConfig } from "./table.js";
import { ModelValue, Seed, WithoutFakerConfig } from "../types.js";
import * as prismic from "@prismicio/client";

//#region src/value/createValueMockFactory.d.ts
declare const createValueMockFactory: (...args: ConstructorParameters<typeof ValueMockFactory>) => ValueMockFactory;
type ValueMockFactoryConfig = {
  seed: Seed;
} | {
  faker: Faker;
};
declare class ValueMockFactory {
  private faker;
  constructor(config: ValueMockFactoryConfig);
  get seed(): Seed;
  boolean<Model extends prismic.CustomTypeModelBooleanField>(config?: WithoutFakerConfig<MockBooleanValueConfig<Model>>): prismic.BooleanField;
  color<Model extends prismic.CustomTypeModelColorField = prismic.CustomTypeModelColorField, State extends prismic.FieldState = "filled">(config?: WithoutFakerConfig<MockColorValueConfig<Model, State>>): MockColorValue<State>;
  contentRelationship<Model extends prismic.CustomTypeModelContentRelationshipField = prismic.CustomTypeModelContentRelationshipField, State extends prismic.FieldState = "filled">(config?: WithoutFakerConfig<MockContentRelationshipValueConfig<Model, State>>): MockContentRelationshipValue<Model, State>;
  customType<Model extends prismic.CustomTypeModel = prismic.CustomTypeModel>(config?: WithoutFakerConfig<MockCustomTypeValueConfig<Model>>): ModelValue<Model>;
  date<Model extends prismic.CustomTypeModelDateField = prismic.CustomTypeModelDateField, State extends prismic.FieldState = "filled">(config?: WithoutFakerConfig<MockDateValueConfig<Model, State>>): MockDateValue<State>;
  document<Model extends prismic.CustomTypeModel = prismic.CustomTypeModel>(config?: WithoutFakerConfig<MockCustomTypeValueConfig<Model>>): ModelValue<Model>;
  embed<Model extends prismic.CustomTypeModelEmbedField = prismic.CustomTypeModelEmbedField, Data extends prismic.AnyOEmbed = prismic.AnyOEmbed, State extends prismic.FieldState = "filled">(config?: WithoutFakerConfig<MockEmbedValueConfig<Model, Data, State>>): MockEmbedValue<Data, State>;
  geoPoint<Model extends prismic.CustomTypeModelGeoPointField = prismic.CustomTypeModelGeoPointField, State extends prismic.FieldState = "filled">(config?: WithoutFakerConfig<MockGeoPointValueConfig<Model, State>>): MockGeoPointValue<State>;
  group<Model extends prismic.CustomTypeModelGroupField = prismic.CustomTypeModelGroupField, State extends prismic.FieldState = "filled">(config?: WithoutFakerConfig<MockGroupValueConfig<Model, State>>): ModelValue<Model, State>;
  image<Model extends prismic.CustomTypeModelImageField = prismic.CustomTypeModelImageField, State extends prismic.FieldState = "filled">(config?: WithoutFakerConfig<MockImageValueConfig<Model, State>>): MockImageValue<Model, State>;
  integration<Model extends prismic.CustomTypeModelIntegrationField = prismic.CustomTypeModelIntegrationField, Data extends Record<string, unknown> = Record<string, unknown>, State extends prismic.FieldState = "filled">(config?: WithoutFakerConfig<MockIntegrationFieldValueConfig<Model, Data, State>>): MockIntegrationFieldValue<Data, State>;
  keyText<Model extends prismic.CustomTypeModelKeyTextField = prismic.CustomTypeModelKeyTextField, State extends prismic.FieldState = "filled">(config?: WithoutFakerConfig<MockKeyTextValueConfig<Model, State>>): MockKeyTextValue<State>;
  link<LinkType extends (typeof prismic.LinkType)[keyof typeof prismic.LinkType] = (typeof prismic.LinkType)[keyof typeof prismic.LinkType], Model extends prismic.CustomTypeModelLinkField = prismic.CustomTypeModelLinkField, State extends prismic.FieldState = "filled">(config?: WithoutFakerConfig<MockLinkValueConfig<LinkType, Model, State>>): MockLinkValue<LinkType, State>;
  linkToMedia<Model extends prismic.CustomTypeModelLinkToMediaField = prismic.CustomTypeModelLinkToMediaField, State extends prismic.FieldState = "filled">(config?: WithoutFakerConfig<MockLinkToMediaValueConfig<Model, State>>): MockLinkToMediaValue<State>;
  number<Model extends prismic.CustomTypeModelNumberField = prismic.CustomTypeModelNumberField, State extends prismic.FieldState = "filled">(config?: WithoutFakerConfig<MockNumberValueConfig<Model, State>>): MockNumberValue<State>;
  richText<Model extends prismic.CustomTypeModelRichTextField = prismic.CustomTypeModelRichTextField>(config?: WithoutFakerConfig<MockRichTextValueConfig<Model>>): MockRichTextValue;
  select<Model extends prismic.CustomTypeModelSelectField = prismic.CustomTypeModelSelectField, State extends prismic.FieldState = "filled">(config?: WithoutFakerConfig<MockSelectValueConfig<Model, State>>): MockSelectValue<Model, State>;
  sharedSlice<Model extends prismic.SharedSliceModel = prismic.SharedSliceModel>(config?: WithoutFakerConfig<MockSharedSliceValueConfig<Model>>): ModelValue<Model>;
  sharedSliceVariation<Model extends prismic.SharedSliceModelVariation = prismic.SharedSliceModelVariation>(config?: WithoutFakerConfig<MockSharedSliceVariationValueConfig<Model>>): ModelValue<Model>;
  slice<Model extends prismic.CustomTypeModelSlice = prismic.CustomTypeModelSlice>(config?: WithoutFakerConfig<MockSliceValueConfig<Model>>): ModelValue<Model>;
  sliceZone<Model extends prismic.CustomTypeModelSliceZoneField = prismic.CustomTypeModelSliceZoneField, State extends prismic.FieldState = "filled">(config?: WithoutFakerConfig<MockSliceZoneValueConfig<Model, State>>): ModelValue<Model, State>;
  table<Model extends prismic.CustomTypeModelTableField = prismic.CustomTypeModelTableField>(config?: WithoutFakerConfig<MockTableValueConfig<Model>>): MockTableValue;
  timestamp<Model extends prismic.CustomTypeModelTimestampField = prismic.CustomTypeModelTimestampField, State extends prismic.FieldState = "filled">(config?: WithoutFakerConfig<MockTimestampValueConfig<Model, State>>): MockTimestampValue<State>;
  title<Model extends prismic.CustomTypeModelTitleField = prismic.CustomTypeModelTitleField, State extends prismic.FieldState = "filled">(config?: WithoutFakerConfig<MockTitleValueConfig<Model, State>>): MockTitleValue<State>;
  uid<Model extends prismic.CustomTypeModelUIDField = prismic.CustomTypeModelUIDField>(config?: WithoutFakerConfig<MockUIDValueConfig<Model>>): NonNullable<prismic.PrismicDocument["uid"]>;
}
//#endregion
export { ValueMockFactory, createValueMockFactory };
//# sourceMappingURL=createValueMockFactory.d.ts.map