useDynLib(survival, .registration = TRUE)
importFrom(splines, spline.des, ns)
importFrom(Matrix, expm)
importFrom(stats, aggregate, anova, approx, as.formula, coef, coefficients,
           contr.treatment, cor, density, delete.response, extractAIC, formula, 
           family, fitted, lm, logLik, makepredictcall, median, model.extract,
           model.frame, model.matrix, model.offset, model.response, make.link,
           model.weights, na.fail, na.pass, na.omit, napredict, naprint, naresid,
           nobs, pchisq, pnorm, printCoefmat, predict, qnorm, quantile, qgamma,
           qweibull, reformulate, setNames, terms.formula, 
           resid, residuals, rnorm, runif, stat.anova, terms, weights, var, vcov,
           .checkMFClasses, .getXlevels, update, update.formula)
importFrom(graphics, arrows, axis, barplot, box, clip, matlines, matplot,
           hist, frame, identify, image, par, plot, points, lines, 
           segments, strheight, strwidth, text)
importFrom(Matrix, expm)
importFrom(methods, as)
importFrom(utils, getS3method, type.convert, methods, head, tail)
export(Surv, Surv2, Surv2data, aeqSurv, aareg, agreg.fit,
       agexact.fit, attrassign, 
       blogit, bprobit, bcloglog, blog, brier,
       basehaz, cch, clogit, cipoisson, cluster, concordance, concordancefit, 
       coxph, cox.zph, coxph.control, coxph.detail, coxph.fit,
       coxph.wtest, finegray, format.Surv, 
       frailty,  frailty.gamma, 
       frailty.gaussian, frailty.t, is.Surv, 
       is.na.Surv, is.ratetable, lvcf, nsk,
       match.ratetable, neardate, nostutter,
       psurvreg, qsurvreg, dsurvreg, pseudo,
       pspline, pyears, ratetableDate, ratetable,
       ridge, royston, rsurvreg, rttright,statefig, strata, 
       survSplit, survcheck, survcondense, survdiff, survexp,  survfit,
       survfit0, survfit_confint, survfit.formula,
       coxsurv.fit, survfitKM, survobrien,  
       survpenal.fit, 
       survreg, survreg.control, survreg.fit,
       survreg.distributions, survregDtest, tcut, totimeline, fromtimeline,
       tmerge, untangle.specials, yates, yates_setup,
       survConcordance, survConcordance.fit, survfitcoxph.fit)
