Thanks for your reply.
However, your example is not working.
Uri and NSURL are too different. Uri has an private constructor and is constructed by a static factory method. NSURL has several overloaded constructors so i need to call at least one of them.
expect class
commonMain
// has a public no argument constructor
// is instantiable by primary constructor
expect class CommonUrl
androidMain
// is not working, because there is no public constructor
// is not instantiable or only instatiable by static factory method
// Error: Actual typealias 'CommonUrl' has no corresponding expected declaration
// The following declaration is incompatible because modality is different
actual typealias CommonUrl = Uri
iosMain
// is not working, because there is no no-arg constructor which could be called
// Error: Conflicting overloads
actual typealias CommonUrl = NSURL
expect interface
commonMain
expect interface CommonUrl()
androidMain
// Error: Actual typealias 'CommonUrl' has no corresponding expected declaration
// The following declaration is incompatible because class kinds are different (class, interface, object, enum, annotation)
actual typealias CommonUrl = Uri
iosMain
// Error: Conflicting overloads
actual typealias CommonUrl = NSURL