/// <reference types="@nativescript/objc-node-api" />
/// <reference path="./Runtime.d.ts" />

declare const kJRSUI_SegmentPosition_last: number;

declare const kJRSUI_Widget_frameGroupBoxSecondary: number;

declare const kJRSUI_WindowType_utility: number;

declare const kJRSUI_AlignmentVertical_center: number;

declare const kJRSUI_Key_segmentTrailingSeparator: number;

declare const kJRSUI_Widget_buttonPushScope: number;

declare const kJRSUI_PartHit_arrowMinInside: number;

declare const kJRSUI_Widget_buttonPushScope2: number;

declare const kJRSUI_Variant_gradientSideBarSelection: number;

declare const kJRSUI_Widget_titleBarZoomBox: number;

declare const kJRSUI_Key_animationStartTime: number;

declare const kJRSUI_Direction_right: number;

declare const kJRSUI_Widget_dividerSplitter: number;

declare const kJRSUI_PartHit_hit: number;

declare const kJRSUI_Direction_up: number;

declare const kJRSUI_PartHit_arrowMax: number;

declare const kJRSUI_PartHit_arrowMin: number;

declare const kJRSUI_PartHit_none: number;

declare const kJRSUI_UserInterfaceLayoutDirection_rightToLeft: number;

declare const kJRSUI_UserInterfaceLayoutDirection_leftToRight: number;

declare const kJRSUI_PresentationState_inactive: number;

declare const kJRSUI_WindowType_titlelessUtility: number;

declare const kJRSUI_Variant_gradientSideBarFocusedSelection: number;

declare const kJRSUI_Variant_gradientListBackgroundEven: number;

declare const kJRSUI_Variant_menuHierarchical: number;

declare const kJRSUI_Variant_menuPulldown: number;

declare const kJRSUI_Variant_menuPopup: number;

declare const kJRSUI_Variant_menuGlyph: number;

declare const kJRSUI_ScrollBarPart_trackMin: number;

declare const kJRSUI_ScrollBarPart_arrowMinInside: number;

declare const kJRSUI_ScrollBarPart_arrowMin: number;

declare const kJRSUI_ScrollBarPart_none: number;

declare const kJRSUI_SegmentPosition_first: number;

declare const kJRSUI_AlignmentVertical_bottom: number;

declare const kJRSUI_AlignmentVertical_top: number;

declare const kJRSUI_AlignmentHorizontal_right: number;

declare const kJRSUI_AlignmentHorizontal_center: number;

declare const kJRSUI_Orientation_vertical: number;

declare const kJRSUI_Orientation_horizontal: number;

declare const kJRSUI_Direction_east: number;

declare const kJRSUI_Direction_south: number;

declare const kJRSUI_Direction_left: number;

declare const kJRSUI_Direction_none: number;

declare const kJRSUI_Size_small: number;

declare const kJRSUI_Size_mini: number;

declare const kJRSUI_State_drag: number;

declare const kJRSUI_State_rollover: number;

declare const kJRSUI_State_pulsed: number;

declare const kJRSUI_State_disabled: number;

declare const kJRSUI_Widget_windowFrame: number;

declare const kJRSUI_Widget_toolbarItemWell: number;

declare const kJRSUI_Widget_titleBarCloseBox: number;

declare const kJRSUI_Widget_synchronization: number;

declare const kJRSUI_Widget_slider: number;

declare const kJRSUI_Widget_scrollColumnSizer: number;

declare const kJRSUI_Widget_progressRelevance: number;

declare const kJRSUI_Widget_menuTitle: number;

declare const kJRSUI_Widget_menuBar: number;

declare const kJRSUI_Widget_menuItem: number;

declare const kJRSUI_Widget_growBox: number;

declare const kJRSUI_Widget_frameWell: number;

declare const kJRSUI_Widget_frameTextField: number;

declare const kJRSUI_Widget_framePlacard: number;

