interface TmpI {
    path: string;
    cleanupCallback: () => void;
}
/**
 * Creates a temporary directory in /tmp to download templates
 * eg. tmp-86625-iMiAxZVeTy1U/templates
 */
export declare function setUpTempDirectory(): Promise<TmpI>;
/**
 * Copies template files from tempory directory to destination directory.
 * If --force is not used, user is asked by a promt to overwrite colliding files or not
 * @param tmpDir template directory to copy from
 * @param destination directory to copy template to
 * @param force if true, the colliding files are overwritten by default
 */
export declare function copyTemplatetoDestination(tmpDir: string, destination: string, force: boolean): Promise<void>;
/**
 * Downloads repo from git url to destination path
 * @param url git url (<organization/repo>)
 * @param destination location to download repo
 */
export declare function fetchRepository(url: string, destination: string): Promise<void>;
export {};
