useDynLib("affy")

importFrom(BiocGenerics, updateObject, colnames, boxplot, image)

import(affyio)

import(zlibbioc)

importClassesFrom(Biobase, AnnotatedDataFrame, AssayData, eSet, MIAME,
                  Versioned, VersionedBiobase, Versions)

importClassesFrom(methods, ANY, character, environment, integer,
                  matrix, missing, numeric)

importMethodsFrom(Biobase, annotatedDataFrameFrom, annotation,
                  assayData, classVersion, "classVersion<-",
                  description, "description<-", experimentData, exprs,
                  "exprs<-", featureNames, "featureNames<-",
                  isCurrent, isVersioned,
		  notes,
                  "notes<-", pData, "pData<-", phenoData,
                  "phenoData<-", preproc, "preproc<-", protocolData,
                  "protocolData<-", rowMedians, sampleNames, "sampleNames<-",
                  se.exprs, "se.exprs<-")

importMethodsFrom(methods, initialize, show)

importFrom(Biobase, addVigs2WinMenu, assayDataElementReplace,
           assayDataNew, multiassign, read.AnnotatedDataFrame,
           read.MIAME, testBioCConnection)

importMethodsFrom(BiocGenerics, normalize)

importFrom(BiocManager, repositories)

importFrom(graphics, abline, axis, barplot, frame, hist,
           lines, matplot, mtext, pairs, par, plot, points,
           smoothScatter, text)

importFrom(grDevices, dev.interactive, gray)

importFrom(methods, as, callNextMethod, getMethod, is, new,
           slot)

importFrom(preprocessCore, normalize.quantiles,
           normalize.quantiles.robust, rma.background.correct)

importFrom(stats, approx, density, IQR, lm, loess, loess.control,
           median, medpolish, model.response, model.weights, optim,
           pnorm, predict, quantile, runif, sd, smooth.spline,
           splinefun, t.test, terms, var, wilcox.test)

importFrom(utils, available.packages, contrib.url, data, flush.console,
           install.packages, object.size, packageVersion)

##export everything that does not start with a .
exportPattern("^[^\\.]")

export(.setAffyOptions)

exportMethods(show, boxplot, image, exprs, "exprs<-", featureNames, geneNames, sampleNames,
              se.exprs, updateObject)

exportClasses("AffyBatch")

## S3 methods

S3method(plot, ProbeSet)
S3method("$", AffyBatch)
S3method(barplot, ProbeSet)
S3method(merge, AffyBatch)
S3method(pairs, AffyBatch)
