import { ActionArgs, ActionFunction, AnyActorLogic, ConditionalRequired, EventObject, InputFrom, IsLiteralString, IsNotNever, MachineContext, Mapper, ParameterizedObject, ProvidedActor, RequiredActorOptions, UnifiedArg } from "../types.js"; type ResolvableActorId = TId | ((args: UnifiedArg) => TId); export interface SpawnAction { (args: ActionArgs, params: TParams): void; _out_TActor?: TActor; } interface SpawnActionOptions { id?: ResolvableActorId; systemId?: string; input?: Mapper, TEvent> | InputFrom; syncSnapshot?: boolean; } type DistributeActors = TActor extends any ? ConditionalRequired<[ src: TActor['src'], options?: SpawnActionOptions & { [K in RequiredActorOptions]: unknown; } ], IsNotNever>> : never; type SpawnArguments = IsLiteralString extends true ? DistributeActors : [ src: string | AnyActorLogic, options?: { id?: ResolvableActorId; systemId?: string; input?: unknown; syncSnapshot?: boolean; } ]; export declare function spawnChild(...[src, { id, systemId, input, syncSnapshot }]: SpawnArguments): ActionFunction; export {};