import * as plugins from './meta.plugins.js';
import * as interfaces from './meta.interfaces.js';
export declare class Meta {
    cwd: string;
    dirName: string;
    filePaths: {
        metaJson: string;
        gitIgnore: string;
        packageJson: string;
    };
    constructor(cwdArg: string);
    /**
     * the meta repo data
     */
    metaRepoData: interfaces.IMetaRepoData;
    smartshellInstance: plugins.smartshell.Smartshell;
    /**
     * sorts the metaRepoData
     */
    sortMetaRepoData(): Promise<void>;
    /**
     * reads the meta file from disk
     */
    readDirectory(): Promise<void>;
    /**
     * generates the gitignore file and stores it on disk
     */
    generateGitignore(): Promise<string>;
    /**
     * write to disk
     */
    writeToDisk(): Promise<void>;
    /**
     * push to remote
     */
    syncToRemote(gitCleanArg?: boolean): Promise<void>;
    /**
     * update the locally cloned repositories
     */
    updateLocalRepos(): Promise<void>;
    /**
     * init a new meta project
     */
    initProject(): Promise<void>;
    /**
     * adds a project
     */
    addProject(projectNameArg: string, gitUrlArg: any): Promise<void>;
    /**
     * removes a project
     */
    removeProject(projectNameArg: string): Promise<void>;
}
