type str = string;
type bool = boolean;
export default class repositoryCloner {
    #private;
    /**
     * Constructs a new RepositoryCloner instance.
     * @param {string} Provider - The name of the provider to use for the repository.
     * @param {string} [UserName] - The username for the repository.
     * @param {boolean} [AutoDelete=false] - Whether to delete the old repository after cloning (default is false).
     * @param {string} [DirectoryName] - The directory to clone the repository (optional).
     */
    constructor(Provider: str, UserName: str, AutoDelete?: boolean, DirectoryName?: str);
    /**
     * Clone a repository from a specified provider to a directory.
     * @param {string} [RepositoryName] - The name of the repository to clone.
     * @param {string} [Branch] - Branch name to clone (Default main)
     * @returns {Promise<bool | undefined>} - A Promise that resolves to true if the download finishes successfully, false if it fails, or undefined if an error occurs.
     */
    Clone(RepositoryName?: str, Branch?: string): Promise<bool | undefined>;
    /**
     * Clone a repository from the specified URL using git clone command.
     * @param {string} [RepositoryURL] - The URL of the repository to clone.
     * @param {string} [Branch] - Branch name to clone (Default main)
     * @returns {Promise<bool | undefined>} - A Promise that resolves to true if the download finishes successfully, false if it fails, or undefined if an error occurs.
     */
    static Clone(RepositoryURL?: str, Branch?: string): Promise<bool | undefined>;
}
export {};
