type GFFieldID = number | string;
type GFFormID = number | string;

interface GravityFormsField {
	inputs: any
	choices?: Array<{
		value: string
		text: string
		inventory_limit?: string
	}>
	label: string
	adminLabel?: string
	gpiInventory?: string
	gpiInventoryLimit?: number
	gpiResource?: number
	gpiResourcePropertyMap?: { [propertyId: string]: string }
	id: number
	formId: number
	type: string
	inputType: string
}

interface GravityFormsForm {
	button: {
		type: string
		text: string
		imageUrl: string
	}
	confirmations: any
	description: string
	descriptionPlacement: string
	fields: GravityFormsField[]
	firstPageCssClass: string
	id: number
	labelPlacement: string
	lastPageButton: string
	markupVersion: number
	nextFieldId: number
	notifications: any
	pagination: any
	postContentTemplate: string
	postContentTemplateEnabled: boolean
	postTitleTemplate: string
	postTitleTemplateEnabled: boolean
	title: string
	useCurrentUserAsAuthor: boolean
	version: string
}

interface GravityFormsConditionalLogicRuleField {
	label: string
	value: string | number
}

interface GravityFormsConditionalLogicRule {
	fieldId: string
	operator: string
	value: number | string
}
