export class b2DestructionListener {
    SayGoodbyeJoint(joint: any): void;
    SayGoodbyeFixture(fixture: any): void;
    SayGoodbyeParticleGroup(group: any): void;
    SayGoodbyeParticle(system: any, index: any): void;
}
export class b2ContactFilter {
    ShouldCollide(fixtureA: any, fixtureB: any): boolean;
    ShouldCollideFixtureParticle(fixture: any, system: any, index: any): boolean;
    ShouldCollideParticleParticle(system: any, indexA: any, indexB: any): boolean;
}
export namespace b2ContactFilter {
    const b2_defaultFilter: b2ContactFilter;
}
export class b2ContactImpulse {
    normalImpulses: number[];
    tangentImpulses: number[];
    count: number;
}
export class b2ContactListener {
    BeginContact(contact: any): void;
    EndContact(contact: any): void;
    BeginContactFixtureParticle(system: any, contact: any): void;
    EndContactFixtureParticle(system: any, contact: any): void;
    BeginContactParticleParticle(system: any, contact: any): void;
    EndContactParticleParticle(system: any, contact: any): void;
    PreSolve(contact: any, oldManifold: any): void;
    PostSolve(contact: any, impulse: any): void;
}
export namespace b2ContactListener {
    const b2_defaultListener: b2ContactListener;
}
export class b2QueryCallback {
    ReportFixture(fixture: any): boolean;
    ReportParticle(system: any, index: any): boolean;
    ShouldQueryParticleSystem(system: any): boolean;
}
export class b2RayCastCallback {
    ReportFixture(fixture: any, point: any, normal: any, fraction: any): any;
    ReportParticle(system: any, index: any, point: any, normal: any, fraction: any): number;
    ShouldQueryParticleSystem(system: any): boolean;
}
