useDynLib(copula)

importFrom(graphics, persp, contour)

importFrom(mvtnorm, dmvnorm, pmvnorm, dmvt, pmvt)

## importFrom(sn, dmst)
## importFrom(sn, qsn, dsn, psn, dmsn, pmsn) 
## importFrom(pspline)
           
export(dcopula, pcopula, rcopula)
export(dmvdc, pmvdc, rmvdc)
export(kendallsTau, spearmansRho, tailIndex)
export(calibKendallsTau, calibSpearmansRho)

## archmCopula methods
export(genFun, genInv, genFunDer1, genFunDer2)

## evCopula methods
export(Afun, AfunDer, Anfun)

exportClasses(mvdc)
exportClasses(copula, ellipCopula, archmCopula, evCopula)
exportClasses(indepCopula)
exportClasses(normalCopula, tCopula)
exportClasses(claytonCopula, frankCopula, gumbelCopula, amhCopula)
exportClasses(galambosCopula, huslerReissCopula, tawnCopula, tevCopula)
exportClasses(plackettCopula)
exportClasses(fgmCopula) 

export(mvdc)
export(ellipCopula, archmCopula, evCopula)
export(normalCopula, tCopula)
export(indepCopula)
export(claytonCopula, frankCopula, gumbelCopula, amhCopula)
export(galambosCopula, huslerReissCopula, tawnCopula, tevCopula)
export(plackettCopula)
export(fgmCopula)

exportMethods(show, summary)
exportMethods(persp, contour)

## fitting copula
export(loglikCopula, loglikMvdc)
export(fitCopula, fitMvdc)
exportClasses(fitCopula, fitMvdc)
exportClasses(summaryFitCopula, summaryFitMvdc)

## independence tests
export(indepTestSim, indepTest, multIndepTest,
       serialIndepTestSim, serialIndepTest, multSerialIndepTest,
       dependogram)

## gof tests
export(gofCopula, gofEVCopula)

## other nonparametric tests
export(evTestC, evTestA, evTestK)
export(exchEVTest, exchTest)

## asymmetric copula class testing
exportClasses(asymCopula)
export(asymCopula)
exportClasses(asymExplicitCopula)
export(asymExplicitCopula)

S3method(print, indepTest)
S3method(print, gofCopula)
S3method(print, evTest)
S3method(print, exchTest)

## testing
## export(derCdfWrtParams, derPdfWrtParams, tauDer, rhoDer)
## export(derCdfWrtArgs)
## export(ChiPlot, KPlot)
## testing purpose
## export(fitCopula.repar)
## export(multcomp)

