useDynLib(pegas, .registration = TRUE)

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

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

S3method(print, amova)

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

S3method(H, default)
S3method(H, loci)

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(LDscan, DNAbin)
S3method(LDscan, loci)

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

S3method(site.spectrum, DNAbin)
S3method(site.spectrum, loci)

S3method(sw, default)
S3method(sw, DNAbin)

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

#S3method(as.igraph, haploNet)
#S3method(as.network, haploNet)
S3method(all.equal, haploNet)
S3method(as.phylo, haploNet)
S3method(as.evonet, haploNet)
S3method(cophenetic, haploNet)
S3method(labels, haploNet)
S3method(plot, haploNet)
S3method(print, haploNet)

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

S3method(plot, haplotype.loci)

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

S3method(plot, mjn)

S3method(plot, spectrum)

S3method(lines, stairway)
S3method(plot, stairway)

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

S3method(plot, sw)

S3method(print, VCFinfo)
