/* tslint:disable */
/* eslint-disable */

export type ValueTypes = {
    ["AccountGenderEnum"]:AccountGenderEnum;
	["AccountModel"]: AliasType<{
	_id?:true,
	organisationId?:true,
	createdAt?:true,
	updatedAt?:true,
	r?:true,
	w?:true,
	d?:true,
	types?:true,
	organisationIds?:true,
	email?:true,
	userName?:true,
	firstName?:true,
	lastName?:true,
	profilePicture?:ValueTypes["ImageComponent"],
	phoneNumber?:true,
	gender?:true,
	age?:true,
	address?:ValueTypes["AddressComponent"],
	language?:true,
	company?:true,
	vatNumber?:true,
	walletCredit?:true,
	companyId?:true
		__typename?: true
}>;
	["AccountTypeEnum"]:AccountTypeEnum;
	["ACSettingsModel"]: AliasType<{
	_id?:true,
	organisationId?:true,
	createdAt?:true,
	updatedAt?:true,
	r?:true,
	w?:true,
	d?:true,
	type?:true,
	fieldName?:true,
	acFieldId?:true,
	acFieldValueMap?:true,
	acFieldListMap?:true
		__typename?: true
}>;
	["AddressComponent"]: AliasType<{
	number?:true,
	street?:true,
	streetBis?:true,
	floor?:true,
	zip?:true,
	state?:true,
	city?:true,
	country?:true
		__typename?: true
}>;
	["AddressInput"]: {
	number?:string,
	street?:string,
	streetBis?:string,
	floor?:string,
	zip?:string,
	state?:string,
	city:string,
	country:string
};
	["ArticleModel"]: AliasType<{
	_id?:true,
	organisationId?:true,
	createdAt?:true,
	updatedAt?:true,
	r?:true,
	w?:true,
	d?:true,
	content?:ValueTypes["TranslatableComponent"],
	seo?:ValueTypes["SEOField"],
	urls?:ValueTypes["TranslatableComponent"],
	title?:ValueTypes["TranslatableComponent"],
	teaser?:ValueTypes["TranslatableComponent"],
	cover?:ValueTypes["ImageComponent"],
	thumbnail?:ValueTypes["ImageComponent"],
	published?:true,
	publicationDate?:true,
	private?:true,
	categoryIds?:true,
	getCategories?:ValueTypes["CategoryModel"],
	downloadableRessources?:ValueTypes["ImageComponent"],
	authorId?:true,
	getAuthor?:ValueTypes["AuthorModel"],
comments?: [{	pagination?:ValueTypes["GetArgs"]},ValueTypes["CommentModel"]],
relatedArticles?: [{	_ids?:string[],	search?:string,	pagination?:ValueTypes["GetArgs"],	categories?:string[]},ValueTypes["ArticleModel"]],
	index?:true,
	viewsCount?:true
		__typename?: true
}>;
	["AuthorModel"]: AliasType<{
	_id?:true,
	organisationId?:true,
	createdAt?:true,
	updatedAt?:true,
	r?:true,
	w?:true,
	d?:true,
	types?:true,
	organisationIds?:true,
	email?:true,
	userName?:true,
	firstName?:true,
	lastName?:true,
	profilePicture?:ValueTypes["ImageComponent"],
	phoneNumber?:true,
	gender?:true,
	age?:true,
	address?:ValueTypes["AddressComponent"],
	language?:true,
	bio?:ValueTypes["TranslatableComponent"]
		__typename?: true
}>;
	["AvailableLanguage"]:AvailableLanguage;
	["BuyerInfoComponent"]: AliasType<{
	firstName?:true,
	lastName?:true,
	email?:true,
	company?:true,
	vatNumber?:true,
	address?:ValueTypes["AddressComponent"]
		__typename?: true
}>;
	["CartModel"]: AliasType<{
	_id?:true,
	organisationId?:true,
	createdAt?:true,
	updatedAt?:true,
	r?:true,
	w?:true,
	d?:true,
	accountId?:true,
	promoId?:true,
	lines?:ValueTypes["LineItem"],
	totalPrice?:true,
	finalPrice?:true,
	account?:ValueTypes["AccountModel"],
	promo?:ValueTypes["PromoModel"]
		__typename?: true
}>;
	["CategoryModel"]: AliasType<{
	_id?:true,
	organisationId?:true,
	createdAt?:true,
	updatedAt?:true,
	r?:true,
	w?:true,
	d?:true,
	content?:ValueTypes["TranslatableComponent"],
	seo?:ValueTypes["SEOField"],
	urls?:ValueTypes["TranslatableComponent"],
	ressourceType?:true,
	title?:ValueTypes["TranslatableComponent"],
	colorCode?:true
		__typename?: true
}>;
	["CommentModel"]: AliasType<{
	_id?:true,
	organisationId?:true,
	createdAt?:true,
	updatedAt?:true,
	r?:true,
	w?:true,
	d?:true,
	ressourceModel?:true,
	ressourceId?:true,
	comment?:true,
	edited?:true,
	deleted?:true,
	file?:ValueTypes["ImageComponent"],
	sentBy?:true,
	parentId?:true,
	numberReplies?:true,
	replies?:ValueTypes["CommentModel"]
		__typename?: true
}>;
	["CommentModelEnum"]:CommentModelEnum;
	["CurrentPromo"]: AliasType<{
	promoType?:true,
	value?:true
		__typename?: true
}>;
	/** The javascript `Date` as string. Type represents date and time as the ISO Date string. */
["DateTime"]:unknown;
	["EditAccountInput"]: {
	userName?:string,
	firstName?:string,
	lastName?:string,
	profilePicture?:ValueTypes["ImageInput"],
	phoneNumber?:string,
	gender?:ValueTypes["AccountGenderEnum"],
	age?:number,
	address?:ValueTypes["AddressInput"],
	language?:ValueTypes["AvailableLanguage"],
	company?:string,
	vatNumber?:string
};
	["EditACSettingsInput"]: {
	fieldName:string,
	acFieldId:number,
	acFieldValueMap?:ValueTypes["JSONObject"],
	acFieldListMap?:ValueTypes["JSONObject"]
};
	["EditArticleInput"]: {
	content?:ValueTypes["TranslatableInput"],
	seo?:ValueTypes["SEOInput"],
	urls?:ValueTypes["TranslatableInput"],
	title?:ValueTypes["TranslatableInput"],
	teaser?:ValueTypes["TranslatableInput"],
	cover?:ValueTypes["ImageInput"],
	thumbnail?:ValueTypes["ImageInput"],
	categoryIds?:string[],
	downloadableRessources?:ValueTypes["ImageInput"][],
	private?:boolean,
	authorId?:string
};
	["EditAuthorInput"]: {
	firstName?:string,
	lastName?:string,
	profilePicture?:ValueTypes["ImageInput"],
	bio?:ValueTypes["TranslatableInput"]
};
	["EditCategoryInput"]: {
	ressourceType:ValueTypes["RessourceEnum"],
	title:ValueTypes["TranslatableInput"],
	content?:ValueTypes["TranslatableInput"],
	colorCode?:string
};
	["EditEmailSettingsInput"]: {
	subject?:ValueTypes["TranslatableInput"],
	body?:ValueTypes["TranslatableInput"],
	custom?:boolean,
	templateId:ValueTypes["TranslatableInput"],
	fromEmail:string,
	fromName:string,
	replyToEmail:string,
	cci?:string[]
};
	["EditEventInput"]: {
	content?:ValueTypes["TranslatableInput"],
	seo?:ValueTypes["SEOInput"],
	urls?:ValueTypes["TranslatableInput"],
	title?:ValueTypes["TranslatableInput"],
	teaser?:ValueTypes["TranslatableInput"],
	cover?:ValueTypes["ImageInput"],
	thumbnail?:ValueTypes["ImageInput"],
	categoryIds?:string[],
	downloadableRessources?:ValueTypes["ImageInput"][],
	private?:boolean,
	type?:ValueTypes["EventType"],
	format?:ValueTypes["EventCategory"],
	startDate?:ValueTypes["DateTime"],
	endDate?:ValueTypes["DateTime"],
	testimonials?:ValueTypes["TranslatableInput"],
	marketingInfo?:ValueTypes["EventMarketingInfo"],
	language?:ValueTypes["AvailableLanguage"],
	venueId?:string,
	partnerIds?:string[],
	speakerIds?:string[],
	ticketIds?:string[],
	supports?:ValueTypes["ImageInput"]
};
	["EditPageInput"]: {
	title?:string,
	label?:string,
	content?:ValueTypes["JSONObject"],
	position?:number,
	toComplete?:boolean
};
	["EditPartnerInput"]: {
	name?:string,
	websiteUrl?:string,
	linkedinUrl?:string,
	image?:ValueTypes["ImageInput"],
	bio?:ValueTypes["TranslatableInput"]
};
	["EditProductInput"]: {
	content?:ValueTypes["TranslatableInput"],
	seo?:ValueTypes["SEOInput"],
	urls?:ValueTypes["TranslatableInput"],
	title?:ValueTypes["TranslatableInput"],
	teaser?:ValueTypes["TranslatableInput"],
	cover?:ValueTypes["ImageInput"],
	thumbnail?:ValueTypes["ImageInput"],
	categoryIds?:string[],
	downloadableRessources?:ValueTypes["ImageInput"][],
	private?:boolean,
	price?:number,
	validity?:ValueTypes["DateTime"],
	currency?:string,
	stock?:number,
	extraImages?:ValueTypes["ImageInput"][],
	walletCredit?:number
};
	["EditProjectSettingsInput"]: {
	value?:string
};
	["EditPromoInput"]: {
	code?:string,
	description?:ValueTypes["TranslatableInput"],
	type?:ValueTypes["PromoType"],
	value?:number,
	cummulable?:boolean,
	validity?:ValueTypes["DateTime"],
	usageLimit?:number
};
	["EditSpeakerInput"]: {
	content?:ValueTypes["TranslatableInput"],
	seo?:ValueTypes["SEOInput"],
	urls?:ValueTypes["TranslatableInput"],
	firstName?:string,
	lastName?:string,
	profilePicture?:ValueTypes["ImageInput"],
	website?:string,
	linkedIn?:string,
	jobTitle?:ValueTypes["TranslatableInput"],
	companyName?:string
};
	["EditVenueInput"]: {
	address?:ValueTypes["AddressInput"],
	name?:string
};
	["EmailSettingsModel"]: AliasType<{
	_id?:true,
	organisationId?:true,
	createdAt?:true,
	updatedAt?:true,
	r?:true,
	w?:true,
	d?:true,
	type?:true,
	key?:true,
	subject?:ValueTypes["TranslatableComponent"],
	body?:ValueTypes["TranslatableComponent"],
	custom?:true,
	templateId?:ValueTypes["TranslatableComponent"],
	fromEmail?:true,
	fromName?:true,
	replyToEmail?:true,
	cci?:true,
	availableFields?:true
		__typename?: true
}>;
	["EventCategory"]:EventCategory;
	["EventMarketingInfo"]: {
	platform:ValueTypes["MarketingPlatform"],
	participantListId:string,
	downloadRessourcesListId?:string
};
	["EventMarketingInfoComponent"]: AliasType<{
	platform?:true,
	participantListId?:true,
	downloadRessourcesListId?:true
		__typename?: true
}>;
	["EventModel"]: AliasType<{
	_id?:true,
	organisationId?:true,
	createdAt?:true,
	updatedAt?:true,
	r?:true,
	w?:true,
	d?:true,
	content?:ValueTypes["TranslatableComponent"],
	seo?:ValueTypes["SEOField"],
	urls?:ValueTypes["TranslatableComponent"],
	title?:ValueTypes["TranslatableComponent"],
	teaser?:ValueTypes["TranslatableComponent"],
	cover?:ValueTypes["ImageComponent"],
	thumbnail?:ValueTypes["ImageComponent"],
	published?:true,
	publicationDate?:true,
	private?:true,
	categoryIds?:true,
	getCategories?:ValueTypes["CategoryModel"],
	downloadableRessources?:ValueTypes["ImageComponent"],
	type?:true,
	format?:true,
	startDate?:true,
	endDate?:true,
	testimonials?:ValueTypes["TranslatableComponent"],
	participantIds?:true,
	language?:true,
	venueId?:true,
	getVenue?:ValueTypes["EventVenueModel"],
	partnerIds?:true,
	getPartners?:ValueTypes["EventPartnerModel"],
	speakerIds?:true,
	getSpeakers?:ValueTypes["EventSpeakerModel"],
	ticketIds?:true,
	getTickets?:ValueTypes["ProductModel"],
	getParticipants?:ValueTypes["ParticipantModel"],
	supports?:ValueTypes["ImageComponent"],
	marketingInfo?:ValueTypes["EventMarketingInfoComponent"]
		__typename?: true
}>;
	["EventPartnerModel"]: AliasType<{
	_id?:true,
	organisationId?:true,
	createdAt?:true,
	updatedAt?:true,
	r?:true,
	w?:true,
	d?:true,
	name?:true,
	websiteUrl?:true,
	linkedinUrl?:true,
	image?:ValueTypes["ImageComponent"],
	bio?:ValueTypes["TranslatableComponent"]
		__typename?: true
}>;
	["EventSpeakerModel"]: AliasType<{
	_id?:true,
	organisationId?:true,
	createdAt?:true,
	updatedAt?:true,
	r?:true,
	w?:true,
	d?:true,
	content?:ValueTypes["TranslatableComponent"],
	seo?:ValueTypes["SEOField"],
	urls?:ValueTypes["TranslatableComponent"],
	firstName?:true,
	lastName?:true,
	profilePicture?:ValueTypes["ImageComponent"],
	website?:true,
	linkedIn?:true,
	jobTitle?:ValueTypes["TranslatableComponent"],
	companyName?:true
		__typename?: true
}>;
	["EventType"]:EventType;
	["EventVenueModel"]: AliasType<{
	_id?:true,
	organisationId?:true,
	createdAt?:true,
	updatedAt?:true,
	r?:true,
	w?:true,
	d?:true,
	name?:true,
	address?:ValueTypes["AddressComponent"]
		__typename?: true
}>;
	["GetArgs"]: {
	limit?:number,
	skip?:number,
	sort?:string
};
	["ImageComponent"]: AliasType<{
	large?:true,
	medium?:true,
	small?:true
		__typename?: true
}>;
	["ImageInput"]: {
	large:string,
	medium?:string,
	small?:string
};
	["InvoiceInfo"]: AliasType<{
	provider?:true,
	invoiceId?:true
		__typename?: true
}>;
	["InvoicingProvider"]:InvoicingProvider;
	/** The `JSONObject` scalar type represents JSON objects as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf). */
["JSONObject"]:unknown;
	["LineItem"]: AliasType<{
	productId?:true,
	quantity?:true,
	product?:ValueTypes["ProductModel"]
		__typename?: true
}>;
	["MarketingPlatform"]:MarketingPlatform;
	["Mutation"]: AliasType<{
venuesAddOne?: [{	input:ValueTypes["NewVenueInput"]},ValueTypes["EventVenueModel"]],
venuesEditOne?: [{	input:ValueTypes["EditVenueInput"],	id:string},ValueTypes["EventVenueModel"]],
venuesDeleteOne?: [{	id:string},ValueTypes["EventVenueModel"]],
speakersAddOne?: [{	input:ValueTypes["NewSpeakerInput"]},ValueTypes["EventSpeakerModel"]],
speakersEditOne?: [{	input:ValueTypes["EditSpeakerInput"],	id:string},ValueTypes["EventSpeakerModel"]],
speakersDeleteOne?: [{	id:string},ValueTypes["EventSpeakerModel"]],
eventsAddOne?: [{	input:ValueTypes["NewEventInput"]},ValueTypes["EventModel"]],
eventsEditOne?: [{	input:ValueTypes["EditEventInput"],	id:string},ValueTypes["EventModel"]],
eventsDeleteOne?: [{	id:string},ValueTypes["EventModel"]],
eventsPublish?: [{	id:string},ValueTypes["EventModel"]],
eventsUnpublish?: [{	id:string},ValueTypes["EventModel"]],
eventsPermissionsAddOne?: [{	input:ValueTypes["NewPermissionInput"],	id:string},ValueTypes["EventModel"]],
eventsPermissionsRemoveOne?: [{	input:ValueTypes["NewPermissionInput"],	id:string},ValueTypes["EventModel"]],
partnersAddOne?: [{	input:ValueTypes["NewPartnerInput"]},ValueTypes["EventPartnerModel"]],
partnersEditOne?: [{	input:ValueTypes["EditPartnerInput"],	id:string},ValueTypes["EventPartnerModel"]],
partnersDeleteOne?: [{	id:string},ValueTypes["EventPartnerModel"]],
articleCreateOne?: [{	input:ValueTypes["NewArticleInput"]},ValueTypes["ArticleModel"]],
articleEditOne?: [{	input:ValueTypes["EditArticleInput"],	id:string},ValueTypes["ArticleModel"]],
articleDeleteOne?: [{	id:string},ValueTypes["ArticleModel"]],
articlePublish?: [{	id:string},ValueTypes["ArticleModel"]],
articleUnpublish?: [{	id:string},ValueTypes["ArticleModel"]],
articlePermissionsAddOne?: [{	input:ValueTypes["NewPermissionInput"],	id:string},ValueTypes["ArticleModel"]],
articlePermissionsRemoveOne?: [{	input:ValueTypes["NewPermissionInput"],	id:string},ValueTypes["ArticleModel"]],
categoriesAddOne?: [{	input:ValueTypes["NewCategoryInput"]},ValueTypes["CategoryModel"]],
categoriesEditOne?: [{	input:ValueTypes["EditCategoryInput"],	id:string},ValueTypes["CategoryModel"]],
categoriesDeleteOne?: [{	id:string},ValueTypes["CategoryModel"]],
addAuthor?: [{	input:ValueTypes["NewAuthorInput"]},ValueTypes["AuthorModel"]],
editAuthor?: [{	input:ValueTypes["EditAuthorInput"],	id:string},ValueTypes["AuthorModel"]],
promosAddOne?: [{	input:ValueTypes["NewPromoInput"]},ValueTypes["PromoModel"]],
promosEditOne?: [{	input:ValueTypes["EditPromoInput"],	id:string},ValueTypes["PromoModel"]],
promosDeleteOne?: [{	id:string},ValueTypes["PromoModel"]],
addOne?: [{	input:ValueTypes["NewPromoInput"]},ValueTypes["PromoModel"]],
editOne?: [{	input:ValueTypes["EditPromoInput"],	id:string},ValueTypes["PromoModel"]],
productsAddOne?: [{	input:ValueTypes["NewProductInput"]},ValueTypes["ProductModel"]],
productsEditOne?: [{	input:ValueTypes["EditProductInput"],	id:string},ValueTypes["ProductModel"]],
productsDeleteOne?: [{	id:string},ValueTypes["ProductModel"]],
ordersMarkOneAsPaid?: [{	id:string},ValueTypes["OrderModel"]],
ordersMarkOneAsUnPaid?: [{	id:string},ValueTypes["OrderModel"]],
ordersCancelOne?: [{	id:string},ValueTypes["OrderModel"]],
ordersReimburseOne?: [{	orderId:string},ValueTypes["OrderModel"]],
emailsSettingsAddOne?: [{	input:ValueTypes["NewEmailSettingsInput"]},ValueTypes["EmailSettingsModel"]],
emailsSettingsEditOne?: [{	input:ValueTypes["EditEmailSettingsInput"],	id:string},ValueTypes["EmailSettingsModel"]],
emailsSettingsDeleteOne?: [{	id:string},ValueTypes["EmailSettingsModel"]],
pagesAddOne?: [{	input:ValueTypes["NewPageInput"]},ValueTypes["PageModel"]],
pagesEditOne?: [{	input:ValueTypes["EditPageInput"],	id:string},ValueTypes["PageModel"]],
pagesDeleteOne?: [{	id:string},ValueTypes["PageModel"]],
projectSettingsAddOne?: [{	input:ValueTypes["NewProjectSettingsInput"]},ValueTypes["ProjectSettingModel"]],
projectSettingsEditOne?: [{	input:ValueTypes["EditProjectSettingsInput"],	id:string},ValueTypes["ProjectSettingModel"]],
projectSettingsDeleteOne?: [{	id:string},ValueTypes["ProjectSettingModel"]],
acSettingsAddOne?: [{	input:ValueTypes["NewACSettingsInput"]},ValueTypes["ACSettingsModel"]],
acSettingsEditOne?: [{	input:ValueTypes["EditACSettingsInput"],	id:string},ValueTypes["ACSettingsModel"]],
acSettingsDeleteOne?: [{	id:string},ValueTypes["ACSettingsModel"]],
updateMe?: [{	input:ValueTypes["EditAccountInput"]},ValueTypes["AccountModel"]],
updateMeEmail?: [{	input:ValueTypes["NewEmailInput"]},ValueTypes["AccountModel"]],
updateMePassword?: [{	input:ValueTypes["NewPasswordInput"]},ValueTypes["AccountModel"]],
resetPassword?: [{	input:ValueTypes["ResetPasswordInput"]},ValueTypes["SimpleResult"]]
		__typename?: true
}>;
	["NewACSettingsInput"]: {
	fieldName:string,
	acFieldId:number,
	acFieldValueMap?:ValueTypes["JSONObject"],
	acFieldListMap?:ValueTypes["JSONObject"]
};
	["NewArticleInput"]: {
	content?:ValueTypes["TranslatableInput"],
	seo?:ValueTypes["SEOInput"],
	urls?:ValueTypes["TranslatableInput"],
	title?:ValueTypes["TranslatableInput"],
	teaser?:ValueTypes["TranslatableInput"],
	cover?:ValueTypes["ImageInput"],
	thumbnail?:ValueTypes["ImageInput"],
	categoryIds?:string[],
	downloadableRessources?:ValueTypes["ImageInput"][],
	private?:boolean,
	authorId?:string
};
	["NewAuthorInput"]: {
	email:string,
	firstName:string,
	lastName:string,
	password:string,
	passwordConfirmation:string,
	profilePicture:ValueTypes["ImageInput"],
	bio?:ValueTypes["TranslatableInput"]
};
	["NewCategoryInput"]: {
	ressourceType:ValueTypes["RessourceEnum"],
	title:ValueTypes["TranslatableInput"],
	content?:ValueTypes["TranslatableInput"],
	colorCode?:string
};
	["NewEmailInput"]: {
	newEmail:string
};
	["NewEmailSettingsInput"]: {
	subject?:ValueTypes["TranslatableInput"],
	body?:ValueTypes["TranslatableInput"],
	key:string,
	custom?:boolean,
	templateId:ValueTypes["TranslatableInput"],
	fromEmail:string,
	fromName:string,
	replyToEmail:string,
	cci?:string[]
};
	["NewEventInput"]: {
	content?:ValueTypes["TranslatableInput"],
	seo?:ValueTypes["SEOInput"],
	urls?:ValueTypes["TranslatableInput"],
	title?:ValueTypes["TranslatableInput"],
	teaser?:ValueTypes["TranslatableInput"],
	cover?:ValueTypes["ImageInput"],
	thumbnail?:ValueTypes["ImageInput"],
	categoryIds?:string[],
	downloadableRessources?:ValueTypes["ImageInput"][],
	private?:boolean,
	type?:ValueTypes["EventType"],
	format?:ValueTypes["EventCategory"],
	startDate?:ValueTypes["DateTime"],
	endDate?:ValueTypes["DateTime"],
	testimonials?:ValueTypes["TranslatableInput"],
	marketingInfo?:ValueTypes["EventMarketingInfo"],
	language?:ValueTypes["AvailableLanguage"],
	venueId?:string,
	partnerIds?:string[],
	speakerIds?:string[],
	ticketIds?:string[],
	supports?:ValueTypes["ImageInput"]
};
	["NewPageInput"]: {
	title:string,
	label?:string,
	content?:ValueTypes["JSONObject"],
	position?:number,
	toComplete?:boolean
};
	["NewPartnerInput"]: {
	name:string,
	websiteUrl?:string,
	linkedinUrl?:string,
	image?:ValueTypes["ImageInput"],
	bio?:ValueTypes["TranslatableInput"]
};
	["NewPasswordInput"]: {
	newPassword:string,
	newPasswordConfirmation:string
};
	["NewPermissionInput"]: {
	permissionType:ValueTypes["PermissionType"],
	permission:ValueTypes["AccountTypeEnum"]
};
	["NewProductInput"]: {
	content?:ValueTypes["TranslatableInput"],
	seo?:ValueTypes["SEOInput"],
	urls?:ValueTypes["TranslatableInput"],
	title?:ValueTypes["TranslatableInput"],
	teaser?:ValueTypes["TranslatableInput"],
	cover?:ValueTypes["ImageInput"],
	thumbnail?:ValueTypes["ImageInput"],
	categoryIds?:string[],
	downloadableRessources?:ValueTypes["ImageInput"][],
	private?:boolean,
	productFormat?:ValueTypes["ProductFormatEnum"],
	productType:ValueTypes["ProductTypeEnum"],
	price:number,
	validity?:ValueTypes["DateTime"],
	currency:string,
	stock?:number,
	walletCredit?:number,
	extraImages?:ValueTypes["ImageInput"][]
};
	["NewProjectSettingsInput"]: {
	key:string,
	value:string
};
	["NewPromoInput"]: {
	code:string,
	description?:ValueTypes["TranslatableInput"],
	type:ValueTypes["PromoType"],
	value:number,
	cummulable:boolean,
	validity?:ValueTypes["DateTime"],
	usageLimit?:number
};
	["NewSpeakerInput"]: {
	content?:ValueTypes["TranslatableInput"],
	seo?:ValueTypes["SEOInput"],
	urls?:ValueTypes["TranslatableInput"],
	firstName:string,
	lastName:string,
	profilePicture?:ValueTypes["ImageInput"],
	website?:string,
	linkedIn?:string,
	jobTitle?:ValueTypes["TranslatableInput"],
	companyName?:string
};
	["NewVenueInput"]: {
	address:ValueTypes["AddressInput"],
	name:string
};
	["OrderModel"]: AliasType<{
	_id?:true,
	organisationId?:true,
	createdAt?:true,
	updatedAt?:true,
	r?:true,
	w?:true,
	d?:true,
	accountId?:true,
	cartInfo?:ValueTypes["CartModel"],
	contactInfo?:ValueTypes["BuyerInfoComponent"],
	billingInfo?:ValueTypes["BuyerInfoComponent"],
	orderStatus?:true,
	paymentStatus?:true,
	paymentInfo?:ValueTypes["PaymentInfo"],
	invoiceInfo?:ValueTypes["InvoiceInfo"]
		__typename?: true
}>;
	["OrderStatusEnum"]:OrderStatusEnum;
	["PageModel"]: AliasType<{
	_id?:true,
	organisationId?:true,
	createdAt?:true,
	updatedAt?:true,
	r?:true,
	w?:true,
	d?:true,
	title?:true,
	label?:true,
	content?:true,
	position?:true,
	toComplete?:true
		__typename?: true
}>;
	["ParticipantModel"]: AliasType<{
	_id?:true,
	organisationId?:true,
	createdAt?:true,
	updatedAt?:true,
	r?:true,
	w?:true,
	d?:true,
	title?:true,
	firstName?:true,
	lastName?:true,
	company?:true,
	function?:true,
	email?:true,
	phone?:true,
	language?:true,
	eventId?:true,
	productId?:true,
	addedBy?:true,
	orderId?:true
		__typename?: true
}>;
	["ParticipantTitle"]:ParticipantTitle;
	["PaymentInfo"]: AliasType<{
	provider?:true,
	transactionId?:true
		__typename?: true
}>;
	["PaymentProvider"]:PaymentProvider;
	["PaymentStatusEnum"]:PaymentStatusEnum;
	["PermissionType"]:PermissionType;
	["ProductFormatEnum"]:ProductFormatEnum;
	["ProductModel"]: AliasType<{
	_id?:true,
	organisationId?:true,
	createdAt?:true,
	updatedAt?:true,
	r?:true,
	w?:true,
	d?:true,
	content?:ValueTypes["TranslatableComponent"],
	seo?:ValueTypes["SEOField"],
	urls?:ValueTypes["TranslatableComponent"],
	title?:ValueTypes["TranslatableComponent"],
	teaser?:ValueTypes["TranslatableComponent"],
	cover?:ValueTypes["ImageComponent"],
	thumbnail?:ValueTypes["ImageComponent"],
	published?:true,
	publicationDate?:true,
	private?:true,
	categoryIds?:true,
	getCategories?:ValueTypes["CategoryModel"],
	downloadableRessources?:ValueTypes["ImageComponent"],
	productFormat?:true,
	productType?:true,
	extraImages?:ValueTypes["ImageComponent"],
	validity?:true,
	price?:true,
	currency?:true,
	finalPrice?:true,
	stock?:true,
	sold?:true,
	currentPromo?:ValueTypes["CurrentPromo"],
	walletCredit?:true,
comments?: [{	pagination?:ValueTypes["GetArgs"]},ValueTypes["CommentModel"]],
	relatedProducts?:ValueTypes["ProductModel"]
		__typename?: true
}>;
	["ProductTypeEnum"]:ProductTypeEnum;
	["ProjectSettingModel"]: AliasType<{
	_id?:true,
	organisationId?:true,
	createdAt?:true,
	updatedAt?:true,
	r?:true,
	w?:true,
	d?:true,
	type?:true,
	key?:true,
	value?:true
		__typename?: true
}>;
	["PromoModel"]: AliasType<{
	_id?:true,
	organisationId?:true,
	createdAt?:true,
	updatedAt?:true,
	r?:true,
	w?:true,
	d?:true,
	code?:true,
	description?:ValueTypes["TranslatableComponent"],
	type?:true,
	value?:true,
	validity?:true,
	cummulable?:true,
	usageLimit?:true,
	usage?:true
		__typename?: true
}>;
	["PromoType"]:PromoType;
	["Query"]: AliasType<{
venuesGetOne?: [{	id:string},ValueTypes["EventVenueModel"]],
venuesGetMany?: [{	search?:string,	pagination?:ValueTypes["GetArgs"]},ValueTypes["EventVenueModel"]],
speakersGetOne?: [{	id:string},ValueTypes["EventSpeakerModel"]],
speakersGetMany?: [{	search?:string,	pagination?:ValueTypes["GetArgs"]},ValueTypes["EventSpeakerModel"]],
eventsGetOne?: [{	id:string},ValueTypes["EventModel"]],
eventsGetMany?: [{	_ids?:string[],	search?:string,	pagination?:ValueTypes["GetArgs"],	venueId?:string,	speakerIds?:string[],	partnerIds?:string[]},ValueTypes["EventModel"]],
partnersGetOne?: [{	id:string},ValueTypes["EventPartnerModel"]],
partnersGetMany?: [{	search?:string,	pagination?:ValueTypes["GetArgs"]},ValueTypes["EventPartnerModel"]],
article?: [{	id:string},ValueTypes["ArticleModel"]],
articles?: [{	_ids?:string[],	search?:string,	pagination?:ValueTypes["GetArgs"],	categories?:string[]},ValueTypes["ArticleModel"]],
categoriesGetOne?: [{	id:string},ValueTypes["CategoryModel"]],
categoriesGetMany?: [{	search?:string,	ressourceType:ValueTypes["RessourceEnum"],	pagination?:ValueTypes["GetArgs"]},ValueTypes["CategoryModel"]],
author?: [{	id:string},ValueTypes["AuthorModel"]],
authors?: [{	_ids?:string[],	search?:string,	pagination?:ValueTypes["GetArgs"]},ValueTypes["AuthorModel"]],
promosGetOne?: [{	id:string},ValueTypes["PromoModel"]],
promosGetMany?: [{	pagination?:ValueTypes["GetArgs"],	search?:string},ValueTypes["PromoModel"]],
productsGetOne?: [{	id:string},ValueTypes["ProductModel"]],
productsGetMany?: [{	_ids?:string[],	search?:string,	pagination?:ValueTypes["GetArgs"],	productType:ValueTypes["ProductTypeEnum"],	categoryIds?:string[]},ValueTypes["ProductModel"]],
ordersGetOne?: [{	id:string},ValueTypes["OrderModel"]],
ordersGetMany?: [{	orderStatus:ValueTypes["OrderStatusEnum"],	paymentStatus?:ValueTypes["PaymentStatusEnum"],	pagination?:ValueTypes["GetArgs"]},ValueTypes["OrderModel"]],
emailsSettingsGetOne?: [{	id:string},ValueTypes["EmailSettingsModel"]],
emailsSettingsGetMany?: [{	search?:string,	pagination?:ValueTypes["GetArgs"]},ValueTypes["EmailSettingsModel"]],
pagesGetOne?: [{	id:string},ValueTypes["PageModel"]],
pagesGetMany?: [{	pagination?:ValueTypes["GetArgs"]},ValueTypes["PageModel"]],
projectSettingsGetOne?: [{	id:string},ValueTypes["ProjectSettingModel"]],
projectSettingsGetMany?: [{	_ids?:string[],	search?:string,	pagination?:ValueTypes["GetArgs"]},ValueTypes["ProjectSettingModel"]],
	ACFieldsGetAll?:true,
acSettingsGetOne?: [{	id:string},ValueTypes["ACSettingsModel"]],
acSettingsGetMany?: [{	_ids?:string[],	search?:string,	pagination?:ValueTypes["GetArgs"]},ValueTypes["ACSettingsModel"]],
	me?:ValueTypes["AccountModel"]
		__typename?: true
}>;
	["ResetPasswordInput"]: {
	email:string
};
	["RessourceEnum"]:RessourceEnum;
	["SEOField"]: AliasType<{
	title?:ValueTypes["TranslatableComponent"],
	description?:ValueTypes["TranslatableComponent"],
	keywords?:ValueTypes["TranslatableComponent"]
		__typename?: true
}>;
	["SEOInput"]: {
	title:ValueTypes["TranslatableInput"],
	description:ValueTypes["TranslatableInput"],
	keywords:ValueTypes["TranslatableInput"]
};
	["SettingsType"]:SettingsType;
	["SimpleResult"]: AliasType<{
	message?:true
		__typename?: true
}>;
	["TranslatableComponent"]: AliasType<{
	en?:true,
	fr?:true,
	nl?:true
		__typename?: true
}>;
	["TranslatableInput"]: {
	en?:string,
	fr?:string,
	nl?:string
}
  }