S3method('[', aareg)
S3method('[', Surv)
S3method('[', Surv2)
S3method('[', cox.zph)
S3method('[', coxph.penalty)
S3method('[', ratetable)
S3method('[', ratetable2)
S3method('[', survfit)
S3method('[', survfitms)
S3method('[', tcut)
S3method('[', tmerge)
S3method(Math, Surv)
S3method(Math, Surv2)
S3method(Math, ratetable)
S3method(Ops, Surv)
S3method(Ops, Surv2)
S3method(Ops, ratetable)
S3method(Summary, Surv)
S3method(Summary, Surv2)
S3method(anyDuplicated, Surv)
S3method(anyDuplicated, Surv2)
S3method(anova, coxph)
S3method(anova, coxphlist)
S3method(anova, survreg)
S3method(anova, survreglist)
S3method(aggregate, survfit)
S3method(as.character, Surv)
S3method(as.character, Surv2)
S3method(as.data.frame, Surv)
S3method(as.data.frame, Surv2)
S3method(as.logical, Surv)
S3method(as.logical, Surv2)
S3method(as.matrix, ratetable)
S3method(as.matrix, Surv)
S3method(as.matrix, Surv2)
S3method(attrassign, default)
S3method(attrassign, lm)
S3method(barplot, Surv)
S3method(c, Surv)
S3method(c, Surv2)
S3method(coef, concordance)
S3method(coef, coxphms)
S3method(coef, survfit)
S3method(concordance, formula)
S3method(concordance, lm)
S3method(concordance, coxph)
S3method(concordance, survreg)
S3method(confint, survfit)
S3method(density, Surv)
S3method(dim, survfit)
S3method(duplicated, Surv)
S3method(duplicated, Surv2)
S3method(extractAIC,coxph.penal)
S3method(fitted, coxph)
S3method(fitted, survreg)
S3method(format, Surv)
S3method(format, Surv2)
S3method(head, Surv)
S3method(hist, Surv)
S3method(hist, Surv2)
S3method(identify, Surv)
S3method(identify, Surv2)
S3method(image, Surv)
S3method(image, Surv2)
S3method(is.na, Surv)
S3method(is.na, Surv2)
S3method(is.na, coxph.penalty)
S3method(is.na, ratetable)
S3method(is.na, ratetable2)
S3method(labels, aareg)
S3method(labels, coxph)
S3method(labels, survreg)
S3method(levels, Surv)
S3method(levels, tcut)
S3method(lines, aareg)
S3method(lines, Surv)
S3method(lines, Surv2)
S3method(lines, survexp)
S3method(lines, survfit)
S3method(logLik, coxph)
S3method(logLik, coxph.null)
S3method(logLik, survreg)
S3method(makepredictcall, pspline)
S3method(makepredictcall, nsk)
S3method(median, Surv)
S3method(median, survfit)
S3method(model.frame, coxph)
S3method(model.frame, survfit)
S3method(model.frame, survreg)
S3method(model.matrix, coxph)
S3method(model.matrix, survreg)
S3method(nobs, coxph)
S3method(nobs, survreg)
S3method(pairs, Surv)
S3method(pairs, Surv2)
S3method(plot, aareg)
S3method(plot, cox.zph)
S3method(plot, Surv)
S3method(plot, survfit)
S3method(points, Surv)
S3method(points, Surv2)
S3method(points, survfit)
S3method(predict, coxph)
S3method(predict, coxphms)
S3method(predict, coxph.penal)
S3method(predict, pspline)
S3method(predict, survreg)
S3method(predict, survreg.penal)
S3method(print, Surv)
S3method(print, Surv2)
S3method(print, aareg)
S3method(print, cch)
S3method(print, clogit)
S3method(print, concordance)
S3method(print, cox.zph)
S3method(print, coxph)
S3method(print, coxph.null)
S3method(print, coxph.penal)
S3method(print, pyears)
S3method(print, ratetable)
S3method(print, summary.aareg)
S3method(print, summary.cch)
S3method(print, summary.coxph)
S3method(print, summary.coxph.penal)
S3method(print, summary.survexp)
S3method(print, summary.survfit)
S3method(print, summary.survfitms)
S3method(print, summary.survreg)
S3method(print, survdiff)
S3method(print, survcheck)
S3method(print, survexp)
S3method(print, survfit)
S3method(print, survfitms)
S3method(print, survreg)
S3method(print, survreg.penal)
S3method(print, yates)
S3method(quantile, Surv)
S3method(quantile, survfit)
S3method(quantile, survfitms)
S3method(ratetableDate, POSIXt)
S3method(ratetableDate, Date)
S3method(ratetableDate, date)
S3method(ratetableDate, dates)
S3method(ratetableDate, integer)
S3method(ratetableDate, chron)
S3method(ratetableDate, default)
S3method(rep, Surv)
S3method(rep, Surv2)
S3method(rep.int, Surv)
S3method(rep.int, Surv2)
S3method(rep_len, Surv)
S3method(rep_len, Surv2)
S3method(residuals, coxph)
S3method(residuals, coxphms)
S3method(residuals, coxph.null)
S3method(residuals, coxph.penal)
S3method(residuals, survfit)
S3method(residuals, survreg)
S3method(residuals, survreg.penal)
S3method(rev, Surv)
S3method(rev, Surv2)
S3method(summary, aareg)
S3method(summary, cch)
S3method(summary, coxph)
S3method(summary, coxph.penal)
S3method(summary, ratetable)
S3method(summary, pyears)
S3method(summary, survexp)
S3method(summary, survfit)
S3method(summary, survfitms)
S3method(summary, survreg)
S3method(summary, tmerge)
S3method(survfit, clogit)
S3method(survfit, coxph)
S3method(survfit, coxphms)
S3method(survfit, formula)
S3method(survfit, matrix)
S3method(survfit, Surv)
S3method(t, Surv)
S3method(t, Surv2)
S3method(tail, Surv)
S3method(tail, Surv2)
S3method(text, Surv)
S3method(text, Surv2)
S3method(unique, Surv)
S3method(vcov, cch)
S3method(vcov, concordance)
S3method(vcov, coxph)
S3method(vcov, coxphms)
S3method(vcov, survfit)
S3method(vcov, survreg)
S3method(weights, coxph)
S3method(weights, survreg)
S3method(yates_setup, default)
S3method(yates_setup, glm)
S3method(yates_setup, coxph)

# xtfrm.Surv was moved out of base into survival at one point
if(getRversion() >= "3.6.0")
    S3method(xtfrm, Surv)

# Make Surv objects have their logical length.  
S3method(length, Surv)
S3method(names, Surv)
S3method("names<-", Surv)
