use std::collections::BTreeSet;
use std::path::PathBuf;
use crate::core::backend::GeneratedFile;
use crate::core::config::workspace::ClientConstructorConfig;
use crate::core::config::{AdapterPattern, ResolvedCrateConfig};
use crate::core::ir::{ApiSurface, TypeRef};
use super::object_wrapper::{format_param_with_imports, kotlin_type_with_string_imports};
use super::shared::{to_lower_camel, to_pascal_case};
use crate::backends::kotlin::template_env;
include!("jni_emitter/bridge_object.rs");
include!("jni_emitter/external_functions.rs");
include!("jni_emitter/client_class.rs");
include!("jni_emitter/client_methods.rs");
include!("jni_emitter/constructors.rs");
include!("jni_emitter/binary_json.rs");
include!("jni_emitter/trait_bridge.rs");
include!("jni_emitter/paths.rs");