// Copyright 2024 The Lynx Authors. All rights reserved.
// Licensed under the Apache License Version 2.0 that can be found in the
// LICENSE file in the root directory of this source tree.
import { Suspense, createElement, lazy } from 'preact/compat';
import './lynx.js';
import { useMemo } from './core/hooks/react.js';
import { __root } from './root.js';
import { factory as factory2 } from './snapshot/compat/componentIs.js';
import { loadLazyBundle } from './snapshot/lynx/lazy-bundle.js';
import { BackgroundSnapshotInstance } from './snapshot/snapshot/backgroundSnapshot.js';
import { __page, __pageId, createSnapshot, snapshotManager } from './snapshot/snapshot/definition.js';
import { DynamicPartType } from './snapshot/snapshot/dynamicPartType.js';
import { snapshotCreateList } from './snapshot/snapshot/list.js';
import { SnapshotInstance, snapshotCreatorMap } from './snapshot/snapshot/snapshot.js';
export { CHILDREN, COMPONENT, DIFF, DIRTY, DOM, FLAGS, INDEX, PARENT } from './shared/render-constants.js';
export { __page, __pageId, __root };
export { BackgroundSnapshotInstance, SnapshotInstance, snapshotCreateList, createSnapshot, snapshotManager, snapshotCreatorMap, };
export const __DynamicPartSlot = DynamicPartType.Slot;
export const __DynamicPartMultiChildren = DynamicPartType.MultiChildren;
export const __DynamicPartChildren = DynamicPartType.Children;
export const __DynamicPartListChildren = DynamicPartType.ListChildren;
export { __DynamicPartChildren_0, __DynamicPartSlotV2_0 } from './snapshot/snapshot/dynamicPartType.js';
// v2 slot
export const __DynamicPartSlotV2 = DynamicPartType.SlotV2;
export const __DynamicPartListSlotV2 = DynamicPartType.ListSlotV2;
export { updateSpread } from './snapshot/snapshot/spread.js';
export { updateEvent } from './snapshot/snapshot/event.js';
export { updateRef, transformRef } from './snapshot/snapshot/ref.js';
export { updateWorkletEvent } from './snapshot/snapshot/workletEvent.js';
export { updateWorkletRef } from './snapshot/snapshot/workletRef.js';
export { updateGesture } from './snapshot/snapshot/gesture.js';
export { updateListItemPlatformInfo } from './snapshot/snapshot/platformInfo.js';
export { options, 
// Component is not an internal API, but refresh needs it from 'react/internal'
Component, process, } from 'preact';
export { loadDynamicJS, __dynamicImport } from './snapshot/lynx/dynamic-js.js';
export { withInitDataInState } from './snapshot/compat/initData.js';
export { wrapWithLynxComponent } from './snapshot/compat/lynxComponent.js';
/**
 * @internal a polyfill for <component is=? />
 */
export const __ComponentIsPolyfill = /* @__PURE__ */ factory2(
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
{ Suspense, lazy, createElement, useMemo }, loadLazyBundle);
export { loadLazyBundle } from './snapshot/lynx/lazy-bundle.js';
export { transformToWorklet } from './snapshot/worklet/call/transformToWorklet.js';
export { registerWorkletOnBackground } from './snapshot/worklet/hmr.js';
export { loadWorkletRuntime } from '@lynx-js/react/worklet-runtime/bindings';
//# sourceMappingURL=internal.js.map