import { Constructor } from 'dill-pixel';
import { Point } from 'pixi.js';
import { Actor } from '../Actor';
import { Entity } from '../Entity';
import { Solid } from '../Solid';
import { Collision } from '../types';
export declare const WithVelocity: <TBase extends Constructor<Actor> | Constructor<Solid>>(Base: TBase) => {
    new (...args: any[]): {
        velocity: Point;
        previousVelocity: Point;
        velocityRemainder: Point;
        maxVelocity: Point;
        friction: Point;
        velocityState: {
            current: Point;
            previous: Point;
            remainder: Point;
        };
        moveByVelocity(deltaTime: number, onCollide?: ((collision: Collision, pushingEntity?: Entity, direction?: Point) => void) | null, onNoCollisions?: (() => void) | null): void;
        reflect(collision: Collision, energyLoss?: number, angleVariation?: number): void;
        getInterpolatedPosition(alpha: number): Point;
        setMaxVelocity(x: number, y: number): void;
        setFriction(x: number, y: number): void;
    };
} & TBase;
//# sourceMappingURL=WithVelocity.d.ts.map