declare const kJRSUI_Widget_frameGroupBox: number;

declare const kJRSUI_Widget_focus: number;

declare const kJRSUI_Widget_dividerSeparatorBar: number;

declare const kJRSUI_Widget_dividerGrabber: number;

declare const kJRSUI_Widget_buttonSegmentedTextured: number;

declare const kJRSUI_Widget_buttonSegmentedSCurve: number;

declare const kJRSUI_Widget_buttonSegmentedInset2: number;

declare const kJRSUI_Widget_buttonSegmentedInset: number;

declare const kJRSUI_Widget_buttonSegmented: number;

declare const kJRSUI_Widget_buttonSearchFieldFind: number;

declare const kJRSUI_Widget_buttonRoundInset2: number;

declare const kJRSUI_Widget_buttonRound: number;

declare const kJRSUI_Widget_buttonRadio: number;

declare const kJRSUI_Widget_buttonPushInset2: number;

declare const kJRSUI_Widget_buttonPush: number;

declare const kJRSUI_Widget_buttonPopDown: number;

declare const kJRSUI_Widget_buttonLittleArrows: number;

declare const kJRSUI_Widget_buttonDisclosure: number;

declare const kJRSUI_Widget_buttonCheckBox: number;

declare const kJRSUI_Widget_buttonBevelInset: number;

declare const kJRSUI_Widget_buttonBevel: number;

declare const kJRSUI_Key_userInterfaceLayoutDirection: number;

declare const kJRSUI_Key_thumbStart: number;

declare const kJRSUI_Key_thumbProportion: number;

declare const kJRSUI_Key_animationFrame: number;

declare const kJRSUI_Key_value: number;

declare const kJRSUI_Key_maximumValue: number;

declare const kJRSUI_Key_frameOnly: number;

declare const kJRSUI_Key_noIndicator: number;

declare const kJRSUI_Key_pressedPart: number;

declare const kJRSUI_Key_position: number;

declare const kJRSUI_Key_horizontalAlignment: number;

declare const kJRSUI_Key_verticalAlignment: number;

declare const kJRSUI_Key_direction: number;

declare const JRSMenuDidReuseItemNotification: string;

declare const kJRSUI_Widget_gradient: number;

declare const kJRSUI_Widget_growBoxTextured: number;

declare const kJRSUI_Key_presentationState: number;

declare const kJRSUI_Key_size: number;

declare const kJRSUI_Widget_buttonComboBoxInset: number;

declare const kJRSUI_Key_windowFrameDrawClipped: number;

declare const kJRSUI_Widget_buttonSearchFieldCancel: number;

declare const kJRSUI_ScrollBarPart_thumb: number;

declare const kJRSUI_Size_regular: number;

declare const kJRSUI_Size_large: number;

declare const kJRSUI_PresentationState_activeMain: number;

declare const kJRSUI_Key_focused: number;

declare const kJRSUI_Variant_gradientSideBar: number;

declare const kJRSUI_AlignmentHorizontal_left: number;

declare const kJRSUI_Widget_buttonPushTextured: number;

declare const kJRSUI_PartHit_unknown: number;

declare const kJRSUI_Key_variant: number;

declare const kJRSUI_Widget_buttonPopUpInset: number;

declare const kJRSUI_Key_segmentLeadingSeparator: number;

declare const kJRSUI_Widget_buttonListHeader: number;

declare const kJRSUI_Key_nothingToScroll: number;

declare const kJRSUI_Direction_west: number;

declare const kJRSUI_Direction_down: number;

declare const kJRSUI_State_active: number;

declare const kJRSUI_PartHit_arrowMaxInside: number;

declare const kJRSUI_PresentationState_activeKey: number;

declare const kJRSUI_Key_windowTitleBarHeight: number;

declare const kJRSUI_Widget_progressSpinner: number;

declare const kJRSUI_Key_arrowsOnly: number;

declare const kJRSUI_Widget_disclosureTriangle: number;

