# EventPartNode

Represents an event listener part (e.g. `@click="${handler}"`).

## Signatures

```ts
export declare class EventPartNode {
    readonly _tag: "event";
    readonly name: string;
    readonly index: number;
    constructor(name: string, index: number);
}
```

## Why

The event name maps to a real delegated DOM listener and never to a synthetic
event protocol.

## Ownership and lifetime

The model owns no listener. The mounted render Scope installs and removes it.

## Constructor

Creates native event-listener syntax.

## Property: _tag

Native-event discriminant.

## Property: _tag: Why

Selects real DOM listener setup and omits events from SSR attributes.

## Property: _tag: Ownership and lifetime

Immutable AST metadata.

## Property: index

Interpolation index producing the Effect handler.

## Property: index: Why

Locates the handler while preserving its error and service channels.

## Property: index: Ownership and lifetime

Immutable scalar metadata; EventSource owns running fibers through its Scope.

## Property: name

Native event name.

## Property: name: Why

Identifies the browser event name delegated by EventSource; callbacks
receive its forwarding `currentTarget` Proxy rather than the original
event object identity.

## Property: name: Ownership and lifetime

Retained string metadata; the mount Scope owns the listener.

## Examples

```ts
import { EventPartNode } from "@typed/template/Template"

const part = new EventPartNode("click", 0)
```
