useDynLib(pegas, .registration = TRUE)

export(alleles2loci, amova, as.igraph.haploNet, as.loci,
       as.network.haploNet, diffHaplo, dist.hamming, dist.haplotype.loci,
       dist.asd, dist.snp,
       expand.genotype, Fst, genind2loci, geod, geoTrans, getAlleles,
       getGenotypes, getINFO, getPloidy, getPhi, H, haploNet, haploFreq,
       hap.div, haplotype, heterozygosity, hw.test, is.phased, is.snp, LD, LD2,
       LDscan, LDmap, loci2genind, mjn, msn, mst, MMD, nuc.div, plotNetMDS,
       proba.genotype, R2.test, rangePOS, read.gtx, read.loci, read.vcf,
       replot, rmst, rr.test, selectQUAL, site.spectrum, sw, tajima.test,
       theta.h, theta.k, theta.msat, theta.s, unphase, theta.tree, VCFheader,
       VCFlabels, VCFloci, write.loci, write.pegas.amova)

importFrom(ape, BOTHlabels, branching.times, base.freq, dist.dna,
           floating.pie.asp, GC.content, perm.rowscols, polar2rect, rcoal,
           rect2polar, seg.sites)
importFrom(adegenet, df2genind, genind2df)
importFrom(graphics, abline, barplot, hist, lines, locator, mtext, par,
           polygon, plot, plot.default, rect, segments, strheight, symbols,
           text, xinch)
importFrom(grDevices, colorRampPalette, dev.cur, devAskNewPage, rainbow, rgb)
importFrom(stats, as.dist, cmdscale, cophenetic, density, dist, integrate,
           na.omit, nlminb, pbeta, pchisq, pnorm, printCoefmat, rpois,
           uniroot, weighted.mean)
importFrom(utils, as.roman, combn, edit, read.table, write.csv, write.table)

S3method(print, amova)

S3method(as.loci, character)
S3method(as.loci, data.frame)
S3method(as.loci,factor)
S3method(as.loci, genind)

S3method(hap.div, DNAbin)
S3method(hap.div, haplotype)

S3method(haplotype, character)
S3method(haplotype, DNAbin)
S3method(haplotype, loci)
S3method(haplotype, numeric)

S3method(hw.test, loci)
S3method(hw.test, genind)

S3method(is.snp, loci)
S3method(is.snp, VCFinfo)

S3method(nuc.div, DNAbin)
S3method(nuc.div, haplotype)

S3method(sw, DNAbin)

S3method(theta.s, default)
S3method(theta.s, DNAbin)

#S3method(as.igraph, haploNet)
#S3method(as.network, haploNet)
S3method(all.equal, haploNet)
S3method(plot, haploNet)
S3method(print, haploNet)

S3method("[", haplotype)
S3method(plot, haplotype)
S3method(print, haplotype)
S3method(sort, haplotype)
S3method(subset, haplotype)

S3method(plot, haplotype.loci)

S3method("[", loci)
S3method(cbind, loci)
S3method(edit, loci)
S3method(na.omit, loci)
S3method(print, loci)
S3method(rbind, loci)
S3method(summary, loci)

S3method(plot, spectrum)

S3method(plot, summary.loci)
S3method(print, summary.loci)

S3method(print, VCFinfo)
