<!-- Documentation snapshot: package 5.0.0-beta.1; channel next; base revision b06750c507494441f0b2298766b70087e45346a2; local changes false; original source SHA-256 e25fca5580c61df0c4971f4dfc9b1947667917eb650a76dab6be8c42be217e26. -->

# Public API index

Use this index to identify the supported import and follow its behavior contract.
The `marionette` package has named exports; it has no default export. Import
optional integrations from their documented package subpaths, never from `src/`
or generated internal files.

## Core runtime exports

| Export | Purpose and reference |
| --- | --- |
| `View` | [Render and own one part of the interface](/docs/view.md). |
| `CollectionView` | [Own ordered child Views](/docs/collection-view.md). |
| `Region` | [Show, replace, detach, or destroy a current View](/docs/region.md). |
| `Application` | [Coordinate asynchronous feature lifecycle and child Applications](/docs/application.md). |
| `Behavior` | [Share host View interactions and lifecycle](/docs/behavior.md). |
| `MnObject` | [Own nonvisual events, State, and synchronous cleanup](/docs/mn-object.md). |
| `Events` | [Compose the event/listening contract](/docs/events.md#events-api). |
| `Radio` | [Use the default runtime's named message channels](/docs/radio.md). |
| `DataApi`, `setDataApi` | [Read and observe the selected data source](/docs/data-api.md). |
| `StateApi`, `setStateApi` | [Observe State and dispose owned sources](/docs/state.md). |
| `DomApi`, `setDomApi` | [Create, query, attach, and update DOM](/docs/dom-api.md). |
| `setRenderer` | [Configure synchronous template evaluation](/docs/rendering.md#using-a-custom-renderer). |
| `setEventDelegator` | [Configure DOM event registration and cleanup](/docs/dom-interactions.md#eventdelegator-adapter). |
| `createMarionette` | [Create independent classes, configuration, and Radio](/docs/runtime-isolation.md). |
| `monitorViewEvents` | [Bridge lifecycle notifications for supported custom Views](#monitorvieweventsview). |
| `extend` | [Extend a function constructor](/docs/utils.md#extend). |
| `MarionetteError` | [Inspect a framework invariant failure](/docs/diagnostics.md). |
| `VERSION` | [Read the package version](/docs/utils.md#version). |

[Configuration method contracts](/docs/runtime-isolation.md#configuration-method-contract)
identify which classes each setter affects, its return value, and its scope.
Choosing one provider does not configure the other providers.

## `monitorViewEvents(view)`

This synchronous helper installs lifecycle listeners on a supported custom View
and returns `undefined`. It propagates attachment and detachment notifications
to managed children and derives `dom:refresh`/`dom:remove` from render and
attachment state. Repeating the call does not install duplicate monitoring;
`monitorViewEvents: false` skips installation.

Marionette Views are monitored automatically. This helper is for integrations
that implement the [supported View lifecycle](/docs/region.md#wrapping-a-non-marionette-view),
including event methods and managed-child access. It is not a MutationObserver:
appending arbitrary DOM does not notify it. Prefer a Marionette wrapper View
for third-party widgets so ownership and cleanup remain explicit.

## Companion packages

| Import | Public surface | Reference |
| --- | --- | --- |
| `@mnjs/data` | `Model`, `Collection`, `DataApi`, `StateApi`, `triggerMethod` | [Native observable data](/docs/data-package.md) |
| `@mnjs/radio` | `Radio`, `createRadio`, `Channel`, `Requests` | [Standalone Radio](/docs/radio-package.md) |
| `@mnjs/utils` | Shared events, bindings, option, inheritance, and event-building helpers | [Utility exports](/docs/utils-package.md) |
| `@mnjs/adapters/backbone` | Default Backbone data/State adapter | [Backbone integration](/docs/backbone.md) |
| `@mnjs/adapters/xstate` | Default `createXStateActorApi` factory | [XState integration](/docs/data-api.md#xstate-actors) |
| `@mnjs/adapters/dom/jquery` | Default jQuery DomApi | [jQuery DOM](/docs/dom-api.md#optional-jquery-adapter) |
| `@mnjs/adapters/dom/morphdom` | Default Morphdom DomApi | [DOM update adapters](/docs/rendering.md#rendering-to-dom) |
| `@mnjs/adapters/dom/lit-html` | Default Lit DomApi | [DOM update adapters](/docs/rendering.md#rendering-to-dom) |

Add a companion package as a direct dependency when application code imports it.
Match Marionette package versions during prereleases. Optional integrations need only
their selected peers; see [Choosing integrations](/docs/choosing-integrations.md).

## TypeScript exports

Core also exports types for class instances and constructors, class configuration,
Region definitions and show options, Application readiness context, DOM events
and triggers, UI bindings, Behavior definitions, event and request contracts, and
provider contracts (`DataApiContract`, `DomApiContract`, `StateApiContract`,
`EventDelegator`, and `Renderer`). Use `import type` for these names. They do not
create runtime values or install a provider.

The package's declarations are the exact signature reference. Keep inferred
subclass types when possible rather than annotating an extended View as the broad
base instance type and losing its application-specific methods.


[Canonical source](/docs/markdown/docs/public-api.md) · [Source identity](/docs/manifest.json)
