/*** Copyright (c) Meta Platforms, Inc. and affiliates.** This source code is licensed under the MIT license found in the* LICENSE file in the root directory of this source tree.** @flow*/// This is a host config that's used for the `react-server` package on npm.// It is only used by third-party renderers.//// Its API lets you pass the host config as an argument.// However, inside the `react-server` we treat host config as a module.// This file is a shim between two worlds.//// It works because the `react-server` bundle is wrapped in something like://// module.exports = function ($$$config) {// /* renderer code */// }//// So `$$$config` looks like a global variable, but it's// really an argument to a top-level wrapping function.import type {Request} from 'react-server/src/ReactFizzServer';
import type {TransitionStatus} from 'react-reconciler/src/ReactFiberConfig';
declare var $$$config: any;
export opaque type Destination = mixed; // eslint-disable-line no-undef
export opaque type RenderState = mixed;
export opaque type ResumableState = mixed;
export opaque type BoundaryResources = mixed;
export opaque type FormatContext = mixed;
export type {TransitionStatus};
export const isPrimaryRenderer = false;
export const supportsRequestStorage = false;
export const requestStorage: AsyncLocalStorage<Request> = (null: any);
export const resetResumableState = $$$config.resetResumableState;
export const getChildFormatContext = $$$config.getChildFormatContext;
export const makeId = $$$config.makeId;
export const pushTextInstance = $$$config.pushTextInstance;
export const pushStartInstance = $$$config.pushStartInstance;
export const pushEndInstance = $$$config.pushEndInstance;
export const pushStartCompletedSuspenseBoundary =
$$$config.pushStartCompletedSuspenseBoundary;
export const pushEndCompletedSuspenseBoundary =
$$$config.pushEndCompletedSuspenseBoundary;
export const pushSegmentFinale = $$$config.pushSegmentFinale;
export const pushFormStateMarkerIsMatching =
$$$config.pushFormStateMarkerIsMatching;
export const pushFormStateMarkerIsNotMatching =
$$$config.pushFormStateMarkerIsNotMatching;
export const writeCompletedRoot = $$$config.writeCompletedRoot;
export const writePlaceholder = $$$config.writePlaceholder;
export const writeStartCompletedSuspenseBoundary =
$$$config.writeStartCompletedSuspenseBoundary;
export const writeStartPendingSuspenseBoundary =
$$$config.writeStartPendingSuspenseBoundary;
export const writeStartClientRenderedSuspenseBoundary =
$$$config.writeStartClientRenderedSuspenseBoundary;
export const writeEndCompletedSuspenseBoundary =
$$$config.writeEndCompletedSuspenseBoundary;
export const writeEndPendingSuspenseBoundary =
$$$config.writeEndPendingSuspenseBoundary;
export const writeEndClientRenderedSuspenseBoundary =
$$$config.writeEndClientRenderedSuspenseBoundary;
export const writeStartSegment = $$$config.writeStartSegment;
export const writeEndSegment = $$$config.writeEndSegment;
export const writeCompletedSegmentInstruction =
$$$config.writeCompletedSegmentInstruction;
export const writeCompletedBoundaryInstruction =
$$$config.writeCompletedBoundaryInstruction;
export const writeClientRenderBoundaryInstruction =
$$$config.writeClientRenderBoundaryInstruction;
export const prepareHostDispatcher = $$$config.prepareHostDispatcher;
export const NotPendingTransition = $$$config.NotPendingTransition;
// -------------------------// Resources// -------------------------export const writePreamble = $$$config.writePreamble;
export const writeHoistables = $$$config.writeHoistables;
export const writePostamble = $$$config.writePostamble;
export const hoistResources = $$$config.hoistResources;
export const createResources = $$$config.createResources;
export const createBoundaryResources = $$$config.createBoundaryResources;
export const setCurrentlyRenderingBoundaryResourcesTarget =
$$$config.setCurrentlyRenderingBoundaryResourcesTarget;
export const writeResourcesForBoundary = $$$config.writeResourcesForBoundary;