import { EditMode } from "@atomist/automation-client/lib/operations/edit/editModes"; import { Project } from "@atomist/automation-client/lib/project/Project"; import { NoParameters } from "@atomist/automation-client/lib/SmartParameters"; import { TransformResult } from "./CodeTransform"; import { ProjectOperationRegistration } from "./ProjectOperationRegistration"; import { ProjectsOperationRegistration } from "./ProjectsOperationRegistration"; import { PushAwareParametersInvocation } from "./PushAwareParametersInvocation"; /** * Signature to create an EditMode out of a PushAwareParametersInvocation and Project. */ export declare type TransformPresentation = (papi: PushAwareParametersInvocation, p: Project) => EditMode; /** * Type for registering a project transform, which can make changes * across projects */ export interface CodeTransformRegistration extends ProjectOperationRegistration, ProjectsOperationRegistration { /** * How to present the transformation - would you like a Pull Request or a branch commit? * What would you like in the commit message, or the title of the pull request? * All these and more can be specified in the EditMode, which this function can * choose based on the invocation of this command and the code itself. * * This defaults to a pull request with branch name derived from the transform name. */ transformPresentation?: TransformPresentation; /** * React to results from running transform across one or more projects */ onTransformResults?(results: TransformResult[], ci: PushAwareParametersInvocation): Promise; } /** * Signature of a decorator function that can add additional behavior * to a CodeTransformRegistration. */ export declare type CodeTransformRegistrationDecorator = (ctr: CodeTransformRegistration) => CodeTransformRegistration; //# sourceMappingURL=CodeTransformRegistration.d.ts.map