# python-eduvpn-client - The GNU/Linux eduVPN client and Python API
#
# Copyright: 2017, The Commons Conservancy eduVPN Programme
# SPDX-License-Identifier: GPL-3.0+

from nacl.signing import VerifyKey
from typing import Optional
from requests_oauthlib import OAuth2Session

def translate_display_name(display_name): ...
def get_instances(discovery_uri, verifier: VerifyKey): ...
def get_instance_info(instance_uri, verifier: Optional[VerifyKey]=None): ...
def create_keypair(oauth: OAuth2Session, api_base_uri): ...
def list_profiles(oauth: OAuth2Session, api_base_uri): ...
def user_info(oauth: OAuth2Session, api_base_uri): ...
def user_messages(oauth: OAuth2Session, api_base_uri): ...
def system_messages(oauth: OAuth2Session, api_base_uri): ...
def create_config(oauth: OAuth2Session, api_base_uri, display_name, profile_id): ...
def get_profile_config(oauth: OAuth2Session, api_base_uri, profile_id): ...
def get_auth_url(oauth: OAuth2Session, code_verifier, auth_endpoint): ...
def two_factor_enroll_yubi(oauth: OAuth2Session, api_base_uri: str, yubi_key_otp: str) -> None: ...
def two_factor_enroll_totp(oauth: OAuth2Session, api_base_uri: str, secret, key: str) -> None: ...
def check_certificate(oauth: OAuth2Session, api_base_uri: str, common_name) -> dict: ...