useDynLib(gsDesign)
import(plyr, xtable, ggplot2)
importFrom("graphics", "axis", "legend", "lines", "matplot",
           "matpoints", "mtext", "par", "plot", "points", "strwidth",
           "text")
importFrom("methods", "is")
importFrom("stats", "dbinom", "dnorm", "nlminb", "pbeta", "pbinom",
          "pcauchy", "pchisq", "pnorm", "pt", "qbinom", "qcauchy",
          "qchisq", "qnorm", "qt", "rbinom", "reshape", "uniroot")
importFrom("utils", "packageVersion")
export(gsBoundCP, gsCP, gsPP, gsPI, gsPOS, gsCPOS, gsDensity, gsPosterior)
export(gsCPz, gsHR, gsDelta, gsBValue, gsRR, hrn2z, hrz2n, zn2hr)
export(gsBound, gsBound1, gsDesign, gsProbability)
export(ciBinomial, nBinomial, simBinomial, testBinomial, gsBinomialExact, varBinomial)
export(binomialSPRT,nBinomial1Sample,plot.binomialSPRT, plot.gsBinomialExact) 
export(nSurvival, nEvents, nNormal)
export(normalGrid,ssrCP,condPower,Power.ssrCP,z2Z,z2Fisher,z2NC,plot.ssrCP)
export(plot.gsDesign, plot.gsProbability, print.gsProbability, print.gsDesign)
export(print.nSurvival, gsBoundSummary, xtable.gsSurv)
export(summary.gsDesign, xprint, print.gsBoundSummary,summary.spendfn)
export(sfPower, sfHSD, sfExponential, sfBetaDist, sfLDOF, sfLDPocock, sfPoints) 
export(sfLogistic, sfExtremeValue, sfExtremeValue2, sfLinear, sfStep, sfTruncated, sfTrimmed, sfGapped)
export(sfCauchy, sfNormal, sfTDist, spendingFunction)
export(checkScalar, checkVector, checkRange, checkLengths, isInteger)
export(eEvents, print.eEvents, nSurv, gsSurv, print.nSurv, print.gsSurv, tEventsIA, nEventsIA)
S3method(summary,gsDesign)
S3method(summary,spendfn)

S3method(print,gsDesign)
S3method(print,gsProbability)
S3method(print,nSurv)
S3method(print,gsSurv)
S3method(print,nSurvival)
S3method(print,gsBoundSummary)
S3method(print,eEvents)

S3method(plot,gsDesign)
S3method(plot,gsProbability)
S3method(plot,binomialSPRT)
S3method(plot,gsBinomialExact)
S3method(plot,ssrCP)
S3method(xtable,gsSurv)
