module MultilevelChainSampler

#using AdvancedMH
#using AdvancedMH: DensityModelOrLogDensityModel
using AbstractMCMC: AbstractMCMC, AbstractModel, AbstractSampler, sample
using Distributions

using Random, StatsBase
using Primes, HaltonSequences

import Base: rand, length
import Distributions: logpdf
import StatsBase: sample
#import AdvancedMH.logdensity

#export CyclicWalk
#export SampledDensityModel
export LogDensity, SampledLogDensity
export logdensity
export propose, logpratio
export MetropolisHastings
export RandomWalk, CyclicWalk
export sample

include("models/all.jl")
include("proposals/all.jl")
include("algos/metropolis.jl")
#include("models/sample_based.jl")

end