import { b2Sweep } from "../common/b2_math";
import { b2DistanceProxy } from "./b2_distance";
export declare const b2Toi: {
    time: number;
    maxTime: number;
    calls: number;
    iters: number;
    maxIters: number;
    rootIters: number;
    maxRootIters: number;
    reset(): void;
};
/**
 * Input parameters for b2TimeOfImpact
 */
export declare class b2TOIInput {
    readonly proxyA: b2DistanceProxy;
    readonly proxyB: b2DistanceProxy;
    readonly sweepA: b2Sweep;
    readonly sweepB: b2Sweep;
    tMax: number;
}
export declare enum b2TOIOutputState {
    e_unknown = 0,
    e_failed = 1,
    e_overlapped = 2,
    e_touching = 3,
    e_separated = 4
}
/**
 * Output parameters for b2TimeOfImpact.
 */
export declare class b2TOIOutput {
    state: b2TOIOutputState;
    t: number;
}
/**
 * CCD via the local separating axis method. This seeks progression
 * by computing the largest time at which separation is maintained.
 * Compute the upper bound on time before two shapes penetrate. Time is represented as
 * a fraction between [0,tMax]. This uses a swept separating axis and may miss some intermediate,
 * again.
 * Note: use b2Distance to compute the contact point and normal at the time of impact.
 */
export declare function b2TimeOfImpact(output: b2TOIOutput, input: b2TOIInput): void;
//# sourceMappingURL=b2_time_of_impact.d.ts.map