declare const kJRSUI_Widget_titleBarToolbarButton: number;

declare const kJRSUI_PartHit_trackMax: number;

declare const kJRSUI_Widget_buttonPopUp: number;

declare const kJRSUI_Key_indicatorOnly: number;

declare const kJRSUI_Widget_buttonComboBox: number;

declare const kJRSUI_Widget_buttonPopUpSquare: number;

declare const kJRSUI_Widget_buttonPushInset: number;

declare const kJRSUI_Widget_buttonPopDownInset: number;

declare const kJRSUI_Widget_dial: number;

declare const kJRSUI_Widget_sliderThumb: number;

declare const kJRSUI_Widget_background: number;

declare const kJRSUI_Widget_progressIndeterminateBar: number;

declare const kJRSUI_Widget_tab: number;

declare const kJRSUI_Widget_progressBar: number;

declare const kJRSUI_Key_windowFrameDrawTitleSeparator: number;

declare const kJRSUI_Key_state: number;

declare const kJRSUI_Direction_north: number;

declare const kJRSUI_Key_animationTime: number;

declare const kJRSUI_ScrollBarPart_trackMax: number;

declare const kJRSUI_Key_orientation: number;

declare const kJRSUI_SegmentPosition_middle: number;

declare const kJRSUI_Widget_buttonBevelRound: number;

declare const kJRSUI_Key_widget: number;

declare const kJRSUI_ScrollBarPart_arrowMax: number;

declare const kJRSUI_PartHit_thumb: number;

declare const kJRSUI_Widget_buttonRoundHelp: number;

declare const kJRSUI_Widget_frameListBox: number;

declare const kJRSUI_ScrollBarPart_arrowMaxInside: number;

declare const kJRSUI_Key_windowType: number;

declare const kJRSUI_PartHit_trackMin: number;

declare const kJRSUI_Widget_titleBarCollapseBox: number;

declare const kJRSUI_Variant_gradientListBackgroundOdd: number;

declare const kJRSUI_Widget_frameTextFieldRound: number;

declare const kJRSUI_Widget_menu: number;

declare const kJRSUI_State_inactive: number;

declare const kJRSUI_Widget_buttonSegmentedToolbar: number;

declare const kJRSUI_WindowType_document: number;

declare const kJRSUI_Widget_scrollBar: number;

declare const kJRSUI_SegmentPosition_only: number;

declare const kJRSUI_Widget_buttonRoundInset: number;

declare const kJRSUI_State_pressed: number;

declare const kJRSUI_Widget_buttonPopDownSquare: number;

declare function JRSAccessibilityUnregisterUniqueIdForUIElement(element: interop.Object): void;

declare function JRSFontGetRenderingStyleForHints(fmHint: number, aaHint: number): number;

declare function JRSFontAlignStyleForFractionalMeasurement(style: number): number;

declare function JRSFontAlignStyleForIntegerMeasurement(style: number): number;

declare function JRSFontStyleUsesFractionalMetrics(style: number): boolean;

declare function JRSFontStyleIsAntialiased(style: number): boolean;

declare function JRSFontGetRenderingStyleForContext(context: interop.PointerConvertible): number;

declare function JRSFontSetRenderingStyleOnContext(context: interop.PointerConvertible, style: number): void;

declare function JRSFontCreateFallbackFontForCharacters(font: interop.PointerConvertible, unichars: interop.PointerConvertible, length: number): interop.Object;

declare function JRSFontGetAdvancesForGlyphsAndStyle(font: interop.PointerConvertible, tx: interop.PointerConvertible, style: number, glyphs: interop.Pointer, count: number, advances: interop.Pointer): number;

declare function JRSFontGetBoundingBoxesForGlyphsAndStyle(font: interop.PointerConvertible, tx: interop.PointerConvertible, style: number, glyphs: interop.Pointer, count: number, bboxes: interop.Pointer): CGRect;

