import { EntityEidType, EntityGeometryType, BasicInfoAtomType, TransformAtomType, VisibleAtomType, EntityFlagAtomType, AssetAtomType, EntityOutlinerAtomType } from '../data-type';
/**
 * @interface EffectType
 * @extends EntityEidType,EntityGeometryType,Partial<BasicInfoAtomType>,Partial<AssetAtomType>,Partial<TransformAtomType>,Partial<VisibleAtomType>,Partial<EffectsAtomType>,Partial<EntityFlagAtomType>
 */
export interface EffectType extends EntityEidType, EntityGeometryType, Partial<BasicInfoAtomType>, Partial<AssetAtomType>, Partial<TransformAtomType>, Partial<VisibleAtomType>, Partial<EffectsAtomType>, Partial<EntityFlagAtomType>, Partial<EntityOutlinerAtomType> {
}
/**
 * @interface EffectsAtomType
 * @param {boolean} bActive
 * @param {number} speed
 * @param {{paramName{r:number,g:number,b:number,a:number}}} colorParameters
 * @param {{paramName:Array<number>}} vectorParameters
 * @param {{paramName:number}} intParameters
 * @param {{paramName:number}} floatParameters
 * @param {{paramName: boolean}} boolParameters
 */
export interface EffectsAtomType {
    bActive: boolean;
    speed: number;
    colorParameters: {
        paramName: {
            r: number;
            g: number;
            b: number;
            a: number;
        };
    };
    vectorParameters: {
        paramName: Array<number>;
    };
    intParameters: {
        paramName: number;
    };
    floatParameters: {
        paramName: number;
    };
    boolParameters: {
        paramName: boolean;
    };
}
/**
 * @interface IGenerate
 * @param {Partial<EffectsAtomType>} EffectsAtom (optional)
 * @param {Partial<AssetAtomType>} AssetAtom (optional)
 * @param {Partial<BasicInfoAtomType>} BasicInfoAtom (optional)
 * @param {Partial<TransformAtomType>} TransformAtom (optional)
 * @param {Partial<VisibleAtomType>} VisibleAtom (optional)
 * @param {Partial<EntityFlagAtomType>} EntityFlagAtom (optional)
 */
export interface IGenerate {
    EffectsAtom?: Partial<EffectsAtomType>;
    AssetAtom?: Partial<AssetAtomType>;
    BasicInfoAtom?: Partial<BasicInfoAtomType>;
    TransformAtom?: Partial<TransformAtomType>;
    VisibleAtom?: Partial<VisibleAtomType>;
    EntityFlagAtom?: Partial<EntityFlagAtomType>;
    EntityOutlinerAtom?: Partial<EntityOutlinerAtomType>;
}
