#pragma once #include #include #include #include #include namespace QuickMedia { struct GoogleCaptchaChallengeInfo { std::string id; std::string payload_url; std::string description; }; using RequestChallengeResponse = std::function)>; std::future google_captcha_request_challenge(const std::string &api_key, const std::string &referer, RequestChallengeResponse challenge_response_callback, bool use_tor = false); using PostSolutionResponse = std::function, std::optional)>; std::future google_captcha_post_solution(const std::string &api_key, const std::string &captcha_id, std::array selected_images, PostSolutionResponse solution_response_callback, bool use_tor); }