# Generated by roxygen2: do not edit by hand

export("%>%")
export(as_tibble)
export(bind_cols)
export(complete)
export(expand_grid)
export(getAccessToken)
export(getUserCountry)
export(getVisitsSummary)
export(group_by)
export(matomoQuery)
export(mutate)
export(n)
export(persistAccessToken)
export(select)
export(summarise)
export(year)
import(keyring)
import(tibble)
importFrom(dplyr,bind_cols)
importFrom(dplyr,bind_rows)
importFrom(dplyr,group_by)
importFrom(dplyr,mutate)
importFrom(dplyr,n)
importFrom(dplyr,rowwise)
importFrom(dplyr,select)
importFrom(dplyr,summarise)
importFrom(httr2,req_error)
importFrom(httr2,req_perform)
importFrom(httr2,req_url_query)
importFrom(httr2,request)
importFrom(httr2,resp_body_json)
importFrom(httr2,resp_body_raw)
importFrom(jsonlite,fromJSON)
importFrom(lubridate,year)
importFrom(magrittr,"%>%")
importFrom(stringr,str_replace)
importFrom(stringr,str_replace_all)
importFrom(stringr,str_split)
importFrom(tibble,as_tibble)
importFrom(tibble,rownames_to_column)
importFrom(tidyr,complete)
importFrom(tidyr,expand_grid)
importFrom(utils,head)
importFrom(utils,tail)
