from listmonk import (
    impl,
    models,
)
from listmonk.impl import (
    add_subscribers_to_lists,
    block_subscriber,
    campaign_by_id,
    campaign_preview_by_id,
    campaigns,
    confirm_optin,
    create_campaign,
    create_list,
    create_subscriber,
    create_template,
    delete_campaign,
    delete_list,
    delete_subscriber,
    delete_template,
    disable_subscriber,
    enable_subscriber,
    get_base_url,
    is_healthy,
    list_by_id,
    lists,
    login,
    send_transactional_email,
    set_default_template,
    set_url_base,
    subscriber_by_email,
    subscriber_by_id,
    subscriber_by_uuid,
    subscribers,
    template_by_id,
    template_preview_by_id,
    templates,
    update_campaign,
    update_subscriber,
    update_template,
    verify_login,
)

__author__: str = 'Michael Kennedy <michael@talkpython.fm>'
__version__: str = impl.__version__
user_agent: str = impl.user_agent

__all__ = [
    'models',
    'login',
    'verify_login',
    'set_url_base',
    'get_base_url',
    'lists',
    'list_by_id',
    'subscribers',
    'subscriber_by_email',
    'subscriber_by_id',
    'subscriber_by_uuid',
    'create_subscriber',
    'add_subscribers_to_lists',
    'delete_subscriber',
    'update_subscriber',
    'disable_subscriber',
    'enable_subscriber',
    'block_subscriber',
    'send_transactional_email',
    'confirm_optin',
    'is_healthy',
    'campaigns',
    'campaign_by_id',
    'campaign_preview_by_id',
    'create_campaign',
    'delete_campaign',
    'update_campaign',
    'templates',
    'create_template',
    'template_by_id',
    'template_preview_by_id',
    'delete_template',
    'update_template',
    'set_default_template',
    'create_list',
    'delete_list',
]
