# Export the following names
useDynLib(SNPRelate,
    gnrAlleleStrand,
    gnrChromParse, gnrChromParseNumeric, gnrChromRangeNumeric,
    gnrConvBEDFlag, gnrConvBED2GDS, gnrConvGDS2BED, gnrConvGDS2EIGEN,
    gnrConvGDS2PED, gnrCopyGeno, gnrCopyGenoMem, gnrDiss,
    gnrDistPerm,
    gnrEigMix, gnrEigMixSNPLoading, gnrEigMixSampLoading,
    gnrIBD_Beta, gnrErrMsg, gnrFst, gnrHWE,
    gnrGetGenoDim, gnrGetGenoDimInfo,
    gnrGRM, gnrGRMMerge, gnrGRM_avg_val,
    gnrIBD_KING_Homo, gnrIBD_KING_Robust, gnrIBD_LogLik,
    gnrIBD_LogLik_k01, gnrIBD_MLE, gnrIBD_MLE_Jacquard, gnrIBD_PLINK,
    gnrIBDSelSampID_List1, gnrIBDSelSampID_List2, gnrIBSAve,
    gnrIBSNum, gnrIndInb, gnrIndInbCoef, gnrSSEFlag, gnrLDMat,
    gnrLDpair, gnrLDpruning, gnrParseGEN, gnrParsePED,
    gnrParseVCF4Init, gnrParseVCF4, gnrPairScore,
    gnrPairIBD, gnrPairIBDLogLik,
    gnrPCA, gnrPCACorr, gnrPCASampLoading, gnrPCASNPLoading,
    gnrSampFreq,
    gnrSetGenoSpace, gnrSetSeqSpace,
    gnrSelSNP_Base, gnrSelSNP_Base_Ex,
    gnrSlidingNumWin, gnrSlidingWindow,
    gnrSNPFreq, gnrSNPRateFreq, gnrStrandSwitch
)

# Export all names
exportPattern("^snpgds*")
export(.onAttach)

# Import all packages listed as Imports or Depends
import(gdsfmt)

importFrom(utils, count.fields, read.table, write.table, packageVersion)
importFrom(stats, as.dendrogram, as.dist, dendrapply, hclust, is.leaf, sd,
    rnorm)
importFrom(grDevices, rgb)
importFrom(graphics, abline, axis, barplot, mtext, par, plot, rect, text,
    pairs, lines)
importFrom(grDevices, rainbow)

# Registering S3 methods
S3method(plot, snpgdsPCAClass)
S3method(plot, snpgdsEigMixClass)
