@callback build(%NervesHubLink.Configurator.Config{
archive_public_keys: term(),
connect: term(),
connect_wait_for_network: term(),
data_path: term(),
device_api_host: term(),
device_api_port: term(),
device_api_sni: term(),
fwup_devpath: term(),
fwup_env: term(),
fwup_public_keys: term(),
fwup_task: term(),
heartbeat_interval_msec: term(),
host: term(),
nerves_key: term(),
params: term(),
remote_iex: term(),
request_archive_public_keys: term(),
request_fwup_public_keys: term(),
shared_secret: term(),
sni: term(),
socket: term(),
ssl: term()
}) :: NervesHubLink.Configurator.Config.t()