import { CliExeca, CliFs, CliLoadFile, CliPlugins, CliService, type CommandProvider, PackageManagersModule, ProjectPackageJson, type QuestionOptions, type Task } from "@tsed/cli-core";
import { OutputFilePathPipe } from "../../pipes/OutputFilePathPipe.js";
import { InitPlatformsModule } from "../../platforms/InitPlatformsModule.js";
import { RuntimesModule } from "../../runtimes/RuntimesModule.js";
import { RootRendererService } from "../../services/Renderer.js";
import type { InitCmdContext } from "./interfaces/InitCmdContext.js";
import type { InitOptions } from "./interfaces/InitOptions.js";
export declare class InitCmd implements CommandProvider {
    protected configuration: any;
    protected cliPlugins: CliPlugins;
    protected packageJson: ProjectPackageJson;
    protected packageManagers: PackageManagersModule;
    protected runtimes: RuntimesModule;
    protected platforms: InitPlatformsModule;
    protected cliPackageJson: import("@tsed/cli-core").PackageJson;
    protected cliService: CliService;
    protected cliLoadFile: CliLoadFile;
    protected rootRenderer: RootRendererService;
    protected outputFilePathPipe: OutputFilePathPipe;
    protected execa: CliExeca;
    protected fs: CliFs;
    checkPrecondition(ctx: InitCmdContext): void;
    $beforePrompt(initialOptions: Partial<InitOptions>): Promise<any>;
    $prompt(initialOptions: Partial<InitOptions>): QuestionOptions;
    $mapContext(ctx: any): InitCmdContext;
    $beforeExec(ctx: InitCmdContext): Promise<any>;
    $exec(ctx: InitCmdContext): Promise<Task[]>;
    $afterPostInstall(): {
        title: string;
        task: () => import("rxjs").Observable<unknown>;
    }[];
    resolveRootDir(ctx: Partial<InitCmdContext>): void;
    addScripts(ctx: InitCmdContext): void;
    addDependencies(ctx: InitCmdContext): void;
    addDevDependencies(ctx: InitCmdContext): void;
    addFeatures(ctx: InitCmdContext): void;
    private generateFiles;
}