export type PartialObjects = {
    ["AccountGenderEnum"]:AccountGenderEnum,
	["AccountModel"]: {
		__typename?: "AccountModel";
			_id?:string,
			organisationId?:string,
			createdAt?:PartialObjects["DateTime"],
			updatedAt?:PartialObjects["DateTime"],
			r?:string[],
			w?:string[],
			d?:string[],
			types?:PartialObjects["AccountTypeEnum"][],
			organisationIds?:string[],
			email?:string,
			userName?:string,
			firstName?:string,
			lastName?:string,
			profilePicture?:PartialObjects["ImageComponent"],
			phoneNumber?:string,
			gender?:PartialObjects["AccountGenderEnum"],
			age?:number,
			address?:PartialObjects["AddressComponent"],
			language?:PartialObjects["AvailableLanguage"],
			company?:string,
			vatNumber?:string,
			walletCredit?:number,
			companyId?:string
	},
	["AccountTypeEnum"]:AccountTypeEnum,
	["ACSettingsModel"]: {
		__typename?: "ACSettingsModel";
			_id?:string,
			organisationId?:string,
			createdAt?:PartialObjects["DateTime"],
			updatedAt?:PartialObjects["DateTime"],
			r?:string[],
			w?:string[],
			d?:string[],
			type?:PartialObjects["SettingsType"],
			fieldName?:string,
			acFieldId?:number,
			acFieldValueMap?:PartialObjects["JSONObject"],
			acFieldListMap?:PartialObjects["JSONObject"]
	},
	["AddressComponent"]: {
		__typename?: "AddressComponent";
			number?:string,
			street?:string,
			streetBis?:string,
			floor?:string,
			zip?:string,
			state?:string,
			city?:string,
			country?:string
	},
	["AddressInput"]: {
	number?:string,
	street?:string,
	streetBis?:string,
	floor?:string,
	zip?:string,
	state?:string,
	city:string,
	country:string
},
	["ArticleModel"]: {
		__typename?: "ArticleModel";
			_id?:string,
			organisationId?:string,
			createdAt?:PartialObjects["DateTime"],
			updatedAt?:PartialObjects["DateTime"],
			r?:string[],
			w?:string[],
			d?:string[],
			content?:PartialObjects["TranslatableComponent"],
			seo?:PartialObjects["SEOField"],
			urls?:PartialObjects["TranslatableComponent"],
			title?:PartialObjects["TranslatableComponent"],
			teaser?:PartialObjects["TranslatableComponent"],
			cover?:PartialObjects["ImageComponent"],
			thumbnail?:PartialObjects["ImageComponent"],
			published?:boolean,
			publicationDate?:PartialObjects["DateTime"],
			private?:boolean,
			categoryIds?:string[],
			getCategories?:PartialObjects["CategoryModel"][],
			downloadableRessources?:PartialObjects["ImageComponent"][],
			authorId?:string,
			getAuthor?:PartialObjects["AuthorModel"],
			comments?:PartialObjects["CommentModel"][],
			relatedArticles?:PartialObjects["ArticleModel"][],
			index?:string,
			viewsCount?:number
	},
	["AuthorModel"]: {
		__typename?: "AuthorModel";
			_id?:string,
			organisationId?:string,
			createdAt?:PartialObjects["DateTime"],
			updatedAt?:PartialObjects["DateTime"],
			r?:string[],
			w?:string[],
			d?:string[],
			types?:PartialObjects["AccountTypeEnum"][],
			organisationIds?:string[],
			email?:string,
			userName?:string,
			firstName?:string,
			lastName?:string,
			profilePicture?:PartialObjects["ImageComponent"],
			phoneNumber?:string,
			gender?:PartialObjects["AccountGenderEnum"],
			age?:number,
			address?:PartialObjects["AddressComponent"],
			language?:PartialObjects["AvailableLanguage"],
			bio?:PartialObjects["TranslatableComponent"]
	},
	["AvailableLanguage"]:AvailableLanguage,
	["BuyerInfoComponent"]: {
		__typename?: "BuyerInfoComponent";
			firstName?:string,
			lastName?:string,
			email?:string,
			company?:string,
			vatNumber?:string,
			address?:PartialObjects["AddressComponent"]
	},
	["CartModel"]: {
		__typename?: "CartModel";
			_id?:string,
			organisationId?:string,
			createdAt?:PartialObjects["DateTime"],
			updatedAt?:PartialObjects["DateTime"],
			r?:string[],
			w?:string[],
			d?:string[],
			accountId?:string,
			promoId?:string,
			lines?:PartialObjects["LineItem"][],
			totalPrice?:number,
			finalPrice?:number,
			account?:PartialObjects["AccountModel"],
			promo?:PartialObjects["PromoModel"]
	},
	["CategoryModel"]: {
		__typename?: "CategoryModel";
			_id?:string,
			organisationId?:string,
			createdAt?:PartialObjects["DateTime"],
			updatedAt?:PartialObjects["DateTime"],
			r?:string[],
			w?:string[],
			d?:string[],
			content?:PartialObjects["TranslatableComponent"],
			seo?:PartialObjects["SEOField"],
			urls?:PartialObjects["TranslatableComponent"],
			ressourceType?:PartialObjects["RessourceEnum"],
			title?:PartialObjects["TranslatableComponent"],
			colorCode?:string
	},
	["CommentModel"]: {
		__typename?: "CommentModel";
			_id?:string,
			organisationId?:string,
			createdAt?:PartialObjects["DateTime"],
			updatedAt?:PartialObjects["DateTime"],
			r?:string[],
			w?:string[],
			d?:string[],
			ressourceModel?:PartialObjects["CommentModelEnum"],
			ressourceId?:string,
			comment?:string,
			edited?:boolean,
			deleted?:boolean,
			file?:PartialObjects["ImageComponent"],
			sentBy?:string,
			parentId?:string,
			numberReplies?:number,
			replies?:PartialObjects["CommentModel"][]
	},
	["CommentModelEnum"]:CommentModelEnum,
	["CurrentPromo"]: {
		__typename?: "CurrentPromo";
			promoType?:PartialObjects["PromoType"],
			value?:number
	},
	/** The javascript `Date` as string. Type represents date and time as the ISO Date string. */
["DateTime"]:any,
	["EditAccountInput"]: {
	userName?:string,
	firstName?:string,
	lastName?:string,
	profilePicture?:PartialObjects["ImageInput"],
	phoneNumber?:string,
	gender?:PartialObjects["AccountGenderEnum"],
	age?:number,
	address?:PartialObjects["AddressInput"],
	language?:PartialObjects["AvailableLanguage"],
	company?:string,
	vatNumber?:string
},
	["EditACSettingsInput"]: {
	fieldName:string,
	acFieldId:number,
	acFieldValueMap?:PartialObjects["JSONObject"],
	acFieldListMap?:PartialObjects["JSONObject"]
},
	["EditArticleInput"]: {
	content?:PartialObjects["TranslatableInput"],
	seo?:PartialObjects["SEOInput"],
	urls?:PartialObjects["TranslatableInput"],
	title?:PartialObjects["TranslatableInput"],
	teaser?:PartialObjects["TranslatableInput"],
	cover?:PartialObjects["ImageInput"],
	thumbnail?:PartialObjects["ImageInput"],
	categoryIds?:string[],
	downloadableRessources?:PartialObjects["ImageInput"][],
	private?:boolean,
	authorId?:string
},
	["EditAuthorInput"]: {
	firstName?:string,
	lastName?:string,
	profilePicture?:PartialObjects["ImageInput"],
	bio?:PartialObjects["TranslatableInput"]
},
	["EditCategoryInput"]: {
	ressourceType:PartialObjects["RessourceEnum"],
	title:PartialObjects["TranslatableInput"],
	content?:PartialObjects["TranslatableInput"],
	colorCode?:string
},
	["EditEmailSettingsInput"]: {
	subject?:PartialObjects["TranslatableInput"],
	body?:PartialObjects["TranslatableInput"],
	custom?:boolean,
	templateId:PartialObjects["TranslatableInput"],
	fromEmail:string,
	fromName:string,
	replyToEmail:string,
	cci?:string[]
},
	["EditEventInput"]: {
	content?:PartialObjects["TranslatableInput"],
	seo?:PartialObjects["SEOInput"],
	urls?:PartialObjects["TranslatableInput"],
	title?:PartialObjects["TranslatableInput"],
	teaser?:PartialObjects["TranslatableInput"],
	cover?:PartialObjects["ImageInput"],
	thumbnail?:PartialObjects["ImageInput"],
	categoryIds?:string[],
	downloadableRessources?:PartialObjects["ImageInput"][],
	private?:boolean,
	type?:PartialObjects["EventType"],
	format?:PartialObjects["EventCategory"],
	startDate?:PartialObjects["DateTime"],
	endDate?:PartialObjects["DateTime"],
	testimonials?:PartialObjects["TranslatableInput"],
	marketingInfo?:PartialObjects["EventMarketingInfo"],
	language?:PartialObjects["AvailableLanguage"],
	venueId?:string,
	partnerIds?:string[],
	speakerIds?:string[],
	ticketIds?:string[],
	supports?:PartialObjects["ImageInput"]
},
	["EditPageInput"]: {
	title?:string,
	label?:string,
	content?:PartialObjects["JSONObject"],
	position?:number,
	toComplete?:boolean
},
	["EditPartnerInput"]: {
	name?:string,
	websiteUrl?:string,
	linkedinUrl?:string,
	image?:PartialObjects["ImageInput"],
	bio?:PartialObjects["TranslatableInput"]
},
	["EditProductInput"]: {
	content?:PartialObjects["TranslatableInput"],
	seo?:PartialObjects["SEOInput"],
	urls?:PartialObjects["TranslatableInput"],
	title?:PartialObjects["TranslatableInput"],
	teaser?:PartialObjects["TranslatableInput"],
	cover?:PartialObjects["ImageInput"],
	thumbnail?:PartialObjects["ImageInput"],
	categoryIds?:string[],
	downloadableRessources?:PartialObjects["ImageInput"][],
	private?:boolean,
	price?:number,
	validity?:PartialObjects["DateTime"],
	currency?:string,
	stock?:number,
	extraImages?:PartialObjects["ImageInput"][],
	walletCredit?:number
},
	["EditProjectSettingsInput"]: {
	value?:string
},
	["EditPromoInput"]: {
	code?:string,
	description?:PartialObjects["TranslatableInput"],
	type?:PartialObjects["PromoType"],
	value?:number,
	cummulable?:boolean,
	validity?:PartialObjects["DateTime"],
	usageLimit?:number
},
	["EditSpeakerInput"]: {
	content?:PartialObjects["TranslatableInput"],
	seo?:PartialObjects["SEOInput"],
	urls?:PartialObjects["TranslatableInput"],
	firstName?:string,
	lastName?:string,
	profilePicture?:PartialObjects["ImageInput"],
	website?:string,
	linkedIn?:string,
	jobTitle?:PartialObjects["TranslatableInput"],
	companyName?:string
},
	["EditVenueInput"]: {
	address?:PartialObjects["AddressInput"],
	name?:string
},
	["EmailSettingsModel"]: {
		__typename?: "EmailSettingsModel";
			_id?:string,
			organisationId?:string,
			createdAt?:PartialObjects["DateTime"],
			updatedAt?:PartialObjects["DateTime"],
			r?:string[],
			w?:string[],
			d?:string[],
			type?:PartialObjects["SettingsType"],
			key?:string,
			subject?:PartialObjects["TranslatableComponent"],
			body?:PartialObjects["TranslatableComponent"],
			custom?:boolean,
			templateId?:PartialObjects["TranslatableComponent"],
			fromEmail?:string,
			fromName?:string,
			replyToEmail?:string,
			cci?:string[],
			availableFields?:string[]
	},
	["EventCategory"]:EventCategory,
	["EventMarketingInfo"]: {
	platform:PartialObjects["MarketingPlatform"],
	participantListId:string,
	downloadRessourcesListId?:string
},
	["EventMarketingInfoComponent"]: {
		__typename?: "EventMarketingInfoComponent";
			platform?:PartialObjects["MarketingPlatform"],
			participantListId?:string,
			downloadRessourcesListId?:string
	},
	["EventModel"]: {
		__typename?: "EventModel";
			_id?:string,
			organisationId?:string,
			createdAt?:PartialObjects["DateTime"],
			updatedAt?:PartialObjects["DateTime"],
			r?:string[],
			w?:string[],
			d?:string[],
			content?:PartialObjects["TranslatableComponent"],
			seo?:PartialObjects["SEOField"],
			urls?:PartialObjects["TranslatableComponent"],
			title?:PartialObjects["TranslatableComponent"],
			teaser?:PartialObjects["TranslatableComponent"],
			cover?:PartialObjects["ImageComponent"],
			thumbnail?:PartialObjects["ImageComponent"],
			published?:boolean,
			publicationDate?:PartialObjects["DateTime"],
			private?:boolean,
			categoryIds?:string[],
			getCategories?:PartialObjects["CategoryModel"][],
			downloadableRessources?:PartialObjects["ImageComponent"][],
			type?:PartialObjects["EventType"],
			format?:PartialObjects["EventCategory"],
			startDate?:PartialObjects["DateTime"],
			endDate?:PartialObjects["DateTime"],
			testimonials?:PartialObjects["TranslatableComponent"],
			participantIds?:string[],
			language?:PartialObjects["AvailableLanguage"],
			venueId?:string,
			getVenue?:PartialObjects["EventVenueModel"],
			partnerIds?:string[],
			getPartners?:(PartialObjects["EventPartnerModel"] | undefined)[],
			speakerIds?:string[],
			getSpeakers?:(PartialObjects["EventSpeakerModel"] | undefined)[],
			ticketIds?:string[],
			getTickets?:(PartialObjects["ProductModel"] | undefined)[],
			getParticipants?:(PartialObjects["ParticipantModel"] | undefined)[],
			supports?:PartialObjects["ImageComponent"],
			marketingInfo?:PartialObjects["EventMarketingInfoComponent"]
	},
	["EventPartnerModel"]: {
		__typename?: "EventPartnerModel";
			_id?:string,
			organisationId?:string,
			createdAt?:PartialObjects["DateTime"],
			updatedAt?:PartialObjects["DateTime"],
			r?:string[],
			w?:string[],
			d?:string[],
			name?:string,
			websiteUrl?:string,
			linkedinUrl?:string,
			image?:PartialObjects["ImageComponent"],
			bio?:PartialObjects["TranslatableComponent"]
	},
	["EventSpeakerModel"]: {
		__typename?: "EventSpeakerModel";
			_id?:string,
			organisationId?:string,
			createdAt?:PartialObjects["DateTime"],
			updatedAt?:PartialObjects["DateTime"],
			r?:string[],
			w?:string[],
			d?:string[],
			content?:PartialObjects["TranslatableComponent"],
			seo?:PartialObjects["SEOField"],
			urls?:PartialObjects["TranslatableComponent"],
			firstName?:string,
			lastName?:string,
			profilePicture?:PartialObjects["ImageComponent"],
			website?:string,
			linkedIn?:string,
			jobTitle?:PartialObjects["TranslatableComponent"],
			companyName?:string
	},
	["EventType"]:EventType,
	["EventVenueModel"]: {
		__typename?: "EventVenueModel";
			_id?:string,
			organisationId?:string,
			createdAt?:PartialObjects["DateTime"],
			updatedAt?:PartialObjects["DateTime"],
			r?:string[],
			w?:string[],
			d?:string[],
			name?:string,
			address?:PartialObjects["AddressComponent"]
	},
	["GetArgs"]: {
	limit?:number,
	skip?:number,
	sort?:string
},
	["ImageComponent"]: {
		__typename?: "ImageComponent";
			large?:string,
			medium?:string,
			small?:string
	},
	["ImageInput"]: {
	large:string,
	medium?:string,
	small?:string
},
	["InvoiceInfo"]: {
		__typename?: "InvoiceInfo";
			provider?:PartialObjects["InvoicingProvider"],
			invoiceId?:string
	},
	["InvoicingProvider"]:InvoicingProvider,
	/** The `JSONObject` scalar type represents JSON objects as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf). */
["JSONObject"]:any,
	["LineItem"]: {
		__typename?: "LineItem";
			productId?:string,
			quantity?:number,
			product?:PartialObjects["ProductModel"]
	},
	["MarketingPlatform"]:MarketingPlatform,
	["Mutation"]: {
		__typename?: "Mutation";
			venuesAddOne?:PartialObjects["EventVenueModel"],
			venuesEditOne?:PartialObjects["EventVenueModel"],
			venuesDeleteOne?:PartialObjects["EventVenueModel"],
			speakersAddOne?:PartialObjects["EventSpeakerModel"],
			speakersEditOne?:PartialObjects["EventSpeakerModel"],
			speakersDeleteOne?:PartialObjects["EventSpeakerModel"],
			eventsAddOne?:PartialObjects["EventModel"],
			eventsEditOne?:PartialObjects["EventModel"],
			eventsDeleteOne?:PartialObjects["EventModel"],
			eventsPublish?:PartialObjects["EventModel"],
			eventsUnpublish?:PartialObjects["EventModel"],
			eventsPermissionsAddOne?:PartialObjects["EventModel"],
			eventsPermissionsRemoveOne?:PartialObjects["EventModel"],
			partnersAddOne?:PartialObjects["EventPartnerModel"],
			partnersEditOne?:PartialObjects["EventPartnerModel"],
			partnersDeleteOne?:PartialObjects["EventPartnerModel"],
			articleCreateOne?:PartialObjects["ArticleModel"],
			articleEditOne?:PartialObjects["ArticleModel"],
			articleDeleteOne?:PartialObjects["ArticleModel"],
			articlePublish?:PartialObjects["ArticleModel"],
			articleUnpublish?:PartialObjects["ArticleModel"],
			articlePermissionsAddOne?:PartialObjects["ArticleModel"],
			articlePermissionsRemoveOne?:PartialObjects["ArticleModel"],
			categoriesAddOne?:PartialObjects["CategoryModel"],
			categoriesEditOne?:PartialObjects["CategoryModel"],
			categoriesDeleteOne?:PartialObjects["CategoryModel"],
			addAuthor?:PartialObjects["AuthorModel"],
			editAuthor?:PartialObjects["AuthorModel"],
			promosAddOne?:PartialObjects["PromoModel"],
			promosEditOne?:PartialObjects["PromoModel"],
			promosDeleteOne?:PartialObjects["PromoModel"],
			addOne?:PartialObjects["PromoModel"],
			editOne?:PartialObjects["PromoModel"],
			productsAddOne?:PartialObjects["ProductModel"],
			productsEditOne?:PartialObjects["ProductModel"],
			productsDeleteOne?:PartialObjects["ProductModel"],
			ordersMarkOneAsPaid?:PartialObjects["OrderModel"],
			ordersMarkOneAsUnPaid?:PartialObjects["OrderModel"],
			ordersCancelOne?:PartialObjects["OrderModel"],
			ordersReimburseOne?:PartialObjects["OrderModel"],
			emailsSettingsAddOne?:PartialObjects["EmailSettingsModel"],
			emailsSettingsEditOne?:PartialObjects["EmailSettingsModel"],
			emailsSettingsDeleteOne?:PartialObjects["EmailSettingsModel"],
			pagesAddOne?:PartialObjects["PageModel"],
			pagesEditOne?:PartialObjects["PageModel"],
			pagesDeleteOne?:PartialObjects["PageModel"],
			projectSettingsAddOne?:PartialObjects["ProjectSettingModel"],
			projectSettingsEditOne?:PartialObjects["ProjectSettingModel"],
			projectSettingsDeleteOne?:PartialObjects["ProjectSettingModel"],
			acSettingsAddOne?:PartialObjects["ACSettingsModel"],
			acSettingsEditOne?:PartialObjects["ACSettingsModel"],
			acSettingsDeleteOne?:PartialObjects["ACSettingsModel"],
			updateMe?:PartialObjects["AccountModel"],
			updateMeEmail?:PartialObjects["AccountModel"],
			updateMePassword?:PartialObjects["AccountModel"],
			resetPassword?:PartialObjects["SimpleResult"]
	},
	["NewACSettingsInput"]: {
	fieldName:string,
	acFieldId:number,
	acFieldValueMap?:PartialObjects["JSONObject"],
	acFieldListMap?:PartialObjects["JSONObject"]
},
	["NewArticleInput"]: {
	content?:PartialObjects["TranslatableInput"],
	seo?:PartialObjects["SEOInput"],
	urls?:PartialObjects["TranslatableInput"],
	title?:PartialObjects["TranslatableInput"],
	teaser?:PartialObjects["TranslatableInput"],
	cover?:PartialObjects["ImageInput"],
	thumbnail?:PartialObjects["ImageInput"],
	categoryIds?:string[],
	downloadableRessources?:PartialObjects["ImageInput"][],
	private?:boolean,
	authorId?:string
},
	["NewAuthorInput"]: {
	email:string,
	firstName:string,
	lastName:string,
	password:string,
	passwordConfirmation:string,
	profilePicture:PartialObjects["ImageInput"],
	bio?:PartialObjects["TranslatableInput"]
},
	["NewCategoryInput"]: {
	ressourceType:PartialObjects["RessourceEnum"],
	title:PartialObjects["TranslatableInput"],
	content?:PartialObjects["TranslatableInput"],
	colorCode?:string
},
	["NewEmailInput"]: {
	newEmail:string
},
	["NewEmailSettingsInput"]: {
	subject?:PartialObjects["TranslatableInput"],
	body?:PartialObjects["TranslatableInput"],
	key:string,
	custom?:boolean,
	templateId:PartialObjects["TranslatableInput"],
	fromEmail:string,
	fromName:string,
	replyToEmail:string,
	cci?:string[]
},
	["NewEventInput"]: {
	content?:PartialObjects["TranslatableInput"],
	seo?:PartialObjects["SEOInput"],
	urls?:PartialObjects["TranslatableInput"],
	title?:PartialObjects["TranslatableInput"],
	teaser?:PartialObjects["TranslatableInput"],
	cover?:PartialObjects["ImageInput"],
	thumbnail?:PartialObjects["ImageInput"],
	categoryIds?:string[],
	downloadableRessources?:PartialObjects["ImageInput"][],
	private?:boolean,
	type?:PartialObjects["EventType"],
	format?:PartialObjects["EventCategory"],
	startDate?:PartialObjects["DateTime"],
	endDate?:PartialObjects["DateTime"],
	testimonials?:PartialObjects["TranslatableInput"],
	marketingInfo?:PartialObjects["EventMarketingInfo"],
	language?:PartialObjects["AvailableLanguage"],
	venueId?:string,
	partnerIds?:string[],
	speakerIds?:string[],
	ticketIds?:string[],
	supports?:PartialObjects["ImageInput"]
},
	["NewPageInput"]: {
	title:string,
	label?:string,
	content?:PartialObjects["JSONObject"],
	position?:number,
	toComplete?:boolean
},
	["NewPartnerInput"]: {
	name:string,
	websiteUrl?:string,
	linkedinUrl?:string,
	image?:PartialObjects["ImageInput"],
	bio?:PartialObjects["TranslatableInput"]
},
	["NewPasswordInput"]: {
	newPassword:string,
	newPasswordConfirmation:string
},
	["NewPermissionInput"]: {
	permissionType:PartialObjects["PermissionType"],
	permission:PartialObjects["AccountTypeEnum"]
},
	["NewProductInput"]: {
	content?:PartialObjects["TranslatableInput"],
	seo?:PartialObjects["SEOInput"],
	urls?:PartialObjects["TranslatableInput"],
	title?:PartialObjects["TranslatableInput"],
	teaser?:PartialObjects["TranslatableInput"],
	cover?:PartialObjects["ImageInput"],
	thumbnail?:PartialObjects["ImageInput"],
	categoryIds?:string[],
	downloadableRessources?:PartialObjects["ImageInput"][],
	private?:boolean,
	productFormat?:PartialObjects["ProductFormatEnum"],
	productType:PartialObjects["ProductTypeEnum"],
	price:number,
	validity?:PartialObjects["DateTime"],
	currency:string,
	stock?:number,
	walletCredit?:number,
	extraImages?:PartialObjects["ImageInput"][]
},
	["NewProjectSettingsInput"]: {
	key:string,
	value:string
},
	["NewPromoInput"]: {
	code:string,
	description?:PartialObjects["TranslatableInput"],
	type:PartialObjects["PromoType"],
	value:number,
	cummulable:boolean,
	validity?:PartialObjects["DateTime"],
	usageLimit?:number
},
	["NewSpeakerInput"]: {
	content?:PartialObjects["TranslatableInput"],
	seo?:PartialObjects["SEOInput"],
	urls?:PartialObjects["TranslatableInput"],
	firstName:string,
	lastName:string,
	profilePicture?:PartialObjects["ImageInput"],
	website?:string,
	linkedIn?:string,
	jobTitle?:PartialObjects["TranslatableInput"],
	companyName?:string
},
	["NewVenueInput"]: {
	address:PartialObjects["AddressInput"],
	name:string
},
	["OrderModel"]: {
		__typename?: "OrderModel";
			_id?:string,
			organisationId?:string,
			createdAt?:PartialObjects["DateTime"],
			updatedAt?:PartialObjects["DateTime"],
			r?:string[],
			w?:string[],
			d?:string[],
			accountId?:string,
			cartInfo?:PartialObjects["CartModel"],
			contactInfo?:PartialObjects["BuyerInfoComponent"],
			billingInfo?:PartialObjects["BuyerInfoComponent"],
			orderStatus?:PartialObjects["OrderStatusEnum"],
			paymentStatus?:PartialObjects["PaymentStatusEnum"],
			paymentInfo?:PartialObjects["PaymentInfo"],
			invoiceInfo?:PartialObjects["InvoiceInfo"]
	},
	["OrderStatusEnum"]:OrderStatusEnum,
	["PageModel"]: {
		__typename?: "PageModel";
			_id?:string,
			organisationId?:string,
			createdAt?:PartialObjects["DateTime"],
			updatedAt?:PartialObjects["DateTime"],
			r?:string[],
			w?:string[],
			d?:string[],
			title?:string,
			label?:string,
			content?:PartialObjects["JSONObject"],
			position?:number,
			toComplete?:boolean
	},
	["ParticipantModel"]: {
		__typename?: "ParticipantModel";
			_id?:string,
			organisationId?:string,
			createdAt?:PartialObjects["DateTime"],
			updatedAt?:PartialObjects["DateTime"],
			r?:string[],
			w?:string[],
			d?:string[],
			title?:PartialObjects["ParticipantTitle"],
			firstName?:string,
			lastName?:string,
			company?:string,
			function?:string,
			email?:string,
			phone?:string,
			language?:PartialObjects["AvailableLanguage"],
			eventId?:string,
			productId?:string,
			addedBy?:string,
			orderId?:string
	},
	["ParticipantTitle"]:ParticipantTitle,
	["PaymentInfo"]: {
		__typename?: "PaymentInfo";
			provider?:PartialObjects["PaymentProvider"],
			transactionId?:string
	},
	["PaymentProvider"]:PaymentProvider,
	["PaymentStatusEnum"]:PaymentStatusEnum,
	["PermissionType"]:PermissionType,
	["ProductFormatEnum"]:ProductFormatEnum,
	["ProductModel"]: {
		__typename?: "ProductModel";
			_id?:string,
			organisationId?:string,
			createdAt?:PartialObjects["DateTime"],
			updatedAt?:PartialObjects["DateTime"],
			r?:string[],
			w?:string[],
			d?:string[],
			content?:PartialObjects["TranslatableComponent"],
			seo?:PartialObjects["SEOField"],
			urls?:PartialObjects["TranslatableComponent"],
			title?:PartialObjects["TranslatableComponent"],
			teaser?:PartialObjects["TranslatableComponent"],
			cover?:PartialObjects["ImageComponent"],
			thumbnail?:PartialObjects["ImageComponent"],
			published?:boolean,
			publicationDate?:PartialObjects["DateTime"],
			private?:boolean,
			categoryIds?:string[],
			getCategories?:PartialObjects["CategoryModel"][],
			downloadableRessources?:PartialObjects["ImageComponent"][],
			productFormat?:PartialObjects["ProductFormatEnum"],
			productType?:PartialObjects["ProductTypeEnum"],
			extraImages?:PartialObjects["ImageComponent"][],
			validity?:PartialObjects["DateTime"],
			price?:number,
			currency?:string,
			finalPrice?:number,
			stock?:number,
			sold?:number,
			currentPromo?:PartialObjects["CurrentPromo"],
			walletCredit?:number,
			comments?:PartialObjects["CommentModel"][],
			relatedProducts?:PartialObjects["ProductModel"][]
	},
	["ProductTypeEnum"]:ProductTypeEnum,
	["ProjectSettingModel"]: {
		__typename?: "ProjectSettingModel";
			_id?:string,
			organisationId?:string,
			createdAt?:PartialObjects["DateTime"],
			updatedAt?:PartialObjects["DateTime"],
			r?:string[],
			w?:string[],
			d?:string[],
			type?:PartialObjects["SettingsType"],
			key?:string,
			value?:string
	},
	["PromoModel"]: {
		__typename?: "PromoModel";
			_id?:string,
			organisationId?:string,
			createdAt?:PartialObjects["DateTime"],
			updatedAt?:PartialObjects["DateTime"],
			r?:string[],
			w?:string[],
			d?:string[],
			code?:string,
			description?:PartialObjects["TranslatableComponent"],
			type?:PartialObjects["PromoType"],
			value?:number,
			validity?:PartialObjects["DateTime"],
			cummulable?:boolean,
			usageLimit?:number,
			usage?:number
	},
	["PromoType"]:PromoType,
	["Query"]: {
		__typename?: "Query";
			venuesGetOne?:PartialObjects["EventVenueModel"],
			venuesGetMany?:PartialObjects["EventVenueModel"][],
			speakersGetOne?:PartialObjects["EventSpeakerModel"],
			speakersGetMany?:PartialObjects["EventSpeakerModel"][],
			eventsGetOne?:PartialObjects["EventModel"],
			eventsGetMany?:PartialObjects["EventModel"][],
			partnersGetOne?:PartialObjects["EventPartnerModel"],
			partnersGetMany?:PartialObjects["EventPartnerModel"][],
			article?:PartialObjects["ArticleModel"],
			articles?:PartialObjects["ArticleModel"][],
			categoriesGetOne?:PartialObjects["CategoryModel"],
			categoriesGetMany?:PartialObjects["CategoryModel"][],
			author?:PartialObjects["AuthorModel"],
			authors?:PartialObjects["AuthorModel"][],
			promosGetOne?:PartialObjects["PromoModel"],
			promosGetMany?:PartialObjects["PromoModel"][],
			productsGetOne?:PartialObjects["ProductModel"],
			productsGetMany?:PartialObjects["ProductModel"][],
			ordersGetOne?:PartialObjects["OrderModel"],
			ordersGetMany?:PartialObjects["OrderModel"][],
			emailsSettingsGetOne?:PartialObjects["EmailSettingsModel"],
			emailsSettingsGetMany?:PartialObjects["EmailSettingsModel"][],
			pagesGetOne?:PartialObjects["PageModel"],
			pagesGetMany?:PartialObjects["PageModel"][],
			projectSettingsGetOne?:PartialObjects["ProjectSettingModel"],
			projectSettingsGetMany?:PartialObjects["ProjectSettingModel"][],
			ACFieldsGetAll?:PartialObjects["JSONObject"],
			acSettingsGetOne?:PartialObjects["ACSettingsModel"],
			acSettingsGetMany?:PartialObjects["ACSettingsModel"][],
			me?:PartialObjects["AccountModel"]
	},
	["ResetPasswordInput"]: {
	email:string
},
	["RessourceEnum"]:RessourceEnum,
	["SEOField"]: {
		__typename?: "SEOField";
			title?:PartialObjects["TranslatableComponent"],
			description?:PartialObjects["TranslatableComponent"],
			keywords?:PartialObjects["TranslatableComponent"]
	},
	["SEOInput"]: {
	title:PartialObjects["TranslatableInput"],
	description:PartialObjects["TranslatableInput"],
	keywords:PartialObjects["TranslatableInput"]
},
	["SettingsType"]:SettingsType,
	["SimpleResult"]: {
		__typename?: "SimpleResult";
			message?:string
	},
	["TranslatableComponent"]: {
		__typename?: "TranslatableComponent";
			en?:string,
			fr?:string,
			nl?:string
	},
	["TranslatableInput"]: {
	en?:string,
	fr?:string,
	nl?:string
}
  }

