from _typeshed import Incomplete

def request(method, url, headers, payload=None) -> dict: ...

class FeishuApiBase:
    app_id: Incomplete
    app_secret: Incomplete
    host: str
    headers: Incomplete
    cache: Incomplete
    logger: Incomplete
    def __init__(self, app_id, app_secret, **kwargs) -> None: ...
    def get_access_token(self, key: str = 'app_access_token'): ...
    def get_headers(self): ...
    def get_root_folder_token(self): ...
    def remove(self, token, kind): ...
    def move(self, token, payload): ...
    def copy(self, token, payload): ...
    def upload_file(self, file_path, parent_node): ...
    def download_file(self, file_token, file_path): ...
