export const b2ParticleGroupFlag: any;
export class b2ParticleGroupDef {
    flags: number;
    groupFlags: number;
    position: b2Vec2;
    angle: number;
    linearVelocity: b2Vec2;
    angularVelocity: number;
    color: b2Color;
    strength: number;
    shapeCount: number;
    stride: number;
    particleCount: number;
    lifetime: number;
    userData: any;
    group: any;
}
export class b2ParticleGroup {
    constructor(system: any);
    m_firstIndex: number;
    m_lastIndex: number;
    m_groupFlags: number;
    m_strength: number;
    m_prev: any;
    m_next: any;
    m_timestamp: number;
    m_mass: number;
    m_inertia: number;
    m_center: b2Vec2;
    m_linearVelocity: b2Vec2;
    m_angularVelocity: number;
    m_transform: b2Transform;
    m_userData: any;
    m_system: any;
    GetNext(): any;
    GetParticleSystem(): any;
    GetParticleCount(): number;
    GetBufferIndex(): number;
    ContainsParticle(index: any): boolean;
    GetAllParticleFlags(): number;
    GetGroupFlags(): number;
    SetGroupFlags(flags: any): void;
    GetMass(): number;
    GetInertia(): number;
    GetCenter(): b2Vec2;
    GetLinearVelocity(): b2Vec2;
    GetAngularVelocity(): number;
    GetTransform(): b2Transform;
    GetPosition(): b2Vec2;
    GetAngle(): number;
    GetLinearVelocityFromWorldPoint(worldPoint: any, out: any): any;
    GetUserData(): any;
    SetUserData(data: any): void;
    ApplyForce(force: any): void;
    ApplyLinearImpulse(impulse: any): void;
    DestroyParticles(callDestructionListener: any): void;
    UpdateStatistics(): void;
}
export namespace b2ParticleGroup {
    const GetLinearVelocityFromWorldPoint_s_t0: b2Vec2;
}
import { b2Vec2 } from "../common/b2_math.js";
import { b2Color } from "../common/b2_draw.js";
import { b2Transform } from "../common/b2_math.js";
