import { StateMachine } from "./StateMachine.js"; import { GuardPredicate } from "./guards.js"; import { ResolveTypegenMeta, TypegenDisabled } from "./typegenTypes.js"; import { ActionFunction, AnyActorRef, AnyEventObject, Cast, ConditionalRequired, DelayConfig, EventObject, Invert, IsNever, MachineConfig, MachineContext, NonReducibleUnknown, ParameterizedObject, SetupTypes, StateSchema, ToChildren, UnknownActorLogic, Values } from "./types.js"; type ToParameterizedObject> = IsNever extends true ? never : Values<{ [K in keyof TParameterizedMap & string]: { type: K; params: TParameterizedMap[K]; }; }>; type ToProvidedActor, TActors extends Record> = IsNever extends true ? never : Values<{ [K in keyof TActors & string]: { src: K; logic: TActors[K]; id: IsNever extends true ? string | undefined : K extends keyof Invert ? Invert[K] & string : string | undefined; }; }>; type _GroupStateKeys = S extends any ? T['states'][S] extends { type: 'history'; } ? [never, never] : T extends { type: 'parallel'; } ? [S, never] : 'states' extends keyof T['states'][S] ? [S, never] : [never, S] : never; type GroupStateKeys = { nonLeaf: _GroupStateKeys[0]; leaf: _GroupStateKeys[1]; }; type ToStateValue = T extends { states: Record; } ? IsNever extends true ? {} : GroupStateKeys['leaf'] | (IsNever['nonLeaf']> extends false ? ConditionalRequired<{ [K in GroupStateKeys['nonLeaf']]?: ToStateValue; }, T extends { type: 'parallel'; } ? true : false> : never) : {}; type RequiredSetupKeys = IsNever extends true ? never : 'actors'; export declare function setup = {}, TChildrenMap extends Record = {}, TActions extends Record = {}, TGuards extends Record = {}, TDelay extends string = never, TTag extends string = string, TInput = NonReducibleUnknown, TOutput extends NonReducibleUnknown = NonReducibleUnknown, TEmitted extends EventObject = EventObject>({ schemas, actors, actions, guards, delays }: { schemas?: unknown; types?: SetupTypes; actors?: { [K in keyof TActors | Values]: K extends keyof TActors ? TActors[K] : never; }; actions?: { [K in keyof TActions]: ActionFunction, ToParameterizedObject, ToParameterizedObject, TDelay, TEmitted>; }; guards?: { [K in keyof TGuards]: GuardPredicate>; }; delays?: { [K in TDelay]: DelayConfig['params'], TEvent>; }; } & { [K in RequiredSetupKeys]: unknown; }): { createMachine: , ToParameterizedObject, ToParameterizedObject, TDelay, TTag, TInput, TOutput, TEmitted, ResolveTypegenMeta, ToParameterizedObject, ToParameterizedObject, TDelay, TTag, TEmitted>>>(config: TConfig) => StateMachine>, Record>, ToProvidedActor, ToParameterizedObject, ToParameterizedObject, TDelay, ToStateValue, TTag, TInput, TOutput, TEmitted, ResolveTypegenMeta, ToParameterizedObject, ToParameterizedObject, TDelay, TTag, TEmitted>>; }; export {};