import { ApolloOptions, Vec2, ApolloPlugin } from './declarations';
declare class Apollo {
    static EASING: {
        LINEAR: (t: number) => number;
        QUAD: (t: number) => number;
        CUBIC: (t: number) => number;
        QUART: (t: number) => number;
        QUINT: (t: number) => number;
    };
    private options;
    private mousePosition;
    private mouseRenderPosition;
    private _trackMouse;
    private cursorPosition;
    private cursorPositionPrev;
    private _velocity;
    private _direction;
    private engine;
    private frameHandler;
    private cursorXTimeline;
    private cursorYTimeline;
    private aionId;
    private plugins;
    private internalId;
    constructor(options: Partial<ApolloOptions>);
    private frame;
    private bindEvents;
    private mouseMove;
    private touchMove;
    private register;
    registerPlugin(plugin: ApolloPlugin, id?: string): string;
    unregisterPlugin(id: string): boolean;
    registerPlugins(plugins: Array<ApolloPlugin>, ids: Array<string>): Array<string>;
    private unbindEvents;
    destroy(): void;
    getPlugin(name: string): ApolloPlugin | undefined;
    get trackMouse(): boolean;
    set trackMouse(value: boolean);
    startMouseTracking(): void;
    stopMouseTracking(): void;
    get coords(): Vec2;
    set coords(coords: Vec2);
    get normalizedCoords(): Vec2;
    get mouse(): Vec2;
    get normalizedMouse(): Vec2;
    get velocity(): Vec2;
    get direction(): Vec2;
}
export default Apollo;
//# sourceMappingURL=index.d.ts.map