import { AStepper, TStepperSteps } from '../lib/astepper.js'; type TStripOptionalPatterns = S extends `${infer Before}(${string})?${infer After}` ? TStripOptionalPatterns<`${Before}${After}`> : S; type TPlaceholderEntries = TPlaceholderEntriesImpl>; type TPlaceholderEntriesImpl = S extends `${string}{${infer Placeholder}}${infer After}` ? [...TPlaceholderEntry, ...TPlaceholderEntriesImpl] : []; type TPlaceholderEntry

= P extends `${infer Name}:${infer Domain}` ? [[Name, Domain]] : [[P, undefined]]; type TPlaceholderValueType = Domain extends 'statement' ? string | TActionExecutor : Name extends 'statement' ? string | TActionExecutor : string; type TPlaceholderDomain, Name extends string> = Extract extends [Name, infer Domain] ? Domain extends string | undefined ? Domain : undefined : undefined; type TArgsInputFromEntries> = { [K in Entries[number][0]]: TPlaceholderValueType>; }; type TArgsResolvedFromEntries> = { [K in Entries[number][0]]: string; }; type TActionArgsInput = TArgsInputFromEntries>; type TActionArgsResolved = TArgsResolvedFromEntries>; export type TActionExecutor = () => { actionName: string; args: TActionArgsResolved; gwta: string; }; export type TCurriedAction = (args: TActionArgsInput) => TActionExecutor; export type TKirejiStep = string | TActionExecutor; export type TKirejiExport = { [featureName: string]: TKirejiStep[] | string; }; type TActionsFromStepper = { [K in keyof S]: S[K] extends { gwta: infer G; } ? G extends string ? TCurriedAction : never : never; }; type TStepMap = T extends { typedSteps: infer U; } ? U extends TStepperSteps ? U : T['steps'] : T['steps']; export declare const withAction: (stepper: T) => TActionsFromStepper>; export {}; //# sourceMappingURL=withAction.d.ts.map