export enum AccountGenderEnum {
	m = "m",
	f = "f",
	other = "other"
}

export type AccountModel = {
	__typename?: "AccountModel",
	_id:string,
	organisationId?:string,
	createdAt:DateTime,
	updatedAt:DateTime,
	r:string[],
	w:string[],
	d:string[],
	types:AccountTypeEnum[],
	organisationIds?:string[],
	email:string,
	userName?:string,
	firstName:string,
	lastName:string,
	profilePicture?:ImageComponent,
	phoneNumber:string,
	gender?:AccountGenderEnum,
	age?:number,
	address?:AddressComponent,
	language?:AvailableLanguage,
	company:string,
	vatNumber:string,
	walletCredit?:number,
	companyId?:string
}

export enum AccountTypeEnum {
	admin = "admin",
	user = "user",
	public = "public",
	blogAuthor = "blogAuthor"
}

export type ACSettingsModel = {
	__typename?: "ACSettingsModel",
	_id:string,
	organisationId?:string,
	createdAt:DateTime,
	updatedAt:DateTime,
	r:string[],
	w:string[],
	d:string[],
	type:SettingsType,
	fieldName:string,
	acFieldId:number,
	acFieldValueMap?:JSONObject,
	acFieldListMap?:JSONObject
}

export type AddressComponent = {
	__typename?: "AddressComponent",
	number?:string,
	street?:string,
	streetBis?:string,
	floor?:string,
	zip?:string,
	state?:string,
	city:string,
	country:string
}

