import { Project } from "@atomist/automation-client";
import { CodeTransform } from "@atomist/sdm";
import { SpringBootProjectStructure } from "./SpringBootProjectStructure";
import { SpringProjectCreationParameters } from "./SpringProjectCreationParameters";
/**
 * Infer the Spring Boot structure and rename the class.
 * @param {string} serviceClassName
 * @param {Project} p
 * @return {Promise<Project>}
 */
export declare function inferSpringStructureAndRename(serviceClassName: string, p: Project): Promise<Project>;
/**
 * Infer the Spring Boot structure and perform an action
 * @param {string} serviceClassName
 * @param {Project} p
 * @return {Promise<Project>}
 */
export declare function inferSpringStructureAndDo(p: Project, action: (p: Project, structure: SpringBootProjectStructure, params?: SpringProjectCreationParameters) => Promise<Project>, params?: SpringProjectCreationParameters): Promise<Project>;
export declare const inferSpringStructureAndRenameTransform: CodeTransform<SpringProjectCreationParameters>;
export declare function inferSpringStructureAndDoTransform(action: (p: Project, structure: SpringBootProjectStructure) => Promise<Project>): CodeTransform<SpringProjectCreationParameters>;
