## API Report File for "@angular/core_primitives_event-dispatch"

> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).

```ts

// @public (undocumented)
export const Attribute: {
    JSACTION: "jsaction";
};

// @public
export function bootstrapAppScopedEarlyEventContract(container: HTMLElement, appId: string, bubbleEventTypes: string[], captureEventTypes: string[], dataContainer?: EarlyJsactionDataContainer): void;

// @public
export function clearAppScopedEarlyEventContract(appId: string, dataContainer?: EarlyJsactionDataContainer): void;

// @public (undocumented)
export interface EarlyJsactionDataContainer {
    // (undocumented)
    _ejsa?: EarlyJsactionData;
    // (undocumented)
    _ejsas?: {
        [appId: string]: EarlyJsactionData | undefined;
    };
}

// @public
export class EventContract implements UnrenamedEventContract {
    constructor(containerManager: EventContractContainerManager);
    addEvent(eventType: string, prefixedEventType?: string): void;
    cleanUp(): void;
    ecrd(dispatcher: Dispatcher, restriction: Restriction): void;
    handler(eventType: string): EventHandler | undefined;
    // (undocumented)
    static MOUSE_SPECIAL_SUPPORT: boolean;
    registerDispatcher(dispatcher: Dispatcher, restriction: Restriction): void;
    replayEarlyEventInfos(earlyEventInfos: eventInfoLib.EventInfo[]): void;
    replayEarlyEvents(earlyJsactionData?: EarlyJsactionData | undefined): void;
}

// @public
export class EventContractContainer implements EventContractContainerManager {
    constructor(element: Element);
    addEventListener(eventType: string, getHandler: (element: Element) => (event: Event) => void): void;
    cleanUp(): void;
    // (undocumented)
    readonly element: Element;
}

// @public
export class EventDispatcher {
    constructor(dispatchDelegate: (event: Event, actionName: string) => void, clickModSupport?: boolean);
    dispatch(eventInfo: EventInfo): void;
}

// @public
export class EventInfoWrapper {
    constructor(eventInfo: EventInfo);
    // (undocumented)
    clone(): EventInfoWrapper;
    // (undocumented)
    readonly eventInfo: EventInfo;
    // (undocumented)
    getAction(): {
        name: string;
        element: Element;
    } | undefined;
    // (undocumented)
    getContainer(): Element;
    // (undocumented)
    getEvent(): Event;
    // (undocumented)
    getEventType(): string;
    // (undocumented)
    getIsReplay(): boolean | undefined;
    // (undocumented)
    getResolved(): boolean | undefined;
    // (undocumented)
    getTargetElement(): Element;
    // (undocumented)
    getTimestamp(): number;
    // (undocumented)
    setAction(action: ActionInfo | undefined): void;
    // (undocumented)
    setContainer(container: Element): void;
    // (undocumented)
    setEvent(event: Event): void;
    // (undocumented)
    setEventType(eventType: string): void;
    // (undocumented)
    setIsReplay(replay: boolean): void;
    // (undocumented)
    setResolved(resolved: boolean): void;
    // (undocumented)
    setTargetElement(targetElement: Element): void;
    // (undocumented)
    setTimestamp(timestamp: number): void;
}

// @public
export const EventPhase: {
    REPLAY: number;
};

// @public
export function getActionCache(element: Element): {
    [key: string]: string | undefined;
};

// @public
export function getAppScopedQueuedEventInfos(appId: string, dataContainer?: EarlyJsactionDataContainer): EventInfo[];

// @public
export const isCaptureEventType: (eventType: string) => boolean;

// @public
export const isEarlyEventType: (eventType: string) => boolean;

// @public
export function registerAppScopedDispatcher(restriction: Restriction, appId: string, dispatcher: (eventInfo: EventInfo) => void, dataContainer?: EarlyJsactionDataContainer): void;

// @public
export function registerDispatcher(eventContract: UnrenamedEventContract, dispatcher: EventDispatcher): void;

// @public
export function removeAllAppScopedEventListeners(appId: string, dataContainer?: EarlyJsactionDataContainer): void;

// (No @packageDocumentation comment for this package)

```
