import { type DurationString, type StepApi } from "@sonamu-kit/tasks/internal"; export type StepFunction = (...args: TArgs) => TResult; export type RunnableStep = { run: StepFunction>; }; export type MethodNames = T[TKey] extends (...args: infer _TArgs) => infer _TResult ? TKey : never; export type MethodArguments = T[TKey] extends (...args: infer TArgs) => unknown ? TArgs : never; export type MethodReturnType = T[TKey] extends (this: T, ...args: infer _TArgs) => infer TResult ? TResult : never; export declare class StepWrapper { #private; constructor(stepApi: StepApi); get, TResult extends MethodReturnType>(config: { name: string; }, object: T, name: MethodNames): RunnableStep; get, TResult extends MethodReturnType>(object: T, name: MethodNames): RunnableStep; define(config: { name: string; }, fn: StepFunction): { run: (...args: TArgs) => Promise; }; sleep(name: string, duration: DurationString): Promise; } //# sourceMappingURL=step-wrapper.d.ts.map