import { Array, Boolean, Intersect, Literal, Optional, Record, Runtype, Static, String, Union } from 'runtypes'; /** * The supported module types for documentation generation. */ export declare const ModuleTypesValidator: Union<[Literal<"script">, Literal<"commands">, Literal<"after_events_ordering">, Literal<"vanilla_data">, Literal<"molang">]>; export type ModuleTypes = Static; /** * Most common piece of data for generation, a name field. */ export declare const ModuleNameDataValidator: Record<{ name: String; }, false>; export type ModuleNameData = Static; /** * Common module data for all types of modules */ export declare const CommonModuleDataValidator: Record<{ name: String; minecraft_version: String; module_type: Union<[Literal<"script">, Literal<"commands">, Literal<"after_events_ordering">, Literal<"vanilla_data">, Literal<"molang">]>; module_name: Optional; }, false>; export type IMinecraftModule = Static; /** * Common data for runtime comment flags */ export declare const CommonCommentFlagsValidator: Record<{ has_comments: Optional; }, false>; /** * Standardized Vanilla Name Record and optional states */ export declare const StandardizedVanillaNameRecord: Record<{ namespace: Optional; no_namespace_name: Optional; standardized_name: Optional; }, false>; /** * Additional data that may be associated with data_items */ export declare const DataStateRecord: Record<{ properties: Optional, false>>; state_union: Optional; value: Optional; }, false>; /** * Runtime specific fields for module name data in vanilla data modules */ export declare const VanillaModuleNameDataValidator: Intersect<[Intersect<[Record<{ name: String; }, false>, Record<{ namespace: Optional; no_namespace_name: Optional; standardized_name: Optional; }, false>]>, Record<{ properties: Optional, false>>; state_union: Optional; value: Optional; }, false>]>; export type VanillaModuleNameData = Static; export declare const CoreVanillaDataFieldsRecord: Intersect<[Record<{ data_items: Array, Record<{ namespace: Optional; no_namespace_name: Optional; standardized_name: Optional; }, false>]>, Record<{ properties: Optional, false>>; state_union: Optional; value: Optional; }, false>]>, false>; vanilla_data_type: Optional; module_type: Literal<"vanilla_data">; display_type: Optional; display_name: Optional; has_properties: Optional; }, false>, Record<{ name: String; minecraft_version: String; module_type: Union<[Literal<"script">, Literal<"commands">, Literal<"after_events_ordering">, Literal<"vanilla_data">, Literal<"molang">]>; module_name: Optional; }, false>]>; export type CoreVanillaDataFields = Static; /** * Common vanilla data fields for all types of modules */ export declare function getCommonVanillaDataFieldsRecord(base: T, literalType: string): Intersect<[Intersect<[Record<{ data_items: Array, Record<{ namespace: Optional; no_namespace_name: Optional; standardized_name: Optional; }, false>]>, Record<{ properties: Optional, false>>; state_union: Optional; value: Optional; }, false>]>, false>; vanilla_data_type: Optional; module_type: Literal<"vanilla_data">; display_type: Optional; display_name: Optional; has_properties: Optional; }, false>, Record<{ name: String; minecraft_version: String; module_type: Union<[Literal<"script">, Literal<"commands">, Literal<"after_events_ordering">, Literal<"vanilla_data">, Literal<"molang">]>; module_name: Optional; }, false>]>, Record<{ data_items: Array; vanilla_data_type: Optional>; }, false>]>; export type CommonVanillaDataFields = Static>; export type RuntimeDataModule = T extends IMinecraftModule ? T : never;