import { EntityPhysics, IPhysics } from "./physics/engines";
import { EPhysicsCtx } from "./physics/settings";
import { Vec3 } from "vec3";
import md from "minecraft-data";
import type { Entity } from "prismarine-entity";
import type { Bot } from "mineflayer";
/**
 * Just a convenience thing.
 */
export declare enum SimulationTypes {
    UNTIL_GROUND = 0,
    FOR_X_TICKS = 1,
    TO_DESTINATION = 2
}
export declare class PhysicsUtilWrapper {
    private bot;
    engine: IPhysics;
    readonly ePhysicsCtx: typeof EPhysicsCtx;
    readonly data: md.IndexedData;
    constructor(bot: Bot);
    getPhysicsSim(): EntityPhysics;
    getPhysicsCtx(ctx: IPhysics, entity: Entity): EPhysicsCtx;
    getPhysicsCtxRaw(ctx: IPhysics, entity: md.Entity, options?: Partial<Entity>): EPhysicsCtx;
    simulate(simulator: IPhysics, simCtx: EPhysicsCtx, world: any): import("./physics/states").IEntityState;
    exampleSim(entity: Entity, type: SimulationTypes, ticks?: number, destination?: Vec3): import("./physics/states").IEntityState;
    advancedExample(simCtx: EPhysicsCtx, type: SimulationTypes, ticks?: number, destination?: Vec3): import("./physics/states").IEntityState;
}