export type AddressInput = {
		number?:string,
	street?:string,
	streetBis?:string,
	floor?:string,
	zip?:string,
	state?:string,
	city:string,
	country:string
}

export type ArticleModel = {
	__typename?: "ArticleModel",
	_id:string,
	organisationId?:string,
	createdAt:DateTime,
	updatedAt:DateTime,
	r:string[],
	w:string[],
	d:string[],
	content?:TranslatableComponent,
	seo?:SEOField,
	urls?:TranslatableComponent,
	title?:TranslatableComponent,
	teaser?:TranslatableComponent,
	cover?:ImageComponent,
	thumbnail?:ImageComponent,
	published:boolean,
	publicationDate?:DateTime,
	private?:boolean,
	categoryIds?:string[],
	getCategories:CategoryModel[],
	downloadableRessources?:ImageComponent[],
	authorId?:string,
	getAuthor?:AuthorModel,
	comments?:CommentModel[],
	relatedArticles?:ArticleModel[],
	index?:string,
	viewsCount:number
}

export type AuthorModel = {
	__typename?: "AuthorModel",
	_id:string,
	organisationId?:string,
	createdAt:DateTime,
	updatedAt:DateTime,
	r:string[],
	w:string[],
	d:string[],
	types:AccountTypeEnum[],
	organisationIds?:string[],
	email:string,
	userName?:string,
	firstName:string,
	lastName:string,
	profilePicture:ImageComponent,
	phoneNumber?:string,
	gender?:AccountGenderEnum,
	age?:number,
	address?:AddressComponent,
	language?:AvailableLanguage,
	bio?:TranslatableComponent
}

export enum AvailableLanguage {
	en = "en",
	fr = "fr",
	nl = "nl"
}

export type BuyerInfoComponent = {
	__typename?: "BuyerInfoComponent",
	firstName:string,
	lastName:string,
	email:string,
	company?:string,
	vatNumber?:string,
	address:AddressComponent
}

export type CartModel = {
	__typename?: "CartModel",
	_id:string,
	organisationId?:string,
	createdAt:DateTime,
	updatedAt:DateTime,
	r:string[],
	w:string[],
	d:string[],
	accountId:string,
	promoId?:string,
	lines:LineItem[],
	totalPrice:number,
	finalPrice:number,
	account:AccountModel,
	promo?:PromoModel
}

export type CategoryModel = {
	__typename?: "CategoryModel",
	_id:string,
	organisationId?:string,
	createdAt:DateTime,
	updatedAt:DateTime,
	r:string[],
	w:string[],
	d:string[],
	content?:TranslatableComponent,
	seo?:SEOField,
	urls?:TranslatableComponent,
	ressourceType:RessourceEnum,
	title:TranslatableComponent,
	colorCode?:string
}

export type CommentModel = {
	__typename?: "CommentModel",
	_id:string,
	organisationId?:string,
	createdAt:DateTime,
	updatedAt:DateTime,
	r:string[],
	w:string[],
	d:string[],
	ressourceModel:CommentModelEnum,
	ressourceId:string,
	comment:string,
	edited:boolean,
	deleted:boolean,
	file?:ImageComponent,
	sentBy:string,
	parentId?:string,
	numberReplies?:number,
	replies?:CommentModel[]
}

export enum CommentModelEnum {
	ArticleModel = "ArticleModel"
}

export type CurrentPromo = {
	__typename?: "CurrentPromo",
	promoType:PromoType,
	value:number
}

/** The javascript `Date` as string. Type represents date and time as the ISO Date string. */
export type DateTime = any

export type EditAccountInput = {
		userName?:string,
	firstName?:string,
	lastName?:string,
	profilePicture?:ImageInput,
	phoneNumber?:string,
	gender?:AccountGenderEnum,
	age?:number,
	address?:AddressInput,
	language?:AvailableLanguage,
	company?:string,
	vatNumber?:string
}

export type EditACSettingsInput = {
		fieldName:string,
	acFieldId:number,
	acFieldValueMap?:JSONObject,
	acFieldListMap?:JSONObject
}

export type EditArticleInput = {
		content?:TranslatableInput,
	seo?:SEOInput,
	urls?:TranslatableInput,
	title?:TranslatableInput,
	teaser?:TranslatableInput,
	cover?:ImageInput,
	thumbnail?:ImageInput,
	categoryIds?:string[],
	downloadableRessources?:ImageInput[],
	private?:boolean,
	authorId?:string
}

export type EditAuthorInput = {
		firstName?:string,
	lastName?:string,
	profilePicture?:ImageInput,
	bio?:TranslatableInput
}

export type EditCategoryInput = {
		ressourceType:RessourceEnum,
	title:TranslatableInput,
	content?:TranslatableInput,
	colorCode?:string
}

export type EditEmailSettingsInput = {
		subject?:TranslatableInput,
	body?:TranslatableInput,
	custom?:boolean,
	templateId:TranslatableInput,
	fromEmail:string,
	fromName:string,
	replyToEmail:string,
	cci?:string[]
}

export type EditEventInput = {
		content?:TranslatableInput,
	seo?:SEOInput,
	urls?:TranslatableInput,
	title?:TranslatableInput,
	teaser?:TranslatableInput,
	cover?:ImageInput,
	thumbnail?:ImageInput,
	categoryIds?:string[],
	downloadableRessources?:ImageInput[],
	private?:boolean,
	type?:EventType,
	format?:EventCategory,
	startDate?:DateTime,
	endDate?:DateTime,
	testimonials?:TranslatableInput,
	marketingInfo?:EventMarketingInfo,
	language?:AvailableLanguage,
	venueId?:string,
	partnerIds?:string[],
	speakerIds?:string[],
	ticketIds?:string[],
	supports?:ImageInput
}

export type EditPageInput = {
		title?:string,
	label?:string,
	content?:JSONObject,
	position?:number,
	toComplete?:boolean
}

export type EditPartnerInput = {
		name?:string,
	websiteUrl?:string,
	linkedinUrl?:string,
	image?:ImageInput,
	bio?:TranslatableInput
}

export type EditProductInput = {
		content?:TranslatableInput,
	seo?:SEOInput,
	urls?:TranslatableInput,
	title?:TranslatableInput,
	teaser?:TranslatableInput,
	cover?:ImageInput,
	thumbnail?:ImageInput,
	categoryIds?:string[],
	downloadableRessources?:ImageInput[],
	private?:boolean,
	price?:number,
	validity?:DateTime,
	currency?:string,
	stock?:number,
	extraImages?:ImageInput[],
	walletCredit?:number
}

export type EditProjectSettingsInput = {
		value?:string
}

export type EditPromoInput = {
		code?:string,
	description?:TranslatableInput,
	type?:PromoType,
	value?:number,
	cummulable?:boolean,
	validity?:DateTime,
	usageLimit?:number
}

export type EditSpeakerInput = {
		content?:TranslatableInput,
	seo?:SEOInput,
	urls?:TranslatableInput,
	firstName?:string,
	lastName?:string,
	profilePicture?:ImageInput,
	website?:string,
	linkedIn?:string,
	jobTitle?:TranslatableInput,
	companyName?:string
}

export type EditVenueInput = {
		address?:AddressInput,
	name?:string
}

export type EmailSettingsModel = {
	__typename?: "EmailSettingsModel",
	_id:string,
	organisationId?:string,
	createdAt:DateTime,
	updatedAt:DateTime,
	r:string[],
	w:string[],
	d:string[],
	type:SettingsType,
	key:string,
	subject?:TranslatableComponent,
	body?:TranslatableComponent,
	custom:boolean,
	templateId:TranslatableComponent,
	fromEmail:string,
	fromName:string,
	replyToEmail:string,
	cci?:string[],
	availableFields:string[]
}

export enum EventCategory {
	online = "online",
	offline = "offline"
}

export type EventMarketingInfo = {
		platform:MarketingPlatform,
	participantListId:string,
	downloadRessourcesListId?:string
}

export type EventMarketingInfoComponent = {
	__typename?: "EventMarketingInfoComponent",
	platform:MarketingPlatform,
	participantListId:string,
	downloadRessourcesListId?:string
}

export type EventModel = {
	__typename?: "EventModel",
	_id:string,
	organisationId?:string,
	createdAt:DateTime,
	updatedAt:DateTime,
	r:string[],
	w:string[],
	d:string[],
	content?:TranslatableComponent,
	seo?:SEOField,
	urls?:TranslatableComponent,
	title?:TranslatableComponent,
	teaser?:TranslatableComponent,
	cover?:ImageComponent,
	thumbnail?:ImageComponent,
	published:boolean,
	publicationDate?:DateTime,
	private?:boolean,
	categoryIds?:string[],
	getCategories:CategoryModel[],
	downloadableRessources?:ImageComponent[],
	type:EventType,
	format:EventCategory,
	startDate:DateTime,
	endDate:DateTime,
	testimonials?:TranslatableComponent,
	participantIds?:string[],
	language?:AvailableLanguage,
	venueId?:string,
	getVenue?:EventVenueModel,
	partnerIds?:string[],
	getPartners?:(EventPartnerModel | undefined)[],
	speakerIds?:string[],
	getSpeakers?:(EventSpeakerModel | undefined)[],
	ticketIds?:string[],
	getTickets?:(ProductModel | undefined)[],
	getParticipants?:(ParticipantModel | undefined)[],
	supports?:ImageComponent,
	marketingInfo?:EventMarketingInfoComponent
}

export type EventPartnerModel = {
	__typename?: "EventPartnerModel",
	_id:string,
	organisationId?:string,
	createdAt:DateTime,
	updatedAt:DateTime,
	r:string[],
	w:string[],
	d:string[],
	name:string,
	websiteUrl?:string,
	linkedinUrl?:string,
	image?:ImageComponent,
	bio?:TranslatableComponent
}

export type EventSpeakerModel = {
	__typename?: "EventSpeakerModel",
	_id:string,
	organisationId?:string,
	createdAt:DateTime,
	updatedAt:DateTime,
	r:string[],
	w:string[],
	d:string[],
	content?:TranslatableComponent,
	seo?:SEOField,
	urls?:TranslatableComponent,
	firstName:string,
	lastName:string,
	profilePicture?:ImageComponent,
	website?:string,
	linkedIn?:string,
	jobTitle?:TranslatableComponent,
	companyName?:string
}

export enum EventType {
	formation = "formation",
	conference = "conference",
	webinar = "webinar"
}

export type EventVenueModel = {
	__typename?: "EventVenueModel",
	_id:string,
	organisationId?:string,
	createdAt:DateTime,
	updatedAt:DateTime,
	r:string[],
	w:string[],
	d:string[],
	name:string,
	address:AddressComponent
}

export type GetArgs = {
		limit?:number,
	skip?:number,
	sort?:string
}

export type ImageComponent = {
	__typename?: "ImageComponent",
	large:string,
	medium?:string,
	small?:string
}

export type ImageInput = {
		large:string,
	medium?:string,
	small?:string
}

export type InvoiceInfo = {
	__typename?: "InvoiceInfo",
	provider:InvoicingProvider,
	invoiceId:string
}

export enum InvoicingProvider {
	directInvoice = "directInvoice"
}

/** The `JSONObject` scalar type represents JSON objects as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf). */
export type JSONObject = any

