# Generated by roxygen2: do not edit by hand

S3method(knit_print,kableExtra)
S3method(print,kableExtra)
export("%>%")
export(add_footnote)
export(add_header_above)
export(add_indent)
export(as_image)
export(auto_index)
export(cell_spec)
export(collapse_rows)
export(column_spec)
export(footnote)
export(footnote_marker_alphabet)
export(footnote_marker_number)
export(footnote_marker_symbol)
export(group_rows)
export(header_separate)
export(html_dependency_bsTable)
export(html_dependency_kePrint)
export(html_dependency_lightable)
export(kable)
export(kableExtra_latex_packages)
export(kable_as_image)
export(kable_as_xml)
export(kable_classic)
export(kable_classic_2)
export(kable_material)
export(kable_material_dark)
export(kable_minimal)
export(kable_paper)
export(kable_styling)
export(kbl)
export(landscape)
export(linebreak)
export(magic_mirror)
export(pack_rows)
export(remove_column)
export(rmd_format)
export(row_spec)
export(save_kable)
export(scroll_box)
export(spec_angle)
export(spec_barplot)
export(spec_boxplot)
export(spec_color)
export(spec_font_size)
export(spec_hist)
export(spec_image)
export(spec_plot)
export(spec_pointrange)
export(spec_popover)
export(spec_tooltip)
export(text_spec)
export(usepackage_latex)
export(xml_as_kable)
export(xtable2kable)
import(htmltools)
importFrom(digest,digest)
importFrom(glue,glue)
importFrom(grDevices,col2rgb)
importFrom(grDevices,png)
importFrom(grDevices,svg)
importFrom(graphics,boxplot)
importFrom(graphics,hist)
importFrom(graphics,par)
importFrom(graphics,text)
importFrom(knitr,asis_output)
importFrom(knitr,include_graphics)
importFrom(knitr,kable)
importFrom(knitr,knit_meta_add)
importFrom(knitr,knit_print)
importFrom(magrittr,"%>%")
importFrom(rmarkdown,html_dependency_bootstrap)
importFrom(rmarkdown,html_dependency_jquery)
importFrom(rmarkdown,latex_dependency)
importFrom(rmarkdown,metadata)
importFrom(rmarkdown,pandoc_self_contained_html)
importFrom(rstudioapi,isAvailable)
importFrom(rstudioapi,viewer)
importFrom(rvest,html_table)
importFrom(scales,rescale)
importFrom(stats,ave)
importFrom(stats,density)
importFrom(stats,median)
importFrom(stats,na.omit)
importFrom(stats,setNames)
importFrom(stringr,fixed)
importFrom(stringr,str_count)
importFrom(stringr,str_detect)
importFrom(stringr,str_extract)
importFrom(stringr,str_extract_all)
importFrom(stringr,str_match)
importFrom(stringr,str_match_all)
importFrom(stringr,str_replace)
importFrom(stringr,str_replace_all)
importFrom(stringr,str_split)
importFrom(stringr,str_sub)
importFrom(stringr,str_trim)
importFrom(svglite,svglite)
importFrom(tools,file_ext)
importFrom(tools,file_path_sans_ext)
importFrom(utils,capture.output)
importFrom(utils,head)
importFrom(utils,read.csv)
importFrom(viridisLite,viridis)
importFrom(webshot,webshot)
importFrom(xml2,"xml_attr<-")
importFrom(xml2,"xml_text<-")
importFrom(xml2,read_html)
importFrom(xml2,read_xml)
importFrom(xml2,write_xml)
importFrom(xml2,xml_add_child)
importFrom(xml2,xml_add_sibling)
importFrom(xml2,xml_attr)
importFrom(xml2,xml_child)
importFrom(xml2,xml_children)
importFrom(xml2,xml_has_attr)
importFrom(xml2,xml_length)
importFrom(xml2,xml_name)
importFrom(xml2,xml_remove)
importFrom(xml2,xml_text)
