# API reference

> Framework-specific API contracts and shared SymbioteNative core surfaces.

SymbioteNative has one native engine, but each adapter exposes that engine through its
framework's API conventions. The reference is organized around that split.

## Framework APIs

- [React API](/docs/api/react/) — callback props, React children, React refs,
  and React Native-like imports from `@symbiote-native/react`.
- [Vue API](/docs/api/vue/) — typed emits, slots, Vue refs, kebab-case template
  attributes, and imports from `@symbiote-native/vue`.
- [Angular API](/docs/api/angular/) — real `@Output()` `EventEmitter`s,
  `<ng-content>` projection, standalone components, and imports from
  `@symbiote-native/angular`.
- [Svelte API](/docs/api/svelte/) — a DOM shim over stock compiled Svelte
  output, so components are ordinary Svelte markup with `bind:`, events, and
  slots working as-is. Imports come from `@symbiote-native/svelte`.
- [Solid API](/docs/api/solid/) - signals and effects for lifecycle, `class`
  for styling, and a render-prop child (`Pressable`, list `renderItem`) that
  takes a Solid `Accessor` rather than a snapshot value. Imports come from
  `@symbiote-native/solid`. Implemented, tested, and verified on device like
  the other four adapters.

## Shared APIs

- [Components matrix](/docs/api/components/) — what components exist and how
  React, Vue, Angular, Svelte, and Solid differ for props, events,
  slots/snippets/children, and handles.
- [Core API](/docs/api/core/) — `@symbiote-native/engine` and `@symbiote-native/components`,
  the shared layers that keep adapters thin.

## How to read component docs

Each component API should answer four questions:

1. What props are shared across frameworks?
2. Which events are React callbacks, Vue emits, or Angular `@Output()` EventEmitters?
3. Does the component take children, slots, or `<ng-content>` projection?
4. Does it expose an imperative handle, and how does each framework access it?

This is why the docs avoid pretending every framework has identical props. The
native behavior is shared; the public contract is idiomatic per framework.