export type LineItem = {
	__typename?: "LineItem",
	productId:string,
	quantity:number,
	product:ProductModel
}

export enum MarketingPlatform {
	ac = "ac"
}

export type Mutation = {
	__typename?: "Mutation",
	venuesAddOne:EventVenueModel,
	venuesEditOne:EventVenueModel,
	venuesDeleteOne:EventVenueModel,
	speakersAddOne:EventSpeakerModel,
	speakersEditOne:EventSpeakerModel,
	speakersDeleteOne:EventSpeakerModel,
	eventsAddOne:EventModel,
	eventsEditOne:EventModel,
	eventsDeleteOne:EventModel,
	eventsPublish:EventModel,
	eventsUnpublish:EventModel,
	eventsPermissionsAddOne:EventModel,
	eventsPermissionsRemoveOne:EventModel,
	partnersAddOne:EventPartnerModel,
	partnersEditOne:EventPartnerModel,
	partnersDeleteOne:EventPartnerModel,
	articleCreateOne:ArticleModel,
	articleEditOne:ArticleModel,
	articleDeleteOne:ArticleModel,
	articlePublish:ArticleModel,
	articleUnpublish:ArticleModel,
	articlePermissionsAddOne:ArticleModel,
	articlePermissionsRemoveOne:ArticleModel,
	categoriesAddOne:CategoryModel,
	categoriesEditOne:CategoryModel,
	categoriesDeleteOne:CategoryModel,
	addAuthor:AuthorModel,
	editAuthor:AuthorModel,
	promosAddOne:PromoModel,
	promosEditOne:PromoModel,
	promosDeleteOne:PromoModel,
	addOne:PromoModel,
	editOne:PromoModel,
	productsAddOne:ProductModel,
	productsEditOne:ProductModel,
	productsDeleteOne:ProductModel,
	ordersMarkOneAsPaid:OrderModel,
	ordersMarkOneAsUnPaid:OrderModel,
	ordersCancelOne:OrderModel,
	ordersReimburseOne:OrderModel,
	emailsSettingsAddOne:EmailSettingsModel,
	emailsSettingsEditOne:EmailSettingsModel,
	emailsSettingsDeleteOne:EmailSettingsModel,
	pagesAddOne:PageModel,
	pagesEditOne:PageModel,
	pagesDeleteOne:PageModel,
	projectSettingsAddOne:ProjectSettingModel,
	projectSettingsEditOne:ProjectSettingModel,
	projectSettingsDeleteOne:ProjectSettingModel,
	acSettingsAddOne:ACSettingsModel,
	acSettingsEditOne:ACSettingsModel,
	acSettingsDeleteOne:ACSettingsModel,
	updateMe:AccountModel,
	updateMeEmail:AccountModel,
	updateMePassword:AccountModel,
	resetPassword:SimpleResult
}

export type NewACSettingsInput = {
		fieldName:string,
	acFieldId:number,
	acFieldValueMap?:JSONObject,
	acFieldListMap?:JSONObject
}

export type NewArticleInput = {
		content?:TranslatableInput,
	seo?:SEOInput,
	urls?:TranslatableInput,
	title?:TranslatableInput,
	teaser?:TranslatableInput,
	cover?:ImageInput,
	thumbnail?:ImageInput,
	categoryIds?:string[],
	downloadableRessources?:ImageInput[],
	private?:boolean,
	authorId?:string
}

export type NewAuthorInput = {
		email:string,
	firstName:string,
	lastName:string,
	password:string,
	passwordConfirmation:string,
	profilePicture:ImageInput,
	bio?:TranslatableInput
}

export type NewCategoryInput = {
		ressourceType:RessourceEnum,
	title:TranslatableInput,
	content?:TranslatableInput,
	colorCode?:string
}

export type NewEmailInput = {
		newEmail:string
}

export type NewEmailSettingsInput = {
		subject?:TranslatableInput,
	body?:TranslatableInput,
	key:string,
	custom?:boolean,
	templateId:TranslatableInput,
	fromEmail:string,
	fromName:string,
	replyToEmail:string,
	cci?:string[]
}

export type NewEventInput = {
		content?:TranslatableInput,
	seo?:SEOInput,
	urls?:TranslatableInput,
	title?:TranslatableInput,
	teaser?:TranslatableInput,
	cover?:ImageInput,
	thumbnail?:ImageInput,
	categoryIds?:string[],
	downloadableRessources?:ImageInput[],
	private?:boolean,
	type?:EventType,
	format?:EventCategory,
	startDate?:DateTime,
	endDate?:DateTime,
	testimonials?:TranslatableInput,
	marketingInfo?:EventMarketingInfo,
	language?:AvailableLanguage,
	venueId?:string,
	partnerIds?:string[],
	speakerIds?:string[],
	ticketIds?:string[],
	supports?:ImageInput
}

export type NewPageInput = {
		title:string,
	label?:string,
	content?:JSONObject,
	position?:number,
	toComplete?:boolean
}

export type NewPartnerInput = {
		name:string,
	websiteUrl?:string,
	linkedinUrl?:string,
	image?:ImageInput,
	bio?:TranslatableInput
}

export type NewPasswordInput = {
		newPassword:string,
	newPasswordConfirmation:string
}

export type NewPermissionInput = {
		permissionType:PermissionType,
	permission:AccountTypeEnum
}

export type NewProductInput = {
		content?:TranslatableInput,
	seo?:SEOInput,
	urls?:TranslatableInput,
	title?:TranslatableInput,
	teaser?:TranslatableInput,
	cover?:ImageInput,
	thumbnail?:ImageInput,
	categoryIds?:string[],
	downloadableRessources?:ImageInput[],
	private?:boolean,
	productFormat?:ProductFormatEnum,
	productType:ProductTypeEnum,
	price:number,
	validity?:DateTime,
	currency:string,
	stock?:number,
	walletCredit?:number,
	extraImages?:ImageInput[]
}

export type NewProjectSettingsInput = {
		key:string,
	value:string
}

export type NewPromoInput = {
		code:string,
	description?:TranslatableInput,
	type:PromoType,
	value:number,
	cummulable:boolean,
	validity?:DateTime,
	usageLimit?:number
}

export type NewSpeakerInput = {
		content?:TranslatableInput,
	seo?:SEOInput,
	urls?:TranslatableInput,
	firstName:string,
	lastName:string,
	profilePicture?:ImageInput,
	website?:string,
	linkedIn?:string,
	jobTitle?:TranslatableInput,
	companyName?:string
}

export type NewVenueInput = {
		address:AddressInput,
	name:string
}

export type OrderModel = {
	__typename?: "OrderModel",
	_id:string,
	organisationId?:string,
	createdAt:DateTime,
	updatedAt:DateTime,
	r:string[],
	w:string[],
	d:string[],
	accountId:string,
	cartInfo:CartModel,
	contactInfo:BuyerInfoComponent,
	billingInfo:BuyerInfoComponent,
	orderStatus:OrderStatusEnum,
	paymentStatus?:PaymentStatusEnum,
	paymentInfo?:PaymentInfo,
	invoiceInfo?:InvoiceInfo
}

export enum OrderStatusEnum {
	processing = "processing",
	completed = "completed",
	canceled = "canceled",
	refund = "refund"
}

export type PageModel = {
	__typename?: "PageModel",
	_id:string,
	organisationId?:string,
	createdAt:DateTime,
	updatedAt:DateTime,
	r:string[],
	w:string[],
	d:string[],
	title:string,
	label?:string,
	content?:JSONObject,
	position?:number,
	toComplete?:boolean
}

export type ParticipantModel = {
	__typename?: "ParticipantModel",
	_id:string,
	organisationId?:string,
	createdAt:DateTime,
	updatedAt:DateTime,
	r:string[],
	w:string[],
	d:string[],
	title:ParticipantTitle,
	firstName:string,
	lastName:string,
	company:string,
	function:string,
	email:string,
	phone:string,
	language:AvailableLanguage,
	eventId:string,
	productId:string,
	addedBy?:string,
	orderId?:string
}

export enum ParticipantTitle {
	ms = "ms",
	mrs = "mrs",
	mr = "mr"
}

export type PaymentInfo = {
	__typename?: "PaymentInfo",
	provider:PaymentProvider,
	transactionId:string
}

export enum PaymentProvider {
	stripe = "stripe",
	bancontact = "bancontact",
	bankWire = "bankWire"
}

export enum PaymentStatusEnum {
	pending = "pending",
	paid = "paid",
	free = "free"
}

export enum PermissionType {
	r = "r",
	w = "w",
	d = "d"
}

export enum ProductFormatEnum {
	default = "default",
	wallet = "wallet"
}

export type ProductModel = {
	__typename?: "ProductModel",
	_id:string,
	organisationId?:string,
	createdAt:DateTime,
	updatedAt:DateTime,
	r:string[],
	w:string[],
	d:string[],
	content?:TranslatableComponent,
	seo?:SEOField,
	urls?:TranslatableComponent,
	title?:TranslatableComponent,
	teaser?:TranslatableComponent,
	cover?:ImageComponent,
	thumbnail?:ImageComponent,
	published:boolean,
	publicationDate?:DateTime,
	private?:boolean,
	categoryIds?:string[],
	getCategories:CategoryModel[],
	downloadableRessources?:ImageComponent[],
	productFormat?:ProductFormatEnum,
	productType:ProductTypeEnum,
	extraImages?:ImageComponent[],
	validity?:DateTime,
	price:number,
	currency:string,
	finalPrice:number,
	stock?:number,
	sold?:number,
	currentPromo?:CurrentPromo,
	walletCredit?:number,
	comments?:CommentModel[],
	relatedProducts?:ProductModel[]
}

export enum ProductTypeEnum {
	tickets = "tickets"
}

export type ProjectSettingModel = {
	__typename?: "ProjectSettingModel",
	_id:string,
	organisationId?:string,
	createdAt:DateTime,
	updatedAt:DateTime,
	r:string[],
	w:string[],
	d:string[],
	type:SettingsType,
	key:string,
	value:string
}

export type PromoModel = {
	__typename?: "PromoModel",
	_id:string,
	organisationId?:string,
	createdAt:DateTime,
	updatedAt:DateTime,
	r:string[],
	w:string[],
	d:string[],
	code:string,
	description?:TranslatableComponent,
	type:PromoType,
	value:number,
	validity?:DateTime,
	cummulable:boolean,
	usageLimit?:number,
	usage:number
}

export enum PromoType {
	fixed = "fixed",
	percentage = "percentage"
}

export type Query = {
	__typename?: "Query",
	venuesGetOne:EventVenueModel,
	venuesGetMany:EventVenueModel[],
	speakersGetOne:EventSpeakerModel,
	speakersGetMany:EventSpeakerModel[],
	eventsGetOne:EventModel,
	eventsGetMany:EventModel[],
	partnersGetOne:EventPartnerModel,
	partnersGetMany:EventPartnerModel[],
	article:ArticleModel,
	articles:ArticleModel[],
	categoriesGetOne:CategoryModel,
	categoriesGetMany:CategoryModel[],
	author:AuthorModel,
	authors:AuthorModel[],
	promosGetOne:PromoModel,
	promosGetMany:PromoModel[],
	productsGetOne:ProductModel,
	productsGetMany:ProductModel[],
	ordersGetOne:OrderModel,
	ordersGetMany:OrderModel[],
	emailsSettingsGetOne:EmailSettingsModel,
	emailsSettingsGetMany:EmailSettingsModel[],
	pagesGetOne:PageModel,
	pagesGetMany:PageModel[],
	projectSettingsGetOne:ProjectSettingModel,
	projectSettingsGetMany:ProjectSettingModel[],
	ACFieldsGetAll:JSONObject,
	acSettingsGetOne:ACSettingsModel,
	acSettingsGetMany:ACSettingsModel[],
	me:AccountModel
}

export type ResetPasswordInput = {
		email:string
}

export enum RessourceEnum {
	products = "products",
	articles = "articles",
	events = "events"
}

export type SEOField = {
	__typename?: "SEOField",
	title:TranslatableComponent,
	description:TranslatableComponent,
	keywords:TranslatableComponent
}

export type SEOInput = {
		title:TranslatableInput,
	description:TranslatableInput,
	keywords:TranslatableInput
}

export enum SettingsType {
	emails = "emails",
	ac = "ac",
	env = "env",
	others = "others"
}

export type SimpleResult = {
	__typename?: "SimpleResult",
	message:string
}

export type TranslatableComponent = {
	__typename?: "TranslatableComponent",
	en?:string,
	fr?:string,
	nl?:string
}

export type TranslatableInput = {
		en?:string,
	fr?:string,
	nl?:string
}

