import * as modules from '.'; export type ArrayChangelogEntry = T & { $added?: boolean; $removed?: boolean; version?: string; }; export type ValueChangelogEntry = { $old: T; $new: T; $changed?: boolean; version?: string; }; export type ModuleWithChangelog = T & { changelog: ArrayChangelogEntry[]; }; export declare function isArrayChangelogEntry(obj: object): obj is ArrayChangelogEntry; export declare function isValueChangelogEntry(obj: object): obj is ValueChangelogEntry; export declare function moduleHasChangelog(module: T): module is ModuleWithChangelog; export type IMinecraftModuleChangelogEntry = ArrayChangelogEntry; export type IMinecraftModuleWithChangelog = ModuleWithChangelog; export type ChangelogKey = 'changelog' | 'class_changelog' | 'interface_changelog' | 'error_changelog' | 'object_changelog' | 'function_changelog' | 'constant_changelog' | 'property_changelog' | 'enum_changelog' | 'alias_changelog'; export type MinecraftDependencyChangelogEntry = ArrayChangelogEntry; export type MinecraftScriptModuleChangelogEntry = ArrayChangelogEntry; export type MinecraftScriptModuleWithChangelog = ModuleWithChangelog; export type MinecraftClassChangelogEntry = ArrayChangelogEntry; export type MinecraftClassWithChangelog = modules.MinecraftClass & { class_changelog?: MinecraftClassChangelogEntry[]; }; export type MinecraftInterfaceChangelogEntry = ArrayChangelogEntry; export type MinecraftInterfaceWithChangelog = modules.MinecraftInterface & { interface_changelog?: MinecraftInterfaceChangelogEntry[]; }; export type MinecraftErrorChangelogEntry = ArrayChangelogEntry; export type MinecraftErrorWithChangelog = modules.MinecraftError & { error_changelog?: MinecraftErrorChangelogEntry[]; }; export type MinecraftObjectChangelogEntry = ArrayChangelogEntry; export type MinecraftObjectWithChangelog = modules.MinecraftObject & { object_changelog?: MinecraftObjectChangelogEntry[]; }; export type MinecraftFunctionChangelogEntry = ArrayChangelogEntry; export type MinecraftFunctionWithChangelog = modules.MinecraftFunction & { function_changelog?: MinecraftFunctionChangelogEntry[]; }; export type MinecraftConstantChangelogEntry = ArrayChangelogEntry; export type MinecraftConstantWithChangelog = modules.MinecraftConstant & { constant_changelog?: MinecraftConstantChangelogEntry[]; }; export type MinecraftPropertyChangelogEntry = ArrayChangelogEntry; export type MinecraftPropertyWithChangelog = modules.MinecraftProperty & { property_changelog?: MinecraftPropertyChangelogEntry[]; }; export type MinecraftEnumChangelogEntry = ArrayChangelogEntry; export type MinecraftEnumWithChangelog = modules.MinecraftEnum & { enum_changelog?: MinecraftEnumChangelogEntry[]; }; export type MinecraftTypeAliasChangelogEntry = ArrayChangelogEntry; export type MinecraftTypeAliasWithChangelog = modules.MinecraftTypeAlias & { alias_changelog?: MinecraftTypeAliasChangelogEntry[]; };