declare class Effect_param { name: string; default_value: number; min_value: number; max_value: number; constructor(name: string, default_value: number, min_value: number, max_value: number); } declare class Effect_param_instance extends Effect_param { index: number; value: number; constructor(meta: Effect_param, index: number, value: number); export_json(): Record; } declare class Effect_meta { name: string; is_vip: boolean; resource_id: string; effect_id: string; md5: string; params: Effect_param[]; constructor(name: string, is_vip: boolean, resource_id: string, effect_id: string, md5: string, params?: Effect_param[]); parseParams(params: (number | null)[] | null): Effect_param_instance[]; } type Effect_enum_subclass = T; declare abstract class Effect_enum { static from_name(this: new () => T, name: string): T; } export { Effect_param, Effect_param_instance, Effect_meta, Effect_enum, Effect_enum_subclass };