import { RemoteOptions, SyncResultCombineDatabase } from '../types';
import { GitDDBInterface } from '../types_gitddb';
/**
 * Clone a remote repository and combine the current local working directory with it.
 * TODO: Must catch errors
 *
 * @throws {@link Err.FileRemoveTimeoutError}
 *
 * @throws # Errors from RemoteEngine[engineName].clone
 * @throws - {@link RemoteErr.InvalidURLFormatError}
 * @throws - {@link RemoteErr.NetworkError}
 * @throws - {@link RemoteErr.HTTPError401AuthorizationRequired}
 * @throws - {@link RemoteErr.HTTPError404NotFound}
 * @throws - {@link RemoteErr.CannotConnectError}
 *
 * @throws - {@link RemoteErr.HttpProtocolRequiredError}
 * @throws - {@link RemoteErr.InvalidRepositoryURLError}
 * @throws - {@link RemoteErr.InvalidSSHKeyPathError}
 *
 * @throws - {@link RemoteErr.InvalidAuthenticationTypeError}
 *
 * @public
 */
export declare function combineDatabaseWithTheirs(gitDDB: GitDDBInterface, remoteOptions: RemoteOptions, remoteName: string): Promise<SyncResultCombineDatabase>;
//# sourceMappingURL=combine.d.ts.map