pub fn substitute_identifiers( input: &str, offset: usize, declared_imports: &IndexMap<String, Vec<String>>, used_imports: &mut IndexMap<String, ImportDefWithOffset>, allow_ambiguous: bool, ) -> Result<String, usize>