import { TImageMetadata, TTestSpecification } from "@shepherdorg/metadata"; import { IStatefulExecutableAction, TActionExecutionOptions, TRollbackResult } from "../../deployment-types"; import { ICreateDockerActions } from "../docker-action/docker-action"; import { ILog } from "@shepherdorg/logger"; export interface ICreateDeploymentTestAction { createDeploymentTestAction(deployTestDeclaration: TTestSpecification, shepherdMetadata: TImageMetadata, onFailureCallMe?: IRollbackAction): IStatefulExecutableAction; } export declare type TDeploymentTestActionFactoryDependencies = { dockerActionFactory: ICreateDockerActions; logger: ILog; }; export interface IRollbackAction { rollback(actionExecutionOptions: TActionExecutionOptions): Promise; } export declare function createDeploymentTestActionFactory({ dockerActionFactory, logger, }: TDeploymentTestActionFactoryDependencies): { createDeploymentTestAction: (deployTestDeclaration: TTestSpecification, shepherdMetadata: TImageMetadata, onTestFailureCallMe?: IRollbackAction | undefined) => IStatefulExecutableAction; };