import * as T from '../types';
import * as IST from '../actions/input/inputSpecTypes';
import { Action, ActionInfo } from './setupActions';
export type RunActionInput = Input | ((prev?: {
spec: IST.InputSpec;
value: Input | null;
}) => Input);
export declare const runAction: >(options: {
effects: T.Effects;
actionId: T.ActionId;
input?: RunActionInput;
}) => Promise;
type GetActionInputType> = A extends Action ? I : never;
type TaskBase = {
reason?: string;
replayId?: string;
};
type TaskInput> = {
kind: 'partial';
value: T.DeepPartial>;
};
export type TaskOptions> = TaskBase & ({
when?: Exclude;
input?: TaskInput;
} | {
when: T.TaskTrigger & {
condition: 'input-not-matches';
};
input: TaskInput;
});
export declare const createTask: >(options: {
effects: T.Effects;
packageId: T.PackageId;
action: T;
severity: T.TaskSeverity;
options?: TaskOptions;
}) => Promise;
export {};