export function b2_toi_reset(): void;
export function b2TimeOfImpact(output: any, input: any): void;
export let b2_toiTime: number;
export let b2_toiMaxTime: number;
export let b2_toiCalls: number;
export let b2_toiIters: number;
export let b2_toiMaxIters: number;
export let b2_toiRootIters: number;
export let b2_toiMaxRootIters: number;
export class b2TOIInput {
    proxyA: b2DistanceProxy;
    proxyB: b2DistanceProxy;
    sweepA: b2Sweep;
    sweepB: b2Sweep;
    tMax: number;
}
export const b2TOIOutputState: any;
export class b2TOIOutput {
    state: any;
    t: number;
}
export const b2SeparationFunctionType: any;
export class b2SeparationFunction {
    m_sweepA: b2Sweep;
    m_sweepB: b2Sweep;
    m_type: any;
    m_localPoint: b2Vec2;
    m_axis: b2Vec2;
    Initialize(cache: any, proxyA: any, sweepA: any, proxyB: any, sweepB: any, t1: any): number;
    m_proxyA: any;
    m_proxyB: any;
    FindMinSeparation(indexA: any, indexB: any, t: any): number;
    Evaluate(indexA: any, indexB: any, t: any): number;
}
import { b2DistanceProxy } from "./b2_distance.js";
import { b2Sweep } from "../common/b2_math.js";
import { b2Vec2 } from "../common/b2_math.js";
