import { DirectInvokable, NamedArgs } from '@glint/template/-private/integration'; export type ActionNamedArgs = NamedArgs<{ value?: keyof T; }>; export type ActionResult> = undefined extends Args['value'] ? T : Args['value'] extends keyof T ? T[Args['value']] : T; export type ActionKeyword = DirectInvokable<{ , Params extends unknown[]>( f: (...rest: Params) => Ret, args?: Args ): (...rest: Params) => ActionResult; , Params extends unknown[]>( f: (a: A, ...rest: Params) => Ret, a: A, args?: Args ): (...rest: Params) => ActionResult; , Params extends unknown[]>( f: (a: A, b: B, ...rest: Params) => Ret, a: A, b: B, args?: Args ): (...rest: Params) => ActionResult; , Params extends unknown[]>( f: (a: A, b: B, c: C, ...rest: Params) => Ret, a: A, b: B, c: C, args?: Args ): (...rest: Params) => ActionResult; , Params extends unknown[]>( f: (a: A, b: B, c: C, d: D, ...rest: Params) => Ret, a: A, b: B, c: C, d: D, args?: Args ): (...rest: Params) => ActionResult; (action: string, ...rest: unknown[]): (...rest: unknown[]) => unknown; }>;