export const AllTypesProps: Record<string,any> = {
	AccountGenderEnum: "enum",
	AccountTypeEnum: "enum",
	AddressInput:{
		number:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:false
		},
		street:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:false
		},
		streetBis:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:false
		},
		floor:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:false
		},
		zip:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:false
		},
		state:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:false
		},
		city:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:true
		},
		country:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:true
		}
	},
	ArticleModel:{
		comments:{
			pagination:{
				type:"GetArgs",
				array:false,
				arrayRequired:false,
				required:false
			}
		},
		relatedArticles:{
			_ids:{
				type:"String",
				array:true,
				arrayRequired:false,
				required:true
			},
			search:{
				type:"String",
				array:false,
				arrayRequired:false,
				required:false
			},
			pagination:{
				type:"GetArgs",
				array:false,
				arrayRequired:false,
				required:false
			},
			categories:{
				type:"String",
				array:true,
				arrayRequired:false,
				required:true
			}
		}
	},
	AvailableLanguage: "enum",
	CommentModelEnum: "enum",
	DateTime: "String",
	EditAccountInput:{
		userName:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:false
		},
		firstName:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:false
		},
		lastName:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:false
		},
		profilePicture:{
			type:"ImageInput",
			array:false,
			arrayRequired:false,
			required:false
		},
		phoneNumber:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:false
		},
		gender:{
			type:"AccountGenderEnum",
			array:false,
			arrayRequired:false,
			required:false
		},
		age:{
			type:"Int",
			array:false,
			arrayRequired:false,
			required:false
		},
		address:{
			type:"AddressInput",
			array:false,
			arrayRequired:false,
			required:false
		},
		language:{
			type:"AvailableLanguage",
			array:false,
			arrayRequired:false,
			required:false
		},
		company:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:false
		},
		vatNumber:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:false
		}
	},
	EditACSettingsInput:{
		fieldName:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:true
		},
		acFieldId:{
			type:"Float",
			array:false,
			arrayRequired:false,
			required:true
		},
		acFieldValueMap:{
			type:"JSONObject",
			array:false,
			arrayRequired:false,
			required:false
		},
		acFieldListMap:{
			type:"JSONObject",
			array:false,
			arrayRequired:false,
			required:false
		}
	},
	EditArticleInput:{
		content:{
			type:"TranslatableInput",
			array:false,
			arrayRequired:false,
			required:false
		},
		seo:{
			type:"SEOInput",
			array:false,
			arrayRequired:false,
			required:false
		},
		urls:{
			type:"TranslatableInput",
			array:false,
			arrayRequired:false,
			required:false
		},
		title:{
			type:"TranslatableInput",
			array:false,
			arrayRequired:false,
			required:false
		},
		teaser:{
			type:"TranslatableInput",
			array:false,
			arrayRequired:false,
			required:false
		},
		cover:{
			type:"ImageInput",
			array:false,
			arrayRequired:false,
			required:false
		},
		thumbnail:{
			type:"ImageInput",
			array:false,
			arrayRequired:false,
			required:false
		},
		categoryIds:{
			type:"String",
			array:true,
			arrayRequired:false,
			required:true
		},
		downloadableRessources:{
			type:"ImageInput",
			array:true,
			arrayRequired:false,
			required:true
		},
		private:{
			type:"Boolean",
			array:false,
			arrayRequired:false,
			required:false
		},
		authorId:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:false
		}
	},
	EditAuthorInput:{
		firstName:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:false
		},
		lastName:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:false
		},
		profilePicture:{
			type:"ImageInput",
			array:false,
			arrayRequired:false,
			required:false
		},
		bio:{
			type:"TranslatableInput",
			array:false,
			arrayRequired:false,
			required:false
		}
	},
	EditCategoryInput:{
		ressourceType:{
			type:"RessourceEnum",
			array:false,
			arrayRequired:false,
			required:true
		},
		title:{
			type:"TranslatableInput",
			array:false,
			arrayRequired:false,
			required:true
		},
		content:{
			type:"TranslatableInput",
			array:false,
			arrayRequired:false,
			required:false
		},
		colorCode:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:false
		}
	},
	EditEmailSettingsInput:{
		subject:{
			type:"TranslatableInput",
			array:false,
			arrayRequired:false,
			required:false
		},
		body:{
			type:"TranslatableInput",
			array:false,
			arrayRequired:false,
			required:false
		},
		custom:{
			type:"Boolean",
			array:false,
			arrayRequired:false,
			required:false
		},
		templateId:{
			type:"TranslatableInput",
			array:false,
			arrayRequired:false,
			required:true
		},
		fromEmail:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:true
		},
		fromName:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:true
		},
		replyToEmail:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:true
		},
		cci:{
			type:"String",
			array:true,
			arrayRequired:false,
			required:true
		}
	},
	EditEventInput:{
		content:{
			type:"TranslatableInput",
			array:false,
			arrayRequired:false,
			required:false
		},
		seo:{
			type:"SEOInput",
			array:false,
			arrayRequired:false,
			required:false
		},
		urls:{
			type:"TranslatableInput",
			array:false,
			arrayRequired:false,
			required:false
		},
		title:{
			type:"TranslatableInput",
			array:false,
			arrayRequired:false,
			required:false
		},
		teaser:{
			type:"TranslatableInput",
			array:false,
			arrayRequired:false,
			required:false
		},
		cover:{
			type:"ImageInput",
			array:false,
			arrayRequired:false,
			required:false
		},
		thumbnail:{
			type:"ImageInput",
			array:false,
			arrayRequired:false,
			required:false
		},
		categoryIds:{
			type:"String",
			array:true,
			arrayRequired:false,
			required:true
		},
		downloadableRessources:{
			type:"ImageInput",
			array:true,
			arrayRequired:false,
			required:true
		},
		private:{
			type:"Boolean",
			array:false,
			arrayRequired:false,
			required:false
		},
		type:{
			type:"EventType",
			array:false,
			arrayRequired:false,
			required:false
		},
		format:{
			type:"EventCategory",
			array:false,
			arrayRequired:false,
			required:false
		},
		startDate:{
			type:"DateTime",
			array:false,
			arrayRequired:false,
			required:false
		},
		endDate:{
			type:"DateTime",
			array:false,
			arrayRequired:false,
			required:false
		},
		testimonials:{
			type:"TranslatableInput",
			array:false,
			arrayRequired:false,
			required:false
		},
		marketingInfo:{
			type:"EventMarketingInfo",
			array:false,
			arrayRequired:false,
			required:false
		},
		language:{
			type:"AvailableLanguage",
			array:false,
			arrayRequired:false,
			required:false
		},
		venueId:{
			type:"ID",
			array:false,
			arrayRequired:false,
			required:false
		},
		partnerIds:{
			type:"String",
			array:true,
			arrayRequired:false,
			required:true
		},
		speakerIds:{
			type:"String",
			array:true,
			arrayRequired:false,
			required:true
		},
		ticketIds:{
			type:"String",
			array:true,
			arrayRequired:false,
			required:true
		},
		supports:{
			type:"ImageInput",
			array:false,
			arrayRequired:false,
			required:false
		}
	},
	EditPageInput:{
		title:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:false
		},
		label:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:false
		},
		content:{
			type:"JSONObject",
			array:false,
			arrayRequired:false,
			required:false
		},
		position:{
			type:"Int",
			array:false,
			arrayRequired:false,
			required:false
		},
		toComplete:{
			type:"Boolean",
			array:false,
			arrayRequired:false,
			required:false
		}
	},
	EditPartnerInput:{
		name:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:false
		},
		websiteUrl:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:false
		},
		linkedinUrl:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:false
		},
		image:{
			type:"ImageInput",
			array:false,
			arrayRequired:false,
			required:false
		},
		bio:{
			type:"TranslatableInput",
			array:false,
			arrayRequired:false,
			required:false
		}
	},
	EditProductInput:{
		content:{
			type:"TranslatableInput",
			array:false,
			arrayRequired:false,
			required:false
		},
		seo:{
			type:"SEOInput",
			array:false,
			arrayRequired:false,
			required:false
		},
		urls:{
			type:"TranslatableInput",
			array:false,
			arrayRequired:false,
			required:false
		},
		title:{
			type:"TranslatableInput",
			array:false,
			arrayRequired:false,
			required:false
		},
		teaser:{
			type:"TranslatableInput",
			array:false,
			arrayRequired:false,
			required:false
		},
		cover:{
			type:"ImageInput",
			array:false,
			arrayRequired:false,
			required:false
		},
		thumbnail:{
			type:"ImageInput",
			array:false,
			arrayRequired:false,
			required:false
		},
		categoryIds:{
			type:"String",
			array:true,
			arrayRequired:false,
			required:true
		},
		downloadableRessources:{
			type:"ImageInput",
			array:true,
			arrayRequired:false,
			required:true
		},
		private:{
			type:"Boolean",
			array:false,
			arrayRequired:false,
			required:false
		},
		price:{
			type:"Float",
			array:false,
			arrayRequired:false,
			required:false
		},
		validity:{
			type:"DateTime",
			array:false,
			arrayRequired:false,
			required:false
		},
		currency:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:false
		},
		stock:{
			type:"Int",
			array:false,
			arrayRequired:false,
			required:false
		},
		extraImages:{
			type:"ImageInput",
			array:true,
			arrayRequired:false,
			required:true
		},
		walletCredit:{
			type:"Int",
			array:false,
			arrayRequired:false,
			required:false
		}
	},
	EditProjectSettingsInput:{
		value:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:false
		}
	},
	EditPromoInput:{
		code:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:false
		},
		description:{
			type:"TranslatableInput",
			array:false,
			arrayRequired:false,
			required:false
		},
		type:{
			type:"PromoType",
			array:false,
			arrayRequired:false,
			required:false
		},
		value:{
			type:"Float",
			array:false,
			arrayRequired:false,
			required:false
		},
		cummulable:{
			type:"Boolean",
			array:false,
			arrayRequired:false,
			required:false
		},
		validity:{
			type:"DateTime",
			array:false,
			arrayRequired:false,
			required:false
		},
		usageLimit:{
			type:"Float",
			array:false,
			arrayRequired:false,
			required:false
		}
	},
	EditSpeakerInput:{
		content:{
			type:"TranslatableInput",
			array:false,
			arrayRequired:false,
			required:false
		},
		seo:{
			type:"SEOInput",
			array:false,
			arrayRequired:false,
			required:false
		},
		urls:{
			type:"TranslatableInput",
			array:false,
			arrayRequired:false,
			required:false
		},
		firstName:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:false
		},
		lastName:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:false
		},
		profilePicture:{
			type:"ImageInput",
			array:false,
			arrayRequired:false,
			required:false
		},
		website:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:false
		},
		linkedIn:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:false
		},
		jobTitle:{
			type:"TranslatableInput",
			array:false,
			arrayRequired:false,
			required:false
		},
		companyName:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:false
		}
	},
	EditVenueInput:{
		address:{
			type:"AddressInput",
			array:false,
			arrayRequired:false,
			required:false
		},
		name:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:false
		}
	},
	EventCategory: "enum",
	EventMarketingInfo:{
		platform:{
			type:"MarketingPlatform",
			array:false,
			arrayRequired:false,
			required:true
		},
		participantListId:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:true
		},
		downloadRessourcesListId:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:false
		}
	},
	EventType: "enum",
	GetArgs:{
		limit:{
			type:"Int",
			array:false,
			arrayRequired:false,
			required:false
		},
		skip:{
			type:"Int",
			array:false,
			arrayRequired:false,
			required:false
		},
		sort:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:false
		}
	},
	ImageInput:{
		large:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:true
		},
		medium:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:false
		},
		small:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:false
		}
	},
	InvoicingProvider: "enum",
	JSONObject: "String",
	MarketingPlatform: "enum",
	Mutation:{
		venuesAddOne:{
			input:{
				type:"NewVenueInput",
				array:false,
				arrayRequired:false,
				required:true
			}
		},
		venuesEditOne:{
			input:{
				type:"EditVenueInput",
				array:false,
				arrayRequired:false,
				required:true
			},
			id:{
				type:"String",
				array:false,
				arrayRequired:false,
				required:true
			}
		},
		venuesDeleteOne:{
			id:{
				type:"String",
				array:false,
				arrayRequired:false,
				required:true
			}
		},
		speakersAddOne:{
			input:{
				type:"NewSpeakerInput",
				array:false,
				arrayRequired:false,
				required:true
			}
		},
		speakersEditOne:{
			input:{
				type:"EditSpeakerInput",
				array:false,
				arrayRequired:false,
				required:true
			},
			id:{
				type:"String",
				array:false,
				arrayRequired:false,
				required:true
			}
		},
		speakersDeleteOne:{
			id:{
				type:"String",
				array:false,
				arrayRequired:false,
				required:true
			}
		},
		eventsAddOne:{
			input:{
				type:"NewEventInput",
				array:false,
				arrayRequired:false,
				required:true
			}
		},
		eventsEditOne:{
			input:{
				type:"EditEventInput",
				array:false,
				arrayRequired:false,
				required:true
			},
			id:{
				type:"String",
				array:false,
				arrayRequired:false,
				required:true
			}
		},
		eventsDeleteOne:{
			id:{
				type:"String",
				array:false,
				arrayRequired:false,
				required:true
			}
		},
		eventsPublish:{
			id:{
				type:"String",
				array:false,
				arrayRequired:false,
				required:true
			}
		},
		eventsUnpublish:{
			id:{
				type:"String",
				array:false,
				arrayRequired:false,
				required:true
			}
		},
		eventsPermissionsAddOne:{
			input:{
				type:"NewPermissionInput",
				array:false,
				arrayRequired:false,
				required:true
			},
			id:{
				type:"String",
				array:false,
				arrayRequired:false,
				required:true
			}
		},
		eventsPermissionsRemoveOne:{
			input:{
				type:"NewPermissionInput",
				array:false,
				arrayRequired:false,
				required:true
			},
			id:{
				type:"String",
				array:false,
				arrayRequired:false,
				required:true
			}
		},
		partnersAddOne:{
			input:{
				type:"NewPartnerInput",
				array:false,
				arrayRequired:false,
				required:true
			}
		},
		partnersEditOne:{
			input:{
				type:"EditPartnerInput",
				array:false,
				arrayRequired:false,
				required:true
			},
			id:{
				type:"String",
				array:false,
				arrayRequired:false,
				required:true
			}
		},
		partnersDeleteOne:{
			id:{
				type:"String",
				array:false,
				arrayRequired:false,
				required:true
			}
		},
		articleCreateOne:{
			input:{
				type:"NewArticleInput",
				array:false,
				arrayRequired:false,
				required:true
			}
		},
		articleEditOne:{
			input:{
				type:"EditArticleInput",
				array:false,
				arrayRequired:false,
				required:true
			},
			id:{
				type:"String",
				array:false,
				arrayRequired:false,
				required:true
			}
		},
		articleDeleteOne:{
			id:{
				type:"String",
				array:false,
				arrayRequired:false,
				required:true
			}
		},
		articlePublish:{
			id:{
				type:"String",
				array:false,
				arrayRequired:false,
				required:true
			}
		},
		articleUnpublish:{
			id:{
				type:"String",
				array:false,
				arrayRequired:false,
				required:true
			}
		},
		articlePermissionsAddOne:{
			input:{
				type:"NewPermissionInput",
				array:false,
				arrayRequired:false,
				required:true
			},
			id:{
				type:"String",
				array:false,
				arrayRequired:false,
				required:true
			}
		},
		articlePermissionsRemoveOne:{
			input:{
				type:"NewPermissionInput",
				array:false,
				arrayRequired:false,
				required:true
			},
			id:{
				type:"String",
				array:false,
				arrayRequired:false,
				required:true
			}
		},
		categoriesAddOne:{
			input:{
				type:"NewCategoryInput",
				array:false,
				arrayRequired:false,
				required:true
			}
		},
		categoriesEditOne:{
			input:{
				type:"EditCategoryInput",
				array:false,
				arrayRequired:false,
				required:true
			},
			id:{
				type:"String",
				array:false,
				arrayRequired:false,
				required:true
			}
		},
		categoriesDeleteOne:{
			id:{
				type:"String",
				array:false,
				arrayRequired:false,
				required:true
			}
		},
		addAuthor:{
			input:{
				type:"NewAuthorInput",
				array:false,
				arrayRequired:false,
				required:true
			}
		},
		editAuthor:{
			input:{
				type:"EditAuthorInput",
				array:false,
				arrayRequired:false,
				required:true
			},
			id:{
				type:"String",
				array:false,
				arrayRequired:false,
				required:true
			}
		},
		promosAddOne:{
			input:{
				type:"NewPromoInput",
				array:false,
				arrayRequired:false,
				required:true
			}
		},
		promosEditOne:{
			input:{
				type:"EditPromoInput",
				array:false,
				arrayRequired:false,
				required:true
			},
			id:{
				type:"String",
				array:false,
				arrayRequired:false,
				required:true
			}
		},
		promosDeleteOne:{
			id:{
				type:"String",
				array:false,
				arrayRequired:false,
				required:true
			}
		},
		addOne:{
			input:{
				type:"NewPromoInput",
				array:false,
				arrayRequired:false,
				required:true
			}
		},
		editOne:{
			input:{
				type:"EditPromoInput",
				array:false,
				arrayRequired:false,
				required:true
			},
			id:{
				type:"String",
				array:false,
				arrayRequired:false,
				required:true
			}
		},
		productsAddOne:{
			input:{
				type:"NewProductInput",
				array:false,
				arrayRequired:false,
				required:true
			}
		},
		productsEditOne:{
			input:{
				type:"EditProductInput",
				array:false,
				arrayRequired:false,
				required:true
			},
			id:{
				type:"String",
				array:false,
				arrayRequired:false,
				required:true
			}
		},
		productsDeleteOne:{
			id:{
				type:"String",
				array:false,
				arrayRequired:false,
				required:true
			}
		},
		ordersMarkOneAsPaid:{
			id:{
				type:"String",
				array:false,
				arrayRequired:false,
				required:true
			}
		},
		ordersMarkOneAsUnPaid:{
			id:{
				type:"String",
				array:false,
				arrayRequired:false,
				required:true
			}
		},
		ordersCancelOne:{
			id:{
				type:"String",
				array:false,
				arrayRequired:false,
				required:true
			}
		},
		ordersReimburseOne:{
			orderId:{
				type:"String",
				array:false,
				arrayRequired:false,
				required:true
			}
		},
		emailsSettingsAddOne:{
			input:{
				type:"NewEmailSettingsInput",
				array:false,
				arrayRequired:false,
				required:true
			}
		},
		emailsSettingsEditOne:{
			input:{
				type:"EditEmailSettingsInput",
				array:false,
				arrayRequired:false,
				required:true
			},
			id:{
				type:"String",
				array:false,
				arrayRequired:false,
				required:true
			}
		},
		emailsSettingsDeleteOne:{
			id:{
				type:"String",
				array:false,
				arrayRequired:false,
				required:true
			}
		},
		pagesAddOne:{
			input:{
				type:"NewPageInput",
				array:false,
				arrayRequired:false,
				required:true
			}
		},
		pagesEditOne:{
			input:{
				type:"EditPageInput",
				array:false,
				arrayRequired:false,
				required:true
			},
			id:{
				type:"String",
				array:false,
				arrayRequired:false,
				required:true
			}
		},
		pagesDeleteOne:{
			id:{
				type:"String",
				array:false,
				arrayRequired:false,
				required:true
			}
		},
		projectSettingsAddOne:{
			input:{
				type:"NewProjectSettingsInput",
				array:false,
				arrayRequired:false,
				required:true
			}
		},
		projectSettingsEditOne:{
			input:{
				type:"EditProjectSettingsInput",
				array:false,
				arrayRequired:false,
				required:true
			},
			id:{
				type:"String",
				array:false,
				arrayRequired:false,
				required:true
			}
		},
		projectSettingsDeleteOne:{
			id:{
				type:"String",
				array:false,
				arrayRequired:false,
				required:true
			}
		},
		acSettingsAddOne:{
			input:{
				type:"NewACSettingsInput",
				array:false,
				arrayRequired:false,
				required:true
			}
		},
		acSettingsEditOne:{
			input:{
				type:"EditACSettingsInput",
				array:false,
				arrayRequired:false,
				required:true
			},
			id:{
				type:"String",
				array:false,
				arrayRequired:false,
				required:true
			}
		},
		acSettingsDeleteOne:{
			id:{
				type:"String",
				array:false,
				arrayRequired:false,
				required:true
			}
		},
		updateMe:{
			input:{
				type:"EditAccountInput",
				array:false,
				arrayRequired:false,
				required:true
			}
		},
		updateMeEmail:{
			input:{
				type:"NewEmailInput",
				array:false,
				arrayRequired:false,
				required:true
			}
		},
		updateMePassword:{
			input:{
				type:"NewPasswordInput",
				array:false,
				arrayRequired:false,
				required:true
			}
		},
		resetPassword:{
			input:{
				type:"ResetPasswordInput",
				array:false,
				arrayRequired:false,
				required:true
			}
		}
	},
	NewACSettingsInput:{
		fieldName:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:true
		},
		acFieldId:{
			type:"Float",
			array:false,
			arrayRequired:false,
			required:true
		},
		acFieldValueMap:{
			type:"JSONObject",
			array:false,
			arrayRequired:false,
			required:false
		},
		acFieldListMap:{
			type:"JSONObject",
			array:false,
			arrayRequired:false,
			required:false
		}
	},
	NewArticleInput:{
		content:{
			type:"TranslatableInput",
			array:false,
			arrayRequired:false,
			required:false
		},
		seo:{
			type:"SEOInput",
			array:false,
			arrayRequired:false,
			required:false
		},
		urls:{
			type:"TranslatableInput",
			array:false,
			arrayRequired:false,
			required:false
		},
		title:{
			type:"TranslatableInput",
			array:false,
			arrayRequired:false,
			required:false
		},
		teaser:{
			type:"TranslatableInput",
			array:false,
			arrayRequired:false,
			required:false
		},
		cover:{
			type:"ImageInput",
			array:false,
			arrayRequired:false,
			required:false
		},
		thumbnail:{
			type:"ImageInput",
			array:false,
			arrayRequired:false,
			required:false
		},
		categoryIds:{
			type:"String",
			array:true,
			arrayRequired:false,
			required:true
		},
		downloadableRessources:{
			type:"ImageInput",
			array:true,
			arrayRequired:false,
			required:true
		},
		private:{
			type:"Boolean",
			array:false,
			arrayRequired:false,
			required:false
		},
		authorId:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:false
		}
	},
	NewAuthorInput:{
		email:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:true
		},
		firstName:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:true
		},
		lastName:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:true
		},
		password:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:true
		},
		passwordConfirmation:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:true
		},
		profilePicture:{
			type:"ImageInput",
			array:false,
			arrayRequired:false,
			required:true
		},
		bio:{
			type:"TranslatableInput",
			array:false,
			arrayRequired:false,
			required:false
		}
	},
	NewCategoryInput:{
		ressourceType:{
			type:"RessourceEnum",
			array:false,
			arrayRequired:false,
			required:true
		},
		title:{
			type:"TranslatableInput",
			array:false,
			arrayRequired:false,
			required:true
		},
		content:{
			type:"TranslatableInput",
			array:false,
			arrayRequired:false,
			required:false
		},
		colorCode:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:false
		}
	},
	NewEmailInput:{
		newEmail:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:true
		}
	},
	NewEmailSettingsInput:{
		subject:{
			type:"TranslatableInput",
			array:false,
			arrayRequired:false,
			required:false
		},
		body:{
			type:"TranslatableInput",
			array:false,
			arrayRequired:false,
			required:false
		},
		key:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:true
		},
		custom:{
			type:"Boolean",
			array:false,
			arrayRequired:false,
			required:false
		},
		templateId:{
			type:"TranslatableInput",
			array:false,
			arrayRequired:false,
			required:true
		},
		fromEmail:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:true
		},
		fromName:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:true
		},
		replyToEmail:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:true
		},
		cci:{
			type:"String",
			array:true,
			arrayRequired:false,
			required:true
		}
	},
	NewEventInput:{
		content:{
			type:"TranslatableInput",
			array:false,
			arrayRequired:false,
			required:false
		},
		seo:{
			type:"SEOInput",
			array:false,
			arrayRequired:false,
			required:false
		},
		urls:{
			type:"TranslatableInput",
			array:false,
			arrayRequired:false,
			required:false
		},
		title:{
			type:"TranslatableInput",
			array:false,
			arrayRequired:false,
			required:false
		},
		teaser:{
			type:"TranslatableInput",
			array:false,
			arrayRequired:false,
			required:false
		},
		cover:{
			type:"ImageInput",
			array:false,
			arrayRequired:false,
			required:false
		},
		thumbnail:{
			type:"ImageInput",
			array:false,
			arrayRequired:false,
			required:false
		},
		categoryIds:{
			type:"String",
			array:true,
			arrayRequired:false,
			required:true
		},
		downloadableRessources:{
			type:"ImageInput",
			array:true,
			arrayRequired:false,
			required:true
		},
		private:{
			type:"Boolean",
			array:false,
			arrayRequired:false,
			required:false
		},
		type:{
			type:"EventType",
			array:false,
			arrayRequired:false,
			required:false
		},
		format:{
			type:"EventCategory",
			array:false,
			arrayRequired:false,
			required:false
		},
		startDate:{
			type:"DateTime",
			array:false,
			arrayRequired:false,
			required:false
		},
		endDate:{
			type:"DateTime",
			array:false,
			arrayRequired:false,
			required:false
		},
		testimonials:{
			type:"TranslatableInput",
			array:false,
			arrayRequired:false,
			required:false
		},
		marketingInfo:{
			type:"EventMarketingInfo",
			array:false,
			arrayRequired:false,
			required:false
		},
		language:{
			type:"AvailableLanguage",
			array:false,
			arrayRequired:false,
			required:false
		},
		venueId:{
			type:"ID",
			array:false,
			arrayRequired:false,
			required:false
		},
		partnerIds:{
			type:"String",
			array:true,
			arrayRequired:false,
			required:true
		},
		speakerIds:{
			type:"String",
			array:true,
			arrayRequired:false,
			required:true
		},
		ticketIds:{
			type:"String",
			array:true,
			arrayRequired:false,
			required:true
		},
		supports:{
			type:"ImageInput",
			array:false,
			arrayRequired:false,
			required:false
		}
	},
	NewPageInput:{
		title:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:true
		},
		label:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:false
		},
		content:{
			type:"JSONObject",
			array:false,
			arrayRequired:false,
			required:false
		},
		position:{
			type:"Int",
			array:false,
			arrayRequired:false,
			required:false
		},
		toComplete:{
			type:"Boolean",
			array:false,
			arrayRequired:false,
			required:false
		}
	},
	NewPartnerInput:{
		name:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:true
		},
		websiteUrl:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:false
		},
		linkedinUrl:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:false
		},
		image:{
			type:"ImageInput",
			array:false,
			arrayRequired:false,
			required:false
		},
		bio:{
			type:"TranslatableInput",
			array:false,
			arrayRequired:false,
			required:false
		}
	},
	NewPasswordInput:{
		newPassword:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:true
		},
		newPasswordConfirmation:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:true
		}
	},
	NewPermissionInput:{
		permissionType:{
			type:"PermissionType",
			array:false,
			arrayRequired:false,
			required:true
		},
		permission:{
			type:"AccountTypeEnum",
			array:false,
			arrayRequired:false,
			required:true
		}
	},
	NewProductInput:{
		content:{
			type:"TranslatableInput",
			array:false,
			arrayRequired:false,
			required:false
		},
		seo:{
			type:"SEOInput",
			array:false,
			arrayRequired:false,
			required:false
		},
		urls:{
			type:"TranslatableInput",
			array:false,
			arrayRequired:false,
			required:false
		},
		title:{
			type:"TranslatableInput",
			array:false,
			arrayRequired:false,
			required:false
		},
		teaser:{
			type:"TranslatableInput",
			array:false,
			arrayRequired:false,
			required:false
		},
		cover:{
			type:"ImageInput",
			array:false,
			arrayRequired:false,
			required:false
		},
		thumbnail:{
			type:"ImageInput",
			array:false,
			arrayRequired:false,
			required:false
		},
		categoryIds:{
			type:"String",
			array:true,
			arrayRequired:false,
			required:true
		},
		downloadableRessources:{
			type:"ImageInput",
			array:true,
			arrayRequired:false,
			required:true
		},
		private:{
			type:"Boolean",
			array:false,
			arrayRequired:false,
			required:false
		},
		productFormat:{
			type:"ProductFormatEnum",
			array:false,
			arrayRequired:false,
			required:false
		},
		productType:{
			type:"ProductTypeEnum",
			array:false,
			arrayRequired:false,
			required:true
		},
		price:{
			type:"Float",
			array:false,
			arrayRequired:false,
			required:true
		},
		validity:{
			type:"DateTime",
			array:false,
			arrayRequired:false,
			required:false
		},
		currency:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:true
		},
		stock:{
			type:"Int",
			array:false,
			arrayRequired:false,
			required:false
		},
		walletCredit:{
			type:"Int",
			array:false,
			arrayRequired:false,
			required:false
		},
		extraImages:{
			type:"ImageInput",
			array:true,
			arrayRequired:false,
			required:true
		}
	},
	NewProjectSettingsInput:{
		key:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:true
		},
		value:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:true
		}
	},
	NewPromoInput:{
		code:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:true
		},
		description:{
			type:"TranslatableInput",
			array:false,
			arrayRequired:false,
			required:false
		},
		type:{
			type:"PromoType",
			array:false,
			arrayRequired:false,
			required:true
		},
		value:{
			type:"Float",
			array:false,
			arrayRequired:false,
			required:true
		},
		cummulable:{
			type:"Boolean",
			array:false,
			arrayRequired:false,
			required:true
		},
		validity:{
			type:"DateTime",
			array:false,
			arrayRequired:false,
			required:false
		},
		usageLimit:{
			type:"Float",
			array:false,
			arrayRequired:false,
			required:false
		}
	},
	NewSpeakerInput:{
		content:{
			type:"TranslatableInput",
			array:false,
			arrayRequired:false,
			required:false
		},
		seo:{
			type:"SEOInput",
			array:false,
			arrayRequired:false,
			required:false
		},
		urls:{
			type:"TranslatableInput",
			array:false,
			arrayRequired:false,
			required:false
		},
		firstName:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:true
		},
		lastName:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:true
		},
		profilePicture:{
			type:"ImageInput",
			array:false,
			arrayRequired:false,
			required:false
		},
		website:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:false
		},
		linkedIn:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:false
		},
		jobTitle:{
			type:"TranslatableInput",
			array:false,
			arrayRequired:false,
			required:false
		},
		companyName:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:false
		}
	},
	NewVenueInput:{
		address:{
			type:"AddressInput",
			array:false,
			arrayRequired:false,
			required:true
		},
		name:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:true
		}
	},
	OrderStatusEnum: "enum",
	ParticipantTitle: "enum",
	PaymentProvider: "enum",
	PaymentStatusEnum: "enum",
	PermissionType: "enum",
	ProductFormatEnum: "enum",
	ProductModel:{
		comments:{
			pagination:{
				type:"GetArgs",
				array:false,
				arrayRequired:false,
				required:false
			}
		}
	},
	ProductTypeEnum: "enum",
	PromoType: "enum",
	Query:{
		venuesGetOne:{
			id:{
				type:"String",
				array:false,
				arrayRequired:false,
				required:true
			}
		},
		venuesGetMany:{
			search:{
				type:"String",
				array:false,
				arrayRequired:false,
				required:false
			},
			pagination:{
				type:"GetArgs",
				array:false,
				arrayRequired:false,
				required:false
			}
		},
		speakersGetOne:{
			id:{
				type:"String",
				array:false,
				arrayRequired:false,
				required:true
			}
		},
		speakersGetMany:{
			search:{
				type:"String",
				array:false,
				arrayRequired:false,
				required:false
			},
			pagination:{
				type:"GetArgs",
				array:false,
				arrayRequired:false,
				required:false
			}
		},
		eventsGetOne:{
			id:{
				type:"String",
				array:false,
				arrayRequired:false,
				required:true
			}
		},
		eventsGetMany:{
			_ids:{
				type:"String",
				array:true,
				arrayRequired:false,
				required:true
			},
			search:{
				type:"String",
				array:false,
				arrayRequired:false,
				required:false
			},
			pagination:{
				type:"GetArgs",
				array:false,
				arrayRequired:false,
				required:false
			},
			venueId:{
				type:"String",
				array:false,
				arrayRequired:false,
				required:false
			},
			speakerIds:{
				type:"String",
				array:true,
				arrayRequired:false,
				required:true
			},
			partnerIds:{
				type:"String",
				array:true,
				arrayRequired:false,
				required:true
			}
		},
		partnersGetOne:{
			id:{
				type:"String",
				array:false,
				arrayRequired:false,
				required:true
			}
		},
		partnersGetMany:{
			search:{
				type:"String",
				array:false,
				arrayRequired:false,
				required:false
			},
			pagination:{
				type:"GetArgs",
				array:false,
				arrayRequired:false,
				required:false
			}
		},
		article:{
			id:{
				type:"String",
				array:false,
				arrayRequired:false,
				required:true
			}
		},
		articles:{
			_ids:{
				type:"String",
				array:true,
				arrayRequired:false,
				required:true
			},
			search:{
				type:"String",
				array:false,
				arrayRequired:false,
				required:false
			},
			pagination:{
				type:"GetArgs",
				array:false,
				arrayRequired:false,
				required:false
			},
			categories:{
				type:"String",
				array:true,
				arrayRequired:false,
				required:true
			}
		},
		categoriesGetOne:{
			id:{
				type:"String",
				array:false,
				arrayRequired:false,
				required:true
			}
		},
		categoriesGetMany:{
			search:{
				type:"String",
				array:false,
				arrayRequired:false,
				required:false
			},
			ressourceType:{
				type:"RessourceEnum",
				array:false,
				arrayRequired:false,
				required:true
			},
			pagination:{
				type:"GetArgs",
				array:false,
				arrayRequired:false,
				required:false
			}
		},
		author:{
			id:{
				type:"String",
				array:false,
				arrayRequired:false,
				required:true
			}
		},
		authors:{
			_ids:{
				type:"String",
				array:true,
				arrayRequired:false,
				required:true
			},
			search:{
				type:"String",
				array:false,
				arrayRequired:false,
				required:false
			},
			pagination:{
				type:"GetArgs",
				array:false,
				arrayRequired:false,
				required:false
			}
		},
		promosGetOne:{
			id:{
				type:"String",
				array:false,
				arrayRequired:false,
				required:true
			}
		},
		promosGetMany:{
			pagination:{
				type:"GetArgs",
				array:false,
				arrayRequired:false,
				required:false
			},
			search:{
				type:"String",
				array:false,
				arrayRequired:false,
				required:false
			}
		},
		productsGetOne:{
			id:{
				type:"String",
				array:false,
				arrayRequired:false,
				required:true
			}
		},
		productsGetMany:{
			_ids:{
				type:"String",
				array:true,
				arrayRequired:false,
				required:true
			},
			search:{
				type:"String",
				array:false,
				arrayRequired:false,
				required:false
			},
			pagination:{
				type:"GetArgs",
				array:false,
				arrayRequired:false,
				required:false
			},
			productType:{
				type:"ProductTypeEnum",
				array:false,
				arrayRequired:false,
				required:true
			},
			categoryIds:{
				type:"String",
				array:true,
				arrayRequired:false,
				required:true
			}
		},
		ordersGetOne:{
			id:{
				type:"String",
				array:false,
				arrayRequired:false,
				required:true
			}
		},
		ordersGetMany:{
			orderStatus:{
				type:"OrderStatusEnum",
				array:false,
				arrayRequired:false,
				required:true
			},
			paymentStatus:{
				type:"PaymentStatusEnum",
				array:false,
				arrayRequired:false,
				required:false
			},
			pagination:{
				type:"GetArgs",
				array:false,
				arrayRequired:false,
				required:false
			}
		},
		emailsSettingsGetOne:{
			id:{
				type:"String",
				array:false,
				arrayRequired:false,
				required:true
			}
		},
		emailsSettingsGetMany:{
			search:{
				type:"String",
				array:false,
				arrayRequired:false,
				required:false
			},
			pagination:{
				type:"GetArgs",
				array:false,
				arrayRequired:false,
				required:false
			}
		},
		pagesGetOne:{
			id:{
				type:"String",
				array:false,
				arrayRequired:false,
				required:true
			}
		},
		pagesGetMany:{
			pagination:{
				type:"GetArgs",
				array:false,
				arrayRequired:false,
				required:false
			}
		},
		projectSettingsGetOne:{
			id:{
				type:"String",
				array:false,
				arrayRequired:false,
				required:true
			}
		},
		projectSettingsGetMany:{
			_ids:{
				type:"String",
				array:true,
				arrayRequired:false,
				required:true
			},
			search:{
				type:"String",
				array:false,
				arrayRequired:false,
				required:false
			},
			pagination:{
				type:"GetArgs",
				array:false,
				arrayRequired:false,
				required:false
			}
		},
		acSettingsGetOne:{
			id:{
				type:"String",
				array:false,
				arrayRequired:false,
				required:true
			}
		},
		acSettingsGetMany:{
			_ids:{
				type:"String",
				array:true,
				arrayRequired:false,
				required:true
			},
			search:{
				type:"String",
				array:false,
				arrayRequired:false,
				required:false
			},
			pagination:{
				type:"GetArgs",
				array:false,
				arrayRequired:false,
				required:false
			}
		}
	},
	ResetPasswordInput:{
		email:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:true
		}
	},
	RessourceEnum: "enum",
	SEOInput:{
		title:{
			type:"TranslatableInput",
			array:false,
			arrayRequired:false,
			required:true
		},
		description:{
			type:"TranslatableInput",
			array:false,
			arrayRequired:false,
			required:true
		},
		keywords:{
			type:"TranslatableInput",
			array:false,
			arrayRequired:false,
			required:true
		}
	},
	SettingsType: "enum",
	TranslatableInput:{
		en:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:false
		},
		fr:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:false
		},
		nl:{
			type:"String",
			array:false,
			arrayRequired:false,
			required:false
		}
	}
}

