import { Project } from "projen"; /** * Represents a project component, but can be constructed before the * project is constructed. This is needed if your component needs to * synthesize options to pass into the project. */ export declare abstract class PseudoComponent { /** * Called before synthesis. * * @param _project the project to apply to */ preSynthesize(_project: ProjectType): void; /** * Synthesizes files to the project output directory. * * @param _project the project to apply to */ synthesize(_project: ProjectType): void; /** * Called after synthesis. Order is *not* guaranteed. * * @param _project the project to apply to */ postSynthesize(_project: ProjectType): void; /** * adds the pseudo-component to the project * * @param project the project to apply to */ addToProject(project: ProjectType): void; /** * called after the pseudo-component is added to the project * * @param _project the project to apply to */ postAddToProject(_project: ProjectType): void; }