Faits:
Faits:
A. Le 28 octobre 2002, le Ministère public de la Confédération a ouvert une enquête préliminaire contre le ressortissant kosovar X._ pour infraction grave à la LStup et participation à une organisation criminelle. Le 10 décembre 2002, la prévention a été étendue au blanchiment d'argent. Le Ministère public soupçonne X._ d'avoir mis sur pied, avec des membres de sa famille et des tiers, un trafic international portant sur plusieurs centaines de kilos d'héroïne et de cocaïne, avec des ramifications en Suisse.
Le 4 juillet 2003, le Ministère public a décerné un mandat d'arrêt international contre X._, sur la base duquel celui-ci a été arrêté en Macédoine le 2 août 2003.
Le 29 octobre 2003, la République de Macédoine a extradé X._ à la Suisse. Le Ministère public a décerné un mandat d'arrêt contre X._ qui a été immédiatement placé en détention préventive.
Le 30 octobre 2003, le Juge d'instruction fédéral a maintenu la détention.
Le 8 mars 2004, X._ a demandé sa mise en liberté, ce que le Procureur fédéral a refusé le 26 mars 2004, en retenant l'existence de charges suffisantes, ainsi que d'un risque de fuite et de collusion.
Contre cette décision, X._ a formé une plainte devant le Tribunal pénal fédéral. Le 19 avril 2004, le Ministère public a produit ses observations.
Le 23 avril 2004, le juge rapporteur du Tribunal pénal fédéral a invité le Ministère public à lui fournir des informations complémentaires, propres à étayer concrètement le soupçon de l'implication du plaignant dans les faits reprochés. Le Ministère public a présenté sa prise de position complémentaire, accompagnée de différentes pièces, le 27 avril 2004.
Le plaignant a eu l'occasion de se déterminer à ce sujet, le 10 mai 2004.
Par arrêt du 17 mai 2004, le Tribunal pénal fédéral a rejeté la plainte de X._. Il a retenu l'existence de charges suffisantes de trafic de stupéfiants et de blanchiment d'argent, ainsi que d'un risque de fuite et de collusion. Il a estimé proportionnée la durée de la détention.
Par arrêt du 17 mai 2004, le Tribunal pénal fédéral a rejeté la plainte de X._. Il a retenu l'existence de charges suffisantes de trafic de stupéfiants et de blanchiment d'argent, ainsi que d'un risque de fuite et de collusion. Il a estimé proportionnée la durée de la détention.
B. Agissant par la voie du recours au sens de l'art. 33 al. 3 let. a LTPF, X._ demande principalement au Tribunal fédéral d'annuler l'arrêt du 17 mai 2004 et de renvoyer la cause au Tribunal pénal fédéral pour nouvelle décision. A titre subsidiaire, il conclut à sa libération, éventuellement assortie de sûretés. Il invoque l'art. 44 PPF, les art. 9, 29 al. 1 et 2, 30 al. 1, 31 al. 1 et 4, et 32 Cst., ainsi que les art. 6 par. 1 et 2 CEDH. Il requiert l'assistance judiciaire.
Le Tribunal pénal fédéral a renoncé à se déterminer. Le Ministère public propose le rejet du recours.
Invité à répliquer, le recourant a maintenu ses conclusions.

