import { DIRECTION, HadesOptions, Vec2, Easing, HadesPlugin } from "./declarations";
declare class Hades {
    static EASING: {
        LINEAR: (t: number) => number;
        QUAD: (t: number) => number;
        CUBIC: (t: number) => number;
        QUART: (t: number) => number;
        QUINT: (t: number) => number;
    };
    static DIRECTION: typeof DIRECTION;
    private _amount;
    private _temp;
    private options;
    private engine;
    private manager;
    private scrollHandler;
    private frameHandler;
    private timeline;
    private prevDirection;
    private prevAmount;
    private automaticScrolling;
    private imediateScrolling;
    private aionId;
    private plugins;
    private internalId;
    amount: Vec2;
    velocity: Vec2;
    running: boolean;
    constructor(options: Partial<HadesOptions>);
    private frame;
    private scroll;
    scrollTo(position: Partial<Vec2>, duration: number, prevent?: boolean): void;
    registerPlugin(plugin: HadesPlugin, id?: string): string;
    unregisterPlugin(id: string): boolean;
    registerPlugins(plugins: Array<HadesPlugin>, ids: Array<string>): Array<string>;
    getPlugin(name: string): HadesPlugin | undefined;
    getRenderer(): HadesPlugin | undefined;
    play(): void;
    pause(): void;
    destroy(): void;
    get direction(): Vec2;
    get root(): HTMLElement | Window;
    get internalAmount(): Vec2;
    get internalTemp(): Vec2;
    get still(): boolean;
    get easing(): Easing;
    set easing(easing: Easing);
    set touchMultiplier(touchMultiplier: number);
    set smoothDirectionChange(smoothDirectionChange: boolean);
    set invert(invert: boolean);
    set internalAmount(values: Vec2);
    set internalTemp(values: Vec2);
    private register;
}
export default Hades;
//# sourceMappingURL=index.d.ts.map