import { ActorRefFrom, AnyActorLogic, AnyActorRef, AnyActorScope, AnyEventObject, AnyMachineSnapshot, ConditionalRequired, InputFrom, IsLiteralString, IsNotNever, ProvidedActor, RequiredActorOptions } from "./types.js"; type SpawnOptions = TActor extends { src: TSrc; } ? ConditionalRequired<[ options?: { id?: TActor['id']; systemId?: string; input?: InputFrom; syncSnapshot?: boolean; } & { [K in RequiredActorOptions]: unknown; } ], IsNotNever>> : never; type GetConcreteLogic = Extract['logic']; export type Spawner = IsLiteralString extends true ? (logic: TSrc, ...[options]: SpawnOptions) => ActorRefFrom> : (src: TLogic, options?: { id?: string; systemId?: string; input?: TLogic extends string ? unknown : InputFrom; syncSnapshot?: boolean; }) => TLogic extends string ? AnyActorRef : ActorRefFrom; export declare function createSpawner(actorScope: AnyActorScope, { machine, context }: AnyMachineSnapshot, event: AnyEventObject, spawnedChildren: Record): Spawner; export {};