import("methods")

importFrom("parallel",
              "mclapply",
              "mcmapply")

importFrom("graphics",
              "abline",
              "arrows",
              "lines",
              "par",
              "plot.default",
              "points",
              "rasterImage",
              "rect",
              "strheight",
              "strwidth",
              "text")

importFrom("grDevices",
              "as.raster",
              "colorRamp",
              "dev.cur",
              "dev.interactive",
              "dev.new",
              "dev.off",
              "pdf",
              "rgb")

importFrom("stats",
              "approxfun",
              "coef",
              "dpois",
              "filter",
              "lm",
              "lowess",
              "mad",
              "median",
              "runmed",
              "supsmu")

importFrom("utils",
              "head",
              "modifyList",
              "object.size",
              "packageVersion",
              "relist",
              "tail")


exportClasses("MassPeaks",
              "MassSpectrum")

export("alignSpectra",
       "averageMassSpectra",
       "binPeaks",
       "createMassPeaks",
       "createMassSpectrum",
       "determineWarpingFunctions",
       "filterPeaks",
       "findEmptyMassObjects",
       "intensityMatrix",
       "isMassPeaks",
       "isMassPeaksList",
       "isMassSpectrum",
       "isMassSpectrumList",
       "match.closest",
       "mergeMassPeaks",
       "msiSlices",
       "referencePeaks",
       "removeEmptyMassObjects",
       "warpMassPeaks",
       "warpMassSpectra")

exportMethods("as.matrix",
              "calibrateIntensity",
              "coordinates",
              "coordinates<-",
              "detectPeaks",
              "estimateBaseline",
              "estimateNoise",
              "intensity",
              "intensity<-",
              "isEmpty",
              "isRegular",
              "labelPeaks",
              "length",
              "lines",
              "mass",
              "mass<-",
              "metaData",
              "metaData<-",
              "monoisotopicPeaks",
              "mz",
              "mz<-",
              "plot",
              "plotMsiSlice",
              "points",
              "removeBaseline",
              "smoothIntensity",
              "snr",
              "totalIonCurrent",
              "transformIntensity",
              "trim")

useDynLib(MALDIquant, .registration = TRUE)
