diff --git a/Sources/MapboxMaps/Interactions/FeaturesetDescriptor.swift b/Sources/MapboxMaps/Interactions/FeaturesetDescriptor.swift index f0a4e4864b0f..a240e85a6c90 100644 --- a/Sources/MapboxMaps/Interactions/FeaturesetDescriptor.swift +++ b/Sources/MapboxMaps/Interactions/FeaturesetDescriptor.swift @@ -12,9 +12,28 @@ @_spi(Experimental) @_documentation(visibility: public) public struct FeaturesetDescriptor: Equatable { - private let featuresetId: String? - private let importId: String? - private let layerId: String? + /// An optional unique identifier for the featureset within the style. + /// This id is used to reference a specific featureset. + /// + /// * Note: If `featuresetId` is provided and valid, it takes precedence over `layerId`, + /// meaning `layerId` will not be considered even if it has a valid value. + @_documentation(visibility: public) + public let featuresetId: String? + + /// An optional import id that is required if the featureset is defined within an imported style. + /// If the featureset belongs to the current style, this field should be set to a null string. + /// + /// * Note: `importId` is only applicable when used in conjunction with `featuresetId` + /// and has no effect when used with `layerId`. + @_documentation(visibility: public) + public let importId: String? + + /// An optional unique identifier for the layer within the current style. + /// + /// * Note: If `featuresetId` is valid, `layerId` will be ignored even if it has a valid value. + /// Additionally, `importId` does not apply when using `layerId`. + @_documentation(visibility: public) + public let layerId: String? private init(featuresetId: String? = nil, importId: String? = nil, layerId: String? = nil) { self.featuresetId = featuresetId