import type {TurboModule} from 'react-native'; import {TurboModuleRegistry} from 'react-native'; // Boolean setters pass values as serialized strings (matching existing native implementation) export interface Spec extends TurboModule { isVisible(displayRuleId: string): Promise; setVisible(displayRuleId: string, value: string): Promise; isIconVisible(displayRuleId: string): Promise; setIconVisible(displayRuleId: string, value: string): Promise; isPolygonVisible(displayRuleId: string): Promise; setPolygonVisible(displayRuleId: string, value: string): Promise; isLabelVisible(displayRuleId: string): Promise; setLabelVisible(displayRuleId: string, value: string): Promise; isModel2DVisible(displayRuleId: string): Promise; setModel2DVisible(displayRuleId: string, value: string): Promise; isWallVisible(displayRuleId: string): Promise; setWallVisible(displayRuleId: string, value: string): Promise; isExtrusionVisible(displayRuleId: string): Promise; setExtrusionVisible(displayRuleId: string, value: string): Promise; isBadgeVisible(displayRuleId: string): Promise; setBadgeVisible(displayRuleId: string, value: string): Promise; isModel3DVisible(displayRuleId: string): Promise; setModel3DVisible(displayRuleId: string, value: string): Promise; getZoomFrom(displayRuleId: string): Promise; setZoomFrom(displayRuleId: string, value: number): Promise; getZoomTo(displayRuleId: string): Promise; setZoomTo(displayRuleId: string, value: number): Promise; getIconUrl(displayRuleId: string): Promise; setIcon(displayRuleId: string, url: string): Promise; getIconSize(displayRuleId: string): Promise; setIconSize(displayRuleId: string, size: string): Promise; getIconScale(displayRuleId: string): Promise; setIconScale(displayRuleId: string, scale: number): Promise; getIconPlacement(displayRuleId: string): Promise; setIconPlacement(displayRuleId: string, placement: number): Promise; getLabel(displayRuleId: string): Promise; setLabel(displayRuleId: string, label: string): Promise; getLabelZoomFrom(displayRuleId: string): Promise; setLabelZoomFrom(displayRuleId: string, value: number): Promise; getLabelZoomTo(displayRuleId: string): Promise; setLabelZoomTo(displayRuleId: string, value: number): Promise; getLabelMaxWidth(displayRuleId: string): Promise; setLabelMaxWidth(displayRuleId: string, value: number): Promise; getLabelType(displayRuleId: string): Promise; setLabelType(displayRuleId: string, value: number): Promise; getLabelStyleTextSize(displayRuleId: string): Promise; setLabelStyleTextSize(displayRuleId: string, value: number): Promise; getLabelStyleTextColor(displayRuleId: string): Promise; setLabelStyleTextColor(displayRuleId: string, value: string): Promise; getLabelStyleHaloColor(displayRuleId: string): Promise; setLabelStyleHaloColor(displayRuleId: string, value: string): Promise; getLabelStyleTextOpacity(displayRuleId: string): Promise; setLabelStyleTextOpacity(displayRuleId: string, value: number): Promise; getLabelStyleHaloWidth(displayRuleId: string): Promise; setLabelStyleHaloWidth(displayRuleId: string, value: number): Promise; getLabelStyleHaloBlur(displayRuleId: string): Promise; setLabelStyleHaloBlur(displayRuleId: string, value: number): Promise; getLabelStyleBearing(displayRuleId: string): Promise; setLabelStyleBearing(displayRuleId: string, value: number): Promise; getLabelStylePosition(displayRuleId: string): Promise; setLabelStylePosition(displayRuleId: string, value: number): Promise; getLabelStyleGraphic(displayRuleId: string): Promise; setLabelStyleGraphic(displayRuleId: string, value: string): Promise; getPolygonZoomFrom(displayRuleId: string): Promise; setPolygonZoomFrom(displayRuleId: string, value: number): Promise; getPolygonZoomTo(displayRuleId: string): Promise; setPolygonZoomTo(displayRuleId: string, value: number): Promise; getPolygonStrokeWidth(displayRuleId: string): Promise; setPolygonStrokeWidth(displayRuleId: string, value: number): Promise; getPolygonStrokeColor(displayRuleId: string): Promise; setPolygonStrokeColor(displayRuleId: string, value: string): Promise; getPolygonStrokeOpacity(displayRuleId: string): Promise; setPolygonStrokeOpacity(displayRuleId: string, value: number): Promise; getPolygonFillColor(displayRuleId: string): Promise; setPolygonFillColor(displayRuleId: string, value: string): Promise; getPolygonFillOpacity(displayRuleId: string): Promise; setPolygonFillOpacity(displayRuleId: string, value: number): Promise; getPolygonLightnessFactor(displayRuleId: string): Promise; setPolygonLightnessFactor(displayRuleId: string, value: number): Promise; getWallColor(displayRuleId: string): Promise; setWallColor(displayRuleId: string, value: string): Promise; getWallHeight(displayRuleId: string): Promise; setWallHeight(displayRuleId: string, value: number): Promise; getWallZoomFrom(displayRuleId: string): Promise; setWallZoomFrom(displayRuleId: string, value: number): Promise; getWallZoomTo(displayRuleId: string): Promise; setWallZoomTo(displayRuleId: string, value: number): Promise; getWallLightnessFactor(displayRuleId: string): Promise; setWallLightnessFactor(displayRuleId: string, value: number): Promise; getExtrusionColor(displayRuleId: string): Promise; setExtrusionColor(displayRuleId: string, value: string): Promise; getExtrusionHeight(displayRuleId: string): Promise; setExtrusionHeight(displayRuleId: string, value: number): Promise; getExtrusionZoomFrom(displayRuleId: string): Promise; setExtrusionZoomFrom(displayRuleId: string, value: number): Promise; getExtrusionZoomTo(displayRuleId: string): Promise; setExtrusionZoomTo(displayRuleId: string, value: number): Promise; getExtrusionLightnessFactor(displayRuleId: string): Promise; setExtrusionLightnessFactor(displayRuleId: string, value: number): Promise; getModel2DZoomFrom(displayRuleId: string): Promise; setModel2DZoomFrom(displayRuleId: string, value: number): Promise; getModel2DZoomTo(displayRuleId: string): Promise; setModel2DZoomTo(displayRuleId: string, value: number): Promise; getModel2DWidthMeters(displayRuleId: string): Promise; setModel2DWidthMeters(displayRuleId: string, value: number): Promise; getModel2DHeightMeters(displayRuleId: string): Promise; setModel2DHeightMeters(displayRuleId: string, value: number): Promise; getModel2DBearing(displayRuleId: string): Promise; setModel2DBearing(displayRuleId: string, value: number): Promise; getModel2DModel(displayRuleId: string): Promise; setModel2DModel(displayRuleId: string, value: string): Promise; getBadgeFillColor(displayRuleId: string): Promise; setBadgeFillColor(displayRuleId: string, value: string): Promise; getBadgeStrokeColor(displayRuleId: string): Promise; setBadgeStrokeColor(displayRuleId: string, value: string): Promise; getBadgeRadius(displayRuleId: string): Promise; setBadgeRadius(displayRuleId: string, value: number): Promise; getBadgeStrokeWidth(displayRuleId: string): Promise; setBadgeStrokeWidth(displayRuleId: string, value: number): Promise; getBadgePosition(displayRuleId: string): Promise; setBadgePosition(displayRuleId: string, value: number): Promise; getBadgeScale(displayRuleId: string): Promise; setBadgeScale(displayRuleId: string, value: number): Promise; getBadgeZoomFrom(displayRuleId: string): Promise; setBadgeZoomFrom(displayRuleId: string, value: number): Promise; getBadgeZoomTo(displayRuleId: string): Promise; setBadgeZoomTo(displayRuleId: string, value: number): Promise; getModel3DModel(displayRuleId: string): Promise; setModel3DModel(displayRuleId: string, value: string): Promise; getModel3DRotationX(displayRuleId: string): Promise; setModel3DRotationX(displayRuleId: string, value: number): Promise; getModel3DRotationY(displayRuleId: string): Promise; setModel3DRotationY(displayRuleId: string, value: number): Promise; getModel3DRotationZ(displayRuleId: string): Promise; setModel3DRotationZ(displayRuleId: string, value: number): Promise; getModel3DScale(displayRuleId: string): Promise; setModel3DScale(displayRuleId: string, value: number): Promise; getModel3DZoomFrom(displayRuleId: string): Promise; setModel3DZoomFrom(displayRuleId: string, value: number): Promise; getModel3DZoomTo(displayRuleId: string): Promise; setModel3DZoomTo(displayRuleId: string, value: number): Promise; reset(displayRuleId: string): Promise; } export default TurboModuleRegistry.getEnforcing('DisplayRule');