/**
 * Exposes the API to generate the ace manifest file. The manifest file
 * contains the meta data of all the registered commands. This speeds
 * up the boot cycle of ace
 */
export declare class ManifestGenerator {
    private basePath;
    private commands;
    /**
     * Here we keep track of processed command files to prevent loops. Mainly when using
     * listDirectoryFiles to export command paths from directory and not excluding current file.
     */
    private processedFiles;
    constructor(basePath: string, commands: string[]);
    /**
     * Loads a given command from the disk. A command line can recursively
     * exposed sub command paths. But they should be resolvable using
     * the base path
     */
    private loadCommand;
    /**
     * Loads all the commands from the disk recursively.
     */
    private loadCommands;
    /**
     * Generates and writes the ace manifest file to the base path
     */
    generate(): Promise<void>;
}