export const ReturnTypes: Record<string,any> = {
	AccountModel:{
		_id:"ID",
		organisationId:"ID",
		createdAt:"DateTime",
		updatedAt:"DateTime",
		r:"String",
		w:"String",
		d:"String",
		types:"AccountTypeEnum",
		organisationIds:"String",
		email:"String",
		userName:"String",
		firstName:"String",
		lastName:"String",
		profilePicture:"ImageComponent",
		phoneNumber:"String",
		gender:"AccountGenderEnum",
		age:"Int",
		address:"AddressComponent",
		language:"AvailableLanguage",
		company:"String",
		vatNumber:"String",
		walletCredit:"Int",
		companyId:"String"
	},
	ACSettingsModel:{
		_id:"ID",
		organisationId:"ID",
		createdAt:"DateTime",
		updatedAt:"DateTime",
		r:"String",
		w:"String",
		d:"String",
		type:"SettingsType",
		fieldName:"String",
		acFieldId:"Float",
		acFieldValueMap:"JSONObject",
		acFieldListMap:"JSONObject"
	},
	AddressComponent:{
		number:"String",
		street:"String",
		streetBis:"String",
		floor:"String",
		zip:"String",
		state:"String",
		city:"String",
		country:"String"
	},
	ArticleModel:{
		_id:"ID",
		organisationId:"ID",
		createdAt:"DateTime",
		updatedAt:"DateTime",
		r:"String",
		w:"String",
		d:"String",
		content:"TranslatableComponent",
		seo:"SEOField",
		urls:"TranslatableComponent",
		title:"TranslatableComponent",
		teaser:"TranslatableComponent",
		cover:"ImageComponent",
		thumbnail:"ImageComponent",
		published:"Boolean",
		publicationDate:"DateTime",
		private:"Boolean",
		categoryIds:"String",
		getCategories:"CategoryModel",
		downloadableRessources:"ImageComponent",
		authorId:"String",
		getAuthor:"AuthorModel",
		comments:"CommentModel",
		relatedArticles:"ArticleModel",
		index:"String",
		viewsCount:"Int"
	},
	AuthorModel:{
		_id:"ID",
		organisationId:"ID",
		createdAt:"DateTime",
		updatedAt:"DateTime",
		r:"String",
		w:"String",
		d:"String",
		types:"AccountTypeEnum",
		organisationIds:"String",
		email:"String",
		userName:"String",
		firstName:"String",
		lastName:"String",
		profilePicture:"ImageComponent",
		phoneNumber:"String",
		gender:"AccountGenderEnum",
		age:"Int",
		address:"AddressComponent",
		language:"AvailableLanguage",
		bio:"TranslatableComponent"
	},
	BuyerInfoComponent:{
		firstName:"String",
		lastName:"String",
		email:"String",
		company:"String",
		vatNumber:"String",
		address:"AddressComponent"
	},
	CartModel:{
		_id:"ID",
		organisationId:"ID",
		createdAt:"DateTime",
		updatedAt:"DateTime",
		r:"String",
		w:"String",
		d:"String",
		accountId:"String",
		promoId:"ID",
		lines:"LineItem",
		totalPrice:"Float",
		finalPrice:"Float",
		account:"AccountModel",
		promo:"PromoModel"
	},
	CategoryModel:{
		_id:"ID",
		organisationId:"ID",
		createdAt:"DateTime",
		updatedAt:"DateTime",
		r:"String",
		w:"String",
		d:"String",
		content:"TranslatableComponent",
		seo:"SEOField",
		urls:"TranslatableComponent",
		ressourceType:"RessourceEnum",
		title:"TranslatableComponent",
		colorCode:"String"
	},
	CommentModel:{
		_id:"ID",
		organisationId:"ID",
		createdAt:"DateTime",
		updatedAt:"DateTime",
		r:"String",
		w:"String",
		d:"String",
		ressourceModel:"CommentModelEnum",
		ressourceId:"String",
		comment:"String",
		edited:"Boolean",
		deleted:"Boolean",
		file:"ImageComponent",
		sentBy:"String",
		parentId:"String",
		numberReplies:"Int",
		replies:"CommentModel"
	},
	CurrentPromo:{
		promoType:"PromoType",
		value:"Float"
	},
	EmailSettingsModel:{
		_id:"ID",
		organisationId:"ID",
		createdAt:"DateTime",
		updatedAt:"DateTime",
		r:"String",
		w:"String",
		d:"String",
		type:"SettingsType",
		key:"String",
		subject:"TranslatableComponent",
		body:"TranslatableComponent",
		custom:"Boolean",
		templateId:"TranslatableComponent",
		fromEmail:"String",
		fromName:"String",
		replyToEmail:"String",
		cci:"String",
		availableFields:"String"
	},
	EventMarketingInfoComponent:{
		platform:"MarketingPlatform",
		participantListId:"String",
		downloadRessourcesListId:"String"
	},
	EventModel:{
		_id:"ID",
		organisationId:"ID",
		createdAt:"DateTime",
		updatedAt:"DateTime",
		r:"String",
		w:"String",
		d:"String",
		content:"TranslatableComponent",
		seo:"SEOField",
		urls:"TranslatableComponent",
		title:"TranslatableComponent",
		teaser:"TranslatableComponent",
		cover:"ImageComponent",
		thumbnail:"ImageComponent",
		published:"Boolean",
		publicationDate:"DateTime",
		private:"Boolean",
		categoryIds:"String",
		getCategories:"CategoryModel",
		downloadableRessources:"ImageComponent",
		type:"EventType",
		format:"EventCategory",
		startDate:"DateTime",
		endDate:"DateTime",
		testimonials:"TranslatableComponent",
		participantIds:"String",
		language:"AvailableLanguage",
		venueId:"ID",
		getVenue:"EventVenueModel",
		partnerIds:"String",
		getPartners:"EventPartnerModel",
		speakerIds:"String",
		getSpeakers:"EventSpeakerModel",
		ticketIds:"String",
		getTickets:"ProductModel",
		getParticipants:"ParticipantModel",
		supports:"ImageComponent",
		marketingInfo:"EventMarketingInfoComponent"
	},
	EventPartnerModel:{
		_id:"ID",
		organisationId:"ID",
		createdAt:"DateTime",
		updatedAt:"DateTime",
		r:"String",
		w:"String",
		d:"String",
		name:"String",
		websiteUrl:"String",
		linkedinUrl:"String",
		image:"ImageComponent",
		bio:"TranslatableComponent"
	},
	EventSpeakerModel:{
		_id:"ID",
		organisationId:"ID",
		createdAt:"DateTime",
		updatedAt:"DateTime",
		r:"String",
		w:"String",
		d:"String",
		content:"TranslatableComponent",
		seo:"SEOField",
		urls:"TranslatableComponent",
		firstName:"String",
		lastName:"String",
		profilePicture:"ImageComponent",
		website:"String",
		linkedIn:"String",
		jobTitle:"TranslatableComponent",
		companyName:"String"
	},
	EventVenueModel:{
		_id:"ID",
		organisationId:"ID",
		createdAt:"DateTime",
		updatedAt:"DateTime",
		r:"String",
		w:"String",
		d:"String",
		name:"String",
		address:"AddressComponent"
	},
	ImageComponent:{
		large:"String",
		medium:"String",
		small:"String"
	},
	InvoiceInfo:{
		provider:"InvoicingProvider",
		invoiceId:"String"
	},
	LineItem:{
		productId:"String",
		quantity:"Float",
		product:"ProductModel"
	},
	Mutation:{
		venuesAddOne:"EventVenueModel",
		venuesEditOne:"EventVenueModel",
		venuesDeleteOne:"EventVenueModel",
		speakersAddOne:"EventSpeakerModel",
		speakersEditOne:"EventSpeakerModel",
		speakersDeleteOne:"EventSpeakerModel",
		eventsAddOne:"EventModel",
		eventsEditOne:"EventModel",
		eventsDeleteOne:"EventModel",
		eventsPublish:"EventModel",
		eventsUnpublish:"EventModel",
		eventsPermissionsAddOne:"EventModel",
		eventsPermissionsRemoveOne:"EventModel",
		partnersAddOne:"EventPartnerModel",
		partnersEditOne:"EventPartnerModel",
		partnersDeleteOne:"EventPartnerModel",
		articleCreateOne:"ArticleModel",
		articleEditOne:"ArticleModel",
		articleDeleteOne:"ArticleModel",
		articlePublish:"ArticleModel",
		articleUnpublish:"ArticleModel",
		articlePermissionsAddOne:"ArticleModel",
		articlePermissionsRemoveOne:"ArticleModel",
		categoriesAddOne:"CategoryModel",
		categoriesEditOne:"CategoryModel",
		categoriesDeleteOne:"CategoryModel",
		addAuthor:"AuthorModel",
		editAuthor:"AuthorModel",
		promosAddOne:"PromoModel",
		promosEditOne:"PromoModel",
		promosDeleteOne:"PromoModel",
		addOne:"PromoModel",
		editOne:"PromoModel",
		productsAddOne:"ProductModel",
		productsEditOne:"ProductModel",
		productsDeleteOne:"ProductModel",
		ordersMarkOneAsPaid:"OrderModel",
		ordersMarkOneAsUnPaid:"OrderModel",
		ordersCancelOne:"OrderModel",
		ordersReimburseOne:"OrderModel",
		emailsSettingsAddOne:"EmailSettingsModel",
		emailsSettingsEditOne:"EmailSettingsModel",
		emailsSettingsDeleteOne:"EmailSettingsModel",
		pagesAddOne:"PageModel",
		pagesEditOne:"PageModel",
		pagesDeleteOne:"PageModel",
		projectSettingsAddOne:"ProjectSettingModel",
		projectSettingsEditOne:"ProjectSettingModel",
		projectSettingsDeleteOne:"ProjectSettingModel",
		acSettingsAddOne:"ACSettingsModel",
		acSettingsEditOne:"ACSettingsModel",
		acSettingsDeleteOne:"ACSettingsModel",
		updateMe:"AccountModel",
		updateMeEmail:"AccountModel",
		updateMePassword:"AccountModel",
		resetPassword:"SimpleResult"
	},
	OrderModel:{
		_id:"ID",
		organisationId:"ID",
		createdAt:"DateTime",
		updatedAt:"DateTime",
		r:"String",
		w:"String",
		d:"String",
		accountId:"String",
		cartInfo:"CartModel",
		contactInfo:"BuyerInfoComponent",
		billingInfo:"BuyerInfoComponent",
		orderStatus:"OrderStatusEnum",
		paymentStatus:"PaymentStatusEnum",
		paymentInfo:"PaymentInfo",
		invoiceInfo:"InvoiceInfo"
	},
	PageModel:{
		_id:"ID",
		organisationId:"ID",
		createdAt:"DateTime",
		updatedAt:"DateTime",
		r:"String",
		w:"String",
		d:"String",
		title:"String",
		label:"String",
		content:"JSONObject",
		position:"Int",
		toComplete:"Boolean"
	},
	ParticipantModel:{
		_id:"ID",
		organisationId:"ID",
		createdAt:"DateTime",
		updatedAt:"DateTime",
		r:"String",
		w:"String",
		d:"String",
		title:"ParticipantTitle",
		firstName:"String",
		lastName:"String",
		company:"String",
		function:"String",
		email:"String",
		phone:"String",
		language:"AvailableLanguage",
		eventId:"ID",
		productId:"ID",
		addedBy:"String",
		orderId:"ID"
	},
	PaymentInfo:{
		provider:"PaymentProvider",
		transactionId:"String"
	},
	ProductModel:{
		_id:"ID",
		organisationId:"ID",
		createdAt:"DateTime",
		updatedAt:"DateTime",
		r:"String",
		w:"String",
		d:"String",
		content:"TranslatableComponent",
		seo:"SEOField",
		urls:"TranslatableComponent",
		title:"TranslatableComponent",
		teaser:"TranslatableComponent",
		cover:"ImageComponent",
		thumbnail:"ImageComponent",
		published:"Boolean",
		publicationDate:"DateTime",
		private:"Boolean",
		categoryIds:"String",
		getCategories:"CategoryModel",
		downloadableRessources:"ImageComponent",
		productFormat:"ProductFormatEnum",
		productType:"ProductTypeEnum",
		extraImages:"ImageComponent",
		validity:"DateTime",
		price:"Float",
		currency:"String",
		finalPrice:"Float",
		stock:"Int",
		sold:"Int",
		currentPromo:"CurrentPromo",
		walletCredit:"Int",
		comments:"CommentModel",
		relatedProducts:"ProductModel"
	},
	ProjectSettingModel:{
		_id:"ID",
		organisationId:"ID",
		createdAt:"DateTime",
		updatedAt:"DateTime",
		r:"String",
		w:"String",
		d:"String",
		type:"SettingsType",
		key:"String",
		value:"String"
	},
	PromoModel:{
		_id:"ID",
		organisationId:"ID",
		createdAt:"DateTime",
		updatedAt:"DateTime",
		r:"String",
		w:"String",
		d:"String",
		code:"String",
		description:"TranslatableComponent",
		type:"PromoType",
		value:"Float",
		validity:"DateTime",
		cummulable:"Boolean",
		usageLimit:"Float",
		usage:"Float"
	},
	Query:{
		venuesGetOne:"EventVenueModel",
		venuesGetMany:"EventVenueModel",
		speakersGetOne:"EventSpeakerModel",
		speakersGetMany:"EventSpeakerModel",
		eventsGetOne:"EventModel",
		eventsGetMany:"EventModel",
		partnersGetOne:"EventPartnerModel",
		partnersGetMany:"EventPartnerModel",
		article:"ArticleModel",
		articles:"ArticleModel",
		categoriesGetOne:"CategoryModel",
		categoriesGetMany:"CategoryModel",
		author:"AuthorModel",
		authors:"AuthorModel",
		promosGetOne:"PromoModel",
		promosGetMany:"PromoModel",
		productsGetOne:"ProductModel",
		productsGetMany:"ProductModel",
		ordersGetOne:"OrderModel",
		ordersGetMany:"OrderModel",
		emailsSettingsGetOne:"EmailSettingsModel",
		emailsSettingsGetMany:"EmailSettingsModel",
		pagesGetOne:"PageModel",
		pagesGetMany:"PageModel",
		projectSettingsGetOne:"ProjectSettingModel",
		projectSettingsGetMany:"ProjectSettingModel",
		ACFieldsGetAll:"JSONObject",
		acSettingsGetOne:"ACSettingsModel",
		acSettingsGetMany:"ACSettingsModel",
		me:"AccountModel"
	},
	SEOField:{
		title:"TranslatableComponent",
		description:"TranslatableComponent",
		keywords:"TranslatableComponent"
	},
	SimpleResult:{
		message:"String"
	},
	TranslatableComponent:{
		en:"String",
		fr:"String",
		nl:"String"
	}
}

