import { 
	ModuleFlatObjectNamed,
	ModuleFlatObjects,
	type EditPost
} from '@divi/types';

export type ModuleFlatObjectItems =
	| ModuleFlatObjectNamed<'jet-engine-divi/dynamic-field'>
	| ModuleFlatObjectNamed<'jet-engine-divi/dynamic-image'>
	| ModuleFlatObjectNamed<'jet-engine-divi/dynamic-repeater'>
	| ModuleFlatObjectNamed<'jet-engine-divi/dynamic-meta'>
	| ModuleFlatObjectNamed<'jet-engine-divi/dynamic-link'>
	| ModuleFlatObjectNamed<'jet-engine-divi/dynamic-terms'>;

export type JetEngineModuleFlatObjects = ModuleFlatObjects<ModuleFlatObjectItems>;

export type JetEngineMutableEditPostStoreState = EditPost.Store.State<JetEngineModuleFlatObjects>;

export type JetEngineEditPostStoreState = EditPost.Store.ImmutableState<JetEngineModuleFlatObjects>;
