/** * Copyright (c) 2026 Sergio Turolla * * This file is part of r-machine, licensed under the * GNU Affero General Public License v3.0 (AGPL-3.0-only). * * You may use, modify, and distribute this file under the terms * of the AGPL-3.0. See LICENSE in this package for details. * * If you need to use this software in a proprietary project, * contact: licensing@codecarvings.com */ import type { AnyResAtlas, GateListPlugHead, GateMapPlugHead, GatePluginCtx, HandleList, HandleMap, ListPlugin, MapPlugin, NamespaceMap, PlugBody, ValidatedDepListType, ValidatedDepMapType } from "r-machine/core"; import type { AnyLocale } from "r-machine/locale"; export type ReactPlugKitMap = NamespaceMap; type ReactPlugDepMap = HandleMap; type ReactPlugDepList = HandleList; type ReactPluginCtx> = GatePluginCtx; type ReactMapPlugin, DM extends ReactPlugDepMap> = MapPlugin>; type ReactListPlugin, DL extends ReactPlugDepList> = ListPlugin>; interface ReactMapPlugHead, DM extends ReactPlugDepMap, CTX extends ReactPluginCtx> extends GateMapPlugHead { } interface ReactListPlugHead, DL extends ReactPlugDepList, CTX extends ReactPluginCtx> extends GateListPlugHead { } interface ReactMapPlug, DM extends ReactPlugDepMap> extends PlugBody>> { readonly useR: () => ReactMapPlugin; } interface ReactListPlug, DL extends ReactPlugDepList> extends PlugBody>> { readonly useR: () => ReactListPlugin; } export interface ReactPlugDefiner> { (): ReactMapPlug;
>(...deps: DL): ValidatedDepListType>; >(deps: DM): ValidatedDepMapType>; } export {};