import * as _oclif_core_lib_interfaces_parser_js from '@oclif/core/lib/interfaces/parser.js';
import { Command } from '@oclif/core';

declare class Dev extends Command {
    static args: {
        account: _oclif_core_lib_interfaces_parser_js.Arg<string, Record<string, unknown>>;
    };
    static description: string;
    static examples: string[];
    static flags: {};
    run(): Promise<void>;
    private runMainTasks;
    private runPostTasks;
    private runPreTasks;
}

declare class Build extends Command {
    static args: {
        account: _oclif_core_lib_interfaces_parser_js.Arg<string, Record<string, unknown>>;
        moduleList: _oclif_core_lib_interfaces_parser_js.Arg<string | undefined, Record<string, unknown>>;
    };
    static description: string;
    static examples: string[];
    static flags: {};
    run(): Promise<void>;
    private runMainTasks;
    private runPostTasks;
    private runPreTasks;
}

declare class Create extends Command {
    static ACCOUNT_PROMPT: string;
    static MODULE_PROMPT: string;
    static PATH_PROMPT: (moduleName: string) => string;
    static args: {
        account: _oclif_core_lib_interfaces_parser_js.Arg<string | undefined, Record<string, unknown>>;
        moduleName: _oclif_core_lib_interfaces_parser_js.Arg<string | undefined, Record<string, unknown>>;
        path: _oclif_core_lib_interfaces_parser_js.Arg<string | undefined, Record<string, unknown>>;
    };
    static description: string;
    static examples: string[];
    static flags: {};
    run(): Promise<void>;
}

declare class Serve extends Command {
    static args: {
        account: _oclif_core_lib_interfaces_parser_js.Arg<string, Record<string, unknown>>;
    };
    static description: string;
    static examples: string[];
    static flags: {};
    run(): Promise<void>;
    private runMainTasks;
    private runPostTasks;
    private runPreTasks;
}

declare class Init extends Command {
    static args: {};
    static description: string;
    static examples: string[];
    static flags: {
        'from-discovery': _oclif_core_lib_interfaces_parser_js.BooleanFlag<boolean>;
    };
    run(): Promise<void>;
    /**
     * Starts a store fresh
     */
    private freshStart;
    /**
     * Use a template from the available templates
     */
    private execTemplate;
    private fetchDevDependencies;
    /**
     * Migrates an existent store to the monorepo struture
     */
    private migrate;
    /**
     * Move a file between two directories.
     * It handles the creation of the destDir case its needed.
     * @param sourceDir Path of the source directory
     * @param destDir Path of the destination directory
     * @param file Name of the file
     */
    private moveFile;
}

declare const COMMANDS: {
    dev: typeof Dev;
    serve: typeof Serve;
    create: typeof Create;
    build: typeof Build;
    init: typeof Init;
};

export { COMMANDS };