declare function JRSUIRendererCreate(): interop.Object;

declare function JRSUIRendererRelease(renderer: interop.Object): void;

declare function JRSUIControlCreate(isFlipped: number): interop.Object;

declare function JRSUIControlRelease(control: interop.Object): void;

declare function JRSUIControlDraw(renderer: interop.Object, control: interop.Object, context: interop.Object, bounds: CGRect): void;

declare function JRSUIGetKey(value: number): interop.Object;

declare function JRSUIControlSetValueByKey(control: interop.Object, key: interop.Object, value: interop.Object): void;

declare function JRSUIControlSetWidget(control: interop.Object, value: number): void;

declare function JRSUIControlSetState(control: interop.Object, value: number): void;

declare function JRSUIControlSetSize(control: interop.Object, value: number): void;

declare function JRSUIControlSetDirection(control: interop.Object, value: number): void;

declare function JRSUIControlSetOrientation(control: interop.Object, value: number): void;

declare function JRSUIControlSetAlignmentVertical(control: interop.Object, value: number): void;

declare function JRSUIControlSetAlignmentHorizontal(control: interop.Object, value: number): void;

declare function JRSUIControlSetSegmentPosition(control: interop.Object, value: number): void;

declare function JRSUIControlSetScrollBarPart(control: interop.Object, value: number): void;

declare function JRSUIControlSetVariant(control: interop.Object, value: number): void;

declare function JRSUIControlSetWindowType(control: interop.Object, value: number): void;

declare function JRSUIControlSetPresentationState(control: interop.Object, value: number): void;

declare function JRSUIControlSetUserInterfaceLayoutDirection(control: interop.Object, value: number): void;

declare function JRSUIControlSetShowArrows(control: interop.Object, value: number): void;

declare function JRSUIControlSetAnimating(control: interop.Object, value: number): void;

declare function JRSUIControlGetHitPart(renderer: interop.Object, control: interop.Object, bounds: CGRect, point: CGPoint): number;

declare function JRSUIControlShouldScrollToClick(): number;

declare function JRSUIControlGetScrollBarPartBounds(control: interop.Object, frame: CGRect, part: number): CGRect;

declare function JRSUIControlGetScrollBarOffsetFor(control: interop.Object, frame: CGRect, offset: number, visibleAmount: number, extent: number): number;

declare interface JRSRemoteLayer {
  readonly layerID: number;
}

declare class JRSRemoteLayer extends NativeObject implements JRSRemoteLayer {
}

declare interface JRSMenuDelegate extends NSObjectProtocol {
  handleJavaMouseEvent?(event: NSEvent): void;

  handleJavaMenuItemTargetedAtIndexRect?(menuIndex: number, rect: CGRect): void;
}

declare class JRSMenuDelegate extends NativeObject implements JRSMenuDelegate {
}

declare class JRSDrag extends NSObject {
  static currentAllowableActions(): interop.Enum<typeof NSDragOperation>;

  static currentModifiers(): number;
}

declare class JRSInputMethodController extends NSObject {
  static controller(): JRSInputMethodController;

  availableInputMethodLocales(): NSArray;

  currentInputMethodName(): string;

  currentInputMethodLocale(): string;

  setCurrentInputMethodForLocale(theLocale: string): void;
}

declare class JRSAppKitAWT extends NSObject {
  static awtAppDelegate(): NSApplicationDelegate;

  static registerAWTAppWithOptions(options: NSDictionary<interop.Object, interop.Object> | Record<interop.Object, interop.Object>): void;

  static markAppIsDaemon(): boolean;
}

declare class JRSSymbolicator extends NSObject {
  static symbolicatorForPid(pid: number): JRSSymbolicator;

  addressForSymbol(symbolName: string): number;
}

declare class JRSRenderServer extends NSObject {
  static startRenderServer(): number;

  static sendRenderServer(serverPort: number): string;

  static recieveRenderServer(serverName: string): number;
}

