import { Behaviour } from "./Component.js";
import { EventList } from "./EventList.js";
import { EventType } from "./EventType.js";
import type { IPointerEventHandler, PointerEventData } from "./ui/PointerEvents.js";
declare class TriggerEvent {
    eventID: EventType;
    callback: EventList<any>;
}
/**
 * The [EventTrigger](https://engine.needle.tools/docs/api/EventTrigger) component is used to trigger events when certain pointer events occur on the GameObject.
 * It implements the {@link IPointerEventHandler} interface and can be used to expose events to the user in the editor without writing code.
 *
 * @summary Triggers events on pointer interactions
 * @category Interactivity
 * @group Components
 */
export declare class EventTrigger extends Behaviour implements IPointerEventHandler {
    /** A list of events that should be triggered when a pointer event occurs on the GameObject. */
    triggers?: Array<TriggerEvent>;
    /** @internal */
    invoke(type: EventType): void;
    private hasTrigger;
    private shouldChangeCursor;
    /** @internal */
    onPointerClick(_: PointerEventData): void;
    /** @internal */
    onPointerEnter(_: PointerEventData): void;
    /** @internal */
    onPointerExit(_: PointerEventData): void;
    /** @internal */
    onPointerDown(_: PointerEventData): void;
    /** @internal */
    onPointerUp(_: PointerEventData): void;
}
export {};
