useDynLib(Rlabkey, .registration = TRUE)
export(labkey.selectRows, labkey.executeSql, makeFilter, labkey.insertRows, labkey.importRows, labkey.updateRows, labkey.deleteRows,
	labkey.getSchemas, labkey.getQueries, labkey.getQueryViews, labkey.getQueryDetails, labkey.getDefaultViewDetails, labkey.getFolders,
	labkey.getLookupDetails, labkey.makeRemotePath, getSession, getRows, getLookups, lsSchemas, lsFolders, lsProjects, labkey.saveBatch,
	labkey.curlOptions, labkey.setCurlOptions, labkey.acceptSelfSignedCerts, labkey.setDefaults,
	labkey.rstudio.initSession, labkey.rstudio.initRStudio, labkey.rstudio.initReport, labkey.rstudio.saveReport, labkey.rstudio.isInitialized,
	labkey.transform.readRunPropertiesFile, labkey.transform.getRunPropertyValue, labkey.setDebugMode, labkey.setWafEncoding,
	labkey.webdav.get, labkey.webdav.put, labkey.webdav.delete, labkey.webdav.mkDir, labkey.webdav.mkDirs, labkey.webdav.pathExists, labkey.webdav.listDir, labkey.webdav.downloadFolder,
	labkey.truncateTable, labkey.moveRows)
export("getSchema")
export("getFolderPath")
export("saveResults")
export(labkey.experiment.createData)
export(labkey.experiment.createMaterial)
export(labkey.experiment.createRun)
export(labkey.experiment.saveBatch)
export(labkey.experiment.saveRuns)
export(labkey.experiment.SAMPLE_DERIVATION_PROTOCOL)
export(labkey.getModuleProperty)
export(labkey.setModuleProperty)
export(labkey.getBaseUrl)
export(labkey.whoAmI)
export(labkey.domain.create)
export(labkey.domain.createAndLoad)
export(labkey.domain.createDesign)
export(labkey.domain.createIndices)
export(labkey.domain.drop)
export(labkey.domain.get)
export(labkey.domain.inferFields)
export(labkey.domain.save)
export(labkey.domain.createConditionalFormat)
export(labkey.domain.createConditionalFormatQueryFilter)
export(labkey.domain.FILTER_TYPES)
export(labkey.security.createContainer)
export(labkey.security.deleteContainer)
export(labkey.security.getContainers)
export(labkey.security.moveContainer)
export(labkey.security.renameContainer)
export(labkey.security.impersonateUser)
export(labkey.security.stopImpersonating)
export(labkey.provenance.createProvenanceParams)
export(labkey.provenance.startRecording)
export(labkey.provenance.addRecordingStep)
export(labkey.provenance.stopRecording)
export(labkey.getRequestOptions)
export(labkey.pipeline.getPipelineContainer)
export(labkey.pipeline.getProtocols)
export(labkey.pipeline.getFileStatus)
export(labkey.pipeline.startAnalysis)
export(labkey.query.import)
export(labkey.storage.create)
export(labkey.storage.update)
export(labkey.storage.delete)

S3method(print, LabkeySession)
S3method(print, LabkeySchemaList)
S3method(print, LabkeySchema)
S3method(print, LabkeyQuery)
#S3method(print, LabkeyField)

import(httr)
import(jsonlite)

importFrom("utils", "URLdecode", "URLencode", "write.table")
importFrom(Rcpp, sourceCpp)
