import Apollo from "../..";
import { ApolloPlugin } from "../../declarations";
import { ApolloHTMLElement, TargetDescriptor, TargetsDetectionOptions } from "./declarations";
import SingleTarget from "./SingleTarget";
declare class TargetsDetection implements ApolloPlugin {
    private context;
    private options;
    private _targets;
    name: string;
    activeMouseTarget: SingleTarget | null;
    activeCursorTarget: SingleTarget | null;
    static VISIBILITY_CHECK: {
        NONE: string;
        PARTIAL: string;
        FULL: string;
    };
    static EVENTS: {
        MOUSE_ENTER: string;
        MOUSE_LEAVE: string;
        CURSOR_ENTER: string;
        CURSOR_LEAVE: string;
    };
    constructor(options: Partial<TargetsDetectionOptions>);
    register(context: Apollo): void;
    preFrame(context: Apollo, delta: number): void;
    private checkTargets;
    render(context: Apollo, delta: number): void;
    afterRender(context: Apollo, delta: number): void;
    addTarget(target: TargetDescriptor): void;
    removeTarget(id: string): void;
    pullFromTarget(element: ApolloHTMLElement): void;
}
export default TargetsDetection;
//# sourceMappingURL=index.d.ts.map