import { BuildMethods, BuildMethodsConfig, ModifierParams, RunConfig } from "../types/common"; import { Applier, Modifier } from "../types/core"; export type BuildModifiersSequentially, M extends Readonly, U extends BuildMethodsConfig> = { [K in M[number] as K["name"]]: ((...item: ModifierParams) => BuildModifiersSequentially) & BuildModifiersSequentially; } & { run: (...items: Parameters) => SequentialBuilder; }; export type SequentialBuilder, M extends Readonly, U extends BuildMethodsConfig> = { [K in A[number] as `apply${Capitalize}`]: ((...items: Parameters) => SequentialBuilder) & BuildModifiersSequentially; } & BuildMethods; }>; export type BuildModifiersDirectly, M extends Readonly, U extends BuildMethodsConfig> = { [K in M[number] as K["name"]]: ((...items: ModifierParams) => DirectBuilder) & BuildModifiersDirectly; }; export type DirectBuilder, M extends Readonly, U extends BuildMethodsConfig> = { [K in A[number] as `apply${Capitalize}`]: ((...items: Parameters) => DirectBuilder) & BuildModifiersDirectly; } & BuildMethods; }>; export declare const getRunners: (_: A, __: M, ___: U) => [{ readonly name: "sequential"; readonly build: ({ helpers: { getCommonBuilder } }: { runConfig: RunConfig; setRunConfig: (nextRunConfig: Partial) => void; builder: any; helpers: Record unknown> & { getCommonBuilder: (options?: import("../helpers/create-common-builder").CommonBuilderProps) => any; createApplierConfig: import("../../lib/common").CreateApplierConfig; createModifierConfig: import("../../lib/common").CreateModifierConfig; }; }) => SequentialBuilder; }, { readonly name: "direct"; readonly build: ({ helpers: { getCommonBuilder } }: { runConfig: RunConfig; setRunConfig: (nextRunConfig: Partial) => void; builder: any; helpers: Record unknown> & { getCommonBuilder: (options?: import("../helpers/create-common-builder").CommonBuilderProps) => any; createApplierConfig: import("../../lib/common").CreateApplierConfig; createModifierConfig: import("../../lib/common").CreateModifierConfig; }; }) => DirectBuilder; readonly editRunConfig: (runConfig: RunConfig) => { appliers: { args: any; modifiers: any[]; item: Applier; }[]; runner: import("../types/core").Runner; }; }]; //# sourceMappingURL=runners.d.ts.map