import { Context, Effect, type ParseResult } from 'effect'; import { type SlotFill, type Structure, type UiContract } from '@playfast/reform'; import { type AnyComposition, type AnyScene, type AnySlot, type AnySlotChild, type TriggerRegistryApi, type WireNode, type WireTree } from '@playfast/reform/internal'; import { type Mounted } from './wireNode.js'; export interface RenderSceneToWireOptions { readonly register: TriggerRegistryApi['register']; } export declare const serviceFromContext: (context: Context.Context, tag: Context.Tag, missing: string) => Effect.Effect; export declare const capturedSlotProvider: (context: Context.Context, slotDefinition: AnySlot) => Effect.Effect; export declare const renderCapturedComposition: (context: Context.Context, composition: AnyComposition, props: unknown) => Effect.Effect, never, never>; export declare const enqueueStructureSlot: (parent: Mounted, slotName: string, child: AnyComposition, fill: SlotFill) => ReadonlyArray; export type SlotProvider = (slotDefinition: AnySlot) => Effect.Effect; export declare const collect: (root: AnyComposition, provideSlot: SlotProvider) => Effect.Effect, never, Services>; export type CompositionRenderer = (composition: AnyComposition, props: unknown) => Effect.Effect, never, Services>; export interface RenderLevel { (frontier: ReadonlyArray, bindings: ReadonlyMap, register: TriggerRegistryApi['register'], render: CompositionRenderer): Effect.Effect, ParseResult.ParseError, Services>; } export declare const renderLevel: RenderLevel; export declare const renderSceneWith: (scene: AnyScene, options: RenderSceneToWireOptions | undefined, provideSlot: SlotProvider, render: CompositionRenderer) => Effect.Effect; //# sourceMappingURL=wireRender.d.ts.map