import type { InferBeatmapSerial, InferBeatmapVersion, InferBeatmapWrapper } from '../schema/shared/types/infer.js'; import type { BeatmapFileType, ISchemaContainer } from '../schema/shared/types/schema.js'; type SchemaMap = { [TVersion in InferBeatmapVersion]: ISchemaContainer, InferBeatmapSerial>; }; /** Schema version map for beatmap info. */ export declare const infoSchemaMap: SchemaMap<'info'>; /** Schema version map for beatmap audio data. */ export declare const audioDataSchemaMap: SchemaMap<'audioData'>; /** Schema version map for beatmap difficulty. */ export declare const difficultySchemaMap: SchemaMap<'difficulty'>; /** Schema version map for beatmap lightshow. */ export declare const lightshowSchemaMap: SchemaMap<'lightshow'>; /** * Converts the wrapper contents of the beatmap into its serial form. * @param type The beatmap file type. * @param version The map format of the beatmap file. * @param data The wrapper contents of the beatmap file. * @returns The newly-transformed serial contents of the beatmap file. */ export declare function serializeBeatmap, TWrapper extends InferBeatmapWrapper, TSerial extends InferBeatmapSerial>(type: TFileType, version: TVersion, data: TWrapper): TSerial; /** * Converts the serial contents of the beatmap into its wrapper form. * @param type The beatmap file type. * @param version The implied map format of the beatmap file. * @param data The serial contents of the beatmap file. * @returns The newly-transformed wrapper contents of the beatmap file. */ export declare function deserializeBeatmap, TSerial extends InferBeatmapSerial, TWrapper extends InferBeatmapWrapper>(type: TFileType, version: TVersion, data: TSerial): TWrapper; export {}; //# sourceMappingURL=schema.d.ts.map