import { CliExeca, CliFs, CliLoadFile, CliPlugins, type CommandProvider, PackageManagersModule, ProjectPackageJson, type Task } from "@tsed/cli-core";
import type { PromptQuestion } from "@tsed/cli-prompts";
import type { InitCmdContext } from "../../interfaces/index.js";
import type { InitOptions } from "../../interfaces/InitCmdOptions.js";
import { PlatformsModule } from "../../platforms/PlatformsModule.js";
import { RuntimesModule } from "../../runtimes/RuntimesModule.js";
import { CliProjectService } from "../../services/CliProjectService.js";
export declare class InitCmd implements CommandProvider {
    protected configuration: any;
    protected cliPlugins: CliPlugins;
    protected packageJson: ProjectPackageJson;
    protected packageManagers: PackageManagersModule;
    protected runtimes: RuntimesModule;
    protected platforms: PlatformsModule;
    protected cliPackageJson: import("@tsed/cli-core").PackageJson;
    protected cliLoadFile: CliLoadFile;
    protected project: CliProjectService;
    protected execa: CliExeca;
    protected fs: CliFs;
    $prompt(initialOptions: Partial<InitOptions>): Promise<PromptQuestion[]>;
    $mapContext(ctx: any): InitOptions;
    protected isLaunchedWithBunx(): boolean;
    protected filterOnlyBun(values: string[]): string[];
    protected writeRcFiles(ctx: InitOptions): Promise<void>;
    preExec(ctx: InitOptions): Promise<void>;
    $exec(ctx: InitOptions): Promise<Task[]>;
    $afterPostInstall(): Task<any>[];
    resolveRootDir(ctx: Partial<InitOptions>): void;
    addScripts(ctx: InitOptions): void;
    addDependencies(ctx: InitOptions): void;
    addDevDependencies(ctx: InitOptions): void;
    addFeatures(ctx: InitOptions): void;
    baseFiles(ctx: InitCmdContext): Promise<void>;
    renderFiles(ctx: InitOptions): Promise<void>;
    $onFinish(data: {
        commandName?: string;
        rawArgs?: string[];
        features?: string[];
    }, er?: Error): void;
    private buildIssueReport;
}