Le Tribunal fédéral considère en droit:
Le Tribunal fédéral considère en droit:
1. La procédure a été conduite pour une part en allemand, pour une part en français. C'est dans cette langue qu'a été rédigée la décision de refus de mise en liberté, ainsi que l'arrêt attaqué. Conformément à la règle posée à l'art. 37 al. 3 OJ, le présent arrêt est rendu en français, bien que le recours soit rédigé en allemand. Cela ne crée aucun dommage pour le recourant, qui ne parle aucune de ces deux langues. Quant aux avocats exerçant en Suisse, ils sont censés comprendre les langues nationales.
1. La procédure a été conduite pour une part en allemand, pour une part en français. C'est dans cette langue qu'a été rédigée la décision de refus de mise en liberté, ainsi que l'arrêt attaqué. Conformément à la règle posée à l'art. 37 al. 3 OJ, le présent arrêt est rendu en français, bien que le recours soit rédigé en allemand. Cela ne crée aucun dommage pour le recourant, qui ne parle aucune de ces deux langues. Quant aux avocats exerçant en Suisse, ils sont censés comprendre les langues nationales.
2. La décision par laquelle le Tribunal pénal fédéral maintient la détention préventive ordonnée pour les besoins d'une procédure pénale conduite par le Ministère public de la Confédération, constitue une mesure de contrainte attaquable devant la Première Cour de droit public du Tribunal fédéral selon l'art. 33 al. 3 let. a LTPF, mis en relation avec l'art. 2 al. 1 ch. 4 RTF, dans sa teneur du 23 mars 2004 (RO 2004 p. 2343). Le recours est ainsi recevable en tant qu'il porte sur la détention préventive. Il ne l'est pas, en revanche, dans la mesure où le recourant allègue d'avoir été privé du droit de consulter le dossier de la procédure et interrogé hors de la présence de son avocat. Ces moyens tirés de la violation des droits de la défense sont exorbitants du litige.
2. La décision par laquelle le Tribunal pénal fédéral maintient la détention préventive ordonnée pour les besoins d'une procédure pénale conduite par le Ministère public de la Confédération, constitue une mesure de contrainte attaquable devant la Première Cour de droit public du Tribunal fédéral selon l'art. 33 al. 3 let. a LTPF, mis en relation avec l'art. 2 al. 1 ch. 4 RTF, dans sa teneur du 23 mars 2004 (RO 2004 p. 2343). Le recours est ainsi recevable en tant qu'il porte sur la détention préventive. Il ne l'est pas, en revanche, dans la mesure où le recourant allègue d'avoir été privé du droit de consulter le dossier de la procédure et interrogé hors de la présence de son avocat. Ces moyens tirés de la violation des droits de la défense sont exorbitants du litige.
3. Le recourant reproche au Tribunal pénal fédéral d'avoir considéré dans un premier temps, le 23 avril 2004, que les charges n'étaient pas suffisantes, avant de se ranger aux arguments développés dans les observations complémentaires du Ministère public. Il y voit une violation de l'interdiction de l'arbitraire (art. 9 Cst.), des règles du procès équitable (art. 29 et 30 al. 1 Cst., et 6 par. 1 CEDH), ainsi que de la présomption d'innocence (art. 32 al. 1 Cst. et 6 par. 2 CEDH).
Ces griefs sont mal fondés. On ne saurait reprocher à l'autorité intimée d'avoir invité le Ministère public à compléter la réponse à la plainte, de manière à lui fournir des éléments nécessaires pour statuer en connaissance de cause. Il aurait été au contraire excessivement formaliste de ne pas éclaircir ces questions, d'admettre la plainte et d'inviter le Ministère public à statuer à nouveau. Cela étant, afin d'éviter toute équivoque à ce sujet, il conviendrait qu'à l'avenir le Tribunal pénal fédéral dispose du dossier complet de la procédure, et non seulement d'un extrait (même complété) de celui-ci, lorsqu'il est appelé à statuer au sujet de mesures de contrainte. Cela le met en mesure de procéder lui-même à l'examen des pièces décisives pour le sort de la cause, et place le plaignant en position d'exercer pleinement son droit d'être entendu sous ce rapport. Si le Ministère public entend fonder le maintien de la détention sur des pièces qu'il veut garder secrètes pour ne pas compromettre l'enquête, il doit en exposer le contenu essentiel au plaignant, en lui donnant l'occasion de se déterminer à ce sujet. Dans la procédure conduite en application de la PPF, une telle application par analogie des art. 27 et 28 PA est en effet possible (arrêt 8G.12/1990 du 14 mars 1990, consid. 3).
En l'espèce, le droit d'être entendu du recourant a été respecté, puisqu'il a eu l'occasion de faire valoir son point de vue sur tous les éléments que le Tribunal pénal fédéral a retenus pour confirmer le maintien de sa détention.
En l'espèce, le droit d'être entendu du recourant a été respecté, puisqu'il a eu l'occasion de faire valoir son point de vue sur tous les éléments que le Tribunal pénal fédéral a retenus pour confirmer le maintien de sa détention.
4. Le recourant se plaint de la motivation, insuffisante selon lui, de l'arrêt attaqué.
4.1 L'autorité doit indiquer dans son prononcé les motifs qui la conduisent à sa décision (art. 29 al. 2 Cst.; <ref-ruling> consid. 3.2 p. 236; <ref-ruling> consid. 2c p. 34; <ref-ruling> consid. 2b p. 109). Elle n'est pas tenue de discuter de manière détaillée tous les arguments soulevés; elle n'est pas davantage astreinte à statuer séparément sur chacune des conclusions qui lui sont présentées. Elle peut se limiter à l'examen des questions décisives pour l'issue du litige; il suffit que le justiciable puisse apprécier correctement la portée de la décision et l'attaquer à bon escient (<ref-ruling> consid. 2a/aa p. 17; <ref-ruling> consid. 2c p. 372; <ref-ruling> consid. 2a p. 149, et les arrêts cités).
4.2 Le Tribunal pénal fédéral n'a pas statué explicitement sur tous les moyens soulevés dans la plainte et la réplique à la prise de position du Ministère public. Il ressort toutefois clairement de l'arrêt attaqué que l'autorité intimée a rejeté intégralement les moyens du plaignant. Celui-ci ne s'y est pas trompé, au demeurant.
4.2 Le Tribunal pénal fédéral n'a pas statué explicitement sur tous les moyens soulevés dans la plainte et la réplique à la prise de position du Ministère public. Il ressort toutefois clairement de l'arrêt attaqué que l'autorité intimée a rejeté intégralement les moyens du plaignant. Celui-ci ne s'y est pas trompé, au demeurant.
5. Invoquant la liberté personnelle, la prohibition de l'arbitraire et la présomption d'innocence, le recourant allègue que les autorités suisses ne seraient pas compétentes pour réprimer des faits qui auraient été commis à l'étranger.
Le recourant est poursuivi principalement pour infraction grave à la LStup. Or, l'art. 19 ch. 4 LStup permet la répression en Suisse d'infractions commises à l'étranger, si leur auteur, appréhendé en Suisse, n'est pas extradé par la suite et si le délit est réprimé dans le pays où il a été perpétré. En matière de stupéfiants, le juge suisse n'est compétent pour connaître des infractions commises à l'étranger par des étrangers que s'il est convaincu que l'Etat où l'acte a été commis ne demandera pas l'extradition, lorsque celle-ci est en principe possible pour une telle infraction; les autorités suisses ne sont pas seulement habilitées à se renseigner sur ce point, mais obligées de le faire. Exceptionnellement toutefois, le juge suisse peut se dispenser de ce renseignement s'il est impossible d'obtenir le point de vue de l'Etat concerné dans un délai raisonnable (<ref-ruling>, précisant l'<ref-ruling> consid. 4c p. 251).
Il est prématuré à ce stade d'éclaircir ces points. Il reste en effet à établir le lieu de commission des infractions qui pourraient être retenues à l'encontre du recourant au terme de la procédure. A supposer que ces faits aient été commis exclusivement au Kosovo où résidait le recourant, au point d'exclure toute compétence des autorités suisses à le juger, se poserait alors la question d'une extradition à la Serbie-Monténégro. Cette perspective est cependant encore trop éloignée et incertaine pour que l'on puisse prétendre, avec le recourant, que la poursuite pénale en Suisse serait exclue d'emblée au regard de l'art. 19 LStup.
Il est prématuré à ce stade d'éclaircir ces points. Il reste en effet à établir le lieu de commission des infractions qui pourraient être retenues à l'encontre du recourant au terme de la procédure. A supposer que ces faits aient été commis exclusivement au Kosovo où résidait le recourant, au point d'exclure toute compétence des autorités suisses à le juger, se poserait alors la question d'une extradition à la Serbie-Monténégro. Cette perspective est cependant encore trop éloignée et incertaine pour que l'on puisse prétendre, avec le recourant, que la poursuite pénale en Suisse serait exclue d'emblée au regard de l'art. 19 LStup.
6. Le recourant conteste que les conditions de la détention préventive soient remplies.
6.1 Aux termes de l'art. 44 PPF, un mandat d'arrêt ne peut être décerné contre l'inculpé que s'il existe contre lui des présomptions graves de culpabilité. Il faut en outre, soit que sa fuite soit présumée imminente - tel est le cas notamment lorsque l'inculpé est prévenu d'une infraction punie de réclusion ou qu'il n'est pas en mesure d'établir son identité ou n'a pas de domicile en Suisse (ch. 1) -, soit que des circonstances déterminées fassent présumer que l'inculpé veuille détruire les traces de l'infraction ou induire des témoins ou coïnculpés à faire de fausses déclarations ou compromettre de quelque autre façon le résultat de l'instruction (ch. 2).
En l'occurrence, le Tribunal pénal fédéral a retenu l'existence de charges suffisantes, ainsi que d'un risque de fuite et de collusion. Le recourant conteste tous les éléments de cette appréciation.
6.2 L'intensité des charges justifiant une détention n'est pas la même aux divers stades de l'instruction pénale. Des soupçons encore peu précis, mais renforcés par des inexactitudes ou des variations dans les déclarations de l'inculpé, peuvent être considérés comme suffisants dans les premiers temps de l'enquête, mais, après l'accomplissement de tous les actes d'instruction envisageables, la perspective d'une condamnation doit apparaître fortement vraisemblable (<ref-ruling> consid. 3c p. 146).
En l'occurrence, la procédure pénale s'inscrit dans le cadre d'une enquête de grande envergure internationale. Le recourant est soupçonné d'être, avec des membres de sa famille, l'organisateur d'un trafic portant sur au moins 400 kg d'héroïne et de cocaïne acheminés du Kosovo dans plusieurs pays d'Europe occidentale, dont la Suisse. Il fait l'objet d'enquêtes conduites par les polices italienne, autrichienne, allemande et suisse, ainsi que par la police judiciaire de la Mission des Nations Unies au Kosovo. La Police fédérale et le Ministère public ont à cette fin demandé l'entraide judiciaire aux autorités kosovares, notamment pour l'interception de conversations téléphoniques.
Selon un rapport établi le 26 avril 2004 par la Police fédérale, les investigations menées par les autorités italiennes dans l'enquête dénommée « Triangolo d'Oro » auraient permis de démontrer que le recourant est lié au dénommé C._, impliqué dans la saisie, le 17 février 2002 à Lucerne, de 31,5 kg d'héroïne, et de 5 kg d'héroïne, le 23 mars 2002 dans le canton de Vaud. Un complice de C._, D._, avait appelé le recourant sur son téléphone portable. Un autre comparse parlant à C._ au téléphone a évoqué le recourant à mots couverts, ainsi que des montants et des quantités (50'000 DEM pour 50 kg) se rapportant clairement à la vente de drogue. Quant aux enquêteurs allemands, ils ont intercepté une conversation entre un dénommé A._, arrêté en Italie alors qu'il convoyait un chargement de 35 kg d'héroïne, et un destinataire inconnu, qui serait son cousin, soit le recourant, dont le numéro de téléphone figurait dans l'agenda de A._. Un autre parent du recourant, E._, a été arrêté à St-Gall le 19 janvier 2003, alors qu'il transportait 12 kg d'héroïne, qu'il a dit avoir reçus de B._, frère du recourant, en les désignant nommément tous deux comme les organisateurs du trafic. Arrêté le 7 décembre 2003 à Genève en possession de 10,5 kg d'héroïne, le dénommé F._ a indiqué qu'un revendeur de drogue kosovar établi en Espagne était approvisionné par le recourant.
Sur le vu de l'ensemble de ces éléments, il convient d'admettre qu'il existe des charges suffisantes pour maintenir la détention du recourant. Sans doute celui-ci a-t-il constamment nié les faits qui lui sont reprochés, en expliquant vivre du commerce d'automobiles et ne pas posséder de téléphone portable. De même n'est-il mis en cause que de manière indirecte, sur la base d'indices et de déclarations de tiers. Au stade actuel de l'enquête, ces éléments suffisent cependant à accréditer la thèse que le recourant serait le pourvoyeur d'un réseau actif dans plusieurs pays, dont la Suisse, où ont eu lieu différentes saisies de drogue. La suite de l'enquête (qui implique une coordination internationale des recherches et l'exécution de multiples demandes d'entraide à l'étranger) devra confirmer ou infirmer ces soupçons.
6.3 Compte tenu de la durée de la peine qui pourrait être prononcée pour le cas où un verdict de culpabilité serait rendu à l'encontre du recourant, celui-ci pourrait objectivement être tenté de profiter de sa libération provisoire pour se soustraire à l'action de la justice. Le recourant ne le conteste pas sérieusement, au demeurant. Il reproche toutefois au Tribunal pénal fédéral de n'avoir pas envisagé une mesure moins incisive que la détention, comme par exemple le dépôt de sûretés ou des documents d'identité. Il est cependant douteux que de telles mesures soient suffisantes pour parer le danger de fuite.
6.4 De même, on ne saurait sérieusement nier que le recourant, remis en liberté, pourrait chercher à dissimuler ou détruire des éléments de preuve, ou à faire pression sur des témoins, directement ou indirectement.
6.5 En conclusion, il n'y a pas lieu pour le Tribunal fédéral d'intervenir, du moins en l'état de la procédure. Il appartiendra au Ministère public de poursuivre son enquête et de faire effectuer les actes d'instruction encore nécessaires (à l'étranger, notamment), sans désemparer.
6.5 En conclusion, il n'y a pas lieu pour le Tribunal fédéral d'intervenir, du moins en l'état de la procédure. Il appartiendra au Ministère public de poursuivre son enquête et de faire effectuer les actes d'instruction encore nécessaires (à l'étranger, notamment), sans désemparer.
7. Le recours doit ainsi être rejeté dans la mesure où il est recevable. Le recourant demande l'assistance judiciaire, dont les conditions sont remplies (art. 152 OJ). Il est statué sans frais. Me Walter Rumpf, avocat à Berne, est désigné comme avocat d'office du recourant pour la procédure devant le Tribunal fédéral. Une indemnité de 2'000 fr. lui est allouée à titre d'honoraires.

Par ces motifs, le Tribunal fédéral prononce:
Par ces motifs, le Tribunal fédéral prononce:
1. Le recours est rejeté, dans la mesure de sa recevabilité.
1. Le recours est rejeté, dans la mesure de sa recevabilité.
2. La demande d'assistance judiciaire est admise.
2. La demande d'assistance judiciaire est admise.
3. Il est statué sans frais. Me Walter Rumpf, avocat à Berne, est désigné comme avocat d'office du recourant. Il lui est alloué une indemnité de 2'000 fr. à titre d'honoraires.
3. Il est statué sans frais. Me Walter Rumpf, avocat à Berne, est désigné comme avocat d'office du recourant. Il lui est alloué une indemnité de 2'000 fr. à titre d'honoraires.
4. Le présent arrêt est communiqué en copie au mandataire du recourant, au Ministère public de la Confédération et au Tribunal pénal fédéral, Cour des plaintes.
Lausanne, le 9 juillet 2004
Au nom de la Ire Cour de droit public
du Tribunal fédéral suisse
Le président: Le greffier: