# Imported functions
importFrom(lifecycle, deprecated)
importFrom(stats, glm)
importFrom(nlme, gls)
importFrom(nlme, intervals)
importFrom(nlme, corCompSymm)
importFrom(nlme, glsControl)
importFrom(nlme, varIdent)
importFrom(tidyr, pivot_longer)
importFrom(dplyr, mutate)
importFrom(dplyr, arrange)
importFrom(dplyr, case_when)
importFrom(dplyr, select)
importFrom(tibble, add_row)
importFrom("stats", "nlm")
importFrom("stats", "as.formula")
importFrom(MASS, polr)
importFrom(MASS, studres)
importFrom(MASS, mvrnorm)
importFrom(survival, Surv)
importFrom(survival, survreg)
importFrom(survival, coxph)
importFrom("grDevices", "dev.new", "dev.off", "pdf")
importFrom("graphics", "abline", "axis", "barplot", "box", "boxplot",
             "hist", "legend", "lines", "mtext", "par", "plot", "points",
             "segments", "text", "title")
#importFrom("rgl", plot3d)
importFrom("nlme", lme)
importFrom("lme4", lmer)
importFrom("lme4", ranef)
importFrom("lme4", fixef)
importFrom("stats", na.exclude)
importFrom("stats", reshape)
importFrom("stats", var)
importFrom("stats", lm)
importFrom("stats", residuals)
importFrom("stats", qnorm)
importFrom("stats", cor)
importFrom("stats", coef)
importFrom("stats", median)
importFrom("stats", gaussian)
importFrom("stats", logLik)
importFrom("stats", qchisq)
importFrom("stats", runif)
importFrom("stats", density)
importFrom("stats", sd)
importFrom("stats", cov2cor)
importFrom("stats", glm)
importFrom("stats", rbinom)
importFrom("stats", qt)
importFrom("stats", vcov)
importFrom("stats", ecdf)
importFrom("stats", quantile)
importFrom("stats", "binomial")
importFrom("stats", "optim")
importFrom("utils", capture.output)
importFrom("stats", "coefficients", "na.omit", "pchisq")
importFrom("stats", "dnorm", "rnorm")
importFrom("stats", "pnorm")
importFrom("stats", "ks.test")
importFrom("stats", "pbeta")
importFrom("stats", "mad")
importFrom("utils", "flush.console")
importFrom("stats", "uniroot")
importFrom("graphics", "arrows")
importFrom("stats", "weighted.mean")
importFrom("stats", "approxfun")
importFrom("stats", "resid")
importFrom("grDevices", "rgb")
import(maxLik)
import(purrr)


export(plot.UnifixedContCont, plot.UnimixedContCont, plot.BifixedContCont, plot.BimixedContCont,
plot.FixedContContIT, plot.ICA.ContCont, plot.MICA.ContCont, plot.MinSurrContCont, plot.SPF.BinBin,
plot.Single.Trial.RE.AA, plot.MixedContContIT, plot.ICA.BinBin, plot.TrialLevelMA, plot.FixedBinBinIT,
plot.TwoStageSurvSurv, summary.UnifixedContCont,
summary.UnimixedContCont, summary.BifixedContCont, summary.BimixedContCont,
summary.FixedContContIT, summary.FixedContContIT, summary.ICA.BinBin, summary.ICA.ContCont,
summary.MICA.ContCont, summary.MinSurrContCont, summary.SPF.BinBin, summary.Single.Trial.RE.AA,
summary.TrialLevelMA, summary.TwoStageSurvSurv, summary.Prentice, summary.PredTrialTContCont, plot.FixedBinBinIT,
summary.FixedBinContIT, summary.FixedContBinIT, plot.FixedBinContIT, plot.FixedContBinIT, summary.SurvSurv, summary.SPF.BinCont,
plot.SurvSurv, summary.TrialLevelIT, plot.TrialLevelIT, summary.MaxEntICA.BinBin, plot.MaxEntICA.BinBin, plot.SPF.BinCont,
plot.MaxEntSPF.BinBin, summary.MaxEntSPF.BinBin, plot.FixedDiscrDiscrIT,
plot.ICA.BinCont, summary.ICA.BinCont, summary.FixedDiscrDiscrIT,
plot.Fano.BinBin, summary.Fano.BinBin,
plot.MaxEntContCont, summary.MaxEntContCont,
plot.ICA.ContCont.MultS, summary.ICA.ContCont.MultS, summary.AA.MultS,
plot.PPE.BinBin, plot.comb27.BinBin, summary.PPE.BinBin, summary.ECT,
summary.Bootstrap.MEP.BinBin, plot.ISTE.ContCont, summary.ISTE.ContCont,
summary.BimixedCbCContCont)
export(AA.MultS, BifixedContCont, BimixedCbCContCont,
       BimixedContCont, Bootstrap.MEP.BinBin, ICA.BinBin, ICA.BinBin.Grid.Sample,
       ICA.BinBin.CounterAssum, MaxEntContCont,
       CausalDiagramContCont, comb27.BinBin, Fano.BinBin, FixedBinBinIT,
       FixedBinContIT, FixedContBinIT, FixedContContIT, FixedDiscrDiscrIT,
       CausalDiagramBinBin, ECT, Fano.BinBin, ICA.BinBin.Grid.Full,
       ICA.BinBin.Grid.Sample, ICA.BinBin.Grid.Sample.Uncert, ICA.BinCont, ICA.ContCont,
       ICA.ContCont.MultS.MPC, ICA.ContCont.MultS.PC,
       ICA.ContCont.MultS, ICA.ContCont.MultS_alt, ICA.Sample.ContCont,
       ISTE.ContCont, ICA.BinCont.BS,
       LongToWide, MarginalProbs, MaxEntICABinBin,
       MaxEntSPFBinBin, MICA.Sample.ContCont,
       MinSurrContCont, MixedContContIT, Pos.Def.Matrices,
       PPE.BinBin, Pred.TrialT.ContCont, Prentice, PROC.BinBin, RandVec,
       Restrictions.BinBin,
       Sim.Data.Counterfactuals, Sim.Data.CounterfactualsBinBin, Sim.Data.MTS,
       Sim.Data.STS, Sim.Data.STSBinBin, Single.Trial.RE.AA,
       SurvSurv, Test.Mono, TrialLevelIT,
       TrialLevelMA, TwoStageSurvSurv, UnifixedContCont, UnimixedContCont,
       SPF.BinBin, SPF.BinCont, MufixedContCont.MultS, MumixedContCont.MultS)
export(MICA.ContCont)
export(sensitivity_analysis_SurvSurv_copula, model_fit_measures,
       fit_model_SurvSurv)
export(sensitivity_analysis_BinCont_copula, fit_copula_model_BinCont)
export(fit_copula_OrdCont, fit_copula_OrdOrd, fit_copula_ContCont,
       sensitivity_analysis_copula, constructor_ICA_estimator)
export(marginal_gof_scr_S_plot, marginal_gof_scr_T_plot,
       prob_dying_without_progression_plot, mean_S_before_T_plot_scr)
export(sensitivity_intervals_Dvine)
export(MetaAnalyticSurvBin)
export(MetaAnalyticSurvCat)
export(MetaAnalyticSurvSurv)
export(MetaAnalyticSurvCont)
export(FederatedApproachStage1)
export(FederatedApproachStage2)

export(ICA_t)
export(ICA_alpha_ContCont)

export(ICA.Sample.ControlTreat)




S3method(plot, Fano.BinBin)
S3method(plot, UnifixedContCont)
S3method(plot, UnimixedContCont)
S3method(plot, BifixedContCont)
S3method(plot, BimixedContCont)
S3method(plot, FixedContContIT)
S3method(plot, ICA.ContCont)
S3method(plot, MICA.ContCont)
S3method(plot, MinSurrContCont)
S3method(plot, SPF.BinBin)
S3method(plot, SPF.BinCont)
S3method(plot, Single.Trial.RE.AA)
S3method(plot, MixedContContIT)
S3method(plot, ICA.BinBin)
S3method(plot, TrialLevelMA)
S3method(plot, TwoStageSurvSurv)
S3method(plot, PredTrialTContCont)
S3method(plot, FixedBinBinIT)
S3method(plot, FixedBinContIT)
S3method(plot, FixedContBinIT)
S3method(plot, SurvSurv)
S3method(plot, TrialLevelIT)
S3method(plot, MaxEntICA.BinBin)
S3method(plot, MaxEntSPF.BinBin)
S3method(plot, FixedDiscrDiscrIT)
S3method(plot, ICA.BinCont)
S3method(plot, MaxEntContCont)
S3method(plot, ICA.ContCont.MultS)
S3method(plot, PPE.BinBin)
S3method(plot, comb27.BinBin)
S3method(plot, ISTE.ContCont)
S3method(plot, vine_copula_SurvSurv_fit)
S3method(plot, vine_copula_fit)

S3method(summary, Fano.BinBin)
S3method(summary, UnifixedContCont)
S3method(summary, UnimixedContCont)
S3method(summary, BifixedContCont)
S3method(summary, BimixedContCont)
S3method(summary, FixedContContIT)
S3method(summary, MixedContContIT)
S3method(summary, ICA.BinBin)
S3method(summary, ICA.ContCont)
S3method(summary, MICA.ContCont)
S3method(summary, MinSurrContCont)
S3method(summary, SPF.BinBin)
S3method(summary, SPF.BinCont)
S3method(summary, Single.Trial.RE.AA)
S3method(summary, TrialLevelMA)
S3method(summary, TwoStageSurvSurv)
S3method(summary, Prentice)
S3method(summary, PredTrialTContCont)
S3method(summary, FixedBinBinIT)
S3method(summary, FixedBinContIT)
S3method(summary, FixedContBinIT)
S3method(summary, SurvSurv)
S3method(summary, TrialLevelIT)
S3method(summary, MaxEntICA.BinBin)
S3method(summary, MaxEntSPF.BinBin)
S3method(summary, ICA.BinCont)
S3method(summary, FixedDiscrDiscrIT)
S3method(summary, MaxEntContCont)
S3method(summary, ICA.ContCont.MultS)
S3method(summary, AA.MultS)
S3method(summary, PPE.BinBin)
S3method(summary, ECT)
S3method(summary, Bootstrap.MEP.BinBin)
S3method(summary, ISTE.ContCont)
S3method(summary, BimixedCbCContCont)

S3method(summary, MufixedContCont.MultS)
S3method(summary, MumixedContCont.MultS)


S3method(print, vine_copula_SurvSurv_fit)
S3method(print, vine_copula_fit)
S3method(print, sensitivity_intervals_Dvine)

S3method(plot,MetaAnalyticSurvBin)
S3method(print,MetaAnalyticSurvBin)
S3method(summary,MetaAnalyticSurvBin)

S3method(plot,MetaAnalyticSurvCat)
S3method(print,MetaAnalyticSurvCat)
S3method(summary,MetaAnalyticSurvCat)

S3method(plot,MetaAnalyticSurvSurv)
S3method(print,MetaAnalyticSurvSurv)
S3method(summary,MetaAnalyticSurvSurv)

S3method(plot,MetaAnalyticSurvCont)
S3method(print,MetaAnalyticSurvCont)
S3method(summary,MetaAnalyticSurvCont)

S3method(summary,FederatedApproachStage2)



