export class b2ChainShape extends b2Shape {
    constructor();
    m_vertices: any[];
    m_count: number;
    m_prevVertex: b2Vec2;
    m_nextVertex: b2Vec2;
    CreateLoop(...args: any[]): b2ChainShape;
    _CreateLoop(vertices: any, count: any): b2ChainShape;
    CreateChain(...args: any[]): b2ChainShape;
    _CreateChain(vertices: any, count: any, prevVertex: any, nextVertex: any): b2ChainShape;
    Clone(): b2ChainShape;
    Copy(other: any): b2ChainShape;
    GetChildEdge(edge: any, index: any): void;
    TestPoint(xf: any, p: any): boolean;
    ComputeDistance(xf: any, p: any, normal: any, childIndex: any): number;
    RayCast(output: any, input: any, xf: any, childIndex: any): boolean;
    ComputeAABB(aabb: any, xf: any, childIndex: any): void;
    ComputeMass(massData: any, density: any): void;
    SetupDistanceProxy(proxy: any, index: any): void;
    ComputeSubmergedArea(normal: any, offset: any, xf: any, c: any): number;
    Dump(log: any): void;
}
export namespace b2ChainShape {
    const ComputeDistance_s_edgeShape: b2EdgeShape;
    const RayCast_s_edgeShape: b2EdgeShape;
    const ComputeAABB_s_v1: b2Vec2;
    const ComputeAABB_s_v2: b2Vec2;
    const ComputeAABB_s_lower: b2Vec2;
    const ComputeAABB_s_upper: b2Vec2;
}
import { b2Shape } from "./b2_shape.js";
import { b2Vec2 } from "../common/b2_math.js";
import { b2EdgeShape } from "./b2_edge_shape.js";