export class GraphQLError extends Error {
    constructor(public response: GraphQLResponse) {
      super("");
      console.error(response);
    }
    toString() {
      return "GraphQL Response Error";
    }
  }


type Func<P extends any[], R> = (...args: P) => R;
type AnyFunc = Func<any, any>;

type WithTypeNameValue<T> = T & {
  __typename?: true;
};

type AliasType<T> = WithTypeNameValue<T> & {
  __alias?: Record<string, WithTypeNameValue<T>>;
};

type NotUndefined<T> = T extends undefined ? never : T;

export type ResolverType<F> = NotUndefined<F extends [infer ARGS, any] ? ARGS : undefined>;

export type ArgsType<F extends AnyFunc> = F extends Func<infer P, any> ? P : never;

interface GraphQLResponse {
  data?: Record<string, any>;
  errors?: Array<{
    message: string;
  }>;
}
export type MapInterface<SRC, DST> = SRC extends {
  __interface: infer INTERFACE;
  __resolve: infer IMPLEMENTORS;
}
  ? ObjectToUnion<
      Omit<
        {
          [Key in keyof Omit<DST, keyof INTERFACE | '__typename'>]: Key extends keyof IMPLEMENTORS
            ? MapType<IMPLEMENTORS[Key], DST[Key]> &
                Omit<
                  {
                    [Key in keyof Omit<
                      DST,
                      keyof IMPLEMENTORS | '__typename'
                    >]: Key extends keyof INTERFACE
                      ? LastMapTypeSRCResolver<INTERFACE[Key], DST[Key]>
                      : never;
                  },
                  keyof IMPLEMENTORS
                > &
                (DST extends { __typename: any }
                  ? MapType<IMPLEMENTORS[Key], { __typename: true }>
                  : {})
            : never;
        },
        keyof INTERFACE | '__typename'
      >
    >
  : never;

export type ValueToUnion<T> = T extends {
  __typename: infer R;
}
  ? {
      [P in keyof Omit<T, '__typename'>]: T[P] & {
        __typename: R;
      };
    }
  : T;

export type ObjectToUnion<T> = {
  [P in keyof T]: T[P];
}[keyof T];

type Anify<T> = { [P in keyof T]?: any };


type LastMapTypeSRCResolver<SRC, DST> = SRC extends undefined
  ? undefined
  : SRC extends Array<infer AR>
  ? LastMapTypeSRCResolver<AR, DST>[]
  : SRC extends { __interface: any; __resolve: any }
  ? MapInterface<SRC, DST>
  : SRC extends { __union: any; __resolve: infer RESOLVE }
  ? ObjectToUnion<MapType<RESOLVE, ValueToUnion<DST>>>
  : DST extends boolean
  ? SRC
  : MapType<SRC, DST>;

type MapType<SRC extends Anify<DST>, DST> = DST extends boolean
  ? SRC
  : DST extends {
      __alias: any;
    }
  ? {
      [A in keyof DST["__alias"]]: Required<SRC> extends Anify<
        DST["__alias"][A]
      >
        ? MapType<Required<SRC>, DST["__alias"][A]>
        : never;
    } &
      {
        [Key in keyof Omit<DST, "__alias">]: DST[Key] extends [
          any,
          infer PAYLOAD
        ]
          ? LastMapTypeSRCResolver<SRC[Key], PAYLOAD>
          : LastMapTypeSRCResolver<SRC[Key], DST[Key]>;
      }
  : {
      [Key in keyof DST]: DST[Key] extends [any, infer PAYLOAD]
        ? LastMapTypeSRCResolver<SRC[Key], PAYLOAD>
        : LastMapTypeSRCResolver<SRC[Key], DST[Key]>;
    };

type OperationToGraphQL<V, T> = <Z extends V>(o: Z | V, variables?: Record<string, any>) => Promise<MapType<T, Z>>;

type CastToGraphQL<V, T> = (
  resultOfYourQuery: any
) => <Z extends V>(o: Z | V) => MapType<T, Z>;

type fetchOptions = ArgsType<typeof fetch>;

export type SelectionFunction<V> = <T>(t: T | V) => T;
type FetchFunction = (query: string, variables?: Record<string, any>) => any;



export const ZeusSelect = <T>() => ((t: any) => t) as SelectionFunction<T>;
export const ScalarResolver = (scalar: string, value: any) => {
  switch (scalar) {
    case 'String':
      return  `"${value.replace(/"/g, '\\\"')}"`;
    case 'Int':
      return `${value}`;
    case 'Float':
      return `${value}`;
    case 'Boolean':
      return `${value}`;
    case 'ID':
      return `"${value}"`;
    case 'enum':
      return `${value}`;
    case 'scalar':
      return `${value}`;
    default:
      return false;
  }
};

export const TypesPropsResolver = ({
  value,
  type,
  name,
  key,
  blockArrays
}: {
  value: any;
  type: string;
  name: string;
  key?: string;
  blockArrays?: boolean;
}): string => {
  if (value === null) {
    return `null`;
  }
  let resolvedValue = AllTypesProps[type][name];
  if (key) {
    resolvedValue = resolvedValue[key];
  }
  if (!resolvedValue) {
    throw new Error(`Cannot resolve ${type} ${name}${key ? ` ${key}` : ''}`)
  }
  const typeResolved = resolvedValue.type;
  const isArray: boolean = resolvedValue.array;
  if (typeof value === 'string' && value.startsWith(`ZEUS_VAR$`)) {
    const isRequired = resolvedValue.required ? '!' : ''
    return `\$${value.split(`ZEUS_VAR$`)[1]}__ZEUS_VAR__${typeResolved}${isRequired}`;
  }
  if (isArray && !blockArrays) {
    return `[${value
      .map((v: any) => TypesPropsResolver({ value: v, type, name, key, blockArrays: true }))
      .join(',')}]`;
  }
  const reslovedScalar = ScalarResolver(typeResolved, value);
  if (!reslovedScalar) {
    const resolvedType = AllTypesProps[typeResolved];
    if (typeof resolvedType === 'object') {
      const argsKeys = Object.keys(resolvedType);
      return `{${argsKeys
        .filter((ak) => value[ak] !== undefined)
        .map(
          (ak) => `${ak}:${TypesPropsResolver({ value: value[ak], type: typeResolved, name: ak })}`
        )}}`;
    }
    return ScalarResolver(AllTypesProps[typeResolved], value) as string;
  }
  return reslovedScalar;
};

const isArrayFunction = (
  parent: string[],
  a: any[]
) => {
  const [values, r] = a;
  const [mainKey, key, ...keys] = parent;
  const keyValues = Object.keys(values);

  if (!keys.length) {
      return keyValues.length > 0
        ? `(${keyValues
            .map(
              (v) =>
                `${v}:${TypesPropsResolver({
                  value: values[v],
                  type: mainKey,
                  name: key,
                  key: v
                })}`
            )
            .join(',')})${r ? traverseToSeekArrays(parent, r) : ''}`
        : traverseToSeekArrays(parent, r);
    }

  const [typeResolverKey] = keys.splice(keys.length - 1, 1);
  let valueToResolve = ReturnTypes[mainKey][key];
  for (const k of keys) {
    valueToResolve = ReturnTypes[valueToResolve][k];
  }

  const argumentString =
    keyValues.length > 0
      ? `(${keyValues
          .map(
            (v) =>
              `${v}:${TypesPropsResolver({
                value: values[v],
                type: valueToResolve,
                name: typeResolverKey,
                key: v
              })}`
          )
          .join(',')})${r ? traverseToSeekArrays(parent, r) : ''}`
      : traverseToSeekArrays(parent, r);
  return argumentString;
};

const resolveKV = (k: string, v: boolean | string | { [x: string]: boolean | string }) =>
  typeof v === 'boolean' ? k : typeof v === 'object' ? `${k}{${objectToTree(v)}}` : `${k}${v}`;

const objectToTree = (o: { [x: string]: boolean | string }): string =>
  `{${Object.keys(o).map((k) => `${resolveKV(k, o[k])}`).join(' ')}}`;

const traverseToSeekArrays = (parent: string[], a?: any): string => {
  if (!a) return '';
  if (Object.keys(a).length === 0) {
    return '';
  }
  let b: Record<string, any> = {};
  if (Array.isArray(a)) {
    return isArrayFunction([...parent], a);
  } else {
    if (typeof a === 'object') {
      Object.keys(a).map((k) => {
        if (k === '__alias') {
          Object.keys(a[k]).map((aliasKey) => {
            const aliasOperations = a[k][aliasKey];
            const aliasOperationName = Object.keys(aliasOperations)[0];
            const aliasOperation = aliasOperations[aliasOperationName];
            b[
              `${aliasOperationName}__alias__${aliasKey}: ${aliasOperationName}`
            ] = traverseToSeekArrays([...parent, aliasOperationName], aliasOperation);
          });
        } else {
          b[k] = traverseToSeekArrays([...parent, k], a[k]);
        }
      });
    } else {
      return '';
    }
  }
  return objectToTree(b);
};

const buildQuery = (type: string, a?: Record<any, any>) => traverseToSeekArrays([type], a);

const inspectVariables = (query: string) => {
  const regex = /\$\b\w*ZEUS_VAR\w*\b[!]?/g;
  let result;
  const AllVariables = [];
  while ((result = regex.exec(query))) {
    AllVariables.push(result[0]);
  }
  if (!AllVariables.length) {
    return query;
  }
  let filteredQuery = query;
  AllVariables.forEach((variable) => {
    filteredQuery = filteredQuery.replace(variable, variable.split('__ZEUS_VAR__')[0]);
  });
  return `(${AllVariables.map((a) => a.split('__ZEUS_VAR__'))
    .map(([variableName, variableType]) => `${variableName}:${variableType}`)
    .join(', ')})${filteredQuery}`;
};

const queryConstruct = (t: 'query' | 'mutation' | 'subscription', tName: string) => (o: Record<any, any>) =>
  `${t.toLowerCase()}${inspectVariables(buildQuery(tName, o))}`;
  
const fullChainConstruct = (fn: FetchFunction) => (t: 'query' | 'mutation' | 'subscription', tName: string) => (
  o: Record<any, any>,
  variables?: Record<string, any>,
) => fn(queryConstruct(t, tName)(o), variables);

const seekForAliases = (o: any) => {
  if (typeof o === 'object' && o) {
    const keys = Object.keys(o);
    if (keys.length < 1) {
      return;
    }
    keys.forEach((k) => {
      const value = o[k];
      if (k.indexOf('__alias__') !== -1) {
        const [operation, alias] = k.split('__alias__');
        o[alias] = {
          [operation]: value
        };
        delete o[k];
      } else {
        if (Array.isArray(value)) {
          value.forEach(seekForAliases);
        } else {
          if (typeof value === 'object') {
            seekForAliases(value);
          }
        }
      }
    });
  }
};

export const $ = (t: TemplateStringsArray): any => `ZEUS_VAR$${t.join('')}`;


const handleFetchResponse = (
  response: Parameters<Extract<Parameters<ReturnType<typeof fetch>['then']>[0], Function>>[0]
): Promise<GraphQLResponse> => {
  if (!response.ok) {
    return new Promise((resolve, reject) => {
      response.text().then(text => {
        try { reject(JSON.parse(text)); }
        catch (err) { reject(text); }
      }).catch(reject);
    });
  }
  return response.json();
};

const apiFetch = (options: fetchOptions) => (query: string, variables: Record<string, any> = {}) => {
    let fetchFunction = fetch;
    let queryString = query;
    let fetchOptions = options[1] || {};
    if (fetchOptions.method && fetchOptions.method === 'GET') {
      queryString = encodeURIComponent(query);
      return fetchFunction(`${options[0]}?query=${queryString}`, fetchOptions)
        .then(handleFetchResponse)
        .then((response: GraphQLResponse) => {
          if (response.errors) {
            throw new GraphQLError(response);
          }
          seekForAliases(response.data);
          return response.data;
        });
    }
    return fetchFunction(`${options[0]}`, {
      body: JSON.stringify({ query: queryString, variables }),
      method: 'POST',
      headers: {
        'Content-Type': 'application/json'
      },
      ...fetchOptions
    })
      .then(handleFetchResponse)
      .then((response: GraphQLResponse) => {
        if (response.errors) {
          throw new GraphQLError(response);
        }
        seekForAliases(response.data);
        return response.data;
      });
  };
  


export const Thunder = (fn: FetchFunction) => ({
  query: ((o: any, variables) =>
    fullChainConstruct(fn)('query', 'Query')(o, variables).then(
      (response: any) => response
    )) as OperationToGraphQL<ValueTypes["Query"],Query>,
mutation: ((o: any, variables) =>
    fullChainConstruct(fn)('mutation', 'Mutation')(o, variables).then(
      (response: any) => response
    )) as OperationToGraphQL<ValueTypes["Mutation"],Mutation>
});

export const Chain = (...options: fetchOptions) => ({
  query: ((o: any, variables) =>
    fullChainConstruct(apiFetch(options))('query', 'Query')(o, variables).then(
      (response: any) => response
    )) as OperationToGraphQL<ValueTypes["Query"],Query>,
mutation: ((o: any, variables) =>
    fullChainConstruct(apiFetch(options))('mutation', 'Mutation')(o, variables).then(
      (response: any) => response
    )) as OperationToGraphQL<ValueTypes["Mutation"],Mutation>
});
export const Zeus = {
  query: (o:ValueTypes["Query"]) => queryConstruct('query', 'Query')(o),
mutation: (o:ValueTypes["Mutation"]) => queryConstruct('mutation', 'Mutation')(o)
};
export const Cast = {
  query: ((o: any) => (b: any) => o) as CastToGraphQL<
  ValueTypes["Query"],
  Query
>,
mutation: ((o: any) => (b: any) => o) as CastToGraphQL<
  ValueTypes["Mutation"],
  Mutation
>
};
export const Selectors = {
  query: ZeusSelect<ValueTypes["Query"]>(),
mutation: ZeusSelect<ValueTypes["Mutation"]>()
};
  

export const Gql = Chain('https://p7gejkyefe.execute-api.eu-central-1.amazonaws.com/dev/')