<!-- source-hash: a9946becafacc3106b896d97c9d39009 -->
Barrel export file for the `embed-shims/` module, providing environment-aware shims for Next.js primitives (`Image`, `Link`, `dynamic`, and navigation hooks) that work in any host environment (Vite, CRA, esbuild) while allowing full Next.js optimization via opt-in registration.

## Key Components

| Export | Source | Description |
|--------|--------|-------------|
| `Image` / `registerImage` | `./next-image` | Next.js Image Optimization shim |
| `Link` / `registerLink` | `./next-link` | Client-router prefetching shim |
| `dynamic` / `registerDynamic` | `./next-dynamic` | Dynamic import shim |
| `useRouter`, `usePathname`, `useSearchParams`, `useParams` | `./next-navigation` | Navigation hooks shim |
| `redirect`, `permanentRedirect`, `notFound`, `RedirectType` | `./next-navigation` | Navigation utilities shim |
| `registerNavigation` / `NavigationImpl` | `./next-navigation` | Navigation registration and type |

## Usage Example

**Default (non-Next host — Vite, CRA, esbuild):**

```typescript
import { Link, Image, dynamic, useRouter } from '@flamingo-stack/openframe-frontend-core/embed-shims'

// Works out of the box with plain HTML equivalents — no config needed
```

**Next.js host — register real implementations once at app init:**

```typescript
import { registerImage, registerLink, registerDynamic, registerNavigation } from '@flamingo-stack/openframe-frontend-core/embed-shims'
import NextImage from 'next/image'
import NextLink from 'next/link'
import * as NextNavigation from 'next/navigation'

registerImage(NextImage)
registerLink(NextLink)
registerDynamic(/* next/dynamic */)
registerNavigation(NextNavigation)
// All lib components now delegate to real Next.js primitives
```

**Per-shim import:**

```typescript
import Link  from '@flamingo-stack/openframe-frontend-core/embed-shims/next-link'
import Image from '@flamingo-stack/openframe-frontend-core/embed-shims/next-image'
```