declare module native {
	export class Array<T> {	
		constructor();
		length: number;
		[index: number]: T;
	}
}

declare module android {
	export class Manifest extends java.lang.Object {
		public static class: java.lang.Class<android.Manifest>;
		public constructor();
	}
	export module Manifest {
		export class permission extends java.lang.Object {
			public static class: java.lang.Class<android.Manifest.permission>;
			public static ACCEPT_HANDOVER: string;
			public static ACCESS_CHECKIN_PROPERTIES: string;
			public static ACCESS_COARSE_LOCATION: string;
			public static ACCESS_FINE_LOCATION: string;
			public static ACCESS_LOCATION_EXTRA_COMMANDS: string;
			public static ACCESS_NETWORK_STATE: string;
			public static ACCESS_NOTIFICATION_POLICY: string;
			public static ACCESS_WIFI_STATE: string;
			public static ACCOUNT_MANAGER: string;
			public static ADD_VOICEMAIL: string;
			public static ANSWER_PHONE_CALLS: string;
			public static BATTERY_STATS: string;
			public static BIND_ACCESSIBILITY_SERVICE: string;
			public static BIND_APPWIDGET: string;
			public static BIND_AUTOFILL_SERVICE: string;
			public static BIND_CARRIER_MESSAGING_SERVICE: string;
			public static BIND_CARRIER_SERVICES: string;
			public static BIND_CHOOSER_TARGET_SERVICE: string;
			public static BIND_CONDITION_PROVIDER_SERVICE: string;
			public static BIND_DEVICE_ADMIN: string;
			public static BIND_DREAM_SERVICE: string;
			public static BIND_INCALL_SERVICE: string;
			public static BIND_INPUT_METHOD: string;
			public static BIND_MIDI_DEVICE_SERVICE: string;
			public static BIND_NFC_SERVICE: string;
			public static BIND_NOTIFICATION_LISTENER_SERVICE: string;
			public static BIND_PRINT_SERVICE: string;
			public static BIND_QUICK_SETTINGS_TILE: string;
			public static BIND_REMOTEVIEWS: string;
			public static BIND_SCREENING_SERVICE: string;
			public static BIND_TELECOM_CONNECTION_SERVICE: string;
			public static BIND_TEXT_SERVICE: string;
			public static BIND_TV_INPUT: string;
			public static BIND_VISUAL_VOICEMAIL_SERVICE: string;
			public static BIND_VOICE_INTERACTION: string;
			public static BIND_VPN_SERVICE: string;
			public static BIND_VR_LISTENER_SERVICE: string;
			public static BIND_WALLPAPER: string;
			public static BLUETOOTH: string;
			public static BLUETOOTH_ADMIN: string;
			public static BLUETOOTH_PRIVILEGED: string;
			public static BODY_SENSORS: string;
			public static BROADCAST_PACKAGE_REMOVED: string;
			public static BROADCAST_SMS: string;
			public static BROADCAST_STICKY: string;
			public static BROADCAST_WAP_PUSH: string;
			public static CALL_PHONE: string;
			public static CALL_PRIVILEGED: string;
			public static CAMERA: string;
			public static CAPTURE_AUDIO_OUTPUT: string;
			public static CAPTURE_SECURE_VIDEO_OUTPUT: string;
			public static CAPTURE_VIDEO_OUTPUT: string;
			public static CHANGE_COMPONENT_ENABLED_STATE: string;
			public static CHANGE_CONFIGURATION: string;
			public static CHANGE_NETWORK_STATE: string;
			public static CHANGE_WIFI_MULTICAST_STATE: string;
			public static CHANGE_WIFI_STATE: string;
			public static CLEAR_APP_CACHE: string;
			public static CONTROL_LOCATION_UPDATES: string;
			public static DELETE_CACHE_FILES: string;
			public static DELETE_PACKAGES: string;
			public static DIAGNOSTIC: string;
			public static DISABLE_KEYGUARD: string;
			public static DUMP: string;
			public static EXPAND_STATUS_BAR: string;
			public static FACTORY_TEST: string;
			public static FOREGROUND_SERVICE: string;
			public static GET_ACCOUNTS: string;
			public static GET_ACCOUNTS_PRIVILEGED: string;
			public static GET_PACKAGE_SIZE: string;
			public static GET_TASKS: string;
			public static GLOBAL_SEARCH: string;
			public static INSTALL_LOCATION_PROVIDER: string;
			public static INSTALL_PACKAGES: string;
			public static INSTALL_SHORTCUT: string;
			public static INSTANT_APP_FOREGROUND_SERVICE: string;
			public static INTERNET: string;
			public static KILL_BACKGROUND_PROCESSES: string;
			public static LOCATION_HARDWARE: string;
			public static MANAGE_DOCUMENTS: string;
			public static MANAGE_OWN_CALLS: string;
			public static MASTER_CLEAR: string;
			public static MEDIA_CONTENT_CONTROL: string;
			public static MODIFY_AUDIO_SETTINGS: string;
			public static MODIFY_PHONE_STATE: string;
			public static MOUNT_FORMAT_FILESYSTEMS: string;
			public static MOUNT_UNMOUNT_FILESYSTEMS: string;
			public static NFC: string;
			public static NFC_TRANSACTION_EVENT: string;
			public static PACKAGE_USAGE_STATS: string;
			public static PERSISTENT_ACTIVITY: string;
			public static PROCESS_OUTGOING_CALLS: string;
			public static READ_CALENDAR: string;
			public static READ_CALL_LOG: string;
			public static READ_CONTACTS: string;
			public static READ_EXTERNAL_STORAGE: string;
			public static READ_FRAME_BUFFER: string;
			public static READ_INPUT_STATE: string;
			public static READ_LOGS: string;
			public static READ_PHONE_NUMBERS: string;
			public static READ_PHONE_STATE: string;
			public static READ_SMS: string;
			public static READ_SYNC_SETTINGS: string;
			public static READ_SYNC_STATS: string;
			public static READ_VOICEMAIL: string;
			public static REBOOT: string;
			public static RECEIVE_BOOT_COMPLETED: string;
			public static RECEIVE_MMS: string;
			public static RECEIVE_SMS: string;
			public static RECEIVE_WAP_PUSH: string;
			public static RECORD_AUDIO: string;
			public static REORDER_TASKS: string;
			public static REQUEST_COMPANION_RUN_IN_BACKGROUND: string;
			public static REQUEST_COMPANION_USE_DATA_IN_BACKGROUND: string;
			public static REQUEST_DELETE_PACKAGES: string;
			public static REQUEST_IGNORE_BATTERY_OPTIMIZATIONS: string;
			public static REQUEST_INSTALL_PACKAGES: string;
			public static RESTART_PACKAGES: string;
			public static SEND_RESPOND_VIA_MESSAGE: string;
			public static SEND_SMS: string;
			public static SET_ALARM: string;
			public static SET_ALWAYS_FINISH: string;
			public static SET_ANIMATION_SCALE: string;
			public static SET_DEBUG_APP: string;
			public static SET_PREFERRED_APPLICATIONS: string;
			public static SET_PROCESS_LIMIT: string;
			public static SET_TIME: string;
			public static SET_TIME_ZONE: string;
			public static SET_WALLPAPER: string;
			public static SET_WALLPAPER_HINTS: string;
			public static SIGNAL_PERSISTENT_PROCESSES: string;
			public static STATUS_BAR: string;
			public static SYSTEM_ALERT_WINDOW: string;
			public static TRANSMIT_IR: string;
			public static UNINSTALL_SHORTCUT: string;
			public static UPDATE_DEVICE_STATS: string;
			public static USE_BIOMETRIC: string;
			public static USE_FINGERPRINT: string;
			public static USE_SIP: string;
			public static VIBRATE: string;
			public static WAKE_LOCK: string;
			public static WRITE_APN_SETTINGS: string;
			public static WRITE_CALENDAR: string;
			public static WRITE_CALL_LOG: string;
			public static WRITE_CONTACTS: string;
			public static WRITE_EXTERNAL_STORAGE: string;
			public static WRITE_GSERVICES: string;
			public static WRITE_SECURE_SETTINGS: string;
			public static WRITE_SETTINGS: string;
			public static WRITE_SYNC_SETTINGS: string;
			public static WRITE_VOICEMAIL: string;
			public constructor();
		}
		export class permission_group extends java.lang.Object {
			public static class: java.lang.Class<android.Manifest.permission_group>;
			public static CALENDAR: string;
			public static CALL_LOG: string;
			public static CAMERA: string;
			public static CONTACTS: string;
			public static LOCATION: string;
			public static MICROPHONE: string;
			public static PHONE: string;
			public static SENSORS: string;
			public static SMS: string;
			public static STORAGE: string;
			public constructor();
		}
	}
}

declare module android {
	export class R extends java.lang.Object {
		public static class: java.lang.Class<android.R>;
		public constructor();
	}
	export module R {
		export class anim extends java.lang.Object {
			public static class: java.lang.Class<android.R.anim>;
			public static accelerate_decelerate_interpolator: number;
			public static accelerate_interpolator: number;
			public static anticipate_interpolator: number;
			public static anticipate_overshoot_interpolator: number;
			public static bounce_interpolator: number;
			public static cycle_interpolator: number;
			public static decelerate_interpolator: number;
			public static fade_in: number;
			public static fade_out: number;
			public static linear_interpolator: number;
			public static overshoot_interpolator: number;
			public static slide_in_left: number;
			public static slide_out_right: number;
			public constructor();
		}
		export class animator extends java.lang.Object {
			public static class: java.lang.Class<android.R.animator>;
			public static fade_in: number;
			public static fade_out: number;
			public constructor();
		}
		export class array extends java.lang.Object {
			public static class: java.lang.Class<android.R.array>;
			public static emailAddressTypes: number;
			public static imProtocols: number;
			public static organizationTypes: number;
			public static phoneTypes: number;
			public static postalAddressTypes: number;
			public constructor();
		}
		export class attr extends java.lang.Object {
			public static class: java.lang.Class<android.R.attr>;
			public static absListViewStyle: number;
			public static accessibilityEventTypes: number;
			public static accessibilityFeedbackType: number;
			public static accessibilityFlags: number;
			public static accessibilityHeading: number;
			public static accessibilityLiveRegion: number;
			public static accessibilityPaneTitle: number;
			public static accessibilityTraversalAfter: number;
			public static accessibilityTraversalBefore: number;
			public static accountPreferences: number;
			public static accountType: number;
			public static action: number;
			public static actionBarDivider: number;
			public static actionBarItemBackground: number;
			public static actionBarPopupTheme: number;
			public static actionBarSize: number;
			public static actionBarSplitStyle: number;
			public static actionBarStyle: number;
			public static actionBarTabBarStyle: number;
			public static actionBarTabStyle: number;
			public static actionBarTabTextStyle: number;
			public static actionBarTheme: number;
			public static actionBarWidgetTheme: number;
			public static actionButtonStyle: number;
			public static actionDropDownStyle: number;
			public static actionLayout: number;
			public static actionMenuTextAppearance: number;
			public static actionMenuTextColor: number;
			public static actionModeBackground: number;
			public static actionModeCloseButtonStyle: number;
			public static actionModeCloseDrawable: number;
			public static actionModeCopyDrawable: number;
			public static actionModeCutDrawable: number;
			public static actionModeFindDrawable: number;
			public static actionModePasteDrawable: number;
			public static actionModeSelectAllDrawable: number;
			public static actionModeShareDrawable: number;
			public static actionModeSplitBackground: number;
			public static actionModeStyle: number;
			public static actionModeWebSearchDrawable: number;
			public static actionOverflowButtonStyle: number;
			public static actionOverflowMenuStyle: number;
			public static actionProviderClass: number;
			public static actionViewClass: number;
			public static activatedBackgroundIndicator: number;
			public static activityCloseEnterAnimation: number;
			public static activityCloseExitAnimation: number;
			public static activityOpenEnterAnimation: number;
			public static activityOpenExitAnimation: number;
			public static addPrintersActivity: number;
			public static addStatesFromChildren: number;
			public static adjustViewBounds: number;
			public static advancedPrintOptionsActivity: number;
			public static alertDialogIcon: number;
			public static alertDialogStyle: number;
			public static alertDialogTheme: number;
			public static alignmentMode: number;
			public static allContactsName: number;
			public static allowBackup: number;
			public static allowClearUserData: number;
			public static allowEmbedded: number;
			public static allowParallelSyncs: number;
			public static allowSingleTap: number;
			public static allowTaskReparenting: number;
			public static allowUndo: number;
			public static alpha: number;
			public static alphabeticModifiers: number;
			public static alphabeticShortcut: number;
			public static alwaysDrawnWithCache: number;
			public static alwaysRetainTaskState: number;
			public static amPmBackgroundColor: number;
			public static amPmTextColor: number;
			public static ambientShadowAlpha: number;
			public static angle: number;
			public static animateFirstView: number;
			public static animateLayoutChanges: number;
			public static animateOnClick: number;
			public static animation: number;
			public static animationCache: number;
			public static animationDuration: number;
			public static animationOrder: number;
			public static animationResolution: number;
			public static antialias: number;
			public static anyDensity: number;
			public static apduServiceBanner: number;
			public static apiKey: number;
			public static appCategory: number;
			public static appComponentFactory: number;
			public static author: number;
			public static authorities: number;
			public static autoAdvanceViewId: number;
			public static autoCompleteTextViewStyle: number;
			public static autoLink: number;
			public static autoMirrored: number;
			public static autoRemoveFromRecents: number;
			public static autoSizeMaxTextSize: number;
			public static autoSizeMinTextSize: number;
			public static autoSizePresetSizes: number;
			public static autoSizeStepGranularity: number;
			public static autoSizeTextType: number;
			public static autoStart: number;
			public static autoText: number;
			public static autoUrlDetect: number;
			public static autoVerify: number;
			public static autofillHints: number;
			public static autofilledHighlight: number;
			public static background: number;
			public static backgroundDimAmount: number;
			public static backgroundDimEnabled: number;
			public static backgroundSplit: number;
			public static backgroundStacked: number;
			public static backgroundTint: number;
			public static backgroundTintMode: number;
			public static backupAgent: number;
			public static backupInForeground: number;
			public static banner: number;
			public static baseline: number;
			public static baselineAlignBottom: number;
			public static baselineAligned: number;
			public static baselineAlignedChildIndex: number;
			public static bitmap: number;
			public static borderlessButtonStyle: number;
			public static bottom: number;
			public static bottomBright: number;
			public static bottomDark: number;
			public static bottomLeftRadius: number;
			public static bottomMedium: number;
			public static bottomOffset: number;
			public static bottomRightRadius: number;
			public static breadCrumbShortTitle: number;
			public static breadCrumbTitle: number;
			public static breakStrategy: number;
			public static bufferType: number;
			public static button: number;
			public static buttonBarButtonStyle: number;
			public static buttonBarNegativeButtonStyle: number;
			public static buttonBarNeutralButtonStyle: number;
			public static buttonBarPositiveButtonStyle: number;
			public static buttonBarStyle: number;
			public static buttonCornerRadius: number;
			public static buttonGravity: number;
			public static buttonStyle: number;
			public static buttonStyleInset: number;
			public static buttonStyleSmall: number;
			public static buttonStyleToggle: number;
			public static buttonTint: number;
			public static buttonTintMode: number;
			public static cacheColorHint: number;
			public static calendarTextColor: number;
			public static calendarViewShown: number;
			public static calendarViewStyle: number;
			public static canControlMagnification: number;
			public static canPerformGestures: number;
			public static canRecord: number;
			public static canRequestEnhancedWebAccessibility: number;
			public static canRequestFilterKeyEvents: number;
			public static canRequestFingerprintGestures: number;
			public static canRequestTouchExplorationMode: number;
			public static canRetrieveWindowContent: number;
			public static candidatesTextStyleSpans: number;
			public static cantSaveState: number;
			public static capitalize: number;
			public static category: number;
			public static centerBright: number;
			public static centerColor: number;
			public static centerDark: number;
			public static centerMedium: number;
			public static centerX: number;
			public static centerY: number;
			public static certDigest: number;
			public static checkBoxPreferenceStyle: number;
			public static checkMark: number;
			public static checkMarkTint: number;
			public static checkMarkTintMode: number;
			public static checkable: number;
			public static checkableBehavior: number;
			public static checkboxStyle: number;
			public static checked: number;
			public static checkedButton: number;
			public static checkedTextViewStyle: number;
			public static childDivider: number;
			public static childIndicator: number;
			public static childIndicatorEnd: number;
			public static childIndicatorLeft: number;
			public static childIndicatorRight: number;
			public static childIndicatorStart: number;
			public static choiceMode: number;
			public static classLoader: number;
			public static clearTaskOnLaunch: number;
			public static clickable: number;
			public static clipChildren: number;
			public static clipOrientation: number;
			public static clipToPadding: number;
			public static closeIcon: number;
			public static codes: number;
			public static collapseColumns: number;
			public static collapseContentDescription: number;
			public static collapseIcon: number;
			public static color: number;
			public static colorAccent: number;
			public static colorActivatedHighlight: number;
			public static colorBackground: number;
			public static colorBackgroundCacheHint: number;
			public static colorBackgroundFloating: number;
			public static colorButtonNormal: number;
			public static colorControlActivated: number;
			public static colorControlHighlight: number;
			public static colorControlNormal: number;
			public static colorEdgeEffect: number;
			public static colorError: number;
			public static colorFocusedHighlight: number;
			public static colorForeground: number;
			public static colorForegroundInverse: number;
			public static colorLongPressedHighlight: number;
			public static colorMode: number;
			public static colorMultiSelectHighlight: number;
			public static colorPressedHighlight: number;
			public static colorPrimary: number;
			public static colorPrimaryDark: number;
			public static colorSecondary: number;
			public static columnCount: number;
			public static columnDelay: number;
			public static columnOrderPreserved: number;
			public static columnWidth: number;
			public static commitIcon: number;
			public static compatibleWidthLimitDp: number;
			public static completionHint: number;
			public static completionHintView: number;
			public static completionThreshold: number;
			public static configChanges: number;
			public static configure: number;
			public static constantSize: number;
			public static content: number;
			public static contentAgeHint: number;
			public static contentAuthority: number;
			public static contentDescription: number;
			public static contentInsetEnd: number;
			public static contentInsetEndWithActions: number;
			public static contentInsetLeft: number;
			public static contentInsetRight: number;
			public static contentInsetStart: number;
			public static contentInsetStartWithNavigation: number;
			public static contextClickable: number;
			public static contextDescription: number;
			public static contextPopupMenuStyle: number;
			public static contextUri: number;
			public static controlX1: number;
			public static controlX2: number;
			public static controlY1: number;
			public static controlY2: number;
			public static countDown: number;
			public static country: number;
			public static cropToPadding: number;
			public static cursorVisible: number;
			public static customNavigationLayout: number;
			public static customTokens: number;
			public static cycles: number;
			public static dashGap: number;
			public static dashWidth: number;
			public static data: number;
			public static datePickerDialogTheme: number;
			public static datePickerMode: number;
			public static datePickerStyle: number;
			public static dateTextAppearance: number;
			public static dayOfWeekBackground: number;
			public static dayOfWeekTextAppearance: number;
			public static debuggable: number;
			public static defaultFocusHighlightEnabled: number;
			public static defaultHeight: number;
			public static defaultToDeviceProtectedStorage: number;
			public static defaultValue: number;
			public static defaultWidth: number;
			public static delay: number;
			public static dependency: number;
			public static descendantFocusability: number;
			public static description: number;
			public static detachWallpaper: number;
			public static detailColumn: number;
			public static detailSocialSummary: number;
			public static detailsElementBackground: number;
			public static dial: number;
			public static dialogCornerRadius: number;
			public static dialogIcon: number;
			public static dialogLayout: number;
			public static dialogMessage: number;
			public static dialogPreferenceStyle: number;
			public static dialogPreferredPadding: number;
			public static dialogTheme: number;
			public static dialogTitle: number;
			public static digits: number;
			public static directBootAware: number;
			public static direction: number;
			public static directionDescriptions: number;
			public static directionPriority: number;
			public static disableDependentsState: number;
			public static disabledAlpha: number;
			public static displayOptions: number;
			public static dither: number;
			public static divider: number;
			public static dividerHeight: number;
			public static dividerHorizontal: number;
			public static dividerPadding: number;
			public static dividerVertical: number;
			public static documentLaunchMode: number;
			public static drawSelectorOnTop: number;
			public static drawable: number;
			public static drawableBottom: number;
			public static drawableEnd: number;
			public static drawableLeft: number;
			public static drawablePadding: number;
			public static drawableRight: number;
			public static drawableStart: number;
			public static drawableTint: number;
			public static drawableTintMode: number;
			public static drawableTop: number;
			public static drawingCacheQuality: number;
			public static dropDownAnchor: number;
			public static dropDownHeight: number;
			public static dropDownHintAppearance: number;
			public static dropDownHorizontalOffset: number;
			public static dropDownItemStyle: number;
			public static dropDownListViewStyle: number;
			public static dropDownSelector: number;
			public static dropDownSpinnerStyle: number;
			public static dropDownVerticalOffset: number;
			public static dropDownWidth: number;
			public static duplicateParentState: number;
			public static duration: number;
			public static editTextBackground: number;
			public static editTextColor: number;
			public static editTextPreferenceStyle: number;
			public static editTextStyle: number;
			public static editable: number;
			public static editorExtras: number;
			public static elegantTextHeight: number;
			public static elevation: number;
			public static ellipsize: number;
			public static ems: number;
			public static enableVrMode: number;
			public static enabled: number;
			public static end: number;
			public static endColor: number;
			public static endX: number;
			public static endY: number;
			public static endYear: number;
			public static enterFadeDuration: number;
			public static entries: number;
			public static entryValues: number;
			public static eventsInterceptionEnabled: number;
			public static excludeClass: number;
			public static excludeFromRecents: number;
			public static excludeId: number;
			public static excludeName: number;
			public static exitFadeDuration: number;
			public static expandableListPreferredChildIndicatorLeft: number;
			public static expandableListPreferredChildIndicatorRight: number;
			public static expandableListPreferredChildPaddingLeft: number;
			public static expandableListPreferredItemIndicatorLeft: number;
			public static expandableListPreferredItemIndicatorRight: number;
			public static expandableListPreferredItemPaddingLeft: number;
			public static expandableListViewStyle: number;
			public static expandableListViewWhiteStyle: number;
			public static exported: number;
			public static externalService: number;
			public static extraTension: number;
			public static extractNativeLibs: number;
			public static factor: number;
			public static fadeDuration: number;
			public static fadeEnabled: number;
			public static fadeOffset: number;
			public static fadeScrollbars: number;
			public static fadingEdge: number;
			public static fadingEdgeLength: number;
			public static fadingMode: number;
			public static fallbackLineSpacing: number;
			public static fastScrollAlwaysVisible: number;
			public static fastScrollEnabled: number;
			public static fastScrollOverlayPosition: number;
			public static fastScrollPreviewBackgroundLeft: number;
			public static fastScrollPreviewBackgroundRight: number;
			public static fastScrollStyle: number;
			public static fastScrollTextColor: number;
			public static fastScrollThumbDrawable: number;
			public static fastScrollTrackDrawable: number;
			public static fillAfter: number;
			public static fillAlpha: number;
			public static fillBefore: number;
			public static fillColor: number;
			public static fillEnabled: number;
			public static fillType: number;
			public static fillViewport: number;
			public static filter: number;
			public static filterTouchesWhenObscured: number;
			public static fingerprintAuthDrawable: number;
			public static finishOnCloseSystemDialogs: number;
			public static finishOnTaskLaunch: number;
			public static firstBaselineToTopHeight: number;
			public static firstDayOfWeek: number;
			public static fitsSystemWindows: number;
			public static flipInterval: number;
			public static focusable: number;
			public static focusableInTouchMode: number;
			public static focusedByDefault: number;
			public static focusedMonthDateColor: number;
			public static font: number;
			public static fontFamily: number;
			public static fontFeatureSettings: number;
			public static fontProviderAuthority: number;
			public static fontProviderCerts: number;
			public static fontProviderPackage: number;
			public static fontProviderQuery: number;
			public static fontStyle: number;
			public static fontVariationSettings: number;
			public static fontWeight: number;
			public static footerDividersEnabled: number;
			public static forceHasOverlappingRendering: number;
			public static foreground: number;
			public static foregroundGravity: number;
			public static foregroundTint: number;
			public static foregroundTintMode: number;
			public static format: number;
			public static format12Hour: number;
			public static format24Hour: number;
			public static fraction: number;
			public static fragment: number;
			public static fragmentAllowEnterTransitionOverlap: number;
			public static fragmentAllowReturnTransitionOverlap: number;
			public static fragmentCloseEnterAnimation: number;
			public static fragmentCloseExitAnimation: number;
			public static fragmentEnterTransition: number;
			public static fragmentExitTransition: number;
			public static fragmentFadeEnterAnimation: number;
			public static fragmentFadeExitAnimation: number;
			public static fragmentOpenEnterAnimation: number;
			public static fragmentOpenExitAnimation: number;
			public static fragmentReenterTransition: number;
			public static fragmentReturnTransition: number;
			public static fragmentSharedElementEnterTransition: number;
			public static fragmentSharedElementReturnTransition: number;
			public static freezesText: number;
			public static fromAlpha: number;
			public static fromDegrees: number;
			public static fromId: number;
			public static fromScene: number;
			public static fromXDelta: number;
			public static fromXScale: number;
			public static fromYDelta: number;
			public static fromYScale: number;
			public static fullBackupContent: number;
			public static fullBackupOnly: number;
			public static fullBright: number;
			public static fullDark: number;
			public static functionalTest: number;
			public static galleryItemBackground: number;
			public static galleryStyle: number;
			public static gestureColor: number;
			public static gestureStrokeAngleThreshold: number;
			public static gestureStrokeLengthThreshold: number;
			public static gestureStrokeSquarenessThreshold: number;
			public static gestureStrokeType: number;
			public static gestureStrokeWidth: number;
			public static glEsVersion: number;
			public static goIcon: number;
			public static gradientRadius: number;
			public static grantUriPermissions: number;
			public static gravity: number;
			public static gridViewStyle: number;
			public static groupIndicator: number;
			public static hand_hour: number;
			public static hand_minute: number;
			public static handle: number;
			public static handleProfiling: number;
			public static hapticFeedbackEnabled: number;
			public static hardwareAccelerated: number;
			public static hasCode: number;
			public static headerAmPmTextAppearance: number;
			public static headerBackground: number;
			public static headerDayOfMonthTextAppearance: number;
			public static headerDividersEnabled: number;
			public static headerMonthTextAppearance: number;
			public static headerTimeTextAppearance: number;
			public static headerYearTextAppearance: number;
			public static height: number;
			public static hideOnContentScroll: number;
			public static hint: number;
			public static homeAsUpIndicator: number;
			public static homeLayout: number;
			public static horizontalDivider: number;
			public static horizontalGap: number;
			public static horizontalScrollViewStyle: number;
			public static horizontalSpacing: number;
			public static host: number;
			public static hotSpotX: number;
			public static hotSpotY: number;
			public static hyphenationFrequency: number;
			public static icon: number;
			public static iconPreview: number;
			public static iconSpaceReserved: number;
			public static iconTint: number;
			public static iconTintMode: number;
			public static iconifiedByDefault: number;
			public static id: number;
			public static ignoreGravity: number;
			public static imageButtonStyle: number;
			public static imageWellStyle: number;
			public static imeActionId: number;
			public static imeActionLabel: number;
			public static imeExtractEnterAnimation: number;
			public static imeExtractExitAnimation: number;
			public static imeFullscreenBackground: number;
			public static imeOptions: number;
			public static imeSubtypeExtraValue: number;
			public static imeSubtypeLocale: number;
			public static imeSubtypeMode: number;
			public static immersive: number;
			public static importantForAccessibility: number;
			public static importantForAutofill: number;
			public static inAnimation: number;
			public static includeFontPadding: number;
			public static includeInGlobalSearch: number;
			public static indeterminate: number;
			public static indeterminateBehavior: number;
			public static indeterminateDrawable: number;
			public static indeterminateDuration: number;
			public static indeterminateOnly: number;
			public static indeterminateProgressStyle: number;
			public static indeterminateTint: number;
			public static indeterminateTintMode: number;
			public static indicatorEnd: number;
			public static indicatorLeft: number;
			public static indicatorRight: number;
			public static indicatorStart: number;
			public static inflatedId: number;
			public static initOrder: number;
			public static initialKeyguardLayout: number;
			public static initialLayout: number;
			public static innerRadius: number;
			public static innerRadiusRatio: number;
			public static inputMethod: number;
			public static inputType: number;
			public static inset: number;
			public static insetBottom: number;
			public static insetLeft: number;
			public static insetRight: number;
			public static insetTop: number;
			public static installLocation: number;
			public static interpolator: number;
			public static isAlwaysSyncable: number;
			public static isAsciiCapable: number;
			public static isAuxiliary: number;
			public static isDefault: number;
			public static isFeatureSplit: number;
			public static isGame: number;
			public static isIndicator: number;
			public static isModifier: number;
			public static isRepeatable: number;
			public static isScrollContainer: number;
			public static isStatic: number;
			public static isSticky: number;
			public static isolatedProcess: number;
			public static isolatedSplits: number;
			public static itemBackground: number;
			public static itemIconDisabledAlpha: number;
			public static itemPadding: number;
			public static itemTextAppearance: number;
			public static justificationMode: number;
			public static keepScreenOn: number;
			public static key: number;
			public static keyBackground: number;
			public static keyEdgeFlags: number;
			public static keyHeight: number;
			public static keyIcon: number;
			public static keyLabel: number;
			public static keyOutputText: number;
			public static keyPreviewHeight: number;
			public static keyPreviewLayout: number;
			public static keyPreviewOffset: number;
			public static keySet: number;
			public static keyTextColor: number;
			public static keyTextSize: number;
			public static keyWidth: number;
			public static keyboardLayout: number;
			public static keyboardMode: number;
			public static keyboardNavigationCluster: number;
			public static keycode: number;
			public static killAfterRestore: number;
			public static label: number;
			public static labelFor: number;
			public static labelTextSize: number;
			public static languageTag: number;
			public static largeHeap: number;
			public static largeScreens: number;
			public static largestWidthLimitDp: number;
			public static lastBaselineToBottomHeight: number;
			public static launchMode: number;
			public static launchTaskBehindSourceAnimation: number;
			public static launchTaskBehindTargetAnimation: number;
			public static layerType: number;
			public static layout: number;
			public static layoutAnimation: number;
			public static layoutDirection: number;
			public static layoutMode: number;
			public static layout_above: number;
			public static layout_alignBaseline: number;
			public static layout_alignBottom: number;
			public static layout_alignEnd: number;
			public static layout_alignLeft: number;
			public static layout_alignParentBottom: number;
			public static layout_alignParentEnd: number;
			public static layout_alignParentLeft: number;
			public static layout_alignParentRight: number;
			public static layout_alignParentStart: number;
			public static layout_alignParentTop: number;
			public static layout_alignRight: number;
			public static layout_alignStart: number;
			public static layout_alignTop: number;
			public static layout_alignWithParentIfMissing: number;
			public static layout_below: number;
			public static layout_centerHorizontal: number;
			public static layout_centerInParent: number;
			public static layout_centerVertical: number;
			public static layout_column: number;
			public static layout_columnSpan: number;
			public static layout_columnWeight: number;
			public static layout_gravity: number;
			public static layout_height: number;
			public static layout_margin: number;
			public static layout_marginBottom: number;
			public static layout_marginEnd: number;
			public static layout_marginHorizontal: number;
			public static layout_marginLeft: number;
			public static layout_marginRight: number;
			public static layout_marginStart: number;
			public static layout_marginTop: number;
			public static layout_marginVertical: number;
			public static layout_row: number;
			public static layout_rowSpan: number;
			public static layout_rowWeight: number;
			public static layout_scale: number;
			public static layout_span: number;
			public static layout_toEndOf: number;
			public static layout_toLeftOf: number;
			public static layout_toRightOf: number;
			public static layout_toStartOf: number;
			public static layout_weight: number;
			public static layout_width: number;
			public static layout_x: number;
			public static layout_y: number;
			public static left: number;
			public static letterSpacing: number;
			public static level: number;
			public static lineHeight: number;
			public static lineSpacingExtra: number;
			public static lineSpacingMultiplier: number;
			public static lines: number;
			public static linksClickable: number;
			public static listChoiceBackgroundIndicator: number;
			public static listChoiceIndicatorMultiple: number;
			public static listChoiceIndicatorSingle: number;
			public static listDivider: number;
			public static listDividerAlertDialog: number;
			public static listMenuViewStyle: number;
			public static listPopupWindowStyle: number;
			public static listPreferredItemHeight: number;
			public static listPreferredItemHeightLarge: number;
			public static listPreferredItemHeightSmall: number;
			public static listPreferredItemPaddingEnd: number;
			public static listPreferredItemPaddingLeft: number;
			public static listPreferredItemPaddingRight: number;
			public static listPreferredItemPaddingStart: number;
			public static listSelector: number;
			public static listSeparatorTextViewStyle: number;
			public static listViewStyle: number;
			public static listViewWhiteStyle: number;
			public static lockTaskMode: number;
			public static logo: number;
			public static logoDescription: number;
			public static longClickable: number;
			public static loopViews: number;
			public static manageSpaceActivity: number;
			public static mapViewStyle: number;
			public static marqueeRepeatLimit: number;
			public static matchOrder: number;
			public static max: number;
			public static maxAspectRatio: number;
			public static maxButtonHeight: number;
			public static maxDate: number;
			public static maxEms: number;
			public static maxHeight: number;
			public static maxItemsPerRow: number;
			public static maxLength: number;
			public static maxLevel: number;
			public static maxLines: number;
			public static maxLongVersionCode: number;
			public static maxRecents: number;
			public static maxRows: number;
			public static maxSdkVersion: number;
			public static maxWidth: number;
			public static maximumAngle: number;
			public static measureAllChildren: number;
			public static measureWithLargestChild: number;
			public static mediaRouteButtonStyle: number;
			public static mediaRouteTypes: number;
			public static menuCategory: number;
			public static mimeType: number;
			public static min: number;
			public static minDate: number;
			public static minEms: number;
			public static minHeight: number;
			public static minLevel: number;
			public static minLines: number;
			public static minResizeHeight: number;
			public static minResizeWidth: number;
			public static minSdkVersion: number;
			public static minWidth: number;
			public static minimumHorizontalAngle: number;
			public static minimumVerticalAngle: number;
			public static mipMap: number;
			public static mirrorForRtl: number;
			public static mode: number;
			public static moreIcon: number;
			public static multiArch: number;
			public static multiprocess: number;
			public static name: number;
			public static navigationBarColor: number;
			public static navigationBarDividerColor: number;
			public static navigationContentDescription: number;
			public static navigationIcon: number;
			public static navigationMode: number;
			public static negativeButtonText: number;
			public static nestedScrollingEnabled: number;
			public static networkSecurityConfig: number;
			public static nextClusterForward: number;
			public static nextFocusDown: number;
			public static nextFocusForward: number;
			public static nextFocusLeft: number;
			public static nextFocusRight: number;
			public static nextFocusUp: number;
			public static noHistory: number;
			public static normalScreens: number;
			public static notificationTimeout: number;
			public static numColumns: number;
			public static numStars: number;
			public static numberPickerStyle: number;
			public static numbersBackgroundColor: number;
			public static numbersInnerTextColor: number;
			public static numbersSelectorColor: number;
			public static numbersTextColor: number;
			public static numeric: number;
			public static numericModifiers: number;
			public static numericShortcut: number;
			public static offset: number;
			public static onClick: number;
			public static oneshot: number;
			public static opacity: number;
			public static order: number;
			public static orderInCategory: number;
			public static ordering: number;
			public static orderingFromXml: number;
			public static orientation: number;
			public static outAnimation: number;
			public static outlineAmbientShadowColor: number;
			public static outlineProvider: number;
			public static outlineSpotShadowColor: number;
			public static overScrollFooter: number;
			public static overScrollHeader: number;
			public static overScrollMode: number;
			public static overlapAnchor: number;
			public static overridesImplicitlyEnabledSubtype: number;
			public static packageNames: number;
			public static padding: number;
			public static paddingBottom: number;
			public static paddingEnd: number;
			public static paddingHorizontal: number;
			public static paddingLeft: number;
			public static paddingMode: number;
			public static paddingRight: number;
			public static paddingStart: number;
			public static paddingTop: number;
			public static paddingVertical: number;
			public static panelBackground: number;
			public static panelColorBackground: number;
			public static panelColorForeground: number;
			public static panelFullBackground: number;
			public static panelTextAppearance: number;
			public static parentActivityName: number;
			public static password: number;
			public static path: number;
			public static pathData: number;
			public static pathPattern: number;
			public static pathPrefix: number;
			public static patternPathData: number;
			public static permission: number;
			public static permissionFlags: number;
			public static permissionGroup: number;
			public static permissionGroupFlags: number;
			public static persistableMode: number;
			public static persistent: number;
			public static persistentDrawingCache: number;
			public static persistentWhenFeatureAvailable: number;
			public static phoneNumber: number;
			public static pivotX: number;
			public static pivotY: number;
			public static pointerIcon: number;
			public static popupAnimationStyle: number;
			public static popupBackground: number;
			public static popupCharacters: number;
			public static popupElevation: number;
			public static popupEnterTransition: number;
			public static popupExitTransition: number;
			public static popupKeyboard: number;
			public static popupLayout: number;
			public static popupMenuStyle: number;
			public static popupTheme: number;
			public static popupWindowStyle: number;
			public static port: number;
			public static positiveButtonText: number;
			public static preferenceCategoryStyle: number;
			public static preferenceFragmentStyle: number;
			public static preferenceInformationStyle: number;
			public static preferenceLayoutChild: number;
			public static preferenceScreenStyle: number;
			public static preferenceStyle: number;
			public static presentationTheme: number;
			public static previewImage: number;
			public static primaryContentAlpha: number;
			public static priority: number;
			public static privateImeOptions: number;
			public static process: number;
			public static progress: number;
			public static progressBackgroundTint: number;
			public static progressBackgroundTintMode: number;
			public static progressBarPadding: number;
			public static progressBarStyle: number;
			public static progressBarStyleHorizontal: number;
			public static progressBarStyleInverse: number;
			public static progressBarStyleLarge: number;
			public static progressBarStyleLargeInverse: number;
			public static progressBarStyleSmall: number;
			public static progressBarStyleSmallInverse: number;
			public static progressBarStyleSmallTitle: number;
			public static progressDrawable: number;
			public static progressTint: number;
			public static progressTintMode: number;
			public static prompt: number;
			public static propertyName: number;
			public static propertyXName: number;
			public static propertyYName: number;
			public static protectionLevel: number;
			public static publicKey: number;
			public static queryActionMsg: number;
			public static queryAfterZeroResults: number;
			public static queryBackground: number;
			public static queryHint: number;
			public static quickContactBadgeStyleSmallWindowLarge: number;
			public static quickContactBadgeStyleSmallWindowMedium: number;
			public static quickContactBadgeStyleSmallWindowSmall: number;
			public static quickContactBadgeStyleWindowLarge: number;
			public static quickContactBadgeStyleWindowMedium: number;
			public static quickContactBadgeStyleWindowSmall: number;
			public static radioButtonStyle: number;
			public static radius: number;
			public static rating: number;
			public static ratingBarStyle: number;
			public static ratingBarStyleIndicator: number;
			public static ratingBarStyleSmall: number;
			public static readPermission: number;
			public static recognitionService: number;
			public static recreateOnConfigChanges: number;
			public static recycleEnabled: number;
			public static relinquishTaskIdentity: number;
			public static reparent: number;
			public static reparentWithOverlay: number;
			public static repeatCount: number;
			public static repeatMode: number;
			public static reqFiveWayNav: number;
			public static reqHardKeyboard: number;
			public static reqKeyboardType: number;
			public static reqNavigation: number;
			public static reqTouchScreen: number;
			public static requireDeviceUnlock: number;
			public static required: number;
			public static requiredAccountType: number;
			public static requiredFeature: number;
			public static requiredForAllUsers: number;
			public static requiredNotFeature: number;
			public static requiresFadingEdge: number;
			public static requiresSmallestWidthDp: number;
			public static resizeClip: number;
			public static resizeMode: number;
			public static resizeable: number;
			public static resizeableActivity: number;
			public static resource: number;
			public static restoreAnyVersion: number;
			public static restoreNeedsApplication: number;
			public static restrictedAccountType: number;
			public static restrictionType: number;
			public static resumeWhilePausing: number;
			public static reversible: number;
			public static revisionCode: number;
			public static right: number;
			public static ringtonePreferenceStyle: number;
			public static ringtoneType: number;
			public static rotation: number;
			public static rotationAnimation: number;
			public static rotationX: number;
			public static rotationY: number;
			public static roundIcon: number;
			public static rowCount: number;
			public static rowDelay: number;
			public static rowEdgeFlags: number;
			public static rowHeight: number;
			public static rowOrderPreserved: number;
			public static saveEnabled: number;
			public static scaleGravity: number;
			public static scaleHeight: number;
			public static scaleType: number;
			public static scaleWidth: number;
			public static scaleX: number;
			public static scaleY: number;
			public static scheme: number;
			public static screenDensity: number;
			public static screenOrientation: number;
			public static screenReaderFocusable: number;
			public static screenSize: number;
			public static scrollHorizontally: number;
			public static scrollIndicators: number;
			public static scrollViewStyle: number;
			public static scrollX: number;
			public static scrollY: number;
			public static scrollbarAlwaysDrawHorizontalTrack: number;
			public static scrollbarAlwaysDrawVerticalTrack: number;
			public static scrollbarDefaultDelayBeforeFade: number;
			public static scrollbarFadeDuration: number;
			public static scrollbarSize: number;
			public static scrollbarStyle: number;
			public static scrollbarThumbHorizontal: number;
			public static scrollbarThumbVertical: number;
			public static scrollbarTrackHorizontal: number;
			public static scrollbarTrackVertical: number;
			public static scrollbars: number;
			public static scrollingCache: number;
			public static searchButtonText: number;
			public static searchHintIcon: number;
			public static searchIcon: number;
			public static searchMode: number;
			public static searchSettingsDescription: number;
			public static searchSuggestAuthority: number;
			public static searchSuggestIntentAction: number;
			public static searchSuggestIntentData: number;
			public static searchSuggestPath: number;
			public static searchSuggestSelection: number;
			public static searchSuggestThreshold: number;
			public static searchViewStyle: number;
			public static secondaryContentAlpha: number;
			public static secondaryProgress: number;
			public static secondaryProgressTint: number;
			public static secondaryProgressTintMode: number;
			public static seekBarStyle: number;
			public static segmentedButtonStyle: number;
			public static selectAllOnFocus: number;
			public static selectable: number;
			public static selectableItemBackground: number;
			public static selectableItemBackgroundBorderless: number;
			public static selectedDateVerticalBar: number;
			public static selectedWeekBackgroundColor: number;
			public static sessionService: number;
			public static settingsActivity: number;
			public static setupActivity: number;
			public static shadowColor: number;
			public static shadowDx: number;
			public static shadowDy: number;
			public static shadowRadius: number;
			public static shape: number;
			public static shareInterpolator: number;
			public static sharedUserId: number;
			public static sharedUserLabel: number;
			public static shortcutDisabledMessage: number;
			public static shortcutId: number;
			public static shortcutLongLabel: number;
			public static shortcutShortLabel: number;
			public static shouldDisableView: number;
			public static showAsAction: number;
			public static showDefault: number;
			public static showDividers: number;
			public static showForAllUsers: number;
			public static showMetadataInPreview: number;
			public static showOnLockScreen: number;
			public static showSilent: number;
			public static showText: number;
			public static showWeekNumber: number;
			public static showWhenLocked: number;
			public static shownWeekCount: number;
			public static shrinkColumns: number;
			public static singleLine: number;
			public static singleLineTitle: number;
			public static singleUser: number;
			public static slideEdge: number;
			public static smallIcon: number;
			public static smallScreens: number;
			public static smoothScrollbar: number;
			public static soundEffectsEnabled: number;
			public static spacing: number;
			public static spinnerDropDownItemStyle: number;
			public static spinnerItemStyle: number;
			public static spinnerMode: number;
			public static spinnerStyle: number;
			public static spinnersShown: number;
			public static splitMotionEvents: number;
			public static splitName: number;
			public static splitTrack: number;
			public static spotShadowAlpha: number;
			public static src: number;
			public static ssp: number;
			public static sspPattern: number;
			public static sspPrefix: number;
			public static stackFromBottom: number;
			public static stackViewStyle: number;
			public static starStyle: number;
			public static start: number;
			public static startColor: number;
			public static startDelay: number;
			public static startOffset: number;
			public static startX: number;
			public static startY: number;
			public static startYear: number;
			public static stateListAnimator: number;
			public static stateNotNeeded: number;
			public static state_above_anchor: number;
			public static state_accelerated: number;
			public static state_activated: number;
			public static state_active: number;
			public static state_checkable: number;
			public static state_checked: number;
			public static state_drag_can_accept: number;
			public static state_drag_hovered: number;
			public static state_empty: number;
			public static state_enabled: number;
			public static state_expanded: number;
			public static state_first: number;
			public static state_focused: number;
			public static state_hovered: number;
			public static state_last: number;
			public static state_long_pressable: number;
			public static state_middle: number;
			public static state_multiline: number;
			public static state_pressed: number;
			public static state_selected: number;
			public static state_single: number;
			public static state_window_focused: number;
			public static staticWallpaperPreview: number;
			public static statusBarColor: number;
			public static stepSize: number;
			public static stopWithTask: number;
			public static streamType: number;
			public static stretchColumns: number;
			public static stretchMode: number;
			public static strokeAlpha: number;
			public static strokeColor: number;
			public static strokeLineCap: number;
			public static strokeLineJoin: number;
			public static strokeMiterLimit: number;
			public static strokeWidth: number;
			public static subMenuArrow: number;
			public static submitBackground: number;
			public static subtitle: number;
			public static subtitleTextAppearance: number;
			public static subtitleTextColor: number;
			public static subtitleTextStyle: number;
			public static subtypeExtraValue: number;
			public static subtypeId: number;
			public static subtypeLocale: number;
			public static suggestActionMsg: number;
			public static suggestActionMsgColumn: number;
			public static suggestionRowLayout: number;
			public static summary: number;
			public static summaryColumn: number;
			public static summaryOff: number;
			public static summaryOn: number;
			public static supportsAssist: number;
			public static supportsLaunchVoiceAssistFromKeyguard: number;
			public static supportsLocalInteraction: number;
			public static supportsPictureInPicture: number;
			public static supportsRtl: number;
			public static supportsSwitchingToNextInputMethod: number;
			public static supportsUploading: number;
			public static switchMinWidth: number;
			public static switchPadding: number;
			public static switchPreferenceStyle: number;
			public static switchStyle: number;
			public static switchTextAppearance: number;
			public static switchTextOff: number;
			public static switchTextOn: number;
			public static syncable: number;
			public static tabStripEnabled: number;
			public static tabStripLeft: number;
			public static tabStripRight: number;
			public static tabWidgetStyle: number;
			public static tag: number;
			public static targetActivity: number;
			public static targetClass: number;
			public static targetDescriptions: number;
			public static targetId: number;
			public static targetName: number;
			public static targetPackage: number;
			public static targetProcesses: number;
			public static targetSandboxVersion: number;
			public static targetSdkVersion: number;
			public static taskAffinity: number;
			public static taskCloseEnterAnimation: number;
			public static taskCloseExitAnimation: number;
			public static taskOpenEnterAnimation: number;
			public static taskOpenExitAnimation: number;
			public static taskToBackEnterAnimation: number;
			public static taskToBackExitAnimation: number;
			public static taskToFrontEnterAnimation: number;
			public static taskToFrontExitAnimation: number;
			public static tension: number;
			public static testOnly: number;
			public static text: number;
			public static textAlignment: number;
			public static textAllCaps: number;
			public static textAppearance: number;
			public static textAppearanceButton: number;
			public static textAppearanceInverse: number;
			public static textAppearanceLarge: number;
			public static textAppearanceLargeInverse: number;
			public static textAppearanceLargePopupMenu: number;
			public static textAppearanceListItem: number;
			public static textAppearanceListItemSecondary: number;
			public static textAppearanceListItemSmall: number;
			public static textAppearanceMedium: number;
			public static textAppearanceMediumInverse: number;
			public static textAppearancePopupMenuHeader: number;
			public static textAppearanceSearchResultSubtitle: number;
			public static textAppearanceSearchResultTitle: number;
			public static textAppearanceSmall: number;
			public static textAppearanceSmallInverse: number;
			public static textAppearanceSmallPopupMenu: number;
			public static textCheckMark: number;
			public static textCheckMarkInverse: number;
			public static textColor: number;
			public static textColorAlertDialogListItem: number;
			public static textColorHighlight: number;
			public static textColorHighlightInverse: number;
			public static textColorHint: number;
			public static textColorHintInverse: number;
			public static textColorLink: number;
			public static textColorLinkInverse: number;
			public static textColorPrimary: number;
			public static textColorPrimaryDisableOnly: number;
			public static textColorPrimaryInverse: number;
			public static textColorPrimaryInverseDisableOnly: number;
			public static textColorPrimaryInverseNoDisable: number;
			public static textColorPrimaryNoDisable: number;
			public static textColorSecondary: number;
			public static textColorSecondaryInverse: number;
			public static textColorSecondaryInverseNoDisable: number;
			public static textColorSecondaryNoDisable: number;
			public static textColorTertiary: number;
			public static textColorTertiaryInverse: number;
			public static textCursorDrawable: number;
			public static textDirection: number;
			public static textEditNoPasteWindowLayout: number;
			public static textEditPasteWindowLayout: number;
			public static textEditSideNoPasteWindowLayout: number;
			public static textEditSidePasteWindowLayout: number;
			public static textEditSuggestionItemLayout: number;
			public static textFilterEnabled: number;
			public static textFontWeight: number;
			public static textIsSelectable: number;
			public static textOff: number;
			public static textOn: number;
			public static textScaleX: number;
			public static textSelectHandle: number;
			public static textSelectHandleLeft: number;
			public static textSelectHandleRight: number;
			public static textSelectHandleWindowStyle: number;
			public static textSize: number;
			public static textStyle: number;
			public static textSuggestionsWindowStyle: number;
			public static textViewStyle: number;
			public static theme: number;
			public static thickness: number;
			public static thicknessRatio: number;
			public static thumb: number;
			public static thumbOffset: number;
			public static thumbPosition: number;
			public static thumbTextPadding: number;
			public static thumbTint: number;
			public static thumbTintMode: number;
			public static thumbnail: number;
			public static tickMark: number;
			public static tickMarkTint: number;
			public static tickMarkTintMode: number;
			public static tileMode: number;
			public static tileModeX: number;
			public static tileModeY: number;
			public static timePickerDialogTheme: number;
			public static timePickerMode: number;
			public static timePickerStyle: number;
			public static timeZone: number;
			public static tint: number;
			public static tintMode: number;
			public static title: number;
			public static titleCondensed: number;
			public static titleMargin: number;
			public static titleMarginBottom: number;
			public static titleMarginEnd: number;
			public static titleMarginStart: number;
			public static titleMarginTop: number;
			public static titleTextAppearance: number;
			public static titleTextColor: number;
			public static titleTextStyle: number;
			public static toAlpha: number;
			public static toDegrees: number;
			public static toId: number;
			public static toScene: number;
			public static toXDelta: number;
			public static toXScale: number;
			public static toYDelta: number;
			public static toYScale: number;
			public static toolbarStyle: number;
			public static tooltipText: number;
			public static top: number;
			public static topBright: number;
			public static topDark: number;
			public static topLeftRadius: number;
			public static topOffset: number;
			public static topRightRadius: number;
			public static touchscreenBlocksFocus: number;
			public static track: number;
			public static trackTint: number;
			public static trackTintMode: number;
			public static transcriptMode: number;
			public static transformPivotX: number;
			public static transformPivotY: number;
			public static transition: number;
			public static transitionGroup: number;
			public static transitionName: number;
			public static transitionOrdering: number;
			public static transitionVisibilityMode: number;
			public static translateX: number;
			public static translateY: number;
			public static translationX: number;
			public static translationY: number;
			public static translationZ: number;
			public static trimPathEnd: number;
			public static trimPathOffset: number;
			public static trimPathStart: number;
			public static ttcIndex: number;
			public static tunerCount: number;
			public static turnScreenOn: number;
			public static type: number;
			public static typeface: number;
			public static uiOptions: number;
			public static uncertainGestureColor: number;
			public static unfocusedMonthDateColor: number;
			public static unselectedAlpha: number;
			public static updatePeriodMillis: number;
			public static use32bitAbi: number;
			public static useDefaultMargins: number;
			public static useIntrinsicSizeAsMinimum: number;
			public static useLevel: number;
			public static userVisible: number;
			public static usesCleartextTraffic: number;
			public static value: number;
			public static valueFrom: number;
			public static valueTo: number;
			public static valueType: number;
			public static variablePadding: number;
			public static vendor: number;
			public static version: number;
			public static versionCode: number;
			public static versionCodeMajor: number;
			public static versionMajor: number;
			public static versionName: number;
			public static verticalCorrection: number;
			public static verticalDivider: number;
			public static verticalGap: number;
			public static verticalScrollbarPosition: number;
			public static verticalSpacing: number;
			public static viewportHeight: number;
			public static viewportWidth: number;
			public static visibility: number;
			public static visible: number;
			public static visibleToInstantApps: number;
			public static vmSafeMode: number;
			public static voiceIcon: number;
			public static voiceLanguage: number;
			public static voiceLanguageModel: number;
			public static voiceMaxResults: number;
			public static voicePromptText: number;
			public static voiceSearchMode: number;
			public static wallpaperCloseEnterAnimation: number;
			public static wallpaperCloseExitAnimation: number;
			public static wallpaperIntraCloseEnterAnimation: number;
			public static wallpaperIntraCloseExitAnimation: number;
			public static wallpaperIntraOpenEnterAnimation: number;
			public static wallpaperIntraOpenExitAnimation: number;
			public static wallpaperOpenEnterAnimation: number;
			public static wallpaperOpenExitAnimation: number;
			public static webTextViewStyle: number;
			public static webViewStyle: number;
			public static weekDayTextAppearance: number;
			public static weekNumberColor: number;
			public static weekSeparatorLineColor: number;
			public static weightSum: number;
			public static widgetCategory: number;
			public static widgetFeatures: number;
			public static widgetLayout: number;
			public static width: number;
			public static windowActionBar: number;
			public static windowActionBarOverlay: number;
			public static windowActionModeOverlay: number;
			public static windowActivityTransitions: number;
			public static windowAllowEnterTransitionOverlap: number;
			public static windowAllowReturnTransitionOverlap: number;
			public static windowAnimationStyle: number;
			public static windowBackground: number;
			public static windowBackgroundFallback: number;
			public static windowClipToOutline: number;
			public static windowCloseOnTouchOutside: number;
			public static windowContentOverlay: number;
			public static windowContentTransitionManager: number;
			public static windowContentTransitions: number;
			public static windowDisablePreview: number;
			public static windowDrawsSystemBarBackgrounds: number;
			public static windowElevation: number;
			public static windowEnableSplitTouch: number;
			public static windowEnterAnimation: number;
			public static windowEnterTransition: number;
			public static windowExitAnimation: number;
			public static windowExitTransition: number;
			public static windowFrame: number;
			public static windowFullscreen: number;
			public static windowHideAnimation: number;
			public static windowIsFloating: number;
			public static windowIsTranslucent: number;
			public static windowLayoutInDisplayCutoutMode: number;
			public static windowLightNavigationBar: number;
			public static windowLightStatusBar: number;
			public static windowMinWidthMajor: number;
			public static windowMinWidthMinor: number;
			public static windowNoDisplay: number;
			public static windowNoTitle: number;
			public static windowOverscan: number;
			public static windowReenterTransition: number;
			public static windowReturnTransition: number;
			public static windowSharedElementEnterTransition: number;
			public static windowSharedElementExitTransition: number;
			public static windowSharedElementReenterTransition: number;
			public static windowSharedElementReturnTransition: number;
			public static windowSharedElementsUseOverlay: number;
			public static windowShowAnimation: number;
			public static windowShowWallpaper: number;
			public static windowSoftInputMode: number;
			public static windowSplashscreenContent: number;
			public static windowSwipeToDismiss: number;
			public static windowTitleBackgroundStyle: number;
			public static windowTitleSize: number;
			public static windowTitleStyle: number;
			public static windowTransitionBackgroundFadeDuration: number;
			public static windowTranslucentNavigation: number;
			public static windowTranslucentStatus: number;
			public static writePermission: number;
			public static x: number;
			public static xlargeScreens: number;
			public static y: number;
			public static yearListItemTextAppearance: number;
			public static yearListSelectorColor: number;
			public static yesNoPreferenceStyle: number;
			public static zAdjustment: number;
			public constructor();
		}
		export class bool extends java.lang.Object {
			public static class: java.lang.Class<android.R.bool>;
			public constructor();
		}
		export class color extends java.lang.Object {
			public static class: java.lang.Class<android.R.color>;
			public static background_dark: number;
			public static background_light: number;
			public static black: number;
			public static darker_gray: number;
			public static holo_blue_bright: number;
			public static holo_blue_dark: number;
			public static holo_blue_light: number;
			public static holo_green_dark: number;
			public static holo_green_light: number;
			public static holo_orange_dark: number;
			public static holo_orange_light: number;
			public static holo_purple: number;
			public static holo_red_dark: number;
			public static holo_red_light: number;
			public static primary_text_dark: number;
			public static primary_text_dark_nodisable: number;
			public static primary_text_light: number;
			public static primary_text_light_nodisable: number;
			public static secondary_text_dark: number;
			public static secondary_text_dark_nodisable: number;
			public static secondary_text_light: number;
			public static secondary_text_light_nodisable: number;
			public static tab_indicator_text: number;
			public static tertiary_text_dark: number;
			public static tertiary_text_light: number;
			public static transparent: number;
			public static white: number;
			public static widget_edittext_dark: number;
			public constructor();
		}
		export class dimen extends java.lang.Object {
			public static class: java.lang.Class<android.R.dimen>;
			public static app_icon_size: number;
			public static dialog_min_width_major: number;
			public static dialog_min_width_minor: number;
			public static notification_large_icon_height: number;
			public static notification_large_icon_width: number;
			public static thumbnail_height: number;
			public static thumbnail_width: number;
			public constructor();
		}
		export class drawable extends java.lang.Object {
			public static class: java.lang.Class<android.R.drawable>;
			public static alert_dark_frame: number;
			public static alert_light_frame: number;
			public static arrow_down_float: number;
			public static arrow_up_float: number;
			public static bottom_bar: number;
			public static btn_default: number;
			public static btn_default_small: number;
			public static btn_dialog: number;
			public static btn_dropdown: number;
			public static btn_minus: number;
			public static btn_plus: number;
			public static btn_radio: number;
			public static btn_star: number;
			public static btn_star_big_off: number;
			public static btn_star_big_on: number;
			public static button_onoff_indicator_off: number;
			public static button_onoff_indicator_on: number;
			public static checkbox_off_background: number;
			public static checkbox_on_background: number;
			public static dark_header: number;
			public static dialog_frame: number;
			public static dialog_holo_dark_frame: number;
			public static dialog_holo_light_frame: number;
			public static divider_horizontal_bright: number;
			public static divider_horizontal_dark: number;
			public static divider_horizontal_dim_dark: number;
			public static divider_horizontal_textfield: number;
			public static edit_text: number;
			public static editbox_background: number;
			public static editbox_background_normal: number;
			public static editbox_dropdown_dark_frame: number;
			public static editbox_dropdown_light_frame: number;
			public static gallery_thumb: number;
			public static ic_btn_speak_now: number;
			public static ic_delete: number;
			public static ic_dialog_alert: number;
			public static ic_dialog_dialer: number;
			public static ic_dialog_email: number;
			public static ic_dialog_info: number;
			public static ic_dialog_map: number;
			public static ic_input_add: number;
			public static ic_input_delete: number;
			public static ic_input_get: number;
			public static ic_lock_idle_alarm: number;
			public static ic_lock_idle_charging: number;
			public static ic_lock_idle_lock: number;
			public static ic_lock_idle_low_battery: number;
			public static ic_lock_lock: number;
			public static ic_lock_power_off: number;
			public static ic_lock_silent_mode: number;
			public static ic_lock_silent_mode_off: number;
			public static ic_media_ff: number;
			public static ic_media_next: number;
			public static ic_media_pause: number;
			public static ic_media_play: number;
			public static ic_media_previous: number;
			public static ic_media_rew: number;
			public static ic_menu_add: number;
			public static ic_menu_agenda: number;
			public static ic_menu_always_landscape_portrait: number;
			public static ic_menu_call: number;
			public static ic_menu_camera: number;
			public static ic_menu_close_clear_cancel: number;
			public static ic_menu_compass: number;
			public static ic_menu_crop: number;
			public static ic_menu_day: number;
			public static ic_menu_delete: number;
			public static ic_menu_directions: number;
			public static ic_menu_edit: number;
			public static ic_menu_gallery: number;
			public static ic_menu_help: number;
			public static ic_menu_info_details: number;
			public static ic_menu_manage: number;
			public static ic_menu_mapmode: number;
			public static ic_menu_month: number;
			public static ic_menu_more: number;
			public static ic_menu_my_calendar: number;
			public static ic_menu_mylocation: number;
			public static ic_menu_myplaces: number;
			public static ic_menu_preferences: number;
			public static ic_menu_recent_history: number;
			public static ic_menu_report_image: number;
			public static ic_menu_revert: number;
			public static ic_menu_rotate: number;
			public static ic_menu_save: number;
			public static ic_menu_search: number;
			public static ic_menu_send: number;
			public static ic_menu_set_as: number;
			public static ic_menu_share: number;
			public static ic_menu_slideshow: number;
			public static ic_menu_sort_alphabetically: number;
			public static ic_menu_sort_by_size: number;
			public static ic_menu_today: number;
			public static ic_menu_upload: number;
			public static ic_menu_upload_you_tube: number;
			public static ic_menu_view: number;
			public static ic_menu_week: number;
			public static ic_menu_zoom: number;
			public static ic_notification_clear_all: number;
			public static ic_notification_overlay: number;
			public static ic_partial_secure: number;
			public static ic_popup_disk_full: number;
			public static ic_popup_reminder: number;
			public static ic_popup_sync: number;
			public static ic_search_category_default: number;
			public static ic_secure: number;
			public static list_selector_background: number;
			public static menu_frame: number;
			public static menu_full_frame: number;
			public static menuitem_background: number;
			public static picture_frame: number;
			public static presence_audio_away: number;
			public static presence_audio_busy: number;
			public static presence_audio_online: number;
			public static presence_away: number;
			public static presence_busy: number;
			public static presence_invisible: number;
			public static presence_offline: number;
			public static presence_online: number;
			public static presence_video_away: number;
			public static presence_video_busy: number;
			public static presence_video_online: number;
			public static progress_horizontal: number;
			public static progress_indeterminate_horizontal: number;
			public static radiobutton_off_background: number;
			public static radiobutton_on_background: number;
			public static screen_background_dark: number;
			public static screen_background_dark_transparent: number;
			public static screen_background_light: number;
			public static screen_background_light_transparent: number;
			public static spinner_background: number;
			public static spinner_dropdown_background: number;
			public static star_big_off: number;
			public static star_big_on: number;
			public static star_off: number;
			public static star_on: number;
			public static stat_notify_call_mute: number;
			public static stat_notify_chat: number;
			public static stat_notify_error: number;
			public static stat_notify_missed_call: number;
			public static stat_notify_more: number;
			public static stat_notify_sdcard: number;
			public static stat_notify_sdcard_prepare: number;
			public static stat_notify_sdcard_usb: number;
			public static stat_notify_sync: number;
			public static stat_notify_sync_noanim: number;
			public static stat_notify_voicemail: number;
			public static stat_sys_data_bluetooth: number;
			public static stat_sys_download: number;
			public static stat_sys_download_done: number;
			public static stat_sys_headset: number;
			public static stat_sys_phone_call: number;
			public static stat_sys_phone_call_forward: number;
			public static stat_sys_phone_call_on_hold: number;
			public static stat_sys_speakerphone: number;
			public static stat_sys_upload: number;
			public static stat_sys_upload_done: number;
			public static stat_sys_vp_phone_call: number;
			public static stat_sys_vp_phone_call_on_hold: number;
			public static stat_sys_warning: number;
			public static status_bar_item_app_background: number;
			public static status_bar_item_background: number;
			public static sym_action_call: number;
			public static sym_action_chat: number;
			public static sym_action_email: number;
			public static sym_call_incoming: number;
			public static sym_call_missed: number;
			public static sym_call_outgoing: number;
			public static sym_contact_card: number;
			public static sym_def_app_icon: number;
			public static title_bar: number;
			public static title_bar_tall: number;
			public static toast_frame: number;
			public static zoom_plate: number;
			public constructor();
		}
		export class fraction extends java.lang.Object {
			public static class: java.lang.Class<android.R.fraction>;
			public constructor();
		}
		export class id extends java.lang.Object {
			public static class: java.lang.Class<android.R.id>;
			public static accessibilityActionContextClick: number;
			public static accessibilityActionHideTooltip: number;
			public static accessibilityActionMoveWindow: number;
			public static accessibilityActionScrollDown: number;
			public static accessibilityActionScrollLeft: number;
			public static accessibilityActionScrollRight: number;
			public static accessibilityActionScrollToPosition: number;
			public static accessibilityActionScrollUp: number;
			public static accessibilityActionSetProgress: number;
			public static accessibilityActionShowOnScreen: number;
			public static accessibilityActionShowTooltip: number;
			public static addToDictionary: number;
			public static autofill: number;
			public static background: number;
			public static button1: number;
			public static button2: number;
			public static button3: number;
			public static candidatesArea: number;
			public static checkbox: number;
			public static closeButton: number;
			public static content: number;
			public static copy: number;
			public static copyUrl: number;
			public static custom: number;
			public static cut: number;
			public static edit: number;
			public static empty: number;
			public static extractArea: number;
			public static hint: number;
			public static home: number;
			public static icon: number;
			public static icon1: number;
			public static icon2: number;
			public static icon_frame: number;
			public static input: number;
			public static inputArea: number;
			public static inputExtractEditText: number;
			public static keyboardView: number;
			public static list: number;
			public static list_container: number;
			public static mask: number;
			public static message: number;
			public static navigationBarBackground: number;
			public static paste: number;
			public static pasteAsPlainText: number;
			public static primary: number;
			public static progress: number;
			public static redo: number;
			public static replaceText: number;
			public static secondaryProgress: number;
			public static selectAll: number;
			public static selectTextMode: number;
			public static selectedIcon: number;
			public static shareText: number;
			public static startSelectingText: number;
			public static statusBarBackground: number;
			public static stopSelectingText: number;
			public static summary: number;
			public static switchInputMethod: number;
			public static switch_widget: number;
			public static tabcontent: number;
			public static tabhost: number;
			public static tabs: number;
			public static text1: number;
			public static text2: number;
			public static textAssist: number;
			public static title: number;
			public static toggle: number;
			public static undo: number;
			public static widget_frame: number;
			public constructor();
		}
		export class integer extends java.lang.Object {
			public static class: java.lang.Class<android.R.integer>;
			public static config_longAnimTime: number;
			public static config_mediumAnimTime: number;
			public static config_shortAnimTime: number;
			public static status_bar_notification_info_maxnum: number;
			public constructor();
		}
		export class interpolator extends java.lang.Object {
			public static class: java.lang.Class<android.R.interpolator>;
			public static accelerate_cubic: number;
			public static accelerate_decelerate: number;
			public static accelerate_quad: number;
			public static accelerate_quint: number;
			public static anticipate: number;
			public static anticipate_overshoot: number;
			public static bounce: number;
			public static cycle: number;
			public static decelerate_cubic: number;
			public static decelerate_quad: number;
			public static decelerate_quint: number;
			public static fast_out_extra_slow_in: number;
			public static fast_out_linear_in: number;
			public static fast_out_slow_in: number;
			public static linear: number;
			public static linear_out_slow_in: number;
			public static overshoot: number;
			public constructor();
		}
		export class layout extends java.lang.Object {
			public static class: java.lang.Class<android.R.layout>;
			public static activity_list_item: number;
			public static browser_link_context_header: number;
			public static expandable_list_content: number;
			public static list_content: number;
			public static preference_category: number;
			public static select_dialog_item: number;
			public static select_dialog_multichoice: number;
			public static select_dialog_singlechoice: number;
			public static simple_dropdown_item_1line: number;
			public static simple_expandable_list_item_1: number;
			public static simple_expandable_list_item_2: number;
			public static simple_gallery_item: number;
			public static simple_list_item_1: number;
			public static simple_list_item_2: number;
			public static simple_list_item_activated_1: number;
			public static simple_list_item_activated_2: number;
			public static simple_list_item_checked: number;
			public static simple_list_item_multiple_choice: number;
			public static simple_list_item_single_choice: number;
			public static simple_selectable_list_item: number;
			public static simple_spinner_dropdown_item: number;
			public static simple_spinner_item: number;
			public static test_list_item: number;
			public static two_line_list_item: number;
			public constructor();
		}
		export class menu extends java.lang.Object {
			public static class: java.lang.Class<android.R.menu>;
			public constructor();
		}
		export class mipmap extends java.lang.Object {
			public static class: java.lang.Class<android.R.mipmap>;
			public static sym_def_app_icon: number;
			public constructor();
		}
		export class plurals extends java.lang.Object {
			public static class: java.lang.Class<android.R.plurals>;
			public constructor();
		}
		export class raw extends java.lang.Object {
			public static class: java.lang.Class<android.R.raw>;
			public constructor();
		}
		export class style extends java.lang.Object {
			public static class: java.lang.Class<android.R.style>;
			public static Animation: number;
			public static Animation_Activity: number;
			public static Animation_Dialog: number;
			public static Animation_InputMethod: number;
			public static Animation_Toast: number;
			public static Animation_Translucent: number;
			public static DeviceDefault_ButtonBar: number;
			public static DeviceDefault_ButtonBar_AlertDialog: number;
			public static DeviceDefault_Light_ButtonBar: number;
			public static DeviceDefault_Light_ButtonBar_AlertDialog: number;
			public static DeviceDefault_Light_SegmentedButton: number;
			public static DeviceDefault_SegmentedButton: number;
			public static Holo_ButtonBar: number;
			public static Holo_ButtonBar_AlertDialog: number;
			public static Holo_Light_ButtonBar: number;
			public static Holo_Light_ButtonBar_AlertDialog: number;
			public static Holo_Light_SegmentedButton: number;
			public static Holo_SegmentedButton: number;
			public static MediaButton: number;
			public static MediaButton_Ffwd: number;
			public static MediaButton_Next: number;
			public static MediaButton_Pause: number;
			public static MediaButton_Play: number;
			public static MediaButton_Previous: number;
			public static MediaButton_Rew: number;
			public static TextAppearance: number;
			public static TextAppearance_DeviceDefault: number;
			public static TextAppearance_DeviceDefault_DialogWindowTitle: number;
			public static TextAppearance_DeviceDefault_Inverse: number;
			public static TextAppearance_DeviceDefault_Large: number;
			public static TextAppearance_DeviceDefault_Large_Inverse: number;
			public static TextAppearance_DeviceDefault_Medium: number;
			public static TextAppearance_DeviceDefault_Medium_Inverse: number;
			public static TextAppearance_DeviceDefault_SearchResult_Subtitle: number;
			public static TextAppearance_DeviceDefault_SearchResult_Title: number;
			public static TextAppearance_DeviceDefault_Small: number;
			public static TextAppearance_DeviceDefault_Small_Inverse: number;
			public static TextAppearance_DeviceDefault_Widget: number;
			public static TextAppearance_DeviceDefault_Widget_ActionBar_Menu: number;
			public static TextAppearance_DeviceDefault_Widget_ActionBar_Subtitle: number;
			public static TextAppearance_DeviceDefault_Widget_ActionBar_Subtitle_Inverse: number;
			public static TextAppearance_DeviceDefault_Widget_ActionBar_Title: number;
			public static TextAppearance_DeviceDefault_Widget_ActionBar_Title_Inverse: number;
			public static TextAppearance_DeviceDefault_Widget_ActionMode_Subtitle: number;
			public static TextAppearance_DeviceDefault_Widget_ActionMode_Subtitle_Inverse: number;
			public static TextAppearance_DeviceDefault_Widget_ActionMode_Title: number;
			public static TextAppearance_DeviceDefault_Widget_ActionMode_Title_Inverse: number;
			public static TextAppearance_DeviceDefault_Widget_Button: number;
			public static TextAppearance_DeviceDefault_Widget_DropDownHint: number;
			public static TextAppearance_DeviceDefault_Widget_DropDownItem: number;
			public static TextAppearance_DeviceDefault_Widget_EditText: number;
			public static TextAppearance_DeviceDefault_Widget_IconMenu_Item: number;
			public static TextAppearance_DeviceDefault_Widget_PopupMenu: number;
			public static TextAppearance_DeviceDefault_Widget_PopupMenu_Large: number;
			public static TextAppearance_DeviceDefault_Widget_PopupMenu_Small: number;
			public static TextAppearance_DeviceDefault_Widget_TabWidget: number;
			public static TextAppearance_DeviceDefault_Widget_TextView: number;
			public static TextAppearance_DeviceDefault_Widget_TextView_PopupMenu: number;
			public static TextAppearance_DeviceDefault_Widget_TextView_SpinnerItem: number;
			public static TextAppearance_DeviceDefault_WindowTitle: number;
			public static TextAppearance_DialogWindowTitle: number;
			public static TextAppearance_Holo: number;
			public static TextAppearance_Holo_DialogWindowTitle: number;
			public static TextAppearance_Holo_Inverse: number;
			public static TextAppearance_Holo_Large: number;
			public static TextAppearance_Holo_Large_Inverse: number;
			public static TextAppearance_Holo_Medium: number;
			public static TextAppearance_Holo_Medium_Inverse: number;
			public static TextAppearance_Holo_SearchResult_Subtitle: number;
			public static TextAppearance_Holo_SearchResult_Title: number;
			public static TextAppearance_Holo_Small: number;
			public static TextAppearance_Holo_Small_Inverse: number;
			public static TextAppearance_Holo_Widget: number;
			public static TextAppearance_Holo_Widget_ActionBar_Menu: number;
			public static TextAppearance_Holo_Widget_ActionBar_Subtitle: number;
			public static TextAppearance_Holo_Widget_ActionBar_Subtitle_Inverse: number;
			public static TextAppearance_Holo_Widget_ActionBar_Title: number;
			public static TextAppearance_Holo_Widget_ActionBar_Title_Inverse: number;
			public static TextAppearance_Holo_Widget_ActionMode_Subtitle: number;
			public static TextAppearance_Holo_Widget_ActionMode_Subtitle_Inverse: number;
			public static TextAppearance_Holo_Widget_ActionMode_Title: number;
			public static TextAppearance_Holo_Widget_ActionMode_Title_Inverse: number;
			public static TextAppearance_Holo_Widget_Button: number;
			public static TextAppearance_Holo_Widget_DropDownHint: number;
			public static TextAppearance_Holo_Widget_DropDownItem: number;
			public static TextAppearance_Holo_Widget_EditText: number;
			public static TextAppearance_Holo_Widget_IconMenu_Item: number;
			public static TextAppearance_Holo_Widget_PopupMenu: number;
			public static TextAppearance_Holo_Widget_PopupMenu_Large: number;
			public static TextAppearance_Holo_Widget_PopupMenu_Small: number;
			public static TextAppearance_Holo_Widget_TabWidget: number;
			public static TextAppearance_Holo_Widget_TextView: number;
			public static TextAppearance_Holo_Widget_TextView_PopupMenu: number;
			public static TextAppearance_Holo_Widget_TextView_SpinnerItem: number;
			public static TextAppearance_Holo_WindowTitle: number;
			public static TextAppearance_Inverse: number;
			public static TextAppearance_Large: number;
			public static TextAppearance_Large_Inverse: number;
			public static TextAppearance_Material: number;
			public static TextAppearance_Material_Body1: number;
			public static TextAppearance_Material_Body2: number;
			public static TextAppearance_Material_Button: number;
			public static TextAppearance_Material_Caption: number;
			public static TextAppearance_Material_DialogWindowTitle: number;
			public static TextAppearance_Material_Display1: number;
			public static TextAppearance_Material_Display2: number;
			public static TextAppearance_Material_Display3: number;
			public static TextAppearance_Material_Display4: number;
			public static TextAppearance_Material_Headline: number;
			public static TextAppearance_Material_Inverse: number;
			public static TextAppearance_Material_Large: number;
			public static TextAppearance_Material_Large_Inverse: number;
			public static TextAppearance_Material_Medium: number;
			public static TextAppearance_Material_Medium_Inverse: number;
			public static TextAppearance_Material_Menu: number;
			public static TextAppearance_Material_Notification: number;
			public static TextAppearance_Material_Notification_Emphasis: number;
			public static TextAppearance_Material_Notification_Info: number;
			public static TextAppearance_Material_Notification_Line2: number;
			public static TextAppearance_Material_Notification_Time: number;
			public static TextAppearance_Material_Notification_Title: number;
			public static TextAppearance_Material_SearchResult_Subtitle: number;
			public static TextAppearance_Material_SearchResult_Title: number;
			public static TextAppearance_Material_Small: number;
			public static TextAppearance_Material_Small_Inverse: number;
			public static TextAppearance_Material_Subhead: number;
			public static TextAppearance_Material_Title: number;
			public static TextAppearance_Material_Widget: number;
			public static TextAppearance_Material_Widget_ActionBar_Menu: number;
			public static TextAppearance_Material_Widget_ActionBar_Subtitle: number;
			public static TextAppearance_Material_Widget_ActionBar_Subtitle_Inverse: number;
			public static TextAppearance_Material_Widget_ActionBar_Title: number;
			public static TextAppearance_Material_Widget_ActionBar_Title_Inverse: number;
			public static TextAppearance_Material_Widget_ActionMode_Subtitle: number;
			public static TextAppearance_Material_Widget_ActionMode_Subtitle_Inverse: number;
			public static TextAppearance_Material_Widget_ActionMode_Title: number;
			public static TextAppearance_Material_Widget_ActionMode_Title_Inverse: number;
			public static TextAppearance_Material_Widget_Button: number;
			public static TextAppearance_Material_Widget_Button_Borderless_Colored: number;
			public static TextAppearance_Material_Widget_Button_Colored: number;
			public static TextAppearance_Material_Widget_Button_Inverse: number;
			public static TextAppearance_Material_Widget_DropDownHint: number;
			public static TextAppearance_Material_Widget_DropDownItem: number;
			public static TextAppearance_Material_Widget_EditText: number;
			public static TextAppearance_Material_Widget_IconMenu_Item: number;
			public static TextAppearance_Material_Widget_PopupMenu: number;
			public static TextAppearance_Material_Widget_PopupMenu_Large: number;
			public static TextAppearance_Material_Widget_PopupMenu_Small: number;
			public static TextAppearance_Material_Widget_TabWidget: number;
			public static TextAppearance_Material_Widget_TextView: number;
			public static TextAppearance_Material_Widget_TextView_PopupMenu: number;
			public static TextAppearance_Material_Widget_TextView_SpinnerItem: number;
			public static TextAppearance_Material_Widget_Toolbar_Subtitle: number;
			public static TextAppearance_Material_Widget_Toolbar_Title: number;
			public static TextAppearance_Material_WindowTitle: number;
			public static TextAppearance_Medium: number;
			public static TextAppearance_Medium_Inverse: number;
			public static TextAppearance_Small: number;
			public static TextAppearance_Small_Inverse: number;
			public static TextAppearance_StatusBar_EventContent: number;
			public static TextAppearance_StatusBar_EventContent_Title: number;
			public static TextAppearance_StatusBar_Icon: number;
			public static TextAppearance_StatusBar_Title: number;
			public static TextAppearance_SuggestionHighlight: number;
			public static TextAppearance_Theme: number;
			public static TextAppearance_Theme_Dialog: number;
			public static TextAppearance_Widget: number;
			public static TextAppearance_Widget_Button: number;
			public static TextAppearance_Widget_DropDownHint: number;
			public static TextAppearance_Widget_DropDownItem: number;
			public static TextAppearance_Widget_EditText: number;
			public static TextAppearance_Widget_IconMenu_Item: number;
			public static TextAppearance_Widget_PopupMenu_Large: number;
			public static TextAppearance_Widget_PopupMenu_Small: number;
			public static TextAppearance_Widget_TabWidget: number;
			public static TextAppearance_Widget_TextView: number;
			public static TextAppearance_Widget_TextView_PopupMenu: number;
			public static TextAppearance_Widget_TextView_SpinnerItem: number;
			public static TextAppearance_WindowTitle: number;
			public static Theme: number;
			public static ThemeOverlay: number;
			public static ThemeOverlay_Material: number;
			public static ThemeOverlay_Material_ActionBar: number;
			public static ThemeOverlay_Material_Dark: number;
			public static ThemeOverlay_Material_Dark_ActionBar: number;
			public static ThemeOverlay_Material_Dialog: number;
			public static ThemeOverlay_Material_Dialog_Alert: number;
			public static ThemeOverlay_Material_Light: number;
			public static Theme_Black: number;
			public static Theme_Black_NoTitleBar: number;
			public static Theme_Black_NoTitleBar_Fullscreen: number;
			public static Theme_DeviceDefault: number;
			public static Theme_DeviceDefault_Dialog: number;
			public static Theme_DeviceDefault_DialogWhenLarge: number;
			public static Theme_DeviceDefault_DialogWhenLarge_NoActionBar: number;
			public static Theme_DeviceDefault_Dialog_Alert: number;
			public static Theme_DeviceDefault_Dialog_MinWidth: number;
			public static Theme_DeviceDefault_Dialog_NoActionBar: number;
			public static Theme_DeviceDefault_Dialog_NoActionBar_MinWidth: number;
			public static Theme_DeviceDefault_InputMethod: number;
			public static Theme_DeviceDefault_Light: number;
			public static Theme_DeviceDefault_Light_DarkActionBar: number;
			public static Theme_DeviceDefault_Light_Dialog: number;
			public static Theme_DeviceDefault_Light_DialogWhenLarge: number;
			public static Theme_DeviceDefault_Light_DialogWhenLarge_NoActionBar: number;
			public static Theme_DeviceDefault_Light_Dialog_Alert: number;
			public static Theme_DeviceDefault_Light_Dialog_MinWidth: number;
			public static Theme_DeviceDefault_Light_Dialog_NoActionBar: number;
			public static Theme_DeviceDefault_Light_Dialog_NoActionBar_MinWidth: number;
			public static Theme_DeviceDefault_Light_NoActionBar: number;
			public static Theme_DeviceDefault_Light_NoActionBar_Fullscreen: number;
			public static Theme_DeviceDefault_Light_NoActionBar_Overscan: number;
			public static Theme_DeviceDefault_Light_NoActionBar_TranslucentDecor: number;
			public static Theme_DeviceDefault_Light_Panel: number;
			public static Theme_DeviceDefault_NoActionBar: number;
			public static Theme_DeviceDefault_NoActionBar_Fullscreen: number;
			public static Theme_DeviceDefault_NoActionBar_Overscan: number;
			public static Theme_DeviceDefault_NoActionBar_TranslucentDecor: number;
			public static Theme_DeviceDefault_Panel: number;
			public static Theme_DeviceDefault_Settings: number;
			public static Theme_DeviceDefault_Wallpaper: number;
			public static Theme_DeviceDefault_Wallpaper_NoTitleBar: number;
			public static Theme_Dialog: number;
			public static Theme_Holo: number;
			public static Theme_Holo_Dialog: number;
			public static Theme_Holo_DialogWhenLarge: number;
			public static Theme_Holo_DialogWhenLarge_NoActionBar: number;
			public static Theme_Holo_Dialog_MinWidth: number;
			public static Theme_Holo_Dialog_NoActionBar: number;
			public static Theme_Holo_Dialog_NoActionBar_MinWidth: number;
			public static Theme_Holo_InputMethod: number;
			public static Theme_Holo_Light: number;
			public static Theme_Holo_Light_DarkActionBar: number;
			public static Theme_Holo_Light_Dialog: number;
			public static Theme_Holo_Light_DialogWhenLarge: number;
			public static Theme_Holo_Light_DialogWhenLarge_NoActionBar: number;
			public static Theme_Holo_Light_Dialog_MinWidth: number;
			public static Theme_Holo_Light_Dialog_NoActionBar: number;
			public static Theme_Holo_Light_Dialog_NoActionBar_MinWidth: number;
			public static Theme_Holo_Light_NoActionBar: number;
			public static Theme_Holo_Light_NoActionBar_Fullscreen: number;
			public static Theme_Holo_Light_NoActionBar_Overscan: number;
			public static Theme_Holo_Light_NoActionBar_TranslucentDecor: number;
			public static Theme_Holo_Light_Panel: number;
			public static Theme_Holo_NoActionBar: number;
			public static Theme_Holo_NoActionBar_Fullscreen: number;
			public static Theme_Holo_NoActionBar_Overscan: number;
			public static Theme_Holo_NoActionBar_TranslucentDecor: number;
			public static Theme_Holo_Panel: number;
			public static Theme_Holo_Wallpaper: number;
			public static Theme_Holo_Wallpaper_NoTitleBar: number;
			public static Theme_InputMethod: number;
			public static Theme_Light: number;
			public static Theme_Light_NoTitleBar: number;
			public static Theme_Light_NoTitleBar_Fullscreen: number;
			public static Theme_Light_Panel: number;
			public static Theme_Light_WallpaperSettings: number;
			public static Theme_Material: number;
			public static Theme_Material_Dialog: number;
			public static Theme_Material_DialogWhenLarge: number;
			public static Theme_Material_DialogWhenLarge_NoActionBar: number;
			public static Theme_Material_Dialog_Alert: number;
			public static Theme_Material_Dialog_MinWidth: number;
			public static Theme_Material_Dialog_NoActionBar: number;
			public static Theme_Material_Dialog_NoActionBar_MinWidth: number;
			public static Theme_Material_Dialog_Presentation: number;
			public static Theme_Material_InputMethod: number;
			public static Theme_Material_Light: number;
			public static Theme_Material_Light_DarkActionBar: number;
			public static Theme_Material_Light_Dialog: number;
			public static Theme_Material_Light_DialogWhenLarge: number;
			public static Theme_Material_Light_DialogWhenLarge_DarkActionBar: number;
			public static Theme_Material_Light_DialogWhenLarge_NoActionBar: number;
			public static Theme_Material_Light_Dialog_Alert: number;
			public static Theme_Material_Light_Dialog_MinWidth: number;
			public static Theme_Material_Light_Dialog_NoActionBar: number;
			public static Theme_Material_Light_Dialog_NoActionBar_MinWidth: number;
			public static Theme_Material_Light_Dialog_Presentation: number;
			public static Theme_Material_Light_LightStatusBar: number;
			public static Theme_Material_Light_NoActionBar: number;
			public static Theme_Material_Light_NoActionBar_Fullscreen: number;
			public static Theme_Material_Light_NoActionBar_Overscan: number;
			public static Theme_Material_Light_NoActionBar_TranslucentDecor: number;
			public static Theme_Material_Light_Panel: number;
			public static Theme_Material_Light_Voice: number;
			public static Theme_Material_NoActionBar: number;
			public static Theme_Material_NoActionBar_Fullscreen: number;
			public static Theme_Material_NoActionBar_Overscan: number;
			public static Theme_Material_NoActionBar_TranslucentDecor: number;
			public static Theme_Material_Panel: number;
			public static Theme_Material_Settings: number;
			public static Theme_Material_Voice: number;
			public static Theme_Material_Wallpaper: number;
			public static Theme_Material_Wallpaper_NoTitleBar: number;
			public static Theme_NoDisplay: number;
			public static Theme_NoTitleBar: number;
			public static Theme_NoTitleBar_Fullscreen: number;
			public static Theme_NoTitleBar_OverlayActionModes: number;
			public static Theme_Panel: number;
			public static Theme_Translucent: number;
			public static Theme_Translucent_NoTitleBar: number;
			public static Theme_Translucent_NoTitleBar_Fullscreen: number;
			public static Theme_Wallpaper: number;
			public static Theme_WallpaperSettings: number;
			public static Theme_Wallpaper_NoTitleBar: number;
			public static Theme_Wallpaper_NoTitleBar_Fullscreen: number;
			public static Theme_WithActionBar: number;
			public static Widget: number;
			public static Widget_AbsListView: number;
			public static Widget_ActionBar: number;
			public static Widget_ActionBar_TabBar: number;
			public static Widget_ActionBar_TabText: number;
			public static Widget_ActionBar_TabView: number;
			public static Widget_ActionButton: number;
			public static Widget_ActionButton_CloseMode: number;
			public static Widget_ActionButton_Overflow: number;
			public static Widget_AutoCompleteTextView: number;
			public static Widget_Button: number;
			public static Widget_Button_Inset: number;
			public static Widget_Button_Small: number;
			public static Widget_Button_Toggle: number;
			public static Widget_CalendarView: number;
			public static Widget_CompoundButton: number;
			public static Widget_CompoundButton_CheckBox: number;
			public static Widget_CompoundButton_RadioButton: number;
			public static Widget_CompoundButton_Star: number;
			public static Widget_DatePicker: number;
			public static Widget_DeviceDefault: number;
			public static Widget_DeviceDefault_ActionBar: number;
			public static Widget_DeviceDefault_ActionBar_Solid: number;
			public static Widget_DeviceDefault_ActionBar_TabBar: number;
			public static Widget_DeviceDefault_ActionBar_TabText: number;
			public static Widget_DeviceDefault_ActionBar_TabView: number;
			public static Widget_DeviceDefault_ActionButton: number;
			public static Widget_DeviceDefault_ActionButton_CloseMode: number;
			public static Widget_DeviceDefault_ActionButton_Overflow: number;
			public static Widget_DeviceDefault_ActionButton_TextButton: number;
			public static Widget_DeviceDefault_ActionMode: number;
			public static Widget_DeviceDefault_AutoCompleteTextView: number;
			public static Widget_DeviceDefault_Button: number;
			public static Widget_DeviceDefault_Button_Borderless: number;
			public static Widget_DeviceDefault_Button_Borderless_Colored: number;
			public static Widget_DeviceDefault_Button_Borderless_Small: number;
			public static Widget_DeviceDefault_Button_Colored: number;
			public static Widget_DeviceDefault_Button_Inset: number;
			public static Widget_DeviceDefault_Button_Small: number;
			public static Widget_DeviceDefault_Button_Toggle: number;
			public static Widget_DeviceDefault_CalendarView: number;
			public static Widget_DeviceDefault_CheckedTextView: number;
			public static Widget_DeviceDefault_CompoundButton_CheckBox: number;
			public static Widget_DeviceDefault_CompoundButton_RadioButton: number;
			public static Widget_DeviceDefault_CompoundButton_Star: number;
			public static Widget_DeviceDefault_DatePicker: number;
			public static Widget_DeviceDefault_DropDownItem: number;
			public static Widget_DeviceDefault_DropDownItem_Spinner: number;
			public static Widget_DeviceDefault_EditText: number;
			public static Widget_DeviceDefault_ExpandableListView: number;
			public static Widget_DeviceDefault_FastScroll: number;
			public static Widget_DeviceDefault_GridView: number;
			public static Widget_DeviceDefault_HorizontalScrollView: number;
			public static Widget_DeviceDefault_ImageButton: number;
			public static Widget_DeviceDefault_Light: number;
			public static Widget_DeviceDefault_Light_ActionBar: number;
			public static Widget_DeviceDefault_Light_ActionBar_Solid: number;
			public static Widget_DeviceDefault_Light_ActionBar_Solid_Inverse: number;
			public static Widget_DeviceDefault_Light_ActionBar_TabBar: number;
			public static Widget_DeviceDefault_Light_ActionBar_TabBar_Inverse: number;
			public static Widget_DeviceDefault_Light_ActionBar_TabText: number;
			public static Widget_DeviceDefault_Light_ActionBar_TabText_Inverse: number;
			public static Widget_DeviceDefault_Light_ActionBar_TabView: number;
			public static Widget_DeviceDefault_Light_ActionBar_TabView_Inverse: number;
			public static Widget_DeviceDefault_Light_ActionButton: number;
			public static Widget_DeviceDefault_Light_ActionButton_CloseMode: number;
			public static Widget_DeviceDefault_Light_ActionButton_Overflow: number;
			public static Widget_DeviceDefault_Light_ActionMode: number;
			public static Widget_DeviceDefault_Light_ActionMode_Inverse: number;
			public static Widget_DeviceDefault_Light_AutoCompleteTextView: number;
			public static Widget_DeviceDefault_Light_Button: number;
			public static Widget_DeviceDefault_Light_Button_Borderless_Small: number;
			public static Widget_DeviceDefault_Light_Button_Inset: number;
			public static Widget_DeviceDefault_Light_Button_Small: number;
			public static Widget_DeviceDefault_Light_Button_Toggle: number;
			public static Widget_DeviceDefault_Light_CalendarView: number;
			public static Widget_DeviceDefault_Light_CheckedTextView: number;
			public static Widget_DeviceDefault_Light_CompoundButton_CheckBox: number;
			public static Widget_DeviceDefault_Light_CompoundButton_RadioButton: number;
			public static Widget_DeviceDefault_Light_CompoundButton_Star: number;
			public static Widget_DeviceDefault_Light_DropDownItem: number;
			public static Widget_DeviceDefault_Light_DropDownItem_Spinner: number;
			public static Widget_DeviceDefault_Light_EditText: number;
			public static Widget_DeviceDefault_Light_ExpandableListView: number;
			public static Widget_DeviceDefault_Light_FastScroll: number;
			public static Widget_DeviceDefault_Light_GridView: number;
			public static Widget_DeviceDefault_Light_HorizontalScrollView: number;
			public static Widget_DeviceDefault_Light_ImageButton: number;
			public static Widget_DeviceDefault_Light_ListPopupWindow: number;
			public static Widget_DeviceDefault_Light_ListView: number;
			public static Widget_DeviceDefault_Light_ListView_DropDown: number;
			public static Widget_DeviceDefault_Light_MediaRouteButton: number;
			public static Widget_DeviceDefault_Light_PopupMenu: number;
			public static Widget_DeviceDefault_Light_PopupWindow: number;
			public static Widget_DeviceDefault_Light_ProgressBar: number;
			public static Widget_DeviceDefault_Light_ProgressBar_Horizontal: number;
			public static Widget_DeviceDefault_Light_ProgressBar_Inverse: number;
			public static Widget_DeviceDefault_Light_ProgressBar_Large: number;
			public static Widget_DeviceDefault_Light_ProgressBar_Large_Inverse: number;
			public static Widget_DeviceDefault_Light_ProgressBar_Small: number;
			public static Widget_DeviceDefault_Light_ProgressBar_Small_Inverse: number;
			public static Widget_DeviceDefault_Light_ProgressBar_Small_Title: number;
			public static Widget_DeviceDefault_Light_RatingBar: number;
			public static Widget_DeviceDefault_Light_RatingBar_Indicator: number;
			public static Widget_DeviceDefault_Light_RatingBar_Small: number;
			public static Widget_DeviceDefault_Light_ScrollView: number;
			public static Widget_DeviceDefault_Light_SeekBar: number;
			public static Widget_DeviceDefault_Light_Spinner: number;
			public static Widget_DeviceDefault_Light_StackView: number;
			public static Widget_DeviceDefault_Light_Tab: number;
			public static Widget_DeviceDefault_Light_TabWidget: number;
			public static Widget_DeviceDefault_Light_TextView: number;
			public static Widget_DeviceDefault_Light_TextView_SpinnerItem: number;
			public static Widget_DeviceDefault_Light_WebTextView: number;
			public static Widget_DeviceDefault_Light_WebView: number;
			public static Widget_DeviceDefault_ListPopupWindow: number;
			public static Widget_DeviceDefault_ListView: number;
			public static Widget_DeviceDefault_ListView_DropDown: number;
			public static Widget_DeviceDefault_MediaRouteButton: number;
			public static Widget_DeviceDefault_PopupMenu: number;
			public static Widget_DeviceDefault_PopupWindow: number;
			public static Widget_DeviceDefault_ProgressBar: number;
			public static Widget_DeviceDefault_ProgressBar_Horizontal: number;
			public static Widget_DeviceDefault_ProgressBar_Large: number;
			public static Widget_DeviceDefault_ProgressBar_Small: number;
			public static Widget_DeviceDefault_ProgressBar_Small_Title: number;
			public static Widget_DeviceDefault_RatingBar: number;
			public static Widget_DeviceDefault_RatingBar_Indicator: number;
			public static Widget_DeviceDefault_RatingBar_Small: number;
			public static Widget_DeviceDefault_ScrollView: number;
			public static Widget_DeviceDefault_SeekBar: number;
			public static Widget_DeviceDefault_Spinner: number;
			public static Widget_DeviceDefault_StackView: number;
			public static Widget_DeviceDefault_Tab: number;
			public static Widget_DeviceDefault_TabWidget: number;
			public static Widget_DeviceDefault_TextView: number;
			public static Widget_DeviceDefault_TextView_SpinnerItem: number;
			public static Widget_DeviceDefault_WebTextView: number;
			public static Widget_DeviceDefault_WebView: number;
			public static Widget_DropDownItem: number;
			public static Widget_DropDownItem_Spinner: number;
			public static Widget_EditText: number;
			public static Widget_ExpandableListView: number;
			public static Widget_FastScroll: number;
			public static Widget_FragmentBreadCrumbs: number;
			public static Widget_Gallery: number;
			public static Widget_GridView: number;
			public static Widget_Holo: number;
			public static Widget_Holo_ActionBar: number;
			public static Widget_Holo_ActionBar_Solid: number;
			public static Widget_Holo_ActionBar_TabBar: number;
			public static Widget_Holo_ActionBar_TabText: number;
			public static Widget_Holo_ActionBar_TabView: number;
			public static Widget_Holo_ActionButton: number;
			public static Widget_Holo_ActionButton_CloseMode: number;
			public static Widget_Holo_ActionButton_Overflow: number;
			public static Widget_Holo_ActionButton_TextButton: number;
			public static Widget_Holo_ActionMode: number;
			public static Widget_Holo_AutoCompleteTextView: number;
			public static Widget_Holo_Button: number;
			public static Widget_Holo_Button_Borderless: number;
			public static Widget_Holo_Button_Borderless_Small: number;
			public static Widget_Holo_Button_Inset: number;
			public static Widget_Holo_Button_Small: number;
			public static Widget_Holo_Button_Toggle: number;
			public static Widget_Holo_CalendarView: number;
			public static Widget_Holo_CheckedTextView: number;
			public static Widget_Holo_CompoundButton_CheckBox: number;
			public static Widget_Holo_CompoundButton_RadioButton: number;
			public static Widget_Holo_CompoundButton_Star: number;
			public static Widget_Holo_DatePicker: number;
			public static Widget_Holo_DropDownItem: number;
			public static Widget_Holo_DropDownItem_Spinner: number;
			public static Widget_Holo_EditText: number;
			public static Widget_Holo_ExpandableListView: number;
			public static Widget_Holo_GridView: number;
			public static Widget_Holo_HorizontalScrollView: number;
			public static Widget_Holo_ImageButton: number;
			public static Widget_Holo_Light: number;
			public static Widget_Holo_Light_ActionBar: number;
			public static Widget_Holo_Light_ActionBar_Solid: number;
			public static Widget_Holo_Light_ActionBar_Solid_Inverse: number;
			public static Widget_Holo_Light_ActionBar_TabBar: number;
			public static Widget_Holo_Light_ActionBar_TabBar_Inverse: number;
			public static Widget_Holo_Light_ActionBar_TabText: number;
			public static Widget_Holo_Light_ActionBar_TabText_Inverse: number;
			public static Widget_Holo_Light_ActionBar_TabView: number;
			public static Widget_Holo_Light_ActionBar_TabView_Inverse: number;
			public static Widget_Holo_Light_ActionButton: number;
			public static Widget_Holo_Light_ActionButton_CloseMode: number;
			public static Widget_Holo_Light_ActionButton_Overflow: number;
			public static Widget_Holo_Light_ActionMode: number;
			public static Widget_Holo_Light_ActionMode_Inverse: number;
			public static Widget_Holo_Light_AutoCompleteTextView: number;
			public static Widget_Holo_Light_Button: number;
			public static Widget_Holo_Light_Button_Borderless_Small: number;
			public static Widget_Holo_Light_Button_Inset: number;
			public static Widget_Holo_Light_Button_Small: number;
			public static Widget_Holo_Light_Button_Toggle: number;
			public static Widget_Holo_Light_CalendarView: number;
			public static Widget_Holo_Light_CheckedTextView: number;
			public static Widget_Holo_Light_CompoundButton_CheckBox: number;
			public static Widget_Holo_Light_CompoundButton_RadioButton: number;
			public static Widget_Holo_Light_CompoundButton_Star: number;
			public static Widget_Holo_Light_DropDownItem: number;
			public static Widget_Holo_Light_DropDownItem_Spinner: number;
			public static Widget_Holo_Light_EditText: number;
			public static Widget_Holo_Light_ExpandableListView: number;
			public static Widget_Holo_Light_GridView: number;
			public static Widget_Holo_Light_HorizontalScrollView: number;
			public static Widget_Holo_Light_ImageButton: number;
			public static Widget_Holo_Light_ListPopupWindow: number;
			public static Widget_Holo_Light_ListView: number;
			public static Widget_Holo_Light_ListView_DropDown: number;
			public static Widget_Holo_Light_MediaRouteButton: number;
			public static Widget_Holo_Light_PopupMenu: number;
			public static Widget_Holo_Light_PopupWindow: number;
			public static Widget_Holo_Light_ProgressBar: number;
			public static Widget_Holo_Light_ProgressBar_Horizontal: number;
			public static Widget_Holo_Light_ProgressBar_Inverse: number;
			public static Widget_Holo_Light_ProgressBar_Large: number;
			public static Widget_Holo_Light_ProgressBar_Large_Inverse: number;
			public static Widget_Holo_Light_ProgressBar_Small: number;
			public static Widget_Holo_Light_ProgressBar_Small_Inverse: number;
			public static Widget_Holo_Light_ProgressBar_Small_Title: number;
			public static Widget_Holo_Light_RatingBar: number;
			public static Widget_Holo_Light_RatingBar_Indicator: number;
			public static Widget_Holo_Light_RatingBar_Small: number;
			public static Widget_Holo_Light_ScrollView: number;
			public static Widget_Holo_Light_SeekBar: number;
			public static Widget_Holo_Light_Spinner: number;
			public static Widget_Holo_Light_Tab: number;
			public static Widget_Holo_Light_TabWidget: number;
			public static Widget_Holo_Light_TextView: number;
			public static Widget_Holo_Light_TextView_SpinnerItem: number;
			public static Widget_Holo_Light_WebTextView: number;
			public static Widget_Holo_Light_WebView: number;
			public static Widget_Holo_ListPopupWindow: number;
			public static Widget_Holo_ListView: number;
			public static Widget_Holo_ListView_DropDown: number;
			public static Widget_Holo_MediaRouteButton: number;
			public static Widget_Holo_PopupMenu: number;
			public static Widget_Holo_PopupWindow: number;
			public static Widget_Holo_ProgressBar: number;
			public static Widget_Holo_ProgressBar_Horizontal: number;
			public static Widget_Holo_ProgressBar_Large: number;
			public static Widget_Holo_ProgressBar_Small: number;
			public static Widget_Holo_ProgressBar_Small_Title: number;
			public static Widget_Holo_RatingBar: number;
			public static Widget_Holo_RatingBar_Indicator: number;
			public static Widget_Holo_RatingBar_Small: number;
			public static Widget_Holo_ScrollView: number;
			public static Widget_Holo_SeekBar: number;
			public static Widget_Holo_Spinner: number;
			public static Widget_Holo_Tab: number;
			public static Widget_Holo_TabWidget: number;
			public static Widget_Holo_TextView: number;
			public static Widget_Holo_TextView_SpinnerItem: number;
			public static Widget_Holo_WebTextView: number;
			public static Widget_Holo_WebView: number;
			public static Widget_ImageButton: number;
			public static Widget_ImageWell: number;
			public static Widget_KeyboardView: number;
			public static Widget_ListPopupWindow: number;
			public static Widget_ListView: number;
			public static Widget_ListView_DropDown: number;
			public static Widget_ListView_Menu: number;
			public static Widget_ListView_White: number;
			public static Widget_Material: number;
			public static Widget_Material_ActionBar: number;
			public static Widget_Material_ActionBar_Solid: number;
			public static Widget_Material_ActionBar_TabBar: number;
			public static Widget_Material_ActionBar_TabText: number;
			public static Widget_Material_ActionBar_TabView: number;
			public static Widget_Material_ActionButton: number;
			public static Widget_Material_ActionButton_CloseMode: number;
			public static Widget_Material_ActionButton_Overflow: number;
			public static Widget_Material_ActionMode: number;
			public static Widget_Material_AutoCompleteTextView: number;
			public static Widget_Material_Button: number;
			public static Widget_Material_ButtonBar: number;
			public static Widget_Material_ButtonBar_AlertDialog: number;
			public static Widget_Material_Button_Borderless: number;
			public static Widget_Material_Button_Borderless_Colored: number;
			public static Widget_Material_Button_Borderless_Small: number;
			public static Widget_Material_Button_Colored: number;
			public static Widget_Material_Button_Inset: number;
			public static Widget_Material_Button_Small: number;
			public static Widget_Material_Button_Toggle: number;
			public static Widget_Material_CalendarView: number;
			public static Widget_Material_CheckedTextView: number;
			public static Widget_Material_CompoundButton_CheckBox: number;
			public static Widget_Material_CompoundButton_RadioButton: number;
			public static Widget_Material_CompoundButton_Star: number;
			public static Widget_Material_CompoundButton_Switch: number;
			public static Widget_Material_DatePicker: number;
			public static Widget_Material_DropDownItem: number;
			public static Widget_Material_DropDownItem_Spinner: number;
			public static Widget_Material_EditText: number;
			public static Widget_Material_ExpandableListView: number;
			public static Widget_Material_FastScroll: number;
			public static Widget_Material_GridView: number;
			public static Widget_Material_HorizontalScrollView: number;
			public static Widget_Material_ImageButton: number;
			public static Widget_Material_Light: number;
			public static Widget_Material_Light_ActionBar: number;
			public static Widget_Material_Light_ActionBar_Solid: number;
			public static Widget_Material_Light_ActionBar_TabBar: number;
			public static Widget_Material_Light_ActionBar_TabText: number;
			public static Widget_Material_Light_ActionBar_TabView: number;
			public static Widget_Material_Light_ActionButton: number;
			public static Widget_Material_Light_ActionButton_CloseMode: number;
			public static Widget_Material_Light_ActionButton_Overflow: number;
			public static Widget_Material_Light_ActionMode: number;
			public static Widget_Material_Light_AutoCompleteTextView: number;
			public static Widget_Material_Light_Button: number;
			public static Widget_Material_Light_ButtonBar: number;
			public static Widget_Material_Light_ButtonBar_AlertDialog: number;
			public static Widget_Material_Light_Button_Borderless: number;
			public static Widget_Material_Light_Button_Borderless_Colored: number;
			public static Widget_Material_Light_Button_Borderless_Small: number;
			public static Widget_Material_Light_Button_Inset: number;
			public static Widget_Material_Light_Button_Small: number;
			public static Widget_Material_Light_Button_Toggle: number;
			public static Widget_Material_Light_CalendarView: number;
			public static Widget_Material_Light_CheckedTextView: number;
			public static Widget_Material_Light_CompoundButton_CheckBox: number;
			public static Widget_Material_Light_CompoundButton_RadioButton: number;
			public static Widget_Material_Light_CompoundButton_Star: number;
			public static Widget_Material_Light_CompoundButton_Switch: number;
			public static Widget_Material_Light_DatePicker: number;
			public static Widget_Material_Light_DropDownItem: number;
			public static Widget_Material_Light_DropDownItem_Spinner: number;
			public static Widget_Material_Light_EditText: number;
			public static Widget_Material_Light_ExpandableListView: number;
			public static Widget_Material_Light_FastScroll: number;
			public static Widget_Material_Light_GridView: number;
			public static Widget_Material_Light_HorizontalScrollView: number;
			public static Widget_Material_Light_ImageButton: number;
			public static Widget_Material_Light_ListPopupWindow: number;
			public static Widget_Material_Light_ListView: number;
			public static Widget_Material_Light_ListView_DropDown: number;
			public static Widget_Material_Light_MediaRouteButton: number;
			public static Widget_Material_Light_NumberPicker: number;
			public static Widget_Material_Light_PopupMenu: number;
			public static Widget_Material_Light_PopupMenu_Overflow: number;
			public static Widget_Material_Light_PopupWindow: number;
			public static Widget_Material_Light_ProgressBar: number;
			public static Widget_Material_Light_ProgressBar_Horizontal: number;
			public static Widget_Material_Light_ProgressBar_Inverse: number;
			public static Widget_Material_Light_ProgressBar_Large: number;
			public static Widget_Material_Light_ProgressBar_Large_Inverse: number;
			public static Widget_Material_Light_ProgressBar_Small: number;
			public static Widget_Material_Light_ProgressBar_Small_Inverse: number;
			public static Widget_Material_Light_ProgressBar_Small_Title: number;
			public static Widget_Material_Light_RatingBar: number;
			public static Widget_Material_Light_RatingBar_Indicator: number;
			public static Widget_Material_Light_RatingBar_Small: number;
			public static Widget_Material_Light_ScrollView: number;
			public static Widget_Material_Light_SearchView: number;
			public static Widget_Material_Light_SeekBar: number;
			public static Widget_Material_Light_SegmentedButton: number;
			public static Widget_Material_Light_Spinner: number;
			public static Widget_Material_Light_Spinner_Underlined: number;
			public static Widget_Material_Light_StackView: number;
			public static Widget_Material_Light_Tab: number;
			public static Widget_Material_Light_TabWidget: number;
			public static Widget_Material_Light_TextView: number;
			public static Widget_Material_Light_TextView_SpinnerItem: number;
			public static Widget_Material_Light_TimePicker: number;
			public static Widget_Material_Light_WebTextView: number;
			public static Widget_Material_Light_WebView: number;
			public static Widget_Material_ListPopupWindow: number;
			public static Widget_Material_ListView: number;
			public static Widget_Material_ListView_DropDown: number;
			public static Widget_Material_MediaRouteButton: number;
			public static Widget_Material_NumberPicker: number;
			public static Widget_Material_PopupMenu: number;
			public static Widget_Material_PopupMenu_Overflow: number;
			public static Widget_Material_PopupWindow: number;
			public static Widget_Material_ProgressBar: number;
			public static Widget_Material_ProgressBar_Horizontal: number;
			public static Widget_Material_ProgressBar_Large: number;
			public static Widget_Material_ProgressBar_Small: number;
			public static Widget_Material_ProgressBar_Small_Title: number;
			public static Widget_Material_RatingBar: number;
			public static Widget_Material_RatingBar_Indicator: number;
			public static Widget_Material_RatingBar_Small: number;
			public static Widget_Material_ScrollView: number;
			public static Widget_Material_SearchView: number;
			public static Widget_Material_SeekBar: number;
			public static Widget_Material_SeekBar_Discrete: number;
			public static Widget_Material_SegmentedButton: number;
			public static Widget_Material_Spinner: number;
			public static Widget_Material_Spinner_Underlined: number;
			public static Widget_Material_StackView: number;
			public static Widget_Material_Tab: number;
			public static Widget_Material_TabWidget: number;
			public static Widget_Material_TextView: number;
			public static Widget_Material_TextView_SpinnerItem: number;
			public static Widget_Material_TimePicker: number;
			public static Widget_Material_Toolbar: number;
			public static Widget_Material_Toolbar_Button_Navigation: number;
			public static Widget_Material_WebTextView: number;
			public static Widget_Material_WebView: number;
			public static Widget_PopupMenu: number;
			public static Widget_PopupWindow: number;
			public static Widget_ProgressBar: number;
			public static Widget_ProgressBar_Horizontal: number;
			public static Widget_ProgressBar_Inverse: number;
			public static Widget_ProgressBar_Large: number;
			public static Widget_ProgressBar_Large_Inverse: number;
			public static Widget_ProgressBar_Small: number;
			public static Widget_ProgressBar_Small_Inverse: number;
			public static Widget_RatingBar: number;
			public static Widget_ScrollView: number;
			public static Widget_SeekBar: number;
			public static Widget_Spinner: number;
			public static Widget_Spinner_DropDown: number;
			public static Widget_StackView: number;
			public static Widget_TabWidget: number;
			public static Widget_TextView: number;
			public static Widget_TextView_PopupMenu: number;
			public static Widget_TextView_SpinnerItem: number;
			public static Widget_Toolbar: number;
			public static Widget_Toolbar_Button_Navigation: number;
			public static Widget_WebView: number;
			public constructor();
		}
		export class transition extends java.lang.Object {
			public static class: java.lang.Class<android.R.transition>;
			public static explode: number;
			public static fade: number;
			public static move: number;
			public static no_transition: number;
			public static slide_bottom: number;
			public static slide_left: number;
			public static slide_right: number;
			public static slide_top: number;
			public constructor();
		}
		export class xml extends java.lang.Object {
			public static class: java.lang.Class<android.R.xml>;
			public constructor();
		}
	}
}

declare module android {
	export module accessibilityservice {
		export class AccessibilityButtonController extends java.lang.Object {
			public static class: java.lang.Class<android.accessibilityservice.AccessibilityButtonController>;
			public registerAccessibilityButtonCallback(param0: android.accessibilityservice.AccessibilityButtonController.AccessibilityButtonCallback, param1: android.os.Handler): void;
			public unregisterAccessibilityButtonCallback(param0: android.accessibilityservice.AccessibilityButtonController.AccessibilityButtonCallback): void;
			public isAccessibilityButtonAvailable(): boolean;
			public registerAccessibilityButtonCallback(param0: android.accessibilityservice.AccessibilityButtonController.AccessibilityButtonCallback): void;
		}
		export module AccessibilityButtonController {
			export abstract class AccessibilityButtonCallback extends java.lang.Object {
				public static class: java.lang.Class<android.accessibilityservice.AccessibilityButtonController.AccessibilityButtonCallback>;
				public onAvailabilityChanged(param0: android.accessibilityservice.AccessibilityButtonController, param1: boolean): void;
				public onClicked(param0: android.accessibilityservice.AccessibilityButtonController): void;
				public constructor();
			}
		}
	}
}

declare module android {
	export module accessibilityservice {
		export abstract class AccessibilityService extends android.app.Service {
			public static class: java.lang.Class<android.accessibilityservice.AccessibilityService>;
			public static GESTURE_SWIPE_DOWN: number;
			public static GESTURE_SWIPE_DOWN_AND_LEFT: number;
			public static GESTURE_SWIPE_DOWN_AND_RIGHT: number;
			public static GESTURE_SWIPE_DOWN_AND_UP: number;
			public static GESTURE_SWIPE_LEFT: number;
			public static GESTURE_SWIPE_LEFT_AND_DOWN: number;
			public static GESTURE_SWIPE_LEFT_AND_RIGHT: number;
			public static GESTURE_SWIPE_LEFT_AND_UP: number;
			public static GESTURE_SWIPE_RIGHT: number;
			public static GESTURE_SWIPE_RIGHT_AND_DOWN: number;
			public static GESTURE_SWIPE_RIGHT_AND_LEFT: number;
			public static GESTURE_SWIPE_RIGHT_AND_UP: number;
			public static GESTURE_SWIPE_UP: number;
			public static GESTURE_SWIPE_UP_AND_DOWN: number;
			public static GESTURE_SWIPE_UP_AND_LEFT: number;
			public static GESTURE_SWIPE_UP_AND_RIGHT: number;
			public static GLOBAL_ACTION_BACK: number;
			public static GLOBAL_ACTION_HOME: number;
			public static GLOBAL_ACTION_LOCK_SCREEN: number;
			public static GLOBAL_ACTION_NOTIFICATIONS: number;
			public static GLOBAL_ACTION_POWER_DIALOG: number;
			public static GLOBAL_ACTION_QUICK_SETTINGS: number;
			public static GLOBAL_ACTION_RECENTS: number;
			public static GLOBAL_ACTION_TAKE_SCREENSHOT: number;
			public static GLOBAL_ACTION_TOGGLE_SPLIT_SCREEN: number;
			public static SERVICE_INTERFACE: string;
			public static SERVICE_META_DATA: string;
			public static SHOW_MODE_AUTO: number;
			public static SHOW_MODE_HIDDEN: number;
			public getSoftKeyboardController(): android.accessibilityservice.AccessibilityService.SoftKeyboardController;
			public onBind(param0: android.content.Intent): android.os.IBinder;
			public performGlobalAction(param0: number): boolean;
			public getWindows(): java.util.List<android.view.accessibility.AccessibilityWindowInfo>;
			public getAccessibilityButtonController(): android.accessibilityservice.AccessibilityButtonController;
			public getSystemService(param0: java.lang.Class<any>): any;
			public constructor();
			public onAccessibilityEvent(param0: android.view.accessibility.AccessibilityEvent): void;
			public onKeyEvent(param0: android.view.KeyEvent): boolean;
			public getRootInActiveWindow(): android.view.accessibility.AccessibilityNodeInfo;
			public findFocus(param0: number): android.view.accessibility.AccessibilityNodeInfo;
			public onServiceConnected(): void;
			public getServiceInfo(): android.accessibilityservice.AccessibilityServiceInfo;
			public getSystemService(param0: string): any;
			public disableSelf(): void;
			public dispatchGesture(param0: android.accessibilityservice.GestureDescription, param1: android.accessibilityservice.AccessibilityService.GestureResultCallback, param2: android.os.Handler): boolean;
			public onTrimMemory(param0: number): void;
			public getMagnificationController(): android.accessibilityservice.AccessibilityService.MagnificationController;
			public constructor(param0: android.content.Context);
			public onGesture(param0: number): boolean;
			public setServiceInfo(param0: android.accessibilityservice.AccessibilityServiceInfo): void;
			public getFingerprintGestureController(): android.accessibilityservice.FingerprintGestureController;
			public onInterrupt(): void;
		}
		export module AccessibilityService {
			export abstract class GestureResultCallback extends java.lang.Object {
				public static class: java.lang.Class<android.accessibilityservice.AccessibilityService.GestureResultCallback>;
				public onCancelled(param0: android.accessibilityservice.GestureDescription): void;
				public onCompleted(param0: android.accessibilityservice.GestureDescription): void;
				public constructor();
			}
			export class MagnificationController extends java.lang.Object {
				public static class: java.lang.Class<android.accessibilityservice.AccessibilityService.MagnificationController>;
				public getCenterY(): number;
				public getMagnificationRegion(): android.graphics.Region;
				public addListener(param0: android.accessibilityservice.AccessibilityService.MagnificationController.OnMagnificationChangedListener): void;
				public removeListener(param0: android.accessibilityservice.AccessibilityService.MagnificationController.OnMagnificationChangedListener): boolean;
				public getCenterX(): number;
				public getScale(): number;
				public setCenter(param0: number, param1: number, param2: boolean): boolean;
				public addListener(param0: android.accessibilityservice.AccessibilityService.MagnificationController.OnMagnificationChangedListener, param1: android.os.Handler): void;
				public reset(param0: boolean): boolean;
				public setScale(param0: number, param1: boolean): boolean;
			}
			export module MagnificationController {
				export class OnMagnificationChangedListener extends java.lang.Object {
					public static class: java.lang.Class<android.accessibilityservice.AccessibilityService.MagnificationController.OnMagnificationChangedListener>;
					/**
					 * Constructs a new instance of the android.accessibilityservice.AccessibilityService$MagnificationController$OnMagnificationChangedListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						onMagnificationChanged(param0: android.accessibilityservice.AccessibilityService.MagnificationController, param1: android.graphics.Region, param2: number, param3: number, param4: number): void;
					});
					public constructor();
					public onMagnificationChanged(param0: android.accessibilityservice.AccessibilityService.MagnificationController, param1: android.graphics.Region, param2: number, param3: number, param4: number): void;
				}
			}
			export class SoftKeyboardController extends java.lang.Object {
				public static class: java.lang.Class<android.accessibilityservice.AccessibilityService.SoftKeyboardController>;
				public addOnShowModeChangedListener(param0: android.accessibilityservice.AccessibilityService.SoftKeyboardController.OnShowModeChangedListener, param1: android.os.Handler): void;
				public setShowMode(param0: number): boolean;
				public removeOnShowModeChangedListener(param0: android.accessibilityservice.AccessibilityService.SoftKeyboardController.OnShowModeChangedListener): boolean;
				public addOnShowModeChangedListener(param0: android.accessibilityservice.AccessibilityService.SoftKeyboardController.OnShowModeChangedListener): void;
				public getShowMode(): number;
			}
			export module SoftKeyboardController {
				export class OnShowModeChangedListener extends java.lang.Object {
					public static class: java.lang.Class<android.accessibilityservice.AccessibilityService.SoftKeyboardController.OnShowModeChangedListener>;
					/**
					 * Constructs a new instance of the android.accessibilityservice.AccessibilityService$SoftKeyboardController$OnShowModeChangedListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						onShowModeChanged(param0: android.accessibilityservice.AccessibilityService.SoftKeyboardController, param1: number): void;
					});
					public constructor();
					public onShowModeChanged(param0: android.accessibilityservice.AccessibilityService.SoftKeyboardController, param1: number): void;
				}
			}
		}
	}
}

declare module android {
	export module accessibilityservice {
		export class AccessibilityServiceInfo extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.accessibilityservice.AccessibilityServiceInfo>;
			public static CAPABILITY_CAN_CONTROL_MAGNIFICATION: number;
			public static CAPABILITY_CAN_PERFORM_GESTURES: number;
			public static CAPABILITY_CAN_REQUEST_ENHANCED_WEB_ACCESSIBILITY: number;
			public static CAPABILITY_CAN_REQUEST_FILTER_KEY_EVENTS: number;
			public static CAPABILITY_CAN_REQUEST_FINGERPRINT_GESTURES: number;
			public static CAPABILITY_CAN_REQUEST_TOUCH_EXPLORATION: number;
			public static CAPABILITY_CAN_RETRIEVE_WINDOW_CONTENT: number;
			public static CREATOR: android.os.Parcelable.Creator<android.accessibilityservice.AccessibilityServiceInfo>;
			public static DEFAULT: number;
			public static FEEDBACK_ALL_MASK: number;
			public static FEEDBACK_AUDIBLE: number;
			public static FEEDBACK_BRAILLE: number;
			public static FEEDBACK_GENERIC: number;
			public static FEEDBACK_HAPTIC: number;
			public static FEEDBACK_SPOKEN: number;
			public static FEEDBACK_VISUAL: number;
			public static FLAG_ENABLE_ACCESSIBILITY_VOLUME: number;
			public static FLAG_INCLUDE_NOT_IMPORTANT_VIEWS: number;
			public static FLAG_REPORT_VIEW_IDS: number;
			public static FLAG_REQUEST_ACCESSIBILITY_BUTTON: number;
			public static FLAG_REQUEST_ENHANCED_WEB_ACCESSIBILITY: number;
			public static FLAG_REQUEST_FILTER_KEY_EVENTS: number;
			public static FLAG_REQUEST_FINGERPRINT_GESTURES: number;
			public static FLAG_REQUEST_TOUCH_EXPLORATION_MODE: number;
			public static FLAG_RETRIEVE_INTERACTIVE_WINDOWS: number;
			public eventTypes: number;
			public feedbackType: number;
			public flags: number;
			public notificationTimeout: number;
			public packageNames: native.Array<string>;
			public equals(param0: any): boolean;
			public loadSummary(param0: android.content.pm.PackageManager): string;
			public static flagToString(param0: number): string;
			public getSettingsActivityName(): string;
			public constructor();
			public getCapabilities(): number;
			public getResolveInfo(): android.content.pm.ResolveInfo;
			public getId(): string;
			public static feedbackTypeToString(param0: number): string;
			public toString(): string;
			/** @deprecated */
			public getDescription(): string;
			public loadDescription(param0: android.content.pm.PackageManager): string;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			/** @deprecated */
			public getCanRetrieveWindowContent(): boolean;
			public hashCode(): number;
			public static capabilityToString(param0: number): string;
		}
	}
}

declare module android {
	export module accessibilityservice {
		export class FingerprintGestureController extends java.lang.Object {
			public static class: java.lang.Class<android.accessibilityservice.FingerprintGestureController>;
			public static FINGERPRINT_GESTURE_SWIPE_DOWN: number;
			public static FINGERPRINT_GESTURE_SWIPE_LEFT: number;
			public static FINGERPRINT_GESTURE_SWIPE_RIGHT: number;
			public static FINGERPRINT_GESTURE_SWIPE_UP: number;
			public registerFingerprintGestureCallback(param0: android.accessibilityservice.FingerprintGestureController.FingerprintGestureCallback, param1: android.os.Handler): void;
			public isGestureDetectionAvailable(): boolean;
			public unregisterFingerprintGestureCallback(param0: android.accessibilityservice.FingerprintGestureController.FingerprintGestureCallback): void;
		}
		export module FingerprintGestureController {
			export abstract class FingerprintGestureCallback extends java.lang.Object {
				public static class: java.lang.Class<android.accessibilityservice.FingerprintGestureController.FingerprintGestureCallback>;
				public onGestureDetected(param0: number): void;
				public onGestureDetectionAvailabilityChanged(param0: boolean): void;
				public constructor();
			}
		}
	}
}

declare module android {
	export module accessibilityservice {
		export class GestureDescription extends java.lang.Object {
			public static class: java.lang.Class<android.accessibilityservice.GestureDescription>;
			public static getMaxGestureDuration(): number;
			public getStroke(param0: number): android.accessibilityservice.GestureDescription.StrokeDescription;
			public static getMaxStrokeCount(): number;
			public getStrokeCount(): number;
		}
		export module GestureDescription {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.accessibilityservice.GestureDescription.Builder>;
				public addStroke(param0: android.accessibilityservice.GestureDescription.StrokeDescription): android.accessibilityservice.GestureDescription.Builder;
				public build(): android.accessibilityservice.GestureDescription;
				public constructor();
			}
			export class StrokeDescription extends java.lang.Object {
				public static class: java.lang.Class<android.accessibilityservice.GestureDescription.StrokeDescription>;
				public constructor(param0: android.graphics.Path, param1: number, param2: number);
				public getPath(): android.graphics.Path;
				public continueStroke(param0: android.graphics.Path, param1: number, param2: number, param3: boolean): android.accessibilityservice.GestureDescription.StrokeDescription;
				public getDuration(): number;
				public constructor(param0: android.graphics.Path, param1: number, param2: number, param3: boolean);
				public willContinue(): boolean;
				public getStartTime(): number;
			}
		}
	}
}

declare module android {
	export module accounts {
		export abstract class AbstractAccountAuthenticator extends java.lang.Object {
			public static class: java.lang.Class<android.accounts.AbstractAccountAuthenticator>;
			public static KEY_CUSTOM_TOKEN_EXPIRY: string;
			public startUpdateCredentialsSession(param0: android.accounts.AccountAuthenticatorResponse, param1: android.accounts.Account, param2: string, param3: android.os.Bundle): android.os.Bundle;
			public getAccountCredentialsForCloning(param0: android.accounts.AccountAuthenticatorResponse, param1: android.accounts.Account): android.os.Bundle;
			public startAddAccountSession(param0: android.accounts.AccountAuthenticatorResponse, param1: string, param2: string, param3: native.Array<string>, param4: android.os.Bundle): android.os.Bundle;
			public getIBinder(): android.os.IBinder;
			public finishSession(param0: android.accounts.AccountAuthenticatorResponse, param1: string, param2: android.os.Bundle): android.os.Bundle;
			public getAuthToken(param0: android.accounts.AccountAuthenticatorResponse, param1: android.accounts.Account, param2: string, param3: android.os.Bundle): android.os.Bundle;
			public getAccountRemovalAllowed(param0: android.accounts.AccountAuthenticatorResponse, param1: android.accounts.Account): android.os.Bundle;
			public updateCredentials(param0: android.accounts.AccountAuthenticatorResponse, param1: android.accounts.Account, param2: string, param3: android.os.Bundle): android.os.Bundle;
			public addAccountFromCredentials(param0: android.accounts.AccountAuthenticatorResponse, param1: android.accounts.Account, param2: android.os.Bundle): android.os.Bundle;
			public isCredentialsUpdateSuggested(param0: android.accounts.AccountAuthenticatorResponse, param1: android.accounts.Account, param2: string): android.os.Bundle;
			public editProperties(param0: android.accounts.AccountAuthenticatorResponse, param1: string): android.os.Bundle;
			public constructor(param0: android.content.Context);
			public getAuthTokenLabel(param0: string): string;
			public addAccount(param0: android.accounts.AccountAuthenticatorResponse, param1: string, param2: string, param3: native.Array<string>, param4: android.os.Bundle): android.os.Bundle;
			public hasFeatures(param0: android.accounts.AccountAuthenticatorResponse, param1: android.accounts.Account, param2: native.Array<string>): android.os.Bundle;
			public confirmCredentials(param0: android.accounts.AccountAuthenticatorResponse, param1: android.accounts.Account, param2: android.os.Bundle): android.os.Bundle;
		}
	}
}

declare module android {
	export module accounts {
		export class Account extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.accounts.Account>;
			public static CREATOR: android.os.Parcelable.Creator<android.accounts.Account>;
			public name: string;
			public type: string;
			public constructor(param0: string, param1: string);
			public equals(param0: any): boolean;
			public toString(): string;
			public constructor(param0: android.os.Parcel);
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module accounts {
		export class AccountAuthenticatorActivity extends android.app.Activity {
			public static class: java.lang.Class<android.accounts.AccountAuthenticatorActivity>;
			public onWindowStartingActionMode(param0: android.view.ActionMode.Callback): android.view.ActionMode;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public onCreatePanelMenu(param0: number, param1: android.view.Menu): boolean;
			public onWindowStartingActionMode(param0: android.view.ActionMode.Callback, param1: number): android.view.ActionMode;
			public finish(): void;
			public onProvideKeyboardShortcuts(param0: java.util.List<any>, param1: android.view.Menu, param2: number): void;
			public onPanelClosed(param0: number, param1: android.view.Menu): void;
			public onSearchRequested(): boolean;
			public onTrimMemory(param0: number): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public onActionModeFinished(param0: android.view.ActionMode): void;
			public constructor(param0: android.content.Context, param1: android.content.res.Resources.Theme);
			public onCreatePanelView(param0: number): android.view.View;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public dispatchGenericMotionEvent(param0: android.view.MotionEvent): boolean;
			public onDetachedFromWindow(): void;
			public onActionModeStarted(param0: android.view.ActionMode): void;
			public onCreateView(param0: android.view.View, param1: string, param2: android.content.Context, param3: android.util.AttributeSet): android.view.View;
			public dispatchKeyShortcutEvent(param0: android.view.KeyEvent): boolean;
			public onMenuItemSelected(param0: number, param1: android.view.MenuItem): boolean;
			public onPointerCaptureChanged(param0: boolean): void;
			public onCreate(param0: android.os.Bundle, param1: any): void;
			public onMenuOpened(param0: number, param1: android.view.Menu): boolean;
			public onSearchRequested(param0: any): boolean;
			public constructor();
			public onCreateView(param0: string, param1: android.content.Context, param2: android.util.AttributeSet): android.view.View;
			public setAccountAuthenticatorResult(param0: android.os.Bundle): void;
			public constructor(param0: android.content.Context, param1: number);
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public onCreateContextMenu(param0: android.view.ContextMenu, param1: android.view.View, param2: android.view.ContextMenu.ContextMenuInfo): void;
			public dispatchTouchEvent(param0: android.view.MotionEvent): boolean;
			public dispatchTrackballEvent(param0: android.view.MotionEvent): boolean;
			public constructor(param0: android.content.Context);
			public dispatchKeyEvent(param0: android.view.KeyEvent): boolean;
			public onPreparePanel(param0: number, param1: android.view.View, param2: android.view.Menu): boolean;
			public dispatchPopulateAccessibilityEvent(param0: android.view.accessibility.AccessibilityEvent): boolean;
			public onWindowFocusChanged(param0: boolean): void;
			public onAttachedToWindow(): void;
			public onCreate(param0: android.os.Bundle): void;
			public onWindowAttributesChanged(param0: android.view.WindowManager.LayoutParams): void;
			public onContentChanged(): void;
		}
	}
}

declare module android {
	export module accounts {
		export class AccountAuthenticatorResponse extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.accounts.AccountAuthenticatorResponse>;
			public static CREATOR: android.os.Parcelable.Creator<android.accounts.AccountAuthenticatorResponse>;
			public onError(param0: number, param1: string): void;
			public constructor(param0: android.os.Parcel);
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public onResult(param0: android.os.Bundle): void;
			public onRequestContinued(): void;
		}
	}
}

declare module android {
	export module accounts {
		export class AccountManager extends java.lang.Object {
			public static class: java.lang.Class<android.accounts.AccountManager>;
			public static ACTION_ACCOUNT_REMOVED: string;
			public static ACTION_AUTHENTICATOR_INTENT: string;
			public static AUTHENTICATOR_ATTRIBUTES_NAME: string;
			public static AUTHENTICATOR_META_DATA_NAME: string;
			public static ERROR_CODE_BAD_ARGUMENTS: number;
			public static ERROR_CODE_BAD_AUTHENTICATION: number;
			public static ERROR_CODE_BAD_REQUEST: number;
			public static ERROR_CODE_CANCELED: number;
			public static ERROR_CODE_INVALID_RESPONSE: number;
			public static ERROR_CODE_NETWORK_ERROR: number;
			public static ERROR_CODE_REMOTE_EXCEPTION: number;
			public static ERROR_CODE_UNSUPPORTED_OPERATION: number;
			public static KEY_ACCOUNTS: string;
			public static KEY_ACCOUNT_AUTHENTICATOR_RESPONSE: string;
			public static KEY_ACCOUNT_MANAGER_RESPONSE: string;
			public static KEY_ACCOUNT_NAME: string;
			public static KEY_ACCOUNT_SESSION_BUNDLE: string;
			public static KEY_ACCOUNT_STATUS_TOKEN: string;
			public static KEY_ACCOUNT_TYPE: string;
			public static KEY_ANDROID_PACKAGE_NAME: string;
			public static KEY_AUTHENTICATOR_TYPES: string;
			public static KEY_AUTHTOKEN: string;
			public static KEY_AUTH_FAILED_MESSAGE: string;
			public static KEY_AUTH_TOKEN_LABEL: string;
			public static KEY_BOOLEAN_RESULT: string;
			public static KEY_CALLER_PID: string;
			public static KEY_CALLER_UID: string;
			public static KEY_ERROR_CODE: string;
			public static KEY_ERROR_MESSAGE: string;
			public static KEY_INTENT: string;
			public static KEY_LAST_AUTHENTICATED_TIME: string;
			public static KEY_PASSWORD: string;
			public static KEY_USERDATA: string;
			public static LOGIN_ACCOUNTS_CHANGED_ACTION: string;
			public static PACKAGE_NAME_KEY_LEGACY_NOT_VISIBLE: string;
			public static PACKAGE_NAME_KEY_LEGACY_VISIBLE: string;
			public static VISIBILITY_NOT_VISIBLE: number;
			public static VISIBILITY_UNDEFINED: number;
			public static VISIBILITY_USER_MANAGED_NOT_VISIBLE: number;
			public static VISIBILITY_USER_MANAGED_VISIBLE: number;
			public static VISIBILITY_VISIBLE: number;
			public setAccountVisibility(param0: android.accounts.Account, param1: string, param2: number): boolean;
			public getAuthenticatorTypes(): native.Array<android.accounts.AuthenticatorDescription>;
			public removeOnAccountsUpdatedListener(param0: android.accounts.OnAccountsUpdateListener): void;
			public addOnAccountsUpdatedListener(param0: android.accounts.OnAccountsUpdateListener, param1: android.os.Handler, param2: boolean): void;
			public getPackagesAndVisibilityForAccount(param0: android.accounts.Account): java.util.Map<string,java.lang.Integer>;
			public getAccountVisibility(param0: android.accounts.Account, param1: string): number;
			/** @deprecated */
			public getAuthToken(param0: android.accounts.Account, param1: string, param2: boolean, param3: android.accounts.AccountManagerCallback<android.os.Bundle>, param4: android.os.Handler): android.accounts.AccountManagerFuture<android.os.Bundle>;
			public getAuthToken(param0: android.accounts.Account, param1: string, param2: android.os.Bundle, param3: android.app.Activity, param4: android.accounts.AccountManagerCallback<android.os.Bundle>, param5: android.os.Handler): android.accounts.AccountManagerFuture<android.os.Bundle>;
			public updateCredentials(param0: android.accounts.Account, param1: string, param2: android.os.Bundle, param3: android.app.Activity, param4: android.accounts.AccountManagerCallback<android.os.Bundle>, param5: android.os.Handler): android.accounts.AccountManagerFuture<android.os.Bundle>;
			public addAccountExplicitly(param0: android.accounts.Account, param1: string, param2: android.os.Bundle, param3: java.util.Map<string,java.lang.Integer>): boolean;
			public clearPassword(param0: android.accounts.Account): void;
			public finishSession(param0: android.os.Bundle, param1: android.app.Activity, param2: android.accounts.AccountManagerCallback<android.os.Bundle>, param3: android.os.Handler): android.accounts.AccountManagerFuture<android.os.Bundle>;
			public setAuthToken(param0: android.accounts.Account, param1: string, param2: string): void;
			public startUpdateCredentialsSession(param0: android.accounts.Account, param1: string, param2: android.os.Bundle, param3: android.app.Activity, param4: android.accounts.AccountManagerCallback<android.os.Bundle>, param5: android.os.Handler): android.accounts.AccountManagerFuture<android.os.Bundle>;
			public addAccount(param0: string, param1: string, param2: native.Array<string>, param3: android.os.Bundle, param4: android.app.Activity, param5: android.accounts.AccountManagerCallback<android.os.Bundle>, param6: android.os.Handler): android.accounts.AccountManagerFuture<android.os.Bundle>;
			public blockingGetAuthToken(param0: android.accounts.Account, param1: string, param2: boolean): string;
			public getAccountsByTypeForPackage(param0: string, param1: string): native.Array<android.accounts.Account>;
			public startAddAccountSession(param0: string, param1: string, param2: native.Array<string>, param3: android.os.Bundle, param4: android.app.Activity, param5: android.accounts.AccountManagerCallback<android.os.Bundle>, param6: android.os.Handler): android.accounts.AccountManagerFuture<android.os.Bundle>;
			public hasFeatures(param0: android.accounts.Account, param1: native.Array<string>, param2: android.accounts.AccountManagerCallback<java.lang.Boolean>, param3: android.os.Handler): android.accounts.AccountManagerFuture<java.lang.Boolean>;
			public confirmCredentials(param0: android.accounts.Account, param1: android.os.Bundle, param2: android.app.Activity, param3: android.accounts.AccountManagerCallback<android.os.Bundle>, param4: android.os.Handler): android.accounts.AccountManagerFuture<android.os.Bundle>;
			public addAccountExplicitly(param0: android.accounts.Account, param1: string, param2: android.os.Bundle): boolean;
			public invalidateAuthToken(param0: string, param1: string): void;
			public setPassword(param0: android.accounts.Account, param1: string): void;
			public getAccountsByType(param0: string): native.Array<android.accounts.Account>;
			public setUserData(param0: android.accounts.Account, param1: string, param2: string): void;
			public removeAccount(param0: android.accounts.Account, param1: android.app.Activity, param2: android.accounts.AccountManagerCallback<android.os.Bundle>, param3: android.os.Handler): android.accounts.AccountManagerFuture<android.os.Bundle>;
			public notifyAccountAuthenticated(param0: android.accounts.Account): boolean;
			public renameAccount(param0: android.accounts.Account, param1: string, param2: android.accounts.AccountManagerCallback<android.accounts.Account>, param3: android.os.Handler): android.accounts.AccountManagerFuture<android.accounts.Account>;
			public getAuthToken(param0: android.accounts.Account, param1: string, param2: android.os.Bundle, param3: boolean, param4: android.accounts.AccountManagerCallback<android.os.Bundle>, param5: android.os.Handler): android.accounts.AccountManagerFuture<android.os.Bundle>;
			public getPassword(param0: android.accounts.Account): string;
			public peekAuthToken(param0: android.accounts.Account, param1: string): string;
			public getUserData(param0: android.accounts.Account, param1: string): string;
			public getAccounts(): native.Array<android.accounts.Account>;
			public getAccountsByTypeAndFeatures(param0: string, param1: native.Array<string>, param2: android.accounts.AccountManagerCallback<native.Array<android.accounts.Account>>, param3: android.os.Handler): android.accounts.AccountManagerFuture<native.Array<android.accounts.Account>>;
			public static get(param0: android.content.Context): android.accounts.AccountManager;
			public isCredentialsUpdateSuggested(param0: android.accounts.Account, param1: string, param2: android.accounts.AccountManagerCallback<java.lang.Boolean>, param3: android.os.Handler): android.accounts.AccountManagerFuture<java.lang.Boolean>;
			public addOnAccountsUpdatedListener(param0: android.accounts.OnAccountsUpdateListener, param1: android.os.Handler, param2: boolean, param3: native.Array<string>): void;
			public getPreviousName(param0: android.accounts.Account): string;
			/** @deprecated */
			public static newChooseAccountIntent(param0: android.accounts.Account, param1: java.util.ArrayList<android.accounts.Account>, param2: native.Array<string>, param3: boolean, param4: string, param5: string, param6: native.Array<string>, param7: android.os.Bundle): android.content.Intent;
			/** @deprecated */
			public removeAccount(param0: android.accounts.Account, param1: android.accounts.AccountManagerCallback<java.lang.Boolean>, param2: android.os.Handler): android.accounts.AccountManagerFuture<java.lang.Boolean>;
			public editProperties(param0: string, param1: android.app.Activity, param2: android.accounts.AccountManagerCallback<android.os.Bundle>, param3: android.os.Handler): android.accounts.AccountManagerFuture<android.os.Bundle>;
			public getAuthTokenByFeatures(param0: string, param1: string, param2: native.Array<string>, param3: android.app.Activity, param4: android.os.Bundle, param5: android.os.Bundle, param6: android.accounts.AccountManagerCallback<android.os.Bundle>, param7: android.os.Handler): android.accounts.AccountManagerFuture<android.os.Bundle>;
			public static newChooseAccountIntent(param0: android.accounts.Account, param1: java.util.List<android.accounts.Account>, param2: native.Array<string>, param3: string, param4: string, param5: native.Array<string>, param6: android.os.Bundle): android.content.Intent;
			public removeAccountExplicitly(param0: android.accounts.Account): boolean;
			public getAccountsAndVisibilityForPackage(param0: string, param1: string): java.util.Map<android.accounts.Account,java.lang.Integer>;
		}
	}
}

declare module android {
	export module accounts {
		export class AccountManagerCallback<V>  extends java.lang.Object {
			public static class: java.lang.Class<android.accounts.AccountManagerCallback<any>>;
			/**
			 * Constructs a new instance of the android.accounts.AccountManagerCallback<any> interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				run(param0: android.accounts.AccountManagerFuture<V>): void;
			});
			public constructor();
			public run(param0: android.accounts.AccountManagerFuture<V>): void;
		}
	}
}

declare module android {
	export module accounts {
		export class AccountManagerFuture<V>  extends java.lang.Object {
			public static class: java.lang.Class<android.accounts.AccountManagerFuture<any>>;
			/**
			 * Constructs a new instance of the android.accounts.AccountManagerFuture<any> interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				cancel(param0: boolean): boolean;
				isCancelled(): boolean;
				isDone(): boolean;
				getResult(): V;
				getResult(param0: number, param1: java.util.concurrent.TimeUnit): V;
			});
			public constructor();
			public getResult(param0: number, param1: java.util.concurrent.TimeUnit): V;
			public cancel(param0: boolean): boolean;
			public isCancelled(): boolean;
			public isDone(): boolean;
			public getResult(): V;
		}
	}
}

declare module android {
	export module accounts {
		export class AccountsException extends java.lang.Exception {
			public static class: java.lang.Class<android.accounts.AccountsException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module android {
	export module accounts {
		export class AuthenticatorDescription extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.accounts.AuthenticatorDescription>;
			public static CREATOR: android.os.Parcelable.Creator<android.accounts.AuthenticatorDescription>;
			public accountPreferencesId: number;
			public customTokens: boolean;
			public iconId: number;
			public labelId: number;
			public packageName: string;
			public smallIconId: number;
			public type: string;
			public constructor(param0: string, param1: string, param2: number, param3: number, param4: number, param5: number, param6: boolean);
			public equals(param0: any): boolean;
			public toString(): string;
			public constructor(param0: string, param1: string, param2: number, param3: number, param4: number, param5: number);
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public static newKey(param0: string): android.accounts.AuthenticatorDescription;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module accounts {
		export class AuthenticatorException extends android.accounts.AccountsException {
			public static class: java.lang.Class<android.accounts.AuthenticatorException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module android {
	export module accounts {
		export class NetworkErrorException extends android.accounts.AccountsException {
			public static class: java.lang.Class<android.accounts.NetworkErrorException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module android {
	export module accounts {
		export class OnAccountsUpdateListener extends java.lang.Object {
			public static class: java.lang.Class<android.accounts.OnAccountsUpdateListener>;
			/**
			 * Constructs a new instance of the android.accounts.OnAccountsUpdateListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				onAccountsUpdated(param0: native.Array<android.accounts.Account>): void;
			});
			public constructor();
			public onAccountsUpdated(param0: native.Array<android.accounts.Account>): void;
		}
	}
}

declare module android {
	export module accounts {
		export class OperationCanceledException extends android.accounts.AccountsException {
			public static class: java.lang.Class<android.accounts.OperationCanceledException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module android {
	export module animation {
		export abstract class Animator extends java.lang.Object implements java.lang.Cloneable {
			public static class: java.lang.Class<android.animation.Animator>;
			public static DURATION_INFINITE: number;
			public setupStartValues(): void;
			public removePauseListener(param0: android.animation.Animator.AnimatorPauseListener): void;
			public removeAllListeners(): void;
			public getDuration(): number;
			public end(): void;
			public isPaused(): boolean;
			public cancel(): void;
			public addPauseListener(param0: android.animation.Animator.AnimatorPauseListener): void;
			public setDuration(param0: number): android.animation.Animator;
			public getInterpolator(): android.animation.TimeInterpolator;
			public pause(): void;
			public isRunning(): boolean;
			public resume(): void;
			public addListener(param0: android.animation.Animator.AnimatorListener): void;
			public removeListener(param0: android.animation.Animator.AnimatorListener): void;
			public getTotalDuration(): number;
			public start(): void;
			public setInterpolator(param0: android.animation.TimeInterpolator): void;
			public getStartDelay(): number;
			public clone(): android.animation.Animator;
			public isStarted(): boolean;
			public setStartDelay(param0: number): void;
			public constructor();
			public getListeners(): java.util.ArrayList<android.animation.Animator.AnimatorListener>;
			public clone(): any;
			public setTarget(param0: any): void;
			public setupEndValues(): void;
		}
		export module Animator {
			export class AnimatorListener extends java.lang.Object {
				public static class: java.lang.Class<android.animation.Animator.AnimatorListener>;
				/**
				 * Constructs a new instance of the android.animation.Animator$AnimatorListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onAnimationStart(param0: android.animation.Animator, param1: boolean): void;
					onAnimationEnd(param0: android.animation.Animator, param1: boolean): void;
					onAnimationStart(param0: android.animation.Animator): void;
					onAnimationEnd(param0: android.animation.Animator): void;
					onAnimationCancel(param0: android.animation.Animator): void;
					onAnimationRepeat(param0: android.animation.Animator): void;
				});
				public constructor();
				public onAnimationEnd(param0: android.animation.Animator): void;
				public onAnimationStart(param0: android.animation.Animator, param1: boolean): void;
				public onAnimationEnd(param0: android.animation.Animator, param1: boolean): void;
				public onAnimationStart(param0: android.animation.Animator): void;
				public onAnimationRepeat(param0: android.animation.Animator): void;
				public onAnimationCancel(param0: android.animation.Animator): void;
			}
			export class AnimatorPauseListener extends java.lang.Object {
				public static class: java.lang.Class<android.animation.Animator.AnimatorPauseListener>;
				/**
				 * Constructs a new instance of the android.animation.Animator$AnimatorPauseListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onAnimationPause(param0: android.animation.Animator): void;
					onAnimationResume(param0: android.animation.Animator): void;
				});
				public constructor();
				public onAnimationPause(param0: android.animation.Animator): void;
				public onAnimationResume(param0: android.animation.Animator): void;
			}
		}
	}
}

declare module android {
	export module animation {
		export class AnimatorInflater extends java.lang.Object {
			public static class: java.lang.Class<android.animation.AnimatorInflater>;
			public static loadAnimator(param0: android.content.Context, param1: number): android.animation.Animator;
			public constructor();
			public static loadStateListAnimator(param0: android.content.Context, param1: number): android.animation.StateListAnimator;
		}
	}
}

declare module android {
	export module animation {
		export abstract class AnimatorListenerAdapter extends java.lang.Object implements android.animation.Animator.AnimatorListener, android.animation.Animator.AnimatorPauseListener {
			public static class: java.lang.Class<android.animation.AnimatorListenerAdapter>;
			public onAnimationPause(param0: android.animation.Animator): void;
			public onAnimationEnd(param0: android.animation.Animator, param1: boolean): void;
			public onAnimationRepeat(param0: android.animation.Animator): void;
			public onAnimationStart(param0: android.animation.Animator): void;
			public constructor();
			public onAnimationCancel(param0: android.animation.Animator): void;
			public onAnimationResume(param0: android.animation.Animator): void;
			public onAnimationEnd(param0: android.animation.Animator): void;
			public onAnimationStart(param0: android.animation.Animator, param1: boolean): void;
		}
	}
}

declare module android {
	export module animation {
		export class AnimatorSet extends android.animation.Animator {
			public static class: java.lang.Class<android.animation.AnimatorSet>;
			public setupStartValues(): void;
			public reverse(): void;
			public getDuration(): number;
			public end(): void;
			public cancel(): void;
			public setDuration(param0: number): android.animation.AnimatorSet;
			public getInterpolator(): android.animation.TimeInterpolator;
			public setDuration(param0: number): android.animation.Animator;
			public pause(): void;
			public isRunning(): boolean;
			public playSequentially(param0: java.util.List<android.animation.Animator>): void;
			public resume(): void;
			public getTotalDuration(): number;
			public setInterpolator(param0: android.animation.TimeInterpolator): void;
			public start(): void;
			public getStartDelay(): number;
			public setCurrentPlayTime(param0: number): void;
			public clone(): android.animation.AnimatorSet;
			public getCurrentPlayTime(): number;
			public clone(): android.animation.Animator;
			public isStarted(): boolean;
			public playTogether(param0: native.Array<android.animation.Animator>): void;
			public setStartDelay(param0: number): void;
			public constructor();
			public playSequentially(param0: native.Array<android.animation.Animator>): void;
			public clone(): any;
			public toString(): string;
			public playTogether(param0: java.util.Collection<android.animation.Animator>): void;
			public setTarget(param0: any): void;
			public getChildAnimations(): java.util.ArrayList<android.animation.Animator>;
			public play(param0: android.animation.Animator): android.animation.AnimatorSet.Builder;
			public setupEndValues(): void;
		}
		export module AnimatorSet {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.animation.AnimatorSet.Builder>;
				public after(param0: android.animation.Animator): android.animation.AnimatorSet.Builder;
				public with(param0: android.animation.Animator): android.animation.AnimatorSet.Builder;
				public after(param0: number): android.animation.AnimatorSet.Builder;
				public before(param0: android.animation.Animator): android.animation.AnimatorSet.Builder;
			}
		}
	}
}

declare module android {
	export module animation {
		export class ArgbEvaluator extends java.lang.Object {
			public static class: java.lang.Class<android.animation.ArgbEvaluator>;
			public evaluate(param0: number, param1: any, param2: any): any;
			public constructor();
		}
	}
}

declare module android {
	export module animation {
		export abstract class BidirectionalTypeConverter<T, V>  extends android.animation.TypeConverter<any,any> {
			public static class: java.lang.Class<android.animation.BidirectionalTypeConverter<any,any>>;
			public constructor(param0: java.lang.Class<any>, param1: java.lang.Class<any>);
			public invert(): android.animation.BidirectionalTypeConverter<any,any>;
			public convertBack(param0: any): any;
		}
	}
}

declare module android {
	export module animation {
		export class FloatArrayEvaluator extends android.animation.TypeEvaluator<native.Array<number>> {
			public static class: java.lang.Class<android.animation.FloatArrayEvaluator>;
			public constructor();
			public constructor(param0: native.Array<number>);
			public evaluate(param0: number, param1: native.Array<number>, param2: native.Array<number>): native.Array<number>;
		}
	}
}

declare module android {
	export module animation {
		export class FloatEvaluator extends android.animation.TypeEvaluator<java.lang.Number> {
			public static class: java.lang.Class<android.animation.FloatEvaluator>;
			public evaluate(param0: number, param1: java.lang.Number, param2: java.lang.Number): java.lang.Float;
			public constructor();
		}
	}
}

declare module android {
	export module animation {
		export class IntArrayEvaluator extends android.animation.TypeEvaluator<native.Array<number>> {
			public static class: java.lang.Class<android.animation.IntArrayEvaluator>;
			public constructor();
			public constructor(param0: native.Array<number>);
			public evaluate(param0: number, param1: native.Array<number>, param2: native.Array<number>): native.Array<number>;
		}
	}
}

declare module android {
	export module animation {
		export class IntEvaluator extends android.animation.TypeEvaluator<java.lang.Integer> {
			public static class: java.lang.Class<android.animation.IntEvaluator>;
			public evaluate(param0: number, param1: java.lang.Integer, param2: java.lang.Integer): java.lang.Integer;
			public constructor();
		}
	}
}

declare module android {
	export module animation {
		export abstract class Keyframe extends java.lang.Object implements java.lang.Cloneable {
			public static class: java.lang.Class<android.animation.Keyframe>;
			public static ofInt(param0: number, param1: number): android.animation.Keyframe;
			public getType(): java.lang.Class<any>;
			public getFraction(): number;
			public clone(): android.animation.Keyframe;
			public static ofFloat(param0: number): android.animation.Keyframe;
			public static ofObject(param0: number, param1: any): android.animation.Keyframe;
			public constructor();
			public getInterpolator(): android.animation.TimeInterpolator;
			public setValue(param0: any): void;
			public static ofFloat(param0: number, param1: number): android.animation.Keyframe;
			public clone(): any;
			public static ofInt(param0: number): android.animation.Keyframe;
			public getValue(): any;
			public setFraction(param0: number): void;
			public hasValue(): boolean;
			public static ofObject(param0: number): android.animation.Keyframe;
			public setInterpolator(param0: android.animation.TimeInterpolator): void;
		}
	}
}

declare module android {
	export module animation {
		export class LayoutTransition extends java.lang.Object {
			public static class: java.lang.Class<android.animation.LayoutTransition>;
			public static APPEARING: number;
			public static CHANGE_APPEARING: number;
			public static CHANGE_DISAPPEARING: number;
			public static CHANGING: number;
			public static DISAPPEARING: number;
			public getStartDelay(param0: number): number;
			public addChild(param0: android.view.ViewGroup, param1: android.view.View): void;
			/** @deprecated */
			public hideChild(param0: android.view.ViewGroup, param1: android.view.View): void;
			public setStagger(param0: number, param1: number): void;
			public setStartDelay(param0: number, param1: number): void;
			public setAnimateParentHierarchy(param0: boolean): void;
			public isRunning(): boolean;
			public setInterpolator(param0: number, param1: android.animation.TimeInterpolator): void;
			public getTransitionListeners(): java.util.List<android.animation.LayoutTransition.TransitionListener>;
			public enableTransitionType(param0: number): void;
			public isTransitionTypeEnabled(param0: number): boolean;
			public hideChild(param0: android.view.ViewGroup, param1: android.view.View, param2: number): void;
			public disableTransitionType(param0: number): void;
			public getAnimator(param0: number): android.animation.Animator;
			public getDuration(param0: number): number;
			public setDuration(param0: number): void;
			public showChild(param0: android.view.ViewGroup, param1: android.view.View, param2: number): void;
			/** @deprecated */
			public showChild(param0: android.view.ViewGroup, param1: android.view.View): void;
			public removeChild(param0: android.view.ViewGroup, param1: android.view.View): void;
			public isChangingLayout(): boolean;
			public constructor();
			public setAnimator(param0: number, param1: android.animation.Animator): void;
			public addTransitionListener(param0: android.animation.LayoutTransition.TransitionListener): void;
			public getStagger(param0: number): number;
			public setDuration(param0: number, param1: number): void;
			public getInterpolator(param0: number): android.animation.TimeInterpolator;
			public removeTransitionListener(param0: android.animation.LayoutTransition.TransitionListener): void;
		}
		export module LayoutTransition {
			export class TransitionListener extends java.lang.Object {
				public static class: java.lang.Class<android.animation.LayoutTransition.TransitionListener>;
				/**
				 * Constructs a new instance of the android.animation.LayoutTransition$TransitionListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					startTransition(param0: android.animation.LayoutTransition, param1: android.view.ViewGroup, param2: android.view.View, param3: number): void;
					endTransition(param0: android.animation.LayoutTransition, param1: android.view.ViewGroup, param2: android.view.View, param3: number): void;
				});
				public constructor();
				public startTransition(param0: android.animation.LayoutTransition, param1: android.view.ViewGroup, param2: android.view.View, param3: number): void;
				public endTransition(param0: android.animation.LayoutTransition, param1: android.view.ViewGroup, param2: android.view.View, param3: number): void;
			}
		}
	}
}

declare module android {
	export module animation {
		export class ObjectAnimator extends android.animation.ValueAnimator {
			public static class: java.lang.Class<android.animation.ObjectAnimator>;
			public setupStartValues(): void;
			public static ofMultiInt(param0: any, param1: string, param2: android.animation.TypeConverter<any,any>, param3: android.animation.TypeEvaluator<any>, param4: native.Array<any>): android.animation.ObjectAnimator;
			public clone(): android.animation.ValueAnimator;
			public static ofMultiFloat(param0: any, param1: string, param2: android.animation.TypeConverter<any,any>, param3: android.animation.TypeEvaluator<any>, param4: native.Array<any>): android.animation.ObjectAnimator;
			public clone(): android.animation.ObjectAnimator;
			public setObjectValues(param0: native.Array<any>): void;
			public static ofArgb(param0: native.Array<number>): android.animation.ValueAnimator;
			public setProperty(param0: android.util.Property<any,any>): void;
			public setIntValues(param0: native.Array<number>): void;
			public getPropertyName(): string;
			public static ofObject(param0: any, param1: android.util.Property<any,any>, param2: android.animation.TypeEvaluator<any>, param3: native.Array<any>): android.animation.ObjectAnimator;
			public setDuration(param0: number): android.animation.Animator;
			public static ofInt(param0: any, param1: android.util.Property<any,any>, param2: android.util.Property<any,any>, param3: android.graphics.Path): android.animation.ObjectAnimator;
			public setPropertyName(param0: string): void;
			public static ofArgb(param0: any, param1: android.util.Property<any,any>, param2: native.Array<number>): android.animation.ObjectAnimator;
			public static ofInt(param0: any, param1: string, param2: string, param3: android.graphics.Path): android.animation.ObjectAnimator;
			public static ofFloat(param0: native.Array<number>): android.animation.ValueAnimator;
			public static ofFloat(param0: any, param1: android.util.Property<any,any>, param2: native.Array<number>): android.animation.ObjectAnimator;
			public static ofArgb(param0: any, param1: string, param2: native.Array<number>): android.animation.ObjectAnimator;
			public static ofPropertyValuesHolder(param0: native.Array<android.animation.PropertyValuesHolder>): android.animation.ValueAnimator;
			public static ofFloat(param0: any, param1: string, param2: native.Array<number>): android.animation.ObjectAnimator;
			public start(): void;
			public static ofInt(param0: native.Array<number>): android.animation.ValueAnimator;
			public static ofObject(param0: any, param1: android.util.Property<any,any>, param2: android.animation.TypeConverter<any,any>, param3: android.animation.TypeEvaluator<any>, param4: native.Array<any>): android.animation.ObjectAnimator;
			public static ofObject(param0: any, param1: android.util.Property<any,any>, param2: android.animation.TypeConverter<any,any>, param3: android.graphics.Path): android.animation.ObjectAnimator;
			public static ofPropertyValuesHolder(param0: any, param1: native.Array<android.animation.PropertyValuesHolder>): android.animation.ObjectAnimator;
			public static ofMultiInt(param0: any, param1: string, param2: native.Array<native.Array<number>>): android.animation.ObjectAnimator;
			public setFloatValues(param0: native.Array<number>): void;
			public clone(): android.animation.Animator;
			public static ofInt(param0: any, param1: android.util.Property<any,any>, param2: native.Array<number>): android.animation.ObjectAnimator;
			public static ofMultiFloat(param0: any, param1: string, param2: android.graphics.Path): android.animation.ObjectAnimator;
			public constructor();
			public static ofFloat(param0: any, param1: string, param2: string, param3: android.graphics.Path): android.animation.ObjectAnimator;
			public static ofFloat(param0: any, param1: android.util.Property<any,any>, param2: android.util.Property<any,any>, param3: android.graphics.Path): android.animation.ObjectAnimator;
			public setDuration(param0: number): android.animation.ObjectAnimator;
			public static ofMultiFloat(param0: any, param1: string, param2: native.Array<native.Array<number>>): android.animation.ObjectAnimator;
			public clone(): any;
			public toString(): string;
			public setTarget(param0: any): void;
			public static ofObject(param0: any, param1: string, param2: android.animation.TypeEvaluator<any>, param3: native.Array<any>): android.animation.ObjectAnimator;
			public setAutoCancel(param0: boolean): void;
			public static ofInt(param0: any, param1: string, param2: native.Array<number>): android.animation.ObjectAnimator;
			public static ofObject(param0: any, param1: string, param2: android.animation.TypeConverter<android.graphics.PointF,any>, param3: android.graphics.Path): android.animation.ObjectAnimator;
			public getTarget(): any;
			public static ofMultiInt(param0: any, param1: string, param2: android.graphics.Path): android.animation.ObjectAnimator;
			public static ofObject(param0: android.animation.TypeEvaluator<any>, param1: native.Array<any>): android.animation.ValueAnimator;
			public setDuration(param0: number): android.animation.ValueAnimator;
			public setupEndValues(): void;
		}
	}
}

declare module android {
	export module animation {
		export class PointFEvaluator extends android.animation.TypeEvaluator<android.graphics.PointF> {
			public static class: java.lang.Class<android.animation.PointFEvaluator>;
			public evaluate(param0: number, param1: android.graphics.PointF, param2: android.graphics.PointF): android.graphics.PointF;
			public constructor();
			public constructor(param0: android.graphics.PointF);
		}
	}
}

declare module android {
	export module animation {
		export class PropertyValuesHolder extends java.lang.Object implements java.lang.Cloneable {
			public static class: java.lang.Class<android.animation.PropertyValuesHolder>;
			public static ofInt(param0: string, param1: native.Array<number>): android.animation.PropertyValuesHolder;
			public static ofObject(param0: android.util.Property<any,any>, param1: android.animation.TypeConverter<any,any>, param2: android.animation.TypeEvaluator<any>, param3: native.Array<any>): android.animation.PropertyValuesHolder;
			public static ofObject(param0: string, param1: android.animation.TypeEvaluator<any>, param2: native.Array<any>): android.animation.PropertyValuesHolder;
			public setObjectValues(param0: native.Array<any>): void;
			public clone(): android.animation.PropertyValuesHolder;
			public setIntValues(param0: native.Array<number>): void;
			public setProperty(param0: android.util.Property<any,any>): void;
			public static ofKeyframe(param0: string, param1: native.Array<android.animation.Keyframe>): android.animation.PropertyValuesHolder;
			public getPropertyName(): string;
			public static ofMultiInt(param0: string, param1: native.Array<native.Array<number>>): android.animation.PropertyValuesHolder;
			public setPropertyName(param0: string): void;
			public static ofMultiInt(param0: string, param1: android.graphics.Path): android.animation.PropertyValuesHolder;
			public static ofMultiInt(param0: string, param1: android.animation.TypeConverter<any,any>, param2: android.animation.TypeEvaluator<any>, param3: native.Array<android.animation.Keyframe>): android.animation.PropertyValuesHolder;
			public static ofMultiFloat(param0: string, param1: android.animation.TypeConverter<any,any>, param2: android.animation.TypeEvaluator<any>, param3: native.Array<any>): android.animation.PropertyValuesHolder;
			public static ofMultiFloat(param0: string, param1: android.animation.TypeConverter<any,any>, param2: android.animation.TypeEvaluator<any>, param3: native.Array<android.animation.Keyframe>): android.animation.PropertyValuesHolder;
			public static ofObject(param0: android.util.Property<any,any>, param1: android.animation.TypeConverter<any,any>, param2: android.graphics.Path): android.animation.PropertyValuesHolder;
			public setConverter(param0: android.animation.TypeConverter<any,any>): void;
			public setFloatValues(param0: native.Array<number>): void;
			public static ofInt(param0: android.util.Property<any,java.lang.Integer>, param1: native.Array<number>): android.animation.PropertyValuesHolder;
			public static ofMultiFloat(param0: string, param1: native.Array<native.Array<number>>): android.animation.PropertyValuesHolder;
			public static ofFloat(param0: android.util.Property<any,java.lang.Float>, param1: native.Array<number>): android.animation.PropertyValuesHolder;
			public static ofObject(param0: string, param1: android.animation.TypeConverter<android.graphics.PointF,any>, param2: android.graphics.Path): android.animation.PropertyValuesHolder;
			public static ofObject(param0: android.util.Property<any,any>, param1: android.animation.TypeEvaluator<any>, param2: native.Array<any>): android.animation.PropertyValuesHolder;
			public static ofMultiFloat(param0: string, param1: android.graphics.Path): android.animation.PropertyValuesHolder;
			public setEvaluator(param0: android.animation.TypeEvaluator<any>): void;
			public static ofKeyframe(param0: android.util.Property<any,any>, param1: native.Array<android.animation.Keyframe>): android.animation.PropertyValuesHolder;
			public static ofMultiInt(param0: string, param1: android.animation.TypeConverter<any,any>, param2: android.animation.TypeEvaluator<any>, param3: native.Array<any>): android.animation.PropertyValuesHolder;
			public setKeyframes(param0: native.Array<android.animation.Keyframe>): void;
			public clone(): any;
			public toString(): string;
			public static ofFloat(param0: string, param1: native.Array<number>): android.animation.PropertyValuesHolder;
		}
	}
}

declare module android {
	export module animation {
		export class RectEvaluator extends android.animation.TypeEvaluator<android.graphics.Rect> {
			public static class: java.lang.Class<android.animation.RectEvaluator>;
			public evaluate(param0: number, param1: android.graphics.Rect, param2: android.graphics.Rect): android.graphics.Rect;
			public constructor(param0: android.graphics.Rect);
			public constructor();
		}
	}
}

declare module android {
	export module animation {
		export class StateListAnimator extends java.lang.Object implements java.lang.Cloneable {
			public static class: java.lang.Class<android.animation.StateListAnimator>;
			public clone(): any;
			public jumpToCurrentState(): void;
			public clone(): android.animation.StateListAnimator;
			public constructor();
			public addState(param0: native.Array<number>, param1: android.animation.Animator): void;
		}
	}
}

declare module android {
	export module animation {
		export class TimeAnimator extends android.animation.ValueAnimator {
			public static class: java.lang.Class<android.animation.TimeAnimator>;
			public setCurrentPlayTime(param0: number): void;
			public constructor();
			public start(): void;
			public setTimeListener(param0: android.animation.TimeAnimator.TimeListener): void;
		}
		export module TimeAnimator {
			export class TimeListener extends java.lang.Object {
				public static class: java.lang.Class<android.animation.TimeAnimator.TimeListener>;
				/**
				 * Constructs a new instance of the android.animation.TimeAnimator$TimeListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onTimeUpdate(param0: android.animation.TimeAnimator, param1: number, param2: number): void;
				});
				public constructor();
				public onTimeUpdate(param0: android.animation.TimeAnimator, param1: number, param2: number): void;
			}
		}
	}
}

declare module android {
	export module animation {
		export class TimeInterpolator extends java.lang.Object {
			public static class: java.lang.Class<android.animation.TimeInterpolator>;
			/**
			 * Constructs a new instance of the android.animation.TimeInterpolator interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				getInterpolation(param0: number): number;
			});
			public constructor();
			public getInterpolation(param0: number): number;
		}
	}
}

declare module android {
	export module animation {
		export abstract class TypeConverter<T, V>  extends java.lang.Object {
			public static class: java.lang.Class<android.animation.TypeConverter<any,any>>;
			public convert(param0: T): V;
			public constructor(param0: java.lang.Class<T>, param1: java.lang.Class<V>);
		}
	}
}

declare module android {
	export module animation {
		export class TypeEvaluator<T>  extends java.lang.Object {
			public static class: java.lang.Class<android.animation.TypeEvaluator<any>>;
			/**
			 * Constructs a new instance of the android.animation.TypeEvaluator<any> interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				evaluate(param0: number, param1: T, param2: T): T;
			});
			public constructor();
			public evaluate(param0: number, param1: T, param2: T): T;
		}
	}
}

declare module android {
	export module animation {
		export class ValueAnimator extends android.animation.Animator {
			public static class: java.lang.Class<android.animation.ValueAnimator>;
			public static INFINITE: number;
			public static RESTART: number;
			public static REVERSE: number;
			public clone(): android.animation.ValueAnimator;
			public reverse(): void;
			public getRepeatCount(): number;
			public removeUpdateListener(param0: android.animation.ValueAnimator.AnimatorUpdateListener): void;
			public setObjectValues(param0: native.Array<any>): void;
			public getDuration(): number;
			public static ofArgb(param0: native.Array<number>): android.animation.ValueAnimator;
			public end(): void;
			public setIntValues(param0: native.Array<number>): void;
			public cancel(): void;
			public setDuration(param0: number): android.animation.Animator;
			public getInterpolator(): android.animation.TimeInterpolator;
			public getRepeatMode(): number;
			public pause(): void;
			public isRunning(): boolean;
			public resume(): void;
			public static ofFloat(param0: native.Array<number>): android.animation.ValueAnimator;
			public setValues(param0: native.Array<android.animation.PropertyValuesHolder>): void;
			public static ofPropertyValuesHolder(param0: native.Array<android.animation.PropertyValuesHolder>): android.animation.ValueAnimator;
			public getTotalDuration(): number;
			public setInterpolator(param0: android.animation.TimeInterpolator): void;
			public start(): void;
			public getStartDelay(): number;
			public static ofInt(param0: native.Array<number>): android.animation.ValueAnimator;
			public setCurrentPlayTime(param0: number): void;
			public static setFrameDelay(param0: number): void;
			public setFloatValues(param0: native.Array<number>): void;
			public getCurrentPlayTime(): number;
			public clone(): android.animation.Animator;
			public isStarted(): boolean;
			public setRepeatCount(param0: number): void;
			public setStartDelay(param0: number): void;
			public addUpdateListener(param0: android.animation.ValueAnimator.AnimatorUpdateListener): void;
			public constructor();
			public getAnimatedValue(param0: string): any;
			public setEvaluator(param0: android.animation.TypeEvaluator<any>): void;
			public getValues(): native.Array<android.animation.PropertyValuesHolder>;
			public getAnimatedValue(): any;
			public setRepeatMode(param0: number): void;
			public setCurrentFraction(param0: number): void;
			public removeAllUpdateListeners(): void;
			public clone(): any;
			public toString(): string;
			public getAnimatedFraction(): number;
			public static getFrameDelay(): number;
			public static ofObject(param0: android.animation.TypeEvaluator<any>, param1: native.Array<any>): android.animation.ValueAnimator;
			public static areAnimatorsEnabled(): boolean;
			public setDuration(param0: number): android.animation.ValueAnimator;
		}
		export module ValueAnimator {
			export class AnimatorUpdateListener extends java.lang.Object {
				public static class: java.lang.Class<android.animation.ValueAnimator.AnimatorUpdateListener>;
				/**
				 * Constructs a new instance of the android.animation.ValueAnimator$AnimatorUpdateListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onAnimationUpdate(param0: android.animation.ValueAnimator): void;
				});
				public constructor();
				public onAnimationUpdate(param0: android.animation.ValueAnimator): void;
			}
		}
	}
}

declare module android {
	export module annotation {
		export class SuppressLint extends java.lang.Object implements java.lang.annotation.Annotation {
			public static class: java.lang.Class<android.annotation.SuppressLint>;
			/**
			 * Constructs a new instance of the android.annotation.SuppressLint interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				value(): native.Array<string>;
				equals(param0: any): boolean;
				hashCode(): number;
				toString(): string;
				annotationType(): java.lang.Class<any>;
			});
			public constructor();
			public equals(param0: any): boolean;
			public toString(): string;
			public value(): native.Array<string>;
			public annotationType(): java.lang.Class<any>;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module annotation {
		export class TargetApi extends java.lang.Object implements java.lang.annotation.Annotation {
			public static class: java.lang.Class<android.annotation.TargetApi>;
			/**
			 * Constructs a new instance of the android.annotation.TargetApi interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				value(): number;
				equals(param0: any): boolean;
				hashCode(): number;
				toString(): string;
				annotationType(): java.lang.Class<any>;
			});
			public constructor();
			public equals(param0: any): boolean;
			public toString(): string;
			public value(): number;
			public annotationType(): java.lang.Class<any>;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module app {
		export abstract class ActionBar extends java.lang.Object {
			public static class: java.lang.Class<android.app.ActionBar>;
			public static DISPLAY_HOME_AS_UP: number;
			public static DISPLAY_SHOW_CUSTOM: number;
			public static DISPLAY_SHOW_HOME: number;
			public static DISPLAY_SHOW_TITLE: number;
			public static DISPLAY_USE_LOGO: number;
			public static NAVIGATION_MODE_LIST: number;
			public static NAVIGATION_MODE_STANDARD: number;
			public static NAVIGATION_MODE_TABS: number;
			public addOnMenuVisibilityListener(param0: android.app.ActionBar.OnMenuVisibilityListener): void;
			public setTitle(param0: string): void;
			/** @deprecated */
			public setListNavigationCallbacks(param0: android.widget.SpinnerAdapter, param1: android.app.ActionBar.OnNavigationListener): void;
			/** @deprecated */
			public removeTabAt(param0: number): void;
			public setSubtitle(param0: number): void;
			public setSplitBackgroundDrawable(param0: android.graphics.drawable.Drawable): void;
			/** @deprecated */
			public getSelectedTab(): android.app.ActionBar.Tab;
			public setHomeActionContentDescription(param0: string): void;
			public removeOnMenuVisibilityListener(param0: android.app.ActionBar.OnMenuVisibilityListener): void;
			/** @deprecated */
			public getNavigationItemCount(): number;
			public setLogo(param0: number): void;
			/** @deprecated */
			public addTab(param0: android.app.ActionBar.Tab, param1: boolean): void;
			public getCustomView(): android.view.View;
			/** @deprecated */
			public addTab(param0: android.app.ActionBar.Tab, param1: number, param2: boolean): void;
			public setHomeActionContentDescription(param0: number): void;
			public setDisplayHomeAsUpEnabled(param0: boolean): void;
			public hide(): void;
			public isShowing(): boolean;
			/** @deprecated */
			public getTabAt(param0: number): android.app.ActionBar.Tab;
			public setCustomView(param0: android.view.View, param1: android.app.ActionBar.LayoutParams): void;
			public getTitle(): string;
			public getSubtitle(): string;
			public getHeight(): number;
			public setElevation(param0: number): void;
			public setHideOnContentScrollEnabled(param0: boolean): void;
			public constructor();
			public setHideOffset(param0: number): void;
			public setHomeAsUpIndicator(param0: number): void;
			/** @deprecated */
			public setNavigationMode(param0: number): void;
			public setCustomView(param0: number): void;
			public getDisplayOptions(): number;
			public show(): void;
			public setDisplayOptions(param0: number): void;
			/** @deprecated */
			public addTab(param0: android.app.ActionBar.Tab, param1: number): void;
			public setDisplayShowTitleEnabled(param0: boolean): void;
			/** @deprecated */
			public removeTab(param0: android.app.ActionBar.Tab): void;
			public setLogo(param0: android.graphics.drawable.Drawable): void;
			public setBackgroundDrawable(param0: android.graphics.drawable.Drawable): void;
			public setDisplayShowCustomEnabled(param0: boolean): void;
			/** @deprecated */
			public selectTab(param0: android.app.ActionBar.Tab): void;
			/** @deprecated */
			public getSelectedNavigationIndex(): number;
			public setDisplayUseLogoEnabled(param0: boolean): void;
			/** @deprecated */
			public getNavigationMode(): number;
			public setCustomView(param0: android.view.View): void;
			public getThemedContext(): android.content.Context;
			public getElevation(): number;
			/** @deprecated */
			public getTabCount(): number;
			public setIcon(param0: number): void;
			public setDisplayOptions(param0: number, param1: number): void;
			/** @deprecated */
			public addTab(param0: android.app.ActionBar.Tab): void;
			public setHomeAsUpIndicator(param0: android.graphics.drawable.Drawable): void;
			public setTitle(param0: number): void;
			public setDisplayShowHomeEnabled(param0: boolean): void;
			/** @deprecated */
			public setSelectedNavigationItem(param0: number): void;
			/** @deprecated */
			public removeAllTabs(): void;
			public getHideOffset(): number;
			public setSubtitle(param0: string): void;
			public isHideOnContentScrollEnabled(): boolean;
			/** @deprecated */
			public newTab(): android.app.ActionBar.Tab;
			public setHomeButtonEnabled(param0: boolean): void;
			public setIcon(param0: android.graphics.drawable.Drawable): void;
			public setStackedBackgroundDrawable(param0: android.graphics.drawable.Drawable): void;
		}
		export module ActionBar {
			export class LayoutParams extends android.view.ViewGroup.MarginLayoutParams {
				public static class: java.lang.Class<android.app.ActionBar.LayoutParams>;
				public gravity: number;
				public constructor(param0: number, param1: number);
				public constructor(param0: android.view.ViewGroup.MarginLayoutParams);
				public constructor(param0: android.view.ViewGroup.LayoutParams);
				public constructor(param0: number, param1: number, param2: number);
				public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
				public constructor(param0: number);
				public constructor(param0: android.app.ActionBar.LayoutParams);
			}
			export class OnMenuVisibilityListener extends java.lang.Object {
				public static class: java.lang.Class<android.app.ActionBar.OnMenuVisibilityListener>;
				/**
				 * Constructs a new instance of the android.app.ActionBar$OnMenuVisibilityListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onMenuVisibilityChanged(param0: boolean): void;
				});
				public constructor();
				public onMenuVisibilityChanged(param0: boolean): void;
			}
			export class OnNavigationListener extends java.lang.Object {
				public static class: java.lang.Class<android.app.ActionBar.OnNavigationListener>;
				/**
				 * Constructs a new instance of the android.app.ActionBar$OnNavigationListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onNavigationItemSelected(param0: number, param1: number): boolean;
				});
				public constructor();
				public onNavigationItemSelected(param0: number, param1: number): boolean;
			}
			export abstract class Tab extends java.lang.Object {
				public static class: java.lang.Class<android.app.ActionBar.Tab>;
				public static INVALID_POSITION: number;
				public setCustomView(param0: number): android.app.ActionBar.Tab;
				public setText(param0: string): android.app.ActionBar.Tab;
				public setTabListener(param0: android.app.ActionBar.TabListener): android.app.ActionBar.Tab;
				public getContentDescription(): string;
				public setIcon(param0: android.graphics.drawable.Drawable): android.app.ActionBar.Tab;
				public select(): void;
				public getPosition(): number;
				public setContentDescription(param0: number): android.app.ActionBar.Tab;
				public setContentDescription(param0: string): android.app.ActionBar.Tab;
				public constructor();
				public getText(): string;
				public setText(param0: number): android.app.ActionBar.Tab;
				public setTag(param0: any): android.app.ActionBar.Tab;
				public setCustomView(param0: android.view.View): android.app.ActionBar.Tab;
				public getTag(): any;
				public getCustomView(): android.view.View;
				public getIcon(): android.graphics.drawable.Drawable;
				public setIcon(param0: number): android.app.ActionBar.Tab;
			}
			export class TabListener extends java.lang.Object {
				public static class: java.lang.Class<android.app.ActionBar.TabListener>;
				/**
				 * Constructs a new instance of the android.app.ActionBar$TabListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onTabSelected(param0: android.app.ActionBar.Tab, param1: android.app.FragmentTransaction): void;
					onTabUnselected(param0: android.app.ActionBar.Tab, param1: android.app.FragmentTransaction): void;
					onTabReselected(param0: android.app.ActionBar.Tab, param1: android.app.FragmentTransaction): void;
				});
				public constructor();
				public onTabUnselected(param0: android.app.ActionBar.Tab, param1: android.app.FragmentTransaction): void;
				public onTabSelected(param0: android.app.ActionBar.Tab, param1: android.app.FragmentTransaction): void;
				public onTabReselected(param0: android.app.ActionBar.Tab, param1: android.app.FragmentTransaction): void;
			}
		}
	}
}

declare module android {
	export module app {
		export class Activity extends android.view.ContextThemeWrapper implements android.view.LayoutInflater.Factory2, android.view.Window.Callback, android.view.KeyEvent.Callback, android.view.View.OnCreateContextMenuListener, android.content.ComponentCallbacks2 {
			public static class: java.lang.Class<android.app.Activity>;
			public static DEFAULT_KEYS_DIALER: number;
			public static DEFAULT_KEYS_DISABLE: number;
			public static DEFAULT_KEYS_SEARCH_GLOBAL: number;
			public static DEFAULT_KEYS_SEARCH_LOCAL: number;
			public static DEFAULT_KEYS_SHORTCUT: number;
			public static FOCUSED_STATE_SET: native.Array<number>;
			public static RESULT_CANCELED: number;
			public static RESULT_FIRST_USER: number;
			public static RESULT_OK: number;
			public finish(): void;
			public isTaskRoot(): boolean;
			public onChildTitleChanged(param0: android.app.Activity, param1: string): void;
			public getLayoutInflater(): android.view.LayoutInflater;
			/** @deprecated */
			public managedQuery(param0: android.net.Uri, param1: native.Array<string>, param2: string, param3: native.Array<string>, param4: string): android.database.Cursor;
			public getApplication(): android.app.Application;
			/** @deprecated */
			public dismissDialog(param0: number): void;
			public getCallingPackage(): string;
			/** @deprecated */
			public startManagingCursor(param0: android.database.Cursor): void;
			public isChangingConfigurations(): boolean;
			public startNextMatchingActivity(param0: android.content.Intent, param1: android.os.Bundle): boolean;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public dispatchGenericMotionEvent(param0: android.view.MotionEvent): boolean;
			public setExitSharedElementCallback(param0: any): void;
			public onCreate(param0: android.os.Bundle, param1: any): void;
			public getPreferences(param0: number): android.content.SharedPreferences;
			/** @deprecated */
			public setSecondaryProgress(param0: number): void;
			public onRestoreInstanceState(param0: android.os.Bundle): void;
			public setShowWhenLocked(param0: boolean): void;
			public getMaxNumPictureInPictureActions(): number;
			/** @deprecated */
			public setTitleColor(param0: number): void;
			public onPostResume(): void;
			public isInPictureInPictureMode(): boolean;
			public finishAffinity(): void;
			public onPreparePanel(param0: number, param1: android.view.View, param2: android.view.Menu): boolean;
			public getLocalClassName(): string;
			public setPictureInPictureParams(param0: android.app.PictureInPictureParams): void;
			public setMediaController(param0: any): void;
			public onWindowStartingActionMode(param0: android.view.ActionMode.Callback): android.view.ActionMode;
			public isDestroyed(): boolean;
			public isActivityTransitionRunning(): boolean;
			public onDestroy(): void;
			public reportFullyDrawn(): void;
			public getLastNonConfigurationInstance(): any;
			public getParentActivityIntent(): android.content.Intent;
			/** @deprecated */
			public getLoaderManager(): android.app.LoaderManager;
			public onLowMemory(): void;
			public getActionBar(): android.app.ActionBar;
			public openOptionsMenu(): void;
			public startActivity(param0: android.content.Intent, param1: android.os.Bundle): void;
			public unregisterForContextMenu(param0: android.view.View): void;
			public onTrimMemory(param0: number): void;
			public onStateNotSaved(): void;
			public onActionModeFinished(param0: android.view.ActionMode): void;
			public showLockTaskEscapeMessage(): void;
			public onOptionsItemSelected(param0: android.view.MenuItem): boolean;
			/** @deprecated */
			public requestVisibleBehind(param0: boolean): boolean;
			public onConfigurationChanged(param0: android.content.res.Configuration): void;
			public dispatchKeyShortcutEvent(param0: android.view.KeyEvent): boolean;
			public setResult(param0: number): void;
			public attachBaseContext(param0: android.content.Context): void;
			/** @deprecated */
			public onPictureInPictureModeChanged(param0: boolean): void;
			public runOnUiThread(param0: java.lang.Runnable): void;
			public startIntentSender(param0: android.content.IntentSender, param1: android.content.Intent, param2: number, param3: number, param4: number): void;
			public setVisible(param0: boolean): void;
			public getSystemService(param0: java.lang.Class<any>): any;
			/** @deprecated */
			public onCreateThumbnail(param0: android.graphics.Bitmap, param1: android.graphics.Canvas): boolean;
			public onNavigateUpFromChild(param0: android.app.Activity): boolean;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public getMediaController(): any;
			public setContentView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			/** @deprecated */
			public onCreateDialog(param0: number, param1: android.os.Bundle): android.app.Dialog;
			public setFinishOnTouchOutside(param0: boolean): void;
			public getReferrer(): android.net.Uri;
			public isFinishing(): boolean;
			public getVoiceInteractor(): android.app.VoiceInteractor;
			public startIntentSender(param0: android.content.IntentSender, param1: android.content.Intent, param2: number, param3: number, param4: number, param5: android.os.Bundle): void;
			public shouldUpRecreateTask(param0: android.content.Intent): boolean;
			public setImmersive(param0: boolean): void;
			public getCallingActivity(): android.content.ComponentName;
			public findViewById(param0: number): android.view.View;
			public requestPermissions(param0: native.Array<string>, param1: number): void;
			public isChild(): boolean;
			public onSearchRequested(): boolean;
			public startIntentSenderForResult(param0: android.content.IntentSender, param1: number, param2: android.content.Intent, param3: number, param4: number, param5: number, param6: android.os.Bundle): void;
			public startSearch(param0: string, param1: boolean, param2: android.os.Bundle, param3: boolean): void;
			public onActivityResult(param0: number, param1: number, param2: android.content.Intent): void;
			/** @deprecated */
			public onPrepareDialog(param0: number, param1: android.app.Dialog): void;
			public onActivityReenter(param0: number, param1: android.content.Intent): void;
			public onCreatePanelView(param0: number): android.view.View;
			public setDefaultKeyMode(param0: number): void;
			public onPictureInPictureModeChanged(param0: boolean, param1: android.content.res.Configuration): void;
			public onKeyShortcut(param0: number, param1: android.view.KeyEvent): boolean;
			public getTitle(): string;
			public startActivities(param0: native.Array<android.content.Intent>): void;
			public getSearchEvent(): any;
			public getVolumeControlStream(): number;
			public getParent(): android.app.Activity;
			public takeKeyEvents(param0: boolean): void;
			public onRequestPermissionsResult(param0: number, param1: native.Array<string>, param2: native.Array<number>): void;
			public onTrackballEvent(param0: android.view.MotionEvent): boolean;
			public onNewIntent(param0: android.content.Intent): void;
			/** @deprecated */
			public showDialog(param0: number, param1: android.os.Bundle): boolean;
			public getCurrentFocus(): android.view.View;
			public onWindowFocusChanged(param0: boolean): void;
			public finishFromChild(param0: android.app.Activity): void;
			/** @deprecated */
			public stopManagingCursor(param0: android.database.Cursor): void;
			public startActivityIfNeeded(param0: android.content.Intent, param1: number, param2: android.os.Bundle): boolean;
			public onUserInteraction(): void;
			public getIntent(): android.content.Intent;
			public postponeEnterTransition(): void;
			public closeContextMenu(): void;
			public onWindowStartingActionMode(param0: android.view.ActionMode.Callback, param1: number): android.view.ActionMode;
			/** @deprecated */
			public setProgressBarVisibility(param0: boolean): void;
			public setVolumeControlStream(param0: number): void;
			public onPanelClosed(param0: number, param1: android.view.Menu): void;
			public navigateUpTo(param0: android.content.Intent): boolean;
			public finishAndRemoveTask(): void;
			/** @deprecated */
			public removeDialog(param0: number): void;
			public getWindowManager(): android.view.WindowManager;
			public onPause(): void;
			public onStop(): void;
			/** @deprecated */
			public enterPictureInPictureMode(): void;
			public onMenuItemSelected(param0: number, param1: android.view.MenuItem): boolean;
			public requestDragAndDropPermissions(param0: android.view.DragEvent): android.view.DragAndDropPermissions;
			public onProvideAssistContent(param0: android.app.assist.AssistContent): void;
			public navigateUpToFromChild(param0: android.app.Activity, param1: android.content.Intent): boolean;
			public addContentView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public setResult(param0: number, param1: android.content.Intent): void;
			public finishAfterTransition(): void;
			public onTouchEvent(param0: android.view.MotionEvent): boolean;
			public onMultiWindowModeChanged(param0: boolean, param1: android.content.res.Configuration): void;
			public startActivityFromChild(param0: android.app.Activity, param1: android.content.Intent, param2: number, param3: android.os.Bundle): void;
			public setIntent(param0: android.content.Intent): void;
			public dispatchTrackballEvent(param0: android.view.MotionEvent): boolean;
			public startActionMode(param0: android.view.ActionMode.Callback): android.view.ActionMode;
			public onLocalVoiceInteractionStarted(): void;
			public startActivity(param0: android.content.Intent): void;
			public dispatchKeyEvent(param0: android.view.KeyEvent): boolean;
			public dispatchPopulateAccessibilityEvent(param0: android.view.accessibility.AccessibilityEvent): boolean;
			public requestShowKeyboardShortcuts(): void;
			/** @deprecated */
			public showDialog(param0: number): void;
			public releaseInstance(): boolean;
			public startLockTask(): void;
			public isLocalVoiceInteractionSupported(): boolean;
			public onApplyThemeResource(param0: android.content.res.Resources.Theme, param1: number, param2: boolean): void;
			public finishActivityFromChild(param0: android.app.Activity, param1: number): void;
			public onStart(): void;
			public onPostCreate(param0: android.os.Bundle, param1: any): void;
			public requireViewById(param0: number): android.view.View;
			public setContentView(param0: android.view.View): void;
			public finishActivity(param0: number): void;
			public startIntentSenderFromChild(param0: android.app.Activity, param1: android.content.IntentSender, param2: number, param3: android.content.Intent, param4: number, param5: number, param6: number, param7: android.os.Bundle): void;
			public createPendingResult(param0: number, param1: android.content.Intent, param2: number): android.app.PendingIntent;
			public getComponentName(): android.content.ComponentName;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public setFeatureDrawableUri(param0: number, param1: android.net.Uri): void;
			public startPostponedEnterTransition(): void;
			public startIntentSenderForResult(param0: android.content.IntentSender, param1: number, param2: android.content.Intent, param3: number, param4: number, param5: number): void;
			public setContentView(param0: number): void;
			public onDetachedFromWindow(): void;
			public onPointerCaptureChanged(param0: boolean): void;
			/** @deprecated */
			public onCreateDialog(param0: number): android.app.Dialog;
			public onSaveInstanceState(param0: android.os.Bundle, param1: any): void;
			public setEnterSharedElementCallback(param0: any): void;
			/** @deprecated */
			public onVisibleBehindCanceled(): void;
			public constructor();
			public onCreateNavigateUpTaskStack(param0: android.app.TaskStackBuilder): void;
			public startActivityFromChild(param0: android.app.Activity, param1: android.content.Intent, param2: number): void;
			public requestWindowFeature(param0: number): boolean;
			public onNavigateUp(): boolean;
			public closeOptionsMenu(): void;
			public startActivityForResult(param0: android.content.Intent, param1: number, param2: android.os.Bundle): void;
			public getRequestedOrientation(): number;
			public onCreate(param0: android.os.Bundle): void;
			public shouldShowRequestPermissionRationale(param0: string): boolean;
			public setActionBar(param0: android.widget.Toolbar): void;
			public onProvideAssistData(param0: android.os.Bundle): void;
			public onRetainNonConfigurationInstance(): any;
			public getMenuInflater(): android.view.MenuInflater;
			public registerForContextMenu(param0: android.view.View): void;
			public overridePendingTransition(param0: number, param1: number): void;
			public onCreateOptionsMenu(param0: android.view.Menu): boolean;
			public onBackPressed(): void;
			public onOptionsMenuClosed(param0: android.view.Menu): void;
			public constructor(param0: android.content.Context, param1: android.content.res.Resources.Theme);
			public onRestart(): void;
			public getTaskId(): number;
			public onCreateDescription(): string;
			public onActionModeStarted(param0: android.view.ActionMode): void;
			public startActivityIfNeeded(param0: android.content.Intent, param1: number): boolean;
			public setTaskDescription(param0: android.app.ActivityManager.TaskDescription): void;
			public onMenuOpened(param0: number, param1: android.view.Menu): boolean;
			public onProvideReferrer(): android.net.Uri;
			/** @deprecated */
			public onMultiWindowModeChanged(param0: boolean): void;
			public getChangingConfigurations(): number;
			public onSearchRequested(param0: any): boolean;
			public onTitleChanged(param0: string, param1: number): void;
			public onLocalVoiceInteractionStopped(): void;
			public onRestoreInstanceState(param0: android.os.Bundle, param1: any): void;
			public onEnterAnimationComplete(): void;
			public setFeatureDrawableAlpha(param0: number, param1: number): void;
			public setTheme(param0: number): void;
			public constructor(param0: android.content.Context);
			public setTurnScreenOn(param0: boolean): void;
			public startActivityForResult(param0: android.content.Intent, param1: number): void;
			public dismissKeyboardShortcutsHelper(): void;
			public enterPictureInPictureMode(param0: android.app.PictureInPictureParams): boolean;
			public onPrepareOptionsMenu(param0: android.view.Menu): boolean;
			public setTitle(param0: string): void;
			/** @deprecated */
			public setProgressBarIndeterminateVisibility(param0: boolean): void;
			public onCreatePanelMenu(param0: number, param1: android.view.Menu): boolean;
			public setFeatureDrawableResource(param0: number, param1: number): void;
			/** @deprecated */
			public onAttachFragment(param0: android.app.Fragment): void;
			public getTitleColor(): number;
			/** @deprecated */
			public startActivityFromFragment(param0: android.app.Fragment, param1: android.content.Intent, param2: number, param3: android.os.Bundle): void;
			public onPostCreate(param0: android.os.Bundle): void;
			public setContentTransitionManager(param0: android.transition.TransitionManager): void;
			public isImmersive(): boolean;
			/** @deprecated */
			public startActivityFromFragment(param0: android.app.Fragment, param1: android.content.Intent, param2: number): void;
			public onCreateView(param0: android.view.View, param1: string, param2: android.content.Context, param3: android.util.AttributeSet): android.view.View;
			public isVoiceInteractionRoot(): boolean;
			public getWindow(): android.view.Window;
			public stopLocalVoiceInteraction(): void;
			public moveTaskToBack(param0: boolean): boolean;
			/** @deprecated */
			public setProgress(param0: number): void;
			public onResume(): void;
			public onCreateView(param0: string, param1: android.content.Context, param2: android.util.AttributeSet): android.view.View;
			public isVoiceInteraction(): boolean;
			public constructor(param0: android.content.Context, param1: number);
			public onCreateContextMenu(param0: android.view.ContextMenu, param1: android.view.View, param2: android.view.ContextMenu.ContextMenuInfo): void;
			/** @deprecated */
			public setProgressBarIndeterminate(param0: boolean): void;
			public hasWindowFocus(): boolean;
			public dispatchTouchEvent(param0: android.view.MotionEvent): boolean;
			public isInMultiWindowMode(): boolean;
			public startIntentSenderFromChild(param0: android.app.Activity, param1: android.content.IntentSender, param2: number, param3: android.content.Intent, param4: number, param5: number, param6: number): void;
			public startActionMode(param0: android.view.ActionMode.Callback, param1: number): android.view.ActionMode;
			public onContentChanged(): void;
			public invalidateOptionsMenu(): void;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			/** @deprecated */
			public getFragmentManager(): android.app.FragmentManager;
			public startLocalVoiceInteraction(param0: android.os.Bundle): void;
			public startNextMatchingActivity(param0: android.content.Intent): boolean;
			public onGenericMotionEvent(param0: android.view.MotionEvent): boolean;
			public onProvideKeyboardShortcuts(param0: java.util.List<any>, param1: android.view.Menu, param2: number): void;
			public onPrepareNavigateUpTaskStack(param0: android.app.TaskStackBuilder): void;
			public getSystemService(param0: string): any;
			public onContextItemSelected(param0: android.view.MenuItem): boolean;
			public setFeatureDrawable(param0: number, param1: android.graphics.drawable.Drawable): void;
			public getContentScene(): android.transition.Scene;
			public setRequestedOrientation(param0: number): void;
			public openContextMenu(param0: android.view.View): void;
			public showAssist(param0: android.os.Bundle): boolean;
			public startActivities(param0: native.Array<android.content.Intent>, param1: android.os.Bundle): void;
			public recreate(): void;
			public setVrModeEnabled(param0: boolean, param1: android.content.ComponentName): void;
			public setTitle(param0: number): void;
			public getContentTransitionManager(): android.transition.TransitionManager;
			public dump(param0: string, param1: java.io.FileDescriptor, param2: java.io.PrintWriter, param3: native.Array<string>): void;
			public onContextMenuClosed(param0: android.view.Menu): void;
			public onSaveInstanceState(param0: android.os.Bundle): void;
			public onUserLeaveHint(): void;
			public stopLockTask(): void;
			public onAttachedToWindow(): void;
			public triggerSearch(param0: string, param1: android.os.Bundle): void;
			public onWindowAttributesChanged(param0: android.view.WindowManager.LayoutParams): void;
			/** @deprecated */
			public onPrepareDialog(param0: number, param1: android.app.Dialog, param2: android.os.Bundle): void;
		}
	}
}

declare module android {
	export module app {
		export class ActivityGroup extends android.app.Activity {
			public static class: java.lang.Class<android.app.ActivityGroup>;
			public onWindowStartingActionMode(param0: android.view.ActionMode.Callback): android.view.ActionMode;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public constructor(param0: boolean);
			public onCreatePanelMenu(param0: number, param1: android.view.Menu): boolean;
			public onWindowStartingActionMode(param0: android.view.ActionMode.Callback, param1: number): android.view.ActionMode;
			public onDestroy(): void;
			public onProvideKeyboardShortcuts(param0: java.util.List<any>, param1: android.view.Menu, param2: number): void;
			public onPanelClosed(param0: number, param1: android.view.Menu): void;
			public onSearchRequested(): boolean;
			public onTrimMemory(param0: number): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public onActionModeFinished(param0: android.view.ActionMode): void;
			public constructor(param0: android.content.Context, param1: android.content.res.Resources.Theme);
			public onPause(): void;
			public onCreatePanelView(param0: number): android.view.View;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public dispatchGenericMotionEvent(param0: android.view.MotionEvent): boolean;
			public onStop(): void;
			public onDetachedFromWindow(): void;
			public onActionModeStarted(param0: android.view.ActionMode): void;
			public onCreateView(param0: android.view.View, param1: string, param2: android.content.Context, param3: android.util.AttributeSet): android.view.View;
			public dispatchKeyShortcutEvent(param0: android.view.KeyEvent): boolean;
			public onMenuItemSelected(param0: number, param1: android.view.MenuItem): boolean;
			public onPointerCaptureChanged(param0: boolean): void;
			public onCreate(param0: android.os.Bundle, param1: any): void;
			public onMenuOpened(param0: number, param1: android.view.Menu): boolean;
			public onSaveInstanceState(param0: android.os.Bundle, param1: any): void;
			public onResume(): void;
			public onSearchRequested(param0: any): boolean;
			public constructor();
			public getCurrentActivity(): android.app.Activity;
			public onCreateView(param0: string, param1: android.content.Context, param2: android.util.AttributeSet): android.view.View;
			public constructor(param0: android.content.Context, param1: number);
			public getLocalActivityManager(): android.app.LocalActivityManager;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public onCreateContextMenu(param0: android.view.ContextMenu, param1: android.view.View, param2: android.view.ContextMenu.ContextMenuInfo): void;
			public dispatchTouchEvent(param0: android.view.MotionEvent): boolean;
			public dispatchTrackballEvent(param0: android.view.MotionEvent): boolean;
			public onSaveInstanceState(param0: android.os.Bundle): void;
			public constructor(param0: android.content.Context);
			public dispatchKeyEvent(param0: android.view.KeyEvent): boolean;
			public onPreparePanel(param0: number, param1: android.view.View, param2: android.view.Menu): boolean;
			public dispatchPopulateAccessibilityEvent(param0: android.view.accessibility.AccessibilityEvent): boolean;
			public onWindowFocusChanged(param0: boolean): void;
			public onAttachedToWindow(): void;
			public onCreate(param0: android.os.Bundle): void;
			public onWindowAttributesChanged(param0: android.view.WindowManager.LayoutParams): void;
			public onContentChanged(): void;
		}
	}
}

declare module android {
	export module app {
		export class ActivityManager extends java.lang.Object {
			public static class: java.lang.Class<android.app.ActivityManager>;
			public static ACTION_REPORT_HEAP_LIMIT: string;
			public static LOCK_TASK_MODE_LOCKED: number;
			public static LOCK_TASK_MODE_NONE: number;
			public static LOCK_TASK_MODE_PINNED: number;
			public static META_HOME_ALTERNATE: string;
			public static MOVE_TASK_NO_USER_ACTION: number;
			public static MOVE_TASK_WITH_HOME: number;
			public static RECENT_IGNORE_UNAVAILABLE: number;
			public static RECENT_WITH_EXCLUDED: number;
			public clearApplicationUserData(): boolean;
			public getMemoryClass(): number;
			public moveTaskToFront(param0: number, param1: number): void;
			/** @deprecated */
			public getRecentTasks(param0: number, param1: number): java.util.List<android.app.ActivityManager.RecentTaskInfo>;
			public setWatchHeapLimit(param0: number): void;
			public getAppTaskThumbnailSize(): any;
			public isBackgroundRestricted(): boolean;
			public clearWatchHeapLimit(): void;
			public getAppTasks(): java.util.List<android.app.ActivityManager.AppTask>;
			public getProcessMemoryInfo(param0: native.Array<number>): native.Array<android.os.Debug.MemoryInfo>;
			public getLargeMemoryClass(): number;
			public getRunningAppProcesses(): java.util.List<android.app.ActivityManager.RunningAppProcessInfo>;
			public getLauncherLargeIconDensity(): number;
			public dumpPackageState(param0: java.io.FileDescriptor, param1: string): void;
			/** @deprecated */
			public isInLockTaskMode(): boolean;
			/** @deprecated */
			public getRunningServices(param0: number): java.util.List<android.app.ActivityManager.RunningServiceInfo>;
			public static getMyMemoryState(param0: android.app.ActivityManager.RunningAppProcessInfo): void;
			public addAppTask(param0: android.app.Activity, param1: android.content.Intent, param2: android.app.ActivityManager.TaskDescription, param3: android.graphics.Bitmap): number;
			public getProcessesInErrorState(): java.util.List<android.app.ActivityManager.ProcessErrorStateInfo>;
			public killBackgroundProcesses(param0: string): void;
			public static isUserAMonkey(): boolean;
			public getRunningServiceControlPanel(param0: android.content.ComponentName): android.app.PendingIntent;
			public static isRunningInTestHarness(): boolean;
			public getLockTaskModeState(): number;
			/** @deprecated */
			public restartPackage(param0: string): void;
			public isLowRamDevice(): boolean;
			/** @deprecated */
			public getRunningTasks(param0: number): java.util.List<android.app.ActivityManager.RunningTaskInfo>;
			public getLauncherLargeIconSize(): number;
			public static setVrThread(param0: number): void;
			public getDeviceConfigurationInfo(): android.content.pm.ConfigurationInfo;
			public getMemoryInfo(param0: android.app.ActivityManager.MemoryInfo): void;
			public moveTaskToFront(param0: number, param1: number, param2: android.os.Bundle): void;
		}
		export module ActivityManager {
			export class AppTask extends java.lang.Object {
				public static class: java.lang.Class<android.app.ActivityManager.AppTask>;
				public finishAndRemoveTask(): void;
				public moveToFront(): void;
				public getTaskInfo(): android.app.ActivityManager.RecentTaskInfo;
				public setExcludeFromRecents(param0: boolean): void;
				public startActivity(param0: android.content.Context, param1: android.content.Intent, param2: android.os.Bundle): void;
			}
			export class MemoryInfo extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.app.ActivityManager.MemoryInfo>;
				public static CREATOR: android.os.Parcelable.Creator<android.app.ActivityManager.MemoryInfo>;
				public availMem: number;
				public lowMemory: boolean;
				public threshold: number;
				public totalMem: number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public readFromParcel(param0: android.os.Parcel): void;
				public constructor();
			}
			export class ProcessErrorStateInfo extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.app.ActivityManager.ProcessErrorStateInfo>;
				public static CRASHED: number;
				public static CREATOR: android.os.Parcelable.Creator<android.app.ActivityManager.ProcessErrorStateInfo>;
				public static NOT_RESPONDING: number;
				public static NO_ERROR: number;
				public condition: number;
				public crashData: native.Array<number>;
				public longMsg: string;
				public pid: number;
				public processName: string;
				public shortMsg: string;
				public stackTrace: string;
				public tag: string;
				public uid: number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public readFromParcel(param0: android.os.Parcel): void;
				public constructor();
			}
			export class RecentTaskInfo extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.app.ActivityManager.RecentTaskInfo>;
				public static CREATOR: android.os.Parcelable.Creator<android.app.ActivityManager.RecentTaskInfo>;
				public affiliatedTaskId: number;
				public baseActivity: android.content.ComponentName;
				public baseIntent: android.content.Intent;
				public description: string;
				public id: number;
				public numActivities: number;
				public origActivity: android.content.ComponentName;
				public persistentId: number;
				public taskDescription: android.app.ActivityManager.TaskDescription;
				public topActivity: android.content.ComponentName;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public readFromParcel(param0: android.os.Parcel): void;
				public constructor();
			}
			export class RunningAppProcessInfo extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.app.ActivityManager.RunningAppProcessInfo>;
				public static CREATOR: android.os.Parcelable.Creator<android.app.ActivityManager.RunningAppProcessInfo>;
				public static IMPORTANCE_BACKGROUND: number;
				public static IMPORTANCE_CACHED: number;
				public static IMPORTANCE_CANT_SAVE_STATE: number;
				public static IMPORTANCE_EMPTY: number;
				public static IMPORTANCE_FOREGROUND: number;
				public static IMPORTANCE_FOREGROUND_SERVICE: number;
				public static IMPORTANCE_GONE: number;
				public static IMPORTANCE_PERCEPTIBLE: number;
				public static IMPORTANCE_PERCEPTIBLE_PRE_26: number;
				public static IMPORTANCE_SERVICE: number;
				public static IMPORTANCE_TOP_SLEEPING: number;
				public static IMPORTANCE_TOP_SLEEPING_PRE_28: number;
				public static IMPORTANCE_VISIBLE: number;
				public static REASON_PROVIDER_IN_USE: number;
				public static REASON_SERVICE_IN_USE: number;
				public static REASON_UNKNOWN: number;
				public importance: number;
				public importanceReasonCode: number;
				public importanceReasonComponent: android.content.ComponentName;
				public importanceReasonPid: number;
				public lastTrimLevel: number;
				public lru: number;
				public pid: number;
				public pkgList: native.Array<string>;
				public processName: string;
				public uid: number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public readFromParcel(param0: android.os.Parcel): void;
				public constructor(param0: string, param1: number, param2: native.Array<string>);
				public constructor();
			}
			export class RunningServiceInfo extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.app.ActivityManager.RunningServiceInfo>;
				public static CREATOR: android.os.Parcelable.Creator<android.app.ActivityManager.RunningServiceInfo>;
				public static FLAG_FOREGROUND: number;
				public static FLAG_PERSISTENT_PROCESS: number;
				public static FLAG_STARTED: number;
				public static FLAG_SYSTEM_PROCESS: number;
				public activeSince: number;
				public clientCount: number;
				public clientLabel: number;
				public clientPackage: string;
				public crashCount: number;
				public flags: number;
				public foreground: boolean;
				public lastActivityTime: number;
				public pid: number;
				public process: string;
				public restarting: number;
				public service: android.content.ComponentName;
				public started: boolean;
				public uid: number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public readFromParcel(param0: android.os.Parcel): void;
				public constructor();
			}
			export class RunningTaskInfo extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.app.ActivityManager.RunningTaskInfo>;
				public static CREATOR: android.os.Parcelable.Creator<android.app.ActivityManager.RunningTaskInfo>;
				public baseActivity: android.content.ComponentName;
				public description: string;
				public id: number;
				public numActivities: number;
				public numRunning: number;
				public thumbnail: android.graphics.Bitmap;
				public topActivity: android.content.ComponentName;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public readFromParcel(param0: android.os.Parcel): void;
				public constructor();
			}
			export class TaskDescription extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.app.ActivityManager.TaskDescription>;
				public static CREATOR: android.os.Parcelable.Creator<android.app.ActivityManager.TaskDescription>;
				public getLabel(): string;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public constructor(param0: string, param1: number, param2: number);
				public getPrimaryColor(): number;
				public toString(): string;
				public constructor(param0: string);
				public getIcon(): android.graphics.Bitmap;
				public constructor();
				/** @deprecated */
				public constructor(param0: string, param1: android.graphics.Bitmap);
				public constructor(param0: string, param1: number);
				public describeContents(): number;
				public readFromParcel(param0: android.os.Parcel): void;
				public constructor(param0: android.app.ActivityManager.TaskDescription);
				/** @deprecated */
				public constructor(param0: string, param1: android.graphics.Bitmap, param2: number);
			}
		}
	}
}

declare module android {
	export module app {
		export class ActivityOptions extends java.lang.Object {
			public static class: java.lang.Class<android.app.ActivityOptions>;
			public static EXTRA_USAGE_TIME_REPORT: string;
			public static EXTRA_USAGE_TIME_REPORT_PACKAGES: string;
			public static makeSceneTransitionAnimation(param0: android.app.Activity, param1: android.view.View, param2: string): android.app.ActivityOptions;
			public update(param0: android.app.ActivityOptions): void;
			public requestUsageTimeReport(param0: android.app.PendingIntent): void;
			public static makeCustomAnimation(param0: android.content.Context, param1: number, param2: number): android.app.ActivityOptions;
			public static makeSceneTransitionAnimation(param0: android.app.Activity, param1: native.Array<android.util.Pair<android.view.View,string>>): android.app.ActivityOptions;
			public getLaunchDisplayId(): number;
			public setLaunchDisplayId(param0: number): android.app.ActivityOptions;
			public setLaunchBounds(param0: android.graphics.Rect): android.app.ActivityOptions;
			public static makeThumbnailScaleUpAnimation(param0: android.view.View, param1: android.graphics.Bitmap, param2: number, param3: number): android.app.ActivityOptions;
			public static makeTaskLaunchBehind(): android.app.ActivityOptions;
			public static makeBasic(): android.app.ActivityOptions;
			public setAppVerificationBundle(param0: android.os.Bundle): android.app.ActivityOptions;
			public toString(): string;
			public static makeClipRevealAnimation(param0: android.view.View, param1: number, param2: number, param3: number, param4: number): android.app.ActivityOptions;
			public getLaunchBounds(): android.graphics.Rect;
			public getLockTaskMode(): boolean;
			public toBundle(): android.os.Bundle;
			public static makeScaleUpAnimation(param0: android.view.View, param1: number, param2: number, param3: number, param4: number): android.app.ActivityOptions;
			public setLockTaskEnabled(param0: boolean): android.app.ActivityOptions;
		}
	}
}

declare module android {
	export module app {
		export class AlarmManager extends java.lang.Object {
			public static class: java.lang.Class<android.app.AlarmManager>;
			public static ACTION_NEXT_ALARM_CLOCK_CHANGED: string;
			public static ELAPSED_REALTIME: number;
			public static ELAPSED_REALTIME_WAKEUP: number;
			public static INTERVAL_DAY: number;
			public static INTERVAL_FIFTEEN_MINUTES: number;
			public static INTERVAL_HALF_DAY: number;
			public static INTERVAL_HALF_HOUR: number;
			public static INTERVAL_HOUR: number;
			public static RTC: number;
			public static RTC_WAKEUP: number;
			public set(param0: number, param1: number, param2: string, param3: android.app.AlarmManager.OnAlarmListener, param4: android.os.Handler): void;
			public cancel(param0: android.app.AlarmManager.OnAlarmListener): void;
			public setExactAndAllowWhileIdle(param0: number, param1: number, param2: android.app.PendingIntent): void;
			public setAlarmClock(param0: android.app.AlarmManager.AlarmClockInfo, param1: android.app.PendingIntent): void;
			public set(param0: number, param1: number, param2: android.app.PendingIntent): void;
			public cancel(param0: android.app.PendingIntent): void;
			public setWindow(param0: number, param1: number, param2: number, param3: android.app.PendingIntent): void;
			public setWindow(param0: number, param1: number, param2: number, param3: string, param4: android.app.AlarmManager.OnAlarmListener, param5: android.os.Handler): void;
			public setRepeating(param0: number, param1: number, param2: number, param3: android.app.PendingIntent): void;
			public setInexactRepeating(param0: number, param1: number, param2: number, param3: android.app.PendingIntent): void;
			public setTimeZone(param0: string): void;
			public setTime(param0: number): void;
			public setExact(param0: number, param1: number, param2: string, param3: android.app.AlarmManager.OnAlarmListener, param4: android.os.Handler): void;
			public setExact(param0: number, param1: number, param2: android.app.PendingIntent): void;
			public getNextAlarmClock(): android.app.AlarmManager.AlarmClockInfo;
			public setAndAllowWhileIdle(param0: number, param1: number, param2: android.app.PendingIntent): void;
		}
		export module AlarmManager {
			export class AlarmClockInfo extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.app.AlarmManager.AlarmClockInfo>;
				public static CREATOR: android.os.Parcelable.Creator<android.app.AlarmManager.AlarmClockInfo>;
				public getTriggerTime(): number;
				public getShowIntent(): android.app.PendingIntent;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public constructor(param0: number, param1: android.app.PendingIntent);
			}
			export class OnAlarmListener extends java.lang.Object {
				public static class: java.lang.Class<android.app.AlarmManager.OnAlarmListener>;
				/**
				 * Constructs a new instance of the android.app.AlarmManager$OnAlarmListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onAlarm(): void;
				});
				public constructor();
				public onAlarm(): void;
			}
		}
	}
}

declare module android {
	export module app {
		export class AlertDialog extends android.app.Dialog implements android.content.DialogInterface {
			public static class: java.lang.Class<android.app.AlertDialog>;
			public static THEME_DEVICE_DEFAULT_DARK: number;
			public static THEME_DEVICE_DEFAULT_LIGHT: number;
			public static THEME_HOLO_DARK: number;
			public static THEME_HOLO_LIGHT: number;
			public static THEME_TRADITIONAL: number;
			public getButton(param0: number): android.widget.Button;
			public setTitle(param0: string): void;
			public onCreatePanelMenu(param0: number, param1: android.view.Menu): boolean;
			public cancel(): void;
			public onSearchRequested(): boolean;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public onCreatePanelView(param0: number): android.view.View;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public dispatchGenericMotionEvent(param0: android.view.MotionEvent): boolean;
			public onDetachedFromWindow(): void;
			public onPointerCaptureChanged(param0: boolean): void;
			/** @deprecated */
			public setButton3(param0: string, param1: android.content.DialogInterface.OnClickListener): void;
			/** @deprecated */
			public setButton2(param0: string, param1: android.os.Message): void;
			public constructor(param0: android.content.Context, param1: number);
			/** @deprecated */
			public setButton(param0: string, param1: android.os.Message): void;
			public setMessage(param0: string): void;
			public onCreateContextMenu(param0: android.view.ContextMenu, param1: android.view.View, param2: android.view.ContextMenu.ContextMenuInfo): void;
			public dispatchTouchEvent(param0: android.view.MotionEvent): boolean;
			public onPreparePanel(param0: number, param1: android.view.View, param2: android.view.Menu): boolean;
			/** @deprecated */
			public setButton2(param0: string, param1: android.content.DialogInterface.OnClickListener): void;
			public onWindowFocusChanged(param0: boolean): void;
			public onCreate(param0: android.os.Bundle): void;
			public setIconAttribute(param0: number): void;
			public onContentChanged(): void;
			public onWindowStartingActionMode(param0: android.view.ActionMode.Callback): android.view.ActionMode;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public constructor(param0: android.content.Context, param1: boolean, param2: android.content.DialogInterface.OnCancelListener);
			public onWindowStartingActionMode(param0: android.view.ActionMode.Callback, param1: number): android.view.ActionMode;
			public onProvideKeyboardShortcuts(param0: java.util.List<any>, param1: android.view.Menu, param2: number): void;
			public onPanelClosed(param0: number, param1: android.view.Menu): void;
			public setCustomTitle(param0: android.view.View): void;
			public setInverseBackgroundForced(param0: boolean): void;
			public setView(param0: android.view.View): void;
			public setButton(param0: number, param1: string, param2: android.content.DialogInterface.OnClickListener): void;
			public onActionModeFinished(param0: android.view.ActionMode): void;
			public onActionModeStarted(param0: android.view.ActionMode): void;
			public dispatchKeyShortcutEvent(param0: android.view.KeyEvent): boolean;
			public onMenuItemSelected(param0: number, param1: android.view.MenuItem): boolean;
			public dismiss(): void;
			public onMenuOpened(param0: number, param1: android.view.Menu): boolean;
			public setIcon(param0: number): void;
			public onSearchRequested(param0: any): boolean;
			public setTitle(param0: number): void;
			/** @deprecated */
			public setButton3(param0: string, param1: android.os.Message): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			/** @deprecated */
			public setButton(param0: string, param1: android.content.DialogInterface.OnClickListener): void;
			public dispatchTrackballEvent(param0: android.view.MotionEvent): boolean;
			public setView(param0: android.view.View, param1: number, param2: number, param3: number, param4: number): void;
			public constructor(param0: android.content.Context);
			public setButton(param0: number, param1: string, param2: android.os.Message): void;
			public dispatchKeyEvent(param0: android.view.KeyEvent): boolean;
			public getListView(): android.widget.ListView;
			public dispatchPopulateAccessibilityEvent(param0: android.view.accessibility.AccessibilityEvent): boolean;
			public onAttachedToWindow(): void;
			public setIcon(param0: android.graphics.drawable.Drawable): void;
			public onWindowAttributesChanged(param0: android.view.WindowManager.LayoutParams): void;
		}
		export module AlertDialog {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.app.AlertDialog.Builder>;
				public setTitle(param0: number): android.app.AlertDialog.Builder;
				public setMessage(param0: number): android.app.AlertDialog.Builder;
				public setTitle(param0: string): android.app.AlertDialog.Builder;
				/** @deprecated */
				public setInverseBackgroundForced(param0: boolean): android.app.AlertDialog.Builder;
				public setNeutralButton(param0: number, param1: android.content.DialogInterface.OnClickListener): android.app.AlertDialog.Builder;
				public setAdapter(param0: android.widget.ListAdapter, param1: android.content.DialogInterface.OnClickListener): android.app.AlertDialog.Builder;
				public setSingleChoiceItems(param0: number, param1: number, param2: android.content.DialogInterface.OnClickListener): android.app.AlertDialog.Builder;
				public setMultiChoiceItems(param0: native.Array<string>, param1: native.Array<boolean>, param2: android.content.DialogInterface.OnMultiChoiceClickListener): android.app.AlertDialog.Builder;
				public setOnCancelListener(param0: android.content.DialogInterface.OnCancelListener): android.app.AlertDialog.Builder;
				public setIconAttribute(param0: number): android.app.AlertDialog.Builder;
				public setIcon(param0: number): android.app.AlertDialog.Builder;
				public setOnDismissListener(param0: android.content.DialogInterface.OnDismissListener): android.app.AlertDialog.Builder;
				public show(): android.app.AlertDialog;
				public setPositiveButton(param0: string, param1: android.content.DialogInterface.OnClickListener): android.app.AlertDialog.Builder;
				public create(): android.app.AlertDialog;
				public setItems(param0: number, param1: android.content.DialogInterface.OnClickListener): android.app.AlertDialog.Builder;
				public setNegativeButton(param0: number, param1: android.content.DialogInterface.OnClickListener): android.app.AlertDialog.Builder;
				public setNeutralButton(param0: string, param1: android.content.DialogInterface.OnClickListener): android.app.AlertDialog.Builder;
				public setOnItemSelectedListener(param0: android.widget.AdapterView.OnItemSelectedListener): android.app.AlertDialog.Builder;
				public setView(param0: android.view.View): android.app.AlertDialog.Builder;
				public constructor(param0: android.content.Context, param1: number);
				public setCursor(param0: android.database.Cursor, param1: android.content.DialogInterface.OnClickListener, param2: string): android.app.AlertDialog.Builder;
				public setMultiChoiceItems(param0: number, param1: native.Array<boolean>, param2: android.content.DialogInterface.OnMultiChoiceClickListener): android.app.AlertDialog.Builder;
				public setView(param0: number): android.app.AlertDialog.Builder;
				public setOnKeyListener(param0: android.content.DialogInterface.OnKeyListener): android.app.AlertDialog.Builder;
				public setSingleChoiceItems(param0: native.Array<string>, param1: number, param2: android.content.DialogInterface.OnClickListener): android.app.AlertDialog.Builder;
				public setCancelable(param0: boolean): android.app.AlertDialog.Builder;
				public setItems(param0: native.Array<string>, param1: android.content.DialogInterface.OnClickListener): android.app.AlertDialog.Builder;
				public setNegativeButton(param0: string, param1: android.content.DialogInterface.OnClickListener): android.app.AlertDialog.Builder;
				public constructor(param0: android.content.Context);
				public setCustomTitle(param0: android.view.View): android.app.AlertDialog.Builder;
				public setSingleChoiceItems(param0: android.database.Cursor, param1: number, param2: string, param3: android.content.DialogInterface.OnClickListener): android.app.AlertDialog.Builder;
				public setPositiveButton(param0: number, param1: android.content.DialogInterface.OnClickListener): android.app.AlertDialog.Builder;
				public getContext(): android.content.Context;
				public setSingleChoiceItems(param0: android.widget.ListAdapter, param1: number, param2: android.content.DialogInterface.OnClickListener): android.app.AlertDialog.Builder;
				public setMultiChoiceItems(param0: android.database.Cursor, param1: string, param2: string, param3: android.content.DialogInterface.OnMultiChoiceClickListener): android.app.AlertDialog.Builder;
				public setMessage(param0: string): android.app.AlertDialog.Builder;
				public setIcon(param0: android.graphics.drawable.Drawable): android.app.AlertDialog.Builder;
			}
		}
	}
}

declare module android {
	export module app {
		export class AliasActivity extends android.app.Activity {
			public static class: java.lang.Class<android.app.AliasActivity>;
			public onWindowStartingActionMode(param0: android.view.ActionMode.Callback): android.view.ActionMode;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public onCreatePanelMenu(param0: number, param1: android.view.Menu): boolean;
			public onWindowStartingActionMode(param0: android.view.ActionMode.Callback, param1: number): android.view.ActionMode;
			public onProvideKeyboardShortcuts(param0: java.util.List<any>, param1: android.view.Menu, param2: number): void;
			public onPanelClosed(param0: number, param1: android.view.Menu): void;
			public onSearchRequested(): boolean;
			public onTrimMemory(param0: number): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public onActionModeFinished(param0: android.view.ActionMode): void;
			public constructor(param0: android.content.Context, param1: android.content.res.Resources.Theme);
			public onCreatePanelView(param0: number): android.view.View;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public dispatchGenericMotionEvent(param0: android.view.MotionEvent): boolean;
			public onDetachedFromWindow(): void;
			public onActionModeStarted(param0: android.view.ActionMode): void;
			public onCreateView(param0: android.view.View, param1: string, param2: android.content.Context, param3: android.util.AttributeSet): android.view.View;
			public dispatchKeyShortcutEvent(param0: android.view.KeyEvent): boolean;
			public onMenuItemSelected(param0: number, param1: android.view.MenuItem): boolean;
			public onPointerCaptureChanged(param0: boolean): void;
			public onCreate(param0: android.os.Bundle, param1: any): void;
			public onMenuOpened(param0: number, param1: android.view.Menu): boolean;
			public onSearchRequested(param0: any): boolean;
			public constructor();
			public onCreateView(param0: string, param1: android.content.Context, param2: android.util.AttributeSet): android.view.View;
			public constructor(param0: android.content.Context, param1: number);
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public onCreateContextMenu(param0: android.view.ContextMenu, param1: android.view.View, param2: android.view.ContextMenu.ContextMenuInfo): void;
			public dispatchTouchEvent(param0: android.view.MotionEvent): boolean;
			public dispatchTrackballEvent(param0: android.view.MotionEvent): boolean;
			public constructor(param0: android.content.Context);
			public dispatchKeyEvent(param0: android.view.KeyEvent): boolean;
			public onPreparePanel(param0: number, param1: android.view.View, param2: android.view.Menu): boolean;
			public dispatchPopulateAccessibilityEvent(param0: android.view.accessibility.AccessibilityEvent): boolean;
			public onWindowFocusChanged(param0: boolean): void;
			public onAttachedToWindow(): void;
			public onCreate(param0: android.os.Bundle): void;
			public onWindowAttributesChanged(param0: android.view.WindowManager.LayoutParams): void;
			public onContentChanged(): void;
		}
	}
}

declare module android {
	export module app {
		export class AppComponentFactory extends java.lang.Object {
			public static class: java.lang.Class<android.app.AppComponentFactory>;
			public instantiateReceiver(param0: java.lang.ClassLoader, param1: string, param2: android.content.Intent): android.content.BroadcastReceiver;
			public instantiateApplication(param0: java.lang.ClassLoader, param1: string): android.app.Application;
			public instantiateProvider(param0: java.lang.ClassLoader, param1: string): android.content.ContentProvider;
			public instantiateService(param0: java.lang.ClassLoader, param1: string, param2: android.content.Intent): android.app.Service;
			public constructor();
			public instantiateActivity(param0: java.lang.ClassLoader, param1: string, param2: android.content.Intent): android.app.Activity;
		}
	}
}

declare module android {
	export module app {
		export class AppOpsManager extends java.lang.Object {
			public static class: java.lang.Class<android.app.AppOpsManager>;
			public static MODE_ALLOWED: number;
			public static MODE_DEFAULT: number;
			public static MODE_ERRORED: number;
			public static MODE_IGNORED: number;
			public static OPSTR_ADD_VOICEMAIL: string;
			public static OPSTR_ANSWER_PHONE_CALLS: string;
			public static OPSTR_BODY_SENSORS: string;
			public static OPSTR_CALL_PHONE: string;
			public static OPSTR_CAMERA: string;
			public static OPSTR_COARSE_LOCATION: string;
			public static OPSTR_FINE_LOCATION: string;
			public static OPSTR_GET_USAGE_STATS: string;
			public static OPSTR_MOCK_LOCATION: string;
			public static OPSTR_MONITOR_HIGH_POWER_LOCATION: string;
			public static OPSTR_MONITOR_LOCATION: string;
			public static OPSTR_PICTURE_IN_PICTURE: string;
			public static OPSTR_PROCESS_OUTGOING_CALLS: string;
			public static OPSTR_READ_CALENDAR: string;
			public static OPSTR_READ_CALL_LOG: string;
			public static OPSTR_READ_CELL_BROADCASTS: string;
			public static OPSTR_READ_CONTACTS: string;
			public static OPSTR_READ_EXTERNAL_STORAGE: string;
			public static OPSTR_READ_PHONE_NUMBERS: string;
			public static OPSTR_READ_PHONE_STATE: string;
			public static OPSTR_READ_SMS: string;
			public static OPSTR_RECEIVE_MMS: string;
			public static OPSTR_RECEIVE_SMS: string;
			public static OPSTR_RECEIVE_WAP_PUSH: string;
			public static OPSTR_RECORD_AUDIO: string;
			public static OPSTR_SEND_SMS: string;
			public static OPSTR_SYSTEM_ALERT_WINDOW: string;
			public static OPSTR_USE_FINGERPRINT: string;
			public static OPSTR_USE_SIP: string;
			public static OPSTR_WRITE_CALENDAR: string;
			public static OPSTR_WRITE_CALL_LOG: string;
			public static OPSTR_WRITE_CONTACTS: string;
			public static OPSTR_WRITE_EXTERNAL_STORAGE: string;
			public static OPSTR_WRITE_SETTINGS: string;
			public stopWatchingMode(param0: android.app.AppOpsManager.OnOpChangedListener): void;
			public checkOp(param0: string, param1: number, param2: string): number;
			public noteProxyOpNoThrow(param0: string, param1: string): number;
			public noteProxyOp(param0: string, param1: string): number;
			public finishOp(param0: string, param1: number, param2: string): void;
			public noteOp(param0: string, param1: number, param2: string): number;
			public startWatchingMode(param0: string, param1: string, param2: android.app.AppOpsManager.OnOpChangedListener): void;
			public checkPackage(param0: number, param1: string): void;
			public checkOpNoThrow(param0: string, param1: number, param2: string): number;
			public startOpNoThrow(param0: string, param1: number, param2: string): number;
			public static permissionToOp(param0: string): string;
			public startOp(param0: string, param1: number, param2: string): number;
			public noteOpNoThrow(param0: string, param1: number, param2: string): number;
		}
		export module AppOpsManager {
			export class OnOpChangedListener extends java.lang.Object {
				public static class: java.lang.Class<android.app.AppOpsManager.OnOpChangedListener>;
				/**
				 * Constructs a new instance of the android.app.AppOpsManager$OnOpChangedListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onOpChanged(param0: string, param1: string): void;
				});
				public constructor();
				public onOpChanged(param0: string, param1: string): void;
			}
		}
	}
}

declare module android {
	export module app {
		export class Application extends android.content.ContextWrapper implements android.content.ComponentCallbacks2 {
			public static class: java.lang.Class<android.app.Application>;
			public onConfigurationChanged(param0: android.content.res.Configuration): void;
			public registerOnProvideAssistDataListener(param0: android.app.Application.OnProvideAssistDataListener): void;
			public onTerminate(): void;
			public onCreate(): void;
			public constructor();
			public unregisterOnProvideAssistDataListener(param0: android.app.Application.OnProvideAssistDataListener): void;
			public unregisterComponentCallbacks(param0: android.content.ComponentCallbacks): void;
			public registerActivityLifecycleCallbacks(param0: android.app.Application.ActivityLifecycleCallbacks): void;
			public onLowMemory(): void;
			public unregisterActivityLifecycleCallbacks(param0: android.app.Application.ActivityLifecycleCallbacks): void;
			public registerComponentCallbacks(param0: android.content.ComponentCallbacks): void;
			public onTrimMemory(param0: number): void;
			public constructor(param0: android.content.Context);
			public static getProcessName(): string;
		}
		export module Application {
			export class ActivityLifecycleCallbacks extends java.lang.Object {
				public static class: java.lang.Class<android.app.Application.ActivityLifecycleCallbacks>;
				/**
				 * Constructs a new instance of the android.app.Application$ActivityLifecycleCallbacks interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onActivityCreated(param0: android.app.Activity, param1: android.os.Bundle): void;
					onActivityStarted(param0: android.app.Activity): void;
					onActivityResumed(param0: android.app.Activity): void;
					onActivityPaused(param0: android.app.Activity): void;
					onActivityStopped(param0: android.app.Activity): void;
					onActivitySaveInstanceState(param0: android.app.Activity, param1: android.os.Bundle): void;
					onActivityDestroyed(param0: android.app.Activity): void;
				});
				public constructor();
				public onActivityStopped(param0: android.app.Activity): void;
				public onActivityPaused(param0: android.app.Activity): void;
				public onActivityStarted(param0: android.app.Activity): void;
				public onActivityResumed(param0: android.app.Activity): void;
				public onActivityDestroyed(param0: android.app.Activity): void;
				public onActivityCreated(param0: android.app.Activity, param1: android.os.Bundle): void;
				public onActivitySaveInstanceState(param0: android.app.Activity, param1: android.os.Bundle): void;
			}
			export class OnProvideAssistDataListener extends java.lang.Object {
				public static class: java.lang.Class<android.app.Application.OnProvideAssistDataListener>;
				/**
				 * Constructs a new instance of the android.app.Application$OnProvideAssistDataListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onProvideAssistData(param0: android.app.Activity, param1: android.os.Bundle): void;
				});
				public constructor();
				public onProvideAssistData(param0: android.app.Activity, param1: android.os.Bundle): void;
			}
		}
	}
}

declare module android {
	export module app {
		export class ApplicationErrorReport extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.app.ApplicationErrorReport>;
			public static CREATOR: android.os.Parcelable.Creator<android.app.ApplicationErrorReport>;
			public static TYPE_ANR: number;
			public static TYPE_BATTERY: number;
			public static TYPE_CRASH: number;
			public static TYPE_NONE: number;
			public static TYPE_RUNNING_SERVICE: number;
			public anrInfo: android.app.ApplicationErrorReport.AnrInfo;
			public batteryInfo: android.app.ApplicationErrorReport.BatteryInfo;
			public crashInfo: android.app.ApplicationErrorReport.CrashInfo;
			public installerPackageName: string;
			public packageName: string;
			public processName: string;
			public runningServiceInfo: android.app.ApplicationErrorReport.RunningServiceInfo;
			public systemApp: boolean;
			public time: number;
			public type: number;
			public static getErrorReportReceiver(param0: android.content.Context, param1: string, param2: number): android.content.ComponentName;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public constructor();
			public dump(param0: android.util.Printer, param1: string): void;
			public readFromParcel(param0: android.os.Parcel): void;
		}
		export module ApplicationErrorReport {
			export class AnrInfo extends java.lang.Object {
				public static class: java.lang.Class<android.app.ApplicationErrorReport.AnrInfo>;
				public activity: string;
				public cause: string;
				public info: string;
				public constructor(param0: android.os.Parcel);
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public dump(param0: android.util.Printer, param1: string): void;
				public constructor();
			}
			export class BatteryInfo extends java.lang.Object {
				public static class: java.lang.Class<android.app.ApplicationErrorReport.BatteryInfo>;
				public checkinDetails: string;
				public durationMicros: number;
				public usageDetails: string;
				public usagePercent: number;
				public constructor(param0: android.os.Parcel);
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public dump(param0: android.util.Printer, param1: string): void;
				public constructor();
			}
			export class CrashInfo extends java.lang.Object {
				public static class: java.lang.Class<android.app.ApplicationErrorReport.CrashInfo>;
				public exceptionClassName: string;
				public exceptionMessage: string;
				public stackTrace: string;
				public throwClassName: string;
				public throwFileName: string;
				public throwLineNumber: number;
				public throwMethodName: string;
				public constructor(param0: android.os.Parcel);
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public dump(param0: android.util.Printer, param1: string): void;
				public constructor(param0: java.lang.Throwable);
				public constructor();
			}
			export class RunningServiceInfo extends java.lang.Object {
				public static class: java.lang.Class<android.app.ApplicationErrorReport.RunningServiceInfo>;
				public durationMillis: number;
				public serviceDetails: string;
				public constructor(param0: android.os.Parcel);
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public dump(param0: android.util.Printer, param1: string): void;
				public constructor();
			}
		}
	}
}

declare module android {
	export module app {
		export class AuthenticationRequiredException extends java.lang.SecurityException implements android.os.Parcelable {
			public static class: java.lang.Class<android.app.AuthenticationRequiredException>;
			public static CREATOR: android.os.Parcelable.Creator<android.app.AuthenticationRequiredException>;
			public constructor(param0: java.lang.Throwable, param1: android.app.PendingIntent);
			public constructor(param0: java.lang.Throwable);
			public getUserAction(): android.app.PendingIntent;
			public constructor(param0: string, param1: java.lang.Throwable);
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module android {
	export module app {
		export class AutomaticZenRule extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.app.AutomaticZenRule>;
			public static CREATOR: android.os.Parcelable.Creator<android.app.AutomaticZenRule>;
			public equals(param0: any): boolean;
			public setConditionId(param0: android.net.Uri): void;
			public getCreationTime(): number;
			public getOwner(): android.content.ComponentName;
			public getConditionId(): android.net.Uri;
			public isEnabled(): boolean;
			public constructor(param0: string, param1: android.content.ComponentName, param2: android.net.Uri, param3: number, param4: boolean);
			public toString(): string;
			public getName(): string;
			public constructor(param0: android.os.Parcel);
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public setInterruptionFilter(param0: number): void;
			public getInterruptionFilter(): number;
			public setEnabled(param0: boolean): void;
			public setName(param0: string): void;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module app {
		export class DatePickerDialog extends android.app.AlertDialog implements android.content.DialogInterface.OnClickListener, android.widget.DatePicker.OnDateChangedListener {
			public static class: java.lang.Class<android.app.DatePickerDialog>;
			public onWindowStartingActionMode(param0: android.view.ActionMode.Callback): android.view.ActionMode;
			public onClick(param0: android.content.DialogInterface, param1: number): void;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public updateDate(param0: number, param1: number, param2: number): void;
			public onCreatePanelMenu(param0: number, param1: android.view.Menu): boolean;
			public constructor(param0: android.content.Context, param1: boolean, param2: android.content.DialogInterface.OnCancelListener);
			public setOnDateSetListener(param0: android.app.DatePickerDialog.OnDateSetListener): void;
			public onWindowStartingActionMode(param0: android.view.ActionMode.Callback, param1: number): android.view.ActionMode;
			public cancel(): void;
			public onDateChanged(param0: android.widget.DatePicker, param1: number, param2: number, param3: number): void;
			public onProvideKeyboardShortcuts(param0: java.util.List<any>, param1: android.view.Menu, param2: number): void;
			public onPanelClosed(param0: number, param1: android.view.Menu): void;
			public onSearchRequested(): boolean;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public onActionModeFinished(param0: android.view.ActionMode): void;
			public constructor(param0: android.content.Context, param1: android.app.DatePickerDialog.OnDateSetListener, param2: number, param3: number, param4: number);
			public onCreatePanelView(param0: number): android.view.View;
			public onSaveInstanceState(): android.os.Bundle;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public dispatchGenericMotionEvent(param0: android.view.MotionEvent): boolean;
			public onDetachedFromWindow(): void;
			public onActionModeStarted(param0: android.view.ActionMode): void;
			public dispatchKeyShortcutEvent(param0: android.view.KeyEvent): boolean;
			public onMenuItemSelected(param0: number, param1: android.view.MenuItem): boolean;
			public onPointerCaptureChanged(param0: boolean): void;
			public getDatePicker(): android.widget.DatePicker;
			public dismiss(): void;
			public onMenuOpened(param0: number, param1: android.view.Menu): boolean;
			public onSearchRequested(param0: any): boolean;
			public onRestoreInstanceState(param0: android.os.Bundle): void;
			public constructor(param0: android.content.Context, param1: number);
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public constructor(param0: android.content.Context, param1: number, param2: android.app.DatePickerDialog.OnDateSetListener, param3: number, param4: number, param5: number);
			public onCreateContextMenu(param0: android.view.ContextMenu, param1: android.view.View, param2: android.view.ContextMenu.ContextMenuInfo): void;
			public dispatchTouchEvent(param0: android.view.MotionEvent): boolean;
			public dispatchTrackballEvent(param0: android.view.MotionEvent): boolean;
			public constructor(param0: android.content.Context);
			public dispatchKeyEvent(param0: android.view.KeyEvent): boolean;
			public onPreparePanel(param0: number, param1: android.view.View, param2: android.view.Menu): boolean;
			public dispatchPopulateAccessibilityEvent(param0: android.view.accessibility.AccessibilityEvent): boolean;
			public onWindowFocusChanged(param0: boolean): void;
			public onAttachedToWindow(): void;
			public onWindowAttributesChanged(param0: android.view.WindowManager.LayoutParams): void;
			public onContentChanged(): void;
		}
		export module DatePickerDialog {
			export class OnDateSetListener extends java.lang.Object {
				public static class: java.lang.Class<android.app.DatePickerDialog.OnDateSetListener>;
				/**
				 * Constructs a new instance of the android.app.DatePickerDialog$OnDateSetListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onDateSet(param0: android.widget.DatePicker, param1: number, param2: number, param3: number): void;
				});
				public constructor();
				public onDateSet(param0: android.widget.DatePicker, param1: number, param2: number, param3: number): void;
			}
		}
	}
}

declare module android {
	export module app {
		export class Dialog extends java.lang.Object implements android.content.DialogInterface, android.view.Window.Callback, android.view.KeyEvent.Callback, android.view.View.OnCreateContextMenuListener {
			public static class: java.lang.Class<android.app.Dialog>;
			public setTitle(param0: string): void;
			public onPrepareOptionsMenu(param0: android.view.Menu): boolean;
			public onStart(): void;
			public onCreatePanelMenu(param0: number, param1: android.view.Menu): boolean;
			public setFeatureDrawableResource(param0: number, param1: number): void;
			public requireViewById(param0: number): android.view.View;
			public getLayoutInflater(): android.view.LayoutInflater;
			public cancel(): void;
			public findViewById(param0: number): android.view.View;
			public setContentView(param0: android.view.View): void;
			public onSearchRequested(): boolean;
			public setDismissMessage(param0: android.os.Message): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public setFeatureDrawableUri(param0: number, param1: android.net.Uri): void;
			public hide(): void;
			public getContext(): android.content.Context;
			public onCreatePanelView(param0: number): android.view.View;
			public setCancelMessage(param0: android.os.Message): void;
			public isShowing(): boolean;
			public onSaveInstanceState(): android.os.Bundle;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public dispatchGenericMotionEvent(param0: android.view.MotionEvent): boolean;
			public setContentView(param0: number): void;
			public onKeyShortcut(param0: number, param1: android.view.KeyEvent): boolean;
			public onDetachedFromWindow(): void;
			public onPointerCaptureChanged(param0: boolean): void;
			public getWindow(): android.view.Window;
			public setOnKeyListener(param0: android.content.DialogInterface.OnKeyListener): void;
			public getSearchEvent(): any;
			public getVolumeControlStream(): number;
			public takeKeyEvents(param0: boolean): void;
			public onRestoreInstanceState(param0: android.os.Bundle): void;
			public constructor(param0: android.content.Context, param1: number);
			public requestWindowFeature(param0: number): boolean;
			public onTrackballEvent(param0: android.view.MotionEvent): boolean;
			public onCreateContextMenu(param0: android.view.ContextMenu, param1: android.view.View, param2: android.view.ContextMenu.ContextMenuInfo): void;
			public getCurrentFocus(): android.view.View;
			public dispatchTouchEvent(param0: android.view.MotionEvent): boolean;
			public closeOptionsMenu(): void;
			public setOnShowListener(param0: android.content.DialogInterface.OnShowListener): void;
			public onPreparePanel(param0: number, param1: android.view.View, param2: android.view.Menu): boolean;
			public onWindowFocusChanged(param0: boolean): void;
			public onCreate(param0: android.os.Bundle): void;
			public onContentChanged(): void;
			public invalidateOptionsMenu(): void;
			public show(): void;
			public onWindowStartingActionMode(param0: android.view.ActionMode.Callback): android.view.ActionMode;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public setCanceledOnTouchOutside(param0: boolean): void;
			public constructor(param0: android.content.Context, param1: boolean, param2: android.content.DialogInterface.OnCancelListener);
			public onWindowStartingActionMode(param0: android.view.ActionMode.Callback, param1: number): android.view.ActionMode;
			public setVolumeControlStream(param0: number): void;
			public onGenericMotionEvent(param0: android.view.MotionEvent): boolean;
			public onProvideKeyboardShortcuts(param0: java.util.List<any>, param1: android.view.Menu, param2: number): void;
			public getActionBar(): android.app.ActionBar;
			public onPanelClosed(param0: number, param1: android.view.Menu): void;
			public openOptionsMenu(): void;
			public registerForContextMenu(param0: android.view.View): void;
			public unregisterForContextMenu(param0: android.view.View): void;
			public setOnDismissListener(param0: android.content.DialogInterface.OnDismissListener): void;
			public onContextItemSelected(param0: android.view.MenuItem): boolean;
			public setFeatureDrawable(param0: number, param1: android.graphics.drawable.Drawable): void;
			public onCreateOptionsMenu(param0: android.view.Menu): boolean;
			public onBackPressed(): void;
			public onActionModeFinished(param0: android.view.ActionMode): void;
			public onOptionsMenuClosed(param0: android.view.Menu): void;
			public openContextMenu(param0: android.view.View): void;
			public getOwnerActivity(): android.app.Activity;
			public onOptionsItemSelected(param0: android.view.MenuItem): boolean;
			public onStop(): void;
			public onActionModeStarted(param0: android.view.ActionMode): void;
			public dispatchKeyShortcutEvent(param0: android.view.KeyEvent): boolean;
			public onMenuItemSelected(param0: number, param1: android.view.MenuItem): boolean;
			public dismiss(): void;
			public onMenuOpened(param0: number, param1: android.view.Menu): boolean;
			public create(): void;
			public setOnCancelListener(param0: android.content.DialogInterface.OnCancelListener): void;
			public addContentView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public onSearchRequested(param0: any): boolean;
			public setTitle(param0: number): void;
			public onTouchEvent(param0: android.view.MotionEvent): boolean;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public setContentView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public dispatchTrackballEvent(param0: android.view.MotionEvent): boolean;
			public setCancelable(param0: boolean): void;
			public setOwnerActivity(param0: android.app.Activity): void;
			public onContextMenuClosed(param0: android.view.Menu): void;
			public setFeatureDrawableAlpha(param0: number, param1: number): void;
			public constructor(param0: android.content.Context);
			public dispatchKeyEvent(param0: android.view.KeyEvent): boolean;
			public dispatchPopulateAccessibilityEvent(param0: android.view.accessibility.AccessibilityEvent): boolean;
			public onAttachedToWindow(): void;
			public onWindowAttributesChanged(param0: android.view.WindowManager.LayoutParams): void;
		}
	}
}

declare module android {
	export module app {
		export class DialogFragment extends android.app.Fragment implements android.content.DialogInterface.OnCancelListener, android.content.DialogInterface.OnDismissListener {
			public static class: java.lang.Class<android.app.DialogFragment>;
			public static STYLE_NORMAL: number;
			public static STYLE_NO_FRAME: number;
			public static STYLE_NO_INPUT: number;
			public static STYLE_NO_TITLE: number;
			public getShowsDialog(): boolean;
			public onStart(): void;
			public onDismiss(param0: android.content.DialogInterface): void;
			public show(param0: android.app.FragmentTransaction, param1: string): number;
			public getTheme(): number;
			public onActivityCreated(param0: android.os.Bundle): void;
			public onDetach(): void;
			public onGetLayoutInflater(param0: android.os.Bundle): android.view.LayoutInflater;
			public onTrimMemory(param0: number): void;
			public isCancelable(): boolean;
			public getDialog(): android.app.Dialog;
			public onCancel(param0: android.content.DialogInterface): void;
			public onDestroyView(): void;
			public onCreateDialog(param0: android.os.Bundle): android.app.Dialog;
			public onStop(): void;
			public setStyle(param0: number, param1: number): void;
			public dismiss(): void;
			public setShowsDialog(param0: boolean): void;
			public constructor();
			public dump(param0: string, param1: java.io.FileDescriptor, param2: java.io.PrintWriter, param3: native.Array<string>): void;
			/** @deprecated */
			public onAttach(param0: android.app.Activity): void;
			public onCreateContextMenu(param0: android.view.ContextMenu, param1: android.view.View, param2: android.view.ContextMenu.ContextMenuInfo): void;
			public setCancelable(param0: boolean): void;
			public onSaveInstanceState(param0: android.os.Bundle): void;
			public dismissAllowingStateLoss(): void;
			public onAttach(param0: android.content.Context): void;
			public show(param0: android.app.FragmentManager, param1: string): void;
			public onCreate(param0: android.os.Bundle): void;
		}
	}
}

declare module android {
	export module app {
		export class DownloadManager extends java.lang.Object {
			public static class: java.lang.Class<android.app.DownloadManager>;
			public static ACTION_DOWNLOAD_COMPLETE: string;
			public static ACTION_NOTIFICATION_CLICKED: string;
			public static ACTION_VIEW_DOWNLOADS: string;
			public static COLUMN_BYTES_DOWNLOADED_SO_FAR: string;
			public static COLUMN_DESCRIPTION: string;
			public static COLUMN_ID: string;
			public static COLUMN_LAST_MODIFIED_TIMESTAMP: string;
			public static COLUMN_LOCAL_FILENAME: string;
			public static COLUMN_LOCAL_URI: string;
			public static COLUMN_MEDIAPROVIDER_URI: string;
			public static COLUMN_MEDIA_TYPE: string;
			public static COLUMN_REASON: string;
			public static COLUMN_STATUS: string;
			public static COLUMN_TITLE: string;
			public static COLUMN_TOTAL_SIZE_BYTES: string;
			public static COLUMN_URI: string;
			public static ERROR_CANNOT_RESUME: number;
			public static ERROR_DEVICE_NOT_FOUND: number;
			public static ERROR_FILE_ALREADY_EXISTS: number;
			public static ERROR_FILE_ERROR: number;
			public static ERROR_HTTP_DATA_ERROR: number;
			public static ERROR_INSUFFICIENT_SPACE: number;
			public static ERROR_TOO_MANY_REDIRECTS: number;
			public static ERROR_UNHANDLED_HTTP_CODE: number;
			public static ERROR_UNKNOWN: number;
			public static EXTRA_DOWNLOAD_ID: string;
			public static EXTRA_NOTIFICATION_CLICK_DOWNLOAD_IDS: string;
			public static INTENT_EXTRAS_SORT_BY_SIZE: string;
			public static PAUSED_QUEUED_FOR_WIFI: number;
			public static PAUSED_UNKNOWN: number;
			public static PAUSED_WAITING_FOR_NETWORK: number;
			public static PAUSED_WAITING_TO_RETRY: number;
			public static STATUS_FAILED: number;
			public static STATUS_PAUSED: number;
			public static STATUS_PENDING: number;
			public static STATUS_RUNNING: number;
			public static STATUS_SUCCESSFUL: number;
			public enqueue(param0: android.app.DownloadManager.Request): number;
			public query(param0: android.app.DownloadManager.Query): android.database.Cursor;
			public addCompletedDownload(param0: string, param1: string, param2: boolean, param3: string, param4: string, param5: number, param6: boolean, param7: android.net.Uri, param8: android.net.Uri): number;
			public static getMaxBytesOverMobile(param0: android.content.Context): java.lang.Long;
			public static getRecommendedMaxBytesOverMobile(param0: android.content.Context): java.lang.Long;
			public getMimeTypeForDownloadedFile(param0: number): string;
			public openDownloadedFile(param0: number): android.os.ParcelFileDescriptor;
			public getUriForDownloadedFile(param0: number): android.net.Uri;
			public addCompletedDownload(param0: string, param1: string, param2: boolean, param3: string, param4: string, param5: number, param6: boolean): number;
			public remove(param0: native.Array<number>): number;
		}
		export module DownloadManager {
			export class Query extends java.lang.Object {
				public static class: java.lang.Class<android.app.DownloadManager.Query>;
				public setFilterById(param0: native.Array<number>): android.app.DownloadManager.Query;
				public setFilterByStatus(param0: number): android.app.DownloadManager.Query;
				public constructor();
			}
			export class Request extends java.lang.Object {
				public static class: java.lang.Class<android.app.DownloadManager.Request>;
				public static NETWORK_MOBILE: number;
				public static NETWORK_WIFI: number;
				public static VISIBILITY_HIDDEN: number;
				public static VISIBILITY_VISIBLE: number;
				public static VISIBILITY_VISIBLE_NOTIFY_COMPLETED: number;
				public static VISIBILITY_VISIBLE_NOTIFY_ONLY_COMPLETION: number;
				public constructor(param0: android.net.Uri);
				public setRequiresDeviceIdle(param0: boolean): android.app.DownloadManager.Request;
				public setVisibleInDownloadsUi(param0: boolean): android.app.DownloadManager.Request;
				public setDescription(param0: string): android.app.DownloadManager.Request;
				public setDestinationUri(param0: android.net.Uri): android.app.DownloadManager.Request;
				public allowScanningByMediaScanner(): void;
				public setTitle(param0: string): android.app.DownloadManager.Request;
				public setDestinationInExternalPublicDir(param0: string, param1: string): android.app.DownloadManager.Request;
				public setMimeType(param0: string): android.app.DownloadManager.Request;
				public setDestinationInExternalFilesDir(param0: android.content.Context, param1: string, param2: string): android.app.DownloadManager.Request;
				public setAllowedOverMetered(param0: boolean): android.app.DownloadManager.Request;
				public setRequiresCharging(param0: boolean): android.app.DownloadManager.Request;
				public setNotificationVisibility(param0: number): android.app.DownloadManager.Request;
				public setAllowedNetworkTypes(param0: number): android.app.DownloadManager.Request;
				public setAllowedOverRoaming(param0: boolean): android.app.DownloadManager.Request;
				public addRequestHeader(param0: string, param1: string): android.app.DownloadManager.Request;
				/** @deprecated */
				public setShowRunningNotification(param0: boolean): android.app.DownloadManager.Request;
			}
		}
	}
}

declare module android {
	export module app {
		export class ExpandableListActivity extends android.app.Activity implements android.view.View.OnCreateContextMenuListener, android.widget.ExpandableListView.OnChildClickListener, android.widget.ExpandableListView.OnGroupCollapseListener, android.widget.ExpandableListView.OnGroupExpandListener {
			public static class: java.lang.Class<android.app.ExpandableListActivity>;
			public onCreatePanelMenu(param0: number, param1: android.view.Menu): boolean;
			public setSelectedChild(param0: number, param1: number, param2: boolean): boolean;
			public onSearchRequested(): boolean;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public onCreatePanelView(param0: number): android.view.View;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public dispatchGenericMotionEvent(param0: android.view.MotionEvent): boolean;
			public getSelectedId(): number;
			public onDetachedFromWindow(): void;
			public onCreateView(param0: android.view.View, param1: string, param2: android.content.Context, param3: android.util.AttributeSet): android.view.View;
			public onPointerCaptureChanged(param0: boolean): void;
			public constructor();
			public onRestoreInstanceState(param0: android.os.Bundle): void;
			public onCreateView(param0: string, param1: android.content.Context, param2: android.util.AttributeSet): android.view.View;
			public constructor(param0: android.content.Context, param1: number);
			public getExpandableListView(): android.widget.ExpandableListView;
			public onGroupExpand(param0: number): void;
			public onCreateContextMenu(param0: android.view.ContextMenu, param1: android.view.View, param2: android.view.ContextMenu.ContextMenuInfo): void;
			public setSelectedGroup(param0: number): void;
			public dispatchTouchEvent(param0: android.view.MotionEvent): boolean;
			public onPreparePanel(param0: number, param1: android.view.View, param2: android.view.Menu): boolean;
			public onWindowFocusChanged(param0: boolean): void;
			public onContentChanged(): void;
			public onWindowStartingActionMode(param0: android.view.ActionMode.Callback): android.view.ActionMode;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public setListAdapter(param0: android.widget.ExpandableListAdapter): void;
			public onWindowStartingActionMode(param0: android.view.ActionMode.Callback, param1: number): android.view.ActionMode;
			public onProvideKeyboardShortcuts(param0: java.util.List<any>, param1: android.view.Menu, param2: number): void;
			public onPanelClosed(param0: number, param1: android.view.Menu): void;
			public onTrimMemory(param0: number): void;
			public onGroupCollapse(param0: number): void;
			public onActionModeFinished(param0: android.view.ActionMode): void;
			public constructor(param0: android.content.Context, param1: android.content.res.Resources.Theme);
			public onChildClick(param0: android.widget.ExpandableListView, param1: android.view.View, param2: number, param3: number, param4: number): boolean;
			public onActionModeStarted(param0: android.view.ActionMode): void;
			public dispatchKeyShortcutEvent(param0: android.view.KeyEvent): boolean;
			public onMenuItemSelected(param0: number, param1: android.view.MenuItem): boolean;
			public onMenuOpened(param0: number, param1: android.view.Menu): boolean;
			public onSearchRequested(param0: any): boolean;
			public getSelectedPosition(): number;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public onRestoreInstanceState(param0: android.os.Bundle, param1: any): void;
			public getExpandableListAdapter(): android.widget.ExpandableListAdapter;
			public dispatchTrackballEvent(param0: android.view.MotionEvent): boolean;
			public constructor(param0: android.content.Context);
			public dispatchKeyEvent(param0: android.view.KeyEvent): boolean;
			public dispatchPopulateAccessibilityEvent(param0: android.view.accessibility.AccessibilityEvent): boolean;
			public onAttachedToWindow(): void;
			public onWindowAttributesChanged(param0: android.view.WindowManager.LayoutParams): void;
		}
	}
}

declare module android {
	export module app {
		export class Fragment extends java.lang.Object implements android.content.ComponentCallbacks2, android.view.View.OnCreateContextMenuListener {
			public static class: java.lang.Class<android.app.Fragment>;
			public onStart(): void;
			public getHost(): any;
			/** @deprecated */
			public onInflate(param0: android.app.Activity, param1: android.util.AttributeSet, param2: android.os.Bundle): void;
			public getLayoutInflater(): android.view.LayoutInflater;
			public onViewCreated(param0: android.view.View, param1: android.os.Bundle): void;
			public setRetainInstance(param0: boolean): void;
			public setArguments(param0: android.os.Bundle): void;
			public getTargetFragment(): android.app.Fragment;
			public setSharedElementEnterTransition(param0: android.transition.Transition): void;
			public getReenterTransition(): android.transition.Transition;
			public startPostponedEnterTransition(): void;
			public getContext(): android.content.Context;
			public onDestroyView(): void;
			public setExitSharedElementCallback(param0: any): void;
			/** @deprecated */
			public onInflate(param0: android.util.AttributeSet, param1: android.os.Bundle): void;
			public getEnterTransition(): android.transition.Transition;
			public setEnterSharedElementCallback(param0: any): void;
			public constructor();
			public setAllowReturnTransitionOverlap(param0: boolean): void;
			/** @deprecated */
			public onAttach(param0: android.app.Activity): void;
			public isStateSaved(): boolean;
			public static instantiate(param0: android.content.Context, param1: string, param2: android.os.Bundle): android.app.Fragment;
			public getArguments(): android.os.Bundle;
			public setAllowEnterTransitionOverlap(param0: boolean): void;
			public startActivityForResult(param0: android.content.Intent, param1: number, param2: android.os.Bundle): void;
			public onCreate(param0: android.os.Bundle): void;
			public equals(param0: any): boolean;
			public getSharedElementReturnTransition(): android.transition.Transition;
			public getAllowEnterTransitionOverlap(): boolean;
			public getResources(): android.content.res.Resources;
			public shouldShowRequestPermissionRationale(param0: string): boolean;
			public setSharedElementReturnTransition(param0: android.transition.Transition): void;
			public getUserVisibleHint(): boolean;
			public onDestroyOptionsMenu(): void;
			public getText(param0: number): string;
			public onDestroy(): void;
			public getFragmentManager(): android.app.FragmentManager;
			/** @deprecated */
			public getLoaderManager(): android.app.LoaderManager;
			public onLowMemory(): void;
			public startActivity(param0: android.content.Intent, param1: android.os.Bundle): void;
			public registerForContextMenu(param0: android.view.View): void;
			public onAttachFragment(param0: android.app.Fragment): void;
			public unregisterForContextMenu(param0: android.view.View): void;
			public onTrimMemory(param0: number): void;
			public onOptionsMenuClosed(param0: android.view.Menu): void;
			public onOptionsItemSelected(param0: android.view.MenuItem): boolean;
			public onViewStateRestored(param0: android.os.Bundle): void;
			public onConfigurationChanged(param0: android.content.res.Configuration): void;
			public getString(param0: number, param1: native.Array<any>): string;
			public isDetached(): boolean;
			/** @deprecated */
			public onMultiWindowModeChanged(param0: boolean): void;
			public getTag(): string;
			/** @deprecated */
			public onPictureInPictureModeChanged(param0: boolean): void;
			public isVisible(): boolean;
			public getParentFragment(): android.app.Fragment;
			public onHiddenChanged(param0: boolean): void;
			public getAllowReturnTransitionOverlap(): boolean;
			public onPrepareOptionsMenu(param0: android.view.Menu): void;
			public getChildFragmentManager(): android.app.FragmentManager;
			public onAttach(param0: android.content.Context): void;
			public setUserVisibleHint(param0: boolean): void;
			public startActivityForResult(param0: android.content.Intent, param1: number): void;
			public hashCode(): number;
			public requestPermissions(param0: native.Array<string>, param1: number): void;
			public onInflate(param0: android.content.Context, param1: android.util.AttributeSet, param2: android.os.Bundle): void;
			public onDetach(): void;
			public startIntentSenderForResult(param0: android.content.IntentSender, param1: number, param2: android.content.Intent, param3: number, param4: number, param5: number, param6: android.os.Bundle): void;
			public onGetLayoutInflater(param0: android.os.Bundle): android.view.LayoutInflater;
			public isInLayout(): boolean;
			public setHasOptionsMenu(param0: boolean): void;
			public onActivityResult(param0: number, param1: number, param2: android.content.Intent): void;
			public getId(): number;
			public isAdded(): boolean;
			public onCreateAnimator(param0: number, param1: boolean, param2: number): android.animation.Animator;
			public onPictureInPictureModeChanged(param0: boolean, param1: android.content.res.Configuration): void;
			public getRetainInstance(): boolean;
			public onCreateOptionsMenu(param0: android.view.Menu, param1: android.view.MenuInflater): void;
			public getExitTransition(): android.transition.Transition;
			public getString(param0: number): string;
			public isHidden(): boolean;
			public onResume(): void;
			public getSharedElementEnterTransition(): android.transition.Transition;
			public onRequestPermissionsResult(param0: number, param1: native.Array<string>, param2: native.Array<number>): void;
			public getReturnTransition(): android.transition.Transition;
			public static instantiate(param0: android.content.Context, param1: string): android.app.Fragment;
			public onCreateContextMenu(param0: android.view.ContextMenu, param1: android.view.View, param2: android.view.ContextMenu.ContextMenuInfo): void;
			public getView(): android.view.View;
			public setExitTransition(param0: android.transition.Transition): void;
			public postponeEnterTransition(): void;
			public isResumed(): boolean;
			public onActivityCreated(param0: android.os.Bundle): void;
			public setEnterTransition(param0: android.transition.Transition): void;
			public setTargetFragment(param0: android.app.Fragment, param1: number): void;
			public setMenuVisibility(param0: boolean): void;
			public onContextItemSelected(param0: android.view.MenuItem): boolean;
			public onPause(): void;
			public setInitialSavedState(param0: android.app.Fragment.SavedState): void;
			public isRemoving(): boolean;
			public onStop(): void;
			public setReturnTransition(param0: android.transition.Transition): void;
			public onCreateView(param0: android.view.LayoutInflater, param1: android.view.ViewGroup, param2: android.os.Bundle): android.view.View;
			public dump(param0: string, param1: java.io.FileDescriptor, param2: java.io.PrintWriter, param3: native.Array<string>): void;
			public onMultiWindowModeChanged(param0: boolean, param1: android.content.res.Configuration): void;
			public toString(): string;
			public getTargetRequestCode(): number;
			public startActivity(param0: android.content.Intent): void;
			public onSaveInstanceState(param0: android.os.Bundle): void;
			public getActivity(): android.app.Activity;
			public setReenterTransition(param0: android.transition.Transition): void;
		}
		export module Fragment {
			export class InstantiationException extends android.util.AndroidRuntimeException {
				public static class: java.lang.Class<android.app.Fragment.InstantiationException>;
				public constructor(param0: string, param1: java.lang.Exception);
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Exception);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
			export class SavedState extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.app.Fragment.SavedState>;
				public static CREATOR: android.os.Parcelable.ClassLoaderCreator<android.app.Fragment.SavedState>;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
			}
		}
	}
}

declare module android {
	export module app {
		export class FragmentBreadCrumbs extends android.view.ViewGroup implements android.app.FragmentManager.OnBackStackChangedListener {
			public static class: java.lang.Class<android.app.FragmentBreadCrumbs>;
			public onLayout(param0: boolean, param1: number, param2: number, param3: number, param4: number): void;
			public isLayoutDirectionResolved(): boolean;
			public onStopNestedScroll(param0: android.view.View): void;
			public focusableViewAvailable(param0: android.view.View): void;
			public createContextMenu(param0: android.view.ContextMenu): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public onMeasure(param0: number, param1: number): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public addView(param0: android.view.View, param1: number, param2: number): void;
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public requestSendAccessibilityEvent(param0: android.view.View, param1: android.view.accessibility.AccessibilityEvent): boolean;
			public childHasTransientStateChanged(param0: android.view.View, param1: boolean): void;
			public canResolveLayoutDirection(): boolean;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public setMaxVisible(param0: number): void;
			public onNestedScrollAccepted(param0: android.view.View, param1: android.view.View, param2: number): void;
			public keyboardNavigationClusterSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(param0: android.view.View): boolean;
			public onNestedFling(param0: android.view.View, param1: number, param2: number, param3: boolean): boolean;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public onDescendantInvalidated(param0: android.view.View, param1: android.view.View): void;
			public sendAccessibilityEvent(param0: number): void;
			/** @deprecated */
			public invalidateChild(param0: android.view.View, param1: android.graphics.Rect): void;
			public requestTransparentRegion(param0: android.view.View): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public getParentForAccessibility(): android.view.ViewParent;
			public canResolveTextAlignment(): boolean;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public getParent(): android.view.ViewParent;
			/** @deprecated */
			public invalidateChildInParent(param0: native.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public onStartNestedScroll(param0: android.view.View, param1: android.view.View, param2: number): boolean;
			public setActivity(param0: android.app.Activity): void;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback): android.view.ActionMode;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public getLayoutDirection(): number;
			public getTextAlignment(): number;
			public requestChildFocus(param0: android.view.View, param1: android.view.View): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public requestChildRectangleOnScreen(param0: android.view.View, param1: android.graphics.Rect, param2: boolean): boolean;
			public onNestedScroll(param0: android.view.View, param1: number, param2: number, param3: number, param4: number): void;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: native.Array<number>): void;
			public onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public focusSearch(param0: number): android.view.View;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public recomputeViewAttributes(param0: android.view.View): void;
			public setParentTitle(param0: string, param1: string, param2: android.view.View.OnClickListener): void;
			public isLayoutRequested(): boolean;
			public onBackStackChanged(): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			public setTitle(param0: string, param1: string): void;
			public setOnBreadCrumbClickListener(param0: android.app.FragmentBreadCrumbs.OnBreadCrumbClickListener): void;
			public requestLayout(): void;
			public childDrawableStateChanged(param0: android.view.View): void;
			public isTextAlignmentResolved(): boolean;
			public addView(param0: android.view.View): void;
			public removeView(param0: android.view.View): void;
			public clearChildFocus(param0: android.view.View): void;
			public canResolveTextDirection(): boolean;
			public getTextDirection(): number;
			public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			/** @deprecated */
			public requestFitSystemWindows(): void;
			public requestDisallowInterceptTouchEvent(param0: boolean): void;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public isTextDirectionResolved(): boolean;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public constructor(param0: android.content.Context);
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public addView(param0: android.view.View, param1: number, param2: android.view.ViewGroup.LayoutParams): void;
			public notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public requestFitSystemWindows(): void;
			public addView(param0: android.view.View, param1: number): void;
		}
		export module FragmentBreadCrumbs {
			export class OnBreadCrumbClickListener extends java.lang.Object {
				public static class: java.lang.Class<android.app.FragmentBreadCrumbs.OnBreadCrumbClickListener>;
				/**
				 * Constructs a new instance of the android.app.FragmentBreadCrumbs$OnBreadCrumbClickListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onBreadCrumbClick(param0: android.app.FragmentManager.BackStackEntry, param1: number): boolean;
				});
				public constructor();
				public onBreadCrumbClick(param0: android.app.FragmentManager.BackStackEntry, param1: number): boolean;
			}
		}
	}
}

declare module android {
	export module app {
		export abstract class FragmentContainer extends java.lang.Object {
			public static class: java.lang.Class<android.app.FragmentContainer>;
			public onFindViewById(param0: number): android.view.View;
			public onHasView(): boolean;
			public constructor();
		}
	}
}

declare module android {
	export module app {
		export class FragmentController extends java.lang.Object {
			public static class: java.lang.Class<android.app.FragmentController>;
			public retainLoaderNonConfig(): android.util.ArrayMap<string,android.app.LoaderManager>;
			/** @deprecated */
			public dispatchMultiWindowModeChanged(param0: boolean): void;
			/** @deprecated */
			public restoreAllState(param0: android.os.Parcelable, param1: java.util.List<android.app.Fragment>): void;
			public dispatchPause(): void;
			public getLoaderManager(): android.app.LoaderManager;
			public attachHost(param0: android.app.Fragment): void;
			public noteStateNotSaved(): void;
			public getFragmentManager(): android.app.FragmentManager;
			public dispatchContextItemSelected(param0: android.view.MenuItem): boolean;
			public doLoaderStop(param0: boolean): void;
			public dispatchConfigurationChanged(param0: android.content.res.Configuration): void;
			public dispatchOptionsMenuClosed(param0: android.view.Menu): void;
			public dispatchStart(): void;
			public restoreAllState(param0: android.os.Parcelable, param1: android.app.FragmentManagerNonConfig): void;
			public dispatchDestroyView(): void;
			/** @deprecated */
			public retainNonConfig(): java.util.List<android.app.Fragment>;
			public onCreateView(param0: android.view.View, param1: string, param2: android.content.Context, param3: android.util.AttributeSet): android.view.View;
			public dispatchCreateOptionsMenu(param0: android.view.Menu, param1: android.view.MenuInflater): boolean;
			public retainNestedNonConfig(): android.app.FragmentManagerNonConfig;
			public dispatchCreate(): void;
			public dispatchDestroy(): void;
			public reportLoaderStart(): void;
			public dispatchStop(): void;
			public dispatchLowMemory(): void;
			public dispatchResume(): void;
			public restoreLoaderNonConfig(param0: android.util.ArrayMap<string,android.app.LoaderManager>): void;
			public dispatchActivityCreated(): void;
			public doLoaderDestroy(): void;
			public dispatchOptionsItemSelected(param0: android.view.MenuItem): boolean;
			public execPendingActions(): boolean;
			public static createController(param0: android.app.FragmentHostCallback<any>): android.app.FragmentController;
			public saveAllState(): android.os.Parcelable;
			public dispatchPictureInPictureModeChanged(param0: boolean, param1: android.content.res.Configuration): void;
			public findFragmentByWho(param0: string): android.app.Fragment;
			public dispatchTrimMemory(param0: number): void;
			/** @deprecated */
			public dispatchPictureInPictureModeChanged(param0: boolean): void;
			public dumpLoaders(param0: string, param1: java.io.FileDescriptor, param2: java.io.PrintWriter, param3: native.Array<string>): void;
			public doLoaderStart(): void;
			public dispatchMultiWindowModeChanged(param0: boolean, param1: android.content.res.Configuration): void;
			public dispatchPrepareOptionsMenu(param0: android.view.Menu): boolean;
		}
	}
}

declare module android {
	export module app {
		export abstract class FragmentHostCallback<E>  extends android.app.FragmentContainer {
			public static class: java.lang.Class<android.app.FragmentHostCallback<any>>;
			public onFindViewById(param0: number): android.view.View;
			public onGetWindowAnimations(): number;
			public onHasWindowAnimations(): boolean;
			public onGetLayoutInflater(): android.view.LayoutInflater;
			public onDump(param0: string, param1: java.io.FileDescriptor, param2: java.io.PrintWriter, param3: native.Array<string>): void;
			public constructor();
			public onInvalidateOptionsMenu(): void;
			public onStartIntentSenderFromFragment(param0: android.app.Fragment, param1: android.content.IntentSender, param2: number, param3: android.content.Intent, param4: number, param5: number, param6: number, param7: android.os.Bundle): void;
			public onGetHost(): any;
			public onAttachFragment(param0: android.app.Fragment): void;
			public constructor(param0: android.content.Context, param1: android.os.Handler, param2: number);
			public onShouldSaveFragmentState(param0: android.app.Fragment): boolean;
			public onHasView(): boolean;
			public onStartActivityFromFragment(param0: android.app.Fragment, param1: android.content.Intent, param2: number, param3: android.os.Bundle): void;
			public onRequestPermissionsFromFragment(param0: android.app.Fragment, param1: native.Array<string>, param2: number): void;
			public onUseFragmentManagerInflaterFactory(): boolean;
		}
	}
}

declare module android {
	export module app {
		export abstract class FragmentManager extends java.lang.Object {
			public static class: java.lang.Class<android.app.FragmentManager>;
			public static POP_BACK_STACK_INCLUSIVE: number;
			public isDestroyed(): boolean;
			public beginTransaction(): android.app.FragmentTransaction;
			public unregisterFragmentLifecycleCallbacks(param0: android.app.FragmentManager.FragmentLifecycleCallbacks): void;
			public popBackStackImmediate(param0: string, param1: number): boolean;
			public popBackStackImmediate(): boolean;
			public saveFragmentInstanceState(param0: android.app.Fragment): android.app.Fragment.SavedState;
			public registerFragmentLifecycleCallbacks(param0: android.app.FragmentManager.FragmentLifecycleCallbacks, param1: boolean): void;
			public getBackStackEntryAt(param0: number): android.app.FragmentManager.BackStackEntry;
			public findFragmentByTag(param0: string): android.app.Fragment;
			public executePendingTransactions(): boolean;
			public popBackStack(param0: number, param1: number): void;
			public popBackStack(): void;
			public static enableDebugLogging(param0: boolean): void;
			public popBackStack(param0: string, param1: number): void;
			public getBackStackEntryCount(): number;
			public constructor();
			public putFragment(param0: android.os.Bundle, param1: string, param2: android.app.Fragment): void;
			public dump(param0: string, param1: java.io.FileDescriptor, param2: java.io.PrintWriter, param3: native.Array<string>): void;
			public findFragmentById(param0: number): android.app.Fragment;
			public getFragments(): java.util.List<android.app.Fragment>;
			public isStateSaved(): boolean;
			public getFragment(param0: android.os.Bundle, param1: string): android.app.Fragment;
			public getPrimaryNavigationFragment(): android.app.Fragment;
			public removeOnBackStackChangedListener(param0: android.app.FragmentManager.OnBackStackChangedListener): void;
			public popBackStackImmediate(param0: number, param1: number): boolean;
			public addOnBackStackChangedListener(param0: android.app.FragmentManager.OnBackStackChangedListener): void;
			public invalidateOptionsMenu(): void;
		}
		export module FragmentManager {
			export class BackStackEntry extends java.lang.Object {
				public static class: java.lang.Class<android.app.FragmentManager.BackStackEntry>;
				/**
				 * Constructs a new instance of the android.app.FragmentManager$BackStackEntry interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getId(): number;
					getName(): string;
					getBreadCrumbTitleRes(): number;
					getBreadCrumbShortTitleRes(): number;
					getBreadCrumbTitle(): string;
					getBreadCrumbShortTitle(): string;
				});
				public constructor();
				public getId(): number;
				public getBreadCrumbShortTitleRes(): number;
				public getName(): string;
				public getBreadCrumbTitle(): string;
				public getBreadCrumbShortTitle(): string;
				public getBreadCrumbTitleRes(): number;
			}
			export abstract class FragmentLifecycleCallbacks extends java.lang.Object {
				public static class: java.lang.Class<android.app.FragmentManager.FragmentLifecycleCallbacks>;
				public onFragmentCreated(param0: android.app.FragmentManager, param1: android.app.Fragment, param2: android.os.Bundle): void;
				public onFragmentResumed(param0: android.app.FragmentManager, param1: android.app.Fragment): void;
				public onFragmentActivityCreated(param0: android.app.FragmentManager, param1: android.app.Fragment, param2: android.os.Bundle): void;
				public onFragmentStarted(param0: android.app.FragmentManager, param1: android.app.Fragment): void;
				public constructor();
				public onFragmentPaused(param0: android.app.FragmentManager, param1: android.app.Fragment): void;
				public onFragmentPreAttached(param0: android.app.FragmentManager, param1: android.app.Fragment, param2: android.content.Context): void;
				public onFragmentSaveInstanceState(param0: android.app.FragmentManager, param1: android.app.Fragment, param2: android.os.Bundle): void;
				public onFragmentDetached(param0: android.app.FragmentManager, param1: android.app.Fragment): void;
				public onFragmentViewDestroyed(param0: android.app.FragmentManager, param1: android.app.Fragment): void;
				public onFragmentPreCreated(param0: android.app.FragmentManager, param1: android.app.Fragment, param2: android.os.Bundle): void;
				public onFragmentStopped(param0: android.app.FragmentManager, param1: android.app.Fragment): void;
				public onFragmentDestroyed(param0: android.app.FragmentManager, param1: android.app.Fragment): void;
				public onFragmentAttached(param0: android.app.FragmentManager, param1: android.app.Fragment, param2: android.content.Context): void;
				public onFragmentViewCreated(param0: android.app.FragmentManager, param1: android.app.Fragment, param2: android.view.View, param3: android.os.Bundle): void;
			}
			export class OnBackStackChangedListener extends java.lang.Object {
				public static class: java.lang.Class<android.app.FragmentManager.OnBackStackChangedListener>;
				/**
				 * Constructs a new instance of the android.app.FragmentManager$OnBackStackChangedListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onBackStackChanged(): void;
				});
				public constructor();
				public onBackStackChanged(): void;
			}
		}
	}
}

declare module android {
	export module app {
		export class FragmentManagerNonConfig extends java.lang.Object {
			public static class: java.lang.Class<android.app.FragmentManagerNonConfig>;
		}
	}
}

declare module android {
	export module app {
		export abstract class FragmentTransaction extends java.lang.Object {
			public static class: java.lang.Class<android.app.FragmentTransaction>;
			public static TRANSIT_ENTER_MASK: number;
			public static TRANSIT_EXIT_MASK: number;
			public static TRANSIT_FRAGMENT_CLOSE: number;
			public static TRANSIT_FRAGMENT_FADE: number;
			public static TRANSIT_FRAGMENT_OPEN: number;
			public static TRANSIT_NONE: number;
			public static TRANSIT_UNSET: number;
			public runOnCommit(param0: java.lang.Runnable): android.app.FragmentTransaction;
			public replace(param0: number, param1: android.app.Fragment, param2: string): android.app.FragmentTransaction;
			public add(param0: android.app.Fragment, param1: string): android.app.FragmentTransaction;
			public detach(param0: android.app.Fragment): android.app.FragmentTransaction;
			public addToBackStack(param0: string): android.app.FragmentTransaction;
			public commit(): number;
			public setBreadCrumbShortTitle(param0: string): android.app.FragmentTransaction;
			public add(param0: number, param1: android.app.Fragment, param2: string): android.app.FragmentTransaction;
			public show(param0: android.app.Fragment): android.app.FragmentTransaction;
			public setCustomAnimations(param0: number, param1: number, param2: number, param3: number): android.app.FragmentTransaction;
			public replace(param0: number, param1: android.app.Fragment): android.app.FragmentTransaction;
			public setPrimaryNavigationFragment(param0: android.app.Fragment): android.app.FragmentTransaction;
			public remove(param0: android.app.Fragment): android.app.FragmentTransaction;
			public setCustomAnimations(param0: number, param1: number): android.app.FragmentTransaction;
			public setTransition(param0: number): android.app.FragmentTransaction;
			public isAddToBackStackAllowed(): boolean;
			public isEmpty(): boolean;
			public commitNow(): void;
			public hide(param0: android.app.Fragment): android.app.FragmentTransaction;
			public add(param0: number, param1: android.app.Fragment): android.app.FragmentTransaction;
			public setReorderingAllowed(param0: boolean): android.app.FragmentTransaction;
			public constructor();
			public addSharedElement(param0: android.view.View, param1: string): android.app.FragmentTransaction;
			public setBreadCrumbTitle(param0: string): android.app.FragmentTransaction;
			public commitAllowingStateLoss(): number;
			public commitNowAllowingStateLoss(): void;
			public setBreadCrumbShortTitle(param0: number): android.app.FragmentTransaction;
			public setTransitionStyle(param0: number): android.app.FragmentTransaction;
			public disallowAddToBackStack(): android.app.FragmentTransaction;
			public setBreadCrumbTitle(param0: number): android.app.FragmentTransaction;
			public attach(param0: android.app.Fragment): android.app.FragmentTransaction;
		}
	}
}

declare module android {
	export module app {
		export class Instrumentation extends java.lang.Object {
			public static class: java.lang.Class<android.app.Instrumentation>;
			public static REPORT_KEY_IDENTIFIER: string;
			public static REPORT_KEY_STREAMRESULT: string;
			public waitForMonitor(param0: android.app.Instrumentation.ActivityMonitor): android.app.Activity;
			public onStart(): void;
			public finish(param0: number, param1: android.os.Bundle): void;
			public callActivityOnResume(param0: android.app.Activity): void;
			public callActivityOnCreate(param0: android.app.Activity, param1: android.os.Bundle, param2: any): void;
			public callActivityOnStart(param0: android.app.Activity): void;
			public callActivityOnSaveInstanceState(param0: android.app.Activity, param1: android.os.Bundle, param2: any): void;
			public callActivityOnPause(param0: android.app.Activity): void;
			public getUiAutomation(): android.app.UiAutomation;
			public newActivity(param0: java.lang.ClassLoader, param1: string, param2: android.content.Intent): android.app.Activity;
			public addResults(param0: android.os.Bundle): void;
			public getTargetContext(): android.content.Context;
			public checkMonitorHit(param0: android.app.Instrumentation.ActivityMonitor, param1: number): boolean;
			public getProcessName(): string;
			public newApplication(param0: java.lang.ClassLoader, param1: string, param2: android.content.Context): android.app.Application;
			public getComponentName(): android.content.ComponentName;
			public sendStringSync(param0: string): void;
			public callApplicationOnCreate(param0: android.app.Application): void;
			public getContext(): android.content.Context;
			public start(): void;
			public static newApplication(param0: java.lang.Class<any>, param1: android.content.Context): android.app.Application;
			public callActivityOnRestart(param0: android.app.Activity): void;
			/** @deprecated */
			public startAllocCounting(): void;
			public getBinderCounts(): android.os.Bundle;
			public acquireLooperManager(param0: android.os.Looper): android.os.TestLooperManager;
			public callActivityOnRestoreInstanceState(param0: android.app.Activity, param1: android.os.Bundle): void;
			public getAllocCounts(): android.os.Bundle;
			public addMonitor(param0: android.content.IntentFilter, param1: android.app.Instrumentation.ActivityResult, param2: boolean): android.app.Instrumentation.ActivityMonitor;
			public constructor();
			public sendPointerSync(param0: android.view.MotionEvent): void;
			public runOnMainSync(param0: java.lang.Runnable): void;
			public addMonitor(param0: android.app.Instrumentation.ActivityMonitor): void;
			public sendStatus(param0: number, param1: android.os.Bundle): void;
			public invokeMenuActionSync(param0: android.app.Activity, param1: number, param2: number): boolean;
			public waitForMonitorWithTimeout(param0: android.app.Instrumentation.ActivityMonitor, param1: number): android.app.Activity;
			public callActivityOnDestroy(param0: android.app.Activity): void;
			public callActivityOnNewIntent(param0: android.app.Activity, param1: android.content.Intent): void;
			public onCreate(param0: android.os.Bundle): void;
			public sendKeySync(param0: android.view.KeyEvent): void;
			public invokeContextMenuAction(param0: android.app.Activity, param1: number, param2: number): boolean;
			public callActivityOnRestoreInstanceState(param0: android.app.Activity, param1: android.os.Bundle, param2: any): void;
			public stopProfiling(): void;
			public onException(param0: any, param1: java.lang.Throwable): boolean;
			public waitForIdle(param0: java.lang.Runnable): void;
			public setAutomaticPerformanceSnapshots(): void;
			public startProfiling(): void;
			/** @deprecated */
			public stopAllocCounting(): void;
			public onDestroy(): void;
			public callActivityOnUserLeaving(param0: android.app.Activity): void;
			public waitForIdleSync(): void;
			public callActivityOnPostCreate(param0: android.app.Activity, param1: android.os.Bundle): void;
			public startPerformanceSnapshot(): void;
			public callActivityOnSaveInstanceState(param0: android.app.Activity, param1: android.os.Bundle): void;
			public addMonitor(param0: string, param1: android.app.Instrumentation.ActivityResult, param2: boolean): android.app.Instrumentation.ActivityMonitor;
			public sendKeyDownUpSync(param0: number): void;
			public getUiAutomation(param0: number): android.app.UiAutomation;
			public sendCharacterSync(param0: number): void;
			public removeMonitor(param0: android.app.Instrumentation.ActivityMonitor): void;
			public setInTouchMode(param0: boolean): void;
			public callActivityOnCreate(param0: android.app.Activity, param1: android.os.Bundle): void;
			public isProfiling(): boolean;
			public startActivitySync(param0: android.content.Intent): android.app.Activity;
			public startActivitySync(param0: android.content.Intent, param1: android.os.Bundle): android.app.Activity;
			public callActivityOnPostCreate(param0: android.app.Activity, param1: android.os.Bundle, param2: any): void;
			public sendTrackballEventSync(param0: android.view.MotionEvent): void;
			public endPerformanceSnapshot(): void;
			public newActivity(param0: java.lang.Class<any>, param1: android.content.Context, param2: android.os.IBinder, param3: android.app.Application, param4: android.content.Intent, param5: android.content.pm.ActivityInfo, param6: string, param7: android.app.Activity, param8: string, param9: any): android.app.Activity;
			public callActivityOnStop(param0: android.app.Activity): void;
		}
		export module Instrumentation {
			export class ActivityMonitor extends java.lang.Object {
				public static class: java.lang.Class<android.app.Instrumentation.ActivityMonitor>;
				public onStartActivity(param0: android.content.Intent): android.app.Instrumentation.ActivityResult;
				public waitForActivity(): android.app.Activity;
				public constructor(param0: android.content.IntentFilter, param1: android.app.Instrumentation.ActivityResult, param2: boolean);
				public waitForActivityWithTimeout(param0: number): android.app.Activity;
				public getResult(): android.app.Instrumentation.ActivityResult;
				public isBlocking(): boolean;
				public getLastActivity(): android.app.Activity;
				public getHits(): number;
				public constructor(param0: string, param1: android.app.Instrumentation.ActivityResult, param2: boolean);
				public getFilter(): android.content.IntentFilter;
				public constructor();
			}
			export class ActivityResult extends java.lang.Object {
				public static class: java.lang.Class<android.app.Instrumentation.ActivityResult>;
				public getResultData(): android.content.Intent;
				public constructor(param0: number, param1: android.content.Intent);
				public getResultCode(): number;
			}
		}
	}
}

declare module android {
	export module app {
		export abstract class IntentService extends android.app.Service {
			public static class: java.lang.Class<android.app.IntentService>;
			public setIntentRedelivery(param0: boolean): void;
			public onHandleIntent(param0: android.content.Intent): void;
			public onTrimMemory(param0: number): void;
			public onBind(param0: android.content.Intent): android.os.IBinder;
			public constructor(param0: android.content.Context);
			public onCreate(): void;
			public constructor();
			public onDestroy(): void;
			public onStartCommand(param0: android.content.Intent, param1: number, param2: number): number;
			public onStart(param0: android.content.Intent, param1: number): void;
			public constructor(param0: string);
			/** @deprecated */
			public onStart(param0: android.content.Intent, param1: number): void;
		}
	}
}

declare module android {
	export module app {
		export class KeyguardManager extends java.lang.Object {
			public static class: java.lang.Class<android.app.KeyguardManager>;
			/** @deprecated */
			public newKeyguardLock(param0: string): android.app.KeyguardManager.KeyguardLock;
			public isKeyguardSecure(): boolean;
			public isDeviceLocked(): boolean;
			/** @deprecated */
			public exitKeyguardSecurely(param0: android.app.KeyguardManager.OnKeyguardExitResult): void;
			public createConfirmDeviceCredentialIntent(param0: string, param1: string): android.content.Intent;
			public requestDismissKeyguard(param0: android.app.Activity, param1: android.app.KeyguardManager.KeyguardDismissCallback): void;
			public isKeyguardLocked(): boolean;
			/** @deprecated */
			public inKeyguardRestrictedInputMode(): boolean;
			public isDeviceSecure(): boolean;
		}
		export module KeyguardManager {
			export abstract class KeyguardDismissCallback extends java.lang.Object {
				public static class: java.lang.Class<android.app.KeyguardManager.KeyguardDismissCallback>;
				public onDismissCancelled(): void;
				public onDismissError(): void;
				public onDismissSucceeded(): void;
				public constructor();
			}
			export class KeyguardLock extends java.lang.Object {
				public static class: java.lang.Class<android.app.KeyguardManager.KeyguardLock>;
				public reenableKeyguard(): void;
				public disableKeyguard(): void;
			}
			export class OnKeyguardExitResult extends java.lang.Object {
				public static class: java.lang.Class<android.app.KeyguardManager.OnKeyguardExitResult>;
				/**
				 * Constructs a new instance of the android.app.KeyguardManager$OnKeyguardExitResult interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onKeyguardExitResult(param0: boolean): void;
				});
				public constructor();
				public onKeyguardExitResult(param0: boolean): void;
			}
		}
	}
}

declare module android {
	export module app {
		export abstract class LauncherActivity extends android.app.ListActivity {
			public static class: java.lang.Class<android.app.LauncherActivity>;
			public onWindowStartingActionMode(param0: android.view.ActionMode.Callback): android.view.ActionMode;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public setTitle(param0: string): void;
			public onCreatePanelMenu(param0: number, param1: android.view.Menu): boolean;
			public onWindowStartingActionMode(param0: android.view.ActionMode.Callback, param1: number): android.view.ActionMode;
			public itemForPosition(param0: number): android.app.LauncherActivity.ListItem;
			public onQueryPackageManager(param0: android.content.Intent): java.util.List<android.content.pm.ResolveInfo>;
			public onProvideKeyboardShortcuts(param0: java.util.List<any>, param1: android.view.Menu, param2: number): void;
			public onPanelClosed(param0: number, param1: android.view.Menu): void;
			public onSearchRequested(): boolean;
			public onTrimMemory(param0: number): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public onActionModeFinished(param0: android.view.ActionMode): void;
			public constructor(param0: android.content.Context, param1: android.content.res.Resources.Theme);
			public onCreatePanelView(param0: number): android.view.View;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public dispatchGenericMotionEvent(param0: android.view.MotionEvent): boolean;
			public onDetachedFromWindow(): void;
			public onActionModeStarted(param0: android.view.ActionMode): void;
			public onCreateView(param0: android.view.View, param1: string, param2: android.content.Context, param3: android.util.AttributeSet): android.view.View;
			public dispatchKeyShortcutEvent(param0: android.view.KeyEvent): boolean;
			public onMenuItemSelected(param0: number, param1: android.view.MenuItem): boolean;
			public onPointerCaptureChanged(param0: boolean): void;
			public onCreate(param0: android.os.Bundle, param1: any): void;
			public getTargetIntent(): android.content.Intent;
			public onMenuOpened(param0: number, param1: android.view.Menu): boolean;
			public onListItemClick(param0: android.widget.ListView, param1: android.view.View, param2: number, param3: number): void;
			public onSetContentView(): void;
			public makeListItems(): java.util.List<android.app.LauncherActivity.ListItem>;
			public onSearchRequested(param0: any): boolean;
			public constructor();
			public setTitle(param0: number): void;
			public intentForPosition(param0: number): android.content.Intent;
			public onCreateView(param0: string, param1: android.content.Context, param2: android.util.AttributeSet): android.view.View;
			public constructor(param0: android.content.Context, param1: number);
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public onCreateContextMenu(param0: android.view.ContextMenu, param1: android.view.View, param2: android.view.ContextMenu.ContextMenuInfo): void;
			public dispatchTouchEvent(param0: android.view.MotionEvent): boolean;
			public dispatchTrackballEvent(param0: android.view.MotionEvent): boolean;
			public constructor(param0: android.content.Context);
			public dispatchKeyEvent(param0: android.view.KeyEvent): boolean;
			public onPreparePanel(param0: number, param1: android.view.View, param2: android.view.Menu): boolean;
			public dispatchPopulateAccessibilityEvent(param0: android.view.accessibility.AccessibilityEvent): boolean;
			public onWindowFocusChanged(param0: boolean): void;
			public onAttachedToWindow(): void;
			public onCreate(param0: android.os.Bundle): void;
			public onWindowAttributesChanged(param0: android.view.WindowManager.LayoutParams): void;
			public onContentChanged(): void;
		}
		export module LauncherActivity {
			export class IconResizer extends java.lang.Object {
				public static class: java.lang.Class<android.app.LauncherActivity.IconResizer>;
				public constructor(param0: android.app.LauncherActivity);
				public createIconThumbnail(param0: android.graphics.drawable.Drawable): android.graphics.drawable.Drawable;
			}
			export class ListItem extends java.lang.Object {
				public static class: java.lang.Class<android.app.LauncherActivity.ListItem>;
				public className: string;
				public extras: android.os.Bundle;
				public icon: android.graphics.drawable.Drawable;
				public label: string;
				public packageName: string;
				public resolveInfo: android.content.pm.ResolveInfo;
				public constructor();
			}
		}
	}
}

declare module android {
	export module app {
		export class ListActivity extends android.app.Activity {
			public static class: java.lang.Class<android.app.ListActivity>;
			public onWindowStartingActionMode(param0: android.view.ActionMode.Callback): android.view.ActionMode;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public onCreatePanelMenu(param0: number, param1: android.view.Menu): boolean;
			public setSelection(param0: number): void;
			public getListAdapter(): android.widget.ListAdapter;
			public onWindowStartingActionMode(param0: android.view.ActionMode.Callback, param1: number): android.view.ActionMode;
			public onDestroy(): void;
			public onProvideKeyboardShortcuts(param0: java.util.List<any>, param1: android.view.Menu, param2: number): void;
			public onPanelClosed(param0: number, param1: android.view.Menu): void;
			public getSelectedItemId(): number;
			public onSearchRequested(): boolean;
			public setListAdapter(param0: android.widget.ListAdapter): void;
			public onTrimMemory(param0: number): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public onActionModeFinished(param0: android.view.ActionMode): void;
			public constructor(param0: android.content.Context, param1: android.content.res.Resources.Theme);
			public onCreatePanelView(param0: number): android.view.View;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public dispatchGenericMotionEvent(param0: android.view.MotionEvent): boolean;
			public onDetachedFromWindow(): void;
			public onActionModeStarted(param0: android.view.ActionMode): void;
			public onCreateView(param0: android.view.View, param1: string, param2: android.content.Context, param3: android.util.AttributeSet): android.view.View;
			public dispatchKeyShortcutEvent(param0: android.view.KeyEvent): boolean;
			public onMenuItemSelected(param0: number, param1: android.view.MenuItem): boolean;
			public onPointerCaptureChanged(param0: boolean): void;
			public onMenuOpened(param0: number, param1: android.view.Menu): boolean;
			public onListItemClick(param0: android.widget.ListView, param1: android.view.View, param2: number, param3: number): void;
			public onSearchRequested(param0: any): boolean;
			public constructor();
			public onRestoreInstanceState(param0: android.os.Bundle): void;
			public onCreateView(param0: string, param1: android.content.Context, param2: android.util.AttributeSet): android.view.View;
			public constructor(param0: android.content.Context, param1: number);
			public getSelectedItemPosition(): number;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public onRestoreInstanceState(param0: android.os.Bundle, param1: any): void;
			public onCreateContextMenu(param0: android.view.ContextMenu, param1: android.view.View, param2: android.view.ContextMenu.ContextMenuInfo): void;
			public dispatchTouchEvent(param0: android.view.MotionEvent): boolean;
			public dispatchTrackballEvent(param0: android.view.MotionEvent): boolean;
			public constructor(param0: android.content.Context);
			public dispatchKeyEvent(param0: android.view.KeyEvent): boolean;
			public onPreparePanel(param0: number, param1: android.view.View, param2: android.view.Menu): boolean;
			public getListView(): android.widget.ListView;
			public dispatchPopulateAccessibilityEvent(param0: android.view.accessibility.AccessibilityEvent): boolean;
			public onWindowFocusChanged(param0: boolean): void;
			public onAttachedToWindow(): void;
			public onContentChanged(): void;
			public onWindowAttributesChanged(param0: android.view.WindowManager.LayoutParams): void;
		}
	}
}

declare module android {
	export module app {
		export class ListFragment extends android.app.Fragment {
			public static class: java.lang.Class<android.app.ListFragment>;
			public setListShownNoAnimation(param0: boolean): void;
			public onCreateView(param0: android.view.LayoutInflater, param1: android.view.ViewGroup, param2: android.os.Bundle): android.view.View;
			public onListItemClick(param0: android.widget.ListView, param1: android.view.View, param2: number, param3: number): void;
			public setSelection(param0: number): void;
			public getListAdapter(): android.widget.ListAdapter;
			public onViewCreated(param0: android.view.View, param1: android.os.Bundle): void;
			public setEmptyText(param0: string): void;
			public constructor();
			public getSelectedItemId(): number;
			public getSelectedItemPosition(): number;
			public setListAdapter(param0: android.widget.ListAdapter): void;
			public onCreateContextMenu(param0: android.view.ContextMenu, param1: android.view.View, param2: android.view.ContextMenu.ContextMenuInfo): void;
			public onTrimMemory(param0: number): void;
			public setListShown(param0: boolean): void;
			public onDestroyView(): void;
			public getListView(): android.widget.ListView;
		}
	}
}

declare module android {
	export module app {
		export abstract class LoaderManager extends java.lang.Object {
			public static class: java.lang.Class<android.app.LoaderManager>;
			public getLoader(param0: number): android.content.Loader<any>;
			public destroyLoader(param0: number): void;
			public constructor();
			public initLoader(param0: number, param1: android.os.Bundle, param2: android.app.LoaderManager.LoaderCallbacks<any>): android.content.Loader<any>;
			public restartLoader(param0: number, param1: android.os.Bundle, param2: android.app.LoaderManager.LoaderCallbacks<any>): android.content.Loader<any>;
			public static enableDebugLogging(param0: boolean): void;
			public dump(param0: string, param1: java.io.FileDescriptor, param2: java.io.PrintWriter, param3: native.Array<string>): void;
		}
		export module LoaderManager {
			export class LoaderCallbacks<D>  extends java.lang.Object {
				public static class: java.lang.Class<android.app.LoaderManager.LoaderCallbacks<any>>;
				/**
				 * Constructs a new instance of the android.app.LoaderManager$LoaderCallbacks interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onCreateLoader(param0: number, param1: android.os.Bundle): android.content.Loader<D>;
					onLoadFinished(param0: android.content.Loader<D>, param1: D): void;
					onLoaderReset(param0: android.content.Loader<D>): void;
				});
				public constructor();
				public onLoaderReset(param0: android.content.Loader<D>): void;
				public onLoadFinished(param0: android.content.Loader<D>, param1: D): void;
				public onCreateLoader(param0: number, param1: android.os.Bundle): android.content.Loader<D>;
			}
		}
	}
}

declare module android {
	export module app {
		export class LocalActivityManager extends java.lang.Object {
			public static class: java.lang.Class<android.app.LocalActivityManager>;
			public getActivity(param0: string): android.app.Activity;
			public removeAllActivities(): void;
			public dispatchStop(): void;
			public dispatchResume(): void;
			public constructor(param0: android.app.Activity, param1: boolean);
			public getCurrentActivity(): android.app.Activity;
			public destroyActivity(param0: string, param1: boolean): android.view.Window;
			public saveInstanceState(): android.os.Bundle;
			public dispatchCreate(param0: android.os.Bundle): void;
			public getCurrentId(): string;
			public dispatchPause(param0: boolean): void;
			public dispatchDestroy(param0: boolean): void;
			public startActivity(param0: string, param1: android.content.Intent): android.view.Window;
		}
	}
}

declare module android {
	export module app {
		export class MediaRouteActionProvider extends android.view.ActionProvider {
			public static class: java.lang.Class<android.app.MediaRouteActionProvider>;
			public setExtendedSettingsClickListener(param0: android.view.View.OnClickListener): void;
			/** @deprecated */
			public onCreateActionView(): android.view.View;
			public onCreateActionView(): android.view.View;
			public onPerformDefaultAction(): boolean;
			public constructor(param0: android.content.Context);
			public setRouteTypes(param0: number): void;
			public overridesItemVisibility(): boolean;
			public onCreateActionView(param0: android.view.MenuItem): android.view.View;
			public isVisible(): boolean;
		}
	}
}

declare module android {
	export module app {
		export class MediaRouteButton extends android.view.View {
			public static class: java.lang.Class<android.app.MediaRouteButton>;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public setContentDescription(param0: string): void;
			public getRouteTypes(): number;
			public setRouteTypes(param0: number): void;
			public drawableStateChanged(): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public onCreateDrawableState(param0: number): native.Array<number>;
			public onMeasure(param0: number, param1: number): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public setExtendedSettingsClickListener(param0: android.view.View.OnClickListener): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public jumpDrawablesToCurrentState(): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public onDetachedFromWindow(): void;
			public sendAccessibilityEvent(param0: number): void;
			public setVisibility(param0: number): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public verifyDrawable(param0: android.graphics.drawable.Drawable): boolean;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public constructor(param0: android.content.Context);
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public onDraw(param0: android.graphics.Canvas): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public performClick(): boolean;
			public onAttachedToWindow(): void;
			public showDialog(): void;
		}
	}
}

declare module android {
	export module app {
		export class NativeActivity extends android.app.Activity implements android.view.SurfaceHolder.Callback2, android.view.InputQueue.Callback, android.view.ViewTreeObserver.OnGlobalLayoutListener {
			public static class: java.lang.Class<android.app.NativeActivity>;
			public static META_DATA_FUNC_NAME: string;
			public static META_DATA_LIB_NAME: string;
			public onStart(): void;
			public onCreatePanelMenu(param0: number, param1: android.view.Menu): boolean;
			public surfaceDestroyed(param0: android.view.SurfaceHolder): void;
			public onSearchRequested(): boolean;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public onCreatePanelView(param0: number): android.view.View;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public dispatchGenericMotionEvent(param0: android.view.MotionEvent): boolean;
			public onDetachedFromWindow(): void;
			public onCreateView(param0: android.view.View, param1: string, param2: android.content.Context, param3: android.util.AttributeSet): android.view.View;
			public onPointerCaptureChanged(param0: boolean): void;
			public onCreate(param0: android.os.Bundle, param1: any): void;
			public onSaveInstanceState(param0: android.os.Bundle, param1: any): void;
			public onResume(): void;
			public constructor();
			public onCreateView(param0: string, param1: android.content.Context, param2: android.util.AttributeSet): android.view.View;
			public constructor(param0: android.content.Context, param1: number);
			public onCreateContextMenu(param0: android.view.ContextMenu, param1: android.view.View, param2: android.view.ContextMenu.ContextMenuInfo): void;
			public surfaceChanged(param0: android.view.SurfaceHolder, param1: number, param2: number, param3: number): void;
			public dispatchTouchEvent(param0: android.view.MotionEvent): boolean;
			public surfaceRedrawNeeded(param0: android.view.SurfaceHolder): void;
			public onPreparePanel(param0: number, param1: android.view.View, param2: android.view.Menu): boolean;
			public onWindowFocusChanged(param0: boolean): void;
			public onCreate(param0: android.os.Bundle): void;
			public onContentChanged(): void;
			public onWindowStartingActionMode(param0: android.view.ActionMode.Callback): android.view.ActionMode;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public onWindowStartingActionMode(param0: android.view.ActionMode.Callback, param1: number): android.view.ActionMode;
			public onDestroy(): void;
			public onLowMemory(): void;
			public onProvideKeyboardShortcuts(param0: java.util.List<any>, param1: android.view.Menu, param2: number): void;
			public onPanelClosed(param0: number, param1: android.view.Menu): void;
			public onTrimMemory(param0: number): void;
			public onGlobalLayout(): void;
			public onActionModeFinished(param0: android.view.ActionMode): void;
			public constructor(param0: android.content.Context, param1: android.content.res.Resources.Theme);
			public onPause(): void;
			public onInputQueueCreated(param0: android.view.InputQueue): void;
			public onStop(): void;
			public onActionModeStarted(param0: android.view.ActionMode): void;
			public onConfigurationChanged(param0: android.content.res.Configuration): void;
			public dispatchKeyShortcutEvent(param0: android.view.KeyEvent): boolean;
			public onMenuItemSelected(param0: number, param1: android.view.MenuItem): boolean;
			public surfaceRedrawNeededAsync(param0: android.view.SurfaceHolder, param1: java.lang.Runnable): void;
			public onMenuOpened(param0: number, param1: android.view.Menu): boolean;
			public surfaceCreated(param0: android.view.SurfaceHolder): void;
			public onSearchRequested(param0: any): boolean;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public dispatchTrackballEvent(param0: android.view.MotionEvent): boolean;
			public onInputQueueDestroyed(param0: android.view.InputQueue): void;
			public onSaveInstanceState(param0: android.os.Bundle): void;
			public constructor(param0: android.content.Context);
			public dispatchKeyEvent(param0: android.view.KeyEvent): boolean;
			public dispatchPopulateAccessibilityEvent(param0: android.view.accessibility.AccessibilityEvent): boolean;
			public onAttachedToWindow(): void;
			public onWindowAttributesChanged(param0: android.view.WindowManager.LayoutParams): void;
		}
	}
}

declare module android {
	export module app {
		export class Notification extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.app.Notification>;
			public static AUDIO_ATTRIBUTES_DEFAULT: any;
			public static BADGE_ICON_LARGE: number;
			public static BADGE_ICON_NONE: number;
			public static BADGE_ICON_SMALL: number;
			public static CATEGORY_ALARM: string;
			public static CATEGORY_CALL: string;
			public static CATEGORY_EMAIL: string;
			public static CATEGORY_ERROR: string;
			public static CATEGORY_EVENT: string;
			public static CATEGORY_MESSAGE: string;
			public static CATEGORY_NAVIGATION: string;
			public static CATEGORY_PROGRESS: string;
			public static CATEGORY_PROMO: string;
			public static CATEGORY_RECOMMENDATION: string;
			public static CATEGORY_REMINDER: string;
			public static CATEGORY_SERVICE: string;
			public static CATEGORY_SOCIAL: string;
			public static CATEGORY_STATUS: string;
			public static CATEGORY_SYSTEM: string;
			public static CATEGORY_TRANSPORT: string;
			public static COLOR_DEFAULT: number;
			public static CREATOR: android.os.Parcelable.Creator<android.app.Notification>;
			public static DEFAULT_ALL: number;
			public static DEFAULT_LIGHTS: number;
			public static DEFAULT_SOUND: number;
			public static DEFAULT_VIBRATE: number;
			public static EXTRA_AUDIO_CONTENTS_URI: string;
			public static EXTRA_BACKGROUND_IMAGE_URI: string;
			public static EXTRA_BIG_TEXT: string;
			public static EXTRA_CHANNEL_GROUP_ID: string;
			public static EXTRA_CHANNEL_ID: string;
			public static EXTRA_CHRONOMETER_COUNT_DOWN: string;
			public static EXTRA_COLORIZED: string;
			public static EXTRA_COMPACT_ACTIONS: string;
			public static EXTRA_CONVERSATION_TITLE: string;
			public static EXTRA_HISTORIC_MESSAGES: string;
			public static EXTRA_INFO_TEXT: string;
			public static EXTRA_IS_GROUP_CONVERSATION: string;
			public static EXTRA_LARGE_ICON: string;
			public static EXTRA_LARGE_ICON_BIG: string;
			public static EXTRA_MEDIA_SESSION: string;
			public static EXTRA_MESSAGES: string;
			public static EXTRA_MESSAGING_PERSON: string;
			public static EXTRA_NOTIFICATION_ID: string;
			public static EXTRA_NOTIFICATION_TAG: string;
			public static EXTRA_PEOPLE: string;
			public static EXTRA_PEOPLE_LIST: string;
			public static EXTRA_PICTURE: string;
			public static EXTRA_PROGRESS: string;
			public static EXTRA_PROGRESS_INDETERMINATE: string;
			public static EXTRA_PROGRESS_MAX: string;
			public static EXTRA_REMOTE_INPUT_DRAFT: string;
			public static EXTRA_REMOTE_INPUT_HISTORY: string;
			public static EXTRA_SELF_DISPLAY_NAME: string;
			public static EXTRA_SHOW_CHRONOMETER: string;
			public static EXTRA_SHOW_WHEN: string;
			public static EXTRA_SMALL_ICON: string;
			public static EXTRA_SUB_TEXT: string;
			public static EXTRA_SUMMARY_TEXT: string;
			public static EXTRA_TEMPLATE: string;
			public static EXTRA_TEXT: string;
			public static EXTRA_TEXT_LINES: string;
			public static EXTRA_TITLE: string;
			public static EXTRA_TITLE_BIG: string;
			public static FLAG_AUTO_CANCEL: number;
			public static FLAG_FOREGROUND_SERVICE: number;
			public static FLAG_GROUP_SUMMARY: number;
			public static FLAG_HIGH_PRIORITY: number;
			public static FLAG_INSISTENT: number;
			public static FLAG_LOCAL_ONLY: number;
			public static FLAG_NO_CLEAR: number;
			public static FLAG_ONGOING_EVENT: number;
			public static FLAG_ONLY_ALERT_ONCE: number;
			public static FLAG_SHOW_LIGHTS: number;
			public static GROUP_ALERT_ALL: number;
			public static GROUP_ALERT_CHILDREN: number;
			public static GROUP_ALERT_SUMMARY: number;
			public static INTENT_CATEGORY_NOTIFICATION_PREFERENCES: string;
			public static PRIORITY_DEFAULT: number;
			public static PRIORITY_HIGH: number;
			public static PRIORITY_LOW: number;
			public static PRIORITY_MAX: number;
			public static PRIORITY_MIN: number;
			public static STREAM_DEFAULT: number;
			public static VISIBILITY_PRIVATE: number;
			public static VISIBILITY_PUBLIC: number;
			public static VISIBILITY_SECRET: number;
			public actions: native.Array<android.app.Notification.Action>;
			public audioAttributes: any;
			public audioStreamType: number;
			public bigContentView: android.widget.RemoteViews;
			public category: string;
			public color: number;
			public contentIntent: android.app.PendingIntent;
			public contentView: android.widget.RemoteViews;
			public defaults: number;
			public deleteIntent: android.app.PendingIntent;
			public extras: android.os.Bundle;
			public flags: number;
			public fullScreenIntent: android.app.PendingIntent;
			public headsUpContentView: android.widget.RemoteViews;
			public icon: number;
			public iconLevel: number;
			public largeIcon: android.graphics.Bitmap;
			public ledARGB: number;
			public ledOffMS: number;
			public ledOnMS: number;
			public number: number;
			public priority: number;
			public publicVersion: android.app.Notification;
			public sound: android.net.Uri;
			public tickerText: string;
			public tickerView: android.widget.RemoteViews;
			public vibrate: native.Array<number>;
			public visibility: number;
			public when: number;
			public getLargeIcon(): any;
			public getGroup(): string;
			public getShortcutId(): string;
			public getChannelId(): string;
			public constructor();
			public getBadgeIconType(): number;
			public clone(): android.app.Notification;
			/** @deprecated */
			public constructor(param0: number, param1: string, param2: number);
			public clone(): any;
			public toString(): string;
			public getSmallIcon(): any;
			public constructor(param0: android.os.Parcel);
			public describeContents(): number;
			public getSettingsText(): string;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getGroupAlertBehavior(): number;
			public getTimeoutAfter(): number;
			public getSortKey(): string;
		}
		export module Notification {
			export class Action extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.app.Notification.Action>;
				public static CREATOR: android.os.Parcelable.Creator<android.app.Notification.Action>;
				public static SEMANTIC_ACTION_ARCHIVE: number;
				public static SEMANTIC_ACTION_CALL: number;
				public static SEMANTIC_ACTION_DELETE: number;
				public static SEMANTIC_ACTION_MARK_AS_READ: number;
				public static SEMANTIC_ACTION_MARK_AS_UNREAD: number;
				public static SEMANTIC_ACTION_MUTE: number;
				public static SEMANTIC_ACTION_NONE: number;
				public static SEMANTIC_ACTION_REPLY: number;
				public static SEMANTIC_ACTION_THUMBS_DOWN: number;
				public static SEMANTIC_ACTION_THUMBS_UP: number;
				public static SEMANTIC_ACTION_UNMUTE: number;
				public actionIntent: android.app.PendingIntent;
				public icon: number;
				public title: string;
				public clone(): android.app.Notification.Action;
				/** @deprecated */
				public constructor(param0: number, param1: string, param2: android.app.PendingIntent);
				public getDataOnlyRemoteInputs(): native.Array<android.app.RemoteInput>;
				public getIcon(): any;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getRemoteInputs(): native.Array<android.app.RemoteInput>;
				public clone(): any;
				public describeContents(): number;
				public getAllowGeneratedReplies(): boolean;
				public getExtras(): android.os.Bundle;
				public getSemanticAction(): number;
			}
			export module Action {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.app.Notification.Action.Builder>;
					public constructor(param0: android.app.Notification.Action);
					public setSemanticAction(param0: number): android.app.Notification.Action.Builder;
					public build(): android.app.Notification.Action;
					public addRemoteInput(param0: android.app.RemoteInput): android.app.Notification.Action.Builder;
					/** @deprecated */
					public constructor(param0: number, param1: string, param2: android.app.PendingIntent);
					public addExtras(param0: android.os.Bundle): android.app.Notification.Action.Builder;
					public getExtras(): android.os.Bundle;
					public constructor(param0: any, param1: string, param2: android.app.PendingIntent);
					public setAllowGeneratedReplies(param0: boolean): android.app.Notification.Action.Builder;
					public extend(param0: android.app.Notification.Action.Extender): android.app.Notification.Action.Builder;
				}
				export class Extender extends java.lang.Object {
					public static class: java.lang.Class<android.app.Notification.Action.Extender>;
					/**
					 * Constructs a new instance of the android.app.Notification$Action$Extender interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						extend(param0: android.app.Notification.Action.Builder): android.app.Notification.Action.Builder;
					});
					public constructor();
					public extend(param0: android.app.Notification.Action.Builder): android.app.Notification.Action.Builder;
				}
				export class WearableExtender extends java.lang.Object implements android.app.Notification.Action.Extender {
					public static class: java.lang.Class<android.app.Notification.Action.WearableExtender>;
					public constructor(param0: android.app.Notification.Action);
					/** @deprecated */
					public getCancelLabel(): string;
					public getHintLaunchesActivity(): boolean;
					/** @deprecated */
					public setConfirmLabel(param0: string): android.app.Notification.Action.WearableExtender;
					public setHintLaunchesActivity(param0: boolean): android.app.Notification.Action.WearableExtender;
					public setHintDisplayActionInline(param0: boolean): android.app.Notification.Action.WearableExtender;
					public isAvailableOffline(): boolean;
					public extend(param0: android.app.Notification.Action.Builder): android.app.Notification.Action.Builder;
					/** @deprecated */
					public setCancelLabel(param0: string): android.app.Notification.Action.WearableExtender;
					public setAvailableOffline(param0: boolean): android.app.Notification.Action.WearableExtender;
					/** @deprecated */
					public setInProgressLabel(param0: string): android.app.Notification.Action.WearableExtender;
					public clone(): any;
					public constructor();
					public clone(): android.app.Notification.Action.WearableExtender;
					/** @deprecated */
					public getConfirmLabel(): string;
					/** @deprecated */
					public getInProgressLabel(): string;
					public getHintDisplayActionInline(): boolean;
				}
			}
			export class BigPictureStyle extends android.app.Notification.Style {
				public static class: java.lang.Class<android.app.Notification.BigPictureStyle>;
				public bigLargeIcon(param0: any): android.app.Notification.BigPictureStyle;
				public setBigContentTitle(param0: string): android.app.Notification.BigPictureStyle;
				public setSummaryText(param0: string): android.app.Notification.BigPictureStyle;
				public bigLargeIcon(param0: android.graphics.Bitmap): android.app.Notification.BigPictureStyle;
				public bigPicture(param0: android.graphics.Bitmap): android.app.Notification.BigPictureStyle;
				/** @deprecated */
				public constructor(param0: android.app.Notification.Builder);
				public constructor();
			}
			export class BigTextStyle extends android.app.Notification.Style {
				public static class: java.lang.Class<android.app.Notification.BigTextStyle>;
				public setSummaryText(param0: string): android.app.Notification.BigTextStyle;
				public setBigContentTitle(param0: string): android.app.Notification.BigTextStyle;
				public bigText(param0: string): android.app.Notification.BigTextStyle;
				/** @deprecated */
				public constructor(param0: android.app.Notification.Builder);
				public constructor();
			}
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.app.Notification.Builder>;
				public setCustomHeadsUpContentView(param0: android.widget.RemoteViews): android.app.Notification.Builder;
				public setContentTitle(param0: string): android.app.Notification.Builder;
				public setProgress(param0: number, param1: number, param2: boolean): android.app.Notification.Builder;
				public setOngoing(param0: boolean): android.app.Notification.Builder;
				public setGroup(param0: string): android.app.Notification.Builder;
				public getStyle(): android.app.Notification.Style;
				public createBigContentView(): android.widget.RemoteViews;
				public setLargeIcon(param0: any): android.app.Notification.Builder;
				public setBadgeIconType(param0: number): android.app.Notification.Builder;
				/** @deprecated */
				public setVibrate(param0: native.Array<number>): android.app.Notification.Builder;
				/** @deprecated */
				public setSound(param0: android.net.Uri): android.app.Notification.Builder;
				public addExtras(param0: android.os.Bundle): android.app.Notification.Builder;
				/** @deprecated */
				public setSound(param0: android.net.Uri, param1: any): android.app.Notification.Builder;
				/** @deprecated */
				public setContentInfo(param0: string): android.app.Notification.Builder;
				public getExtras(): android.os.Bundle;
				public createHeadsUpContentView(): android.widget.RemoteViews;
				public setShowWhen(param0: boolean): android.app.Notification.Builder;
				public setSubText(param0: string): android.app.Notification.Builder;
				/** @deprecated */
				public addPerson(param0: string): android.app.Notification.Builder;
				public setGroupSummary(param0: boolean): android.app.Notification.Builder;
				public setTicker(param0: string): android.app.Notification.Builder;
				/** @deprecated */
				public setContent(param0: android.widget.RemoteViews): android.app.Notification.Builder;
				public setChannelId(param0: string): android.app.Notification.Builder;
				public setCategory(param0: string): android.app.Notification.Builder;
				public setFullScreenIntent(param0: android.app.PendingIntent, param1: boolean): android.app.Notification.Builder;
				/** @deprecated */
				public getNotification(): android.app.Notification;
				public setGroupAlertBehavior(param0: number): android.app.Notification.Builder;
				/** @deprecated */
				public setSound(param0: android.net.Uri, param1: number): android.app.Notification.Builder;
				public setRemoteInputHistory(param0: native.Array<string>): android.app.Notification.Builder;
				public setUsesChronometer(param0: boolean): android.app.Notification.Builder;
				public addAction(param0: android.app.Notification.Action): android.app.Notification.Builder;
				public setVisibility(param0: number): android.app.Notification.Builder;
				public setColor(param0: number): android.app.Notification.Builder;
				public setContentIntent(param0: android.app.PendingIntent): android.app.Notification.Builder;
				/** @deprecated */
				public setLights(param0: number, param1: number, param2: number): android.app.Notification.Builder;
				public setAutoCancel(param0: boolean): android.app.Notification.Builder;
				public setSortKey(param0: string): android.app.Notification.Builder;
				public setCustomBigContentView(param0: android.widget.RemoteViews): android.app.Notification.Builder;
				/** @deprecated */
				public setDefaults(param0: number): android.app.Notification.Builder;
				/** @deprecated */
				public setPriority(param0: number): android.app.Notification.Builder;
				public setSettingsText(param0: string): android.app.Notification.Builder;
				public setChronometerCountDown(param0: boolean): android.app.Notification.Builder;
				public setSmallIcon(param0: number): android.app.Notification.Builder;
				public setLargeIcon(param0: android.graphics.Bitmap): android.app.Notification.Builder;
				public setShortcutId(param0: string): android.app.Notification.Builder;
				public setCustomContentView(param0: android.widget.RemoteViews): android.app.Notification.Builder;
				public setOnlyAlertOnce(param0: boolean): android.app.Notification.Builder;
				public setPublicVersion(param0: android.app.Notification): android.app.Notification.Builder;
				public setLocalOnly(param0: boolean): android.app.Notification.Builder;
				public createContentView(): android.widget.RemoteViews;
				/** @deprecated */
				public addAction(param0: number, param1: string, param2: android.app.PendingIntent): android.app.Notification.Builder;
				public constructor(param0: android.content.Context, param1: string);
				public setContentText(param0: string): android.app.Notification.Builder;
				public setExtras(param0: android.os.Bundle): android.app.Notification.Builder;
				public setNumber(param0: number): android.app.Notification.Builder;
				public build(): android.app.Notification;
				public setWhen(param0: number): android.app.Notification.Builder;
				public setSmallIcon(param0: number, param1: number): android.app.Notification.Builder;
				/** @deprecated */
				public setTicker(param0: string, param1: android.widget.RemoteViews): android.app.Notification.Builder;
				public setSmallIcon(param0: any): android.app.Notification.Builder;
				public setColorized(param0: boolean): android.app.Notification.Builder;
				public setActions(param0: native.Array<android.app.Notification.Action>): android.app.Notification.Builder;
				public setTimeoutAfter(param0: number): android.app.Notification.Builder;
				/** @deprecated */
				public constructor(param0: android.content.Context);
				public setDeleteIntent(param0: android.app.PendingIntent): android.app.Notification.Builder;
				public setStyle(param0: android.app.Notification.Style): android.app.Notification.Builder;
				public static recoverBuilder(param0: android.content.Context, param1: android.app.Notification): android.app.Notification.Builder;
				public addPerson(param0: any): android.app.Notification.Builder;
				public extend(param0: android.app.Notification.Extender): android.app.Notification.Builder;
			}
			export class CarExtender extends java.lang.Object implements android.app.Notification.Extender {
				public static class: java.lang.Class<android.app.Notification.CarExtender>;
				public extend(param0: android.app.Notification.Builder): android.app.Notification.Builder;
				public getColor(): number;
				public constructor(param0: android.app.Notification);
				public setUnreadConversation(param0: android.app.Notification.CarExtender.UnreadConversation): android.app.Notification.CarExtender;
				public getLargeIcon(): android.graphics.Bitmap;
				public setColor(param0: number): android.app.Notification.CarExtender;
				public setLargeIcon(param0: android.graphics.Bitmap): android.app.Notification.CarExtender;
				public getUnreadConversation(): android.app.Notification.CarExtender.UnreadConversation;
				public constructor();
			}
			export module CarExtender {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.app.Notification.CarExtender.Builder>;
					public setLatestTimestamp(param0: number): android.app.Notification.CarExtender.Builder;
					public setReadPendingIntent(param0: android.app.PendingIntent): android.app.Notification.CarExtender.Builder;
					public constructor(param0: string);
					public setReplyAction(param0: android.app.PendingIntent, param1: android.app.RemoteInput): android.app.Notification.CarExtender.Builder;
					public addMessage(param0: string): android.app.Notification.CarExtender.Builder;
					public build(): android.app.Notification.CarExtender.UnreadConversation;
				}
				export class UnreadConversation extends java.lang.Object {
					public static class: java.lang.Class<android.app.Notification.CarExtender.UnreadConversation>;
					public getReplyPendingIntent(): android.app.PendingIntent;
					public getParticipants(): native.Array<string>;
					public getLatestTimestamp(): number;
					public getMessages(): native.Array<string>;
					public getParticipant(): string;
					public getReadPendingIntent(): android.app.PendingIntent;
					public getRemoteInput(): android.app.RemoteInput;
				}
			}
			export class DecoratedCustomViewStyle extends android.app.Notification.Style {
				public static class: java.lang.Class<android.app.Notification.DecoratedCustomViewStyle>;
				public constructor();
			}
			export class DecoratedMediaCustomViewStyle extends android.app.Notification.MediaStyle {
				public static class: java.lang.Class<android.app.Notification.DecoratedMediaCustomViewStyle>;
				/** @deprecated */
				public constructor(param0: android.app.Notification.Builder);
				public constructor();
			}
			export class Extender extends java.lang.Object {
				public static class: java.lang.Class<android.app.Notification.Extender>;
				/**
				 * Constructs a new instance of the android.app.Notification$Extender interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					extend(param0: android.app.Notification.Builder): android.app.Notification.Builder;
				});
				public constructor();
				public extend(param0: android.app.Notification.Builder): android.app.Notification.Builder;
			}
			export class InboxStyle extends android.app.Notification.Style {
				public static class: java.lang.Class<android.app.Notification.InboxStyle>;
				public addLine(param0: string): android.app.Notification.InboxStyle;
				public setBigContentTitle(param0: string): android.app.Notification.InboxStyle;
				public setSummaryText(param0: string): android.app.Notification.InboxStyle;
				/** @deprecated */
				public constructor(param0: android.app.Notification.Builder);
				public constructor();
			}
			export class MediaStyle extends android.app.Notification.Style {
				public static class: java.lang.Class<android.app.Notification.MediaStyle>;
				public setMediaSession(param0: any): android.app.Notification.MediaStyle;
				/** @deprecated */
				public constructor(param0: android.app.Notification.Builder);
				public setShowActionsInCompactView(param0: native.Array<number>): android.app.Notification.MediaStyle;
				public constructor();
			}
			export class MessagingStyle extends android.app.Notification.Style {
				public static class: java.lang.Class<android.app.Notification.MessagingStyle>;
				public static MAXIMUM_RETAINED_MESSAGES: number;
				public setConversationTitle(param0: string): android.app.Notification.MessagingStyle;
				public isGroupConversation(): boolean;
				public getHistoricMessages(): java.util.List<android.app.Notification.MessagingStyle.Message>;
				public getMessages(): java.util.List<android.app.Notification.MessagingStyle.Message>;
				/** @deprecated */
				public constructor(param0: string);
				public getConversationTitle(): string;
				public constructor();
				public getUser(): any;
				/** @deprecated */
				public addMessage(param0: string, param1: number, param2: string): android.app.Notification.MessagingStyle;
				public addMessage(param0: string, param1: number, param2: any): android.app.Notification.MessagingStyle;
				public addHistoricMessage(param0: android.app.Notification.MessagingStyle.Message): android.app.Notification.MessagingStyle;
				public setGroupConversation(param0: boolean): android.app.Notification.MessagingStyle;
				public constructor(param0: any);
				/** @deprecated */
				public getUserDisplayName(): string;
				public addMessage(param0: android.app.Notification.MessagingStyle.Message): android.app.Notification.MessagingStyle;
			}
			export module MessagingStyle {
				export class Message extends java.lang.Object {
					public static class: java.lang.Class<android.app.Notification.MessagingStyle.Message>;
					public getDataMimeType(): string;
					public getText(): string;
					public setData(param0: string, param1: android.net.Uri): android.app.Notification.MessagingStyle.Message;
					public getTimestamp(): number;
					public getSenderPerson(): any;
					public constructor(param0: string, param1: number, param2: any);
					public getExtras(): android.os.Bundle;
					public getDataUri(): android.net.Uri;
					/** @deprecated */
					public getSender(): string;
					/** @deprecated */
					public constructor(param0: string, param1: number, param2: string);
				}
			}
			export abstract class Style extends java.lang.Object {
				public static class: java.lang.Class<android.app.Notification.Style>;
				public mBuilder: android.app.Notification.Builder;
				public internalSetSummaryText(param0: string): void;
				public checkBuilder(): void;
				public internalSetBigContentTitle(param0: string): void;
				public getStandardView(param0: number): android.widget.RemoteViews;
				public setBuilder(param0: android.app.Notification.Builder): void;
				public constructor();
				public build(): android.app.Notification;
			}
			export class WearableExtender extends java.lang.Object implements android.app.Notification.Extender {
				public static class: java.lang.Class<android.app.Notification.WearableExtender>;
				public static SCREEN_TIMEOUT_LONG: number;
				public static SCREEN_TIMEOUT_SHORT: number;
				public static SIZE_DEFAULT: number;
				public static SIZE_FULL_SCREEN: number;
				public static SIZE_LARGE: number;
				public static SIZE_MEDIUM: number;
				public static SIZE_SMALL: number;
				public static SIZE_XSMALL: number;
				public static UNSET_ACTION_INDEX: number;
				public clearActions(): android.app.Notification.WearableExtender;
				public addActions(param0: java.util.List<android.app.Notification.Action>): android.app.Notification.WearableExtender;
				/** @deprecated */
				public setHintShowBackgroundOnly(param0: boolean): android.app.Notification.WearableExtender;
				/** @deprecated */
				public getCustomSizePreset(): number;
				/** @deprecated */
				public setCustomContentHeight(param0: number): android.app.Notification.WearableExtender;
				public getContentIntentAvailableOffline(): boolean;
				public constructor();
				/** @deprecated */
				public getCustomContentHeight(): number;
				public setHintAmbientBigPicture(param0: boolean): android.app.Notification.WearableExtender;
				public clone(): any;
				/** @deprecated */
				public getContentIconGravity(): number;
				public setContentAction(param0: number): android.app.Notification.WearableExtender;
				public getHintContentIntentLaunchesActivity(): boolean;
				public setContentIntentAvailableOffline(param0: boolean): android.app.Notification.WearableExtender;
				public addAction(param0: android.app.Notification.Action): android.app.Notification.WearableExtender;
				/** @deprecated */
				public getHintScreenTimeout(): number;
				public setStartScrollBottom(param0: boolean): android.app.Notification.WearableExtender;
				public getDismissalId(): string;
				public extend(param0: android.app.Notification.Builder): android.app.Notification.Builder;
				public setBackground(param0: android.graphics.Bitmap): android.app.Notification.WearableExtender;
				public addPage(param0: android.app.Notification): android.app.Notification.WearableExtender;
				public constructor(param0: android.app.Notification);
				public getHintAmbientBigPicture(): boolean;
				public getBridgeTag(): string;
				public addPages(param0: java.util.List<android.app.Notification>): android.app.Notification.WearableExtender;
				/** @deprecated */
				public setGravity(param0: number): android.app.Notification.WearableExtender;
				/** @deprecated */
				public setHintAvoidBackgroundClipping(param0: boolean): android.app.Notification.WearableExtender;
				public setDisplayIntent(param0: android.app.PendingIntent): android.app.Notification.WearableExtender;
				public setHintContentIntentLaunchesActivity(param0: boolean): android.app.Notification.WearableExtender;
				/** @deprecated */
				public setContentIconGravity(param0: number): android.app.Notification.WearableExtender;
				/** @deprecated */
				public getGravity(): number;
				/** @deprecated */
				public getHintHideIcon(): boolean;
				public getStartScrollBottom(): boolean;
				/** @deprecated */
				public getHintShowBackgroundOnly(): boolean;
				/** @deprecated */
				public setHintScreenTimeout(param0: number): android.app.Notification.WearableExtender;
				public clearPages(): android.app.Notification.WearableExtender;
				/** @deprecated */
				public setCustomSizePreset(param0: number): android.app.Notification.WearableExtender;
				public setBridgeTag(param0: string): android.app.Notification.WearableExtender;
				public clone(): android.app.Notification.WearableExtender;
				public getContentAction(): number;
				/** @deprecated */
				public getContentIcon(): number;
				public setDismissalId(param0: string): android.app.Notification.WearableExtender;
				public getPages(): java.util.List<android.app.Notification>;
				/** @deprecated */
				public setContentIcon(param0: number): android.app.Notification.WearableExtender;
				public getDisplayIntent(): android.app.PendingIntent;
				public getBackground(): android.graphics.Bitmap;
				/** @deprecated */
				public setHintHideIcon(param0: boolean): android.app.Notification.WearableExtender;
				public getActions(): java.util.List<android.app.Notification.Action>;
				/** @deprecated */
				public getHintAvoidBackgroundClipping(): boolean;
			}
		}
	}
}

declare module android {
	export module app {
		export class NotificationChannel extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.app.NotificationChannel>;
			public static CREATOR: android.os.Parcelable.Creator<android.app.NotificationChannel>;
			public static DEFAULT_CHANNEL_ID: string;
			public setLockscreenVisibility(param0: number): void;
			public equals(param0: any): boolean;
			public getLightColor(): number;
			public canShowBadge(): boolean;
			public setShowBadge(param0: boolean): void;
			public getSound(): android.net.Uri;
			public setLightColor(param0: number): void;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public setGroup(param0: string): void;
			public getImportance(): number;
			public getAudioAttributes(): any;
			public getLockscreenVisibility(): number;
			public constructor(param0: string, param1: string, param2: number);
			public setVibrationPattern(param0: native.Array<number>): void;
			public setImportance(param0: number): void;
			public getVibrationPattern(): native.Array<number>;
			public setSound(param0: android.net.Uri, param1: any): void;
			public getGroup(): string;
			public setDescription(param0: string): void;
			public canBypassDnd(): boolean;
			public getId(): string;
			public shouldShowLights(): boolean;
			public toString(): string;
			public getName(): string;
			public shouldVibrate(): boolean;
			public describeContents(): number;
			public enableLights(param0: boolean): void;
			public enableVibration(param0: boolean): void;
			public setBypassDnd(param0: boolean): void;
			public getDescription(): string;
			public setName(param0: string): void;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module app {
		export class NotificationChannelGroup extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.app.NotificationChannelGroup>;
			public static CREATOR: android.os.Parcelable.Creator<android.app.NotificationChannelGroup>;
			public isBlocked(): boolean;
			public equals(param0: any): boolean;
			public getChannels(): java.util.List<android.app.NotificationChannel>;
			public setDescription(param0: string): void;
			public clone(): android.app.NotificationChannelGroup;
			public constructor(param0: string, param1: string);
			public getId(): string;
			public clone(): any;
			public toString(): string;
			public getName(): string;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getDescription(): string;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module app {
		export class NotificationManager extends java.lang.Object {
			public static class: java.lang.Class<android.app.NotificationManager>;
			public static ACTION_APP_BLOCK_STATE_CHANGED: string;
			public static ACTION_INTERRUPTION_FILTER_CHANGED: string;
			public static ACTION_NOTIFICATION_CHANNEL_BLOCK_STATE_CHANGED: string;
			public static ACTION_NOTIFICATION_CHANNEL_GROUP_BLOCK_STATE_CHANGED: string;
			public static ACTION_NOTIFICATION_POLICY_ACCESS_GRANTED_CHANGED: string;
			public static ACTION_NOTIFICATION_POLICY_CHANGED: string;
			public static EXTRA_BLOCKED_STATE: string;
			public static EXTRA_NOTIFICATION_CHANNEL_GROUP_ID: string;
			public static EXTRA_NOTIFICATION_CHANNEL_ID: string;
			public static IMPORTANCE_DEFAULT: number;
			public static IMPORTANCE_HIGH: number;
			public static IMPORTANCE_LOW: number;
			public static IMPORTANCE_MAX: number;
			public static IMPORTANCE_MIN: number;
			public static IMPORTANCE_NONE: number;
			public static IMPORTANCE_UNSPECIFIED: number;
			public static INTERRUPTION_FILTER_ALARMS: number;
			public static INTERRUPTION_FILTER_ALL: number;
			public static INTERRUPTION_FILTER_NONE: number;
			public static INTERRUPTION_FILTER_PRIORITY: number;
			public static INTERRUPTION_FILTER_UNKNOWN: number;
			public createNotificationChannelGroup(param0: android.app.NotificationChannelGroup): void;
			public getNotificationChannels(): java.util.List<android.app.NotificationChannel>;
			public getCurrentInterruptionFilter(): number;
			public updateAutomaticZenRule(param0: string, param1: android.app.AutomaticZenRule): boolean;
			public removeAutomaticZenRule(param0: string): boolean;
			public createNotificationChannel(param0: android.app.NotificationChannel): void;
			public getNotificationPolicy(): android.app.NotificationManager.Policy;
			public notify(param0: number, param1: android.app.Notification): void;
			public cancelAll(): void;
			public notify(): void;
			public getNotificationChannelGroup(param0: string): android.app.NotificationChannelGroup;
			public deleteNotificationChannel(param0: string): void;
			public getImportance(): number;
			public setInterruptionFilter(param0: number): void;
			public getNotificationChannel(param0: string): android.app.NotificationChannel;
			public isNotificationListenerAccessGranted(param0: android.content.ComponentName): boolean;
			public getNotificationChannelGroups(): java.util.List<android.app.NotificationChannelGroup>;
			public addAutomaticZenRule(param0: android.app.AutomaticZenRule): string;
			public notify(param0: string, param1: number, param2: android.app.Notification): void;
			public getAutomaticZenRule(param0: string): android.app.AutomaticZenRule;
			public createNotificationChannelGroups(param0: java.util.List<android.app.NotificationChannelGroup>): void;
			public getActiveNotifications(): native.Array<android.service.notification.StatusBarNotification>;
			public getAutomaticZenRules(): java.util.Map<string,android.app.AutomaticZenRule>;
			public cancel(param0: string, param1: number): void;
			public deleteNotificationChannelGroup(param0: string): void;
			public isNotificationPolicyAccessGranted(): boolean;
			public areNotificationsEnabled(): boolean;
			public createNotificationChannels(param0: java.util.List<android.app.NotificationChannel>): void;
			public cancel(param0: number): void;
			public setNotificationPolicy(param0: android.app.NotificationManager.Policy): void;
		}
		export module NotificationManager {
			export class Policy extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.app.NotificationManager.Policy>;
				public static CREATOR: android.os.Parcelable.Creator<android.app.NotificationManager.Policy>;
				public static PRIORITY_CATEGORY_ALARMS: number;
				public static PRIORITY_CATEGORY_CALLS: number;
				public static PRIORITY_CATEGORY_EVENTS: number;
				public static PRIORITY_CATEGORY_MEDIA: number;
				public static PRIORITY_CATEGORY_MESSAGES: number;
				public static PRIORITY_CATEGORY_REMINDERS: number;
				public static PRIORITY_CATEGORY_REPEAT_CALLERS: number;
				public static PRIORITY_CATEGORY_SYSTEM: number;
				public static PRIORITY_SENDERS_ANY: number;
				public static PRIORITY_SENDERS_CONTACTS: number;
				public static PRIORITY_SENDERS_STARRED: number;
				public static SUPPRESSED_EFFECT_AMBIENT: number;
				public static SUPPRESSED_EFFECT_BADGE: number;
				public static SUPPRESSED_EFFECT_FULL_SCREEN_INTENT: number;
				public static SUPPRESSED_EFFECT_LIGHTS: number;
				public static SUPPRESSED_EFFECT_NOTIFICATION_LIST: number;
				public static SUPPRESSED_EFFECT_PEEK: number;
				public static SUPPRESSED_EFFECT_SCREEN_OFF: number;
				public static SUPPRESSED_EFFECT_SCREEN_ON: number;
				public static SUPPRESSED_EFFECT_STATUS_BAR: number;
				public priorityCallSenders: number;
				public priorityCategories: number;
				public priorityMessageSenders: number;
				public suppressedVisualEffects: number;
				public constructor(param0: number, param1: number, param2: number);
				public static priorityCategoriesToString(param0: number): string;
				public constructor(param0: number, param1: number, param2: number, param3: number);
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public hashCode(): number;
				public describeContents(): number;
				public equals(param0: any): boolean;
				public static suppressedEffectsToString(param0: number): string;
				public toString(): string;
				public static prioritySendersToString(param0: number): string;
			}
		}
	}
}

declare module android {
	export module app {
		export class PendingIntent extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.app.PendingIntent>;
			public static CREATOR: android.os.Parcelable.Creator<android.app.PendingIntent>;
			public static FLAG_CANCEL_CURRENT: number;
			public static FLAG_IMMUTABLE: number;
			public static FLAG_NO_CREATE: number;
			public static FLAG_ONE_SHOT: number;
			public static FLAG_UPDATE_CURRENT: number;
			public equals(param0: any): boolean;
			public send(): void;
			public send(param0: android.content.Context, param1: number, param2: android.content.Intent): void;
			public cancel(): void;
			public static readPendingIntentOrNullFromParcel(param0: android.os.Parcel): android.app.PendingIntent;
			public getCreatorPackage(): string;
			public static getBroadcast(param0: android.content.Context, param1: number, param2: android.content.Intent, param3: number): android.app.PendingIntent;
			public static getForegroundService(param0: android.content.Context, param1: number, param2: android.content.Intent, param3: number): android.app.PendingIntent;
			public send(param0: number): void;
			public getCreatorUserHandle(): android.os.UserHandle;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public static getActivity(param0: android.content.Context, param1: number, param2: android.content.Intent, param3: number): android.app.PendingIntent;
			public send(param0: android.content.Context, param1: number, param2: android.content.Intent, param3: android.app.PendingIntent.OnFinished, param4: android.os.Handler): void;
			public getCreatorUid(): number;
			public static getActivities(param0: android.content.Context, param1: number, param2: native.Array<android.content.Intent>, param3: number): android.app.PendingIntent;
			public send(param0: android.content.Context, param1: number, param2: android.content.Intent, param3: android.app.PendingIntent.OnFinished, param4: android.os.Handler, param5: string, param6: android.os.Bundle): void;
			/** @deprecated */
			public getTargetPackage(): string;
			public static writePendingIntentOrNullToParcel(param0: android.app.PendingIntent, param1: android.os.Parcel): void;
			public static getService(param0: android.content.Context, param1: number, param2: android.content.Intent, param3: number): android.app.PendingIntent;
			public send(param0: android.content.Context, param1: number, param2: android.content.Intent, param3: android.app.PendingIntent.OnFinished, param4: android.os.Handler, param5: string): void;
			public toString(): string;
			public getIntentSender(): android.content.IntentSender;
			public describeContents(): number;
			public static getActivities(param0: android.content.Context, param1: number, param2: native.Array<android.content.Intent>, param3: number, param4: android.os.Bundle): android.app.PendingIntent;
			public send(param0: number, param1: android.app.PendingIntent.OnFinished, param2: android.os.Handler): void;
			public static getActivity(param0: android.content.Context, param1: number, param2: android.content.Intent, param3: number, param4: android.os.Bundle): android.app.PendingIntent;
			public hashCode(): number;
		}
		export module PendingIntent {
			export class CanceledException extends android.util.AndroidException {
				public static class: java.lang.Class<android.app.PendingIntent.CanceledException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Exception);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
			export class OnFinished extends java.lang.Object {
				public static class: java.lang.Class<android.app.PendingIntent.OnFinished>;
				/**
				 * Constructs a new instance of the android.app.PendingIntent$OnFinished interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onSendFinished(param0: android.app.PendingIntent, param1: android.content.Intent, param2: number, param3: string, param4: android.os.Bundle): void;
				});
				public constructor();
				public onSendFinished(param0: android.app.PendingIntent, param1: android.content.Intent, param2: number, param3: string, param4: android.os.Bundle): void;
			}
		}
	}
}

declare module android {
	export module app {
		export class Person extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.app.Person>;
			public static CREATOR: android.os.Parcelable.Creator<any>;
			public getName(): string;
			public getUri(): string;
			public describeContents(): number;
			public getKey(): string;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public isImportant(): boolean;
			public toBuilder(): android.app.Person.Builder;
			public isBot(): boolean;
			public getIcon(): any;
		}
		export module Person {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.app.Person.Builder>;
				public build(): any;
				public setBot(param0: boolean): android.app.Person.Builder;
				public setName(param0: string): android.app.Person.Builder;
				public setUri(param0: string): android.app.Person.Builder;
				public setKey(param0: string): android.app.Person.Builder;
				public setImportant(param0: boolean): android.app.Person.Builder;
				public setIcon(param0: any): android.app.Person.Builder;
				public constructor();
			}
		}
	}
}

declare module android {
	export module app {
		export class PictureInPictureParams extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.app.PictureInPictureParams>;
			public static CREATOR: android.os.Parcelable.Creator<android.app.PictureInPictureParams>;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
		}
		export module PictureInPictureParams {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.app.PictureInPictureParams.Builder>;
				public setAspectRatio(param0: android.util.Rational): android.app.PictureInPictureParams.Builder;
				public setSourceRectHint(param0: android.graphics.Rect): android.app.PictureInPictureParams.Builder;
				public build(): android.app.PictureInPictureParams;
				public setActions(param0: java.util.List<any>): android.app.PictureInPictureParams.Builder;
				public constructor();
			}
		}
	}
}

declare module android {
	export module app {
		export class Presentation extends android.app.Dialog {
			public static class: java.lang.Class<android.app.Presentation>;
			public show(): void;
			public onWindowStartingActionMode(param0: android.view.ActionMode.Callback): android.view.ActionMode;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public getResources(): android.content.res.Resources;
			public onStart(): void;
			public onCreatePanelMenu(param0: number, param1: android.view.Menu): boolean;
			public constructor(param0: android.content.Context, param1: boolean, param2: android.content.DialogInterface.OnCancelListener);
			public onWindowStartingActionMode(param0: android.view.ActionMode.Callback, param1: number): android.view.ActionMode;
			public cancel(): void;
			public onProvideKeyboardShortcuts(param0: java.util.List<any>, param1: android.view.Menu, param2: number): void;
			public onPanelClosed(param0: number, param1: android.view.Menu): void;
			public onSearchRequested(): boolean;
			public constructor(param0: android.content.Context, param1: android.view.Display);
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public onActionModeFinished(param0: android.view.ActionMode): void;
			public onCreatePanelView(param0: number): android.view.View;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public onDisplayChanged(): void;
			public dispatchGenericMotionEvent(param0: android.view.MotionEvent): boolean;
			public onStop(): void;
			public onDetachedFromWindow(): void;
			public onActionModeStarted(param0: android.view.ActionMode): void;
			public dispatchKeyShortcutEvent(param0: android.view.KeyEvent): boolean;
			public onMenuItemSelected(param0: number, param1: android.view.MenuItem): boolean;
			public onPointerCaptureChanged(param0: boolean): void;
			public dismiss(): void;
			public onMenuOpened(param0: number, param1: android.view.Menu): boolean;
			public onSearchRequested(param0: any): boolean;
			public constructor(param0: android.content.Context, param1: number);
			public getDisplay(): android.view.Display;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public onDisplayRemoved(): void;
			public onCreateContextMenu(param0: android.view.ContextMenu, param1: android.view.View, param2: android.view.ContextMenu.ContextMenuInfo): void;
			public dispatchTouchEvent(param0: android.view.MotionEvent): boolean;
			public dispatchTrackballEvent(param0: android.view.MotionEvent): boolean;
			public constructor(param0: android.content.Context);
			public dispatchKeyEvent(param0: android.view.KeyEvent): boolean;
			public onPreparePanel(param0: number, param1: android.view.View, param2: android.view.Menu): boolean;
			public dispatchPopulateAccessibilityEvent(param0: android.view.accessibility.AccessibilityEvent): boolean;
			public onWindowFocusChanged(param0: boolean): void;
			public onAttachedToWindow(): void;
			public onWindowAttributesChanged(param0: android.view.WindowManager.LayoutParams): void;
			public onContentChanged(): void;
			public constructor(param0: android.content.Context, param1: android.view.Display, param2: number);
		}
	}
}

declare module android {
	export module app {
		export class ProgressDialog extends android.app.AlertDialog {
			public static class: java.lang.Class<android.app.ProgressDialog>;
			public static STYLE_HORIZONTAL: number;
			public static STYLE_SPINNER: number;
			public getProgress(): number;
			public onStart(): void;
			public onCreatePanelMenu(param0: number, param1: android.view.Menu): boolean;
			public cancel(): void;
			public static show(param0: android.content.Context, param1: string, param2: string, param3: boolean, param4: boolean): android.app.ProgressDialog;
			public static show(param0: android.content.Context, param1: string, param2: string): android.app.ProgressDialog;
			public setProgressNumberFormat(param0: string): void;
			public onSearchRequested(): boolean;
			public setProgress(param0: number): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public incrementProgressBy(param0: number): void;
			public onCreatePanelView(param0: number): android.view.View;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public dispatchGenericMotionEvent(param0: android.view.MotionEvent): boolean;
			public onDetachedFromWindow(): void;
			public onPointerCaptureChanged(param0: boolean): void;
			public setProgressStyle(param0: number): void;
			public constructor(param0: android.content.Context, param1: number);
			public isIndeterminate(): boolean;
			public setMessage(param0: string): void;
			public onCreateContextMenu(param0: android.view.ContextMenu, param1: android.view.View, param2: android.view.ContextMenu.ContextMenuInfo): void;
			public dispatchTouchEvent(param0: android.view.MotionEvent): boolean;
			public onPreparePanel(param0: number, param1: android.view.View, param2: android.view.Menu): boolean;
			public static show(param0: android.content.Context, param1: string, param2: string, param3: boolean, param4: boolean, param5: android.content.DialogInterface.OnCancelListener): android.app.ProgressDialog;
			public onWindowFocusChanged(param0: boolean): void;
			public onCreate(param0: android.os.Bundle): void;
			public setIndeterminateDrawable(param0: android.graphics.drawable.Drawable): void;
			public onContentChanged(): void;
			public show(): void;
			public onWindowStartingActionMode(param0: android.view.ActionMode.Callback): android.view.ActionMode;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public getSecondaryProgress(): number;
			public constructor(param0: android.content.Context, param1: boolean, param2: android.content.DialogInterface.OnCancelListener);
			public onWindowStartingActionMode(param0: android.view.ActionMode.Callback, param1: number): android.view.ActionMode;
			public static show(param0: android.content.Context, param1: string, param2: string, param3: boolean): android.app.ProgressDialog;
			public onProvideKeyboardShortcuts(param0: java.util.List<any>, param1: android.view.Menu, param2: number): void;
			public onPanelClosed(param0: number, param1: android.view.Menu): void;
			public getMax(): number;
			public setIndeterminate(param0: boolean): void;
			public onActionModeFinished(param0: android.view.ActionMode): void;
			public setMax(param0: number): void;
			public onStop(): void;
			public setSecondaryProgress(param0: number): void;
			public onActionModeStarted(param0: android.view.ActionMode): void;
			public dispatchKeyShortcutEvent(param0: android.view.KeyEvent): boolean;
			public onMenuItemSelected(param0: number, param1: android.view.MenuItem): boolean;
			public dismiss(): void;
			public onMenuOpened(param0: number, param1: android.view.Menu): boolean;
			public onSearchRequested(param0: any): boolean;
			public setProgressPercentFormat(param0: java.text.NumberFormat): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public setProgressDrawable(param0: android.graphics.drawable.Drawable): void;
			public dispatchTrackballEvent(param0: android.view.MotionEvent): boolean;
			public constructor(param0: android.content.Context);
			public dispatchKeyEvent(param0: android.view.KeyEvent): boolean;
			public incrementSecondaryProgressBy(param0: number): void;
			public dispatchPopulateAccessibilityEvent(param0: android.view.accessibility.AccessibilityEvent): boolean;
			public onAttachedToWindow(): void;
			public onWindowAttributesChanged(param0: android.view.WindowManager.LayoutParams): void;
		}
	}
}

declare module android {
	export module app {
		export class RemoteAction extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.app.RemoteAction>;
			public static CREATOR: android.os.Parcelable.Creator<any>;
			public shouldShowIcon(): boolean;
			public getTitle(): string;
			public getActionIntent(): android.app.PendingIntent;
			public constructor(param0: any, param1: string, param2: string, param3: android.app.PendingIntent);
			public dump(param0: string, param1: java.io.PrintWriter): void;
			public getIcon(): any;
			public getContentDescription(): string;
			public isEnabled(): boolean;
			public clone(): any;
			public setShouldShowIcon(param0: boolean): void;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public setEnabled(param0: boolean): void;
		}
	}
}

declare module android {
	export module app {
		export class RemoteInput extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.app.RemoteInput>;
			public static CREATOR: android.os.Parcelable.Creator<android.app.RemoteInput>;
			public static EXTRA_RESULTS_DATA: string;
			public static RESULTS_CLIP_LABEL: string;
			public static SOURCE_CHOICE: number;
			public static SOURCE_FREE_FORM_INPUT: number;
			public getLabel(): string;
			public getAllowedDataTypes(): java.util.Set<string>;
			public static setResultsSource(param0: android.content.Intent, param1: number): void;
			public getAllowFreeFormInput(): boolean;
			public static getResultsFromIntent(param0: android.content.Intent): android.os.Bundle;
			public static addResultsToIntent(param0: native.Array<android.app.RemoteInput>, param1: android.content.Intent, param2: android.os.Bundle): void;
			public getChoices(): native.Array<string>;
			public isDataOnly(): boolean;
			public describeContents(): number;
			public static addDataResultToIntent(param0: android.app.RemoteInput, param1: android.content.Intent, param2: java.util.Map<string,android.net.Uri>): void;
			public static getResultsSource(param0: android.content.Intent): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getResultKey(): string;
			public static getDataResultsFromIntent(param0: android.content.Intent, param1: string): java.util.Map<string,android.net.Uri>;
			public getExtras(): android.os.Bundle;
		}
		export module RemoteInput {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.app.RemoteInput.Builder>;
				public build(): android.app.RemoteInput;
				public setAllowDataType(param0: string, param1: boolean): android.app.RemoteInput.Builder;
				public getExtras(): android.os.Bundle;
				public setLabel(param0: string): android.app.RemoteInput.Builder;
				public setChoices(param0: native.Array<string>): android.app.RemoteInput.Builder;
				public addExtras(param0: android.os.Bundle): android.app.RemoteInput.Builder;
				public constructor(param0: string);
				public setAllowFreeFormInput(param0: boolean): android.app.RemoteInput.Builder;
			}
		}
	}
}

declare module android {
	export module app {
		export class SearchManager extends java.lang.Object implements android.content.DialogInterface.OnDismissListener, android.content.DialogInterface.OnCancelListener {
			public static class: java.lang.Class<android.app.SearchManager>;
			public static ACTION_KEY: string;
			public static ACTION_MSG: string;
			public static APP_DATA: string;
			public static CURSOR_EXTRA_KEY_IN_PROGRESS: string;
			public static EXTRA_DATA_KEY: string;
			public static EXTRA_NEW_SEARCH: string;
			public static EXTRA_SELECT_QUERY: string;
			public static EXTRA_WEB_SEARCH_PENDINGINTENT: string;
			public static FLAG_QUERY_REFINEMENT: number;
			public static INTENT_ACTION_GLOBAL_SEARCH: string;
			public static INTENT_ACTION_SEARCHABLES_CHANGED: string;
			public static INTENT_ACTION_SEARCH_SETTINGS: string;
			public static INTENT_ACTION_SEARCH_SETTINGS_CHANGED: string;
			public static INTENT_ACTION_WEB_SEARCH_SETTINGS: string;
			public static INTENT_GLOBAL_SEARCH_ACTIVITY_CHANGED: string;
			public static MENU_KEY: string;
			public static MENU_KEYCODE: number;
			public static QUERY: string;
			public static SHORTCUT_MIME_TYPE: string;
			public static SUGGEST_COLUMN_AUDIO_CHANNEL_CONFIG: string;
			public static SUGGEST_COLUMN_CONTENT_TYPE: string;
			public static SUGGEST_COLUMN_DURATION: string;
			public static SUGGEST_COLUMN_FLAGS: string;
			public static SUGGEST_COLUMN_FORMAT: string;
			public static SUGGEST_COLUMN_ICON_1: string;
			public static SUGGEST_COLUMN_ICON_2: string;
			public static SUGGEST_COLUMN_INTENT_ACTION: string;
			public static SUGGEST_COLUMN_INTENT_DATA: string;
			public static SUGGEST_COLUMN_INTENT_DATA_ID: string;
			public static SUGGEST_COLUMN_INTENT_EXTRA_DATA: string;
			public static SUGGEST_COLUMN_IS_LIVE: string;
			public static SUGGEST_COLUMN_LAST_ACCESS_HINT: string;
			public static SUGGEST_COLUMN_PRODUCTION_YEAR: string;
			public static SUGGEST_COLUMN_PURCHASE_PRICE: string;
			public static SUGGEST_COLUMN_QUERY: string;
			public static SUGGEST_COLUMN_RATING_SCORE: string;
			public static SUGGEST_COLUMN_RATING_STYLE: string;
			public static SUGGEST_COLUMN_RENTAL_PRICE: string;
			public static SUGGEST_COLUMN_RESULT_CARD_IMAGE: string;
			public static SUGGEST_COLUMN_SHORTCUT_ID: string;
			public static SUGGEST_COLUMN_SPINNER_WHILE_REFRESHING: string;
			public static SUGGEST_COLUMN_TEXT_1: string;
			public static SUGGEST_COLUMN_TEXT_2: string;
			public static SUGGEST_COLUMN_TEXT_2_URL: string;
			public static SUGGEST_COLUMN_VIDEO_HEIGHT: string;
			public static SUGGEST_COLUMN_VIDEO_WIDTH: string;
			public static SUGGEST_MIME_TYPE: string;
			public static SUGGEST_NEVER_MAKE_SHORTCUT: string;
			public static SUGGEST_PARAMETER_LIMIT: string;
			public static SUGGEST_URI_PATH_QUERY: string;
			public static SUGGEST_URI_PATH_SHORTCUT: string;
			public static USER_QUERY: string;
			public getSearchablesInGlobalSearch(): java.util.List<android.app.SearchableInfo>;
			public getGlobalSearchActivity(): android.content.ComponentName;
			public stopSearch(): void;
			/** @deprecated */
			public onDismiss(param0: android.content.DialogInterface): void;
			public setOnCancelListener(param0: android.app.SearchManager.OnCancelListener): void;
			public onDismiss(param0: android.content.DialogInterface): void;
			public onCancel(param0: android.content.DialogInterface): void;
			public getSearchableInfo(param0: android.content.ComponentName): android.app.SearchableInfo;
			public triggerSearch(param0: string, param1: android.content.ComponentName, param2: android.os.Bundle): void;
			public setOnDismissListener(param0: android.app.SearchManager.OnDismissListener): void;
			/** @deprecated */
			public onCancel(param0: android.content.DialogInterface): void;
			public startSearch(param0: string, param1: boolean, param2: android.content.ComponentName, param3: android.os.Bundle, param4: boolean): void;
		}
		export module SearchManager {
			export class OnCancelListener extends java.lang.Object {
				public static class: java.lang.Class<android.app.SearchManager.OnCancelListener>;
				/**
				 * Constructs a new instance of the android.app.SearchManager$OnCancelListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onCancel(): void;
				});
				public constructor();
				public onCancel(): void;
			}
			export class OnDismissListener extends java.lang.Object {
				public static class: java.lang.Class<android.app.SearchManager.OnDismissListener>;
				/**
				 * Constructs a new instance of the android.app.SearchManager$OnDismissListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onDismiss(): void;
				});
				public constructor();
				public onDismiss(): void;
			}
		}
	}
}

declare module android {
	export module app {
		export class SearchableInfo extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.app.SearchableInfo>;
			public static CREATOR: android.os.Parcelable.Creator<android.app.SearchableInfo>;
			public getSearchActivity(): android.content.ComponentName;
			public getImeOptions(): number;
			public getVoiceLanguageModeId(): number;
			public getVoicePromptTextId(): number;
			public getSuggestThreshold(): number;
			public getVoiceMaxResults(): number;
			public getVoiceSearchLaunchWebSearch(): boolean;
			public getSuggestAuthority(): string;
			public getSettingsDescriptionId(): number;
			public getVoiceLanguageId(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getInputType(): number;
			public getSuggestSelection(): string;
			public getSuggestPackage(): string;
			public autoUrlDetect(): boolean;
			public getSuggestPath(): string;
			public getSuggestIntentAction(): string;
			public shouldIncludeInGlobalSearch(): boolean;
			public getHintId(): number;
			public queryAfterZeroResults(): boolean;
			public describeContents(): number;
			public getSuggestIntentData(): string;
			public getVoiceSearchEnabled(): boolean;
			public getVoiceSearchLaunchRecognizer(): boolean;
			public shouldRewriteQueryFromText(): boolean;
			public shouldRewriteQueryFromData(): boolean;
		}
	}
}

declare module android {
	export module app {
		export abstract class Service extends android.content.ContextWrapper implements android.content.ComponentCallbacks2 {
			public static class: java.lang.Class<android.app.Service>;
			public static START_CONTINUATION_MASK: number;
			public static START_FLAG_REDELIVERY: number;
			public static START_FLAG_RETRY: number;
			public static START_NOT_STICKY: number;
			public static START_REDELIVER_INTENT: number;
			public static START_STICKY: number;
			public static START_STICKY_COMPATIBILITY: number;
			public static STOP_FOREGROUND_DETACH: number;
			public static STOP_FOREGROUND_REMOVE: number;
			public onConfigurationChanged(param0: android.content.res.Configuration): void;
			public onUnbind(param0: android.content.Intent): boolean;
			public onBind(param0: android.content.Intent): android.os.IBinder;
			public startForeground(param0: number, param1: android.app.Notification): void;
			public stopForeground(param0: boolean): void;
			public stopSelf(param0: number): void;
			public onCreate(): void;
			public dump(param0: java.io.FileDescriptor, param1: java.io.PrintWriter, param2: native.Array<string>): void;
			public constructor();
			public getApplication(): android.app.Application;
			public onDestroy(): void;
			public stopForeground(param0: number): void;
			public onStartCommand(param0: android.content.Intent, param1: number, param2: number): number;
			public onLowMemory(): void;
			public onTrimMemory(param0: number): void;
			public onRebind(param0: android.content.Intent): void;
			public constructor(param0: android.content.Context);
			public onTaskRemoved(param0: android.content.Intent): void;
			public stopSelf(): void;
			/** @deprecated */
			public onStart(param0: android.content.Intent, param1: number): void;
			public stopSelfResult(param0: number): boolean;
		}
	}
}

declare module android {
	export module app {
		export abstract class SharedElementCallback extends java.lang.Object {
			public static class: java.lang.Class<any>;
			public onSharedElementEnd(param0: java.util.List<string>, param1: java.util.List<android.view.View>, param2: java.util.List<android.view.View>): void;
			public onRejectSharedElements(param0: java.util.List<android.view.View>): void;
			public onSharedElementsArrived(param0: java.util.List<string>, param1: java.util.List<android.view.View>, param2: any): void;
			public onCaptureSharedElementSnapshot(param0: android.view.View, param1: android.graphics.Matrix, param2: android.graphics.RectF): android.os.Parcelable;
			public onSharedElementStart(param0: java.util.List<string>, param1: java.util.List<android.view.View>, param2: java.util.List<android.view.View>): void;
			public onCreateSnapshotView(param0: android.content.Context, param1: android.os.Parcelable): android.view.View;
			public constructor();
			public onMapSharedElements(param0: java.util.List<string>, param1: java.util.Map<string,android.view.View>): void;
		}
		export module SharedElementCallback {
			export class OnSharedElementsReadyListener extends java.lang.Object {
				public static class: java.lang.Class<any>;
				/**
				 * Constructs a new instance of the any$OnSharedElementsReadyListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onSharedElementsReady(): void;
				});
				public constructor();
				public onSharedElementsReady(): void;
			}
		}
	}
}

declare module android {
	export module app {
		export class TabActivity extends android.app.ActivityGroup {
			public static class: java.lang.Class<android.app.TabActivity>;
			public onCreatePanelMenu(param0: number, param1: android.view.Menu): boolean;
			public setDefaultTab(param0: string): void;
			public onPostCreate(param0: android.os.Bundle, param1: any): void;
			public onChildTitleChanged(param0: android.app.Activity, param1: string): void;
			public onSearchRequested(): boolean;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public onPostCreate(param0: android.os.Bundle): void;
			public onCreatePanelView(param0: number): android.view.View;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public dispatchGenericMotionEvent(param0: android.view.MotionEvent): boolean;
			public onDetachedFromWindow(): void;
			public onCreateView(param0: android.view.View, param1: string, param2: android.content.Context, param3: android.util.AttributeSet): android.view.View;
			public onPointerCaptureChanged(param0: boolean): void;
			public onSaveInstanceState(param0: android.os.Bundle, param1: any): void;
			public constructor();
			public onRestoreInstanceState(param0: android.os.Bundle): void;
			public onCreateView(param0: string, param1: android.content.Context, param2: android.util.AttributeSet): android.view.View;
			public setDefaultTab(param0: number): void;
			public constructor(param0: android.content.Context, param1: number);
			public onCreateContextMenu(param0: android.view.ContextMenu, param1: android.view.View, param2: android.view.ContextMenu.ContextMenuInfo): void;
			public dispatchTouchEvent(param0: android.view.MotionEvent): boolean;
			public onPreparePanel(param0: number, param1: android.view.View, param2: android.view.Menu): boolean;
			public onWindowFocusChanged(param0: boolean): void;
			public onContentChanged(): void;
			public onWindowStartingActionMode(param0: android.view.ActionMode.Callback): android.view.ActionMode;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public constructor(param0: boolean);
			public getTabWidget(): android.widget.TabWidget;
			public onWindowStartingActionMode(param0: android.view.ActionMode.Callback, param1: number): android.view.ActionMode;
			public onProvideKeyboardShortcuts(param0: java.util.List<any>, param1: android.view.Menu, param2: number): void;
			public onPanelClosed(param0: number, param1: android.view.Menu): void;
			public onTrimMemory(param0: number): void;
			public onActionModeFinished(param0: android.view.ActionMode): void;
			public constructor(param0: android.content.Context, param1: android.content.res.Resources.Theme);
			public getTabHost(): android.widget.TabHost;
			public onActionModeStarted(param0: android.view.ActionMode): void;
			public dispatchKeyShortcutEvent(param0: android.view.KeyEvent): boolean;
			public onMenuItemSelected(param0: number, param1: android.view.MenuItem): boolean;
			public onMenuOpened(param0: number, param1: android.view.Menu): boolean;
			public onSearchRequested(param0: any): boolean;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public onRestoreInstanceState(param0: android.os.Bundle, param1: any): void;
			public dispatchTrackballEvent(param0: android.view.MotionEvent): boolean;
			public onSaveInstanceState(param0: android.os.Bundle): void;
			public constructor(param0: android.content.Context);
			public dispatchKeyEvent(param0: android.view.KeyEvent): boolean;
			public dispatchPopulateAccessibilityEvent(param0: android.view.accessibility.AccessibilityEvent): boolean;
			public onAttachedToWindow(): void;
			public onWindowAttributesChanged(param0: android.view.WindowManager.LayoutParams): void;
		}
	}
}

declare module android {
	export module app {
		export class TaskStackBuilder extends java.lang.Object {
			public static class: java.lang.Class<android.app.TaskStackBuilder>;
			public addNextIntentWithParentStack(param0: android.content.Intent): android.app.TaskStackBuilder;
			public editIntentAt(param0: number): android.content.Intent;
			public static create(param0: android.content.Context): android.app.TaskStackBuilder;
			public addParentStack(param0: android.content.ComponentName): android.app.TaskStackBuilder;
			public startActivities(param0: android.os.Bundle): void;
			public getIntents(): native.Array<android.content.Intent>;
			public addNextIntent(param0: android.content.Intent): android.app.TaskStackBuilder;
			public addParentStack(param0: java.lang.Class<any>): android.app.TaskStackBuilder;
			public startActivities(): void;
			public addParentStack(param0: android.app.Activity): android.app.TaskStackBuilder;
			public getIntentCount(): number;
			public getPendingIntent(param0: number, param1: number): android.app.PendingIntent;
			public getPendingIntent(param0: number, param1: number, param2: android.os.Bundle): android.app.PendingIntent;
		}
	}
}

declare module android {
	export module app {
		export class TimePickerDialog extends android.app.AlertDialog implements android.content.DialogInterface.OnClickListener, android.widget.TimePicker.OnTimeChangedListener {
			public static class: java.lang.Class<android.app.TimePickerDialog>;
			public show(): void;
			public onWindowStartingActionMode(param0: android.view.ActionMode.Callback): android.view.ActionMode;
			public onClick(param0: android.content.DialogInterface, param1: number): void;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public onCreatePanelMenu(param0: number, param1: android.view.Menu): boolean;
			public constructor(param0: android.content.Context, param1: boolean, param2: android.content.DialogInterface.OnCancelListener);
			public onWindowStartingActionMode(param0: android.view.ActionMode.Callback, param1: number): android.view.ActionMode;
			public updateTime(param0: number, param1: number): void;
			public cancel(): void;
			public onProvideKeyboardShortcuts(param0: java.util.List<any>, param1: android.view.Menu, param2: number): void;
			public onPanelClosed(param0: number, param1: android.view.Menu): void;
			public onSearchRequested(): boolean;
			public onTimeChanged(param0: android.widget.TimePicker, param1: number, param2: number): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public constructor(param0: android.content.Context, param1: android.app.TimePickerDialog.OnTimeSetListener, param2: number, param3: number, param4: boolean);
			public onActionModeFinished(param0: android.view.ActionMode): void;
			public onCreatePanelView(param0: number): android.view.View;
			public onSaveInstanceState(): android.os.Bundle;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public dispatchGenericMotionEvent(param0: android.view.MotionEvent): boolean;
			public onDetachedFromWindow(): void;
			public onActionModeStarted(param0: android.view.ActionMode): void;
			public dispatchKeyShortcutEvent(param0: android.view.KeyEvent): boolean;
			public onMenuItemSelected(param0: number, param1: android.view.MenuItem): boolean;
			public onPointerCaptureChanged(param0: boolean): void;
			public dismiss(): void;
			public onMenuOpened(param0: number, param1: android.view.Menu): boolean;
			public onSearchRequested(param0: any): boolean;
			public onRestoreInstanceState(param0: android.os.Bundle): void;
			public constructor(param0: android.content.Context, param1: number);
			public constructor(param0: android.content.Context, param1: number, param2: android.app.TimePickerDialog.OnTimeSetListener, param3: number, param4: number, param5: boolean);
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public onCreateContextMenu(param0: android.view.ContextMenu, param1: android.view.View, param2: android.view.ContextMenu.ContextMenuInfo): void;
			public dispatchTouchEvent(param0: android.view.MotionEvent): boolean;
			public dispatchTrackballEvent(param0: android.view.MotionEvent): boolean;
			public constructor(param0: android.content.Context);
			public dispatchKeyEvent(param0: android.view.KeyEvent): boolean;
			public onPreparePanel(param0: number, param1: android.view.View, param2: android.view.Menu): boolean;
			public dispatchPopulateAccessibilityEvent(param0: android.view.accessibility.AccessibilityEvent): boolean;
			public onWindowFocusChanged(param0: boolean): void;
			public onAttachedToWindow(): void;
			public onWindowAttributesChanged(param0: android.view.WindowManager.LayoutParams): void;
			public onContentChanged(): void;
		}
		export module TimePickerDialog {
			export class OnTimeSetListener extends java.lang.Object {
				public static class: java.lang.Class<android.app.TimePickerDialog.OnTimeSetListener>;
				/**
				 * Constructs a new instance of the android.app.TimePickerDialog$OnTimeSetListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onTimeSet(param0: android.widget.TimePicker, param1: number, param2: number): void;
				});
				public constructor();
				public onTimeSet(param0: android.widget.TimePicker, param1: number, param2: number): void;
			}
		}
	}
}

declare module android {
	export module app {
		export class UiAutomation extends java.lang.Object {
			public static class: java.lang.Class<android.app.UiAutomation>;
			public static FLAG_DONT_SUPPRESS_ACCESSIBILITY_SERVICES: number;
			public static ROTATION_FREEZE_0: number;
			public static ROTATION_FREEZE_180: number;
			public static ROTATION_FREEZE_270: number;
			public static ROTATION_FREEZE_90: number;
			public static ROTATION_FREEZE_CURRENT: number;
			public static ROTATION_UNFREEZE: number;
			public takeScreenshot(): android.graphics.Bitmap;
			public injectInputEvent(param0: android.view.InputEvent, param1: boolean): boolean;
			public getWindowContentFrameStats(param0: number): android.view.WindowContentFrameStats;
			public clearWindowAnimationFrameStats(): void;
			public revokeRuntimePermissionAsUser(param0: string, param1: string, param2: android.os.UserHandle): void;
			public performGlobalAction(param0: number): boolean;
			public getWindows(): java.util.List<android.view.accessibility.AccessibilityWindowInfo>;
			public getWindowAnimationFrameStats(): android.view.WindowAnimationFrameStats;
			public grantRuntimePermissionAsUser(param0: string, param1: string, param2: android.os.UserHandle): void;
			public findFocus(param0: number): android.view.accessibility.AccessibilityNodeInfo;
			public getRootInActiveWindow(): android.view.accessibility.AccessibilityNodeInfo;
			public waitForIdle(param0: number, param1: number): void;
			public grantRuntimePermission(param0: string, param1: string): void;
			public getServiceInfo(): android.accessibilityservice.AccessibilityServiceInfo;
			public setRunAsMonkey(param0: boolean): void;
			public revokeRuntimePermission(param0: string, param1: string): void;
			public executeAndWaitForEvent(param0: java.lang.Runnable, param1: android.app.UiAutomation.AccessibilityEventFilter, param2: number): android.view.accessibility.AccessibilityEvent;
			public setOnAccessibilityEventListener(param0: android.app.UiAutomation.OnAccessibilityEventListener): void;
			public setServiceInfo(param0: android.accessibilityservice.AccessibilityServiceInfo): void;
			public executeShellCommand(param0: string): android.os.ParcelFileDescriptor;
			public setRotation(param0: number): boolean;
			public clearWindowContentFrameStats(param0: number): boolean;
		}
		export module UiAutomation {
			export class AccessibilityEventFilter extends java.lang.Object {
				public static class: java.lang.Class<android.app.UiAutomation.AccessibilityEventFilter>;
				/**
				 * Constructs a new instance of the android.app.UiAutomation$AccessibilityEventFilter interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					accept(param0: android.view.accessibility.AccessibilityEvent): boolean;
				});
				public constructor();
				public accept(param0: android.view.accessibility.AccessibilityEvent): boolean;
			}
			export class OnAccessibilityEventListener extends java.lang.Object {
				public static class: java.lang.Class<android.app.UiAutomation.OnAccessibilityEventListener>;
				/**
				 * Constructs a new instance of the android.app.UiAutomation$OnAccessibilityEventListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onAccessibilityEvent(param0: android.view.accessibility.AccessibilityEvent): void;
				});
				public constructor();
				public onAccessibilityEvent(param0: android.view.accessibility.AccessibilityEvent): void;
			}
		}
	}
}

declare module android {
	export module app {
		export class UiModeManager extends java.lang.Object {
			public static class: java.lang.Class<android.app.UiModeManager>;
			public static ACTION_ENTER_CAR_MODE: string;
			public static ACTION_ENTER_DESK_MODE: string;
			public static ACTION_EXIT_CAR_MODE: string;
			public static ACTION_EXIT_DESK_MODE: string;
			public static DISABLE_CAR_MODE_GO_HOME: number;
			public static ENABLE_CAR_MODE_ALLOW_SLEEP: number;
			public static ENABLE_CAR_MODE_GO_CAR_HOME: number;
			public static MODE_NIGHT_AUTO: number;
			public static MODE_NIGHT_NO: number;
			public static MODE_NIGHT_YES: number;
			public getNightMode(): number;
			public enableCarMode(param0: number): void;
			public setNightMode(param0: number): void;
			public disableCarMode(param0: number): void;
			public getCurrentModeType(): number;
		}
	}
}

declare module android {
	export module app {
		export class VoiceInteractor extends java.lang.Object {
			public static class: java.lang.Class<android.app.VoiceInteractor>;
			public submitRequest(param0: android.app.VoiceInteractor.Request): boolean;
			public submitRequest(param0: android.app.VoiceInteractor.Request, param1: string): boolean;
			public getActiveRequests(): native.Array<android.app.VoiceInteractor.Request>;
			public getActiveRequest(param0: string): android.app.VoiceInteractor.Request;
			public supportsCommands(param0: native.Array<string>): native.Array<boolean>;
		}
		export module VoiceInteractor {
			export class AbortVoiceRequest extends android.app.VoiceInteractor.Request {
				public static class: java.lang.Class<android.app.VoiceInteractor.AbortVoiceRequest>;
				public constructor(param0: android.app.VoiceInteractor.Prompt, param1: android.os.Bundle);
				public onAbortResult(param0: android.os.Bundle): void;
			}
			export class CommandRequest extends android.app.VoiceInteractor.Request {
				public static class: java.lang.Class<android.app.VoiceInteractor.CommandRequest>;
				public constructor(param0: string, param1: android.os.Bundle);
				public onCommandResult(param0: boolean, param1: android.os.Bundle): void;
			}
			export class CompleteVoiceRequest extends android.app.VoiceInteractor.Request {
				public static class: java.lang.Class<android.app.VoiceInteractor.CompleteVoiceRequest>;
				public constructor(param0: android.app.VoiceInteractor.Prompt, param1: android.os.Bundle);
				public onCompleteResult(param0: android.os.Bundle): void;
			}
			export class ConfirmationRequest extends android.app.VoiceInteractor.Request {
				public static class: java.lang.Class<android.app.VoiceInteractor.ConfirmationRequest>;
				public constructor(param0: android.app.VoiceInteractor.Prompt, param1: android.os.Bundle);
				public onConfirmationResult(param0: boolean, param1: android.os.Bundle): void;
			}
			export class PickOptionRequest extends android.app.VoiceInteractor.Request {
				public static class: java.lang.Class<android.app.VoiceInteractor.PickOptionRequest>;
				public onPickOptionResult(param0: boolean, param1: native.Array<android.app.VoiceInteractor.PickOptionRequest.Option>, param2: android.os.Bundle): void;
				public constructor(param0: android.app.VoiceInteractor.Prompt, param1: native.Array<android.app.VoiceInteractor.PickOptionRequest.Option>, param2: android.os.Bundle);
			}
			export module PickOptionRequest {
				export class Option extends java.lang.Object implements android.os.Parcelable {
					public static class: java.lang.Class<android.app.VoiceInteractor.PickOptionRequest.Option>;
					public static CREATOR: android.os.Parcelable.Creator<android.app.VoiceInteractor.PickOptionRequest.Option>;
					public addSynonym(param0: string): android.app.VoiceInteractor.PickOptionRequest.Option;
					public getLabel(): string;
					public getIndex(): number;
					public setExtras(param0: android.os.Bundle): void;
					public constructor(param0: string, param1: number);
					public describeContents(): number;
					public countSynonyms(): number;
					public getExtras(): android.os.Bundle;
					public getSynonymAt(param0: number): string;
					public writeToParcel(param0: android.os.Parcel, param1: number): void;
				}
			}
			export class Prompt extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.app.VoiceInteractor.Prompt>;
				public static CREATOR: android.os.Parcelable.Creator<android.app.VoiceInteractor.Prompt>;
				public getVisualPrompt(): string;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public countVoicePrompts(): number;
				public constructor(param0: native.Array<string>, param1: string);
				public toString(): string;
				public constructor(param0: string);
				public getVoicePromptAt(param0: number): string;
			}
			export abstract class Request extends java.lang.Object {
				public static class: java.lang.Class<android.app.VoiceInteractor.Request>;
				public onCancel(): void;
				public cancel(): void;
				public getName(): string;
				public toString(): string;
				public getContext(): android.content.Context;
				public getActivity(): android.app.Activity;
				public onAttached(param0: android.app.Activity): void;
				public onDetached(): void;
			}
		}
	}
}

declare module android {
	export module app {
		export class WallpaperColors extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.app.WallpaperColors>;
			public static CREATOR: android.os.Parcelable.Creator<android.app.WallpaperColors>;
			public constructor(param0: android.graphics.Color, param1: android.graphics.Color, param2: android.graphics.Color);
			public getPrimaryColor(): android.graphics.Color;
			public getTertiaryColor(): android.graphics.Color;
			public equals(param0: any): boolean;
			public toString(): string;
			public static fromDrawable(param0: android.graphics.drawable.Drawable): android.app.WallpaperColors;
			public static fromBitmap(param0: android.graphics.Bitmap): android.app.WallpaperColors;
			public constructor(param0: android.os.Parcel);
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getSecondaryColor(): android.graphics.Color;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module app {
		export class WallpaperInfo extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.app.WallpaperInfo>;
			public static CREATOR: android.os.Parcelable.Creator<android.app.WallpaperInfo>;
			public loadContextUri(param0: android.content.pm.PackageManager): android.net.Uri;
			public loadIcon(param0: android.content.pm.PackageManager): android.graphics.drawable.Drawable;
			public getPackageName(): string;
			public getShowMetadataInPreview(): boolean;
			public constructor(param0: android.content.Context, param1: android.content.pm.ResolveInfo);
			public getServiceName(): string;
			public loadLabel(param0: android.content.pm.PackageManager): string;
			public getComponent(): android.content.ComponentName;
			public loadContextDescription(param0: android.content.pm.PackageManager): string;
			public toString(): string;
			public loadAuthor(param0: android.content.pm.PackageManager): string;
			public loadDescription(param0: android.content.pm.PackageManager): string;
			public getServiceInfo(): android.content.pm.ServiceInfo;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getSettingsActivity(): string;
			public loadThumbnail(param0: android.content.pm.PackageManager): android.graphics.drawable.Drawable;
			public dump(param0: android.util.Printer, param1: string): void;
		}
	}
}

declare module android {
	export module app {
		export class WallpaperManager extends java.lang.Object {
			public static class: java.lang.Class<android.app.WallpaperManager>;
			public static ACTION_CHANGE_LIVE_WALLPAPER: string;
			public static ACTION_CROP_AND_SET_WALLPAPER: string;
			public static ACTION_LIVE_WALLPAPER_CHOOSER: string;
			public static COMMAND_DROP: string;
			public static COMMAND_SECONDARY_TAP: string;
			public static COMMAND_TAP: string;
			public static EXTRA_LIVE_WALLPAPER_COMPONENT: string;
			public static FLAG_LOCK: number;
			public static FLAG_SYSTEM: number;
			public static WALLPAPER_PREVIEW_META_DATA: string;
			public getBuiltInDrawable(): android.graphics.drawable.Drawable;
			public clear(param0: number): void;
			public getDesiredMinimumHeight(): number;
			public clearWallpaper(): void;
			public getBuiltInDrawable(param0: number): android.graphics.drawable.Drawable;
			public setStream(param0: java.io.InputStream, param1: android.graphics.Rect, param2: boolean): number;
			public getWallpaperInfo(): android.app.WallpaperInfo;
			public isSetWallpaperAllowed(): boolean;
			public peekFastDrawable(): android.graphics.drawable.Drawable;
			public forgetLoadedWallpaper(): void;
			public getBuiltInDrawable(param0: number, param1: number, param2: boolean, param3: number, param4: number): android.graphics.drawable.Drawable;
			public static getInstance(param0: android.content.Context): android.app.WallpaperManager;
			public getFastDrawable(): android.graphics.drawable.Drawable;
			public setBitmap(param0: android.graphics.Bitmap, param1: android.graphics.Rect, param2: boolean, param3: number): number;
			public getWallpaperFile(param0: number): android.os.ParcelFileDescriptor;
			public getCropAndSetWallpaperIntent(param0: android.net.Uri): android.content.Intent;
			public setDisplayPadding(param0: android.graphics.Rect): void;
			public setResource(param0: number, param1: number): number;
			public clear(): void;
			public getDrawable(): android.graphics.drawable.Drawable;
			public getWallpaperId(param0: number): number;
			public getBuiltInDrawable(param0: number, param1: number, param2: boolean, param3: number, param4: number, param5: number): android.graphics.drawable.Drawable;
			public getDesiredMinimumWidth(): number;
			public setWallpaperOffsets(param0: android.os.IBinder, param1: number, param2: number): void;
			public setResource(param0: number): void;
			public removeOnColorsChangedListener(param0: android.app.WallpaperManager.OnColorsChangedListener): void;
			public setBitmap(param0: android.graphics.Bitmap): void;
			public setStream(param0: java.io.InputStream): void;
			public addOnColorsChangedListener(param0: android.app.WallpaperManager.OnColorsChangedListener, param1: android.os.Handler): void;
			public suggestDesiredDimensions(param0: number, param1: number): void;
			public sendWallpaperCommand(param0: android.os.IBinder, param1: string, param2: number, param3: number, param4: number, param5: android.os.Bundle): void;
			public hasResourceWallpaper(param0: number): boolean;
			public clearWallpaperOffsets(param0: android.os.IBinder): void;
			public setWallpaperOffsetSteps(param0: number, param1: number): void;
			public getWallpaperColors(param0: number): android.app.WallpaperColors;
			public setBitmap(param0: android.graphics.Bitmap, param1: android.graphics.Rect, param2: boolean): number;
			public isWallpaperSupported(): boolean;
			public peekDrawable(): android.graphics.drawable.Drawable;
			public setStream(param0: java.io.InputStream, param1: android.graphics.Rect, param2: boolean, param3: number): number;
		}
		export module WallpaperManager {
			export class OnColorsChangedListener extends java.lang.Object {
				public static class: java.lang.Class<android.app.WallpaperManager.OnColorsChangedListener>;
				/**
				 * Constructs a new instance of the android.app.WallpaperManager$OnColorsChangedListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onColorsChanged(param0: android.app.WallpaperColors, param1: number): void;
				});
				public constructor();
				public onColorsChanged(param0: android.app.WallpaperColors, param1: number): void;
			}
		}
	}
}

declare module android {
	export module app {
		export module admin {
			export class ConnectEvent extends android.app.admin.NetworkEvent implements android.os.Parcelable {
				public static class: java.lang.Class<android.app.admin.ConnectEvent>;
				public static CREATOR: android.os.Parcelable.Creator<android.app.admin.ConnectEvent>;
				public getInetAddress(): java.net.InetAddress;
				public getPort(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public toString(): string;
			}
		}
	}
}

declare module android {
	export module app {
		export module admin {
			export class DeviceAdminInfo extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.app.admin.DeviceAdminInfo>;
				public static CREATOR: android.os.Parcelable.Creator<android.app.admin.DeviceAdminInfo>;
				public static USES_ENCRYPTED_STORAGE: number;
				public static USES_POLICY_DISABLE_CAMERA: number;
				public static USES_POLICY_DISABLE_KEYGUARD_FEATURES: number;
				public static USES_POLICY_EXPIRE_PASSWORD: number;
				public static USES_POLICY_FORCE_LOCK: number;
				public static USES_POLICY_LIMIT_PASSWORD: number;
				public static USES_POLICY_RESET_PASSWORD: number;
				public static USES_POLICY_WATCH_LOGIN: number;
				public static USES_POLICY_WIPE_DATA: number;
				public supportsTransferOwnership(): boolean;
				public loadDescription(param0: android.content.pm.PackageManager): string;
				public isVisible(): boolean;
				public constructor(param0: android.content.Context, param1: android.content.pm.ResolveInfo);
				public loadLabel(param0: android.content.pm.PackageManager): string;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getPackageName(): string;
				public loadIcon(param0: android.content.pm.PackageManager): android.graphics.drawable.Drawable;
				public dump(param0: android.util.Printer, param1: string): void;
				public getComponent(): android.content.ComponentName;
				public getTagForPolicy(param0: number): string;
				public toString(): string;
				public getActivityInfo(): android.content.pm.ActivityInfo;
				public describeContents(): number;
				public getReceiverName(): string;
				public usesPolicy(param0: number): boolean;
			}
		}
	}
}

declare module android {
	export module app {
		export module admin {
			export class DeviceAdminReceiver extends android.content.BroadcastReceiver {
				public static class: java.lang.Class<android.app.admin.DeviceAdminReceiver>;
				public static ACTION_DEVICE_ADMIN_DISABLED: string;
				public static ACTION_DEVICE_ADMIN_DISABLE_REQUESTED: string;
				public static ACTION_DEVICE_ADMIN_ENABLED: string;
				public static ACTION_LOCK_TASK_ENTERING: string;
				public static ACTION_LOCK_TASK_EXITING: string;
				public static ACTION_PASSWORD_CHANGED: string;
				public static ACTION_PASSWORD_EXPIRING: string;
				public static ACTION_PASSWORD_FAILED: string;
				public static ACTION_PASSWORD_SUCCEEDED: string;
				public static ACTION_PROFILE_PROVISIONING_COMPLETE: string;
				public static BUGREPORT_FAILURE_FAILED_COMPLETING: number;
				public static BUGREPORT_FAILURE_FILE_NO_LONGER_AVAILABLE: number;
				public static DEVICE_ADMIN_META_DATA: string;
				public static EXTRA_DISABLE_WARNING: string;
				public static EXTRA_LOCK_TASK_PACKAGE: string;
				public static EXTRA_TRANSFER_OWNERSHIP_ADMIN_EXTRAS_BUNDLE: string;
				public onEnabled(param0: android.content.Context, param1: android.content.Intent): void;
				public onDisabled(param0: android.content.Context, param1: android.content.Intent): void;
				public onPasswordSucceeded(param0: android.content.Context, param1: android.content.Intent, param2: android.os.UserHandle): void;
				public onUserRemoved(param0: android.content.Context, param1: android.content.Intent, param2: android.os.UserHandle): void;
				public onUserSwitched(param0: android.content.Context, param1: android.content.Intent, param2: android.os.UserHandle): void;
				public onUserStopped(param0: android.content.Context, param1: android.content.Intent, param2: android.os.UserHandle): void;
				public constructor();
				public onNetworkLogsAvailable(param0: android.content.Context, param1: android.content.Intent, param2: number, param3: number): void;
				public onPasswordChanged(param0: android.content.Context, param1: android.content.Intent, param2: android.os.UserHandle): void;
				/** @deprecated */
				public onReadyForUserInitialization(param0: android.content.Context, param1: android.content.Intent): void;
				/** @deprecated */
				public onPasswordFailed(param0: android.content.Context, param1: android.content.Intent): void;
				public onBugreportShared(param0: android.content.Context, param1: android.content.Intent, param2: string): void;
				public onLockTaskModeEntering(param0: android.content.Context, param1: android.content.Intent, param2: string): void;
				public onLockTaskModeExiting(param0: android.content.Context, param1: android.content.Intent): void;
				public getManager(param0: android.content.Context): android.app.admin.DevicePolicyManager;
				/** @deprecated */
				public onPasswordSucceeded(param0: android.content.Context, param1: android.content.Intent): void;
				public onTransferOwnershipComplete(param0: android.content.Context, param1: any): void;
				public onUserAdded(param0: android.content.Context, param1: android.content.Intent, param2: android.os.UserHandle): void;
				public onDisableRequested(param0: android.content.Context, param1: android.content.Intent): string;
				public onPasswordFailed(param0: android.content.Context, param1: android.content.Intent, param2: android.os.UserHandle): void;
				public onPasswordExpiring(param0: android.content.Context, param1: android.content.Intent, param2: android.os.UserHandle): void;
				public onProfileProvisioningComplete(param0: android.content.Context, param1: android.content.Intent): void;
				public onSystemUpdatePending(param0: android.content.Context, param1: android.content.Intent, param2: number): void;
				/** @deprecated */
				public onPasswordExpiring(param0: android.content.Context, param1: android.content.Intent): void;
				public onUserStarted(param0: android.content.Context, param1: android.content.Intent, param2: android.os.UserHandle): void;
				public getWho(param0: android.content.Context): android.content.ComponentName;
				public onSecurityLogsAvailable(param0: android.content.Context, param1: android.content.Intent): void;
				public onBugreportFailed(param0: android.content.Context, param1: android.content.Intent, param2: number): void;
				public onChoosePrivateKeyAlias(param0: android.content.Context, param1: android.content.Intent, param2: number, param3: android.net.Uri, param4: string): string;
				public onBugreportSharingDeclined(param0: android.content.Context, param1: android.content.Intent): void;
				public onReceive(param0: android.content.Context, param1: android.content.Intent): void;
				/** @deprecated */
				public onPasswordChanged(param0: android.content.Context, param1: android.content.Intent): void;
				public onTransferAffiliatedProfileOwnershipComplete(param0: android.content.Context, param1: android.os.UserHandle): void;
			}
		}
	}
}

declare module android {
	export module app {
		export module admin {
			export class DeviceAdminService extends android.app.Service {
				public static class: java.lang.Class<android.app.admin.DeviceAdminService>;
				public onBind(param0: android.content.Intent): android.os.IBinder;
				public constructor(param0: android.content.Context);
				public onTrimMemory(param0: number): void;
				public constructor();
			}
		}
	}
}

declare module android {
	export module app {
		export module admin {
			export class DevicePolicyManager extends java.lang.Object {
				public static class: java.lang.Class<android.app.admin.DevicePolicyManager>;
				public static ACTION_ADD_DEVICE_ADMIN: string;
				public static ACTION_APPLICATION_DELEGATION_SCOPES_CHANGED: string;
				public static ACTION_DEVICE_ADMIN_SERVICE: string;
				public static ACTION_DEVICE_OWNER_CHANGED: string;
				public static ACTION_MANAGED_PROFILE_PROVISIONED: string;
				public static ACTION_PROFILE_OWNER_CHANGED: string;
				public static ACTION_PROVISIONING_SUCCESSFUL: string;
				public static ACTION_PROVISION_MANAGED_DEVICE: string;
				public static ACTION_PROVISION_MANAGED_PROFILE: string;
				public static ACTION_SET_NEW_PARENT_PROFILE_PASSWORD: string;
				public static ACTION_SET_NEW_PASSWORD: string;
				public static ACTION_START_ENCRYPTION: string;
				public static ACTION_SYSTEM_UPDATE_POLICY_CHANGED: string;
				public static DELEGATION_APP_RESTRICTIONS: string;
				public static DELEGATION_BLOCK_UNINSTALL: string;
				public static DELEGATION_CERT_INSTALL: string;
				public static DELEGATION_ENABLE_SYSTEM_APP: string;
				public static DELEGATION_INSTALL_EXISTING_PACKAGE: string;
				public static DELEGATION_KEEP_UNINSTALLED_PACKAGES: string;
				public static DELEGATION_PACKAGE_ACCESS: string;
				public static DELEGATION_PERMISSION_GRANT: string;
				public static ENCRYPTION_STATUS_ACTIVATING: number;
				public static ENCRYPTION_STATUS_ACTIVE: number;
				public static ENCRYPTION_STATUS_ACTIVE_DEFAULT_KEY: number;
				public static ENCRYPTION_STATUS_ACTIVE_PER_USER: number;
				public static ENCRYPTION_STATUS_INACTIVE: number;
				public static ENCRYPTION_STATUS_UNSUPPORTED: number;
				public static EXTRA_ADD_EXPLANATION: string;
				public static EXTRA_DELEGATION_SCOPES: string;
				public static EXTRA_DEVICE_ADMIN: string;
				public static EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE: string;
				public static EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE: string;
				public static EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME: string;
				public static EXTRA_PROVISIONING_DEVICE_ADMIN_MINIMUM_VERSION_CODE: string;
				public static EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM: string;
				public static EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_COOKIE_HEADER: string;
				public static EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION: string;
				public static EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME: string;
				public static EXTRA_PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM: string;
				public static EXTRA_PROVISIONING_DISCLAIMERS: string;
				public static EXTRA_PROVISIONING_DISCLAIMER_CONTENT: string;
				public static EXTRA_PROVISIONING_DISCLAIMER_HEADER: string;
				public static EXTRA_PROVISIONING_EMAIL_ADDRESS: string;
				public static EXTRA_PROVISIONING_KEEP_ACCOUNT_ON_MIGRATION: string;
				public static EXTRA_PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED: string;
				public static EXTRA_PROVISIONING_LOCALE: string;
				public static EXTRA_PROVISIONING_LOCAL_TIME: string;
				public static EXTRA_PROVISIONING_LOGO_URI: string;
				public static EXTRA_PROVISIONING_MAIN_COLOR: string;
				public static EXTRA_PROVISIONING_SKIP_ENCRYPTION: string;
				public static EXTRA_PROVISIONING_SKIP_USER_CONSENT: string;
				public static EXTRA_PROVISIONING_TIME_ZONE: string;
				public static EXTRA_PROVISIONING_WIFI_HIDDEN: string;
				public static EXTRA_PROVISIONING_WIFI_PAC_URL: string;
				public static EXTRA_PROVISIONING_WIFI_PASSWORD: string;
				public static EXTRA_PROVISIONING_WIFI_PROXY_BYPASS: string;
				public static EXTRA_PROVISIONING_WIFI_PROXY_HOST: string;
				public static EXTRA_PROVISIONING_WIFI_PROXY_PORT: string;
				public static EXTRA_PROVISIONING_WIFI_SECURITY_TYPE: string;
				public static EXTRA_PROVISIONING_WIFI_SSID: string;
				public static FLAG_EVICT_CREDENTIAL_ENCRYPTION_KEY: number;
				public static FLAG_MANAGED_CAN_ACCESS_PARENT: number;
				public static FLAG_PARENT_CAN_ACCESS_MANAGED: number;
				public static ID_TYPE_BASE_INFO: number;
				public static ID_TYPE_IMEI: number;
				public static ID_TYPE_MEID: number;
				public static ID_TYPE_SERIAL: number;
				public static INSTALLKEY_REQUEST_CREDENTIALS_ACCESS: number;
				public static INSTALLKEY_SET_USER_SELECTABLE: number;
				public static KEYGUARD_DISABLE_BIOMETRICS: number;
				public static KEYGUARD_DISABLE_FACE: number;
				public static KEYGUARD_DISABLE_FEATURES_ALL: number;
				public static KEYGUARD_DISABLE_FEATURES_NONE: number;
				public static KEYGUARD_DISABLE_FINGERPRINT: number;
				public static KEYGUARD_DISABLE_IRIS: number;
				public static KEYGUARD_DISABLE_REMOTE_INPUT: number;
				public static KEYGUARD_DISABLE_SECURE_CAMERA: number;
				public static KEYGUARD_DISABLE_SECURE_NOTIFICATIONS: number;
				public static KEYGUARD_DISABLE_TRUST_AGENTS: number;
				public static KEYGUARD_DISABLE_UNREDACTED_NOTIFICATIONS: number;
				public static KEYGUARD_DISABLE_WIDGETS_ALL: number;
				public static LEAVE_ALL_SYSTEM_APPS_ENABLED: number;
				public static LOCK_TASK_FEATURE_GLOBAL_ACTIONS: number;
				public static LOCK_TASK_FEATURE_HOME: number;
				public static LOCK_TASK_FEATURE_KEYGUARD: number;
				public static LOCK_TASK_FEATURE_NONE: number;
				public static LOCK_TASK_FEATURE_NOTIFICATIONS: number;
				public static LOCK_TASK_FEATURE_OVERVIEW: number;
				public static LOCK_TASK_FEATURE_SYSTEM_INFO: number;
				public static MAKE_USER_EPHEMERAL: number;
				public static MIME_TYPE_PROVISIONING_NFC: string;
				public static PASSWORD_QUALITY_ALPHABETIC: number;
				public static PASSWORD_QUALITY_ALPHANUMERIC: number;
				public static PASSWORD_QUALITY_BIOMETRIC_WEAK: number;
				public static PASSWORD_QUALITY_COMPLEX: number;
				public static PASSWORD_QUALITY_NUMERIC: number;
				public static PASSWORD_QUALITY_NUMERIC_COMPLEX: number;
				public static PASSWORD_QUALITY_SOMETHING: number;
				public static PASSWORD_QUALITY_UNSPECIFIED: number;
				public static PERMISSION_GRANT_STATE_DEFAULT: number;
				public static PERMISSION_GRANT_STATE_DENIED: number;
				public static PERMISSION_GRANT_STATE_GRANTED: number;
				public static PERMISSION_POLICY_AUTO_DENY: number;
				public static PERMISSION_POLICY_AUTO_GRANT: number;
				public static PERMISSION_POLICY_PROMPT: number;
				public static POLICY_DISABLE_CAMERA: string;
				public static POLICY_DISABLE_SCREEN_CAPTURE: string;
				public static RESET_PASSWORD_DO_NOT_ASK_CREDENTIALS_ON_BOOT: number;
				public static RESET_PASSWORD_REQUIRE_ENTRY: number;
				public static SKIP_SETUP_WIZARD: number;
				public static WIPE_EUICC: number;
				public static WIPE_EXTERNAL_STORAGE: number;
				public static WIPE_RESET_PROTECTION_DATA: number;
				public getCrossProfileWidgetProviders(param0: android.content.ComponentName): java.util.List<string>;
				public wipeData(param0: number): void;
				public getMaximumTimeToLock(param0: android.content.ComponentName): number;
				public setKeyguardDisabled(param0: android.content.ComponentName, param1: boolean): boolean;
				public getAutoTimeRequired(): boolean;
				public getCameraDisabled(param0: android.content.ComponentName): boolean;
				public getParentProfileInstance(param0: android.content.ComponentName): android.app.admin.DevicePolicyManager;
				public setMasterVolumeMuted(param0: android.content.ComponentName, param1: boolean): void;
				public setTrustAgentConfiguration(param0: android.content.ComponentName, param1: android.content.ComponentName, param2: any): void;
				public getOrganizationColor(param0: android.content.ComponentName): number;
				public getStartUserSessionMessage(param0: android.content.ComponentName): string;
				public setGlobalSetting(param0: android.content.ComponentName, param1: string, param2: string): void;
				public isUsingUnifiedPassword(param0: android.content.ComponentName): boolean;
				public clearCrossProfileIntentFilters(param0: android.content.ComponentName): void;
				public setKeyPairCertificate(param0: android.content.ComponentName, param1: string, param2: java.util.List<java.security.cert.Certificate>, param3: boolean): boolean;
				public switchUser(param0: android.content.ComponentName, param1: android.os.UserHandle): boolean;
				public setAlwaysOnVpnPackage(param0: android.content.ComponentName, param1: string, param2: boolean): void;
				public updateOverrideApn(param0: android.content.ComponentName, param1: number, param2: android.telephony.data.ApnSetting): boolean;
				public setPermittedCrossProfileNotificationListeners(param0: android.content.ComponentName, param1: java.util.List<string>): boolean;
				/** @deprecated */
				public getCertInstallerPackage(param0: android.content.ComponentName): string;
				public installKeyPair(param0: android.content.ComponentName, param1: java.security.PrivateKey, param2: native.Array<java.security.cert.Certificate>, param3: string, param4: boolean): boolean;
				public getTransferOwnershipBundle(): any;
				public setPasswordMinimumUpperCase(param0: android.content.ComponentName, param1: number): void;
				public getLockTaskPackages(param0: android.content.ComponentName): native.Array<string>;
				public setKeepUninstalledPackages(param0: android.content.ComponentName, param1: java.util.List<string>): void;
				public installExistingPackage(param0: android.content.ComponentName, param1: string): boolean;
				public setOrganizationColor(param0: android.content.ComponentName, param1: number): void;
				public setAutoTimeRequired(param0: android.content.ComponentName, param1: boolean): void;
				public requestBugreport(param0: android.content.ComponentName): boolean;
				public isAffiliatedUser(): boolean;
				public setApplicationHidden(param0: android.content.ComponentName, param1: string, param2: boolean): boolean;
				/** @deprecated */
				public getApplicationRestrictionsManagingPackage(param0: android.content.ComponentName): string;
				public getTrustAgentConfiguration(param0: android.content.ComponentName, param1: android.content.ComponentName): java.util.List<any>;
				public isResetPasswordTokenActive(param0: android.content.ComponentName): boolean;
				public transferOwnership(param0: android.content.ComponentName, param1: android.content.ComponentName, param2: any): void;
				public clearApplicationUserData(param0: android.content.ComponentName, param1: string, param2: java.util.concurrent.Executor, param3: android.app.admin.DevicePolicyManager.OnClearApplicationUserDataListener): void;
				public lockNow(param0: number): void;
				public removeUser(param0: android.content.ComponentName, param1: android.os.UserHandle): boolean;
				public isProvisioningAllowed(param0: string): boolean;
				public setStartUserSessionMessage(param0: android.content.ComponentName, param1: string): void;
				public setDeviceOwnerLockScreenInfo(param0: android.content.ComponentName, param1: string): void;
				/** @deprecated */
				public setApplicationRestrictionsManagingPackage(param0: android.content.ComponentName, param1: string): void;
				public getPasswordMinimumLetters(param0: android.content.ComponentName): number;
				public setPasswordMinimumNumeric(param0: android.content.ComponentName, param1: number): void;
				public setAccountManagementDisabled(param0: android.content.ComponentName, param1: string, param2: boolean): void;
				public getScreenCaptureDisabled(param0: android.content.ComponentName): boolean;
				public getDelegatePackages(param0: android.content.ComponentName, param1: string): java.util.List<string>;
				public addPersistentPreferredActivity(param0: android.content.ComponentName, param1: android.content.IntentFilter, param2: android.content.ComponentName): void;
				public isLockTaskPermitted(param0: string): boolean;
				public getStorageEncryptionStatus(): number;
				public setOverrideApnsEnabled(param0: android.content.ComponentName, param1: boolean): void;
				public wipeData(param0: number, param1: string): void;
				public getPasswordExpirationTimeout(param0: android.content.ComponentName): number;
				public getPasswordMinimumNonLetter(param0: android.content.ComponentName): number;
				public isProfileOwnerApp(param0: string): boolean;
				public getCrossProfileCallerIdDisabled(param0: android.content.ComponentName): boolean;
				public getSystemUpdatePolicy(): android.app.admin.SystemUpdatePolicy;
				public getPasswordQuality(param0: android.content.ComponentName): number;
				public setResetPasswordToken(param0: android.content.ComponentName, param1: native.Array<number>): boolean;
				public setNetworkLoggingEnabled(param0: android.content.ComponentName, param1: boolean): void;
				public setCrossProfileCallerIdDisabled(param0: android.content.ComponentName, param1: boolean): void;
				public getPasswordExpiration(param0: android.content.ComponentName): number;
				public setSecureSetting(param0: android.content.ComponentName, param1: string, param2: string): void;
				public retrieveNetworkLogs(param0: android.content.ComponentName, param1: number): java.util.List<android.app.admin.NetworkEvent>;
				public setPasswordMinimumSymbols(param0: android.content.ComponentName, param1: number): void;
				public setPermittedAccessibilityServices(param0: android.content.ComponentName, param1: java.util.List<string>): boolean;
				public setPasswordMinimumNonLetter(param0: android.content.ComponentName, param1: number): void;
				public getCrossProfileContactsSearchDisabled(param0: android.content.ComponentName): boolean;
				public removeActiveAdmin(param0: android.content.ComponentName): void;
				public getDeviceOwnerLockScreenInfo(): string;
				public getPasswordHistoryLength(param0: android.content.ComponentName): number;
				public reboot(param0: android.content.ComponentName): void;
				public getActiveAdmins(): java.util.List<android.content.ComponentName>;
				public setBackupServiceEnabled(param0: android.content.ComponentName, param1: boolean): void;
				public setPasswordMinimumLowerCase(param0: android.content.ComponentName, param1: number): void;
				public lockNow(): void;
				public startUserInBackground(param0: android.content.ComponentName, param1: android.os.UserHandle): number;
				public setPasswordQuality(param0: android.content.ComponentName, param1: number): void;
				public setMaximumFailedPasswordsForWipe(param0: android.content.ComponentName, param1: number): void;
				public setSystemSetting(param0: android.content.ComponentName, param1: string, param2: string): void;
				public isOverrideApnEnabled(param0: android.content.ComponentName): boolean;
				public getAffiliationIds(param0: android.content.ComponentName): java.util.Set<string>;
				public setMeteredDataDisabledPackages(param0: android.content.ComponentName, param1: java.util.List<string>): java.util.List<string>;
				public getLockTaskFeatures(param0: android.content.ComponentName): number;
				public getPasswordMaximumLength(param0: number): number;
				public stopUser(param0: android.content.ComponentName, param1: android.os.UserHandle): number;
				public setKeyguardDisabledFeatures(param0: android.content.ComponentName, param1: number): void;
				public isDeviceOwnerApp(param0: string): boolean;
				public setOrganizationName(param0: android.content.ComponentName, param1: string): void;
				public setTimeZone(param0: android.content.ComponentName, param1: string): boolean;
				public removeOverrideApn(param0: android.content.ComponentName, param1: number): boolean;
				public getPermittedCrossProfileNotificationListeners(param0: android.content.ComponentName): java.util.List<string>;
				public setMaximumTimeToLock(param0: android.content.ComponentName, param1: number): void;
				public removeCrossProfileWidgetProvider(param0: android.content.ComponentName, param1: string): boolean;
				public hasGrantedPolicy(param0: android.content.ComponentName, param1: number): boolean;
				public getRequiredStrongAuthTimeout(param0: android.content.ComponentName): number;
				public getAlwaysOnVpnPackage(param0: android.content.ComponentName): string;
				public retrievePreRebootSecurityLogs(param0: android.content.ComponentName): java.util.List<android.app.admin.SecurityLog.SecurityEvent>;
				public setUserIcon(param0: android.content.ComponentName, param1: android.graphics.Bitmap): void;
				public uninstallAllUserCaCerts(param0: android.content.ComponentName): void;
				public setPasswordMinimumLength(param0: android.content.ComponentName, param1: number): void;
				public getOrganizationName(param0: android.content.ComponentName): string;
				/** @deprecated */
				public clearProfileOwner(param0: android.content.ComponentName): void;
				public getStorageEncryption(param0: android.content.ComponentName): boolean;
				public isDeviceIdAttestationSupported(): boolean;
				public setScreenCaptureDisabled(param0: android.content.ComponentName, param1: boolean): void;
				public isEphemeralUser(param0: android.content.ComponentName): boolean;
				public getPermissionPolicy(param0: android.content.ComponentName): number;
				public getPermittedInputMethods(param0: android.content.ComponentName): java.util.List<string>;
				public setAffiliationIds(param0: android.content.ComponentName, param1: java.util.Set<string>): void;
				public setRecommendedGlobalProxy(param0: android.content.ComponentName, param1: android.net.ProxyInfo): void;
				public getKeyguardDisabledFeatures(param0: android.content.ComponentName): number;
				public setPermittedInputMethods(param0: android.content.ComponentName, param1: java.util.List<string>): boolean;
				public isBackupServiceEnabled(param0: android.content.ComponentName): boolean;
				public setApplicationRestrictions(param0: android.content.ComponentName, param1: string, param2: android.os.Bundle): void;
				public isAdminActive(param0: android.content.ComponentName): boolean;
				public getBindDeviceAdminTargetUsers(param0: android.content.ComponentName): java.util.List<android.os.UserHandle>;
				public addOverrideApn(param0: android.content.ComponentName, param1: android.telephony.data.ApnSetting): number;
				public setEndUserSessionMessage(param0: android.content.ComponentName, param1: string): void;
				public getDelegatedScopes(param0: android.content.ComponentName, param1: string): java.util.List<string>;
				public addCrossProfileIntentFilter(param0: android.content.ComponentName, param1: android.content.IntentFilter, param2: number): void;
				public uninstallCaCert(param0: android.content.ComponentName, param1: native.Array<number>): void;
				public setStatusBarDisabled(param0: android.content.ComponentName, param1: boolean): boolean;
				public getUserRestrictions(param0: android.content.ComponentName): android.os.Bundle;
				public getPasswordMinimumNumeric(param0: android.content.ComponentName): number;
				public getCurrentFailedPasswordAttempts(): number;
				public removeKeyPair(param0: android.content.ComponentName, param1: string): boolean;
				public setStorageEncryption(param0: android.content.ComponentName, param1: boolean): number;
				public setUninstallBlocked(param0: android.content.ComponentName, param1: string, param2: boolean): void;
				public getShortSupportMessage(param0: android.content.ComponentName): string;
				public setRestrictionsProvider(param0: android.content.ComponentName, param1: android.content.ComponentName): void;
				public bindDeviceAdminServiceAsUser(param0: android.content.ComponentName, param1: android.content.Intent, param2: android.content.ServiceConnection, param3: number, param4: android.os.UserHandle): boolean;
				public isLogoutEnabled(): boolean;
				public setShortSupportMessage(param0: android.content.ComponentName, param1: string): void;
				public getOverrideApns(param0: android.content.ComponentName): java.util.List<android.telephony.data.ApnSetting>;
				public logoutUser(param0: android.content.ComponentName): number;
				public getInstalledCaCerts(param0: android.content.ComponentName): java.util.List<native.Array<number>>;
				public setBluetoothContactSharingDisabled(param0: android.content.ComponentName, param1: boolean): void;
				public getPasswordMinimumUpperCase(param0: android.content.ComponentName): number;
				public getAccountTypesWithManagementDisabled(): native.Array<string>;
				public clearResetPasswordToken(param0: android.content.ComponentName): boolean;
				public setPackagesSuspended(param0: android.content.ComponentName, param1: native.Array<string>, param2: boolean): native.Array<string>;
				public setCrossProfileContactsSearchDisabled(param0: android.content.ComponentName, param1: boolean): void;
				public setLogoutEnabled(param0: android.content.ComponentName, param1: boolean): void;
				public isPackageSuspended(param0: android.content.ComponentName, param1: string): boolean;
				public getKeepUninstalledPackages(param0: android.content.ComponentName): java.util.List<string>;
				public resetPassword(param0: string, param1: number): boolean;
				public getLongSupportMessage(param0: android.content.ComponentName): string;
				public setLongSupportMessage(param0: android.content.ComponentName, param1: string): void;
				public isManagedProfile(param0: android.content.ComponentName): boolean;
				public retrieveSecurityLogs(param0: android.content.ComponentName): java.util.List<android.app.admin.SecurityLog.SecurityEvent>;
				public setPasswordMinimumLetters(param0: android.content.ComponentName, param1: number): void;
				public isNetworkLoggingEnabled(param0: android.content.ComponentName): boolean;
				public getBluetoothContactSharingDisabled(param0: android.content.ComponentName): boolean;
				public clearPackagePersistentPreferredActivities(param0: android.content.ComponentName, param1: string): void;
				public getMaximumFailedPasswordsForWipe(param0: android.content.ComponentName): number;
				public getWifiMacAddress(param0: android.content.ComponentName): string;
				public getPasswordMinimumLength(param0: android.content.ComponentName): number;
				public hasCaCertInstalled(param0: android.content.ComponentName, param1: native.Array<number>): boolean;
				public isUninstallBlocked(param0: android.content.ComponentName, param1: string): boolean;
				public addUserRestriction(param0: android.content.ComponentName, param1: string): void;
				public setProfileEnabled(param0: android.content.ComponentName): void;
				public getPasswordMinimumSymbols(param0: android.content.ComponentName): number;
				public generateKeyPair(param0: android.content.ComponentName, param1: string, param2: android.security.keystore.KeyGenParameterSpec, param3: number): android.security.AttestedKeyPair;
				public enableSystemApp(param0: android.content.ComponentName, param1: string): void;
				public setDelegatedScopes(param0: android.content.ComponentName, param1: string, param2: java.util.List<string>): void;
				public enableSystemApp(param0: android.content.ComponentName, param1: android.content.Intent): number;
				public setPermissionPolicy(param0: android.content.ComponentName, param1: number): void;
				/** @deprecated */
				public isCallerApplicationRestrictionsManagingPackage(): boolean;
				public addCrossProfileWidgetProvider(param0: android.content.ComponentName, param1: string): boolean;
				public setTime(param0: android.content.ComponentName, param1: number): boolean;
				public setLockTaskFeatures(param0: android.content.ComponentName, param1: number): void;
				public setRequiredStrongAuthTimeout(param0: android.content.ComponentName, param1: number): void;
				/** @deprecated */
				public setCertInstallerPackage(param0: android.content.ComponentName, param1: string): void;
				public setSystemUpdatePolicy(param0: android.content.ComponentName, param1: android.app.admin.SystemUpdatePolicy): void;
				public isApplicationHidden(param0: android.content.ComponentName, param1: string): boolean;
				public getApplicationRestrictions(param0: android.content.ComponentName, param1: string): android.os.Bundle;
				public getSecondaryUsers(param0: android.content.ComponentName): java.util.List<android.os.UserHandle>;
				public getPermissionGrantState(param0: android.content.ComponentName, param1: string, param2: string): number;
				public getEndUserSessionMessage(param0: android.content.ComponentName): string;
				public getMeteredDataDisabledPackages(param0: android.content.ComponentName): java.util.List<string>;
				public setCameraDisabled(param0: android.content.ComponentName, param1: boolean): void;
				public installKeyPair(param0: android.content.ComponentName, param1: java.security.PrivateKey, param2: java.security.cert.Certificate, param3: string): boolean;
				public setPasswordExpirationTimeout(param0: android.content.ComponentName, param1: number): void;
				public installKeyPair(param0: android.content.ComponentName, param1: java.security.PrivateKey, param2: native.Array<java.security.cert.Certificate>, param3: string, param4: number): boolean;
				/** @deprecated */
				public clearDeviceOwnerApp(param0: string): void;
				public setSecurityLoggingEnabled(param0: android.content.ComponentName, param1: boolean): void;
				public setPasswordHistoryLength(param0: android.content.ComponentName, param1: number): void;
				public setPermissionGrantState(param0: android.content.ComponentName, param1: string, param2: string, param3: number): boolean;
				public isActivePasswordSufficient(): boolean;
				public setLockTaskPackages(param0: android.content.ComponentName, param1: native.Array<string>): void;
				public isSecurityLoggingEnabled(param0: android.content.ComponentName): boolean;
				public getPendingSystemUpdate(param0: android.content.ComponentName): android.app.admin.SystemUpdateInfo;
				public getPermittedAccessibilityServices(param0: android.content.ComponentName): java.util.List<string>;
				public setProfileName(param0: android.content.ComponentName, param1: string): void;
				public clearUserRestriction(param0: android.content.ComponentName, param1: string): void;
				public installCaCert(param0: android.content.ComponentName, param1: native.Array<number>): boolean;
				public createAdminSupportIntent(param0: string): android.content.Intent;
				public getPasswordMinimumLowerCase(param0: android.content.ComponentName): number;
				public isMasterVolumeMuted(param0: android.content.ComponentName): boolean;
				public resetPasswordWithToken(param0: android.content.ComponentName, param1: string, param2: native.Array<number>, param3: number): boolean;
				public createAndManageUser(param0: android.content.ComponentName, param1: string, param2: android.content.ComponentName, param3: any, param4: number): android.os.UserHandle;
			}
			export module DevicePolicyManager {
				export class OnClearApplicationUserDataListener extends java.lang.Object {
					public static class: java.lang.Class<android.app.admin.DevicePolicyManager.OnClearApplicationUserDataListener>;
					/**
					 * Constructs a new instance of the android.app.admin.DevicePolicyManager$OnClearApplicationUserDataListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						onApplicationUserDataCleared(param0: string, param1: boolean): void;
					});
					public constructor();
					public onApplicationUserDataCleared(param0: string, param1: boolean): void;
				}
			}
		}
	}
}

declare module android {
	export module app {
		export module admin {
			export class DnsEvent extends android.app.admin.NetworkEvent implements android.os.Parcelable {
				public static class: java.lang.Class<android.app.admin.DnsEvent>;
				public static CREATOR: android.os.Parcelable.Creator<android.app.admin.DnsEvent>;
				public getInetAddresses(): java.util.List<java.net.InetAddress>;
				public getTotalResolvedAddressCount(): number;
				public getHostname(): string;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public toString(): string;
			}
		}
	}
}

declare module android {
	export module app {
		export module admin {
			export class FreezePeriod extends java.lang.Object {
				public static class: java.lang.Class<android.app.admin.FreezePeriod>;
				public getEnd(): java.time.MonthDay;
				public constructor(param0: java.time.MonthDay, param1: java.time.MonthDay);
				public getStart(): java.time.MonthDay;
				public toString(): string;
			}
		}
	}
}

declare module android {
	export module app {
		export module admin {
			export abstract class NetworkEvent extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.app.admin.NetworkEvent>;
				public static CREATOR: android.os.Parcelable.Creator<android.app.admin.NetworkEvent>;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getPackageName(): string;
				public getId(): number;
				public describeContents(): number;
				public getTimestamp(): number;
			}
		}
	}
}

declare module android {
	export module app {
		export module admin {
			export class SecurityLog extends java.lang.Object {
				public static class: java.lang.Class<android.app.admin.SecurityLog>;
				public static LEVEL_ERROR: number;
				public static LEVEL_INFO: number;
				public static LEVEL_WARNING: number;
				public static TAG_ADB_SHELL_CMD: number;
				public static TAG_ADB_SHELL_INTERACTIVE: number;
				public static TAG_APP_PROCESS_START: number;
				public static TAG_CERT_AUTHORITY_INSTALLED: number;
				public static TAG_CERT_AUTHORITY_REMOVED: number;
				public static TAG_CERT_VALIDATION_FAILURE: number;
				public static TAG_CRYPTO_SELF_TEST_COMPLETED: number;
				public static TAG_KEYGUARD_DISABLED_FEATURES_SET: number;
				public static TAG_KEYGUARD_DISMISSED: number;
				public static TAG_KEYGUARD_DISMISS_AUTH_ATTEMPT: number;
				public static TAG_KEYGUARD_SECURED: number;
				public static TAG_KEY_DESTRUCTION: number;
				public static TAG_KEY_GENERATED: number;
				public static TAG_KEY_IMPORT: number;
				public static TAG_KEY_INTEGRITY_VIOLATION: number;
				public static TAG_LOGGING_STARTED: number;
				public static TAG_LOGGING_STOPPED: number;
				public static TAG_LOG_BUFFER_SIZE_CRITICAL: number;
				public static TAG_MAX_PASSWORD_ATTEMPTS_SET: number;
				public static TAG_MAX_SCREEN_LOCK_TIMEOUT_SET: number;
				public static TAG_MEDIA_MOUNT: number;
				public static TAG_MEDIA_UNMOUNT: number;
				public static TAG_OS_SHUTDOWN: number;
				public static TAG_OS_STARTUP: number;
				public static TAG_PASSWORD_COMPLEXITY_SET: number;
				public static TAG_PASSWORD_EXPIRATION_SET: number;
				public static TAG_PASSWORD_HISTORY_LENGTH_SET: number;
				public static TAG_REMOTE_LOCK: number;
				public static TAG_SYNC_RECV_FILE: number;
				public static TAG_SYNC_SEND_FILE: number;
				public static TAG_USER_RESTRICTION_ADDED: number;
				public static TAG_USER_RESTRICTION_REMOVED: number;
				public static TAG_WIPE_FAILURE: number;
				public constructor();
			}
			export module SecurityLog {
				export class SecurityEvent extends java.lang.Object implements android.os.Parcelable {
					public static class: java.lang.Class<android.app.admin.SecurityLog.SecurityEvent>;
					public static CREATOR: android.os.Parcelable.Creator<android.app.admin.SecurityLog.SecurityEvent>;
					public equals(param0: any): boolean;
					public getData(): any;
					public getTag(): number;
					public getLogLevel(): number;
					public getId(): number;
					public describeContents(): number;
					public getTimeNanos(): number;
					public hashCode(): number;
					public writeToParcel(param0: android.os.Parcel, param1: number): void;
				}
			}
		}
	}
}

declare module android {
	export module app {
		export module admin {
			export class SystemUpdateInfo extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.app.admin.SystemUpdateInfo>;
				public static CREATOR: android.os.Parcelable.Creator<android.app.admin.SystemUpdateInfo>;
				public static SECURITY_PATCH_STATE_FALSE: number;
				public static SECURITY_PATCH_STATE_TRUE: number;
				public static SECURITY_PATCH_STATE_UNKNOWN: number;
				public getSecurityPatchState(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public hashCode(): number;
				public describeContents(): number;
				public equals(param0: any): boolean;
				public getReceivedTime(): number;
				public toString(): string;
			}
		}
	}
}

declare module android {
	export module app {
		export module admin {
			export class SystemUpdatePolicy extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.app.admin.SystemUpdatePolicy>;
				public static CREATOR: android.os.Parcelable.Creator<android.app.admin.SystemUpdatePolicy>;
				public static TYPE_INSTALL_AUTOMATIC: number;
				public static TYPE_INSTALL_WINDOWED: number;
				public static TYPE_POSTPONE: number;
				public setFreezePeriods(param0: java.util.List<android.app.admin.FreezePeriod>): android.app.admin.SystemUpdatePolicy;
				public getPolicyType(): number;
				public static createPostponeInstallPolicy(): android.app.admin.SystemUpdatePolicy;
				public getInstallWindowStart(): number;
				public getFreezePeriods(): java.util.List<android.app.admin.FreezePeriod>;
				public static createWindowedInstallPolicy(param0: number, param1: number): android.app.admin.SystemUpdatePolicy;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public static createAutomaticInstallPolicy(): android.app.admin.SystemUpdatePolicy;
				public toString(): string;
				public getInstallWindowEnd(): number;
			}
			export module SystemUpdatePolicy {
				export class ValidationFailedException extends java.lang.IllegalArgumentException implements android.os.Parcelable {
					public static class: java.lang.Class<android.app.admin.SystemUpdatePolicy.ValidationFailedException>;
					public static CREATOR: android.os.Parcelable.Creator<android.app.admin.SystemUpdatePolicy.ValidationFailedException>;
					public static ERROR_COMBINED_FREEZE_PERIOD_TOO_CLOSE: number;
					public static ERROR_COMBINED_FREEZE_PERIOD_TOO_LONG: number;
					public static ERROR_DUPLICATE_OR_OVERLAP: number;
					public static ERROR_NEW_FREEZE_PERIOD_TOO_CLOSE: number;
					public static ERROR_NEW_FREEZE_PERIOD_TOO_LONG: number;
					public static ERROR_UNKNOWN: number;
					public getErrorCode(): number;
					public describeContents(): number;
					public writeToParcel(param0: android.os.Parcel, param1: number): void;
				}
			}
		}
	}
}

declare module android {
	export module app {
		export module assist {
			export class AssistContent extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.app.assist.AssistContent>;
				public static CREATOR: android.os.Parcelable.Creator<android.app.assist.AssistContent>;
				public getWebUri(): android.net.Uri;
				public getIntent(): android.content.Intent;
				public setStructuredData(param0: string): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public setClipData(param0: android.content.ClipData): void;
				public setIntent(param0: android.content.Intent): void;
				public getStructuredData(): string;
				public constructor();
				public isAppProvidedIntent(): boolean;
				public isAppProvidedWebUri(): boolean;
				public getClipData(): android.content.ClipData;
				public describeContents(): number;
				public getExtras(): android.os.Bundle;
				public setWebUri(param0: android.net.Uri): void;
			}
		}
	}
}

declare module android {
	export module app {
		export module assist {
			export class AssistStructure extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.app.assist.AssistStructure>;
				public static CREATOR: android.os.Parcelable.Creator<android.app.assist.AssistStructure>;
				public getAcquisitionStartTime(): number;
				public isHomeActivity(): boolean;
				public getWindowNodeAt(param0: number): android.app.assist.AssistStructure.WindowNode;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getWindowNodeCount(): number;
				public getActivityComponent(): android.content.ComponentName;
				public getAcquisitionEndTime(): number;
				public constructor();
			}
			export module AssistStructure {
				export class ViewNode extends java.lang.Object {
					public static class: java.lang.Class<android.app.assist.AssistStructure.ViewNode>;
					public static TEXT_COLOR_UNDEFINED: number;
					public static TEXT_STYLE_BOLD: number;
					public static TEXT_STYLE_ITALIC: number;
					public static TEXT_STYLE_STRIKE_THRU: number;
					public static TEXT_STYLE_UNDERLINE: number;
					public getWebScheme(): string;
					public getChildCount(): number;
					public getElevation(): number;
					public isFocusable(): boolean;
					public getHtmlInfo(): any;
					public isClickable(): boolean;
					public getContentDescription(): string;
					public getTextStyle(): number;
					public getHint(): string;
					public getImportantForAutofill(): number;
					public getTextBackgroundColor(): number;
					public isContextClickable(): boolean;
					public getChildAt(param0: number): android.app.assist.AssistStructure.ViewNode;
					public getVisibility(): number;
					public isEnabled(): boolean;
					public isOpaque(): boolean;
					public getAlpha(): number;
					public isActivated(): boolean;
					public getTransformation(): android.graphics.Matrix;
					public getText(): string;
					public getHeight(): number;
					public getMinTextEms(): number;
					public getId(): number;
					public getAutofillType(): number;
					public getIdEntry(): string;
					public getTextSelectionStart(): number;
					public getAutofillOptions(): native.Array<string>;
					public getLeft(): number;
					public isSelected(): boolean;
					public getScrollY(): number;
					public isFocused(): boolean;
					public getLocaleList(): any;
					public getTextIdEntry(): string;
					public getTextSelectionEnd(): number;
					public isAssistBlocked(): boolean;
					public getAutofillId(): android.view.autofill.AutofillId;
					public getClassName(): string;
					public getTextSize(): number;
					public isCheckable(): boolean;
					public getIdPackage(): string;
					public isAccessibilityFocused(): boolean;
					public getTextLineCharOffsets(): native.Array<number>;
					public isChecked(): boolean;
					public getTextLineBaselines(): native.Array<number>;
					public getMaxTextEms(): number;
					public getWebDomain(): string;
					public getWidth(): number;
					public getAutofillValue(): android.view.autofill.AutofillValue;
					public getMaxTextLength(): number;
					public getIdType(): string;
					public getTop(): number;
					public isLongClickable(): boolean;
					public getTextColor(): number;
					public getAutofillHints(): native.Array<string>;
					public getScrollX(): number;
					public getExtras(): android.os.Bundle;
					public getInputType(): number;
				}
				export class WindowNode extends java.lang.Object {
					public static class: java.lang.Class<android.app.assist.AssistStructure.WindowNode>;
					public getTitle(): string;
					public getDisplayId(): number;
					public getHeight(): number;
					public getWidth(): number;
					public getLeft(): number;
					public getRootViewNode(): android.app.assist.AssistStructure.ViewNode;
					public getTop(): number;
				}
			}
		}
	}
}

declare module android {
	export module app {
		export module backup {
			export abstract class BackupAgent extends android.content.ContextWrapper {
				public static class: java.lang.Class<android.app.backup.BackupAgent>;
				public static FLAG_CLIENT_SIDE_ENCRYPTION_ENABLED: number;
				public static FLAG_DEVICE_TO_DEVICE_TRANSFER: number;
				public static TYPE_DIRECTORY: number;
				public static TYPE_FILE: number;
				public onRestoreFile(param0: android.os.ParcelFileDescriptor, param1: number, param2: java.io.File, param3: number, param4: number, param5: number): void;
				public onRestoreFinished(): void;
				public onRestore(param0: android.app.backup.BackupDataInput, param1: number, param2: android.os.ParcelFileDescriptor): void;
				public onQuotaExceeded(param0: number, param1: number): void;
				public constructor(param0: android.content.Context);
				public onCreate(): void;
				public fullBackupFile(param0: java.io.File, param1: android.app.backup.FullBackupDataOutput): void;
				public onDestroy(): void;
				public onFullBackup(param0: android.app.backup.FullBackupDataOutput): void;
				public constructor();
				public onBackup(param0: android.os.ParcelFileDescriptor, param1: android.app.backup.BackupDataOutput, param2: android.os.ParcelFileDescriptor): void;
			}
		}
	}
}

declare module android {
	export module app {
		export module backup {
			export class BackupAgentHelper extends android.app.backup.BackupAgent {
				public static class: java.lang.Class<android.app.backup.BackupAgentHelper>;
				public onRestore(param0: android.app.backup.BackupDataInput, param1: number, param2: android.os.ParcelFileDescriptor): void;
				public addHelper(param0: string, param1: android.app.backup.BackupHelper): void;
				public constructor(param0: android.content.Context);
				public constructor();
				public onBackup(param0: android.os.ParcelFileDescriptor, param1: android.app.backup.BackupDataOutput, param2: android.os.ParcelFileDescriptor): void;
			}
		}
	}
}

declare module android {
	export module app {
		export module backup {
			export class BackupDataInput extends java.lang.Object {
				public static class: java.lang.Class<android.app.backup.BackupDataInput>;
				public skipEntityData(): void;
				public getDataSize(): number;
				public readEntityData(param0: native.Array<number>, param1: number, param2: number): number;
				public finalize(): void;
				public getKey(): string;
				public readNextHeader(): boolean;
			}
		}
	}
}

declare module android {
	export module app {
		export module backup {
			export class BackupDataInputStream extends java.io.InputStream {
				public static class: java.lang.Class<android.app.backup.BackupDataInputStream>;
				public read(): number;
				public close(): void;
				public read(param0: native.Array<number>): number;
				public read(param0: native.Array<number>, param1: number, param2: number): number;
				public getKey(): string;
				public size(): number;
			}
		}
	}
}

declare module android {
	export module app {
		export module backup {
			export class BackupDataOutput extends java.lang.Object {
				public static class: java.lang.Class<android.app.backup.BackupDataOutput>;
				public getTransportFlags(): number;
				public getQuota(): number;
				public writeEntityData(param0: native.Array<number>, param1: number): number;
				public finalize(): void;
				public writeEntityHeader(param0: string, param1: number): number;
			}
		}
	}
}

declare module android {
	export module app {
		export module backup {
			export class BackupHelper extends java.lang.Object {
				public static class: java.lang.Class<android.app.backup.BackupHelper>;
				/**
				 * Constructs a new instance of the android.app.backup.BackupHelper interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					performBackup(param0: android.os.ParcelFileDescriptor, param1: android.app.backup.BackupDataOutput, param2: android.os.ParcelFileDescriptor): void;
					restoreEntity(param0: android.app.backup.BackupDataInputStream): void;
					writeNewStateDescription(param0: android.os.ParcelFileDescriptor): void;
				});
				public constructor();
				public writeNewStateDescription(param0: android.os.ParcelFileDescriptor): void;
				public restoreEntity(param0: android.app.backup.BackupDataInputStream): void;
				public performBackup(param0: android.os.ParcelFileDescriptor, param1: android.app.backup.BackupDataOutput, param2: android.os.ParcelFileDescriptor): void;
			}
		}
	}
}

declare module android {
	export module app {
		export module backup {
			export class BackupManager extends java.lang.Object {
				public static class: java.lang.Class<android.app.backup.BackupManager>;
				public dataChanged(): void;
				public static dataChanged(param0: string): void;
				public constructor(param0: android.content.Context);
				/** @deprecated */
				public requestRestore(param0: android.app.backup.RestoreObserver): number;
			}
		}
	}
}

declare module android {
	export module app {
		export module backup {
			export class FileBackupHelper extends java.lang.Object implements android.app.backup.BackupHelper {
				public static class: java.lang.Class<android.app.backup.FileBackupHelper>;
				public writeNewStateDescription(param0: android.os.ParcelFileDescriptor): void;
				public constructor(param0: android.content.Context, param1: native.Array<string>);
				public finalize(): void;
				public restoreEntity(param0: android.app.backup.BackupDataInputStream): void;
				public performBackup(param0: android.os.ParcelFileDescriptor, param1: android.app.backup.BackupDataOutput, param2: android.os.ParcelFileDescriptor): void;
			}
		}
	}
}

declare module android {
	export module app {
		export module backup {
			export class FullBackupDataOutput extends java.lang.Object {
				public static class: java.lang.Class<android.app.backup.FullBackupDataOutput>;
				public getTransportFlags(): number;
				public getQuota(): number;
			}
		}
	}
}

declare module android {
	export module app {
		export module backup {
			export abstract class RestoreObserver extends java.lang.Object {
				public static class: java.lang.Class<android.app.backup.RestoreObserver>;
				public restoreStarting(param0: number): void;
				public onUpdate(param0: number, param1: string): void;
				public restoreFinished(param0: number): void;
				public constructor();
			}
		}
	}
}

declare module android {
	export module app {
		export module backup {
			export class SharedPreferencesBackupHelper extends java.lang.Object implements android.app.backup.BackupHelper {
				public static class: java.lang.Class<android.app.backup.SharedPreferencesBackupHelper>;
				public writeNewStateDescription(param0: android.os.ParcelFileDescriptor): void;
				public constructor(param0: android.content.Context, param1: native.Array<string>);
				public finalize(): void;
				public restoreEntity(param0: android.app.backup.BackupDataInputStream): void;
				public performBackup(param0: android.os.ParcelFileDescriptor, param1: android.app.backup.BackupDataOutput, param2: android.os.ParcelFileDescriptor): void;
			}
		}
	}
}







declare module android {
	export module app {
		export module slice {
			export class Slice extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.app.slice.Slice>;
				public static CREATOR: android.os.Parcelable.Creator<android.app.slice.Slice>;
				public static EXTRA_RANGE_VALUE: string;
				public static EXTRA_TOGGLE_STATE: string;
				public static HINT_ACTIONS: string;
				public static HINT_ERROR: string;
				public static HINT_HORIZONTAL: string;
				public static HINT_KEYWORDS: string;
				public static HINT_LARGE: string;
				public static HINT_LAST_UPDATED: string;
				public static HINT_LIST: string;
				public static HINT_LIST_ITEM: string;
				public static HINT_NO_TINT: string;
				public static HINT_PARTIAL: string;
				public static HINT_PERMISSION_REQUEST: string;
				public static HINT_SEE_MORE: string;
				public static HINT_SELECTED: string;
				public static HINT_SHORTCUT: string;
				public static HINT_SUMMARY: string;
				public static HINT_TITLE: string;
				public static HINT_TTL: string;
				public static SUBTYPE_COLOR: string;
				public static SUBTYPE_CONTENT_DESCRIPTION: string;
				public static SUBTYPE_LAYOUT_DIRECTION: string;
				public static SUBTYPE_MAX: string;
				public static SUBTYPE_MESSAGE: string;
				public static SUBTYPE_MILLIS: string;
				public static SUBTYPE_PRIORITY: string;
				public static SUBTYPE_RANGE: string;
				public static SUBTYPE_SOURCE: string;
				public static SUBTYPE_TOGGLE: string;
				public static SUBTYPE_VALUE: string;
				public getUri(): android.net.Uri;
				public getHints(): java.util.List<string>;
				public constructor(param0: android.os.Parcel);
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public isCallerNeeded(): boolean;
				public toString(): string;
				public getItems(): java.util.List<android.app.slice.SliceItem>;
				public getSpec(): android.app.slice.SliceSpec;
			}
			export module Slice {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.app.slice.Slice.Builder>;
					public addIcon(param0: any, param1: string, param2: java.util.List<string>): android.app.slice.Slice.Builder;
					public constructor(param0: android.net.Uri, param1: android.app.slice.SliceSpec);
					public addInt(param0: number, param1: string, param2: java.util.List<string>): android.app.slice.Slice.Builder;
					public addBundle(param0: android.os.Bundle, param1: string, param2: java.util.List<string>): android.app.slice.Slice.Builder;
					public build(): android.app.slice.Slice;
					public addHints(param0: java.util.List<string>): android.app.slice.Slice.Builder;
					public constructor(param0: android.app.slice.Slice.Builder);
					public addText(param0: string, param1: string, param2: java.util.List<string>): android.app.slice.Slice.Builder;
					public addRemoteInput(param0: android.app.RemoteInput, param1: string, param2: java.util.List<string>): android.app.slice.Slice.Builder;
					public addLong(param0: number, param1: string, param2: java.util.List<string>): android.app.slice.Slice.Builder;
					public addAction(param0: android.app.PendingIntent, param1: android.app.slice.Slice, param2: string): android.app.slice.Slice.Builder;
					public addSubSlice(param0: android.app.slice.Slice, param1: string): android.app.slice.Slice.Builder;
					public setCallerNeeded(param0: boolean): android.app.slice.Slice.Builder;
				}
			}
		}
	}
}

declare module android {
	export module app {
		export module slice {
			export class SliceItem extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.app.slice.SliceItem>;
				public static CREATOR: android.os.Parcelable.Creator<android.app.slice.SliceItem>;
				public static FORMAT_ACTION: string;
				public static FORMAT_BUNDLE: string;
				public static FORMAT_IMAGE: string;
				public static FORMAT_INT: string;
				public static FORMAT_LONG: string;
				public static FORMAT_REMOTE_INPUT: string;
				public static FORMAT_SLICE: string;
				public static FORMAT_TEXT: string;
				public getAction(): android.app.PendingIntent;
				public getFormat(): string;
				public getIcon(): any;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getRemoteInput(): android.app.RemoteInput;
				public getText(): string;
				public hasHint(param0: string): boolean;
				public getHints(): java.util.List<string>;
				public getBundle(): android.os.Bundle;
				public describeContents(): number;
				public getInt(): number;
				public getSubType(): string;
				public getSlice(): android.app.slice.Slice;
				public getLong(): number;
			}
		}
	}
}

declare module android {
	export module app {
		export module slice {
			export class SliceManager extends java.lang.Object {
				public static class: java.lang.Class<android.app.slice.SliceManager>;
				public static CATEGORY_SLICE: string;
				public static SLICE_METADATA_KEY: string;
				public checkSlicePermission(param0: android.net.Uri, param1: number, param2: number): number;
				public getPinnedSpecs(param0: android.net.Uri): java.util.Set<android.app.slice.SliceSpec>;
				public getPinnedSlices(): java.util.List<android.net.Uri>;
				public mapIntentToUri(param0: android.content.Intent): android.net.Uri;
				public pinSlice(param0: android.net.Uri, param1: java.util.Set<android.app.slice.SliceSpec>): void;
				public revokeSlicePermission(param0: string, param1: android.net.Uri): void;
				public getSliceDescendants(param0: android.net.Uri): java.util.Collection<android.net.Uri>;
				public bindSlice(param0: android.content.Intent, param1: java.util.Set<android.app.slice.SliceSpec>): android.app.slice.Slice;
				public bindSlice(param0: android.net.Uri, param1: java.util.Set<android.app.slice.SliceSpec>): android.app.slice.Slice;
				public grantSlicePermission(param0: string, param1: android.net.Uri): void;
				public unpinSlice(param0: android.net.Uri): void;
			}
		}
	}
}

declare module android {
	export module app {
		export module slice {
			export class SliceMetrics extends java.lang.Object {
				public static class: java.lang.Class<android.app.slice.SliceMetrics>;
				public logHidden(): void;
				public constructor(param0: android.content.Context, param1: android.net.Uri);
				public logVisible(): void;
				public logTouch(param0: number, param1: android.net.Uri): void;
			}
		}
	}
}

declare module android {
	export module app {
		export module slice {
			export abstract class SliceProvider extends android.content.ContentProvider {
				public static class: java.lang.Class<android.app.slice.SliceProvider>;
				public static SLICE_TYPE: string;
				public onSliceUnpinned(param0: android.net.Uri): void;
				public query(param0: android.net.Uri, param1: native.Array<string>, param2: android.os.Bundle, param3: android.os.CancellationSignal): android.database.Cursor;
				public delete(param0: android.net.Uri, param1: string, param2: native.Array<string>): number;
				public call(param0: string, param1: string, param2: android.os.Bundle): android.os.Bundle;
				public onGetSliceDescendants(param0: android.net.Uri): java.util.Collection<android.net.Uri>;
				public query(param0: android.net.Uri, param1: native.Array<string>, param2: string, param3: native.Array<string>, param4: string, param5: android.os.CancellationSignal): android.database.Cursor;
				public insert(param0: android.net.Uri, param1: android.content.ContentValues): android.net.Uri;
				public onMapIntentToUri(param0: android.content.Intent): android.net.Uri;
				public constructor();
				public attachInfo(param0: android.content.Context, param1: android.content.pm.ProviderInfo): void;
				public onBindSlice(param0: android.net.Uri, param1: java.util.Set<android.app.slice.SliceSpec>): android.app.slice.Slice;
				public onCreatePermissionRequest(param0: android.net.Uri): android.app.PendingIntent;
				public constructor(param0: native.Array<string>);
				public update(param0: android.net.Uri, param1: android.content.ContentValues, param2: string, param3: native.Array<string>): number;
				public getType(param0: android.net.Uri): string;
				public onTrimMemory(param0: number): void;
				public onSlicePinned(param0: android.net.Uri): void;
				public query(param0: android.net.Uri, param1: native.Array<string>, param2: string, param3: native.Array<string>, param4: string): android.database.Cursor;
			}
		}
	}
}

declare module android {
	export module app {
		export module slice {
			export class SliceSpec extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.app.slice.SliceSpec>;
				public static CREATOR: android.os.Parcelable.Creator<android.app.slice.SliceSpec>;
				public getType(): string;
				public canRender(param0: android.app.slice.SliceSpec): boolean;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public constructor(param0: string, param1: number);
				public describeContents(): number;
				public equals(param0: any): boolean;
				public getRevision(): number;
				public toString(): string;
			}
		}
	}
}

declare module android {
	export module app {
		export module usage {
			export class ConfigurationStats extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.app.usage.ConfigurationStats>;
				public static CREATOR: android.os.Parcelable.Creator<android.app.usage.ConfigurationStats>;
				public getLastTimeActive(): number;
				public constructor(param0: android.app.usage.ConfigurationStats);
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getFirstTimeStamp(): number;
				public getConfiguration(): android.content.res.Configuration;
				public getTotalTimeActive(): number;
				public getLastTimeStamp(): number;
				public getActivationCount(): number;
			}
		}
	}
}

declare module android {
	export module app {
		export module usage {
			export class EventStats extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.app.usage.EventStats>;
				public static CREATOR: android.os.Parcelable.Creator<android.app.usage.EventStats>;
				public add(param0: android.app.usage.EventStats): void;
				public getEventType(): number;
				public getTotalTime(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public constructor(param0: android.app.usage.EventStats);
				public describeContents(): number;
				public getFirstTimeStamp(): number;
				public getCount(): number;
				public getLastTimeStamp(): number;
				public getLastEventTime(): number;
			}
		}
	}
}

declare module android {
	export module app {
		export module usage {
			export class ExternalStorageStats extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.app.usage.ExternalStorageStats>;
				public static CREATOR: android.os.Parcelable.Creator<android.app.usage.ExternalStorageStats>;
				public getImageBytes(): number;
				public getAppBytes(): number;
				public getVideoBytes(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getTotalBytes(): number;
				public describeContents(): number;
				public getAudioBytes(): number;
			}
		}
	}
}

declare module android {
	export module app {
		export module usage {
			export class NetworkStats extends java.lang.Object implements java.lang.AutoCloseable {
				public static class: java.lang.Class<android.app.usage.NetworkStats>;
				public getNextBucket(param0: android.app.usage.NetworkStats.Bucket): boolean;
				public close(): void;
				public finalize(): void;
				public hasNextBucket(): boolean;
			}
			export module NetworkStats {
				export class Bucket extends java.lang.Object {
					public static class: java.lang.Class<android.app.usage.NetworkStats.Bucket>;
					public static DEFAULT_NETWORK_ALL: number;
					public static DEFAULT_NETWORK_NO: number;
					public static DEFAULT_NETWORK_YES: number;
					public static METERED_ALL: number;
					public static METERED_NO: number;
					public static METERED_YES: number;
					public static ROAMING_ALL: number;
					public static ROAMING_NO: number;
					public static ROAMING_YES: number;
					public static STATE_ALL: number;
					public static STATE_DEFAULT: number;
					public static STATE_FOREGROUND: number;
					public static TAG_NONE: number;
					public static UID_ALL: number;
					public static UID_REMOVED: number;
					public static UID_TETHERING: number;
					public getUid(): number;
					public getDefaultNetworkStatus(): number;
					public getTxBytes(): number;
					public getStartTimeStamp(): number;
					public getTxPackets(): number;
					public getRxPackets(): number;
					public getTag(): number;
					public getRxBytes(): number;
					public constructor();
					public getMetered(): number;
					public getEndTimeStamp(): number;
					public getState(): number;
					public getRoaming(): number;
				}
			}
		}
	}
}

declare module android {
	export module app {
		export module usage {
			export class NetworkStatsManager extends java.lang.Object {
				public static class: java.lang.Class<android.app.usage.NetworkStatsManager>;
				public registerUsageCallback(param0: number, param1: string, param2: number, param3: android.app.usage.NetworkStatsManager.UsageCallback): void;
				public querySummary(param0: number, param1: string, param2: number, param3: number): android.app.usage.NetworkStats;
				public unregisterUsageCallback(param0: android.app.usage.NetworkStatsManager.UsageCallback): void;
				public queryDetailsForUidTag(param0: number, param1: string, param2: number, param3: number, param4: number, param5: number): android.app.usage.NetworkStats;
				public queryDetailsForUidTagState(param0: number, param1: string, param2: number, param3: number, param4: number, param5: number, param6: number): android.app.usage.NetworkStats;
				public registerUsageCallback(param0: number, param1: string, param2: number, param3: android.app.usage.NetworkStatsManager.UsageCallback, param4: android.os.Handler): void;
				public querySummaryForDevice(param0: number, param1: string, param2: number, param3: number): android.app.usage.NetworkStats.Bucket;
				public querySummaryForUser(param0: number, param1: string, param2: number, param3: number): android.app.usage.NetworkStats.Bucket;
				public queryDetailsForUid(param0: number, param1: string, param2: number, param3: number, param4: number): android.app.usage.NetworkStats;
				public queryDetails(param0: number, param1: string, param2: number, param3: number): android.app.usage.NetworkStats;
			}
			export module NetworkStatsManager {
				export abstract class UsageCallback extends java.lang.Object {
					public static class: java.lang.Class<android.app.usage.NetworkStatsManager.UsageCallback>;
					public constructor();
					public onThresholdReached(param0: number, param1: string): void;
				}
			}
		}
	}
}

declare module android {
	export module app {
		export module usage {
			export class StorageStats extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.app.usage.StorageStats>;
				public static CREATOR: android.os.Parcelable.Creator<android.app.usage.StorageStats>;
				public getAppBytes(): number;
				public getDataBytes(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getCacheBytes(): number;
			}
		}
	}
}

declare module android {
	export module app {
		export module usage {
			export class StorageStatsManager extends java.lang.Object {
				public static class: java.lang.Class<android.app.usage.StorageStatsManager>;
				public queryExternalStatsForUser(param0: java.util.UUID, param1: android.os.UserHandle): android.app.usage.ExternalStorageStats;
				public getTotalBytes(param0: java.util.UUID): number;
				public getFreeBytes(param0: java.util.UUID): number;
				public queryStatsForUid(param0: java.util.UUID, param1: number): android.app.usage.StorageStats;
				public queryStatsForPackage(param0: java.util.UUID, param1: string, param2: android.os.UserHandle): android.app.usage.StorageStats;
				public queryStatsForUser(param0: java.util.UUID, param1: android.os.UserHandle): android.app.usage.StorageStats;
			}
		}
	}
}

declare module android {
	export module app {
		export module usage {
			export class UsageEvents extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.app.usage.UsageEvents>;
				public static CREATOR: android.os.Parcelable.Creator<android.app.usage.UsageEvents>;
				public getNextEvent(param0: android.app.usage.UsageEvents.Event): boolean;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public hasNextEvent(): boolean;
			}
			export module UsageEvents {
				export class Event extends java.lang.Object {
					public static class: java.lang.Class<android.app.usage.UsageEvents.Event>;
					public static CONFIGURATION_CHANGE: number;
					public static KEYGUARD_HIDDEN: number;
					public static KEYGUARD_SHOWN: number;
					public static MOVE_TO_BACKGROUND: number;
					public static MOVE_TO_FOREGROUND: number;
					public static NONE: number;
					public static SCREEN_INTERACTIVE: number;
					public static SCREEN_NON_INTERACTIVE: number;
					public static SHORTCUT_INVOCATION: number;
					public static STANDBY_BUCKET_CHANGED: number;
					public static USER_INTERACTION: number;
					public getTimeStamp(): number;
					public getAppStandbyBucket(): number;
					public getClassName(): string;
					public constructor();
					public getPackageName(): string;
					public getConfiguration(): android.content.res.Configuration;
					public getEventType(): number;
					public getShortcutId(): string;
				}
			}
		}
	}
}

declare module android {
	export module app {
		export module usage {
			export class UsageStats extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.app.usage.UsageStats>;
				public static CREATOR: android.os.Parcelable.Creator<android.app.usage.UsageStats>;
				public add(param0: android.app.usage.UsageStats): void;
				public getLastTimeUsed(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getPackageName(): string;
				public describeContents(): number;
				public getFirstTimeStamp(): number;
				public constructor(param0: android.app.usage.UsageStats);
				public getTotalTimeInForeground(): number;
				public getLastTimeStamp(): number;
			}
		}
	}
}

declare module android {
	export module app {
		export module usage {
			export class UsageStatsManager extends java.lang.Object {
				public static class: java.lang.Class<android.app.usage.UsageStatsManager>;
				public static INTERVAL_BEST: number;
				public static INTERVAL_DAILY: number;
				public static INTERVAL_MONTHLY: number;
				public static INTERVAL_WEEKLY: number;
				public static INTERVAL_YEARLY: number;
				public static STANDBY_BUCKET_ACTIVE: number;
				public static STANDBY_BUCKET_FREQUENT: number;
				public static STANDBY_BUCKET_RARE: number;
				public static STANDBY_BUCKET_WORKING_SET: number;
				public isAppInactive(param0: string): boolean;
				public queryConfigurations(param0: number, param1: number, param2: number): java.util.List<android.app.usage.ConfigurationStats>;
				public queryAndAggregateUsageStats(param0: number, param1: number): java.util.Map<string,android.app.usage.UsageStats>;
				public getAppStandbyBucket(): number;
				public queryUsageStats(param0: number, param1: number, param2: number): java.util.List<android.app.usage.UsageStats>;
				public queryEvents(param0: number, param1: number): android.app.usage.UsageEvents;
				public queryEventStats(param0: number, param1: number, param2: number): java.util.List<android.app.usage.EventStats>;
				public queryEventsForSelf(param0: number, param1: number): android.app.usage.UsageEvents;
			}
		}
	}
}

declare module android {
	export module appwidget {
		export class AppWidgetHost extends java.lang.Object {
			public static class: java.lang.Class<android.appwidget.AppWidgetHost>;
			public clearViews(): void;
			public startListening(): void;
			public startAppWidgetConfigureActivityForResult(param0: android.app.Activity, param1: number, param2: number, param3: number, param4: android.os.Bundle): void;
			public allocateAppWidgetId(): number;
			public getAppWidgetIds(): native.Array<number>;
			public stopListening(): void;
			public constructor(param0: android.content.Context, param1: number);
			public onProvidersChanged(): void;
			public deleteAppWidgetId(param0: number): void;
			public onProviderChanged(param0: number, param1: android.appwidget.AppWidgetProviderInfo): void;
			public deleteHost(): void;
			public onCreateView(param0: android.content.Context, param1: number, param2: android.appwidget.AppWidgetProviderInfo): android.appwidget.AppWidgetHostView;
			public static deleteAllHosts(): void;
			public createView(param0: android.content.Context, param1: number, param2: android.appwidget.AppWidgetProviderInfo): android.appwidget.AppWidgetHostView;
		}
	}
}

declare module android {
	export module appwidget {
		export class AppWidgetHostView extends android.widget.FrameLayout {
			public static class: java.lang.Class<android.appwidget.AppWidgetHostView>;
			public onLayout(param0: boolean, param1: number, param2: number, param3: number, param4: number): void;
			public isLayoutDirectionResolved(): boolean;
			public generateLayoutParams(param0: android.util.AttributeSet): android.view.ViewGroup.LayoutParams;
			public onStopNestedScroll(param0: android.view.View): void;
			public focusableViewAvailable(param0: android.view.View): void;
			public createContextMenu(param0: android.view.ContextMenu): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public addView(param0: android.view.View, param1: number, param2: number): void;
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public requestSendAccessibilityEvent(param0: android.view.View, param1: android.view.accessibility.AccessibilityEvent): boolean;
			public childHasTransientStateChanged(param0: android.view.View, param1: boolean): void;
			public canResolveLayoutDirection(): boolean;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public onNestedScrollAccepted(param0: android.view.View, param1: android.view.View, param2: number): void;
			public keyboardNavigationClusterSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(param0: android.view.View): boolean;
			public onNestedFling(param0: android.view.View, param1: number, param2: number, param3: boolean): boolean;
			public updateAppWidget(param0: android.widget.RemoteViews): void;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public setExecutor(param0: java.util.concurrent.Executor): void;
			public onDescendantInvalidated(param0: android.view.View, param1: android.view.View): void;
			public sendAccessibilityEvent(param0: number): void;
			/** @deprecated */
			public invalidateChild(param0: android.view.View, param1: android.graphics.Rect): void;
			public requestTransparentRegion(param0: android.view.View): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public getParentForAccessibility(): android.view.ViewParent;
			public static getDefaultPaddingForWidget(param0: android.content.Context, param1: android.content.ComponentName, param2: android.graphics.Rect): android.graphics.Rect;
			public getErrorView(): android.view.View;
			public canResolveTextAlignment(): boolean;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public getParent(): android.view.ViewParent;
			public dispatchRestoreInstanceState(param0: android.util.SparseArray<android.os.Parcelable>): void;
			/** @deprecated */
			public invalidateChildInParent(param0: native.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public onStartNestedScroll(param0: android.view.View, param1: android.view.View, param2: number): boolean;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback): android.view.ActionMode;
			public getDefaultView(): android.view.View;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public getLayoutDirection(): number;
			public getTextAlignment(): number;
			public getAppWidgetInfo(): android.appwidget.AppWidgetProviderInfo;
			public requestChildFocus(param0: android.view.View, param1: android.view.View): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public generateLayoutParams(param0: android.view.ViewGroup.LayoutParams): android.view.ViewGroup.LayoutParams;
			public requestChildRectangleOnScreen(param0: android.view.View, param1: android.graphics.Rect, param2: boolean): boolean;
			public onNestedScroll(param0: android.view.View, param1: number, param2: number, param3: number, param4: number): void;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: native.Array<number>): void;
			public constructor(param0: android.content.Context, param1: number, param2: number);
			public onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public focusSearch(param0: number): android.view.View;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public recomputeViewAttributes(param0: android.view.View): void;
			public prepareView(param0: android.view.View): void;
			public isLayoutRequested(): boolean;
			public setAppWidget(param0: number, param1: android.appwidget.AppWidgetProviderInfo): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			public requestLayout(): void;
			public updateAppWidgetOptions(param0: android.os.Bundle): void;
			public childDrawableStateChanged(param0: android.view.View): void;
			public isTextAlignmentResolved(): boolean;
			public addView(param0: android.view.View): void;
			public removeView(param0: android.view.View): void;
			public clearChildFocus(param0: android.view.View): void;
			public getAppWidgetId(): number;
			public canResolveTextDirection(): boolean;
			public getTextDirection(): number;
			public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			/** @deprecated */
			public requestFitSystemWindows(): void;
			public requestDisallowInterceptTouchEvent(param0: boolean): void;
			public updateAppWidgetSize(param0: android.os.Bundle, param1: number, param2: number, param3: number, param4: number): void;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public isTextDirectionResolved(): boolean;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public generateLayoutParams(param0: android.util.AttributeSet): android.widget.FrameLayout.LayoutParams;
			public dispatchSaveInstanceState(param0: android.util.SparseArray<android.os.Parcelable>): void;
			public constructor(param0: android.content.Context);
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public addView(param0: android.view.View, param1: number, param2: android.view.ViewGroup.LayoutParams): void;
			public notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public requestFitSystemWindows(): void;
			public addView(param0: android.view.View, param1: number): void;
		}
	}
}

declare module android {
	export module appwidget {
		export class AppWidgetManager extends java.lang.Object {
			public static class: java.lang.Class<android.appwidget.AppWidgetManager>;
			public static ACTION_APPWIDGET_BIND: string;
			public static ACTION_APPWIDGET_CONFIGURE: string;
			public static ACTION_APPWIDGET_DELETED: string;
			public static ACTION_APPWIDGET_DISABLED: string;
			public static ACTION_APPWIDGET_ENABLED: string;
			public static ACTION_APPWIDGET_HOST_RESTORED: string;
			public static ACTION_APPWIDGET_OPTIONS_CHANGED: string;
			public static ACTION_APPWIDGET_PICK: string;
			public static ACTION_APPWIDGET_RESTORED: string;
			public static ACTION_APPWIDGET_UPDATE: string;
			public static EXTRA_APPWIDGET_ID: string;
			public static EXTRA_APPWIDGET_IDS: string;
			public static EXTRA_APPWIDGET_OLD_IDS: string;
			public static EXTRA_APPWIDGET_OPTIONS: string;
			public static EXTRA_APPWIDGET_PREVIEW: string;
			public static EXTRA_APPWIDGET_PROVIDER: string;
			public static EXTRA_APPWIDGET_PROVIDER_PROFILE: string;
			public static EXTRA_CUSTOM_EXTRAS: string;
			public static EXTRA_CUSTOM_INFO: string;
			public static EXTRA_HOST_ID: string;
			public static INVALID_APPWIDGET_ID: number;
			public static META_DATA_APPWIDGET_PROVIDER: string;
			public static OPTION_APPWIDGET_HOST_CATEGORY: string;
			public static OPTION_APPWIDGET_MAX_HEIGHT: string;
			public static OPTION_APPWIDGET_MAX_WIDTH: string;
			public static OPTION_APPWIDGET_MIN_HEIGHT: string;
			public static OPTION_APPWIDGET_MIN_WIDTH: string;
			public partiallyUpdateAppWidget(param0: number, param1: android.widget.RemoteViews): void;
			public getAppWidgetOptions(param0: number): android.os.Bundle;
			public updateAppWidget(param0: number, param1: android.widget.RemoteViews): void;
			public bindAppWidgetIdIfAllowed(param0: number, param1: android.content.ComponentName, param2: android.os.Bundle): boolean;
			public partiallyUpdateAppWidget(param0: native.Array<number>, param1: android.widget.RemoteViews): void;
			public static getInstance(param0: android.content.Context): android.appwidget.AppWidgetManager;
			public getInstalledProvidersForProfile(param0: android.os.UserHandle): java.util.List<android.appwidget.AppWidgetProviderInfo>;
			public updateAppWidget(param0: native.Array<number>, param1: android.widget.RemoteViews): void;
			public bindAppWidgetIdIfAllowed(param0: number, param1: android.os.UserHandle, param2: android.content.ComponentName, param3: android.os.Bundle): boolean;
			public updateAppWidget(param0: android.content.ComponentName, param1: android.widget.RemoteViews): void;
			public notifyAppWidgetViewDataChanged(param0: native.Array<number>, param1: number): void;
			public updateAppWidgetProviderInfo(param0: android.content.ComponentName, param1: string): void;
			public isRequestPinAppWidgetSupported(): boolean;
			public getInstalledProvidersForPackage(param0: string, param1: android.os.UserHandle): java.util.List<android.appwidget.AppWidgetProviderInfo>;
			public updateAppWidgetOptions(param0: number, param1: android.os.Bundle): void;
			public requestPinAppWidget(param0: android.content.ComponentName, param1: android.os.Bundle, param2: android.app.PendingIntent): boolean;
			public getAppWidgetInfo(param0: number): android.appwidget.AppWidgetProviderInfo;
			public notifyAppWidgetViewDataChanged(param0: number, param1: number): void;
			public bindAppWidgetIdIfAllowed(param0: number, param1: android.content.ComponentName): boolean;
			public getAppWidgetIds(param0: android.content.ComponentName): native.Array<number>;
			public getInstalledProviders(): java.util.List<android.appwidget.AppWidgetProviderInfo>;
		}
	}
}

declare module android {
	export module appwidget {
		export class AppWidgetProvider extends android.content.BroadcastReceiver {
			public static class: java.lang.Class<android.appwidget.AppWidgetProvider>;
			public onRestored(param0: android.content.Context, param1: native.Array<number>, param2: native.Array<number>): void;
			public onAppWidgetOptionsChanged(param0: android.content.Context, param1: android.appwidget.AppWidgetManager, param2: number, param3: android.os.Bundle): void;
			public onReceive(param0: android.content.Context, param1: android.content.Intent): void;
			public onDeleted(param0: android.content.Context, param1: native.Array<number>): void;
			public constructor();
			public onEnabled(param0: android.content.Context): void;
			public onUpdate(param0: android.content.Context, param1: android.appwidget.AppWidgetManager, param2: native.Array<number>): void;
			public onDisabled(param0: android.content.Context): void;
		}
	}
}

declare module android {
	export module appwidget {
		export class AppWidgetProviderInfo extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.appwidget.AppWidgetProviderInfo>;
			public static CREATOR: android.os.Parcelable.Creator<android.appwidget.AppWidgetProviderInfo>;
			public static RESIZE_BOTH: number;
			public static RESIZE_HORIZONTAL: number;
			public static RESIZE_NONE: number;
			public static RESIZE_VERTICAL: number;
			public static WIDGET_CATEGORY_HOME_SCREEN: number;
			public static WIDGET_CATEGORY_KEYGUARD: number;
			public static WIDGET_CATEGORY_SEARCHBOX: number;
			public static WIDGET_FEATURE_HIDE_FROM_PICKER: number;
			public static WIDGET_FEATURE_RECONFIGURABLE: number;
			public autoAdvanceViewId: number;
			public configure: android.content.ComponentName;
			public icon: number;
			public initialKeyguardLayout: number;
			public initialLayout: number;
			public label: string;
			public minHeight: number;
			public minResizeHeight: number;
			public minResizeWidth: number;
			public minWidth: number;
			public previewImage: number;
			public provider: android.content.ComponentName;
			public resizeMode: number;
			public updatePeriodMillis: number;
			public widgetCategory: number;
			public widgetFeatures: number;
			public loadPreviewImage(param0: android.content.Context, param1: number): android.graphics.drawable.Drawable;
			public clone(): any;
			public toString(): string;
			public getProfile(): android.os.UserHandle;
			public constructor(param0: android.os.Parcel);
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public loadIcon(param0: android.content.Context, param1: number): android.graphics.drawable.Drawable;
			public constructor();
			public clone(): android.appwidget.AppWidgetProviderInfo;
			public loadLabel(param0: android.content.pm.PackageManager): string;
		}
	}
}

declare module android {
	export module bluetooth {
		export class BluetoothA2dp extends java.lang.Object implements android.bluetooth.BluetoothProfile {
			public static class: java.lang.Class<android.bluetooth.BluetoothA2dp>;
			public static ACTION_CONNECTION_STATE_CHANGED: string;
			public static ACTION_PLAYING_STATE_CHANGED: string;
			public static STATE_NOT_PLAYING: number;
			public static STATE_PLAYING: number;
			public getConnectedDevices(): java.util.List<android.bluetooth.BluetoothDevice>;
			public isA2dpPlaying(param0: android.bluetooth.BluetoothDevice): boolean;
			public getDevicesMatchingConnectionStates(param0: native.Array<number>): java.util.List<android.bluetooth.BluetoothDevice>;
			public getConnectionState(param0: android.bluetooth.BluetoothDevice): number;
			public finalize(): void;
		}
	}
}

declare module android {
	export module bluetooth {
		export class BluetoothAdapter extends java.lang.Object {
			public static class: java.lang.Class<android.bluetooth.BluetoothAdapter>;
			public static ACTION_CONNECTION_STATE_CHANGED: string;
			public static ACTION_DISCOVERY_FINISHED: string;
			public static ACTION_DISCOVERY_STARTED: string;
			public static ACTION_LOCAL_NAME_CHANGED: string;
			public static ACTION_REQUEST_DISCOVERABLE: string;
			public static ACTION_REQUEST_ENABLE: string;
			public static ACTION_SCAN_MODE_CHANGED: string;
			public static ACTION_STATE_CHANGED: string;
			public static ERROR: number;
			public static EXTRA_CONNECTION_STATE: string;
			public static EXTRA_DISCOVERABLE_DURATION: string;
			public static EXTRA_LOCAL_NAME: string;
			public static EXTRA_PREVIOUS_CONNECTION_STATE: string;
			public static EXTRA_PREVIOUS_SCAN_MODE: string;
			public static EXTRA_PREVIOUS_STATE: string;
			public static EXTRA_SCAN_MODE: string;
			public static EXTRA_STATE: string;
			public static SCAN_MODE_CONNECTABLE: number;
			public static SCAN_MODE_CONNECTABLE_DISCOVERABLE: number;
			public static SCAN_MODE_NONE: number;
			public static STATE_CONNECTED: number;
			public static STATE_CONNECTING: number;
			public static STATE_DISCONNECTED: number;
			public static STATE_DISCONNECTING: number;
			public static STATE_OFF: number;
			public static STATE_ON: number;
			public static STATE_TURNING_OFF: number;
			public static STATE_TURNING_ON: number;
			public getRemoteDevice(param0: native.Array<number>): android.bluetooth.BluetoothDevice;
			public getLeMaximumAdvertisingDataLength(): number;
			public isOffloadedScanBatchingSupported(): boolean;
			public getProfileProxy(param0: android.content.Context, param1: android.bluetooth.BluetoothProfile.ServiceListener, param2: number): boolean;
			public listenUsingRfcommWithServiceRecord(param0: string, param1: java.util.UUID): android.bluetooth.BluetoothServerSocket;
			public static getDefaultAdapter(): android.bluetooth.BluetoothAdapter;
			public getAddress(): string;
			public setName(param0: string): boolean;
			public isLeCodedPhySupported(): boolean;
			public cancelDiscovery(): boolean;
			public static checkBluetoothAddress(param0: string): boolean;
			public isLePeriodicAdvertisingSupported(): boolean;
			public isDiscovering(): boolean;
			public isMultipleAdvertisementSupported(): boolean;
			public getBluetoothLeScanner(): android.bluetooth.le.BluetoothLeScanner;
			public startDiscovery(): boolean;
			public closeProfileProxy(param0: number, param1: android.bluetooth.BluetoothProfile): void;
			public getRemoteDevice(param0: string): android.bluetooth.BluetoothDevice;
			public isOffloadedFilteringSupported(): boolean;
			/** @deprecated */
			public stopLeScan(param0: android.bluetooth.BluetoothAdapter.LeScanCallback): void;
			public disable(): boolean;
			public getState(): number;
			public finalize(): void;
			public getBondedDevices(): java.util.Set<android.bluetooth.BluetoothDevice>;
			public enable(): boolean;
			public getScanMode(): number;
			public isLeExtendedAdvertisingSupported(): boolean;
			public getBluetoothLeAdvertiser(): android.bluetooth.le.BluetoothLeAdvertiser;
			public isEnabled(): boolean;
			public getProfileConnectionState(param0: number): number;
			public getName(): string;
			public isLe2MPhySupported(): boolean;
			/** @deprecated */
			public startLeScan(param0: native.Array<java.util.UUID>, param1: android.bluetooth.BluetoothAdapter.LeScanCallback): boolean;
			/** @deprecated */
			public startLeScan(param0: android.bluetooth.BluetoothAdapter.LeScanCallback): boolean;
			public listenUsingInsecureRfcommWithServiceRecord(param0: string, param1: java.util.UUID): android.bluetooth.BluetoothServerSocket;
		}
		export module BluetoothAdapter {
			export class LeScanCallback extends java.lang.Object {
				public static class: java.lang.Class<android.bluetooth.BluetoothAdapter.LeScanCallback>;
				/**
				 * Constructs a new instance of the android.bluetooth.BluetoothAdapter$LeScanCallback interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onLeScan(param0: android.bluetooth.BluetoothDevice, param1: number, param2: native.Array<number>): void;
				});
				public constructor();
				public onLeScan(param0: android.bluetooth.BluetoothDevice, param1: number, param2: native.Array<number>): void;
			}
		}
	}
}

declare module android {
	export module bluetooth {
		export class BluetoothAssignedNumbers extends java.lang.Object {
			public static class: java.lang.Class<android.bluetooth.BluetoothAssignedNumbers>;
			public static AAMP_OF_AMERICA: number;
			public static ACCEL_SEMICONDUCTOR: number;
			public static ACE_SENSOR: number;
			public static ADIDAS: number;
			public static ADVANCED_PANMOBIL_SYSTEMS: number;
			public static AIROHA_TECHNOLOGY: number;
			public static ALCATEL: number;
			public static ALPWISE: number;
			public static AMICCOM_ELECTRONICS: number;
			public static APLIX: number;
			public static APPLE: number;
			public static APT_LICENSING: number;
			public static ARCHOS: number;
			public static ARP_DEVICES: number;
			public static ATHEROS_COMMUNICATIONS: number;
			public static ATMEL: number;
			public static AUSTCO_COMMUNICATION_SYSTEMS: number;
			public static AUTONET_MOBILE: number;
			public static AVAGO: number;
			public static AVM_BERLIN: number;
			public static A_AND_D_ENGINEERING: number;
			public static A_AND_R_CAMBRIDGE: number;
			public static BANDSPEED: number;
			public static BAND_XI_INTERNATIONAL: number;
			public static BDE_TECHNOLOGY: number;
			public static BEATS_ELECTRONICS: number;
			public static BEAUTIFUL_ENTERPRISE: number;
			public static BEKEY: number;
			public static BELKIN_INTERNATIONAL: number;
			public static BINAURIC: number;
			public static BIOSENTRONICS: number;
			public static BLUEGIGA: number;
			public static BLUERADIOS: number;
			public static BLUETOOTH_SIG: number;
			public static BLUETREK_TECHNOLOGIES: number;
			public static BOSE: number;
			public static BRIARTEK: number;
			public static BROADCOM: number;
			public static CAEN_RFID: number;
			public static CAMBRIDGE_SILICON_RADIO: number;
			public static CATC: number;
			public static CINETIX: number;
			public static CLARINOX_TECHNOLOGIES: number;
			public static COLORFY: number;
			public static COMMIL: number;
			public static CONEXANT_SYSTEMS: number;
			public static CONNECTBLUE: number;
			public static CONTINENTAL_AUTOMOTIVE: number;
			public static CONWISE_TECHNOLOGY: number;
			public static CREATIVE_TECHNOLOGY: number;
			public static C_TECHNOLOGIES: number;
			public static DANLERS: number;
			public static DELORME_PUBLISHING_COMPANY: number;
			public static DEXCOM: number;
			public static DIALOG_SEMICONDUCTOR: number;
			public static DIGIANSWER: number;
			public static ECLIPSE: number;
			public static ECOTEST: number;
			public static ELGATO_SYSTEMS: number;
			public static EM_MICROELECTRONIC_MARIN: number;
			public static EQUINOX_AG: number;
			public static ERICSSON_TECHNOLOGY: number;
			public static EVLUMA: number;
			public static FREE2MOVE: number;
			public static FUNAI_ELECTRIC: number;
			public static GARMIN_INTERNATIONAL: number;
			public static GCT_SEMICONDUCTOR: number;
			public static GELO: number;
			public static GENEQ: number;
			public static GENERAL_MOTORS: number;
			public static GENNUM: number;
			public static GEOFORCE: number;
			public static GIBSON_GUITARS: number;
			public static GN_NETCOM: number;
			public static GN_RESOUND: number;
			public static GOOGLE: number;
			public static GREEN_THROTTLE_GAMES: number;
			public static GROUP_SENSE: number;
			public static HANLYNN_TECHNOLOGIES: number;
			public static HARMAN_INTERNATIONAL: number;
			public static HEWLETT_PACKARD: number;
			public static HITACHI: number;
			public static HOSIDEN: number;
			public static IBM: number;
			public static INFINEON_TECHNOLOGIES: number;
			public static INGENIEUR_SYSTEMGRUPPE_ZAHN: number;
			public static INTEGRATED_SILICON_SOLUTION: number;
			public static INTEGRATED_SYSTEM_SOLUTION: number;
			public static INTEL: number;
			public static INVENTEL: number;
			public static IPEXTREME: number;
			public static I_TECH_DYNAMIC_GLOBAL_DISTRIBUTION: number;
			public static JAWBONE: number;
			public static JIANGSU_TOPPOWER_AUTOMOTIVE_ELECTRONICS: number;
			public static JOHNSON_CONTROLS: number;
			public static J_AND_M: number;
			public static KAWANTECH: number;
			public static KC_TECHNOLOGY: number;
			public static KENSINGTON_COMPUTER_PRODUCTS_GROUP: number;
			public static LAIRD_TECHNOLOGIES: number;
			public static LESSWIRE: number;
			public static LG_ELECTRONICS: number;
			public static LINAK: number;
			public static LUCENT: number;
			public static LUDUS_HELSINKI: number;
			public static MACRONIX: number;
			public static MAGNETI_MARELLI: number;
			public static MANSELLA: number;
			public static MARVELL: number;
			public static MATSUSHITA_ELECTRIC: number;
			public static MC10: number;
			public static MEDIATEK: number;
			public static MESO_INTERNATIONAL: number;
			public static META_WATCH: number;
			public static MEWTEL_TECHNOLOGY: number;
			public static MICOMMAND: number;
			public static MICROCHIP_TECHNOLOGY: number;
			public static MICROSOFT: number;
			public static MINDTREE: number;
			public static MISFIT_WEARABLES: number;
			public static MITEL_SEMICONDUCTOR: number;
			public static MITSUBISHI_ELECTRIC: number;
			public static MOBILIAN_CORPORATION: number;
			public static MONSTER: number;
			public static MOTOROLA: number;
			public static MSTAR_SEMICONDUCTOR: number;
			public static MUZIK: number;
			public static NEC: number;
			public static NEC_LIGHTING: number;
			public static NEWLOGIC: number;
			public static NIKE: number;
			public static NINE_SOLUTIONS: number;
			public static NOKIA_MOBILE_PHONES: number;
			public static NORDIC_SEMICONDUCTOR: number;
			public static NORWOOD_SYSTEMS: number;
			public static ODM_TECHNOLOGY: number;
			public static OMEGAWAVE: number;
			public static ONSET_COMPUTER: number;
			public static OPEN_INTERFACE: number;
			public static OTL_DYNAMICS: number;
			public static PANDA_OCEAN: number;
			public static PARROT: number;
			public static PARTHUS_TECHNOLOGIES: number;
			public static PASSIF_SEMICONDUCTOR: number;
			public static PETER_SYSTEMTECHNIK: number;
			public static PHILIPS_SEMICONDUCTORS: number;
			public static PLANTRONICS: number;
			public static POLAR_ELECTRO: number;
			public static POLAR_ELECTRO_EUROPE: number;
			public static PROCTER_AND_GAMBLE: number;
			public static QUALCOMM: number;
			public static QUALCOMM_CONNECTED_EXPERIENCES: number;
			public static QUALCOMM_INNOVATION_CENTER: number;
			public static QUALCOMM_LABS: number;
			public static QUALCOMM_TECHNOLOGIES: number;
			public static QUINTIC: number;
			public static QUUPPA: number;
			public static RALINK_TECHNOLOGY: number;
			public static RDA_MICROELECTRONICS: number;
			public static REALTEK_SEMICONDUCTOR: number;
			public static RED_M: number;
			public static RENESAS_TECHNOLOGY: number;
			public static RESEARCH_IN_MOTION: number;
			public static RF_MICRO_DEVICES: number;
			public static RIVIERAWAVES: number;
			public static ROHDE_AND_SCHWARZ: number;
			public static RTX_TELECOM: number;
			public static SAMSUNG_ELECTRONICS: number;
			public static SARIS_CYCLING_GROUP: number;
			public static SEERS_TECHNOLOGY: number;
			public static SEIKO_EPSON: number;
			public static SELFLY: number;
			public static SEMILINK: number;
			public static SENNHEISER_COMMUNICATIONS: number;
			public static SHANGHAI_SUPER_SMART_ELECTRONICS: number;
			public static SHENZHEN_EXCELSECU_DATA_TECHNOLOGY: number;
			public static SIGNIA_TECHNOLOGIES: number;
			public static SILICON_WAVE: number;
			public static SIRF_TECHNOLOGY: number;
			public static SOCKET_MOBILE: number;
			public static SONY_ERICSSON: number;
			public static SOUND_ID: number;
			public static SPORTS_TRACKING_TECHNOLOGIES: number;
			public static SR_MEDIZINELEKTRONIK: number;
			public static STACCATO_COMMUNICATIONS: number;
			public static STALMART_TECHNOLOGY: number;
			public static STARKEY_LABORATORIES: number;
			public static STOLLMAN_E_PLUS_V: number;
			public static STONESTREET_ONE: number;
			public static ST_MICROELECTRONICS: number;
			public static SUMMIT_DATA_COMMUNICATIONS: number;
			public static SUUNTO: number;
			public static SWIRL_NETWORKS: number;
			public static SYMBOL_TECHNOLOGIES: number;
			public static SYNOPSYS: number;
			public static SYSTEMS_AND_CHIPS: number;
			public static S_POWER_ELECTRONICS: number;
			public static TAIXINGBANG_TECHNOLOGY: number;
			public static TENOVIS: number;
			public static TERAX: number;
			public static TEXAS_INSTRUMENTS: number;
			public static THINKOPTICS: number;
			public static THREECOM: number;
			public static THREE_DIJOY: number;
			public static THREE_DSP: number;
			public static TIMEKEEPING_SYSTEMS: number;
			public static TIMEX_GROUP_USA: number;
			public static TOPCORN_POSITIONING_SYSTEMS: number;
			public static TOSHIBA: number;
			public static TRANSILICA: number;
			public static TRELAB: number;
			public static TTPCOM: number;
			public static TXTR: number;
			public static TZERO_TECHNOLOGIES: number;
			public static UNIVERSAL_ELECTRONICS: number;
			public static VERTU: number;
			public static VISTEON: number;
			public static VIZIO: number;
			public static VOYETRA_TURTLE_BEACH: number;
			public static WAVEPLUS_TECHNOLOGY: number;
			public static WICENTRIC: number;
			public static WIDCOMM: number;
			public static WUXI_VIMICRO: number;
			public static ZEEVO: number;
			public static ZER01_TV: number;
			public static ZOMM: number;
			public static ZSCAN_SOFTWARE: number;
		}
	}
}

declare module android {
	export module bluetooth {
		export class BluetoothClass extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.bluetooth.BluetoothClass>;
			public static CREATOR: android.os.Parcelable.Creator<android.bluetooth.BluetoothClass>;
			public equals(param0: any): boolean;
			public toString(): string;
			public hasService(param0: number): boolean;
			public describeContents(): number;
			public getDeviceClass(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getMajorDeviceClass(): number;
			public hashCode(): number;
		}
		export module BluetoothClass {
			export class Device extends java.lang.Object {
				public static class: java.lang.Class<android.bluetooth.BluetoothClass.Device>;
				public static AUDIO_VIDEO_CAMCORDER: number;
				public static AUDIO_VIDEO_CAR_AUDIO: number;
				public static AUDIO_VIDEO_HANDSFREE: number;
				public static AUDIO_VIDEO_HEADPHONES: number;
				public static AUDIO_VIDEO_HIFI_AUDIO: number;
				public static AUDIO_VIDEO_LOUDSPEAKER: number;
				public static AUDIO_VIDEO_MICROPHONE: number;
				public static AUDIO_VIDEO_PORTABLE_AUDIO: number;
				public static AUDIO_VIDEO_SET_TOP_BOX: number;
				public static AUDIO_VIDEO_UNCATEGORIZED: number;
				public static AUDIO_VIDEO_VCR: number;
				public static AUDIO_VIDEO_VIDEO_CAMERA: number;
				public static AUDIO_VIDEO_VIDEO_CONFERENCING: number;
				public static AUDIO_VIDEO_VIDEO_DISPLAY_AND_LOUDSPEAKER: number;
				public static AUDIO_VIDEO_VIDEO_GAMING_TOY: number;
				public static AUDIO_VIDEO_VIDEO_MONITOR: number;
				public static AUDIO_VIDEO_WEARABLE_HEADSET: number;
				public static COMPUTER_DESKTOP: number;
				public static COMPUTER_HANDHELD_PC_PDA: number;
				public static COMPUTER_LAPTOP: number;
				public static COMPUTER_PALM_SIZE_PC_PDA: number;
				public static COMPUTER_SERVER: number;
				public static COMPUTER_UNCATEGORIZED: number;
				public static COMPUTER_WEARABLE: number;
				public static HEALTH_BLOOD_PRESSURE: number;
				public static HEALTH_DATA_DISPLAY: number;
				public static HEALTH_GLUCOSE: number;
				public static HEALTH_PULSE_OXIMETER: number;
				public static HEALTH_PULSE_RATE: number;
				public static HEALTH_THERMOMETER: number;
				public static HEALTH_UNCATEGORIZED: number;
				public static HEALTH_WEIGHING: number;
				public static PHONE_CELLULAR: number;
				public static PHONE_CORDLESS: number;
				public static PHONE_ISDN: number;
				public static PHONE_MODEM_OR_GATEWAY: number;
				public static PHONE_SMART: number;
				public static PHONE_UNCATEGORIZED: number;
				public static TOY_CONTROLLER: number;
				public static TOY_DOLL_ACTION_FIGURE: number;
				public static TOY_GAME: number;
				public static TOY_ROBOT: number;
				public static TOY_UNCATEGORIZED: number;
				public static TOY_VEHICLE: number;
				public static WEARABLE_GLASSES: number;
				public static WEARABLE_HELMET: number;
				public static WEARABLE_JACKET: number;
				public static WEARABLE_PAGER: number;
				public static WEARABLE_UNCATEGORIZED: number;
				public static WEARABLE_WRIST_WATCH: number;
				public constructor();
			}
			export module Device {
				export class Major extends java.lang.Object {
					public static class: java.lang.Class<android.bluetooth.BluetoothClass.Device.Major>;
					public static AUDIO_VIDEO: number;
					public static COMPUTER: number;
					public static HEALTH: number;
					public static IMAGING: number;
					public static MISC: number;
					public static NETWORKING: number;
					public static PERIPHERAL: number;
					public static PHONE: number;
					public static TOY: number;
					public static UNCATEGORIZED: number;
					public static WEARABLE: number;
					public constructor();
				}
			}
			export class Service extends java.lang.Object {
				public static class: java.lang.Class<android.bluetooth.BluetoothClass.Service>;
				public static AUDIO: number;
				public static CAPTURE: number;
				public static INFORMATION: number;
				public static LIMITED_DISCOVERABILITY: number;
				public static NETWORKING: number;
				public static OBJECT_TRANSFER: number;
				public static POSITIONING: number;
				public static RENDER: number;
				public static TELEPHONY: number;
				public constructor();
			}
		}
	}
}

declare module android {
	export module bluetooth {
		export class BluetoothDevice extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.bluetooth.BluetoothDevice>;
			public static ACTION_ACL_CONNECTED: string;
			public static ACTION_ACL_DISCONNECTED: string;
			public static ACTION_ACL_DISCONNECT_REQUESTED: string;
			public static ACTION_BOND_STATE_CHANGED: string;
			public static ACTION_CLASS_CHANGED: string;
			public static ACTION_FOUND: string;
			public static ACTION_NAME_CHANGED: string;
			public static ACTION_PAIRING_REQUEST: string;
			public static ACTION_UUID: string;
			public static BOND_BONDED: number;
			public static BOND_BONDING: number;
			public static BOND_NONE: number;
			public static CREATOR: android.os.Parcelable.Creator<android.bluetooth.BluetoothDevice>;
			public static DEVICE_TYPE_CLASSIC: number;
			public static DEVICE_TYPE_DUAL: number;
			public static DEVICE_TYPE_LE: number;
			public static DEVICE_TYPE_UNKNOWN: number;
			public static ERROR: number;
			public static EXTRA_BOND_STATE: string;
			public static EXTRA_CLASS: string;
			public static EXTRA_DEVICE: string;
			public static EXTRA_NAME: string;
			public static EXTRA_PAIRING_KEY: string;
			public static EXTRA_PAIRING_VARIANT: string;
			public static EXTRA_PREVIOUS_BOND_STATE: string;
			public static EXTRA_RSSI: string;
			public static EXTRA_UUID: string;
			public static PAIRING_VARIANT_PASSKEY_CONFIRMATION: number;
			public static PAIRING_VARIANT_PIN: number;
			public static PHY_LE_1M: number;
			public static PHY_LE_1M_MASK: number;
			public static PHY_LE_2M: number;
			public static PHY_LE_2M_MASK: number;
			public static PHY_LE_CODED: number;
			public static PHY_LE_CODED_MASK: number;
			public static PHY_OPTION_NO_PREFERRED: number;
			public static PHY_OPTION_S2: number;
			public static PHY_OPTION_S8: number;
			public static TRANSPORT_AUTO: number;
			public static TRANSPORT_BREDR: number;
			public static TRANSPORT_LE: number;
			public equals(param0: any): boolean;
			public getType(): number;
			public fetchUuidsWithSdp(): boolean;
			public setPin(param0: native.Array<number>): boolean;
			public connectGatt(param0: android.content.Context, param1: boolean, param2: android.bluetooth.BluetoothGattCallback, param3: number): android.bluetooth.BluetoothGatt;
			public getAddress(): string;
			public createInsecureRfcommSocketToServiceRecord(param0: java.util.UUID): android.bluetooth.BluetoothSocket;
			public connectGatt(param0: android.content.Context, param1: boolean, param2: android.bluetooth.BluetoothGattCallback, param3: number, param4: number): android.bluetooth.BluetoothGatt;
			public connectGatt(param0: android.content.Context, param1: boolean, param2: android.bluetooth.BluetoothGattCallback): android.bluetooth.BluetoothGatt;
			public getBondState(): number;
			public getUuids(): native.Array<android.os.ParcelUuid>;
			public toString(): string;
			public getName(): string;
			public describeContents(): number;
			public createRfcommSocketToServiceRecord(param0: java.util.UUID): android.bluetooth.BluetoothSocket;
			public connectGatt(param0: android.content.Context, param1: boolean, param2: android.bluetooth.BluetoothGattCallback, param3: number, param4: number, param5: android.os.Handler): android.bluetooth.BluetoothGatt;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public createBond(): boolean;
			public getBluetoothClass(): android.bluetooth.BluetoothClass;
			public setPairingConfirmation(param0: boolean): boolean;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module bluetooth {
		export class BluetoothGatt extends java.lang.Object implements android.bluetooth.BluetoothProfile {
			public static class: java.lang.Class<android.bluetooth.BluetoothGatt>;
			public static CONNECTION_PRIORITY_BALANCED: number;
			public static CONNECTION_PRIORITY_HIGH: number;
			public static CONNECTION_PRIORITY_LOW_POWER: number;
			public static GATT_CONNECTION_CONGESTED: number;
			public static GATT_FAILURE: number;
			public static GATT_INSUFFICIENT_AUTHENTICATION: number;
			public static GATT_INSUFFICIENT_ENCRYPTION: number;
			public static GATT_INVALID_ATTRIBUTE_LENGTH: number;
			public static GATT_INVALID_OFFSET: number;
			public static GATT_READ_NOT_PERMITTED: number;
			public static GATT_REQUEST_NOT_SUPPORTED: number;
			public static GATT_SUCCESS: number;
			public static GATT_WRITE_NOT_PERMITTED: number;
			public getConnectedDevices(): java.util.List<android.bluetooth.BluetoothDevice>;
			public connect(): boolean;
			public getServices(): java.util.List<android.bluetooth.BluetoothGattService>;
			public getDevicesMatchingConnectionStates(param0: native.Array<number>): java.util.List<android.bluetooth.BluetoothDevice>;
			public executeReliableWrite(): boolean;
			/** @deprecated */
			public abortReliableWrite(param0: android.bluetooth.BluetoothDevice): void;
			public readPhy(): void;
			public setCharacteristicNotification(param0: android.bluetooth.BluetoothGattCharacteristic, param1: boolean): boolean;
			public readRemoteRssi(): boolean;
			public beginReliableWrite(): boolean;
			public writeDescriptor(param0: android.bluetooth.BluetoothGattDescriptor): boolean;
			public readCharacteristic(param0: android.bluetooth.BluetoothGattCharacteristic): boolean;
			public requestConnectionPriority(param0: number): boolean;
			public getConnectionState(param0: android.bluetooth.BluetoothDevice): number;
			public getDevice(): android.bluetooth.BluetoothDevice;
			public readDescriptor(param0: android.bluetooth.BluetoothGattDescriptor): boolean;
			public close(): void;
			public abortReliableWrite(): void;
			public setPreferredPhy(param0: number, param1: number, param2: number): void;
			public getService(param0: java.util.UUID): android.bluetooth.BluetoothGattService;
			public writeCharacteristic(param0: android.bluetooth.BluetoothGattCharacteristic): boolean;
			public disconnect(): void;
			public discoverServices(): boolean;
			public requestMtu(param0: number): boolean;
		}
	}
}

declare module android {
	export module bluetooth {
		export abstract class BluetoothGattCallback extends java.lang.Object {
			public static class: java.lang.Class<android.bluetooth.BluetoothGattCallback>;
			public onDescriptorRead(param0: android.bluetooth.BluetoothGatt, param1: android.bluetooth.BluetoothGattDescriptor, param2: number): void;
			public onServicesDiscovered(param0: android.bluetooth.BluetoothGatt, param1: number): void;
			public onCharacteristicWrite(param0: android.bluetooth.BluetoothGatt, param1: android.bluetooth.BluetoothGattCharacteristic, param2: number): void;
			public constructor();
			public onPhyRead(param0: android.bluetooth.BluetoothGatt, param1: number, param2: number, param3: number): void;
			public onReadRemoteRssi(param0: android.bluetooth.BluetoothGatt, param1: number, param2: number): void;
			public onMtuChanged(param0: android.bluetooth.BluetoothGatt, param1: number, param2: number): void;
			public onPhyUpdate(param0: android.bluetooth.BluetoothGatt, param1: number, param2: number, param3: number): void;
			public onConnectionStateChange(param0: android.bluetooth.BluetoothGatt, param1: number, param2: number): void;
			public onReliableWriteCompleted(param0: android.bluetooth.BluetoothGatt, param1: number): void;
			public onDescriptorWrite(param0: android.bluetooth.BluetoothGatt, param1: android.bluetooth.BluetoothGattDescriptor, param2: number): void;
			public onCharacteristicRead(param0: android.bluetooth.BluetoothGatt, param1: android.bluetooth.BluetoothGattCharacteristic, param2: number): void;
			public onCharacteristicChanged(param0: android.bluetooth.BluetoothGatt, param1: android.bluetooth.BluetoothGattCharacteristic): void;
		}
	}
}

declare module android {
	export module bluetooth {
		export class BluetoothGattCharacteristic extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.bluetooth.BluetoothGattCharacteristic>;
			public static CREATOR: android.os.Parcelable.Creator<android.bluetooth.BluetoothGattCharacteristic>;
			public static FORMAT_FLOAT: number;
			public static FORMAT_SFLOAT: number;
			public static FORMAT_SINT16: number;
			public static FORMAT_SINT32: number;
			public static FORMAT_SINT8: number;
			public static FORMAT_UINT16: number;
			public static FORMAT_UINT32: number;
			public static FORMAT_UINT8: number;
			public static PERMISSION_READ: number;
			public static PERMISSION_READ_ENCRYPTED: number;
			public static PERMISSION_READ_ENCRYPTED_MITM: number;
			public static PERMISSION_WRITE: number;
			public static PERMISSION_WRITE_ENCRYPTED: number;
			public static PERMISSION_WRITE_ENCRYPTED_MITM: number;
			public static PERMISSION_WRITE_SIGNED: number;
			public static PERMISSION_WRITE_SIGNED_MITM: number;
			public static PROPERTY_BROADCAST: number;
			public static PROPERTY_EXTENDED_PROPS: number;
			public static PROPERTY_INDICATE: number;
			public static PROPERTY_NOTIFY: number;
			public static PROPERTY_READ: number;
			public static PROPERTY_SIGNED_WRITE: number;
			public static PROPERTY_WRITE: number;
			public static PROPERTY_WRITE_NO_RESPONSE: number;
			public static WRITE_TYPE_DEFAULT: number;
			public static WRITE_TYPE_NO_RESPONSE: number;
			public static WRITE_TYPE_SIGNED: number;
			public mDescriptors: java.util.List<android.bluetooth.BluetoothGattDescriptor>;
			public setValue(param0: string): boolean;
			public constructor(param0: java.util.UUID, param1: number, param2: number);
			public getStringValue(param0: number): string;
			public getFloatValue(param0: number, param1: number): java.lang.Float;
			public addDescriptor(param0: android.bluetooth.BluetoothGattDescriptor): boolean;
			public getValue(): native.Array<number>;
			public getIntValue(param0: number, param1: number): java.lang.Integer;
			public setValue(param0: number, param1: number, param2: number): boolean;
			public getUuid(): java.util.UUID;
			public getDescriptor(param0: java.util.UUID): android.bluetooth.BluetoothGattDescriptor;
			public getService(): android.bluetooth.BluetoothGattService;
			public getProperties(): number;
			public getPermissions(): number;
			public getInstanceId(): number;
			public setValue(param0: number, param1: number, param2: number, param3: number): boolean;
			public getDescriptors(): java.util.List<android.bluetooth.BluetoothGattDescriptor>;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public setValue(param0: native.Array<number>): boolean;
			public getWriteType(): number;
			public setWriteType(param0: number): void;
		}
	}
}

declare module android {
	export module bluetooth {
		export class BluetoothGattDescriptor extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.bluetooth.BluetoothGattDescriptor>;
			public static CREATOR: android.os.Parcelable.Creator<android.bluetooth.BluetoothGattDescriptor>;
			public static DISABLE_NOTIFICATION_VALUE: native.Array<number>;
			public static ENABLE_INDICATION_VALUE: native.Array<number>;
			public static ENABLE_NOTIFICATION_VALUE: native.Array<number>;
			public static PERMISSION_READ: number;
			public static PERMISSION_READ_ENCRYPTED: number;
			public static PERMISSION_READ_ENCRYPTED_MITM: number;
			public static PERMISSION_WRITE: number;
			public static PERMISSION_WRITE_ENCRYPTED: number;
			public static PERMISSION_WRITE_ENCRYPTED_MITM: number;
			public static PERMISSION_WRITE_SIGNED: number;
			public static PERMISSION_WRITE_SIGNED_MITM: number;
			public constructor(param0: java.util.UUID, param1: number);
			public getPermissions(): number;
			public getCharacteristic(): android.bluetooth.BluetoothGattCharacteristic;
			public getValue(): native.Array<number>;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public setValue(param0: native.Array<number>): boolean;
			public getUuid(): java.util.UUID;
		}
	}
}

declare module android {
	export module bluetooth {
		export class BluetoothGattServer extends java.lang.Object implements android.bluetooth.BluetoothProfile {
			public static class: java.lang.Class<android.bluetooth.BluetoothGattServer>;
			public getConnectedDevices(): java.util.List<android.bluetooth.BluetoothDevice>;
			public cancelConnection(param0: android.bluetooth.BluetoothDevice): void;
			public getServices(): java.util.List<android.bluetooth.BluetoothGattService>;
			public getDevicesMatchingConnectionStates(param0: native.Array<number>): java.util.List<android.bluetooth.BluetoothDevice>;
			public removeService(param0: android.bluetooth.BluetoothGattService): boolean;
			public clearServices(): void;
			public readPhy(param0: android.bluetooth.BluetoothDevice): void;
			public sendResponse(param0: android.bluetooth.BluetoothDevice, param1: number, param2: number, param3: number, param4: native.Array<number>): boolean;
			public notifyCharacteristicChanged(param0: android.bluetooth.BluetoothDevice, param1: android.bluetooth.BluetoothGattCharacteristic, param2: boolean): boolean;
			public addService(param0: android.bluetooth.BluetoothGattService): boolean;
			public setPreferredPhy(param0: android.bluetooth.BluetoothDevice, param1: number, param2: number, param3: number): void;
			public getConnectionState(param0: android.bluetooth.BluetoothDevice): number;
			public connect(param0: android.bluetooth.BluetoothDevice, param1: boolean): boolean;
			public close(): void;
			public getService(param0: java.util.UUID): android.bluetooth.BluetoothGattService;
		}
	}
}

declare module android {
	export module bluetooth {
		export abstract class BluetoothGattServerCallback extends java.lang.Object {
			public static class: java.lang.Class<android.bluetooth.BluetoothGattServerCallback>;
			public onPhyUpdate(param0: android.bluetooth.BluetoothDevice, param1: number, param2: number, param3: number): void;
			public onCharacteristicReadRequest(param0: android.bluetooth.BluetoothDevice, param1: number, param2: number, param3: android.bluetooth.BluetoothGattCharacteristic): void;
			public onCharacteristicWriteRequest(param0: android.bluetooth.BluetoothDevice, param1: number, param2: android.bluetooth.BluetoothGattCharacteristic, param3: boolean, param4: boolean, param5: number, param6: native.Array<number>): void;
			public onDescriptorWriteRequest(param0: android.bluetooth.BluetoothDevice, param1: number, param2: android.bluetooth.BluetoothGattDescriptor, param3: boolean, param4: boolean, param5: number, param6: native.Array<number>): void;
			public onMtuChanged(param0: android.bluetooth.BluetoothDevice, param1: number): void;
			public onServiceAdded(param0: number, param1: android.bluetooth.BluetoothGattService): void;
			public constructor();
			public onNotificationSent(param0: android.bluetooth.BluetoothDevice, param1: number): void;
			public onPhyRead(param0: android.bluetooth.BluetoothDevice, param1: number, param2: number, param3: number): void;
			public onExecuteWrite(param0: android.bluetooth.BluetoothDevice, param1: number, param2: boolean): void;
			public onConnectionStateChange(param0: android.bluetooth.BluetoothDevice, param1: number, param2: number): void;
			public onDescriptorReadRequest(param0: android.bluetooth.BluetoothDevice, param1: number, param2: number, param3: android.bluetooth.BluetoothGattDescriptor): void;
		}
	}
}

declare module android {
	export module bluetooth {
		export class BluetoothGattService extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.bluetooth.BluetoothGattService>;
			public static CREATOR: android.os.Parcelable.Creator<android.bluetooth.BluetoothGattService>;
			public static SERVICE_TYPE_PRIMARY: number;
			public static SERVICE_TYPE_SECONDARY: number;
			public mCharacteristics: java.util.List<android.bluetooth.BluetoothGattCharacteristic>;
			public mIncludedServices: java.util.List<android.bluetooth.BluetoothGattService>;
			public getType(): number;
			public constructor(param0: java.util.UUID, param1: number);
			public addService(param0: android.bluetooth.BluetoothGattService): boolean;
			public getInstanceId(): number;
			public getCharacteristic(param0: java.util.UUID): android.bluetooth.BluetoothGattCharacteristic;
			public getIncludedServices(): java.util.List<android.bluetooth.BluetoothGattService>;
			public describeContents(): number;
			public getCharacteristics(): java.util.List<android.bluetooth.BluetoothGattCharacteristic>;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getUuid(): java.util.UUID;
			public addCharacteristic(param0: android.bluetooth.BluetoothGattCharacteristic): boolean;
		}
	}
}

declare module android {
	export module bluetooth {
		export class BluetoothHeadset extends java.lang.Object implements android.bluetooth.BluetoothProfile {
			public static class: java.lang.Class<android.bluetooth.BluetoothHeadset>;
			public static ACTION_AUDIO_STATE_CHANGED: string;
			public static ACTION_CONNECTION_STATE_CHANGED: string;
			public static ACTION_VENDOR_SPECIFIC_HEADSET_EVENT: string;
			public static AT_CMD_TYPE_ACTION: number;
			public static AT_CMD_TYPE_BASIC: number;
			public static AT_CMD_TYPE_READ: number;
			public static AT_CMD_TYPE_SET: number;
			public static AT_CMD_TYPE_TEST: number;
			public static EXTRA_VENDOR_SPECIFIC_HEADSET_EVENT_ARGS: string;
			public static EXTRA_VENDOR_SPECIFIC_HEADSET_EVENT_CMD: string;
			public static EXTRA_VENDOR_SPECIFIC_HEADSET_EVENT_CMD_TYPE: string;
			public static STATE_AUDIO_CONNECTED: number;
			public static STATE_AUDIO_CONNECTING: number;
			public static STATE_AUDIO_DISCONNECTED: number;
			public static VENDOR_RESULT_CODE_COMMAND_ANDROID: string;
			public static VENDOR_SPECIFIC_HEADSET_EVENT_COMPANY_ID_CATEGORY: string;
			public getConnectedDevices(): java.util.List<android.bluetooth.BluetoothDevice>;
			public isAudioConnected(param0: android.bluetooth.BluetoothDevice): boolean;
			public getDevicesMatchingConnectionStates(param0: native.Array<number>): java.util.List<android.bluetooth.BluetoothDevice>;
			public getConnectionState(param0: android.bluetooth.BluetoothDevice): number;
			public stopVoiceRecognition(param0: android.bluetooth.BluetoothDevice): boolean;
			public sendVendorSpecificResultCode(param0: android.bluetooth.BluetoothDevice, param1: string, param2: string): boolean;
			public startVoiceRecognition(param0: android.bluetooth.BluetoothDevice): boolean;
		}
	}
}

declare module android {
	export module bluetooth {
		export class BluetoothHealth extends java.lang.Object implements android.bluetooth.BluetoothProfile {
			public static class: java.lang.Class<android.bluetooth.BluetoothHealth>;
			public static APP_CONFIG_REGISTRATION_FAILURE: number;
			public static APP_CONFIG_REGISTRATION_SUCCESS: number;
			public static APP_CONFIG_UNREGISTRATION_FAILURE: number;
			public static APP_CONFIG_UNREGISTRATION_SUCCESS: number;
			public static CHANNEL_TYPE_RELIABLE: number;
			public static CHANNEL_TYPE_STREAMING: number;
			public static SINK_ROLE: number;
			public static SOURCE_ROLE: number;
			public static STATE_CHANNEL_CONNECTED: number;
			public static STATE_CHANNEL_CONNECTING: number;
			public static STATE_CHANNEL_DISCONNECTED: number;
			public static STATE_CHANNEL_DISCONNECTING: number;
			public connectChannelToSource(param0: android.bluetooth.BluetoothDevice, param1: android.bluetooth.BluetoothHealthAppConfiguration): boolean;
			public getConnectedDevices(): java.util.List<android.bluetooth.BluetoothDevice>;
			public unregisterAppConfiguration(param0: android.bluetooth.BluetoothHealthAppConfiguration): boolean;
			public getDevicesMatchingConnectionStates(param0: native.Array<number>): java.util.List<android.bluetooth.BluetoothDevice>;
			public getConnectionState(param0: android.bluetooth.BluetoothDevice): number;
			public getMainChannelFd(param0: android.bluetooth.BluetoothDevice, param1: android.bluetooth.BluetoothHealthAppConfiguration): android.os.ParcelFileDescriptor;
			public disconnectChannel(param0: android.bluetooth.BluetoothDevice, param1: android.bluetooth.BluetoothHealthAppConfiguration, param2: number): boolean;
			public registerSinkAppConfiguration(param0: string, param1: number, param2: android.bluetooth.BluetoothHealthCallback): boolean;
		}
	}
}

declare module android {
	export module bluetooth {
		export class BluetoothHealthAppConfiguration extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.bluetooth.BluetoothHealthAppConfiguration>;
			public static CREATOR: android.os.Parcelable.Creator<android.bluetooth.BluetoothHealthAppConfiguration>;
			public equals(param0: any): boolean;
			public toString(): string;
			public getDataType(): number;
			public getName(): string;
			public getRole(): number;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module bluetooth {
		export abstract class BluetoothHealthCallback extends java.lang.Object {
			public static class: java.lang.Class<android.bluetooth.BluetoothHealthCallback>;
			public onHealthChannelStateChange(param0: android.bluetooth.BluetoothHealthAppConfiguration, param1: android.bluetooth.BluetoothDevice, param2: number, param3: number, param4: android.os.ParcelFileDescriptor, param5: number): void;
			public constructor();
			public onHealthAppConfigurationStatusChange(param0: android.bluetooth.BluetoothHealthAppConfiguration, param1: number): void;
		}
	}
}

declare module android {
	export module bluetooth {
		export class BluetoothHidDevice extends java.lang.Object implements android.bluetooth.BluetoothProfile {
			public static class: java.lang.Class<android.bluetooth.BluetoothHidDevice>;
			public static ACTION_CONNECTION_STATE_CHANGED: string;
			public static ERROR_RSP_INVALID_PARAM: number;
			public static ERROR_RSP_INVALID_RPT_ID: number;
			public static ERROR_RSP_NOT_READY: number;
			public static ERROR_RSP_SUCCESS: number;
			public static ERROR_RSP_UNKNOWN: number;
			public static ERROR_RSP_UNSUPPORTED_REQ: number;
			public static PROTOCOL_BOOT_MODE: number;
			public static PROTOCOL_REPORT_MODE: number;
			public static REPORT_TYPE_FEATURE: number;
			public static REPORT_TYPE_INPUT: number;
			public static REPORT_TYPE_OUTPUT: number;
			public static SUBCLASS1_COMBO: number;
			public static SUBCLASS1_KEYBOARD: number;
			public static SUBCLASS1_MOUSE: number;
			public static SUBCLASS1_NONE: number;
			public static SUBCLASS2_CARD_READER: number;
			public static SUBCLASS2_DIGITIZER_TABLET: number;
			public static SUBCLASS2_GAMEPAD: number;
			public static SUBCLASS2_JOYSTICK: number;
			public static SUBCLASS2_REMOTE_CONTROL: number;
			public static SUBCLASS2_SENSING_DEVICE: number;
			public static SUBCLASS2_UNCATEGORIZED: number;
			public getConnectedDevices(): java.util.List<android.bluetooth.BluetoothDevice>;
			public reportError(param0: android.bluetooth.BluetoothDevice, param1: number): boolean;
			public unregisterApp(): boolean;
			public getDevicesMatchingConnectionStates(param0: native.Array<number>): java.util.List<android.bluetooth.BluetoothDevice>;
			public registerApp(param0: android.bluetooth.BluetoothHidDeviceAppSdpSettings, param1: android.bluetooth.BluetoothHidDeviceAppQosSettings, param2: android.bluetooth.BluetoothHidDeviceAppQosSettings, param3: java.util.concurrent.Executor, param4: android.bluetooth.BluetoothHidDevice.Callback): boolean;
			public sendReport(param0: android.bluetooth.BluetoothDevice, param1: number, param2: native.Array<number>): boolean;
			public getConnectionState(param0: android.bluetooth.BluetoothDevice): number;
			public replyReport(param0: android.bluetooth.BluetoothDevice, param1: number, param2: number, param3: native.Array<number>): boolean;
			public disconnect(param0: android.bluetooth.BluetoothDevice): boolean;
			public connect(param0: android.bluetooth.BluetoothDevice): boolean;
		}
		export module BluetoothHidDevice {
			export abstract class Callback extends java.lang.Object {
				public static class: java.lang.Class<android.bluetooth.BluetoothHidDevice.Callback>;
				public onSetProtocol(param0: android.bluetooth.BluetoothDevice, param1: number): void;
				public onAppStatusChanged(param0: android.bluetooth.BluetoothDevice, param1: boolean): void;
				public onGetReport(param0: android.bluetooth.BluetoothDevice, param1: number, param2: number, param3: number): void;
				public onSetReport(param0: android.bluetooth.BluetoothDevice, param1: number, param2: number, param3: native.Array<number>): void;
				public onConnectionStateChanged(param0: android.bluetooth.BluetoothDevice, param1: number): void;
				public onInterruptData(param0: android.bluetooth.BluetoothDevice, param1: number, param2: native.Array<number>): void;
				public onVirtualCableUnplug(param0: android.bluetooth.BluetoothDevice): void;
				public constructor();
			}
		}
	}
}

declare module android {
	export module bluetooth {
		export class BluetoothHidDeviceAppQosSettings extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.bluetooth.BluetoothHidDeviceAppQosSettings>;
			public static CREATOR: android.os.Parcelable.Creator<android.bluetooth.BluetoothHidDeviceAppQosSettings>;
			public static MAX: number;
			public static SERVICE_BEST_EFFORT: number;
			public static SERVICE_GUARANTEED: number;
			public static SERVICE_NO_TRAFFIC: number;
			public getTokenRate(): number;
			public getLatency(): number;
			public describeContents(): number;
			public getServiceType(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getDelayVariation(): number;
			public getTokenBucketSize(): number;
			public getPeakBandwidth(): number;
			public constructor(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number);
		}
	}
}

declare module android {
	export module bluetooth {
		export class BluetoothHidDeviceAppSdpSettings extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.bluetooth.BluetoothHidDeviceAppSdpSettings>;
			public static CREATOR: android.os.Parcelable.Creator<android.bluetooth.BluetoothHidDeviceAppSdpSettings>;
			public getName(): string;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getProvider(): string;
			public getDescription(): string;
			public getDescriptors(): native.Array<number>;
			public constructor(param0: string, param1: string, param2: string, param3: number, param4: native.Array<number>);
			public getSubclass(): number;
		}
	}
}

declare module android {
	export module bluetooth {
		export class BluetoothManager extends java.lang.Object {
			public static class: java.lang.Class<android.bluetooth.BluetoothManager>;
			public getDevicesMatchingConnectionStates(param0: number, param1: native.Array<number>): java.util.List<android.bluetooth.BluetoothDevice>;
			public getAdapter(): android.bluetooth.BluetoothAdapter;
			public getConnectedDevices(param0: number): java.util.List<android.bluetooth.BluetoothDevice>;
			public openGattServer(param0: android.content.Context, param1: android.bluetooth.BluetoothGattServerCallback): android.bluetooth.BluetoothGattServer;
			public getConnectionState(param0: android.bluetooth.BluetoothDevice, param1: number): number;
		}
	}
}

declare module android {
	export module bluetooth {
		export class BluetoothProfile extends java.lang.Object {
			public static class: java.lang.Class<android.bluetooth.BluetoothProfile>;
			/**
			 * Constructs a new instance of the android.bluetooth.BluetoothProfile interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				getConnectedDevices(): java.util.List<android.bluetooth.BluetoothDevice>;
				getDevicesMatchingConnectionStates(param0: native.Array<number>): java.util.List<android.bluetooth.BluetoothDevice>;
				getConnectionState(param0: android.bluetooth.BluetoothDevice): number;
			});
			public constructor();
			public static STATE_DISCONNECTED: number;
			public static STATE_DISCONNECTING: number;
			public static STATE_CONNECTING: number;
			public static A2DP: number;
			public static SAP: number;
			public static GATT_SERVER: number;
			public static EXTRA_STATE: string;
			public static GATT: number;
			public static HEALTH: number;
			public static HID_DEVICE: number;
			public static HEADSET: number;
			public static STATE_CONNECTED: number;
			public static EXTRA_PREVIOUS_STATE: string;
			public getConnectedDevices(): java.util.List<android.bluetooth.BluetoothDevice>;
			public getDevicesMatchingConnectionStates(param0: native.Array<number>): java.util.List<android.bluetooth.BluetoothDevice>;
			public getConnectionState(param0: android.bluetooth.BluetoothDevice): number;
		}
		export module BluetoothProfile {
			export class ServiceListener extends java.lang.Object {
				public static class: java.lang.Class<android.bluetooth.BluetoothProfile.ServiceListener>;
				/**
				 * Constructs a new instance of the android.bluetooth.BluetoothProfile$ServiceListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onServiceConnected(param0: number, param1: android.bluetooth.BluetoothProfile): void;
					onServiceDisconnected(param0: number): void;
				});
				public constructor();
				public onServiceConnected(param0: number, param1: android.bluetooth.BluetoothProfile): void;
				public onServiceDisconnected(param0: number): void;
			}
		}
	}
}

declare module android {
	export module bluetooth {
		export class BluetoothServerSocket extends java.lang.Object implements java.io.Closeable {
			public static class: java.lang.Class<android.bluetooth.BluetoothServerSocket>;
			public toString(): string;
			public accept(): android.bluetooth.BluetoothSocket;
			public close(): void;
			public accept(param0: number): android.bluetooth.BluetoothSocket;
		}
	}
}

declare module android {
	export module bluetooth {
		export class BluetoothSocket extends java.lang.Object implements java.io.Closeable {
			public static class: java.lang.Class<android.bluetooth.BluetoothSocket>;
			public static TYPE_L2CAP: number;
			public static TYPE_RFCOMM: number;
			public static TYPE_SCO: number;
			public getInputStream(): java.io.InputStream;
			public getMaxReceivePacketSize(): number;
			public isConnected(): boolean;
			public getOutputStream(): java.io.OutputStream;
			public connect(): void;
			public close(): void;
			public finalize(): void;
			public getConnectionType(): number;
			public getRemoteDevice(): android.bluetooth.BluetoothDevice;
			public getMaxTransmitPacketSize(): number;
		}
	}
}

declare module android {
	export module bluetooth {
		export module le {
			export abstract class AdvertiseCallback extends java.lang.Object {
				public static class: java.lang.Class<android.bluetooth.le.AdvertiseCallback>;
				public static ADVERTISE_FAILED_ALREADY_STARTED: number;
				public static ADVERTISE_FAILED_DATA_TOO_LARGE: number;
				public static ADVERTISE_FAILED_FEATURE_UNSUPPORTED: number;
				public static ADVERTISE_FAILED_INTERNAL_ERROR: number;
				public static ADVERTISE_FAILED_TOO_MANY_ADVERTISERS: number;
				public onStartFailure(param0: number): void;
				public onStartSuccess(param0: android.bluetooth.le.AdvertiseSettings): void;
				public constructor();
			}
		}
	}
}

declare module android {
	export module bluetooth {
		export module le {
			export class AdvertiseData extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.bluetooth.le.AdvertiseData>;
				public static CREATOR: android.os.Parcelable.Creator<android.bluetooth.le.AdvertiseData>;
				public getServiceUuids(): java.util.List<android.os.ParcelUuid>;
				public getServiceData(): java.util.Map<android.os.ParcelUuid,native.Array<number>>;
				public getManufacturerSpecificData(): android.util.SparseArray<native.Array<number>>;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public equals(param0: any): boolean;
				public describeContents(): number;
				public getIncludeDeviceName(): boolean;
				public getIncludeTxPowerLevel(): boolean;
				public toString(): string;
			}
			export module AdvertiseData {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.bluetooth.le.AdvertiseData.Builder>;
					public constructor();
					public setIncludeDeviceName(param0: boolean): android.bluetooth.le.AdvertiseData.Builder;
					public addServiceData(param0: android.os.ParcelUuid, param1: native.Array<number>): android.bluetooth.le.AdvertiseData.Builder;
					public addServiceUuid(param0: android.os.ParcelUuid): android.bluetooth.le.AdvertiseData.Builder;
					public addManufacturerData(param0: number, param1: native.Array<number>): android.bluetooth.le.AdvertiseData.Builder;
					public build(): android.bluetooth.le.AdvertiseData;
					public setIncludeTxPowerLevel(param0: boolean): android.bluetooth.le.AdvertiseData.Builder;
				}
			}
		}
	}
}

declare module android {
	export module bluetooth {
		export module le {
			export class AdvertiseSettings extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.bluetooth.le.AdvertiseSettings>;
				public static ADVERTISE_MODE_BALANCED: number;
				public static ADVERTISE_MODE_LOW_LATENCY: number;
				public static ADVERTISE_MODE_LOW_POWER: number;
				public static ADVERTISE_TX_POWER_HIGH: number;
				public static ADVERTISE_TX_POWER_LOW: number;
				public static ADVERTISE_TX_POWER_MEDIUM: number;
				public static ADVERTISE_TX_POWER_ULTRA_LOW: number;
				public static CREATOR: android.os.Parcelable.Creator<android.bluetooth.le.AdvertiseSettings>;
				public getMode(): number;
				public getTxPowerLevel(): number;
				public isConnectable(): boolean;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getTimeout(): number;
				public toString(): string;
			}
			export module AdvertiseSettings {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.bluetooth.le.AdvertiseSettings.Builder>;
					public setTimeout(param0: number): android.bluetooth.le.AdvertiseSettings.Builder;
					public setAdvertiseMode(param0: number): android.bluetooth.le.AdvertiseSettings.Builder;
					public constructor();
					public build(): android.bluetooth.le.AdvertiseSettings;
					public setConnectable(param0: boolean): android.bluetooth.le.AdvertiseSettings.Builder;
					public setTxPowerLevel(param0: number): android.bluetooth.le.AdvertiseSettings.Builder;
				}
			}
		}
	}
}

declare module android {
	export module bluetooth {
		export module le {
			export class AdvertisingSet extends java.lang.Object {
				public static class: java.lang.Class<android.bluetooth.le.AdvertisingSet>;
				public enableAdvertising(param0: boolean, param1: number, param2: number): void;
				public setScanResponseData(param0: android.bluetooth.le.AdvertiseData): void;
				public setPeriodicAdvertisingData(param0: android.bluetooth.le.AdvertiseData): void;
				public setAdvertisingData(param0: android.bluetooth.le.AdvertiseData): void;
				public setAdvertisingParameters(param0: android.bluetooth.le.AdvertisingSetParameters): void;
				public setPeriodicAdvertisingParameters(param0: android.bluetooth.le.PeriodicAdvertisingParameters): void;
				public setPeriodicAdvertisingEnabled(param0: boolean): void;
			}
		}
	}
}

declare module android {
	export module bluetooth {
		export module le {
			export abstract class AdvertisingSetCallback extends java.lang.Object {
				public static class: java.lang.Class<android.bluetooth.le.AdvertisingSetCallback>;
				public static ADVERTISE_FAILED_ALREADY_STARTED: number;
				public static ADVERTISE_FAILED_DATA_TOO_LARGE: number;
				public static ADVERTISE_FAILED_FEATURE_UNSUPPORTED: number;
				public static ADVERTISE_FAILED_INTERNAL_ERROR: number;
				public static ADVERTISE_FAILED_TOO_MANY_ADVERTISERS: number;
				public static ADVERTISE_SUCCESS: number;
				public onAdvertisingEnabled(param0: android.bluetooth.le.AdvertisingSet, param1: boolean, param2: number): void;
				public onAdvertisingParametersUpdated(param0: android.bluetooth.le.AdvertisingSet, param1: number, param2: number): void;
				public onScanResponseDataSet(param0: android.bluetooth.le.AdvertisingSet, param1: number): void;
				public onPeriodicAdvertisingEnabled(param0: android.bluetooth.le.AdvertisingSet, param1: boolean, param2: number): void;
				public onAdvertisingSetStopped(param0: android.bluetooth.le.AdvertisingSet): void;
				public onAdvertisingDataSet(param0: android.bluetooth.le.AdvertisingSet, param1: number): void;
				public onPeriodicAdvertisingDataSet(param0: android.bluetooth.le.AdvertisingSet, param1: number): void;
				public onAdvertisingSetStarted(param0: android.bluetooth.le.AdvertisingSet, param1: number, param2: number): void;
				public onPeriodicAdvertisingParametersUpdated(param0: android.bluetooth.le.AdvertisingSet, param1: number): void;
				public constructor();
			}
		}
	}
}

declare module android {
	export module bluetooth {
		export module le {
			export class AdvertisingSetParameters extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.bluetooth.le.AdvertisingSetParameters>;
				public static CREATOR: android.os.Parcelable.Creator<android.bluetooth.le.AdvertisingSetParameters>;
				public static INTERVAL_HIGH: number;
				public static INTERVAL_LOW: number;
				public static INTERVAL_MAX: number;
				public static INTERVAL_MEDIUM: number;
				public static INTERVAL_MIN: number;
				public static TX_POWER_HIGH: number;
				public static TX_POWER_LOW: number;
				public static TX_POWER_MAX: number;
				public static TX_POWER_MEDIUM: number;
				public static TX_POWER_MIN: number;
				public static TX_POWER_ULTRA_LOW: number;
				public getSecondaryPhy(): number;
				public getTxPowerLevel(): number;
				public isConnectable(): boolean;
				public getPrimaryPhy(): number;
				public isLegacy(): boolean;
				public isAnonymous(): boolean;
				public includeTxPower(): boolean;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getInterval(): number;
				public describeContents(): number;
				public isScannable(): boolean;
				public toString(): string;
			}
			export module AdvertisingSetParameters {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.bluetooth.le.AdvertisingSetParameters.Builder>;
					public setTxPowerLevel(param0: number): android.bluetooth.le.AdvertisingSetParameters.Builder;
					public setScannable(param0: boolean): android.bluetooth.le.AdvertisingSetParameters.Builder;
					public setIncludeTxPower(param0: boolean): android.bluetooth.le.AdvertisingSetParameters.Builder;
					public setSecondaryPhy(param0: number): android.bluetooth.le.AdvertisingSetParameters.Builder;
					public constructor();
					public setConnectable(param0: boolean): android.bluetooth.le.AdvertisingSetParameters.Builder;
					public setAnonymous(param0: boolean): android.bluetooth.le.AdvertisingSetParameters.Builder;
					public setPrimaryPhy(param0: number): android.bluetooth.le.AdvertisingSetParameters.Builder;
					public setInterval(param0: number): android.bluetooth.le.AdvertisingSetParameters.Builder;
					public setLegacyMode(param0: boolean): android.bluetooth.le.AdvertisingSetParameters.Builder;
					public build(): android.bluetooth.le.AdvertisingSetParameters;
				}
			}
		}
	}
}

declare module android {
	export module bluetooth {
		export module le {
			export class BluetoothLeAdvertiser extends java.lang.Object {
				public static class: java.lang.Class<android.bluetooth.le.BluetoothLeAdvertiser>;
				public startAdvertisingSet(param0: android.bluetooth.le.AdvertisingSetParameters, param1: android.bluetooth.le.AdvertiseData, param2: android.bluetooth.le.AdvertiseData, param3: android.bluetooth.le.PeriodicAdvertisingParameters, param4: android.bluetooth.le.AdvertiseData, param5: number, param6: number, param7: android.bluetooth.le.AdvertisingSetCallback, param8: android.os.Handler): void;
				public startAdvertisingSet(param0: android.bluetooth.le.AdvertisingSetParameters, param1: android.bluetooth.le.AdvertiseData, param2: android.bluetooth.le.AdvertiseData, param3: android.bluetooth.le.PeriodicAdvertisingParameters, param4: android.bluetooth.le.AdvertiseData, param5: number, param6: number, param7: android.bluetooth.le.AdvertisingSetCallback): void;
				public stopAdvertisingSet(param0: android.bluetooth.le.AdvertisingSetCallback): void;
				public stopAdvertising(param0: android.bluetooth.le.AdvertiseCallback): void;
				public startAdvertising(param0: android.bluetooth.le.AdvertiseSettings, param1: android.bluetooth.le.AdvertiseData, param2: android.bluetooth.le.AdvertiseCallback): void;
				public startAdvertisingSet(param0: android.bluetooth.le.AdvertisingSetParameters, param1: android.bluetooth.le.AdvertiseData, param2: android.bluetooth.le.AdvertiseData, param3: android.bluetooth.le.PeriodicAdvertisingParameters, param4: android.bluetooth.le.AdvertiseData, param5: android.bluetooth.le.AdvertisingSetCallback): void;
				public startAdvertising(param0: android.bluetooth.le.AdvertiseSettings, param1: android.bluetooth.le.AdvertiseData, param2: android.bluetooth.le.AdvertiseData, param3: android.bluetooth.le.AdvertiseCallback): void;
				public startAdvertisingSet(param0: android.bluetooth.le.AdvertisingSetParameters, param1: android.bluetooth.le.AdvertiseData, param2: android.bluetooth.le.AdvertiseData, param3: android.bluetooth.le.PeriodicAdvertisingParameters, param4: android.bluetooth.le.AdvertiseData, param5: android.bluetooth.le.AdvertisingSetCallback, param6: android.os.Handler): void;
			}
		}
	}
}

declare module android {
	export module bluetooth {
		export module le {
			export class BluetoothLeScanner extends java.lang.Object {
				public static class: java.lang.Class<android.bluetooth.le.BluetoothLeScanner>;
				public static EXTRA_CALLBACK_TYPE: string;
				public static EXTRA_ERROR_CODE: string;
				public static EXTRA_LIST_SCAN_RESULT: string;
				public startScan(param0: java.util.List<android.bluetooth.le.ScanFilter>, param1: android.bluetooth.le.ScanSettings, param2: android.bluetooth.le.ScanCallback): void;
				public startScan(param0: java.util.List<android.bluetooth.le.ScanFilter>, param1: android.bluetooth.le.ScanSettings, param2: android.app.PendingIntent): number;
				public stopScan(param0: android.bluetooth.le.ScanCallback): void;
				public flushPendingScanResults(param0: android.bluetooth.le.ScanCallback): void;
				public startScan(param0: android.bluetooth.le.ScanCallback): void;
				public stopScan(param0: android.app.PendingIntent): void;
			}
		}
	}
}

declare module android {
	export module bluetooth {
		export module le {
			export class PeriodicAdvertisingParameters extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.bluetooth.le.PeriodicAdvertisingParameters>;
				public static CREATOR: android.os.Parcelable.Creator<android.bluetooth.le.PeriodicAdvertisingParameters>;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getInterval(): number;
				public describeContents(): number;
				public getIncludeTxPower(): boolean;
			}
			export module PeriodicAdvertisingParameters {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.bluetooth.le.PeriodicAdvertisingParameters.Builder>;
					public setIncludeTxPower(param0: boolean): android.bluetooth.le.PeriodicAdvertisingParameters.Builder;
					public constructor();
					public build(): android.bluetooth.le.PeriodicAdvertisingParameters;
					public setInterval(param0: number): android.bluetooth.le.PeriodicAdvertisingParameters.Builder;
				}
			}
		}
	}
}

declare module android {
	export module bluetooth {
		export module le {
			export abstract class ScanCallback extends java.lang.Object {
				public static class: java.lang.Class<android.bluetooth.le.ScanCallback>;
				public static SCAN_FAILED_ALREADY_STARTED: number;
				public static SCAN_FAILED_APPLICATION_REGISTRATION_FAILED: number;
				public static SCAN_FAILED_FEATURE_UNSUPPORTED: number;
				public static SCAN_FAILED_INTERNAL_ERROR: number;
				public onBatchScanResults(param0: java.util.List<android.bluetooth.le.ScanResult>): void;
				public onScanFailed(param0: number): void;
				public constructor();
				public onScanResult(param0: number, param1: android.bluetooth.le.ScanResult): void;
			}
		}
	}
}

declare module android {
	export module bluetooth {
		export module le {
			export class ScanFilter extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.bluetooth.le.ScanFilter>;
				public static CREATOR: android.os.Parcelable.Creator<android.bluetooth.le.ScanFilter>;
				public getServiceDataUuid(): android.os.ParcelUuid;
				public getDeviceName(): string;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getServiceDataMask(): native.Array<number>;
				public getManufacturerId(): number;
				public matches(param0: android.bluetooth.le.ScanResult): boolean;
				public getDeviceAddress(): string;
				public getServiceData(): native.Array<number>;
				public getServiceUuid(): android.os.ParcelUuid;
				public toString(): string;
				public getManufacturerDataMask(): native.Array<number>;
				public hashCode(): number;
				public getManufacturerData(): native.Array<number>;
				public describeContents(): number;
				public equals(param0: any): boolean;
				public getServiceUuidMask(): android.os.ParcelUuid;
			}
			export module ScanFilter {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.bluetooth.le.ScanFilter.Builder>;
					public setDeviceName(param0: string): android.bluetooth.le.ScanFilter.Builder;
					public constructor();
					public build(): android.bluetooth.le.ScanFilter;
					public setDeviceAddress(param0: string): android.bluetooth.le.ScanFilter.Builder;
					public setServiceUuid(param0: android.os.ParcelUuid): android.bluetooth.le.ScanFilter.Builder;
					public setManufacturerData(param0: number, param1: native.Array<number>): android.bluetooth.le.ScanFilter.Builder;
					public setServiceData(param0: android.os.ParcelUuid, param1: native.Array<number>): android.bluetooth.le.ScanFilter.Builder;
					public setServiceData(param0: android.os.ParcelUuid, param1: native.Array<number>, param2: native.Array<number>): android.bluetooth.le.ScanFilter.Builder;
					public setServiceUuid(param0: android.os.ParcelUuid, param1: android.os.ParcelUuid): android.bluetooth.le.ScanFilter.Builder;
					public setManufacturerData(param0: number, param1: native.Array<number>, param2: native.Array<number>): android.bluetooth.le.ScanFilter.Builder;
				}
			}
		}
	}
}

declare module android {
	export module bluetooth {
		export module le {
			export class ScanRecord extends java.lang.Object {
				public static class: java.lang.Class<android.bluetooth.le.ScanRecord>;
				public getServiceUuids(): java.util.List<android.os.ParcelUuid>;
				public getTxPowerLevel(): number;
				public getDeviceName(): string;
				public getAdvertiseFlags(): number;
				public getServiceData(): java.util.Map<android.os.ParcelUuid,native.Array<number>>;
				public getManufacturerSpecificData(): android.util.SparseArray<native.Array<number>>;
				public getServiceData(param0: android.os.ParcelUuid): native.Array<number>;
				public getManufacturerSpecificData(param0: number): native.Array<number>;
				public toString(): string;
				public getBytes(): native.Array<number>;
			}
		}
	}
}

declare module android {
	export module bluetooth {
		export module le {
			export class ScanResult extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.bluetooth.le.ScanResult>;
				public static CREATOR: android.os.Parcelable.Creator<android.bluetooth.le.ScanResult>;
				public static DATA_COMPLETE: number;
				public static DATA_TRUNCATED: number;
				public static PERIODIC_INTERVAL_NOT_PRESENT: number;
				public static PHY_UNUSED: number;
				public static SID_NOT_PRESENT: number;
				public static TX_POWER_NOT_PRESENT: number;
				/** @deprecated */
				public constructor(param0: android.bluetooth.BluetoothDevice, param1: android.bluetooth.le.ScanRecord, param2: number, param3: number);
				public getSecondaryPhy(): number;
				public isConnectable(): boolean;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getScanRecord(): android.bluetooth.le.ScanRecord;
				public getRssi(): number;
				public constructor(param0: android.bluetooth.BluetoothDevice, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number, param8: android.bluetooth.le.ScanRecord, param9: number);
				public getDevice(): android.bluetooth.BluetoothDevice;
				public toString(): string;
				public getDataStatus(): number;
				public getTimestampNanos(): number;
				public getTxPower(): number;
				public getPeriodicAdvertisingInterval(): number;
				public getPrimaryPhy(): number;
				public isLegacy(): boolean;
				public hashCode(): number;
				public getAdvertisingSid(): number;
				public describeContents(): number;
				public equals(param0: any): boolean;
			}
		}
	}
}

declare module android {
	export module bluetooth {
		export module le {
			export class ScanSettings extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.bluetooth.le.ScanSettings>;
				public static CALLBACK_TYPE_ALL_MATCHES: number;
				public static CALLBACK_TYPE_FIRST_MATCH: number;
				public static CALLBACK_TYPE_MATCH_LOST: number;
				public static CREATOR: android.os.Parcelable.Creator<android.bluetooth.le.ScanSettings>;
				public static MATCH_MODE_AGGRESSIVE: number;
				public static MATCH_MODE_STICKY: number;
				public static MATCH_NUM_FEW_ADVERTISEMENT: number;
				public static MATCH_NUM_MAX_ADVERTISEMENT: number;
				public static MATCH_NUM_ONE_ADVERTISEMENT: number;
				public static PHY_LE_ALL_SUPPORTED: number;
				public static SCAN_MODE_BALANCED: number;
				public static SCAN_MODE_LOW_LATENCY: number;
				public static SCAN_MODE_LOW_POWER: number;
				public static SCAN_MODE_OPPORTUNISTIC: number;
				public getReportDelayMillis(): number;
				public getScanMode(): number;
				public getLegacy(): boolean;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getScanResultType(): number;
				public describeContents(): number;
				public getPhy(): number;
				public getCallbackType(): number;
			}
			export module ScanSettings {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.bluetooth.le.ScanSettings.Builder>;
					public setLegacy(param0: boolean): android.bluetooth.le.ScanSettings.Builder;
					public setMatchMode(param0: number): android.bluetooth.le.ScanSettings.Builder;
					public constructor();
					public setReportDelay(param0: number): android.bluetooth.le.ScanSettings.Builder;
					public build(): android.bluetooth.le.ScanSettings;
					public setCallbackType(param0: number): android.bluetooth.le.ScanSettings.Builder;
					public setScanMode(param0: number): android.bluetooth.le.ScanSettings.Builder;
					public setPhy(param0: number): android.bluetooth.le.ScanSettings.Builder;
					public setNumOfMatches(param0: number): android.bluetooth.le.ScanSettings.Builder;
				}
			}
		}
	}
}

declare module android {
	export module companion {
		export class AssociationRequest extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.companion.AssociationRequest>;
			public static CREATOR: android.os.Parcelable.Creator<android.companion.AssociationRequest>;
			public equals(param0: any): boolean;
			public toString(): string;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public hashCode(): number;
		}
		export module AssociationRequest {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.companion.AssociationRequest.Builder>;
				public build(): android.companion.AssociationRequest;
				public addDeviceFilter(param0: android.companion.DeviceFilter<any>): android.companion.AssociationRequest.Builder;
				public setSingleDevice(param0: boolean): android.companion.AssociationRequest.Builder;
				public checkNotUsed(): void;
				public constructor();
				public markUsed(): void;
			}
		}
	}
}

declare module android {
	export module companion {
		export class BluetoothDeviceFilter extends android.companion.DeviceFilter<android.bluetooth.BluetoothDevice> {
			public static class: java.lang.Class<android.companion.BluetoothDeviceFilter>;
			public static CREATOR: android.os.Parcelable.Creator<android.companion.BluetoothDeviceFilter>;
			public equals(param0: any): boolean;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public hashCode(): number;
		}
		export module BluetoothDeviceFilter {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.companion.BluetoothDeviceFilter.Builder>;
				public build(): android.companion.BluetoothDeviceFilter;
				public setAddress(param0: string): android.companion.BluetoothDeviceFilter.Builder;
				public setNamePattern(param0: java.util.regex.Pattern): android.companion.BluetoothDeviceFilter.Builder;
				public addServiceUuid(param0: android.os.ParcelUuid, param1: android.os.ParcelUuid): android.companion.BluetoothDeviceFilter.Builder;
				public checkNotUsed(): void;
				public constructor();
				public markUsed(): void;
			}
		}
	}
}

declare module android {
	export module companion {
		export class BluetoothLeDeviceFilter extends android.companion.DeviceFilter<android.bluetooth.le.ScanResult> {
			public static class: java.lang.Class<android.companion.BluetoothLeDeviceFilter>;
			public static CREATOR: android.os.Parcelable.Creator<android.companion.BluetoothLeDeviceFilter>;
			public equals(param0: any): boolean;
			public toString(): string;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public static getRenamePrefixLengthLimit(): number;
			public hashCode(): number;
		}
		export module BluetoothLeDeviceFilter {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.companion.BluetoothLeDeviceFilter.Builder>;
				public setRawDataFilter(param0: native.Array<number>, param1: native.Array<number>): android.companion.BluetoothLeDeviceFilter.Builder;
				public setRenameFromBytes(param0: string, param1: string, param2: number, param3: number, param4: java.nio.ByteOrder): android.companion.BluetoothLeDeviceFilter.Builder;
				public setScanFilter(param0: android.bluetooth.le.ScanFilter): android.companion.BluetoothLeDeviceFilter.Builder;
				public setNamePattern(param0: java.util.regex.Pattern): android.companion.BluetoothLeDeviceFilter.Builder;
				public setRenameFromName(param0: string, param1: string, param2: number, param3: number): android.companion.BluetoothLeDeviceFilter.Builder;
				public build(): android.companion.BluetoothLeDeviceFilter;
				public checkNotUsed(): void;
				public constructor();
				public markUsed(): void;
			}
		}
	}
}

declare module android {
	export module companion {
		export class CompanionDeviceManager extends java.lang.Object {
			public static class: java.lang.Class<android.companion.CompanionDeviceManager>;
			public static EXTRA_DEVICE: string;
			public associate(param0: android.companion.AssociationRequest, param1: android.companion.CompanionDeviceManager.Callback, param2: android.os.Handler): void;
			public requestNotificationAccess(param0: android.content.ComponentName): void;
			public hasNotificationAccess(param0: android.content.ComponentName): boolean;
			public getAssociations(): java.util.List<string>;
			public disassociate(param0: string): void;
		}
		export module CompanionDeviceManager {
			export abstract class Callback extends java.lang.Object {
				public static class: java.lang.Class<android.companion.CompanionDeviceManager.Callback>;
				public onDeviceFound(param0: android.content.IntentSender): void;
				public onFailure(param0: string): void;
				public constructor();
			}
		}
	}
}

declare module android {
	export module companion {
		export class DeviceFilter<D>  extends android.os.Parcelable {
			public static class: java.lang.Class<android.companion.DeviceFilter<any>>;
			/**
			 * Constructs a new instance of the android.companion.DeviceFilter<any> interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				describeContents(): number;
				writeToParcel(param0: android.os.Parcel, param1: number): void;
			});
			public constructor();
			public static PARCELABLE_WRITE_RETURN_VALUE: number;
			public static CONTENTS_FILE_DESCRIPTOR: number;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
		}
	}
}

declare module android {
	export module companion {
		export class WifiDeviceFilter extends android.companion.DeviceFilter<android.net.wifi.ScanResult> {
			public static class: java.lang.Class<android.companion.WifiDeviceFilter>;
			public static CREATOR: android.os.Parcelable.Creator<android.companion.WifiDeviceFilter>;
			public equals(param0: any): boolean;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public hashCode(): number;
		}
		export module WifiDeviceFilter {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.companion.WifiDeviceFilter.Builder>;
				public setNamePattern(param0: java.util.regex.Pattern): android.companion.WifiDeviceFilter.Builder;
				public checkNotUsed(): void;
				public constructor();
				public build(): android.companion.WifiDeviceFilter;
				public markUsed(): void;
			}
		}
	}
}

declare module android {
	export module content {
		export abstract class AbstractThreadedSyncAdapter extends java.lang.Object {
			public static class: java.lang.Class<android.content.AbstractThreadedSyncAdapter>;
			public static LOG_SYNC_DETAILS: number;
			public onUnsyncableAccount(): boolean;
			public getSyncAdapterBinder(): android.os.IBinder;
			public onPerformSync(param0: android.accounts.Account, param1: android.os.Bundle, param2: string, param3: android.content.ContentProviderClient, param4: android.content.SyncResult): void;
			public onSyncCanceled(): void;
			public onSyncCanceled(param0: java.lang.Thread): void;
			public onSecurityException(param0: android.accounts.Account, param1: android.os.Bundle, param2: string, param3: android.content.SyncResult): void;
			public constructor(param0: android.content.Context, param1: boolean);
			public constructor(param0: android.content.Context, param1: boolean, param2: boolean);
			public getContext(): android.content.Context;
		}
	}
}

declare module android {
	export module content {
		export class ActivityNotFoundException extends java.lang.RuntimeException {
			public static class: java.lang.Class<android.content.ActivityNotFoundException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module android {
	export module content {
		export abstract class AsyncQueryHandler extends android.os.Handler {
			public static class: java.lang.Class<android.content.AsyncQueryHandler>;
			public startDelete(param0: number, param1: any, param2: android.net.Uri, param3: string, param4: native.Array<string>): void;
			public constructor(param0: android.os.Looper, param1: android.os.Handler.Callback);
			public cancelOperation(param0: number): void;
			public constructor(param0: android.os.Handler.Callback);
			public constructor(param0: android.os.Looper);
			public constructor();
			public constructor(param0: android.content.ContentResolver);
			public onQueryComplete(param0: number, param1: any, param2: android.database.Cursor): void;
			public createHandler(param0: android.os.Looper): android.os.Handler;
			public onUpdateComplete(param0: number, param1: any, param2: number): void;
			public onInsertComplete(param0: number, param1: any, param2: android.net.Uri): void;
			public onDeleteComplete(param0: number, param1: any, param2: number): void;
			public startQuery(param0: number, param1: any, param2: android.net.Uri, param3: native.Array<string>, param4: string, param5: native.Array<string>, param6: string): void;
			public startUpdate(param0: number, param1: any, param2: android.net.Uri, param3: android.content.ContentValues, param4: string, param5: native.Array<string>): void;
			public handleMessage(param0: android.os.Message): void;
			public startInsert(param0: number, param1: any, param2: android.net.Uri, param3: android.content.ContentValues): void;
		}
		export module AsyncQueryHandler {
			export class WorkerArgs extends java.lang.Object {
				public static class: java.lang.Class<android.content.AsyncQueryHandler.WorkerArgs>;
				public cookie: any;
				public handler: android.os.Handler;
				public orderBy: string;
				public projection: native.Array<string>;
				public result: any;
				public selection: string;
				public selectionArgs: native.Array<string>;
				public uri: android.net.Uri;
				public values: android.content.ContentValues;
				public constructor();
			}
			export class WorkerHandler extends android.os.Handler {
				public static class: java.lang.Class<android.content.AsyncQueryHandler.WorkerHandler>;
				public constructor(param0: android.os.Handler.Callback);
				public constructor(param0: android.content.AsyncQueryHandler, param1: android.os.Looper);
				public constructor(param0: android.os.Looper);
				public constructor(param0: android.os.Looper, param1: android.os.Handler.Callback);
				public constructor();
				public handleMessage(param0: android.os.Message): void;
			}
		}
	}
}

declare module android {
	export module content {
		export abstract class AsyncTaskLoader<D>  extends android.content.Loader<any> {
			public static class: java.lang.Class<android.content.AsyncTaskLoader<any>>;
			public onCancelLoad(): boolean;
			public onCanceled(param0: any): void;
			public loadInBackground(): any;
			public onLoadInBackground(): any;
			public isLoadInBackgroundCanceled(): boolean;
			public setUpdateThrottle(param0: number): void;
			public constructor(param0: android.content.Context);
			public cancelLoadInBackground(): void;
			public dump(param0: string, param1: java.io.FileDescriptor, param2: java.io.PrintWriter, param3: native.Array<string>): void;
			public onForceLoad(): void;
		}
	}
}

declare module android {
	export module content {
		export abstract class BroadcastReceiver extends java.lang.Object {
			public static class: java.lang.Class<android.content.BroadcastReceiver>;
			public clearAbortBroadcast(): void;
			public isOrderedBroadcast(): boolean;
			public peekService(param0: android.content.Context, param1: android.content.Intent): android.os.IBinder;
			public getAbortBroadcast(): boolean;
			public goAsync(): android.content.BroadcastReceiver.PendingResult;
			public setResultData(param0: string): void;
			public onReceive(param0: android.content.Context, param1: android.content.Intent): void;
			public constructor();
			public setResultExtras(param0: android.os.Bundle): void;
			public getResultData(): string;
			public setResultCode(param0: number): void;
			public getDebugUnregister(): boolean;
			public abortBroadcast(): void;
			public getResultExtras(param0: boolean): android.os.Bundle;
			public setResult(param0: number, param1: string, param2: android.os.Bundle): void;
			public getResultCode(): number;
			public isInitialStickyBroadcast(): boolean;
			public setOrderedHint(param0: boolean): void;
			public setDebugUnregister(param0: boolean): void;
		}
		export module BroadcastReceiver {
			export class PendingResult extends java.lang.Object {
				public static class: java.lang.Class<android.content.BroadcastReceiver.PendingResult>;
				public getResultExtras(param0: boolean): android.os.Bundle;
				public setResult(param0: number, param1: string, param2: android.os.Bundle): void;
				public clearAbortBroadcast(): void;
				public setResultCode(param0: number): void;
				public getAbortBroadcast(): boolean;
				public abortBroadcast(): void;
				public setResultData(param0: string): void;
				public getResultData(): string;
				public setResultExtras(param0: android.os.Bundle): void;
				public finish(): void;
				public getResultCode(): number;
			}
		}
	}
}

declare module android {
	export module content {
		export class ClipData extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.content.ClipData>;
			public static CREATOR: android.os.Parcelable.Creator<android.content.ClipData>;
			public constructor(param0: android.content.ClipData);
			public getDescription(): android.content.ClipDescription;
			public constructor(param0: string, param1: native.Array<string>, param2: android.content.ClipData.Item);
			public static newPlainText(param0: string, param1: string): android.content.ClipData;
			public addItem(param0: android.content.ContentResolver, param1: android.content.ClipData.Item): void;
			public static newUri(param0: android.content.ContentResolver, param1: string, param2: android.net.Uri): android.content.ClipData;
			public getItemCount(): number;
			public toString(): string;
			public constructor(param0: android.content.ClipDescription, param1: android.content.ClipData.Item);
			public static newRawUri(param0: string, param1: android.net.Uri): android.content.ClipData;
			public getItemAt(param0: number): android.content.ClipData.Item;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public static newHtmlText(param0: string, param1: string, param2: string): android.content.ClipData;
			public addItem(param0: android.content.ClipData.Item): void;
			public static newIntent(param0: string, param1: android.content.Intent): android.content.ClipData;
		}
		export module ClipData {
			export class Item extends java.lang.Object {
				public static class: java.lang.Class<android.content.ClipData.Item>;
				public constructor(param0: android.net.Uri);
				public getIntent(): android.content.Intent;
				public constructor(param0: string, param1: string, param2: android.content.Intent, param3: android.net.Uri);
				public constructor(param0: android.content.Intent);
				public toString(): string;
				public constructor(param0: string);
				public getText(): string;
				public coerceToText(param0: android.content.Context): string;
				public getHtmlText(): string;
				public getUri(): android.net.Uri;
				public coerceToStyledText(param0: android.content.Context): string;
				public constructor(param0: string, param1: android.content.Intent, param2: android.net.Uri);
				public constructor(param0: string, param1: string);
				public coerceToHtmlText(param0: android.content.Context): string;
			}
		}
	}
}

declare module android {
	export module content {
		export class ClipDescription extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.content.ClipDescription>;
			public static CREATOR: android.os.Parcelable.Creator<android.content.ClipDescription>;
			public static MIMETYPE_TEXT_HTML: string;
			public static MIMETYPE_TEXT_INTENT: string;
			public static MIMETYPE_TEXT_PLAIN: string;
			public static MIMETYPE_TEXT_URILIST: string;
			public getLabel(): string;
			public filterMimeTypes(param0: string): native.Array<string>;
			public static compareMimeTypes(param0: string, param1: string): boolean;
			public getExtras(): any;
			public getMimeTypeCount(): number;
			public constructor(param0: string, param1: native.Array<string>);
			public getMimeType(param0: number): string;
			public hasMimeType(param0: string): boolean;
			public toString(): string;
			public getTimestamp(): number;
			public setExtras(param0: any): void;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public constructor(param0: android.content.ClipDescription);
		}
	}
}

declare module android {
	export module content {
		export class ClipboardManager extends android.text.ClipboardManager {
			public static class: java.lang.Class<android.content.ClipboardManager>;
			/** @deprecated */
			public getText(): string;
			public setText(param0: string): void;
			public removePrimaryClipChangedListener(param0: android.content.ClipboardManager.OnPrimaryClipChangedListener): void;
			public getPrimaryClipDescription(): android.content.ClipDescription;
			public setPrimaryClip(param0: android.content.ClipData): void;
			public getText(): string;
			/** @deprecated */
			public hasText(): boolean;
			public addPrimaryClipChangedListener(param0: android.content.ClipboardManager.OnPrimaryClipChangedListener): void;
			/** @deprecated */
			public setText(param0: string): void;
			public hasPrimaryClip(): boolean;
			public clearPrimaryClip(): void;
			public hasText(): boolean;
			public getPrimaryClip(): android.content.ClipData;
		}
		export module ClipboardManager {
			export class OnPrimaryClipChangedListener extends java.lang.Object {
				public static class: java.lang.Class<android.content.ClipboardManager.OnPrimaryClipChangedListener>;
				/**
				 * Constructs a new instance of the android.content.ClipboardManager$OnPrimaryClipChangedListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onPrimaryClipChanged(): void;
				});
				public constructor();
				public onPrimaryClipChanged(): void;
			}
		}
	}
}

declare module android {
	export module content {
		export class ComponentCallbacks extends java.lang.Object {
			public static class: java.lang.Class<android.content.ComponentCallbacks>;
			/**
			 * Constructs a new instance of the android.content.ComponentCallbacks interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				onConfigurationChanged(param0: android.content.res.Configuration): void;
				onLowMemory(): void;
			});
			public constructor();
			public onConfigurationChanged(param0: android.content.res.Configuration): void;
			public onLowMemory(): void;
		}
	}
}

declare module android {
	export module content {
		export class ComponentCallbacks2 extends java.lang.Object implements android.content.ComponentCallbacks {
			public static class: java.lang.Class<android.content.ComponentCallbacks2>;
			/**
			 * Constructs a new instance of the android.content.ComponentCallbacks2 interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				onTrimMemory(param0: number): void;
				onConfigurationChanged(param0: android.content.res.Configuration): void;
				onLowMemory(): void;
			});
			public constructor();
			public static TRIM_MEMORY_RUNNING_MODERATE: number;
			public static TRIM_MEMORY_RUNNING_CRITICAL: number;
			public static TRIM_MEMORY_UI_HIDDEN: number;
			public static TRIM_MEMORY_COMPLETE: number;
			public static TRIM_MEMORY_BACKGROUND: number;
			public static TRIM_MEMORY_MODERATE: number;
			public static TRIM_MEMORY_RUNNING_LOW: number;
			public onConfigurationChanged(param0: android.content.res.Configuration): void;
			public onTrimMemory(param0: number): void;
			public onLowMemory(): void;
		}
	}
}

declare module android {
	export module content {
		export class ComponentName extends java.lang.Object {
			public static class: java.lang.Class<android.content.ComponentName>;
			public static CREATOR: android.os.Parcelable.Creator<android.content.ComponentName>;
			public equals(param0: any): boolean;
			public static createRelative(param0: string, param1: string): android.content.ComponentName;
			public flattenToShortString(): string;
			public static writeToParcel(param0: android.content.ComponentName, param1: android.os.Parcel): void;
			public constructor(param0: android.content.Context, param1: string);
			public getPackageName(): string;
			public toShortString(): string;
			public getShortClassName(): string;
			public constructor(param0: android.content.Context, param1: java.lang.Class<any>);
			public static unflattenFromString(param0: string): android.content.ComponentName;
			public static readFromParcel(param0: android.os.Parcel): android.content.ComponentName;
			public clone(): android.content.ComponentName;
			public constructor(param0: string, param1: string);
			public clone(): any;
			public toString(): string;
			public compareTo(param0: android.content.ComponentName): number;
			public constructor(param0: android.os.Parcel);
			public getClassName(): string;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public static createRelative(param0: android.content.Context, param1: string): android.content.ComponentName;
			public flattenToString(): string;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module content {
		export abstract class ContentProvider extends java.lang.Object implements android.content.ComponentCallbacks2 {
			public static class: java.lang.Class<android.content.ContentProvider>;
			public query(param0: android.net.Uri, param1: native.Array<string>, param2: string, param3: native.Array<string>, param4: string, param5: android.os.CancellationSignal): android.database.Cursor;
			public openFile(param0: android.net.Uri, param1: string, param2: android.os.CancellationSignal): android.os.ParcelFileDescriptor;
			public setPathPermissions(param0: native.Array<android.content.pm.PathPermission>): void;
			public delete(param0: android.net.Uri, param1: string, param2: native.Array<string>): number;
			public openAssetFile(param0: android.net.Uri, param1: string): android.content.res.AssetFileDescriptor;
			public dump(param0: java.io.FileDescriptor, param1: java.io.PrintWriter, param2: native.Array<string>): void;
			public openAssetFile(param0: android.net.Uri, param1: string, param2: android.os.CancellationSignal): android.content.res.AssetFileDescriptor;
			public getReadPermission(): string;
			public insert(param0: android.net.Uri, param1: android.content.ContentValues): android.net.Uri;
			public onLowMemory(): void;
			public openFileHelper(param0: android.net.Uri, param1: string): android.os.ParcelFileDescriptor;
			public setReadPermission(param0: string): void;
			public getPathPermissions(): native.Array<android.content.pm.PathPermission>;
			public getType(param0: android.net.Uri): string;
			public getCallingPackage(): string;
			public onCreate(): boolean;
			public query(param0: android.net.Uri, param1: native.Array<string>, param2: android.os.Bundle, param3: android.os.CancellationSignal): android.database.Cursor;
			public onTrimMemory(param0: number): void;
			public attachInfo(param0: android.content.Context, param1: android.content.pm.ProviderInfo): void;
			public openTypedAssetFile(param0: android.net.Uri, param1: string, param2: android.os.Bundle, param3: android.os.CancellationSignal): android.content.res.AssetFileDescriptor;
			public isTemporary(): boolean;
			public getContext(): android.content.Context;
			public shutdown(): void;
			public refresh(param0: android.net.Uri, param1: android.os.Bundle, param2: android.os.CancellationSignal): boolean;
			public onConfigurationChanged(param0: android.content.res.Configuration): void;
			public uncanonicalize(param0: android.net.Uri): android.net.Uri;
			public update(param0: android.net.Uri, param1: android.content.ContentValues, param2: string, param3: native.Array<string>): number;
			public setWritePermission(param0: string): void;
			public getWritePermission(): string;
			public query(param0: android.net.Uri, param1: native.Array<string>, param2: string, param3: native.Array<string>, param4: string): android.database.Cursor;
			public constructor();
			public getStreamTypes(param0: android.net.Uri, param1: string): native.Array<string>;
			public openPipeHelper(param0: android.net.Uri, param1: string, param2: android.os.Bundle, param3: any, param4: android.content.ContentProvider.PipeDataWriter<any>): android.os.ParcelFileDescriptor;
			public openFile(param0: android.net.Uri, param1: string): android.os.ParcelFileDescriptor;
			public applyBatch(param0: java.util.ArrayList<android.content.ContentProviderOperation>): native.Array<android.content.ContentProviderResult>;
			public call(param0: string, param1: string, param2: android.os.Bundle): android.os.Bundle;
			public openTypedAssetFile(param0: android.net.Uri, param1: string, param2: android.os.Bundle): android.content.res.AssetFileDescriptor;
			public canonicalize(param0: android.net.Uri): android.net.Uri;
			public bulkInsert(param0: android.net.Uri, param1: native.Array<android.content.ContentValues>): number;
		}
		export module ContentProvider {
			export class PipeDataWriter<T>  extends java.lang.Object {
				public static class: java.lang.Class<android.content.ContentProvider.PipeDataWriter<any>>;
				/**
				 * Constructs a new instance of the android.content.ContentProvider$PipeDataWriter interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					writeDataToPipe(param0: android.os.ParcelFileDescriptor, param1: android.net.Uri, param2: string, param3: android.os.Bundle, param4: T): void;
				});
				public constructor();
				public writeDataToPipe(param0: android.os.ParcelFileDescriptor, param1: android.net.Uri, param2: string, param3: android.os.Bundle, param4: T): void;
			}
		}
	}
}

declare module android {
	export module content {
		export class ContentProviderClient extends java.lang.Object implements java.lang.AutoCloseable {
			public static class: java.lang.Class<android.content.ContentProviderClient>;
			public query(param0: android.net.Uri, param1: native.Array<string>, param2: string, param3: native.Array<string>, param4: string, param5: android.os.CancellationSignal): android.database.Cursor;
			public uncanonicalize(param0: android.net.Uri): android.net.Uri;
			public openFile(param0: android.net.Uri, param1: string, param2: android.os.CancellationSignal): android.os.ParcelFileDescriptor;
			public update(param0: android.net.Uri, param1: android.content.ContentValues, param2: string, param3: native.Array<string>): number;
			public delete(param0: android.net.Uri, param1: string, param2: native.Array<string>): number;
			public openTypedAssetFileDescriptor(param0: android.net.Uri, param1: string, param2: android.os.Bundle): android.content.res.AssetFileDescriptor;
			public query(param0: android.net.Uri, param1: native.Array<string>, param2: string, param3: native.Array<string>, param4: string): android.database.Cursor;
			public openAssetFile(param0: android.net.Uri, param1: string): android.content.res.AssetFileDescriptor;
			public openAssetFile(param0: android.net.Uri, param1: string, param2: android.os.CancellationSignal): android.content.res.AssetFileDescriptor;
			public insert(param0: android.net.Uri, param1: android.content.ContentValues): android.net.Uri;
			public getStreamTypes(param0: android.net.Uri, param1: string): native.Array<string>;
			public getLocalContentProvider(): android.content.ContentProvider;
			public getType(param0: android.net.Uri): string;
			public openFile(param0: android.net.Uri, param1: string): android.os.ParcelFileDescriptor;
			public query(param0: android.net.Uri, param1: native.Array<string>, param2: android.os.Bundle, param3: android.os.CancellationSignal): android.database.Cursor;
			public applyBatch(param0: java.util.ArrayList<android.content.ContentProviderOperation>): native.Array<android.content.ContentProviderResult>;
			public call(param0: string, param1: string, param2: android.os.Bundle): android.os.Bundle;
			public openTypedAssetFileDescriptor(param0: android.net.Uri, param1: string, param2: android.os.Bundle, param3: android.os.CancellationSignal): android.content.res.AssetFileDescriptor;
			public canonicalize(param0: android.net.Uri): android.net.Uri;
			public close(): void;
			/** @deprecated */
			public release(): boolean;
			public refresh(param0: android.net.Uri, param1: android.os.Bundle, param2: android.os.CancellationSignal): boolean;
			public bulkInsert(param0: android.net.Uri, param1: native.Array<android.content.ContentValues>): number;
			public finalize(): void;
		}
	}
}

declare module android {
	export module content {
		export class ContentProviderOperation extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.content.ContentProviderOperation>;
			public static CREATOR: android.os.Parcelable.Creator<android.content.ContentProviderOperation>;
			public isUpdate(): boolean;
			public isDelete(): boolean;
			public static newDelete(param0: android.net.Uri): android.content.ContentProviderOperation.Builder;
			public static newAssertQuery(param0: android.net.Uri): android.content.ContentProviderOperation.Builder;
			public isWriteOperation(): boolean;
			public isAssertQuery(): boolean;
			public resolveValueBackReferences(param0: native.Array<android.content.ContentProviderResult>, param1: number): android.content.ContentValues;
			public getUri(): android.net.Uri;
			public isReadOperation(): boolean;
			public static newInsert(param0: android.net.Uri): android.content.ContentProviderOperation.Builder;
			public isInsert(): boolean;
			public resolveSelectionArgsBackReferences(param0: native.Array<android.content.ContentProviderResult>, param1: number): native.Array<string>;
			public toString(): string;
			public isYieldAllowed(): boolean;
			public apply(param0: android.content.ContentProvider, param1: native.Array<android.content.ContentProviderResult>, param2: number): android.content.ContentProviderResult;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public static newUpdate(param0: android.net.Uri): android.content.ContentProviderOperation.Builder;
		}
		export module ContentProviderOperation {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.content.ContentProviderOperation.Builder>;
				public withSelection(param0: string, param1: native.Array<string>): android.content.ContentProviderOperation.Builder;
				public withValueBackReference(param0: string, param1: number): android.content.ContentProviderOperation.Builder;
				public withValues(param0: android.content.ContentValues): android.content.ContentProviderOperation.Builder;
				public withValueBackReferences(param0: android.content.ContentValues): android.content.ContentProviderOperation.Builder;
				public withValue(param0: string, param1: any): android.content.ContentProviderOperation.Builder;
				public build(): android.content.ContentProviderOperation;
				public withYieldAllowed(param0: boolean): android.content.ContentProviderOperation.Builder;
				public withSelectionBackReference(param0: number, param1: number): android.content.ContentProviderOperation.Builder;
				public withExpectedCount(param0: number): android.content.ContentProviderOperation.Builder;
			}
		}
	}
}

declare module android {
	export module content {
		export class ContentProviderResult extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.content.ContentProviderResult>;
			public static CREATOR: android.os.Parcelable.Creator<android.content.ContentProviderResult>;
			public count: java.lang.Integer;
			public uri: android.net.Uri;
			public toString(): string;
			public constructor(param0: android.os.Parcel);
			public describeContents(): number;
			public constructor(param0: number);
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public constructor(param0: android.net.Uri);
		}
	}
}

declare module android {
	export module content {
		export class ContentQueryMap extends java.util.Observable {
			public static class: java.lang.Class<android.content.ContentQueryMap>;
			public getValues(param0: string): android.content.ContentValues;
			public requery(): void;
			public setKeepUpdated(param0: boolean): void;
			public constructor();
			public getRows(): java.util.Map<string,android.content.ContentValues>;
			public close(): void;
			public finalize(): void;
			public constructor(param0: android.database.Cursor, param1: string, param2: boolean, param3: android.os.Handler);
		}
	}
}

declare module android {
	export module content {
		export abstract class ContentResolver extends java.lang.Object {
			public static class: java.lang.Class<android.content.ContentResolver>;
			public static ANY_CURSOR_ITEM_TYPE: string;
			public static CURSOR_DIR_BASE_TYPE: string;
			public static CURSOR_ITEM_BASE_TYPE: string;
			public static EXTRA_HONORED_ARGS: string;
			public static EXTRA_REFRESH_SUPPORTED: string;
			public static EXTRA_SIZE: string;
			public static EXTRA_TOTAL_COUNT: string;
			public static NOTIFY_SKIP_NOTIFY_FOR_DESCENDANTS: number;
			public static NOTIFY_SYNC_TO_NETWORK: number;
			public static QUERY_ARG_LIMIT: string;
			public static QUERY_ARG_OFFSET: string;
			public static QUERY_ARG_SORT_COLLATION: string;
			public static QUERY_ARG_SORT_COLUMNS: string;
			public static QUERY_ARG_SORT_DIRECTION: string;
			public static QUERY_ARG_SQL_SELECTION: string;
			public static QUERY_ARG_SQL_SELECTION_ARGS: string;
			public static QUERY_ARG_SQL_SORT_ORDER: string;
			public static QUERY_SORT_DIRECTION_ASCENDING: number;
			public static QUERY_SORT_DIRECTION_DESCENDING: number;
			public static SCHEME_ANDROID_RESOURCE: string;
			public static SCHEME_CONTENT: string;
			public static SCHEME_FILE: string;
			public static SYNC_EXTRAS_ACCOUNT: string;
			public static SYNC_EXTRAS_DISCARD_LOCAL_DELETIONS: string;
			public static SYNC_EXTRAS_DO_NOT_RETRY: string;
			public static SYNC_EXTRAS_EXPEDITED: string;
			public static SYNC_EXTRAS_FORCE: string;
			public static SYNC_EXTRAS_IGNORE_BACKOFF: string;
			public static SYNC_EXTRAS_IGNORE_SETTINGS: string;
			public static SYNC_EXTRAS_INITIALIZE: string;
			public static SYNC_EXTRAS_MANUAL: string;
			public static SYNC_EXTRAS_OVERRIDE_TOO_MANY_DELETIONS: string;
			public static SYNC_EXTRAS_REQUIRE_CHARGING: string;
			public static SYNC_EXTRAS_UPLOAD: string;
			public static SYNC_OBSERVER_TYPE_ACTIVE: number;
			public static SYNC_OBSERVER_TYPE_PENDING: number;
			public static SYNC_OBSERVER_TYPE_SETTINGS: number;
			public openInputStream(param0: android.net.Uri): java.io.InputStream;
			public openAssetFileDescriptor(param0: android.net.Uri, param1: string): android.content.res.AssetFileDescriptor;
			public takePersistableUriPermission(param0: android.net.Uri, param1: number): void;
			public openOutputStream(param0: android.net.Uri): java.io.OutputStream;
			public delete(param0: android.net.Uri, param1: string, param2: native.Array<string>): number;
			public static setMasterSyncAutomatically(param0: boolean): void;
			public static getIsSyncable(param0: android.accounts.Account, param1: string): number;
			public getType(param0: android.net.Uri): string;
			public static requestSync(param0: android.content.SyncRequest): void;
			public static removeStatusChangeListener(param0: any): void;
			/** @deprecated */
			public startSync(param0: android.net.Uri, param1: android.os.Bundle): void;
			public static addStatusChangeListener(param0: number, param1: android.content.SyncStatusObserver): any;
			public query(param0: android.net.Uri, param1: native.Array<string>, param2: android.os.Bundle, param3: android.os.CancellationSignal): android.database.Cursor;
			public acquireUnstableContentProviderClient(param0: string): android.content.ContentProviderClient;
			public acquireContentProviderClient(param0: android.net.Uri): android.content.ContentProviderClient;
			public notifyChange(param0: android.net.Uri, param1: android.database.ContentObserver): void;
			public acquireContentProviderClient(param0: string): android.content.ContentProviderClient;
			public static removePeriodicSync(param0: android.accounts.Account, param1: string, param2: android.os.Bundle): void;
			public update(param0: android.net.Uri, param1: android.content.ContentValues, param2: string, param3: native.Array<string>): number;
			public static cancelSync(param0: android.accounts.Account, param1: string): void;
			public openTypedAssetFileDescriptor(param0: android.net.Uri, param1: string, param2: android.os.Bundle): android.content.res.AssetFileDescriptor;
			public acquireUnstableContentProviderClient(param0: android.net.Uri): android.content.ContentProviderClient;
			public static getMasterSyncAutomatically(): boolean;
			public static isSyncPending(param0: android.accounts.Account, param1: string): boolean;
			public openFileDescriptor(param0: android.net.Uri, param1: string): android.os.ParcelFileDescriptor;
			public openOutputStream(param0: android.net.Uri, param1: string): java.io.OutputStream;
			public getPersistedUriPermissions(): java.util.List<android.content.UriPermission>;
			public static setIsSyncable(param0: android.accounts.Account, param1: string, param2: number): void;
			public openTypedAssetFileDescriptor(param0: android.net.Uri, param1: string, param2: android.os.Bundle, param3: android.os.CancellationSignal): android.content.res.AssetFileDescriptor;
			public canonicalize(param0: android.net.Uri): android.net.Uri;
			public applyBatch(param0: string, param1: java.util.ArrayList<android.content.ContentProviderOperation>): native.Array<android.content.ContentProviderResult>;
			public static getSyncAdapterTypes(): native.Array<android.content.SyncAdapterType>;
			public bulkInsert(param0: android.net.Uri, param1: native.Array<android.content.ContentValues>): number;
			public static isSyncActive(param0: android.accounts.Account, param1: string): boolean;
			public query(param0: android.net.Uri, param1: native.Array<string>, param2: string, param3: native.Array<string>, param4: string, param5: android.os.CancellationSignal): android.database.Cursor;
			public static addPeriodicSync(param0: android.accounts.Account, param1: string, param2: android.os.Bundle, param3: number): void;
			public notifyChange(param0: android.net.Uri, param1: android.database.ContentObserver, param2: number): void;
			public call(param0: android.net.Uri, param1: string, param2: string, param3: android.os.Bundle): android.os.Bundle;
			public insert(param0: android.net.Uri, param1: android.content.ContentValues): android.net.Uri;
			public static getPeriodicSyncs(param0: android.accounts.Account, param1: string): java.util.List<android.content.PeriodicSync>;
			public openFileDescriptor(param0: android.net.Uri, param1: string, param2: android.os.CancellationSignal): android.os.ParcelFileDescriptor;
			public static cancelSync(param0: android.content.SyncRequest): void;
			public notifyChange(param0: android.net.Uri, param1: android.database.ContentObserver, param2: boolean): void;
			public getOutgoingPersistedUriPermissions(): java.util.List<android.content.UriPermission>;
			public refresh(param0: android.net.Uri, param1: android.os.Bundle, param2: android.os.CancellationSignal): boolean;
			public openAssetFileDescriptor(param0: android.net.Uri, param1: string, param2: android.os.CancellationSignal): android.content.res.AssetFileDescriptor;
			public uncanonicalize(param0: android.net.Uri): android.net.Uri;
			public unregisterContentObserver(param0: android.database.ContentObserver): void;
			public static getCurrentSyncs(): java.util.List<android.content.SyncInfo>;
			public static setSyncAutomatically(param0: android.accounts.Account, param1: string, param2: boolean): void;
			public query(param0: android.net.Uri, param1: native.Array<string>, param2: string, param3: native.Array<string>, param4: string): android.database.Cursor;
			public static validateSyncExtrasBundle(param0: android.os.Bundle): void;
			public getStreamTypes(param0: android.net.Uri, param1: string): native.Array<string>;
			public static getSyncAutomatically(param0: android.accounts.Account, param1: string): boolean;
			public registerContentObserver(param0: android.net.Uri, param1: boolean, param2: android.database.ContentObserver): void;
			public static requestSync(param0: android.accounts.Account, param1: string, param2: android.os.Bundle): void;
			public constructor(param0: android.content.Context);
			/** @deprecated */
			public static getCurrentSync(): android.content.SyncInfo;
			public releasePersistableUriPermission(param0: android.net.Uri, param1: number): void;
			/** @deprecated */
			public cancelSync(param0: android.net.Uri): void;
		}
	}
}

declare module android {
	export module content {
		export class ContentUris extends java.lang.Object {
			public static class: java.lang.Class<android.content.ContentUris>;
			public static parseId(param0: android.net.Uri): number;
			public static withAppendedId(param0: android.net.Uri, param1: number): android.net.Uri;
			public static appendId(param0: android.net.Uri.Builder, param1: number): android.net.Uri.Builder;
			public constructor();
		}
	}
}

declare module android {
	export module content {
		export class ContentValues extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.content.ContentValues>;
			public static CREATOR: android.os.Parcelable.Creator<android.content.ContentValues>;
			public static TAG: string;
			public keySet(): java.util.Set<string>;
			public equals(param0: any): boolean;
			public getAsLong(param0: string): java.lang.Long;
			public putAll(param0: android.content.ContentValues): void;
			public getAsByteArray(param0: string): native.Array<number>;
			public put(param0: string, param1: java.lang.Short): void;
			public remove(param0: string): void;
			public valueSet(): java.util.Set<java.util.Map.Entry<string,any>>;
			public getAsShort(param0: string): java.lang.Short;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public put(param0: string, param1: java.lang.Integer): void;
			public getAsDouble(param0: string): java.lang.Double;
			public containsKey(param0: string): boolean;
			public put(param0: string, param1: native.Array<number>): void;
			public put(param0: string, param1: java.lang.Double): void;
			public clear(): void;
			public get(param0: string): any;
			public putNull(param0: string): void;
			public size(): number;
			public constructor(param0: number);
			public getAsFloat(param0: string): java.lang.Float;
			public constructor();
			public put(param0: string, param1: java.lang.Float): void;
			public constructor(param0: android.content.ContentValues);
			public put(param0: string, param1: java.lang.Boolean): void;
			public getAsByte(param0: string): java.lang.Byte;
			public getAsString(param0: string): string;
			public toString(): string;
			public put(param0: string, param1: java.lang.Byte): void;
			public getAsBoolean(param0: string): java.lang.Boolean;
			public describeContents(): number;
			public getAsInteger(param0: string): java.lang.Integer;
			public put(param0: string, param1: java.lang.Long): void;
			public hashCode(): number;
			public put(param0: string, param1: string): void;
		}
	}
}

declare module android {
	export module content {
		export abstract class Context extends java.lang.Object {
			public static class: java.lang.Class<android.content.Context>;
			public static ACCESSIBILITY_SERVICE: string;
			public static ACCOUNT_SERVICE: string;
			public static ACTIVITY_SERVICE: string;
			public static ALARM_SERVICE: string;
			public static APPWIDGET_SERVICE: string;
			public static APP_OPS_SERVICE: string;
			public static AUDIO_SERVICE: string;
			public static BATTERY_SERVICE: string;
			public static BIND_ABOVE_CLIENT: number;
			public static BIND_ADJUST_WITH_ACTIVITY: number;
			public static BIND_ALLOW_OOM_MANAGEMENT: number;
			public static BIND_AUTO_CREATE: number;
			public static BIND_DEBUG_UNBIND: number;
			public static BIND_EXTERNAL_SERVICE: number;
			public static BIND_IMPORTANT: number;
			public static BIND_NOT_FOREGROUND: number;
			public static BIND_WAIVE_PRIORITY: number;
			public static BLUETOOTH_SERVICE: string;
			public static CAMERA_SERVICE: string;
			public static CAPTIONING_SERVICE: string;
			public static CARRIER_CONFIG_SERVICE: string;
			public static CLIPBOARD_SERVICE: string;
			public static COMPANION_DEVICE_SERVICE: string;
			public static CONNECTIVITY_SERVICE: string;
			public static CONSUMER_IR_SERVICE: string;
			public static CONTEXT_IGNORE_SECURITY: number;
			public static CONTEXT_INCLUDE_CODE: number;
			public static CONTEXT_RESTRICTED: number;
			public static CROSS_PROFILE_APPS_SERVICE: string;
			public static DEVICE_POLICY_SERVICE: string;
			public static DISPLAY_SERVICE: string;
			public static DOWNLOAD_SERVICE: string;
			public static DROPBOX_SERVICE: string;
			public static EUICC_SERVICE: string;
			public static FINGERPRINT_SERVICE: string;
			public static HARDWARE_PROPERTIES_SERVICE: string;
			public static INPUT_METHOD_SERVICE: string;
			public static INPUT_SERVICE: string;
			public static IPSEC_SERVICE: string;
			public static JOB_SCHEDULER_SERVICE: string;
			public static KEYGUARD_SERVICE: string;
			public static LAUNCHER_APPS_SERVICE: string;
			public static LAYOUT_INFLATER_SERVICE: string;
			public static LOCATION_SERVICE: string;
			public static MEDIA_PROJECTION_SERVICE: string;
			public static MEDIA_ROUTER_SERVICE: string;
			public static MEDIA_SESSION_SERVICE: string;
			public static MIDI_SERVICE: string;
			public static MODE_APPEND: number;
			public static MODE_ENABLE_WRITE_AHEAD_LOGGING: number;
			public static MODE_MULTI_PROCESS: number;
			public static MODE_NO_LOCALIZED_COLLATORS: number;
			public static MODE_PRIVATE: number;
			public static MODE_WORLD_READABLE: number;
			public static MODE_WORLD_WRITEABLE: number;
			public static NETWORK_STATS_SERVICE: string;
			public static NFC_SERVICE: string;
			public static NOTIFICATION_SERVICE: string;
			public static NSD_SERVICE: string;
			public static POWER_SERVICE: string;
			public static PRINT_SERVICE: string;
			public static RECEIVER_VISIBLE_TO_INSTANT_APPS: number;
			public static RESTRICTIONS_SERVICE: string;
			public static SEARCH_SERVICE: string;
			public static SENSOR_SERVICE: string;
			public static SHORTCUT_SERVICE: string;
			public static STORAGE_SERVICE: string;
			public static STORAGE_STATS_SERVICE: string;
			public static SYSTEM_HEALTH_SERVICE: string;
			public static TELECOM_SERVICE: string;
			public static TELEPHONY_SERVICE: string;
			public static TELEPHONY_SUBSCRIPTION_SERVICE: string;
			public static TEXT_CLASSIFICATION_SERVICE: string;
			public static TEXT_SERVICES_MANAGER_SERVICE: string;
			public static TV_INPUT_SERVICE: string;
			public static UI_MODE_SERVICE: string;
			public static USAGE_STATS_SERVICE: string;
			public static USB_SERVICE: string;
			public static USER_SERVICE: string;
			public static VIBRATOR_SERVICE: string;
			public static WALLPAPER_SERVICE: string;
			public static WIFI_AWARE_SERVICE: string;
			public static WIFI_P2P_SERVICE: string;
			public static WIFI_RTT_RANGING_SERVICE: string;
			public static WIFI_SERVICE: string;
			public static WINDOW_SERVICE: string;
			public createContextForSplit(param0: string): android.content.Context;
			public getFilesDir(): java.io.File;
			public fileList(): native.Array<string>;
			public checkCallingPermission(param0: string): number;
			public getPackageName(): string;
			public sendBroadcastAsUser(param0: android.content.Intent, param1: android.os.UserHandle, param2: string): void;
			public openFileInput(param0: string): java.io.FileInputStream;
			public moveSharedPreferencesFrom(param0: android.content.Context, param1: string): boolean;
			public revokeUriPermission(param0: string, param1: android.net.Uri, param2: number): void;
			public getDatabasePath(param0: string): java.io.File;
			/** @deprecated */
			public getWallpaper(): android.graphics.drawable.Drawable;
			public unregisterReceiver(param0: android.content.BroadcastReceiver): void;
			public bindService(param0: android.content.Intent, param1: android.content.ServiceConnection, param2: number): boolean;
			public createConfigurationContext(param0: android.content.res.Configuration): android.content.Context;
			public checkCallingOrSelfPermission(param0: string): number;
			public getColor(param0: number): number;
			public getDataDir(): java.io.File;
			public createDeviceProtectedStorageContext(): android.content.Context;
			public constructor();
			/** @deprecated */
			public sendStickyBroadcast(param0: android.content.Intent): void;
			public revokeUriPermission(param0: android.net.Uri, param1: number): void;
			public obtainStyledAttributes(param0: android.util.AttributeSet, param1: native.Array<number>, param2: number, param3: number): android.content.res.TypedArray;
			public getExternalFilesDir(param0: string): java.io.File;
			/** @deprecated */
			public sendStickyOrderedBroadcastAsUser(param0: android.content.Intent, param1: android.os.UserHandle, param2: android.content.BroadcastReceiver, param3: android.os.Handler, param4: number, param5: string, param6: android.os.Bundle): void;
			public getDrawable(param0: number): android.graphics.drawable.Drawable;
			public checkSelfPermission(param0: string): number;
			public obtainStyledAttributes(param0: android.util.AttributeSet, param1: native.Array<number>): android.content.res.TypedArray;
			public getTheme(): android.content.res.Resources.Theme;
			public createDisplayContext(param0: android.view.Display): android.content.Context;
			public openOrCreateDatabase(param0: string, param1: number, param2: android.database.sqlite.SQLiteDatabase.CursorFactory): android.database.sqlite.SQLiteDatabase;
			public registerReceiver(param0: android.content.BroadcastReceiver, param1: android.content.IntentFilter, param2: number): android.content.Intent;
			public sendBroadcastAsUser(param0: android.content.Intent, param1: android.os.UserHandle): void;
			public getResources(): android.content.res.Resources;
			public unbindService(param0: android.content.ServiceConnection): void;
			public getDir(param0: string, param1: number): java.io.File;
			public sendOrderedBroadcast(param0: android.content.Intent, param1: string, param2: android.content.BroadcastReceiver, param3: android.os.Handler, param4: number, param5: string, param6: android.os.Bundle): void;
			public openFileOutput(param0: string, param1: number): java.io.FileOutputStream;
			public deleteDatabase(param0: string): boolean;
			public getApplicationContext(): android.content.Context;
			public getText(param0: number): string;
			public unregisterComponentCallbacks(param0: android.content.ComponentCallbacks): void;
			public getExternalFilesDirs(param0: string): native.Array<java.io.File>;
			public startActivity(param0: android.content.Intent, param1: android.os.Bundle): void;
			public startInstrumentation(param0: android.content.ComponentName, param1: string, param2: android.os.Bundle): boolean;
			/** @deprecated */
			public getWallpaperDesiredMinimumHeight(): number;
			public obtainStyledAttributes(param0: number, param1: native.Array<number>): android.content.res.TypedArray;
			public checkPermission(param0: string, param1: number, param2: number): number;
			public enforceUriPermission(param0: android.net.Uri, param1: number, param2: number, param3: number, param4: string): void;
			public openOrCreateDatabase(param0: string, param1: number, param2: android.database.sqlite.SQLiteDatabase.CursorFactory, param3: android.database.DatabaseErrorHandler): android.database.sqlite.SQLiteDatabase;
			public getString(param0: number, param1: native.Array<any>): string;
			public moveDatabaseFrom(param0: android.content.Context, param1: string): boolean;
			public startIntentSender(param0: android.content.IntentSender, param1: android.content.Intent, param2: number, param3: number, param4: number): void;
			public getSystemService(param0: java.lang.Class<any>): any;
			public registerReceiver(param0: android.content.BroadcastReceiver, param1: android.content.IntentFilter, param2: string, param3: android.os.Handler, param4: number): android.content.Intent;
			public enforceUriPermission(param0: android.net.Uri, param1: string, param2: string, param3: number, param4: number, param5: number, param6: string): void;
			public setTheme(param0: number): void;
			public deleteFile(param0: string): boolean;
			public getCodeCacheDir(): java.io.File;
			public getMainLooper(): android.os.Looper;
			public enforceCallingOrSelfUriPermission(param0: android.net.Uri, param1: number, param2: string): void;
			public startIntentSender(param0: android.content.IntentSender, param1: android.content.Intent, param2: number, param3: number, param4: number, param5: android.os.Bundle): void;
			public getPackageResourcePath(): string;
			public checkCallingUriPermission(param0: android.net.Uri, param1: number): number;
			public getObbDirs(): native.Array<java.io.File>;
			public getClassLoader(): java.lang.ClassLoader;
			public getExternalCacheDirs(): native.Array<java.io.File>;
			public databaseList(): native.Array<string>;
			/** @deprecated */
			public removeStickyBroadcastAsUser(param0: android.content.Intent, param1: android.os.UserHandle): void;
			public registerReceiver(param0: android.content.BroadcastReceiver, param1: android.content.IntentFilter, param2: string, param3: android.os.Handler): android.content.Intent;
			public sendOrderedBroadcast(param0: android.content.Intent, param1: string): void;
			public getSystemServiceName(param0: java.lang.Class<any>): string;
			public getObbDir(): java.io.File;
			public startForegroundService(param0: android.content.Intent): android.content.ComponentName;
			public getFileStreamPath(param0: string): java.io.File;
			public deleteSharedPreferences(param0: string): boolean;
			public isDeviceProtectedStorage(): boolean;
			public getAssets(): android.content.res.AssetManager;
			public startActivities(param0: native.Array<android.content.Intent>): void;
			/** @deprecated */
			public removeStickyBroadcast(param0: android.content.Intent): void;
			public getPackageCodePath(): string;
			public getString(param0: number): string;
			public obtainStyledAttributes(param0: native.Array<number>): android.content.res.TypedArray;
			public getPackageManager(): android.content.pm.PackageManager;
			/** @deprecated */
			public sendStickyOrderedBroadcast(param0: android.content.Intent, param1: android.content.BroadcastReceiver, param2: android.os.Handler, param3: number, param4: string, param5: android.os.Bundle): void;
			public getColorStateList(param0: number): android.content.res.ColorStateList;
			public registerComponentCallbacks(param0: android.content.ComponentCallbacks): void;
			public sendBroadcast(param0: android.content.Intent, param1: string): void;
			public enforceCallingUriPermission(param0: android.net.Uri, param1: number, param2: string): void;
			public getExternalCacheDir(): java.io.File;
			public stopService(param0: android.content.Intent): boolean;
			public getApplicationInfo(): android.content.pm.ApplicationInfo;
			/** @deprecated */
			public setWallpaper(param0: android.graphics.Bitmap): void;
			public registerReceiver(param0: android.content.BroadcastReceiver, param1: android.content.IntentFilter): android.content.Intent;
			public sendOrderedBroadcastAsUser(param0: android.content.Intent, param1: android.os.UserHandle, param2: string, param3: android.content.BroadcastReceiver, param4: android.os.Handler, param5: number, param6: string, param7: android.os.Bundle): void;
			public startService(param0: android.content.Intent): android.content.ComponentName;
			public checkUriPermission(param0: android.net.Uri, param1: number, param2: number, param3: number): number;
			public getExternalMediaDirs(): native.Array<java.io.File>;
			public getSystemService(param0: string): any;
			public checkCallingOrSelfUriPermission(param0: android.net.Uri, param1: number): number;
			public getNoBackupFilesDir(): java.io.File;
			public getCacheDir(): java.io.File;
			/** @deprecated */
			public getWallpaperDesiredMinimumWidth(): number;
			public getSharedPreferences(param0: string, param1: number): android.content.SharedPreferences;
			public enforceCallingPermission(param0: string, param1: string): void;
			public grantUriPermission(param0: string, param1: android.net.Uri, param2: number): void;
			public startActivities(param0: native.Array<android.content.Intent>, param1: android.os.Bundle): void;
			public createPackageContext(param0: string, param1: number): android.content.Context;
			public isRestricted(): boolean;
			/** @deprecated */
			public sendStickyBroadcastAsUser(param0: android.content.Intent, param1: android.os.UserHandle): void;
			public checkUriPermission(param0: android.net.Uri, param1: string, param2: string, param3: number, param4: number, param5: number): number;
			/** @deprecated */
			public setWallpaper(param0: java.io.InputStream): void;
			public getContentResolver(): android.content.ContentResolver;
			public enforceCallingOrSelfPermission(param0: string, param1: string): void;
			public startActivity(param0: android.content.Intent): void;
			public enforcePermission(param0: string, param1: number, param2: number, param3: string): void;
			public getMainExecutor(): java.util.concurrent.Executor;
			/** @deprecated */
			public peekWallpaper(): android.graphics.drawable.Drawable;
			/** @deprecated */
			public clearWallpaper(): void;
			public sendBroadcast(param0: android.content.Intent): void;
		}
	}
}

declare module android {
	export module content {
		export class ContextWrapper extends android.content.Context {
			public static class: java.lang.Class<android.content.ContextWrapper>;
			public createContextForSplit(param0: string): android.content.Context;
			public getFilesDir(): java.io.File;
			public fileList(): native.Array<string>;
			public checkCallingPermission(param0: string): number;
			public getPackageName(): string;
			public sendBroadcastAsUser(param0: android.content.Intent, param1: android.os.UserHandle, param2: string): void;
			public openFileInput(param0: string): java.io.FileInputStream;
			public moveSharedPreferencesFrom(param0: android.content.Context, param1: string): boolean;
			public revokeUriPermission(param0: string, param1: android.net.Uri, param2: number): void;
			public getDatabasePath(param0: string): java.io.File;
			/** @deprecated */
			public getWallpaper(): android.graphics.drawable.Drawable;
			public unregisterReceiver(param0: android.content.BroadcastReceiver): void;
			public bindService(param0: android.content.Intent, param1: android.content.ServiceConnection, param2: number): boolean;
			public createConfigurationContext(param0: android.content.res.Configuration): android.content.Context;
			public checkCallingOrSelfPermission(param0: string): number;
			public getDataDir(): java.io.File;
			public createDeviceProtectedStorageContext(): android.content.Context;
			public constructor();
			/** @deprecated */
			public sendStickyBroadcast(param0: android.content.Intent): void;
			public revokeUriPermission(param0: android.net.Uri, param1: number): void;
			public getExternalFilesDir(param0: string): java.io.File;
			/** @deprecated */
			public sendStickyOrderedBroadcastAsUser(param0: android.content.Intent, param1: android.os.UserHandle, param2: android.content.BroadcastReceiver, param3: android.os.Handler, param4: number, param5: string, param6: android.os.Bundle): void;
			public checkSelfPermission(param0: string): number;
			public getTheme(): android.content.res.Resources.Theme;
			public createDisplayContext(param0: android.view.Display): android.content.Context;
			public openOrCreateDatabase(param0: string, param1: number, param2: android.database.sqlite.SQLiteDatabase.CursorFactory): android.database.sqlite.SQLiteDatabase;
			public registerReceiver(param0: android.content.BroadcastReceiver, param1: android.content.IntentFilter, param2: number): android.content.Intent;
			public sendBroadcastAsUser(param0: android.content.Intent, param1: android.os.UserHandle): void;
			public getResources(): android.content.res.Resources;
			public unbindService(param0: android.content.ServiceConnection): void;
			public getDir(param0: string, param1: number): java.io.File;
			public sendOrderedBroadcast(param0: android.content.Intent, param1: string, param2: android.content.BroadcastReceiver, param3: android.os.Handler, param4: number, param5: string, param6: android.os.Bundle): void;
			public openFileOutput(param0: string, param1: number): java.io.FileOutputStream;
			public deleteDatabase(param0: string): boolean;
			public getApplicationContext(): android.content.Context;
			public getExternalFilesDirs(param0: string): native.Array<java.io.File>;
			public startActivity(param0: android.content.Intent, param1: android.os.Bundle): void;
			public startInstrumentation(param0: android.content.ComponentName, param1: string, param2: android.os.Bundle): boolean;
			/** @deprecated */
			public getWallpaperDesiredMinimumHeight(): number;
			public checkPermission(param0: string, param1: number, param2: number): number;
			public enforceUriPermission(param0: android.net.Uri, param1: number, param2: number, param3: number, param4: string): void;
			public openOrCreateDatabase(param0: string, param1: number, param2: android.database.sqlite.SQLiteDatabase.CursorFactory, param3: android.database.DatabaseErrorHandler): android.database.sqlite.SQLiteDatabase;
			public attachBaseContext(param0: android.content.Context): void;
			public moveDatabaseFrom(param0: android.content.Context, param1: string): boolean;
			public startIntentSender(param0: android.content.IntentSender, param1: android.content.Intent, param2: number, param3: number, param4: number): void;
			public getSystemService(param0: java.lang.Class<any>): any;
			public registerReceiver(param0: android.content.BroadcastReceiver, param1: android.content.IntentFilter, param2: string, param3: android.os.Handler, param4: number): android.content.Intent;
			public enforceUriPermission(param0: android.net.Uri, param1: string, param2: string, param3: number, param4: number, param5: number, param6: string): void;
			public setTheme(param0: number): void;
			public constructor(param0: android.content.Context);
			public deleteFile(param0: string): boolean;
			public getCodeCacheDir(): java.io.File;
			public getMainLooper(): android.os.Looper;
			public enforceCallingOrSelfUriPermission(param0: android.net.Uri, param1: number, param2: string): void;
			public startIntentSender(param0: android.content.IntentSender, param1: android.content.Intent, param2: number, param3: number, param4: number, param5: android.os.Bundle): void;
			public getPackageResourcePath(): string;
			public checkCallingUriPermission(param0: android.net.Uri, param1: number): number;
			public getObbDirs(): native.Array<java.io.File>;
			public getClassLoader(): java.lang.ClassLoader;
			public getExternalCacheDirs(): native.Array<java.io.File>;
			public databaseList(): native.Array<string>;
			/** @deprecated */
			public removeStickyBroadcastAsUser(param0: android.content.Intent, param1: android.os.UserHandle): void;
			public registerReceiver(param0: android.content.BroadcastReceiver, param1: android.content.IntentFilter, param2: string, param3: android.os.Handler): android.content.Intent;
			public sendOrderedBroadcast(param0: android.content.Intent, param1: string): void;
			public getSystemServiceName(param0: java.lang.Class<any>): string;
			public getObbDir(): java.io.File;
			public startForegroundService(param0: android.content.Intent): android.content.ComponentName;
			public getFileStreamPath(param0: string): java.io.File;
			public deleteSharedPreferences(param0: string): boolean;
			public isDeviceProtectedStorage(): boolean;
			public getAssets(): android.content.res.AssetManager;
			public startActivities(param0: native.Array<android.content.Intent>): void;
			/** @deprecated */
			public removeStickyBroadcast(param0: android.content.Intent): void;
			public getPackageCodePath(): string;
			public getPackageManager(): android.content.pm.PackageManager;
			/** @deprecated */
			public sendStickyOrderedBroadcast(param0: android.content.Intent, param1: android.content.BroadcastReceiver, param2: android.os.Handler, param3: number, param4: string, param5: android.os.Bundle): void;
			public sendBroadcast(param0: android.content.Intent, param1: string): void;
			public enforceCallingUriPermission(param0: android.net.Uri, param1: number, param2: string): void;
			public getExternalCacheDir(): java.io.File;
			public stopService(param0: android.content.Intent): boolean;
			public getApplicationInfo(): android.content.pm.ApplicationInfo;
			/** @deprecated */
			public setWallpaper(param0: android.graphics.Bitmap): void;
			public registerReceiver(param0: android.content.BroadcastReceiver, param1: android.content.IntentFilter): android.content.Intent;
			public getBaseContext(): android.content.Context;
			public sendOrderedBroadcastAsUser(param0: android.content.Intent, param1: android.os.UserHandle, param2: string, param3: android.content.BroadcastReceiver, param4: android.os.Handler, param5: number, param6: string, param7: android.os.Bundle): void;
			public startService(param0: android.content.Intent): android.content.ComponentName;
			public checkUriPermission(param0: android.net.Uri, param1: number, param2: number, param3: number): number;
			public getExternalMediaDirs(): native.Array<java.io.File>;
			public getSystemService(param0: string): any;
			public checkCallingOrSelfUriPermission(param0: android.net.Uri, param1: number): number;
			public getNoBackupFilesDir(): java.io.File;
			public getCacheDir(): java.io.File;
			/** @deprecated */
			public getWallpaperDesiredMinimumWidth(): number;
			public getSharedPreferences(param0: string, param1: number): android.content.SharedPreferences;
			public enforceCallingPermission(param0: string, param1: string): void;
			public grantUriPermission(param0: string, param1: android.net.Uri, param2: number): void;
			public startActivities(param0: native.Array<android.content.Intent>, param1: android.os.Bundle): void;
			public createPackageContext(param0: string, param1: number): android.content.Context;
			public isRestricted(): boolean;
			/** @deprecated */
			public sendStickyBroadcastAsUser(param0: android.content.Intent, param1: android.os.UserHandle): void;
			public checkUriPermission(param0: android.net.Uri, param1: string, param2: string, param3: number, param4: number, param5: number): number;
			/** @deprecated */
			public setWallpaper(param0: java.io.InputStream): void;
			public getContentResolver(): android.content.ContentResolver;
			public enforceCallingOrSelfPermission(param0: string, param1: string): void;
			public startActivity(param0: android.content.Intent): void;
			public enforcePermission(param0: string, param1: number, param2: number, param3: string): void;
			public getMainExecutor(): java.util.concurrent.Executor;
			/** @deprecated */
			public peekWallpaper(): android.graphics.drawable.Drawable;
			/** @deprecated */
			public clearWallpaper(): void;
			public sendBroadcast(param0: android.content.Intent): void;
		}
	}
}

declare module android {
	export module content {
		export class CursorLoader extends android.content.AsyncTaskLoader<android.database.Cursor> {
			public static class: java.lang.Class<android.content.CursorLoader>;
			public setUri(param0: android.net.Uri): void;
			public onReset(): void;
			public loadInBackground(): android.database.Cursor;
			public getSelectionArgs(): native.Array<string>;
			public deliverResult(param0: android.database.Cursor): void;
			public getSortOrder(): string;
			public getSelection(): string;
			public deliverResult(param0: any): void;
			public onStartLoading(): void;
			public setSelection(param0: string): void;
			public dump(param0: string, param1: java.io.FileDescriptor, param2: java.io.PrintWriter, param3: native.Array<string>): void;
			public loadInBackground(): any;
			public onCanceled(param0: any): void;
			public getUri(): android.net.Uri;
			public setSortOrder(param0: string): void;
			public setProjection(param0: native.Array<string>): void;
			public setSelectionArgs(param0: native.Array<string>): void;
			public constructor(param0: android.content.Context, param1: android.net.Uri, param2: native.Array<string>, param3: string, param4: native.Array<string>, param5: string);
			public getProjection(): native.Array<string>;
			public constructor(param0: android.content.Context);
			public onStopLoading(): void;
			public onCanceled(param0: android.database.Cursor): void;
			public cancelLoadInBackground(): void;
		}
	}
}

declare module android {
	export module content {
		export class DialogInterface extends java.lang.Object {
			public static class: java.lang.Class<android.content.DialogInterface>;
			/**
			 * Constructs a new instance of the android.content.DialogInterface interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				cancel(): void;
				dismiss(): void;
			});
			public constructor();
			public static BUTTON_POSITIVE: number;
			public static BUTTON_NEUTRAL: number;
			public static BUTTON3: number;
			public static BUTTON2: number;
			public static BUTTON1: number;
			public static BUTTON_NEGATIVE: number;
			public dismiss(): void;
			public cancel(): void;
		}
		export module DialogInterface {
			export class OnCancelListener extends java.lang.Object {
				public static class: java.lang.Class<android.content.DialogInterface.OnCancelListener>;
				/**
				 * Constructs a new instance of the android.content.DialogInterface$OnCancelListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onCancel(param0: android.content.DialogInterface): void;
				});
				public constructor();
				public onCancel(param0: android.content.DialogInterface): void;
			}
			export class OnClickListener extends java.lang.Object {
				public static class: java.lang.Class<android.content.DialogInterface.OnClickListener>;
				/**
				 * Constructs a new instance of the android.content.DialogInterface$OnClickListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onClick(param0: android.content.DialogInterface, param1: number): void;
				});
				public constructor();
				public onClick(param0: android.content.DialogInterface, param1: number): void;
			}
			export class OnDismissListener extends java.lang.Object {
				public static class: java.lang.Class<android.content.DialogInterface.OnDismissListener>;
				/**
				 * Constructs a new instance of the android.content.DialogInterface$OnDismissListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onDismiss(param0: android.content.DialogInterface): void;
				});
				public constructor();
				public onDismiss(param0: android.content.DialogInterface): void;
			}
			export class OnKeyListener extends java.lang.Object {
				public static class: java.lang.Class<android.content.DialogInterface.OnKeyListener>;
				/**
				 * Constructs a new instance of the android.content.DialogInterface$OnKeyListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onKey(param0: android.content.DialogInterface, param1: number, param2: android.view.KeyEvent): boolean;
				});
				public constructor();
				public onKey(param0: android.content.DialogInterface, param1: number, param2: android.view.KeyEvent): boolean;
			}
			export class OnMultiChoiceClickListener extends java.lang.Object {
				public static class: java.lang.Class<android.content.DialogInterface.OnMultiChoiceClickListener>;
				/**
				 * Constructs a new instance of the android.content.DialogInterface$OnMultiChoiceClickListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onClick(param0: android.content.DialogInterface, param1: number, param2: boolean): void;
				});
				public constructor();
				public onClick(param0: android.content.DialogInterface, param1: number, param2: boolean): void;
			}
			export class OnShowListener extends java.lang.Object {
				public static class: java.lang.Class<android.content.DialogInterface.OnShowListener>;
				/**
				 * Constructs a new instance of the android.content.DialogInterface$OnShowListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onShow(param0: android.content.DialogInterface): void;
				});
				public constructor();
				public onShow(param0: android.content.DialogInterface): void;
			}
		}
	}
}

declare module android {
	export module content {
		export class Entity extends java.lang.Object {
			public static class: java.lang.Class<android.content.Entity>;
			public toString(): string;
			public getEntityValues(): android.content.ContentValues;
			public addSubValue(param0: android.net.Uri, param1: android.content.ContentValues): void;
			public getSubValues(): java.util.ArrayList<android.content.Entity.NamedContentValues>;
			public constructor(param0: android.content.ContentValues);
		}
		export module Entity {
			export class NamedContentValues extends java.lang.Object {
				public static class: java.lang.Class<android.content.Entity.NamedContentValues>;
				public uri: android.net.Uri;
				public values: android.content.ContentValues;
				public constructor(param0: android.net.Uri, param1: android.content.ContentValues);
			}
		}
	}
}

declare module android {
	export module content {
		export class EntityIterator extends java.util.Iterator<android.content.Entity> {
			public static class: java.lang.Class<android.content.EntityIterator>;
			/**
			 * Constructs a new instance of the android.content.EntityIterator interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				reset(): void;
				close(): void;
			});
			public constructor();
			public reset(): void;
			public close(): void;
		}
	}
}

declare module android {
	export module content {
		export class Intent extends java.lang.Object implements android.os.Parcelable, java.lang.Cloneable {
			public static class: java.lang.Class<android.content.Intent>;
			public static ACTION_AIRPLANE_MODE_CHANGED: string;
			public static ACTION_ALL_APPS: string;
			public static ACTION_ANSWER: string;
			public static ACTION_APPLICATION_PREFERENCES: string;
			public static ACTION_APPLICATION_RESTRICTIONS_CHANGED: string;
			public static ACTION_APP_ERROR: string;
			public static ACTION_ASSIST: string;
			public static ACTION_ATTACH_DATA: string;
			public static ACTION_BATTERY_CHANGED: string;
			public static ACTION_BATTERY_LOW: string;
			public static ACTION_BATTERY_OKAY: string;
			public static ACTION_BOOT_COMPLETED: string;
			public static ACTION_BUG_REPORT: string;
			public static ACTION_CALL: string;
			public static ACTION_CALL_BUTTON: string;
			public static ACTION_CAMERA_BUTTON: string;
			public static ACTION_CARRIER_SETUP: string;
			public static ACTION_CHOOSER: string;
			public static ACTION_CLOSE_SYSTEM_DIALOGS: string;
			public static ACTION_CONFIGURATION_CHANGED: string;
			public static ACTION_CREATE_DOCUMENT: string;
			public static ACTION_CREATE_SHORTCUT: string;
			public static ACTION_DATE_CHANGED: string;
			public static ACTION_DEFAULT: string;
			public static ACTION_DELETE: string;
			public static ACTION_DEVICE_STORAGE_LOW: string;
			public static ACTION_DEVICE_STORAGE_OK: string;
			public static ACTION_DIAL: string;
			public static ACTION_DOCK_EVENT: string;
			public static ACTION_DREAMING_STARTED: string;
			public static ACTION_DREAMING_STOPPED: string;
			public static ACTION_EDIT: string;
			public static ACTION_EXTERNAL_APPLICATIONS_AVAILABLE: string;
			public static ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE: string;
			public static ACTION_FACTORY_TEST: string;
			public static ACTION_GET_CONTENT: string;
			public static ACTION_GET_RESTRICTION_ENTRIES: string;
			public static ACTION_GTALK_SERVICE_CONNECTED: string;
			public static ACTION_GTALK_SERVICE_DISCONNECTED: string;
			public static ACTION_HEADSET_PLUG: string;
			public static ACTION_INPUT_METHOD_CHANGED: string;
			public static ACTION_INSERT: string;
			public static ACTION_INSERT_OR_EDIT: string;
			public static ACTION_INSTALL_FAILURE: string;
			public static ACTION_INSTALL_PACKAGE: string;
			public static ACTION_LOCALE_CHANGED: string;
			public static ACTION_LOCKED_BOOT_COMPLETED: string;
			public static ACTION_MAIN: string;
			public static ACTION_MANAGED_PROFILE_ADDED: string;
			public static ACTION_MANAGED_PROFILE_AVAILABLE: string;
			public static ACTION_MANAGED_PROFILE_REMOVED: string;
			public static ACTION_MANAGED_PROFILE_UNAVAILABLE: string;
			public static ACTION_MANAGED_PROFILE_UNLOCKED: string;
			public static ACTION_MANAGE_NETWORK_USAGE: string;
			public static ACTION_MANAGE_PACKAGE_STORAGE: string;
			public static ACTION_MEDIA_BAD_REMOVAL: string;
			public static ACTION_MEDIA_BUTTON: string;
			public static ACTION_MEDIA_CHECKING: string;
			public static ACTION_MEDIA_EJECT: string;
			public static ACTION_MEDIA_MOUNTED: string;
			public static ACTION_MEDIA_NOFS: string;
			public static ACTION_MEDIA_REMOVED: string;
			public static ACTION_MEDIA_SCANNER_FINISHED: string;
			public static ACTION_MEDIA_SCANNER_SCAN_FILE: string;
			public static ACTION_MEDIA_SCANNER_STARTED: string;
			public static ACTION_MEDIA_SHARED: string;
			public static ACTION_MEDIA_UNMOUNTABLE: string;
			public static ACTION_MEDIA_UNMOUNTED: string;
			public static ACTION_MY_PACKAGE_REPLACED: string;
			public static ACTION_MY_PACKAGE_SUSPENDED: string;
			public static ACTION_MY_PACKAGE_UNSUSPENDED: string;
			public static ACTION_NEW_OUTGOING_CALL: string;
			public static ACTION_OPEN_DOCUMENT: string;
			public static ACTION_OPEN_DOCUMENT_TREE: string;
			public static ACTION_PACKAGES_SUSPENDED: string;
			public static ACTION_PACKAGES_UNSUSPENDED: string;
			public static ACTION_PACKAGE_ADDED: string;
			public static ACTION_PACKAGE_CHANGED: string;
			public static ACTION_PACKAGE_DATA_CLEARED: string;
			public static ACTION_PACKAGE_FIRST_LAUNCH: string;
			public static ACTION_PACKAGE_FULLY_REMOVED: string;
			public static ACTION_PACKAGE_INSTALL: string;
			public static ACTION_PACKAGE_NEEDS_VERIFICATION: string;
			public static ACTION_PACKAGE_REMOVED: string;
			public static ACTION_PACKAGE_REPLACED: string;
			public static ACTION_PACKAGE_RESTARTED: string;
			public static ACTION_PACKAGE_VERIFIED: string;
			public static ACTION_PASTE: string;
			public static ACTION_PICK: string;
			public static ACTION_PICK_ACTIVITY: string;
			public static ACTION_POWER_CONNECTED: string;
			public static ACTION_POWER_DISCONNECTED: string;
			public static ACTION_POWER_USAGE_SUMMARY: string;
			public static ACTION_PROCESS_TEXT: string;
			public static ACTION_PROVIDER_CHANGED: string;
			public static ACTION_QUICK_CLOCK: string;
			public static ACTION_QUICK_VIEW: string;
			public static ACTION_REBOOT: string;
			public static ACTION_RUN: string;
			public static ACTION_SCREEN_OFF: string;
			public static ACTION_SCREEN_ON: string;
			public static ACTION_SEARCH: string;
			public static ACTION_SEARCH_LONG_PRESS: string;
			public static ACTION_SEND: string;
			public static ACTION_SENDTO: string;
			public static ACTION_SEND_MULTIPLE: string;
			public static ACTION_SET_WALLPAPER: string;
			public static ACTION_SHOW_APP_INFO: string;
			public static ACTION_SHUTDOWN: string;
			public static ACTION_SYNC: string;
			public static ACTION_SYSTEM_TUTORIAL: string;
			public static ACTION_TIMEZONE_CHANGED: string;
			public static ACTION_TIME_CHANGED: string;
			public static ACTION_TIME_TICK: string;
			public static ACTION_UID_REMOVED: string;
			public static ACTION_UMS_CONNECTED: string;
			public static ACTION_UMS_DISCONNECTED: string;
			public static ACTION_UNINSTALL_PACKAGE: string;
			public static ACTION_USER_BACKGROUND: string;
			public static ACTION_USER_FOREGROUND: string;
			public static ACTION_USER_INITIALIZE: string;
			public static ACTION_USER_PRESENT: string;
			public static ACTION_USER_UNLOCKED: string;
			public static ACTION_VIEW: string;
			public static ACTION_VOICE_COMMAND: string;
			public static ACTION_WALLPAPER_CHANGED: string;
			public static ACTION_WEB_SEARCH: string;
			public static CATEGORY_ALTERNATIVE: string;
			public static CATEGORY_APP_BROWSER: string;
			public static CATEGORY_APP_CALCULATOR: string;
			public static CATEGORY_APP_CALENDAR: string;
			public static CATEGORY_APP_CONTACTS: string;
			public static CATEGORY_APP_EMAIL: string;
			public static CATEGORY_APP_GALLERY: string;
			public static CATEGORY_APP_MAPS: string;
			public static CATEGORY_APP_MARKET: string;
			public static CATEGORY_APP_MESSAGING: string;
			public static CATEGORY_APP_MUSIC: string;
			public static CATEGORY_BROWSABLE: string;
			public static CATEGORY_CAR_DOCK: string;
			public static CATEGORY_CAR_MODE: string;
			public static CATEGORY_DEFAULT: string;
			public static CATEGORY_DESK_DOCK: string;
			public static CATEGORY_DEVELOPMENT_PREFERENCE: string;
			public static CATEGORY_EMBED: string;
			public static CATEGORY_FRAMEWORK_INSTRUMENTATION_TEST: string;
			public static CATEGORY_HE_DESK_DOCK: string;
			public static CATEGORY_HOME: string;
			public static CATEGORY_INFO: string;
			public static CATEGORY_LAUNCHER: string;
			public static CATEGORY_LEANBACK_LAUNCHER: string;
			public static CATEGORY_LE_DESK_DOCK: string;
			public static CATEGORY_MONKEY: string;
			public static CATEGORY_OPENABLE: string;
			public static CATEGORY_PREFERENCE: string;
			public static CATEGORY_SAMPLE_CODE: string;
			public static CATEGORY_SELECTED_ALTERNATIVE: string;
			public static CATEGORY_TAB: string;
			public static CATEGORY_TEST: string;
			public static CATEGORY_TYPED_OPENABLE: string;
			public static CATEGORY_UNIT_TEST: string;
			public static CATEGORY_VOICE: string;
			public static CATEGORY_VR_HOME: string;
			public static CREATOR: android.os.Parcelable.Creator<android.content.Intent>;
			public static EXTRA_ALARM_COUNT: string;
			public static EXTRA_ALLOW_MULTIPLE: string;
			public static EXTRA_ALLOW_REPLACE: string;
			public static EXTRA_ALTERNATE_INTENTS: string;
			public static EXTRA_ASSIST_CONTEXT: string;
			public static EXTRA_ASSIST_INPUT_DEVICE_ID: string;
			public static EXTRA_ASSIST_INPUT_HINT_KEYBOARD: string;
			public static EXTRA_ASSIST_PACKAGE: string;
			public static EXTRA_ASSIST_UID: string;
			public static EXTRA_BCC: string;
			public static EXTRA_BUG_REPORT: string;
			public static EXTRA_CC: string;
			public static EXTRA_CHANGED_COMPONENT_NAME: string;
			public static EXTRA_CHANGED_COMPONENT_NAME_LIST: string;
			public static EXTRA_CHANGED_PACKAGE_LIST: string;
			public static EXTRA_CHANGED_UID_LIST: string;
			public static EXTRA_CHOOSER_REFINEMENT_INTENT_SENDER: string;
			public static EXTRA_CHOOSER_TARGETS: string;
			public static EXTRA_CHOSEN_COMPONENT: string;
			public static EXTRA_CHOSEN_COMPONENT_INTENT_SENDER: string;
			public static EXTRA_COMPONENT_NAME: string;
			public static EXTRA_CONTENT_ANNOTATIONS: string;
			public static EXTRA_DATA_REMOVED: string;
			public static EXTRA_DOCK_STATE: string;
			public static EXTRA_DOCK_STATE_CAR: number;
			public static EXTRA_DOCK_STATE_DESK: number;
			public static EXTRA_DOCK_STATE_HE_DESK: number;
			public static EXTRA_DOCK_STATE_LE_DESK: number;
			public static EXTRA_DOCK_STATE_UNDOCKED: number;
			public static EXTRA_DONT_KILL_APP: string;
			public static EXTRA_EMAIL: string;
			public static EXTRA_EXCLUDE_COMPONENTS: string;
			public static EXTRA_FROM_STORAGE: string;
			public static EXTRA_HTML_TEXT: string;
			public static EXTRA_INDEX: string;
			public static EXTRA_INITIAL_INTENTS: string;
			public static EXTRA_INSTALLER_PACKAGE_NAME: string;
			public static EXTRA_INTENT: string;
			public static EXTRA_KEY_EVENT: string;
			public static EXTRA_LOCAL_ONLY: string;
			public static EXTRA_MIME_TYPES: string;
			public static EXTRA_NOT_UNKNOWN_SOURCE: string;
			public static EXTRA_ORIGINATING_URI: string;
			public static EXTRA_PACKAGE_NAME: string;
			public static EXTRA_PHONE_NUMBER: string;
			public static EXTRA_PROCESS_TEXT: string;
			public static EXTRA_PROCESS_TEXT_READONLY: string;
			public static EXTRA_QUICK_VIEW_FEATURES: string;
			public static EXTRA_QUIET_MODE: string;
			public static EXTRA_REFERRER: string;
			public static EXTRA_REFERRER_NAME: string;
			public static EXTRA_REMOTE_INTENT_TOKEN: string;
			public static EXTRA_REPLACEMENT_EXTRAS: string;
			public static EXTRA_REPLACING: string;
			public static EXTRA_RESTRICTIONS_BUNDLE: string;
			public static EXTRA_RESTRICTIONS_INTENT: string;
			public static EXTRA_RESTRICTIONS_LIST: string;
			public static EXTRA_RESULT_RECEIVER: string;
			public static EXTRA_RETURN_RESULT: string;
			public static EXTRA_SHORTCUT_ICON: string;
			public static EXTRA_SHORTCUT_ICON_RESOURCE: string;
			public static EXTRA_SHORTCUT_INTENT: string;
			public static EXTRA_SHORTCUT_NAME: string;
			public static EXTRA_SHUTDOWN_USERSPACE_ONLY: string;
			public static EXTRA_SPLIT_NAME: string;
			public static EXTRA_STREAM: string;
			public static EXTRA_SUBJECT: string;
			public static EXTRA_SUSPENDED_PACKAGE_EXTRAS: string;
			public static EXTRA_TEMPLATE: string;
			public static EXTRA_TEXT: string;
			public static EXTRA_TITLE: string;
			public static EXTRA_UID: string;
			public static EXTRA_USER: string;
			public static FILL_IN_ACTION: number;
			public static FILL_IN_CATEGORIES: number;
			public static FILL_IN_CLIP_DATA: number;
			public static FILL_IN_COMPONENT: number;
			public static FILL_IN_DATA: number;
			public static FILL_IN_PACKAGE: number;
			public static FILL_IN_SELECTOR: number;
			public static FILL_IN_SOURCE_BOUNDS: number;
			public static FLAG_ACTIVITY_BROUGHT_TO_FRONT: number;
			public static FLAG_ACTIVITY_CLEAR_TASK: number;
			public static FLAG_ACTIVITY_CLEAR_TOP: number;
			public static FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET: number;
			public static FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS: number;
			public static FLAG_ACTIVITY_FORWARD_RESULT: number;
			public static FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY: number;
			public static FLAG_ACTIVITY_LAUNCH_ADJACENT: number;
			public static FLAG_ACTIVITY_MATCH_EXTERNAL: number;
			public static FLAG_ACTIVITY_MULTIPLE_TASK: number;
			public static FLAG_ACTIVITY_NEW_DOCUMENT: number;
			public static FLAG_ACTIVITY_NEW_TASK: number;
			public static FLAG_ACTIVITY_NO_ANIMATION: number;
			public static FLAG_ACTIVITY_NO_HISTORY: number;
			public static FLAG_ACTIVITY_NO_USER_ACTION: number;
			public static FLAG_ACTIVITY_PREVIOUS_IS_TOP: number;
			public static FLAG_ACTIVITY_REORDER_TO_FRONT: number;
			public static FLAG_ACTIVITY_RESET_TASK_IF_NEEDED: number;
			public static FLAG_ACTIVITY_RETAIN_IN_RECENTS: number;
			public static FLAG_ACTIVITY_SINGLE_TOP: number;
			public static FLAG_ACTIVITY_TASK_ON_HOME: number;
			public static FLAG_DEBUG_LOG_RESOLUTION: number;
			public static FLAG_EXCLUDE_STOPPED_PACKAGES: number;
			public static FLAG_FROM_BACKGROUND: number;
			public static FLAG_GRANT_PERSISTABLE_URI_PERMISSION: number;
			public static FLAG_GRANT_PREFIX_URI_PERMISSION: number;
			public static FLAG_GRANT_READ_URI_PERMISSION: number;
			public static FLAG_GRANT_WRITE_URI_PERMISSION: number;
			public static FLAG_INCLUDE_STOPPED_PACKAGES: number;
			public static FLAG_RECEIVER_FOREGROUND: number;
			public static FLAG_RECEIVER_NO_ABORT: number;
			public static FLAG_RECEIVER_REGISTERED_ONLY: number;
			public static FLAG_RECEIVER_REPLACE_PENDING: number;
			public static FLAG_RECEIVER_VISIBLE_TO_INSTANT_APPS: number;
			public static METADATA_DOCK_HOME: string;
			public static URI_ALLOW_UNSAFE: number;
			public static URI_ANDROID_APP_SCHEME: number;
			public static URI_INTENT_SCHEME: number;
			public getParcelableExtra(param0: string): android.os.Parcelable;
			public resolveTypeIfNeeded(param0: android.content.ContentResolver): string;
			public filterEquals(param0: android.content.Intent): boolean;
			public getParcelableArrayListExtra(param0: string): java.util.ArrayList<any>;
			public getData(): android.net.Uri;
			public putParcelableArrayListExtra(param0: string, param1: java.util.ArrayList<any>): android.content.Intent;
			public static createChooser(param0: android.content.Intent, param1: string): android.content.Intent;
			public static createChooser(param0: android.content.Intent, param1: string, param2: android.content.IntentSender): android.content.Intent;
			public getScheme(): string;
			public setDataAndNormalize(param0: android.net.Uri): android.content.Intent;
			public setPackage(param0: string): android.content.Intent;
			public setComponent(param0: android.content.ComponentName): android.content.Intent;
			public getSelector(): android.content.Intent;
			public getIntArrayExtra(param0: string): native.Array<number>;
			public resolveActivityInfo(param0: android.content.pm.PackageManager, param1: number): android.content.pm.ActivityInfo;
			public getDoubleExtra(param0: string, param1: number): number;
			public getCharSequenceArrayExtra(param0: string): native.Array<string>;
			public fillIn(param0: android.content.Intent, param1: number): number;
			public getDoubleArrayExtra(param0: string): native.Array<number>;
			public static makeRestartActivityTask(param0: android.content.ComponentName): android.content.Intent;
			public setExtrasClassLoader(param0: java.lang.ClassLoader): void;
			public constructor();
			public putExtra(param0: string, param1: string): android.content.Intent;
			public resolveType(param0: android.content.Context): string;
			public getStringArrayExtra(param0: string): native.Array<string>;
			public clone(): any;
			public describeContents(): number;
			public setAction(param0: string): android.content.Intent;
			public getSourceBounds(): android.graphics.Rect;
			public getExtras(): android.os.Bundle;
			public putCharSequenceArrayListExtra(param0: string, param1: java.util.ArrayList<string>): android.content.Intent;
			public removeCategory(param0: string): void;
			public setClassName(param0: string, param1: string): android.content.Intent;
			public putExtras(param0: android.content.Intent): android.content.Intent;
			public setFlags(param0: number): android.content.Intent;
			public constructor(param0: android.content.Context, param1: java.lang.Class<any>);
			public getCategories(): java.util.Set<string>;
			public getPackage(): string;
			public getClipData(): android.content.ClipData;
			public getByteArrayExtra(param0: string): native.Array<number>;
			public getCharSequenceArrayListExtra(param0: string): java.util.ArrayList<string>;
			public getBooleanArrayExtra(param0: string): native.Array<boolean>;
			public getLongArrayExtra(param0: string): native.Array<number>;
			public constructor(param0: string, param1: android.net.Uri, param2: android.content.Context, param3: java.lang.Class<any>);
			public setType(param0: string): android.content.Intent;
			public removeExtra(param0: string): void;
			public addCategory(param0: string): android.content.Intent;
			public setDataAndTypeAndNormalize(param0: android.net.Uri, param1: string): android.content.Intent;
			public getCharArrayExtra(param0: string): native.Array<string>;
			public getShortExtra(param0: string, param1: number): number;
			public toUri(param0: number): string;
			public getFloatExtra(param0: string, param1: number): number;
			public resolveType(param0: android.content.ContentResolver): string;
			public getIntExtra(param0: string, param1: number): number;
			public getAction(): string;
			public getComponent(): android.content.ComponentName;
			public getDataString(): string;
			public putExtra(param0: string, param1: native.Array<number>): android.content.Intent;
			public putIntegerArrayListExtra(param0: string, param1: java.util.ArrayList<java.lang.Integer>): android.content.Intent;
			public putExtra(param0: string, param1: native.Array<boolean>): android.content.Intent;
			public constructor(param0: android.content.Intent);
			public putExtra(param0: string, param1: java.io.Serializable): android.content.Intent;
			public putExtra(param0: string, param1: native.Array<android.os.Parcelable>): android.content.Intent;
			public removeFlags(param0: number): void;
			public getFloatArrayExtra(param0: string): native.Array<number>;
			public readFromParcel(param0: android.os.Parcel): void;
			public filterHashCode(): number;
			public static getIntentOld(param0: string): android.content.Intent;
			public getSerializableExtra(param0: string): java.io.Serializable;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public putExtras(param0: android.os.Bundle): android.content.Intent;
			public static parseUri(param0: string, param1: number): android.content.Intent;
			public getType(): string;
			public putExtra(param0: string, param1: native.Array<string>): android.content.Intent;
			public constructor(param0: string);
			public hasExtra(param0: string): boolean;
			public getFlags(): number;
			public setSelector(param0: android.content.Intent): void;
			public replaceExtras(param0: android.content.Intent): android.content.Intent;
			public setClassName(param0: android.content.Context, param1: string): android.content.Intent;
			public static makeMainActivity(param0: android.content.ComponentName): android.content.Intent;
			public putStringArrayListExtra(param0: string, param1: java.util.ArrayList<string>): android.content.Intent;
			public addFlags(param0: number): android.content.Intent;
			public getStringExtra(param0: string): string;
			public constructor(param0: string, param1: android.net.Uri);
			public static parseIntent(param0: android.content.res.Resources, param1: org.xmlpull.v1.XmlPullParser, param2: android.util.AttributeSet): android.content.Intent;
			public static makeMainSelectorActivity(param0: string, param1: string): android.content.Intent;
			public getParcelableArrayExtra(param0: string): native.Array<android.os.Parcelable>;
			public putExtra(param0: string, param1: boolean): android.content.Intent;
			public getLongExtra(param0: string, param1: number): number;
			public getByteExtra(param0: string, param1: number): number;
			/** @deprecated */
			public static getIntent(param0: string): android.content.Intent;
			public getCharSequenceExtra(param0: string): string;
			public replaceExtras(param0: android.os.Bundle): android.content.Intent;
			public setSourceBounds(param0: android.graphics.Rect): void;
			public getShortArrayExtra(param0: string): native.Array<number>;
			public hasFileDescriptors(): boolean;
			public putExtra(param0: string, param1: android.os.Bundle): android.content.Intent;
			/** @deprecated */
			public toURI(): string;
			public static normalizeMimeType(param0: string): string;
			public hasCategory(param0: string): boolean;
			public getStringArrayListExtra(param0: string): java.util.ArrayList<string>;
			public setClipData(param0: android.content.ClipData): void;
			public setDataAndType(param0: android.net.Uri, param1: string): android.content.Intent;
			public putExtra(param0: string, param1: number): android.content.Intent;
			public getBooleanExtra(param0: string, param1: boolean): boolean;
			public setData(param0: android.net.Uri): android.content.Intent;
			public resolveActivity(param0: android.content.pm.PackageManager): android.content.ComponentName;
			public getIntegerArrayListExtra(param0: string): java.util.ArrayList<java.lang.Integer>;
			public setTypeAndNormalize(param0: string): android.content.Intent;
			public setClass(param0: android.content.Context, param1: java.lang.Class<any>): android.content.Intent;
			public toString(): string;
			public getCharExtra(param0: string, param1: string): string;
			public cloneFilter(): android.content.Intent;
			public getBundleExtra(param0: string): android.os.Bundle;
			public putExtra(param0: string, param1: android.os.Parcelable): android.content.Intent;
		}
		export module Intent {
			export class FilterComparison extends java.lang.Object {
				public static class: java.lang.Class<android.content.Intent.FilterComparison>;
				public getIntent(): android.content.Intent;
				public hashCode(): number;
				public equals(param0: any): boolean;
				public constructor(param0: android.content.Intent);
			}
			export class ShortcutIconResource extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.content.Intent.ShortcutIconResource>;
				public static CREATOR: android.os.Parcelable.Creator<android.content.Intent.ShortcutIconResource>;
				public packageName: string;
				public resourceName: string;
				public static fromContext(param0: android.content.Context, param1: number): android.content.Intent.ShortcutIconResource;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public toString(): string;
				public constructor();
			}
		}
	}
}

declare module android {
	export module content {
		export class IntentFilter extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.content.IntentFilter>;
			public static CREATOR: android.os.Parcelable.Creator<android.content.IntentFilter>;
			public static MATCH_ADJUSTMENT_MASK: number;
			public static MATCH_ADJUSTMENT_NORMAL: number;
			public static MATCH_CATEGORY_EMPTY: number;
			public static MATCH_CATEGORY_HOST: number;
			public static MATCH_CATEGORY_MASK: number;
			public static MATCH_CATEGORY_PATH: number;
			public static MATCH_CATEGORY_PORT: number;
			public static MATCH_CATEGORY_SCHEME: number;
			public static MATCH_CATEGORY_SCHEME_SPECIFIC_PART: number;
			public static MATCH_CATEGORY_TYPE: number;
			public static NO_MATCH_ACTION: number;
			public static NO_MATCH_CATEGORY: number;
			public static NO_MATCH_DATA: number;
			public static NO_MATCH_TYPE: number;
			public static SYSTEM_HIGH_PRIORITY: number;
			public static SYSTEM_LOW_PRIORITY: number;
			public getDataScheme(param0: number): string;
			public typesIterator(): java.util.Iterator<string>;
			public getDataAuthority(param0: number): android.content.IntentFilter.AuthorityEntry;
			public getDataType(param0: number): string;
			public getCategory(param0: number): string;
			public matchCategories(param0: java.util.Set<string>): string;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public pathsIterator(): java.util.Iterator<android.os.PatternMatcher>;
			public constructor(param0: string);
			public addDataAuthority(param0: string, param1: string): void;
			public countActions(): number;
			public countDataSchemeSpecificParts(): number;
			public actionsIterator(): java.util.Iterator<string>;
			public categoriesIterator(): java.util.Iterator<string>;
			public hasAction(param0: string): boolean;
			public match(param0: string, param1: string, param2: string, param3: android.net.Uri, param4: java.util.Set<string>, param5: string): number;
			public constructor();
			public hasDataType(param0: string): boolean;
			public schemeSpecificPartsIterator(): java.util.Iterator<android.os.PatternMatcher>;
			public countDataAuthorities(): number;
			public readFromXml(param0: org.xmlpull.v1.XmlPullParser): void;
			public countDataTypes(): number;
			public writeToXml(param0: org.xmlpull.v1.XmlSerializer): void;
			public hasDataSchemeSpecificPart(param0: string): boolean;
			public describeContents(): number;
			public addDataType(param0: string): void;
			public addAction(param0: string): void;
			public addDataScheme(param0: string): void;
			public match(param0: android.content.ContentResolver, param1: android.content.Intent, param2: boolean, param3: string): number;
			public matchDataAuthority(param0: android.net.Uri): number;
			public constructor(param0: android.content.IntentFilter);
			public constructor(param0: string, param1: string);
			public getAction(param0: number): string;
			public hasDataAuthority(param0: android.net.Uri): boolean;
			public addCategory(param0: string): void;
			public addDataPath(param0: string, param1: number): void;
			public countCategories(): number;
			public getDataSchemeSpecificPart(param0: number): android.os.PatternMatcher;
			public schemesIterator(): java.util.Iterator<string>;
			public countDataSchemes(): number;
			public hasDataScheme(param0: string): boolean;
			public countDataPaths(): number;
			public matchAction(param0: string): boolean;
			public hasCategory(param0: string): boolean;
			public addDataSchemeSpecificPart(param0: string, param1: number): void;
			public matchData(param0: string, param1: string, param2: android.net.Uri): number;
			public static create(param0: string, param1: string): android.content.IntentFilter;
			public getPriority(): number;
			public setPriority(param0: number): void;
			public getDataPath(param0: number): android.os.PatternMatcher;
			public dump(param0: android.util.Printer, param1: string): void;
			public hasDataPath(param0: string): boolean;
			public authoritiesIterator(): java.util.Iterator<android.content.IntentFilter.AuthorityEntry>;
		}
		export module IntentFilter {
			export class AuthorityEntry extends java.lang.Object {
				public static class: java.lang.Class<android.content.IntentFilter.AuthorityEntry>;
				public match(param0: android.net.Uri): number;
				public getPort(): number;
				public getHost(): string;
				public equals(param0: any): boolean;
				public constructor(param0: string, param1: string);
			}
			export class MalformedMimeTypeException extends android.util.AndroidException {
				public static class: java.lang.Class<android.content.IntentFilter.MalformedMimeTypeException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Exception);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module android {
	export module content {
		export class IntentSender extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.content.IntentSender>;
			public static CREATOR: android.os.Parcelable.Creator<android.content.IntentSender>;
			public equals(param0: any): boolean;
			public static readIntentSenderOrNullFromParcel(param0: android.os.Parcel): android.content.IntentSender;
			public sendIntent(param0: android.content.Context, param1: number, param2: android.content.Intent, param3: android.content.IntentSender.OnFinished, param4: android.os.Handler, param5: string): void;
			/** @deprecated */
			public getTargetPackage(): string;
			public sendIntent(param0: android.content.Context, param1: number, param2: android.content.Intent, param3: android.content.IntentSender.OnFinished, param4: android.os.Handler): void;
			public getCreatorPackage(): string;
			public toString(): string;
			public static writeIntentSenderOrNullToParcel(param0: android.content.IntentSender, param1: android.os.Parcel): void;
			public getCreatorUserHandle(): android.os.UserHandle;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getCreatorUid(): number;
			public hashCode(): number;
		}
		export module IntentSender {
			export class OnFinished extends java.lang.Object {
				public static class: java.lang.Class<android.content.IntentSender.OnFinished>;
				/**
				 * Constructs a new instance of the android.content.IntentSender$OnFinished interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onSendFinished(param0: android.content.IntentSender, param1: android.content.Intent, param2: number, param3: string, param4: android.os.Bundle): void;
				});
				public constructor();
				public onSendFinished(param0: android.content.IntentSender, param1: android.content.Intent, param2: number, param3: string, param4: android.os.Bundle): void;
			}
			export class SendIntentException extends android.util.AndroidException {
				public static class: java.lang.Class<android.content.IntentSender.SendIntentException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Exception);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module android {
	export module content {
		export class Loader<D>  extends java.lang.Object {
			public static class: java.lang.Class<android.content.Loader<any>>;
			public unregisterOnLoadCanceledListener(param0: android.content.Loader.OnLoadCanceledListener<D>): void;
			public rollbackContentChanged(): void;
			public registerListener(param0: number, param1: android.content.Loader.OnLoadCompleteListener<D>): void;
			public onStartLoading(): void;
			public onForceLoad(): void;
			public isReset(): boolean;
			public forceLoad(): void;
			public getId(): number;
			public reset(): void;
			public getContext(): android.content.Context;
			public onStopLoading(): void;
			public abandon(): void;
			public isAbandoned(): boolean;
			public startLoading(): void;
			public deliverResult(param0: D): void;
			public onCancelLoad(): boolean;
			public unregisterListener(param0: android.content.Loader.OnLoadCompleteListener<D>): void;
			public commitContentChanged(): void;
			public onReset(): void;
			public isStarted(): boolean;
			public dataToString(param0: D): string;
			public registerOnLoadCanceledListener(param0: android.content.Loader.OnLoadCanceledListener<D>): void;
			public cancelLoad(): boolean;
			public dump(param0: string, param1: java.io.FileDescriptor, param2: java.io.PrintWriter, param3: native.Array<string>): void;
			public deliverCancellation(): void;
			public toString(): string;
			public stopLoading(): void;
			public constructor(param0: android.content.Context);
			public onContentChanged(): void;
			public onAbandon(): void;
			public takeContentChanged(): boolean;
		}
		export module Loader {
			export class ForceLoadContentObserver extends android.database.ContentObserver {
				public static class: java.lang.Class<android.content.Loader.ForceLoadContentObserver>;
				public constructor(param0: android.content.Loader<any>);
				public deliverSelfNotifications(): boolean;
				public onChange(param0: boolean, param1: android.net.Uri): void;
				public constructor(param0: android.os.Handler);
				public onChange(param0: boolean): void;
			}
			export class OnLoadCanceledListener<D>  extends java.lang.Object {
				public static class: java.lang.Class<android.content.Loader.OnLoadCanceledListener<any>>;
				/**
				 * Constructs a new instance of the android.content.Loader$OnLoadCanceledListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onLoadCanceled(param0: android.content.Loader<D>): void;
				});
				public constructor();
				public onLoadCanceled(param0: android.content.Loader<D>): void;
			}
			export class OnLoadCompleteListener<D>  extends java.lang.Object {
				public static class: java.lang.Class<android.content.Loader.OnLoadCompleteListener<any>>;
				/**
				 * Constructs a new instance of the android.content.Loader$OnLoadCompleteListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onLoadComplete(param0: android.content.Loader<D>, param1: D): void;
				});
				public constructor();
				public onLoadComplete(param0: android.content.Loader<D>, param1: D): void;
			}
		}
	}
}

declare module android {
	export module content {
		export class MutableContextWrapper extends android.content.ContextWrapper {
			public static class: java.lang.Class<android.content.MutableContextWrapper>;
			public constructor(param0: android.content.Context);
			public constructor();
			public setBaseContext(param0: android.content.Context): void;
		}
	}
}

declare module android {
	export module content {
		export class OperationApplicationException extends java.lang.Exception {
			public static class: java.lang.Class<android.content.OperationApplicationException>;
			public constructor(param0: java.lang.Throwable);
			public getNumSuccessfulYieldPoints(): number;
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: number);
			public constructor(param0: number);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module android {
	export module content {
		export class PeriodicSync extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.content.PeriodicSync>;
			public static CREATOR: android.os.Parcelable.Creator<android.content.PeriodicSync>;
			public account: android.accounts.Account;
			public authority: string;
			public extras: android.os.Bundle;
			public period: number;
			public equals(param0: any): boolean;
			public toString(): string;
			public describeContents(): number;
			public constructor(param0: android.accounts.Account, param1: string, param2: android.os.Bundle, param3: number);
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
		}
	}
}

declare module android {
	export module content {
		export class QuickViewConstants extends java.lang.Object {
			public static class: java.lang.Class<android.content.QuickViewConstants>;
			public static FEATURE_DELETE: string;
			public static FEATURE_DOWNLOAD: string;
			public static FEATURE_EDIT: string;
			public static FEATURE_PRINT: string;
			public static FEATURE_SEND: string;
			public static FEATURE_VIEW: string;
		}
	}
}

declare module android {
	export module content {
		export class ReceiverCallNotAllowedException extends android.util.AndroidRuntimeException {
			public static class: java.lang.Class<android.content.ReceiverCallNotAllowedException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
			public constructor(param0: java.lang.Exception);
		}
	}
}

declare module android {
	export module content {
		export class RestrictionEntry extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.content.RestrictionEntry>;
			public static CREATOR: android.os.Parcelable.Creator<android.content.RestrictionEntry>;
			public static TYPE_BOOLEAN: number;
			public static TYPE_BUNDLE: number;
			public static TYPE_BUNDLE_ARRAY: number;
			public static TYPE_CHOICE: number;
			public static TYPE_INTEGER: number;
			public static TYPE_MULTI_SELECT: number;
			public static TYPE_NULL: number;
			public static TYPE_STRING: number;
			public getType(): number;
			public setChoiceValues(param0: android.content.Context, param1: number): void;
			public equals(param0: any): boolean;
			public setTitle(param0: string): void;
			public constructor(param0: number, param1: string);
			public setType(param0: number): void;
			public getChoiceValues(): native.Array<string>;
			public setChoiceEntries(param0: android.content.Context, param1: number): void;
			public constructor(param0: string, param1: string);
			public getSelectedString(): string;
			public setSelectedState(param0: boolean): void;
			public setAllSelectedStrings(param0: native.Array<string>): void;
			public constructor(param0: string, param1: number);
			public constructor(param0: android.os.Parcel);
			public getKey(): string;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public constructor(param0: string, param1: boolean);
			public setSelectedString(param0: string): void;
			public getAllSelectedStrings(): native.Array<string>;
			public setIntValue(param0: number): void;
			public getSelectedState(): boolean;
			public getTitle(): string;
			public getChoiceEntries(): native.Array<string>;
			public static createBundleArrayEntry(param0: string, param1: native.Array<android.content.RestrictionEntry>): android.content.RestrictionEntry;
			public setDescription(param0: string): void;
			public setChoiceEntries(param0: native.Array<string>): void;
			public constructor(param0: string, param1: native.Array<string>);
			public setRestrictions(param0: native.Array<android.content.RestrictionEntry>): void;
			public getIntValue(): number;
			public toString(): string;
			public static createBundleEntry(param0: string, param1: native.Array<android.content.RestrictionEntry>): android.content.RestrictionEntry;
			public describeContents(): number;
			public getDescription(): string;
			public setChoiceValues(param0: native.Array<string>): void;
			public getRestrictions(): native.Array<android.content.RestrictionEntry>;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module content {
		export class RestrictionsManager extends java.lang.Object {
			public static class: java.lang.Class<android.content.RestrictionsManager>;
			public static ACTION_PERMISSION_RESPONSE_RECEIVED: string;
			public static ACTION_REQUEST_LOCAL_APPROVAL: string;
			public static ACTION_REQUEST_PERMISSION: string;
			public static EXTRA_PACKAGE_NAME: string;
			public static EXTRA_REQUEST_BUNDLE: string;
			public static EXTRA_REQUEST_ID: string;
			public static EXTRA_REQUEST_TYPE: string;
			public static EXTRA_RESPONSE_BUNDLE: string;
			public static META_DATA_APP_RESTRICTIONS: string;
			public static REQUEST_KEY_APPROVE_LABEL: string;
			public static REQUEST_KEY_DATA: string;
			public static REQUEST_KEY_DENY_LABEL: string;
			public static REQUEST_KEY_ICON: string;
			public static REQUEST_KEY_ID: string;
			public static REQUEST_KEY_MESSAGE: string;
			public static REQUEST_KEY_NEW_REQUEST: string;
			public static REQUEST_KEY_TITLE: string;
			public static REQUEST_TYPE_APPROVAL: string;
			public static RESPONSE_KEY_ERROR_CODE: string;
			public static RESPONSE_KEY_MESSAGE: string;
			public static RESPONSE_KEY_RESPONSE_TIMESTAMP: string;
			public static RESPONSE_KEY_RESULT: string;
			public static RESULT_APPROVED: number;
			public static RESULT_DENIED: number;
			public static RESULT_ERROR: number;
			public static RESULT_ERROR_BAD_REQUEST: number;
			public static RESULT_ERROR_INTERNAL: number;
			public static RESULT_ERROR_NETWORK: number;
			public static RESULT_NO_RESPONSE: number;
			public static RESULT_UNKNOWN_REQUEST: number;
			public notifyPermissionResponse(param0: string, param1: any): void;
			public hasRestrictionsProvider(): boolean;
			public getManifestRestrictions(param0: string): java.util.List<android.content.RestrictionEntry>;
			public getApplicationRestrictions(): android.os.Bundle;
			public createLocalApprovalIntent(): android.content.Intent;
			public static convertRestrictionsToBundle(param0: java.util.List<android.content.RestrictionEntry>): android.os.Bundle;
			public requestPermission(param0: string, param1: string, param2: any): void;
		}
	}
}

declare module android {
	export module content {
		export class SearchRecentSuggestionsProvider extends android.content.ContentProvider {
			public static class: java.lang.Class<android.content.SearchRecentSuggestionsProvider>;
			public static DATABASE_MODE_2LINES: number;
			public static DATABASE_MODE_QUERIES: number;
			public onCreate(): boolean;
			public query(param0: android.net.Uri, param1: native.Array<string>, param2: string, param3: native.Array<string>, param4: string, param5: android.os.CancellationSignal): android.database.Cursor;
			public query(param0: android.net.Uri, param1: native.Array<string>, param2: android.os.Bundle, param3: android.os.CancellationSignal): android.database.Cursor;
			public onTrimMemory(param0: number): void;
			public update(param0: android.net.Uri, param1: android.content.ContentValues, param2: string, param3: native.Array<string>): number;
			public setupSuggestions(param0: string, param1: number): void;
			public delete(param0: android.net.Uri, param1: string, param2: native.Array<string>): number;
			public query(param0: android.net.Uri, param1: native.Array<string>, param2: string, param3: native.Array<string>, param4: string): android.database.Cursor;
			public constructor();
			public insert(param0: android.net.Uri, param1: android.content.ContentValues): android.net.Uri;
			public getType(param0: android.net.Uri): string;
		}
	}
}

declare module android {
	export module content {
		export class ServiceConnection extends java.lang.Object {
			public static class: java.lang.Class<android.content.ServiceConnection>;
			/**
			 * Constructs a new instance of the android.content.ServiceConnection interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				onServiceConnected(param0: android.content.ComponentName, param1: android.os.IBinder): void;
				onServiceDisconnected(param0: android.content.ComponentName): void;
				onBindingDied(param0: android.content.ComponentName): void;
				onNullBinding(param0: android.content.ComponentName): void;
			});
			public constructor();
			public onBindingDied(param0: android.content.ComponentName): void;
			public onServiceDisconnected(param0: android.content.ComponentName): void;
			public onNullBinding(param0: android.content.ComponentName): void;
			public onServiceConnected(param0: android.content.ComponentName, param1: android.os.IBinder): void;
		}
	}
}

declare module android {
	export module content {
		export class SharedPreferences extends java.lang.Object {
			public static class: java.lang.Class<android.content.SharedPreferences>;
			/**
			 * Constructs a new instance of the android.content.SharedPreferences interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				getAll(): java.util.Map<string,any>;
				getString(param0: string, param1: string): string;
				getStringSet(param0: string, param1: java.util.Set<string>): java.util.Set<string>;
				getInt(param0: string, param1: number): number;
				getLong(param0: string, param1: number): number;
				getFloat(param0: string, param1: number): number;
				getBoolean(param0: string, param1: boolean): boolean;
				contains(param0: string): boolean;
				edit(): android.content.SharedPreferences.Editor;
				registerOnSharedPreferenceChangeListener(param0: android.content.SharedPreferences.OnSharedPreferenceChangeListener): void;
				unregisterOnSharedPreferenceChangeListener(param0: android.content.SharedPreferences.OnSharedPreferenceChangeListener): void;
			});
			public constructor();
			public getInt(param0: string, param1: number): number;
			public getFloat(param0: string, param1: number): number;
			public contains(param0: string): boolean;
			public getBoolean(param0: string, param1: boolean): boolean;
			public getStringSet(param0: string, param1: java.util.Set<string>): java.util.Set<string>;
			public getLong(param0: string, param1: number): number;
			public edit(): android.content.SharedPreferences.Editor;
			public getString(param0: string, param1: string): string;
			public registerOnSharedPreferenceChangeListener(param0: android.content.SharedPreferences.OnSharedPreferenceChangeListener): void;
			public getAll(): java.util.Map<string,any>;
			public unregisterOnSharedPreferenceChangeListener(param0: android.content.SharedPreferences.OnSharedPreferenceChangeListener): void;
		}
		export module SharedPreferences {
			export class Editor extends java.lang.Object {
				public static class: java.lang.Class<android.content.SharedPreferences.Editor>;
				/**
				 * Constructs a new instance of the android.content.SharedPreferences$Editor interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					putString(param0: string, param1: string): android.content.SharedPreferences.Editor;
					putStringSet(param0: string, param1: java.util.Set<string>): android.content.SharedPreferences.Editor;
					putInt(param0: string, param1: number): android.content.SharedPreferences.Editor;
					putLong(param0: string, param1: number): android.content.SharedPreferences.Editor;
					putFloat(param0: string, param1: number): android.content.SharedPreferences.Editor;
					putBoolean(param0: string, param1: boolean): android.content.SharedPreferences.Editor;
					remove(param0: string): android.content.SharedPreferences.Editor;
					clear(): android.content.SharedPreferences.Editor;
					commit(): boolean;
					apply(): void;
				});
				public constructor();
				public commit(): boolean;
				public apply(): void;
				public putString(param0: string, param1: string): android.content.SharedPreferences.Editor;
				public putLong(param0: string, param1: number): android.content.SharedPreferences.Editor;
				public putBoolean(param0: string, param1: boolean): android.content.SharedPreferences.Editor;
				public clear(): android.content.SharedPreferences.Editor;
				public putFloat(param0: string, param1: number): android.content.SharedPreferences.Editor;
				public remove(param0: string): android.content.SharedPreferences.Editor;
				public putStringSet(param0: string, param1: java.util.Set<string>): android.content.SharedPreferences.Editor;
				public putInt(param0: string, param1: number): android.content.SharedPreferences.Editor;
			}
			export class OnSharedPreferenceChangeListener extends java.lang.Object {
				public static class: java.lang.Class<android.content.SharedPreferences.OnSharedPreferenceChangeListener>;
				/**
				 * Constructs a new instance of the android.content.SharedPreferences$OnSharedPreferenceChangeListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onSharedPreferenceChanged(param0: android.content.SharedPreferences, param1: string): void;
				});
				public constructor();
				public onSharedPreferenceChanged(param0: android.content.SharedPreferences, param1: string): void;
			}
		}
	}
}

declare module android {
	export module content {
		export class SyncAdapterType extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.content.SyncAdapterType>;
			public static CREATOR: android.os.Parcelable.Creator<android.content.SyncAdapterType>;
			public accountType: string;
			public authority: string;
			public isKey: boolean;
			public equals(param0: any): boolean;
			public supportsUploading(): boolean;
			public isAlwaysSyncable(): boolean;
			public allowParallelSyncs(): boolean;
			public toString(): string;
			public constructor(param0: android.os.Parcel);
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public constructor(param0: string, param1: string, param2: boolean, param3: boolean);
			public getSettingsActivity(): string;
			public isUserVisible(): boolean;
			public static newKey(param0: string, param1: string): android.content.SyncAdapterType;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module content {
		export class SyncContext extends java.lang.Object {
			public static class: java.lang.Class<android.content.SyncContext>;
			public onFinished(param0: android.content.SyncResult): void;
			public getSyncContextBinder(): android.os.IBinder;
		}
	}
}

declare module android {
	export module content {
		export class SyncInfo extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.content.SyncInfo>;
			public account: android.accounts.Account;
			public authority: string;
			public startTime: number;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
		}
	}
}

declare module android {
	export module content {
		export class SyncRequest extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.content.SyncRequest>;
			public static CREATOR: android.os.Parcelable.Creator<android.content.SyncRequest>;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
		}
		export module SyncRequest {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.content.SyncRequest.Builder>;
				public setExtras(param0: android.os.Bundle): android.content.SyncRequest.Builder;
				public setIgnoreSettings(param0: boolean): android.content.SyncRequest.Builder;
				public setManual(param0: boolean): android.content.SyncRequest.Builder;
				public setNoRetry(param0: boolean): android.content.SyncRequest.Builder;
				public setDisallowMetered(param0: boolean): android.content.SyncRequest.Builder;
				public setSyncAdapter(param0: android.accounts.Account, param1: string): android.content.SyncRequest.Builder;
				public build(): android.content.SyncRequest;
				public constructor();
				public setRequiresCharging(param0: boolean): android.content.SyncRequest.Builder;
				public setIgnoreBackoff(param0: boolean): android.content.SyncRequest.Builder;
				public syncOnce(): android.content.SyncRequest.Builder;
				public syncPeriodic(param0: number, param1: number): android.content.SyncRequest.Builder;
				public setExpedited(param0: boolean): android.content.SyncRequest.Builder;
			}
		}
	}
}

declare module android {
	export module content {
		export class SyncResult extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.content.SyncResult>;
			public static ALREADY_IN_PROGRESS: android.content.SyncResult;
			public static CREATOR: android.os.Parcelable.Creator<android.content.SyncResult>;
			public databaseError: boolean;
			public delayUntil: number;
			public fullSyncRequested: boolean;
			public moreRecordsToGet: boolean;
			public partialSyncUnavailable: boolean;
			public stats: android.content.SyncStats;
			public syncAlreadyInProgress: boolean;
			public tooManyDeletions: boolean;
			public tooManyRetries: boolean;
			public clear(): void;
			public hasSoftError(): boolean;
			public toString(): string;
			public madeSomeProgress(): boolean;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public constructor();
			public hasHardError(): boolean;
			public hasError(): boolean;
			public toDebugString(): string;
		}
	}
}

declare module android {
	export module content {
		export class SyncStats extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.content.SyncStats>;
			public static CREATOR: android.os.Parcelable.Creator<android.content.SyncStats>;
			public numAuthExceptions: number;
			public numConflictDetectedExceptions: number;
			public numDeletes: number;
			public numEntries: number;
			public numInserts: number;
			public numIoExceptions: number;
			public numParseExceptions: number;
			public numSkippedEntries: number;
			public numUpdates: number;
			public clear(): void;
			public toString(): string;
			public constructor(param0: android.os.Parcel);
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public constructor();
		}
	}
}

declare module android {
	export module content {
		export class SyncStatusObserver extends java.lang.Object {
			public static class: java.lang.Class<android.content.SyncStatusObserver>;
			/**
			 * Constructs a new instance of the android.content.SyncStatusObserver interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				onStatusChanged(param0: number): void;
			});
			public constructor();
			public onStatusChanged(param0: number): void;
		}
	}
}

declare module android {
	export module content {
		export class UriMatcher extends java.lang.Object {
			public static class: java.lang.Class<android.content.UriMatcher>;
			public static NO_MATCH: number;
			public match(param0: android.net.Uri): number;
			public addURI(param0: string, param1: string, param2: number): void;
			public constructor(param0: number);
		}
	}
}

declare module android {
	export module content {
		export class UriPermission extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.content.UriPermission>;
			public static CREATOR: android.os.Parcelable.Creator<android.content.UriPermission>;
			public static INVALID_TIME: number;
			public getUri(): android.net.Uri;
			public toString(): string;
			public getPersistedTime(): number;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public isReadPermission(): boolean;
			public isWritePermission(): boolean;
		}
	}
}

declare module android {
	export module content {
		export module pm {
			export class ActivityInfo extends android.content.pm.ComponentInfo implements android.os.Parcelable {
				public static class: java.lang.Class<android.content.pm.ActivityInfo>;
				public static COLOR_MODE_DEFAULT: number;
				public static COLOR_MODE_HDR: number;
				public static COLOR_MODE_WIDE_COLOR_GAMUT: number;
				public static CONFIG_COLOR_MODE: number;
				public static CONFIG_DENSITY: number;
				public static CONFIG_FONT_SCALE: number;
				public static CONFIG_KEYBOARD: number;
				public static CONFIG_KEYBOARD_HIDDEN: number;
				public static CONFIG_LAYOUT_DIRECTION: number;
				public static CONFIG_LOCALE: number;
				public static CONFIG_MCC: number;
				public static CONFIG_MNC: number;
				public static CONFIG_NAVIGATION: number;
				public static CONFIG_ORIENTATION: number;
				public static CONFIG_SCREEN_LAYOUT: number;
				public static CONFIG_SCREEN_SIZE: number;
				public static CONFIG_SMALLEST_SCREEN_SIZE: number;
				public static CONFIG_TOUCHSCREEN: number;
				public static CONFIG_UI_MODE: number;
				public static CREATOR: android.os.Parcelable.Creator<android.content.pm.ActivityInfo>;
				public static DOCUMENT_LAUNCH_ALWAYS: number;
				public static DOCUMENT_LAUNCH_INTO_EXISTING: number;
				public static DOCUMENT_LAUNCH_NEVER: number;
				public static DOCUMENT_LAUNCH_NONE: number;
				public static FLAG_ALLOW_TASK_REPARENTING: number;
				public static FLAG_ALWAYS_RETAIN_TASK_STATE: number;
				public static FLAG_AUTO_REMOVE_FROM_RECENTS: number;
				public static FLAG_CLEAR_TASK_ON_LAUNCH: number;
				public static FLAG_ENABLE_VR_MODE: number;
				public static FLAG_EXCLUDE_FROM_RECENTS: number;
				public static FLAG_FINISH_ON_CLOSE_SYSTEM_DIALOGS: number;
				public static FLAG_FINISH_ON_TASK_LAUNCH: number;
				public static FLAG_HARDWARE_ACCELERATED: number;
				public static FLAG_IMMERSIVE: number;
				public static FLAG_MULTIPROCESS: number;
				public static FLAG_NO_HISTORY: number;
				public static FLAG_RELINQUISH_TASK_IDENTITY: number;
				public static FLAG_RESUME_WHILE_PAUSING: number;
				public static FLAG_SINGLE_USER: number;
				public static FLAG_STATE_NOT_NEEDED: number;
				public static LAUNCH_MULTIPLE: number;
				public static LAUNCH_SINGLE_INSTANCE: number;
				public static LAUNCH_SINGLE_TASK: number;
				public static LAUNCH_SINGLE_TOP: number;
				public static PERSIST_ACROSS_REBOOTS: number;
				public static PERSIST_NEVER: number;
				public static PERSIST_ROOT_ONLY: number;
				public static SCREEN_ORIENTATION_BEHIND: number;
				public static SCREEN_ORIENTATION_FULL_SENSOR: number;
				public static SCREEN_ORIENTATION_FULL_USER: number;
				public static SCREEN_ORIENTATION_LANDSCAPE: number;
				public static SCREEN_ORIENTATION_LOCKED: number;
				public static SCREEN_ORIENTATION_NOSENSOR: number;
				public static SCREEN_ORIENTATION_PORTRAIT: number;
				public static SCREEN_ORIENTATION_REVERSE_LANDSCAPE: number;
				public static SCREEN_ORIENTATION_REVERSE_PORTRAIT: number;
				public static SCREEN_ORIENTATION_SENSOR: number;
				public static SCREEN_ORIENTATION_SENSOR_LANDSCAPE: number;
				public static SCREEN_ORIENTATION_SENSOR_PORTRAIT: number;
				public static SCREEN_ORIENTATION_UNSPECIFIED: number;
				public static SCREEN_ORIENTATION_USER: number;
				public static SCREEN_ORIENTATION_USER_LANDSCAPE: number;
				public static SCREEN_ORIENTATION_USER_PORTRAIT: number;
				public static UIOPTION_SPLIT_ACTION_BAR_WHEN_NARROW: number;
				public colorMode: number;
				public configChanges: number;
				public documentLaunchMode: number;
				public flags: number;
				public launchMode: number;
				public maxRecents: number;
				public parentActivityName: string;
				public permission: string;
				public persistableMode: number;
				public screenOrientation: number;
				public softInputMode: number;
				public targetActivity: string;
				public taskAffinity: string;
				public theme: number;
				public uiOptions: number;
				public windowLayout: android.content.pm.ActivityInfo.WindowLayout;
				public getThemeResource(): number;
				public constructor(param0: android.os.Parcel);
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public dump(param0: android.util.Printer, param1: string): void;
				public describeContents(): number;
				public constructor(param0: android.content.pm.ActivityInfo);
				public constructor(param0: android.content.pm.PackageItemInfo);
				public toString(): string;
				public constructor(param0: android.content.pm.ComponentInfo);
				public constructor();
			}
			export module ActivityInfo {
				export class WindowLayout extends java.lang.Object {
					public static class: java.lang.Class<android.content.pm.ActivityInfo.WindowLayout>;
					public gravity: number;
					public height: number;
					public heightFraction: number;
					public minHeight: number;
					public minWidth: number;
					public width: number;
					public widthFraction: number;
					public constructor(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number);
				}
			}
		}
	}
}

declare module android {
	export module content {
		export module pm {
			export class ApplicationInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable {
				public static class: java.lang.Class<android.content.pm.ApplicationInfo>;
				public static CATEGORY_AUDIO: number;
				public static CATEGORY_GAME: number;
				public static CATEGORY_IMAGE: number;
				public static CATEGORY_MAPS: number;
				public static CATEGORY_NEWS: number;
				public static CATEGORY_PRODUCTIVITY: number;
				public static CATEGORY_SOCIAL: number;
				public static CATEGORY_UNDEFINED: number;
				public static CATEGORY_VIDEO: number;
				public static CREATOR: android.os.Parcelable.Creator<android.content.pm.ApplicationInfo>;
				public static FLAG_ALLOW_BACKUP: number;
				public static FLAG_ALLOW_CLEAR_USER_DATA: number;
				public static FLAG_ALLOW_TASK_REPARENTING: number;
				public static FLAG_DEBUGGABLE: number;
				public static FLAG_EXTERNAL_STORAGE: number;
				public static FLAG_EXTRACT_NATIVE_LIBS: number;
				public static FLAG_FACTORY_TEST: number;
				public static FLAG_FULL_BACKUP_ONLY: number;
				public static FLAG_HARDWARE_ACCELERATED: number;
				public static FLAG_HAS_CODE: number;
				public static FLAG_INSTALLED: number;
				public static FLAG_IS_DATA_ONLY: number;
				public static FLAG_IS_GAME: number;
				public static FLAG_KILL_AFTER_RESTORE: number;
				public static FLAG_LARGE_HEAP: number;
				public static FLAG_MULTIARCH: number;
				public static FLAG_PERSISTENT: number;
				public static FLAG_RESIZEABLE_FOR_SCREENS: number;
				public static FLAG_RESTORE_ANY_VERSION: number;
				public static FLAG_STOPPED: number;
				public static FLAG_SUPPORTS_LARGE_SCREENS: number;
				public static FLAG_SUPPORTS_NORMAL_SCREENS: number;
				public static FLAG_SUPPORTS_RTL: number;
				public static FLAG_SUPPORTS_SCREEN_DENSITIES: number;
				public static FLAG_SUPPORTS_SMALL_SCREENS: number;
				public static FLAG_SUPPORTS_XLARGE_SCREENS: number;
				public static FLAG_SUSPENDED: number;
				public static FLAG_SYSTEM: number;
				public static FLAG_TEST_ONLY: number;
				public static FLAG_UPDATED_SYSTEM_APP: number;
				public static FLAG_USES_CLEARTEXT_TRAFFIC: number;
				public static FLAG_VM_SAFE_MODE: number;
				public appComponentFactory: string;
				public backupAgentName: string;
				public category: number;
				public className: string;
				public compatibleWidthLimitDp: number;
				public dataDir: string;
				public descriptionRes: number;
				public deviceProtectedDataDir: string;
				public enabled: boolean;
				public flags: number;
				public largestWidthLimitDp: number;
				public manageSpaceActivityName: string;
				public minSdkVersion: number;
				public nativeLibraryDir: string;
				public permission: string;
				public processName: string;
				public publicSourceDir: string;
				public requiresSmallestWidthDp: number;
				public sharedLibraryFiles: native.Array<string>;
				public sourceDir: string;
				public splitNames: native.Array<string>;
				public splitPublicSourceDirs: native.Array<string>;
				public splitSourceDirs: native.Array<string>;
				public storageUuid: java.util.UUID;
				public targetSdkVersion: number;
				public taskAffinity: string;
				public theme: number;
				public uiOptions: number;
				public uid: number;
				public loadDescription(param0: android.content.pm.PackageManager): string;
				public constructor(param0: android.os.Parcel);
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public constructor(param0: android.content.pm.ApplicationInfo);
				public static getCategoryTitle(param0: android.content.Context, param1: number): string;
				public dump(param0: android.util.Printer, param1: string): void;
				public describeContents(): number;
				public constructor(param0: android.content.pm.PackageItemInfo);
				public toString(): string;
				public isVirtualPreload(): boolean;
				public constructor();
			}
			export module ApplicationInfo {
				export class DisplayNameComparator extends java.util.Comparator<android.content.pm.ApplicationInfo> {
					public static class: java.lang.Class<android.content.pm.ApplicationInfo.DisplayNameComparator>;
					public compare(param0: any, param1: any): number;
					public static comparing(param0: any /* any*/): java.util.Comparator<any>;
					public constructor(param0: android.content.pm.PackageManager);
					public static nullsFirst(param0: java.util.Comparator<any>): java.util.Comparator<any>;
					public thenComparingDouble(param0: any /* any*/): java.util.Comparator<any>;
					public static comparingLong(param0: any /* any*/): java.util.Comparator<any>;
					public compare(param0: android.content.pm.ApplicationInfo, param1: android.content.pm.ApplicationInfo): number;
					public thenComparing(param0: java.util.Comparator<any>): java.util.Comparator<any>;
					public thenComparingInt(param0: any /* any*/): java.util.Comparator<any>;
					public static reverseOrder(): java.util.Comparator<any>;
					public thenComparingLong(param0: any /* any*/): java.util.Comparator<any>;
					public static nullsLast(param0: java.util.Comparator<any>): java.util.Comparator<any>;
					public static comparingDouble(param0: any /* any*/): java.util.Comparator<any>;
					public equals(param0: any): boolean;
					public static comparing(param0: any /* any*/, param1: java.util.Comparator<any>): java.util.Comparator<any>;
					public thenComparing(param0: any /* any*/, param1: java.util.Comparator<any>): java.util.Comparator<any>;
					public reversed(): java.util.Comparator<any>;
					public static naturalOrder(): java.util.Comparator<any>;
					public thenComparing(param0: any /* any*/): java.util.Comparator<any>;
					public static comparingInt(param0: any /* any*/): java.util.Comparator<any>;
				}
			}
		}
	}
}

declare module android {
	export module content {
		export module pm {
			export class ChangedPackages extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.content.pm.ChangedPackages>;
				public static CREATOR: android.os.Parcelable.Creator<android.content.pm.ChangedPackages>;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getSequenceNumber(): number;
				public getPackageNames(): java.util.List<string>;
				public constructor(param0: number, param1: java.util.List<string>);
			}
		}
	}
}

declare module android {
	export module content {
		export module pm {
			export class ComponentInfo extends android.content.pm.PackageItemInfo {
				public static class: java.lang.Class<android.content.pm.ComponentInfo>;
				public applicationInfo: android.content.pm.ApplicationInfo;
				public descriptionRes: number;
				public directBootAware: boolean;
				public enabled: boolean;
				public exported: boolean;
				public processName: string;
				public splitName: string;
				public getLogoResource(): number;
				public constructor(param0: android.os.Parcel);
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getBannerResource(): number;
				public isEnabled(): boolean;
				public getIconResource(): number;
				public dumpBack(param0: android.util.Printer, param1: string): void;
				public constructor(param0: android.content.pm.PackageItemInfo);
				public constructor(param0: android.content.pm.ComponentInfo);
				public dumpFront(param0: android.util.Printer, param1: string): void;
				public constructor();
			}
		}
	}
}

declare module android {
	export module content {
		export module pm {
			export class ConfigurationInfo extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.content.pm.ConfigurationInfo>;
				public static CREATOR: android.os.Parcelable.Creator<android.content.pm.ConfigurationInfo>;
				public static GL_ES_VERSION_UNDEFINED: number;
				public static INPUT_FEATURE_FIVE_WAY_NAV: number;
				public static INPUT_FEATURE_HARD_KEYBOARD: number;
				public reqGlEsVersion: number;
				public reqInputFeatures: number;
				public reqKeyboardType: number;
				public reqNavigation: number;
				public reqTouchScreen: number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getGlEsVersion(): string;
				public describeContents(): number;
				public toString(): string;
				public constructor(param0: android.content.pm.ConfigurationInfo);
				public constructor();
			}
		}
	}
}

declare module android {
	export module content {
		export module pm {
			export class CrossProfileApps extends java.lang.Object {
				public static class: java.lang.Class<android.content.pm.CrossProfileApps>;
				public getProfileSwitchingLabel(param0: android.os.UserHandle): string;
				public getTargetUserProfiles(): java.util.List<android.os.UserHandle>;
				public startMainActivity(param0: android.content.ComponentName, param1: android.os.UserHandle): void;
				public getProfileSwitchingIconDrawable(param0: android.os.UserHandle): android.graphics.drawable.Drawable;
			}
		}
	}
}

declare module android {
	export module content {
		export module pm {
			export class FeatureGroupInfo extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.content.pm.FeatureGroupInfo>;
				public static CREATOR: android.os.Parcelable.Creator<android.content.pm.FeatureGroupInfo>;
				public features: native.Array<android.content.pm.FeatureInfo>;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public constructor(param0: android.content.pm.FeatureGroupInfo);
				public constructor();
			}
		}
	}
}

declare module android {
	export module content {
		export module pm {
			export class FeatureInfo extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.content.pm.FeatureInfo>;
				public static CREATOR: android.os.Parcelable.Creator<android.content.pm.FeatureInfo>;
				public static FLAG_REQUIRED: number;
				public static GL_ES_VERSION_UNDEFINED: number;
				public flags: number;
				public name: string;
				public reqGlEsVersion: number;
				public version: number;
				public constructor(param0: android.content.pm.FeatureInfo);
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getGlEsVersion(): string;
				public describeContents(): number;
				public toString(): string;
				public constructor();
			}
		}
	}
}

declare module android {
	export module content {
		export module pm {
			export class InstrumentationInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable {
				public static class: java.lang.Class<android.content.pm.InstrumentationInfo>;
				public static CREATOR: android.os.Parcelable.Creator<android.content.pm.InstrumentationInfo>;
				public dataDir: string;
				public functionalTest: boolean;
				public handleProfiling: boolean;
				public publicSourceDir: string;
				public sourceDir: string;
				public splitNames: native.Array<string>;
				public splitPublicSourceDirs: native.Array<string>;
				public splitSourceDirs: native.Array<string>;
				public targetPackage: string;
				public targetProcesses: string;
				public constructor(param0: android.os.Parcel);
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public constructor(param0: android.content.pm.InstrumentationInfo);
				public describeContents(): number;
				public constructor(param0: android.content.pm.PackageItemInfo);
				public toString(): string;
				public constructor();
			}
		}
	}
}

declare module android {
	export module content {
		export module pm {
			export class LabeledIntent extends android.content.Intent {
				public static class: java.lang.Class<android.content.pm.LabeledIntent>;
				public static CREATOR: android.os.Parcelable.Creator<android.content.pm.LabeledIntent>;
				public constructor(param0: android.content.Context, param1: java.lang.Class<any>);
				public constructor(param0: string, param1: string, param2: number);
				public loadLabel(param0: android.content.pm.PackageManager): string;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public loadIcon(param0: android.content.pm.PackageManager): android.graphics.drawable.Drawable;
				public constructor(param0: string, param1: number, param2: number);
				public constructor(param0: android.content.Intent);
				public getIconResource(): number;
				public getSourcePackage(): string;
				public constructor(param0: string);
				public constructor();
				public constructor(param0: android.content.Intent, param1: string, param2: string, param3: number);
				public getNonLocalizedLabel(): string;
				public getLabelResource(): number;
				public describeContents(): number;
				public constructor(param0: android.content.Intent, param1: string, param2: number, param3: number);
				public readFromParcel(param0: android.os.Parcel): void;
				public constructor(param0: string, param1: android.net.Uri, param2: android.content.Context, param3: java.lang.Class<any>);
				public constructor(param0: string, param1: android.net.Uri);
			}
		}
	}
}

declare module android {
	export module content {
		export module pm {
			export class LauncherActivityInfo extends java.lang.Object {
				public static class: java.lang.Class<android.content.pm.LauncherActivityInfo>;
				public getLabel(): string;
				public getBadgedIcon(param0: number): android.graphics.drawable.Drawable;
				public getApplicationInfo(): android.content.pm.ApplicationInfo;
				public getFirstInstallTime(): number;
				public getComponentName(): android.content.ComponentName;
				public getName(): string;
				public getIcon(param0: number): android.graphics.drawable.Drawable;
				public getUser(): android.os.UserHandle;
			}
		}
	}
}

declare module android {
	export module content {
		export module pm {
			export class LauncherApps extends java.lang.Object {
				public static class: java.lang.Class<android.content.pm.LauncherApps>;
				public static ACTION_CONFIRM_PIN_APPWIDGET: string;
				public static ACTION_CONFIRM_PIN_SHORTCUT: string;
				public static EXTRA_PIN_ITEM_REQUEST: string;
				public registerCallback(param0: android.content.pm.LauncherApps.Callback, param1: android.os.Handler): void;
				public getProfiles(): java.util.List<android.os.UserHandle>;
				public hasShortcutHostPermission(): boolean;
				public startMainActivity(param0: android.content.ComponentName, param1: android.os.UserHandle, param2: android.graphics.Rect, param3: android.os.Bundle): void;
				public getActivityList(param0: string, param1: android.os.UserHandle): java.util.List<android.content.pm.LauncherActivityInfo>;
				public isActivityEnabled(param0: android.content.ComponentName, param1: android.os.UserHandle): boolean;
				public getPinItemRequest(param0: android.content.Intent): android.content.pm.LauncherApps.PinItemRequest;
				public isPackageEnabled(param0: string, param1: android.os.UserHandle): boolean;
				public pinShortcuts(param0: string, param1: java.util.List<string>, param2: android.os.UserHandle): void;
				public startShortcut(param0: any, param1: android.graphics.Rect, param2: android.os.Bundle): void;
				public getApplicationInfo(param0: string, param1: number, param2: android.os.UserHandle): android.content.pm.ApplicationInfo;
				public getShortcuts(param0: android.content.pm.LauncherApps.ShortcutQuery, param1: android.os.UserHandle): java.util.List<any>;
				public registerCallback(param0: android.content.pm.LauncherApps.Callback): void;
				public getShortcutConfigActivityIntent(param0: android.content.pm.LauncherActivityInfo): android.content.IntentSender;
				public getSuspendedPackageLauncherExtras(param0: string, param1: android.os.UserHandle): android.os.Bundle;
				public unregisterCallback(param0: android.content.pm.LauncherApps.Callback): void;
				public resolveActivity(param0: android.content.Intent, param1: android.os.UserHandle): android.content.pm.LauncherActivityInfo;
				public getShortcutConfigActivityList(param0: string, param1: android.os.UserHandle): java.util.List<android.content.pm.LauncherActivityInfo>;
				public startAppDetailsActivity(param0: android.content.ComponentName, param1: android.os.UserHandle, param2: android.graphics.Rect, param3: android.os.Bundle): void;
				public getShortcutIconDrawable(param0: any, param1: number): android.graphics.drawable.Drawable;
				public getShortcutBadgedIconDrawable(param0: any, param1: number): android.graphics.drawable.Drawable;
				public startShortcut(param0: string, param1: string, param2: android.graphics.Rect, param3: android.os.Bundle, param4: android.os.UserHandle): void;
			}
			export module LauncherApps {
				export abstract class Callback extends java.lang.Object {
					public static class: java.lang.Class<android.content.pm.LauncherApps.Callback>;
					public onPackagesSuspended(param0: native.Array<string>, param1: android.os.UserHandle, param2: android.os.Bundle): void;
					public constructor();
					public onPackagesUnavailable(param0: native.Array<string>, param1: android.os.UserHandle, param2: boolean): void;
					public onShortcutsChanged(param0: string, param1: java.util.List<any>, param2: android.os.UserHandle): void;
					public onPackagesSuspended(param0: native.Array<string>, param1: android.os.UserHandle): void;
					public onPackageRemoved(param0: string, param1: android.os.UserHandle): void;
					public onPackagesAvailable(param0: native.Array<string>, param1: android.os.UserHandle, param2: boolean): void;
					public onPackageChanged(param0: string, param1: android.os.UserHandle): void;
					public onPackageAdded(param0: string, param1: android.os.UserHandle): void;
					public onPackagesUnsuspended(param0: native.Array<string>, param1: android.os.UserHandle): void;
				}
				export class PinItemRequest extends java.lang.Object implements android.os.Parcelable {
					public static class: java.lang.Class<android.content.pm.LauncherApps.PinItemRequest>;
					public static CREATOR: android.os.Parcelable.Creator<android.content.pm.LauncherApps.PinItemRequest>;
					public static REQUEST_TYPE_APPWIDGET: number;
					public static REQUEST_TYPE_SHORTCUT: number;
					public getRequestType(): number;
					public getShortcutInfo(): any;
					public accept(): boolean;
					public isValid(): boolean;
					public describeContents(): number;
					public getAppWidgetProviderInfo(param0: android.content.Context): android.appwidget.AppWidgetProviderInfo;
					public getExtras(): android.os.Bundle;
					public accept(param0: android.os.Bundle): boolean;
					public writeToParcel(param0: android.os.Parcel, param1: number): void;
				}
				export class ShortcutQuery extends java.lang.Object {
					public static class: java.lang.Class<android.content.pm.LauncherApps.ShortcutQuery>;
					public static FLAG_GET_KEY_FIELDS_ONLY: number;
					public static FLAG_MATCH_DYNAMIC: number;
					public static FLAG_MATCH_MANIFEST: number;
					public static FLAG_MATCH_PINNED: number;
					public static FLAG_MATCH_PINNED_BY_ANY_LAUNCHER: number;
					public constructor();
					public setShortcutIds(param0: java.util.List<string>): android.content.pm.LauncherApps.ShortcutQuery;
					public setActivity(param0: android.content.ComponentName): android.content.pm.LauncherApps.ShortcutQuery;
					public setQueryFlags(param0: number): android.content.pm.LauncherApps.ShortcutQuery;
					public setPackage(param0: string): android.content.pm.LauncherApps.ShortcutQuery;
					public setChangedSince(param0: number): android.content.pm.LauncherApps.ShortcutQuery;
				}
			}
		}
	}
}

declare module android {
	export module content {
		export module pm {
			export class PackageInfo extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.content.pm.PackageInfo>;
				public static CREATOR: android.os.Parcelable.Creator<android.content.pm.PackageInfo>;
				public static INSTALL_LOCATION_AUTO: number;
				public static INSTALL_LOCATION_INTERNAL_ONLY: number;
				public static INSTALL_LOCATION_PREFER_EXTERNAL: number;
				public static REQUESTED_PERMISSION_GRANTED: number;
				public activities: native.Array<android.content.pm.ActivityInfo>;
				public applicationInfo: android.content.pm.ApplicationInfo;
				public baseRevisionCode: number;
				public configPreferences: native.Array<android.content.pm.ConfigurationInfo>;
				public featureGroups: native.Array<android.content.pm.FeatureGroupInfo>;
				public firstInstallTime: number;
				public gids: native.Array<number>;
				public installLocation: number;
				public instrumentation: native.Array<android.content.pm.InstrumentationInfo>;
				public lastUpdateTime: number;
				public packageName: string;
				public permissions: native.Array<android.content.pm.PermissionInfo>;
				public providers: native.Array<android.content.pm.ProviderInfo>;
				public receivers: native.Array<android.content.pm.ActivityInfo>;
				public reqFeatures: native.Array<android.content.pm.FeatureInfo>;
				public requestedPermissions: native.Array<string>;
				public requestedPermissionsFlags: native.Array<number>;
				public services: native.Array<android.content.pm.ServiceInfo>;
				public sharedUserId: string;
				public sharedUserLabel: number;
				public signatures: native.Array<android.content.pm.Signature>;
				public signingInfo: android.content.pm.SigningInfo;
				public splitNames: native.Array<string>;
				public splitRevisionCodes: native.Array<number>;
				public versionCode: number;
				public versionName: string;
				public setLongVersionCode(param0: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public toString(): string;
				public getLongVersionCode(): number;
				public constructor();
			}
		}
	}
}

declare module android {
	export module content {
		export module pm {
			export class PackageInstaller extends java.lang.Object {
				public static class: java.lang.Class<android.content.pm.PackageInstaller>;
				public static ACTION_SESSION_COMMITTED: string;
				public static ACTION_SESSION_DETAILS: string;
				public static EXTRA_OTHER_PACKAGE_NAME: string;
				public static EXTRA_PACKAGE_NAME: string;
				public static EXTRA_SESSION: string;
				public static EXTRA_SESSION_ID: string;
				public static EXTRA_STATUS: string;
				public static EXTRA_STATUS_MESSAGE: string;
				public static EXTRA_STORAGE_PATH: string;
				public static STATUS_FAILURE: number;
				public static STATUS_FAILURE_ABORTED: number;
				public static STATUS_FAILURE_BLOCKED: number;
				public static STATUS_FAILURE_CONFLICT: number;
				public static STATUS_FAILURE_INCOMPATIBLE: number;
				public static STATUS_FAILURE_INVALID: number;
				public static STATUS_FAILURE_STORAGE: number;
				public static STATUS_PENDING_USER_ACTION: number;
				public static STATUS_SUCCESS: number;
				public updateSessionAppIcon(param0: number, param1: android.graphics.Bitmap): void;
				public registerSessionCallback(param0: android.content.pm.PackageInstaller.SessionCallback): void;
				public uninstall(param0: android.content.pm.VersionedPackage, param1: android.content.IntentSender): void;
				public getMySessions(): java.util.List<android.content.pm.PackageInstaller.SessionInfo>;
				public getAllSessions(): java.util.List<android.content.pm.PackageInstaller.SessionInfo>;
				public updateSessionAppLabel(param0: number, param1: string): void;
				public unregisterSessionCallback(param0: android.content.pm.PackageInstaller.SessionCallback): void;
				public abandonSession(param0: number): void;
				public createSession(param0: android.content.pm.PackageInstaller.SessionParams): number;
				public registerSessionCallback(param0: android.content.pm.PackageInstaller.SessionCallback, param1: android.os.Handler): void;
				public uninstall(param0: string, param1: android.content.IntentSender): void;
				public openSession(param0: number): android.content.pm.PackageInstaller.Session;
				public getSessionInfo(param0: number): android.content.pm.PackageInstaller.SessionInfo;
			}
			export module PackageInstaller {
				export class Session extends java.lang.Object implements java.io.Closeable {
					public static class: java.lang.Class<android.content.pm.PackageInstaller.Session>;
					public commit(param0: android.content.IntentSender): void;
					public setStagingProgress(param0: number): void;
					public transfer(param0: string): void;
					public openRead(param0: string): java.io.InputStream;
					public close(): void;
					public fsync(param0: java.io.OutputStream): void;
					public removeSplit(param0: string): void;
					public getNames(): native.Array<string>;
					public abandon(): void;
					public openWrite(param0: string, param1: number, param2: number): java.io.OutputStream;
				}
				export abstract class SessionCallback extends java.lang.Object {
					public static class: java.lang.Class<android.content.pm.PackageInstaller.SessionCallback>;
					public onBadgingChanged(param0: number): void;
					public onCreated(param0: number): void;
					public constructor();
					public onActiveChanged(param0: number, param1: boolean): void;
					public onProgressChanged(param0: number, param1: number): void;
					public onFinished(param0: number, param1: boolean): void;
				}
				export class SessionInfo extends java.lang.Object implements android.os.Parcelable {
					public static class: java.lang.Class<android.content.pm.PackageInstaller.SessionInfo>;
					public static CREATOR: android.os.Parcelable.Creator<android.content.pm.PackageInstaller.SessionInfo>;
					public getAppPackageName(): string;
					public getAppIcon(): android.graphics.Bitmap;
					public getInstallLocation(): number;
					public describeContents(): number;
					public createDetailsIntent(): android.content.Intent;
					public getSize(): number;
					public isSealed(): boolean;
					public getOriginatingUid(): number;
					public getInstallReason(): number;
					public getInstallerPackageName(): string;
					public getProgress(): number;
					public isActive(): boolean;
					public getOriginatingUri(): android.net.Uri;
					public getAppLabel(): string;
					public getSessionId(): number;
					public getMode(): number;
					public getReferrerUri(): android.net.Uri;
					public writeToParcel(param0: android.os.Parcel, param1: number): void;
				}
				export class SessionParams extends java.lang.Object implements android.os.Parcelable {
					public static class: java.lang.Class<android.content.pm.PackageInstaller.SessionParams>;
					public static CREATOR: android.os.Parcelable.Creator<android.content.pm.PackageInstaller.SessionParams>;
					public static MODE_FULL_INSTALL: number;
					public static MODE_INHERIT_EXISTING: number;
					public setReferrerUri(param0: android.net.Uri): void;
					public setSize(param0: number): void;
					public setAppIcon(param0: android.graphics.Bitmap): void;
					public describeContents(): number;
					public setInstallLocation(param0: number): void;
					public setOriginatingUid(param0: number): void;
					public setAppLabel(param0: string): void;
					public setOriginatingUri(param0: android.net.Uri): void;
					public setInstallReason(param0: number): void;
					public constructor(param0: number);
					public setAppPackageName(param0: string): void;
					public writeToParcel(param0: android.os.Parcel, param1: number): void;
				}
			}
		}
	}
}

declare module android {
	export module content {
		export module pm {
			export class PackageItemInfo extends java.lang.Object {
				public static class: java.lang.Class<android.content.pm.PackageItemInfo>;
				public banner: number;
				public icon: number;
				public labelRes: number;
				public logo: number;
				public metaData: android.os.Bundle;
				public name: string;
				public nonLocalizedLabel: string;
				public packageName: string;
				public loadUnbadgedIcon(param0: android.content.pm.PackageManager): android.graphics.drawable.Drawable;
				public constructor(param0: android.os.Parcel);
				public loadLabel(param0: android.content.pm.PackageManager): string;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public loadIcon(param0: android.content.pm.PackageManager): android.graphics.drawable.Drawable;
				public loadLogo(param0: android.content.pm.PackageManager): android.graphics.drawable.Drawable;
				public dumpBack(param0: android.util.Printer, param1: string): void;
				public constructor(param0: android.content.pm.PackageItemInfo);
				public loadXmlMetaData(param0: android.content.pm.PackageManager, param1: string): android.content.res.XmlResourceParser;
				public loadBanner(param0: android.content.pm.PackageManager): android.graphics.drawable.Drawable;
				public dumpFront(param0: android.util.Printer, param1: string): void;
				public constructor();
			}
			export module PackageItemInfo {
				export class DisplayNameComparator extends java.util.Comparator<android.content.pm.PackageItemInfo> {
					public static class: java.lang.Class<android.content.pm.PackageItemInfo.DisplayNameComparator>;
					public compare(param0: any, param1: any): number;
					public static comparing(param0: any /* any*/): java.util.Comparator<any>;
					public constructor(param0: android.content.pm.PackageManager);
					public static nullsFirst(param0: java.util.Comparator<any>): java.util.Comparator<any>;
					public thenComparingDouble(param0: any /* any*/): java.util.Comparator<any>;
					public static comparingLong(param0: any /* any*/): java.util.Comparator<any>;
					public thenComparing(param0: java.util.Comparator<any>): java.util.Comparator<any>;
					public thenComparingInt(param0: any /* any*/): java.util.Comparator<any>;
					public static reverseOrder(): java.util.Comparator<any>;
					public thenComparingLong(param0: any /* any*/): java.util.Comparator<any>;
					public static nullsLast(param0: java.util.Comparator<any>): java.util.Comparator<any>;
					public static comparingDouble(param0: any /* any*/): java.util.Comparator<any>;
					public equals(param0: any): boolean;
					public compare(param0: android.content.pm.PackageItemInfo, param1: android.content.pm.PackageItemInfo): number;
					public static comparing(param0: any /* any*/, param1: java.util.Comparator<any>): java.util.Comparator<any>;
					public thenComparing(param0: any /* any*/, param1: java.util.Comparator<any>): java.util.Comparator<any>;
					public reversed(): java.util.Comparator<any>;
					public static naturalOrder(): java.util.Comparator<any>;
					public thenComparing(param0: any /* any*/): java.util.Comparator<any>;
					public static comparingInt(param0: any /* any*/): java.util.Comparator<any>;
				}
			}
		}
	}
}

declare module android {
	export module content {
		export module pm {
			export abstract class PackageManager extends java.lang.Object {
				public static class: java.lang.Class<android.content.pm.PackageManager>;
				public static CERT_INPUT_RAW_X509: number;
				public static CERT_INPUT_SHA256: number;
				public static COMPONENT_ENABLED_STATE_DEFAULT: number;
				public static COMPONENT_ENABLED_STATE_DISABLED: number;
				public static COMPONENT_ENABLED_STATE_DISABLED_UNTIL_USED: number;
				public static COMPONENT_ENABLED_STATE_DISABLED_USER: number;
				public static COMPONENT_ENABLED_STATE_ENABLED: number;
				public static DONT_KILL_APP: number;
				public static EXTRA_VERIFICATION_ID: string;
				public static EXTRA_VERIFICATION_RESULT: string;
				public static FEATURE_ACTIVITIES_ON_SECONDARY_DISPLAYS: string;
				public static FEATURE_APP_WIDGETS: string;
				public static FEATURE_AUDIO_LOW_LATENCY: string;
				public static FEATURE_AUDIO_OUTPUT: string;
				public static FEATURE_AUDIO_PRO: string;
				public static FEATURE_AUTOFILL: string;
				public static FEATURE_AUTOMOTIVE: string;
				public static FEATURE_BACKUP: string;
				public static FEATURE_BLUETOOTH: string;
				public static FEATURE_BLUETOOTH_LE: string;
				public static FEATURE_CAMERA: string;
				public static FEATURE_CAMERA_ANY: string;
				public static FEATURE_CAMERA_AR: string;
				public static FEATURE_CAMERA_AUTOFOCUS: string;
				public static FEATURE_CAMERA_CAPABILITY_MANUAL_POST_PROCESSING: string;
				public static FEATURE_CAMERA_CAPABILITY_MANUAL_SENSOR: string;
				public static FEATURE_CAMERA_CAPABILITY_RAW: string;
				public static FEATURE_CAMERA_EXTERNAL: string;
				public static FEATURE_CAMERA_FLASH: string;
				public static FEATURE_CAMERA_FRONT: string;
				public static FEATURE_CAMERA_LEVEL_FULL: string;
				public static FEATURE_CANT_SAVE_STATE: string;
				public static FEATURE_COMPANION_DEVICE_SETUP: string;
				public static FEATURE_CONNECTION_SERVICE: string;
				public static FEATURE_CONSUMER_IR: string;
				public static FEATURE_DEVICE_ADMIN: string;
				public static FEATURE_EMBEDDED: string;
				public static FEATURE_ETHERNET: string;
				public static FEATURE_FAKETOUCH: string;
				public static FEATURE_FAKETOUCH_MULTITOUCH_DISTINCT: string;
				public static FEATURE_FAKETOUCH_MULTITOUCH_JAZZHAND: string;
				public static FEATURE_FINGERPRINT: string;
				public static FEATURE_FREEFORM_WINDOW_MANAGEMENT: string;
				public static FEATURE_GAMEPAD: string;
				public static FEATURE_HIFI_SENSORS: string;
				public static FEATURE_HOME_SCREEN: string;
				public static FEATURE_INPUT_METHODS: string;
				public static FEATURE_LEANBACK: string;
				public static FEATURE_LEANBACK_ONLY: string;
				public static FEATURE_LIVE_TV: string;
				public static FEATURE_LIVE_WALLPAPER: string;
				public static FEATURE_LOCATION: string;
				public static FEATURE_LOCATION_GPS: string;
				public static FEATURE_LOCATION_NETWORK: string;
				public static FEATURE_MANAGED_USERS: string;
				public static FEATURE_MICROPHONE: string;
				public static FEATURE_MIDI: string;
				public static FEATURE_NFC: string;
				public static FEATURE_NFC_HOST_CARD_EMULATION: string;
				public static FEATURE_NFC_HOST_CARD_EMULATION_NFCF: string;
				public static FEATURE_OPENGLES_EXTENSION_PACK: string;
				public static FEATURE_PC: string;
				public static FEATURE_PICTURE_IN_PICTURE: string;
				public static FEATURE_PRINTING: string;
				public static FEATURE_RAM_LOW: string;
				public static FEATURE_RAM_NORMAL: string;
				public static FEATURE_SCREEN_LANDSCAPE: string;
				public static FEATURE_SCREEN_PORTRAIT: string;
				public static FEATURE_SECURELY_REMOVES_USERS: string;
				public static FEATURE_SENSOR_ACCELEROMETER: string;
				public static FEATURE_SENSOR_AMBIENT_TEMPERATURE: string;
				public static FEATURE_SENSOR_BAROMETER: string;
				public static FEATURE_SENSOR_COMPASS: string;
				public static FEATURE_SENSOR_GYROSCOPE: string;
				public static FEATURE_SENSOR_HEART_RATE: string;
				public static FEATURE_SENSOR_HEART_RATE_ECG: string;
				public static FEATURE_SENSOR_LIGHT: string;
				public static FEATURE_SENSOR_PROXIMITY: string;
				public static FEATURE_SENSOR_RELATIVE_HUMIDITY: string;
				public static FEATURE_SENSOR_STEP_COUNTER: string;
				public static FEATURE_SENSOR_STEP_DETECTOR: string;
				public static FEATURE_SIP: string;
				public static FEATURE_SIP_VOIP: string;
				public static FEATURE_STRONGBOX_KEYSTORE: string;
				public static FEATURE_TELEPHONY: string;
				public static FEATURE_TELEPHONY_CDMA: string;
				public static FEATURE_TELEPHONY_EUICC: string;
				public static FEATURE_TELEPHONY_GSM: string;
				public static FEATURE_TELEPHONY_MBMS: string;
				public static FEATURE_TELEVISION: string;
				public static FEATURE_TOUCHSCREEN: string;
				public static FEATURE_TOUCHSCREEN_MULTITOUCH: string;
				public static FEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT: string;
				public static FEATURE_TOUCHSCREEN_MULTITOUCH_JAZZHAND: string;
				public static FEATURE_USB_ACCESSORY: string;
				public static FEATURE_USB_HOST: string;
				public static FEATURE_VERIFIED_BOOT: string;
				public static FEATURE_VR_HEADTRACKING: string;
				public static FEATURE_VR_MODE: string;
				public static FEATURE_VR_MODE_HIGH_PERFORMANCE: string;
				public static FEATURE_VULKAN_HARDWARE_COMPUTE: string;
				public static FEATURE_VULKAN_HARDWARE_LEVEL: string;
				public static FEATURE_VULKAN_HARDWARE_VERSION: string;
				public static FEATURE_WATCH: string;
				public static FEATURE_WEBVIEW: string;
				public static FEATURE_WIFI: string;
				public static FEATURE_WIFI_AWARE: string;
				public static FEATURE_WIFI_DIRECT: string;
				public static FEATURE_WIFI_PASSPOINT: string;
				public static FEATURE_WIFI_RTT: string;
				public static GET_ACTIVITIES: number;
				public static GET_CONFIGURATIONS: number;
				public static GET_DISABLED_COMPONENTS: number;
				public static GET_DISABLED_UNTIL_USED_COMPONENTS: number;
				public static GET_GIDS: number;
				public static GET_INSTRUMENTATION: number;
				public static GET_INTENT_FILTERS: number;
				public static GET_META_DATA: number;
				public static GET_PERMISSIONS: number;
				public static GET_PROVIDERS: number;
				public static GET_RECEIVERS: number;
				public static GET_RESOLVED_FILTER: number;
				public static GET_SERVICES: number;
				public static GET_SHARED_LIBRARY_FILES: number;
				public static GET_SIGNATURES: number;
				public static GET_SIGNING_CERTIFICATES: number;
				public static GET_UNINSTALLED_PACKAGES: number;
				public static GET_URI_PERMISSION_PATTERNS: number;
				public static INSTALL_REASON_DEVICE_RESTORE: number;
				public static INSTALL_REASON_DEVICE_SETUP: number;
				public static INSTALL_REASON_POLICY: number;
				public static INSTALL_REASON_UNKNOWN: number;
				public static INSTALL_REASON_USER: number;
				public static MATCH_ALL: number;
				public static MATCH_DEFAULT_ONLY: number;
				public static MATCH_DIRECT_BOOT_AWARE: number;
				public static MATCH_DIRECT_BOOT_UNAWARE: number;
				public static MATCH_DISABLED_COMPONENTS: number;
				public static MATCH_DISABLED_UNTIL_USED_COMPONENTS: number;
				public static MATCH_SYSTEM_ONLY: number;
				public static MATCH_UNINSTALLED_PACKAGES: number;
				public static MAXIMUM_VERIFICATION_TIMEOUT: number;
				public static PERMISSION_DENIED: number;
				public static PERMISSION_GRANTED: number;
				public static SIGNATURE_FIRST_NOT_SIGNED: number;
				public static SIGNATURE_MATCH: number;
				public static SIGNATURE_NEITHER_SIGNED: number;
				public static SIGNATURE_NO_MATCH: number;
				public static SIGNATURE_SECOND_NOT_SIGNED: number;
				public static SIGNATURE_UNKNOWN_PACKAGE: number;
				public static VERIFICATION_ALLOW: number;
				public static VERIFICATION_REJECT: number;
				public static VERSION_CODE_HIGHEST: number;
				public getServiceInfo(param0: android.content.ComponentName, param1: number): android.content.pm.ServiceInfo;
				public getUserBadgedIcon(param0: android.graphics.drawable.Drawable, param1: android.os.UserHandle): android.graphics.drawable.Drawable;
				public getInstantAppCookie(): native.Array<number>;
				public getApplicationInfo(param0: string, param1: number): android.content.pm.ApplicationInfo;
				public addPermission(param0: android.content.pm.PermissionInfo): boolean;
				public getDefaultActivityIcon(): android.graphics.drawable.Drawable;
				public getPermissionGroupInfo(param0: string, param1: number): android.content.pm.PermissionGroupInfo;
				public getActivityLogo(param0: android.content.ComponentName): android.graphics.drawable.Drawable;
				public queryBroadcastReceivers(param0: android.content.Intent, param1: number): java.util.List<android.content.pm.ResolveInfo>;
				public getResourcesForActivity(param0: android.content.ComponentName): android.content.res.Resources;
				public getInstallerPackageName(param0: string): string;
				public getPreferredPackages(param0: number): java.util.List<android.content.pm.PackageInfo>;
				public resolveActivity(param0: android.content.Intent, param1: number): android.content.pm.ResolveInfo;
				public getActivityInfo(param0: android.content.ComponentName, param1: number): android.content.pm.ActivityInfo;
				public setApplicationEnabledSetting(param0: string, param1: number, param2: number): void;
				public getUserBadgedLabel(param0: string, param1: android.os.UserHandle): string;
				public setComponentEnabledSetting(param0: android.content.ComponentName, param1: number, param2: number): void;
				public getResourcesForApplication(param0: string): android.content.res.Resources;
				public getInstantAppCookieMaxBytes(): number;
				public getPackageInfo(param0: android.content.pm.VersionedPackage, param1: number): android.content.pm.PackageInfo;
				public getPackageUid(param0: string, param1: number): number;
				public queryIntentActivities(param0: android.content.Intent, param1: number): java.util.List<android.content.pm.ResolveInfo>;
				public resolveContentProvider(param0: string, param1: number): android.content.pm.ProviderInfo;
				public getInstalledPackages(param0: number): java.util.List<android.content.pm.PackageInfo>;
				public setApplicationCategoryHint(param0: string, param1: number): void;
				public getActivityBanner(param0: android.content.ComponentName): android.graphics.drawable.Drawable;
				public canonicalToCurrentPackageNames(param0: native.Array<string>): native.Array<string>;
				public getActivityLogo(param0: android.content.Intent): android.graphics.drawable.Drawable;
				public getLeanbackLaunchIntentForPackage(param0: string): android.content.Intent;
				public queryPermissionsByGroup(param0: string, param1: number): java.util.List<android.content.pm.PermissionInfo>;
				public clearPackagePreferredActivities(param0: string): void;
				public getInstalledApplications(param0: number): java.util.List<android.content.pm.ApplicationInfo>;
				public queryInstrumentation(param0: string, param1: number): java.util.List<android.content.pm.InstrumentationInfo>;
				public getApplicationLogo(param0: string): android.graphics.drawable.Drawable;
				public getSharedLibraries(param0: number): java.util.List<android.content.pm.SharedLibraryInfo>;
				public getSystemSharedLibraryNames(): native.Array<string>;
				public getApplicationIcon(param0: android.content.pm.ApplicationInfo): android.graphics.drawable.Drawable;
				public verifyPendingInstall(param0: number, param1: number): void;
				public getProviderInfo(param0: android.content.ComponentName, param1: number): android.content.pm.ProviderInfo;
				public getApplicationEnabledSetting(param0: string): number;
				public updateInstantAppCookie(param0: native.Array<number>): void;
				public hasSystemFeature(param0: string): boolean;
				public getNameForUid(param0: number): string;
				public queryIntentContentProviders(param0: android.content.Intent, param1: number): java.util.List<android.content.pm.ResolveInfo>;
				public getPackageInfo(param0: string, param1: number): android.content.pm.PackageInfo;
				public getPackagesForUid(param0: number): native.Array<string>;
				public queryContentProviders(param0: string, param1: number, param2: number): java.util.List<android.content.pm.ProviderInfo>;
				public getChangedPackages(param0: number): android.content.pm.ChangedPackages;
				public clearInstantAppCookie(): void;
				public checkSignatures(param0: number, param1: number): number;
				public resolveService(param0: android.content.Intent, param1: number): android.content.pm.ResolveInfo;
				public getPackageGids(param0: string): native.Array<number>;
				public getApplicationLabel(param0: android.content.pm.ApplicationInfo): string;
				public checkPermission(param0: string, param1: string): number;
				public constructor();
				public getPackagesHoldingPermissions(param0: native.Array<string>, param1: number): java.util.List<android.content.pm.PackageInfo>;
				public getPackageInstaller(): android.content.pm.PackageInstaller;
				public canRequestPackageInstalls(): boolean;
				public getSystemAvailableFeatures(): native.Array<android.content.pm.FeatureInfo>;
				public setInstallerPackageName(param0: string, param1: string): void;
				public getActivityIcon(param0: android.content.ComponentName): android.graphics.drawable.Drawable;
				public getDrawable(param0: string, param1: number, param2: android.content.pm.ApplicationInfo): android.graphics.drawable.Drawable;
				public isPermissionRevokedByPolicy(param0: string, param1: string): boolean;
				public getPreferredActivities(param0: java.util.List<android.content.IntentFilter>, param1: java.util.List<android.content.ComponentName>, param2: string): number;
				public getText(param0: string, param1: number, param2: android.content.pm.ApplicationInfo): string;
				/** @deprecated */
				public addPreferredActivity(param0: android.content.IntentFilter, param1: number, param2: native.Array<android.content.ComponentName>, param3: android.content.ComponentName): void;
				public getComponentEnabledSetting(param0: android.content.ComponentName): number;
				public getActivityBanner(param0: android.content.Intent): android.graphics.drawable.Drawable;
				public getInstrumentationInfo(param0: android.content.ComponentName, param1: number): android.content.pm.InstrumentationInfo;
				public getPackageGids(param0: string, param1: number): native.Array<number>;
				public getAllPermissionGroups(param0: number): java.util.List<android.content.pm.PermissionGroupInfo>;
				public queryIntentActivityOptions(param0: android.content.ComponentName, param1: native.Array<android.content.Intent>, param2: android.content.Intent, param3: number): java.util.List<android.content.pm.ResolveInfo>;
				public getApplicationIcon(param0: string): android.graphics.drawable.Drawable;
				public getApplicationBanner(param0: string): android.graphics.drawable.Drawable;
				public getUserBadgedDrawableForDensity(param0: android.graphics.drawable.Drawable, param1: android.os.UserHandle, param2: android.graphics.Rect, param3: number): android.graphics.drawable.Drawable;
				public isPackageSuspended(): boolean;
				public removePermission(param0: string): void;
				public hasSystemFeature(param0: string, param1: number): boolean;
				public hasSigningCertificate(param0: number, param1: native.Array<number>, param2: number): boolean;
				public getPermissionInfo(param0: string, param1: number): android.content.pm.PermissionInfo;
				public getLaunchIntentForPackage(param0: string): android.content.Intent;
				public getResourcesForApplication(param0: android.content.pm.ApplicationInfo): android.content.res.Resources;
				/** @deprecated */
				public removePackageFromPreferred(param0: string): void;
				public getApplicationBanner(param0: android.content.pm.ApplicationInfo): android.graphics.drawable.Drawable;
				public isInstantApp(param0: string): boolean;
				public checkSignatures(param0: string, param1: string): number;
				public addPermissionAsync(param0: android.content.pm.PermissionInfo): boolean;
				public queryIntentServices(param0: android.content.Intent, param1: number): java.util.List<android.content.pm.ResolveInfo>;
				public extendVerificationTimeout(param0: number, param1: number, param2: number): void;
				public hasSigningCertificate(param0: string, param1: native.Array<number>, param2: number): boolean;
				public getActivityIcon(param0: android.content.Intent): android.graphics.drawable.Drawable;
				public getPackageArchiveInfo(param0: string, param1: number): android.content.pm.PackageInfo;
				public getReceiverInfo(param0: android.content.ComponentName, param1: number): android.content.pm.ActivityInfo;
				public getXml(param0: string, param1: number, param2: android.content.pm.ApplicationInfo): android.content.res.XmlResourceParser;
				public getSuspendedPackageAppExtras(): android.os.Bundle;
				public isInstantApp(): boolean;
				public isSafeMode(): boolean;
				public currentToCanonicalPackageNames(param0: native.Array<string>): native.Array<string>;
				/** @deprecated */
				public addPackageToPreferred(param0: string): void;
				public getApplicationLogo(param0: android.content.pm.ApplicationInfo): android.graphics.drawable.Drawable;
			}
			export module PackageManager {
				export class NameNotFoundException extends android.util.AndroidException {
					public static class: java.lang.Class<android.content.pm.PackageManager.NameNotFoundException>;
					public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
					public constructor(param0: string, param1: java.lang.Throwable);
					public constructor(param0: string);
					public constructor(param0: java.lang.Throwable);
					public constructor();
					public constructor(param0: java.lang.Exception);
				}
			}
		}
	}
}

declare module android {
	export module content {
		export module pm {
			export class PackageStats extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.content.pm.PackageStats>;
				public static CREATOR: android.os.Parcelable.Creator<android.content.pm.PackageStats>;
				public cacheSize: number;
				public codeSize: number;
				public dataSize: number;
				public externalCacheSize: number;
				public externalCodeSize: number;
				public externalDataSize: number;
				public externalMediaSize: number;
				public externalObbSize: number;
				public packageName: string;
				public constructor(param0: android.os.Parcel);
				public constructor(param0: android.content.pm.PackageStats);
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public hashCode(): number;
				public describeContents(): number;
				public equals(param0: any): boolean;
				public toString(): string;
				public constructor(param0: string);
			}
		}
	}
}

declare module android {
	export module content {
		export module pm {
			export class PathPermission extends android.os.PatternMatcher {
				public static class: java.lang.Class<android.content.pm.PathPermission>;
				public static CREATOR: android.os.Parcelable.Creator<android.content.pm.PathPermission>;
				public constructor(param0: android.os.Parcel);
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public constructor(param0: string, param1: number);
				public getWritePermission(): string;
				public describeContents(): number;
				public constructor(param0: string, param1: number, param2: string, param3: string);
				public getReadPermission(): string;
			}
		}
	}
}

declare module android {
	export module content {
		export module pm {
			export class PermissionGroupInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable {
				public static class: java.lang.Class<android.content.pm.PermissionGroupInfo>;
				public static CREATOR: android.os.Parcelable.Creator<android.content.pm.PermissionGroupInfo>;
				public static FLAG_PERSONAL_INFO: number;
				public descriptionRes: number;
				public flags: number;
				public nonLocalizedDescription: string;
				public priority: number;
				public loadDescription(param0: android.content.pm.PackageManager): string;
				public constructor(param0: android.os.Parcel);
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public constructor(param0: android.content.pm.PermissionGroupInfo);
				public constructor(param0: android.content.pm.PackageItemInfo);
				public toString(): string;
				public constructor();
			}
		}
	}
}

declare module android {
	export module content {
		export module pm {
			export class PermissionInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable {
				public static class: java.lang.Class<android.content.pm.PermissionInfo>;
				public static CREATOR: android.os.Parcelable.Creator<android.content.pm.PermissionInfo>;
				public static FLAG_COSTS_MONEY: number;
				public static FLAG_INSTALLED: number;
				public static PROTECTION_DANGEROUS: number;
				public static PROTECTION_FLAG_APPOP: number;
				public static PROTECTION_FLAG_DEVELOPMENT: number;
				public static PROTECTION_FLAG_INSTALLER: number;
				public static PROTECTION_FLAG_INSTANT: number;
				public static PROTECTION_FLAG_PRE23: number;
				public static PROTECTION_FLAG_PREINSTALLED: number;
				public static PROTECTION_FLAG_PRIVILEGED: number;
				public static PROTECTION_FLAG_RUNTIME_ONLY: number;
				public static PROTECTION_FLAG_SETUP: number;
				public static PROTECTION_FLAG_SYSTEM: number;
				public static PROTECTION_FLAG_VERIFIER: number;
				public static PROTECTION_MASK_BASE: number;
				public static PROTECTION_MASK_FLAGS: number;
				public static PROTECTION_NORMAL: number;
				public static PROTECTION_SIGNATURE: number;
				public static PROTECTION_SIGNATURE_OR_SYSTEM: number;
				public descriptionRes: number;
				public flags: number;
				public group: string;
				public nonLocalizedDescription: string;
				public protectionLevel: number;
				public constructor(param0: android.content.pm.PermissionInfo);
				public loadDescription(param0: android.content.pm.PackageManager): string;
				public getProtection(): number;
				public constructor(param0: android.os.Parcel);
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public constructor(param0: android.content.pm.PackageItemInfo);
				public toString(): string;
				public getProtectionFlags(): number;
				public constructor();
			}
		}
	}
}

declare module android {
	export module content {
		export module pm {
			export class ProviderInfo extends android.content.pm.ComponentInfo implements android.os.Parcelable {
				public static class: java.lang.Class<android.content.pm.ProviderInfo>;
				public static CREATOR: android.os.Parcelable.Creator<android.content.pm.ProviderInfo>;
				public static FLAG_SINGLE_USER: number;
				public authority: string;
				public flags: number;
				public grantUriPermissions: boolean;
				public initOrder: number;
				public isSyncable: boolean;
				public multiprocess: boolean;
				public pathPermissions: native.Array<android.content.pm.PathPermission>;
				public readPermission: string;
				public uriPermissionPatterns: native.Array<android.os.PatternMatcher>;
				public writePermission: string;
				public constructor(param0: android.os.Parcel);
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public dump(param0: android.util.Printer, param1: string): void;
				public describeContents(): number;
				public constructor(param0: android.content.pm.ProviderInfo);
				public constructor(param0: android.content.pm.PackageItemInfo);
				public toString(): string;
				public constructor(param0: android.content.pm.ComponentInfo);
				public constructor();
			}
		}
	}
}

declare module android {
	export module content {
		export module pm {
			export class ResolveInfo extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.content.pm.ResolveInfo>;
				public static CREATOR: android.os.Parcelable.Creator<android.content.pm.ResolveInfo>;
				public activityInfo: android.content.pm.ActivityInfo;
				public filter: android.content.IntentFilter;
				public icon: number;
				public isDefault: boolean;
				public isInstantAppAvailable: boolean;
				public labelRes: number;
				public match: number;
				public nonLocalizedLabel: string;
				public preferredOrder: number;
				public priority: number;
				public providerInfo: android.content.pm.ProviderInfo;
				public resolvePackageName: string;
				public serviceInfo: android.content.pm.ServiceInfo;
				public specificIndex: number;
				public constructor(param0: android.content.pm.ResolveInfo);
				public loadLabel(param0: android.content.pm.PackageManager): string;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public loadIcon(param0: android.content.pm.PackageManager): android.graphics.drawable.Drawable;
				public dump(param0: android.util.Printer, param1: string): void;
				public describeContents(): number;
				public getIconResource(): number;
				public toString(): string;
				public constructor();
			}
			export module ResolveInfo {
				export class DisplayNameComparator extends java.util.Comparator<android.content.pm.ResolveInfo> {
					public static class: java.lang.Class<android.content.pm.ResolveInfo.DisplayNameComparator>;
					public compare(param0: any, param1: any): number;
					public static comparing(param0: any /* any*/): java.util.Comparator<any>;
					public constructor(param0: android.content.pm.PackageManager);
					public static nullsFirst(param0: java.util.Comparator<any>): java.util.Comparator<any>;
					public thenComparingDouble(param0: any /* any*/): java.util.Comparator<any>;
					public static comparingLong(param0: any /* any*/): java.util.Comparator<any>;
					public thenComparing(param0: java.util.Comparator<any>): java.util.Comparator<any>;
					public thenComparingInt(param0: any /* any*/): java.util.Comparator<any>;
					public static reverseOrder(): java.util.Comparator<any>;
					public thenComparingLong(param0: any /* any*/): java.util.Comparator<any>;
					public static nullsLast(param0: java.util.Comparator<any>): java.util.Comparator<any>;
					public static comparingDouble(param0: any /* any*/): java.util.Comparator<any>;
					public equals(param0: any): boolean;
					public compare(param0: android.content.pm.ResolveInfo, param1: android.content.pm.ResolveInfo): number;
					public static comparing(param0: any /* any*/, param1: java.util.Comparator<any>): java.util.Comparator<any>;
					public thenComparing(param0: any /* any*/, param1: java.util.Comparator<any>): java.util.Comparator<any>;
					public reversed(): java.util.Comparator<any>;
					public static naturalOrder(): java.util.Comparator<any>;
					public thenComparing(param0: any /* any*/): java.util.Comparator<any>;
					public static comparingInt(param0: any /* any*/): java.util.Comparator<any>;
				}
			}
		}
	}
}

declare module android {
	export module content {
		export module pm {
			export class ServiceInfo extends android.content.pm.ComponentInfo implements android.os.Parcelable {
				public static class: java.lang.Class<android.content.pm.ServiceInfo>;
				public static CREATOR: android.os.Parcelable.Creator<android.content.pm.ServiceInfo>;
				public static FLAG_EXTERNAL_SERVICE: number;
				public static FLAG_ISOLATED_PROCESS: number;
				public static FLAG_SINGLE_USER: number;
				public static FLAG_STOP_WITH_TASK: number;
				public flags: number;
				public permission: string;
				public constructor(param0: android.content.pm.ServiceInfo);
				public constructor(param0: android.os.Parcel);
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public dump(param0: android.util.Printer, param1: string): void;
				public describeContents(): number;
				public constructor(param0: android.content.pm.PackageItemInfo);
				public toString(): string;
				public constructor(param0: android.content.pm.ComponentInfo);
				public constructor();
			}
		}
	}
}

declare module android {
	export module content {
		export module pm {
			export class SharedLibraryInfo extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.content.pm.SharedLibraryInfo>;
				public static CREATOR: android.os.Parcelable.Creator<android.content.pm.SharedLibraryInfo>;
				public static TYPE_BUILTIN: number;
				public static TYPE_DYNAMIC: number;
				public static TYPE_STATIC: number;
				public static VERSION_UNDEFINED: number;
				/** @deprecated */
				public getVersion(): number;
				public getLongVersion(): number;
				public getType(): number;
				public getDependentPackages(): java.util.List<android.content.pm.VersionedPackage>;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getName(): string;
				public getDeclaringPackage(): android.content.pm.VersionedPackage;
				public toString(): string;
			}
		}
	}
}

declare module android {
	export module content {
		export module pm {
			export class ShortcutInfo extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<any>;
				public static CREATOR: android.os.Parcelable.Creator<any>;
				public static DISABLED_REASON_APP_CHANGED: number;
				public static DISABLED_REASON_BACKUP_NOT_SUPPORTED: number;
				public static DISABLED_REASON_BY_APP: number;
				public static DISABLED_REASON_NOT_DISABLED: number;
				public static DISABLED_REASON_OTHER_RESTORE_ISSUE: number;
				public static DISABLED_REASON_SIGNATURE_MISMATCH: number;
				public static DISABLED_REASON_UNKNOWN: number;
				public static DISABLED_REASON_VERSION_LOWER: number;
				public static SHORTCUT_CATEGORY_CONVERSATION: string;
				public getPackage(): string;
				public getIntents(): native.Array<android.content.Intent>;
				public getId(): string;
				public isDynamic(): boolean;
				public getShortLabel(): string;
				public getCategories(): java.util.Set<string>;
				public getIntent(): android.content.Intent;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getDisabledMessage(): string;
				public hasKeyFieldsOnly(): boolean;
				public toString(): string;
				public getActivity(): android.content.ComponentName;
				public isPinned(): boolean;
				public getDisabledReason(): number;
				public getUserHandle(): android.os.UserHandle;
				public isImmutable(): boolean;
				public getExtras(): any;
				public describeContents(): number;
				public getRank(): number;
				public isEnabled(): boolean;
				public getLongLabel(): string;
				public isDeclaredInManifest(): boolean;
				public getLastChangedTimestamp(): number;
			}
			export module ShortcutInfo {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<any>;
					public setShortLabel(param0: string): any;
					public setLongLabel(param0: string): any;
					public setIcon(param0: any): any;
					public setCategories(param0: java.util.Set<string>): any;
					public setIntent(param0: android.content.Intent): any;
					public setExtras(param0: any): any;
					public setIntents(param0: native.Array<android.content.Intent>): any;
					public setActivity(param0: android.content.ComponentName): any;
					public setRank(param0: number): any;
					public build(): any;
					public constructor(param0: android.content.Context, param1: string);
					public setDisabledMessage(param0: string): any;
				}
			}
		}
	}
}

declare module android {
	export module content {
		export module pm {
			export class ShortcutManager extends java.lang.Object {
				public static class: java.lang.Class<android.content.pm.ShortcutManager>;
				public disableShortcuts(param0: java.util.List<string>): void;
				public getPinnedShortcuts(): java.util.List<any>;
				public getIconMaxWidth(): number;
				public getManifestShortcuts(): java.util.List<any>;
				public addDynamicShortcuts(param0: java.util.List<any>): boolean;
				public requestPinShortcut(param0: any, param1: android.content.IntentSender): boolean;
				public disableShortcuts(param0: java.util.List<string>, param1: string): void;
				public createShortcutResultIntent(param0: any): android.content.Intent;
				public removeAllDynamicShortcuts(): void;
				public updateShortcuts(param0: java.util.List<any>): boolean;
				public reportShortcutUsed(param0: string): void;
				public getMaxShortcutCountPerActivity(): number;
				public getIconMaxHeight(): number;
				public removeDynamicShortcuts(param0: java.util.List<string>): void;
				public enableShortcuts(param0: java.util.List<string>): void;
				public isRequestPinShortcutSupported(): boolean;
				public getDynamicShortcuts(): java.util.List<any>;
				public setDynamicShortcuts(param0: java.util.List<any>): boolean;
				public isRateLimitingActive(): boolean;
			}
		}
	}
}

declare module android {
	export module content {
		export module pm {
			export class Signature extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.content.pm.Signature>;
				public static CREATOR: android.os.Parcelable.Creator<android.content.pm.Signature>;
				public constructor(param0: native.Array<number>);
				public toChars(param0: native.Array<string>, param1: native.Array<number>): native.Array<string>;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public toCharsString(): string;
				public equals(param0: any): boolean;
				public describeContents(): number;
				public toChars(): native.Array<string>;
				public toByteArray(): native.Array<number>;
				public constructor(param0: string);
			}
		}
	}
}

declare module android {
	export module content {
		export module pm {
			export class SigningInfo extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.content.pm.SigningInfo>;
				public static CREATOR: android.os.Parcelable.Creator<android.content.pm.SigningInfo>;
				public constructor(param0: android.content.pm.SigningInfo);
				public getSigningCertificateHistory(): native.Array<android.content.pm.Signature>;
				public hasMultipleSigners(): boolean;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getApkContentsSigners(): native.Array<android.content.pm.Signature>;
				public constructor();
				public hasPastSigningCertificates(): boolean;
			}
		}
	}
}

declare module android {
	export module content {
		export module pm {
			export class VersionedPackage extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.content.pm.VersionedPackage>;
				public static CREATOR: android.os.Parcelable.Creator<android.content.pm.VersionedPackage>;
				/** @deprecated */
				public getVersionCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public constructor(param0: string, param1: number);
				public getPackageName(): string;
				public describeContents(): number;
				public toString(): string;
				public getLongVersionCode(): number;
			}
		}
	}
}

declare module android {
	export module content {
		export module res {
			export class AssetFileDescriptor extends java.lang.Object implements android.os.Parcelable, java.io.Closeable {
				public static class: java.lang.Class<android.content.res.AssetFileDescriptor>;
				public static CREATOR: android.os.Parcelable.Creator<android.content.res.AssetFileDescriptor>;
				public static UNKNOWN_LENGTH: number;
				public close(): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public constructor(param0: android.os.ParcelFileDescriptor, param1: number, param2: number);
				public toString(): string;
				public constructor(param0: android.os.ParcelFileDescriptor, param1: number, param2: number, param3: android.os.Bundle);
				public getLength(): number;
				public createInputStream(): java.io.FileInputStream;
				public getDeclaredLength(): number;
				public getStartOffset(): number;
				public getFileDescriptor(): java.io.FileDescriptor;
				public getParcelFileDescriptor(): android.os.ParcelFileDescriptor;
				public createOutputStream(): java.io.FileOutputStream;
				public describeContents(): number;
				public getExtras(): android.os.Bundle;
			}
			export module AssetFileDescriptor {
				export class AutoCloseInputStream extends android.os.ParcelFileDescriptor.AutoCloseInputStream {
					public static class: java.lang.Class<android.content.res.AssetFileDescriptor.AutoCloseInputStream>;
					public read(): number;
					public read(param0: native.Array<number>, param1: number, param2: number): number;
					public reset(): void;
					public constructor(param0: string);
					public read(param0: native.Array<number>): number;
					public markSupported(): boolean;
					public skip(param0: number): number;
					public constructor(param0: android.content.res.AssetFileDescriptor);
					public mark(param0: number): void;
					public available(): number;
					public constructor();
					public constructor(param0: java.io.FileDescriptor);
					public close(): void;
					public constructor(param0: android.os.ParcelFileDescriptor);
					public constructor(param0: java.io.File);
				}
				export class AutoCloseOutputStream extends android.os.ParcelFileDescriptor.AutoCloseOutputStream {
					public static class: java.lang.Class<android.content.res.AssetFileDescriptor.AutoCloseOutputStream>;
					public write(param0: native.Array<number>): void;
					public constructor(param0: string);
					public write(param0: number): void;
					public flush(): void;
					public constructor(param0: java.io.File, param1: boolean);
					public constructor(param0: android.content.res.AssetFileDescriptor);
					public write(param0: native.Array<number>, param1: number, param2: number): void;
					public constructor();
					public constructor(param0: java.io.FileDescriptor);
					public close(): void;
					public constructor(param0: string, param1: boolean);
					public constructor(param0: android.os.ParcelFileDescriptor);
					public constructor(param0: java.io.File);
				}
			}
		}
	}
}

declare module android {
	export module content {
		export module res {
			export class AssetManager extends java.lang.Object implements java.lang.AutoCloseable {
				public static class: java.lang.Class<android.content.res.AssetManager>;
				public static ACCESS_BUFFER: number;
				public static ACCESS_RANDOM: number;
				public static ACCESS_STREAMING: number;
				public static ACCESS_UNKNOWN: number;
				public openFd(param0: string): android.content.res.AssetFileDescriptor;
				public close(): void;
				public list(param0: string): native.Array<string>;
				public open(param0: string): java.io.InputStream;
				public openXmlResourceParser(param0: number, param1: string): android.content.res.XmlResourceParser;
				public open(param0: string, param1: number): java.io.InputStream;
				public openNonAssetFd(param0: string): android.content.res.AssetFileDescriptor;
				public finalize(): void;
				public getLocales(): native.Array<string>;
				public openXmlResourceParser(param0: string): android.content.res.XmlResourceParser;
				public openNonAssetFd(param0: number, param1: string): android.content.res.AssetFileDescriptor;
			}
			export module AssetManager {
				export class AssetInputStream extends java.io.InputStream {
					public static class: java.lang.Class<android.content.res.AssetManager.AssetInputStream>;
					public available(): number;
					public read(): number;
					public read(param0: native.Array<number>, param1: number, param2: number): number;
					public reset(): void;
					public read(param0: native.Array<number>): number;
					public markSupported(): boolean;
					public finalize(): void;
					public skip(param0: number): number;
					public close(): void;
					public mark(param0: number): void;
				}
			}
		}
	}
}

declare module android {
	export module content {
		export module res {
			export class ColorStateList extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.content.res.ColorStateList>;
				public static CREATOR: android.os.Parcelable.Creator<android.content.res.ColorStateList>;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public isOpaque(): boolean;
				public getColorForState(param0: native.Array<number>, param1: number): number;
				public getChangingConfigurations(): number;
				public constructor(param0: native.Array<native.Array<number>>, param1: native.Array<number>);
				public toString(): string;
				public withAlpha(param0: number): android.content.res.ColorStateList;
				public getDefaultColor(): number;
				public static createFromXml(param0: android.content.res.Resources, param1: org.xmlpull.v1.XmlPullParser, param2: android.content.res.Resources.Theme): android.content.res.ColorStateList;
				public static valueOf(param0: number): android.content.res.ColorStateList;
				public describeContents(): number;
				/** @deprecated */
				public static createFromXml(param0: android.content.res.Resources, param1: org.xmlpull.v1.XmlPullParser): android.content.res.ColorStateList;
				public isStateful(): boolean;
			}
		}
	}
}

declare module android {
	export module content {
		export module res {
			export class Configuration extends java.lang.Object {
				public static class: java.lang.Class<android.content.res.Configuration>;
				public static COLOR_MODE_HDR_MASK: number;
				public static COLOR_MODE_HDR_NO: number;
				public static COLOR_MODE_HDR_SHIFT: number;
				public static COLOR_MODE_HDR_UNDEFINED: number;
				public static COLOR_MODE_HDR_YES: number;
				public static COLOR_MODE_UNDEFINED: number;
				public static COLOR_MODE_WIDE_COLOR_GAMUT_MASK: number;
				public static COLOR_MODE_WIDE_COLOR_GAMUT_NO: number;
				public static COLOR_MODE_WIDE_COLOR_GAMUT_UNDEFINED: number;
				public static COLOR_MODE_WIDE_COLOR_GAMUT_YES: number;
				public static CREATOR: android.os.Parcelable.Creator<android.content.res.Configuration>;
				public static DENSITY_DPI_UNDEFINED: number;
				public static HARDKEYBOARDHIDDEN_NO: number;
				public static HARDKEYBOARDHIDDEN_UNDEFINED: number;
				public static HARDKEYBOARDHIDDEN_YES: number;
				public static KEYBOARDHIDDEN_NO: number;
				public static KEYBOARDHIDDEN_UNDEFINED: number;
				public static KEYBOARDHIDDEN_YES: number;
				public static KEYBOARD_12KEY: number;
				public static KEYBOARD_NOKEYS: number;
				public static KEYBOARD_QWERTY: number;
				public static KEYBOARD_UNDEFINED: number;
				public static MNC_ZERO: number;
				public static NAVIGATIONHIDDEN_NO: number;
				public static NAVIGATIONHIDDEN_UNDEFINED: number;
				public static NAVIGATIONHIDDEN_YES: number;
				public static NAVIGATION_DPAD: number;
				public static NAVIGATION_NONAV: number;
				public static NAVIGATION_TRACKBALL: number;
				public static NAVIGATION_UNDEFINED: number;
				public static NAVIGATION_WHEEL: number;
				public static ORIENTATION_LANDSCAPE: number;
				public static ORIENTATION_PORTRAIT: number;
				public static ORIENTATION_SQUARE: number;
				public static ORIENTATION_UNDEFINED: number;
				public static SCREENLAYOUT_LAYOUTDIR_LTR: number;
				public static SCREENLAYOUT_LAYOUTDIR_MASK: number;
				public static SCREENLAYOUT_LAYOUTDIR_RTL: number;
				public static SCREENLAYOUT_LAYOUTDIR_SHIFT: number;
				public static SCREENLAYOUT_LAYOUTDIR_UNDEFINED: number;
				public static SCREENLAYOUT_LONG_MASK: number;
				public static SCREENLAYOUT_LONG_NO: number;
				public static SCREENLAYOUT_LONG_UNDEFINED: number;
				public static SCREENLAYOUT_LONG_YES: number;
				public static SCREENLAYOUT_ROUND_MASK: number;
				public static SCREENLAYOUT_ROUND_NO: number;
				public static SCREENLAYOUT_ROUND_UNDEFINED: number;
				public static SCREENLAYOUT_ROUND_YES: number;
				public static SCREENLAYOUT_SIZE_LARGE: number;
				public static SCREENLAYOUT_SIZE_MASK: number;
				public static SCREENLAYOUT_SIZE_NORMAL: number;
				public static SCREENLAYOUT_SIZE_SMALL: number;
				public static SCREENLAYOUT_SIZE_UNDEFINED: number;
				public static SCREENLAYOUT_SIZE_XLARGE: number;
				public static SCREENLAYOUT_UNDEFINED: number;
				public static SCREEN_HEIGHT_DP_UNDEFINED: number;
				public static SCREEN_WIDTH_DP_UNDEFINED: number;
				public static SMALLEST_SCREEN_WIDTH_DP_UNDEFINED: number;
				public static TOUCHSCREEN_FINGER: number;
				public static TOUCHSCREEN_NOTOUCH: number;
				public static TOUCHSCREEN_STYLUS: number;
				public static TOUCHSCREEN_UNDEFINED: number;
				public static UI_MODE_NIGHT_MASK: number;
				public static UI_MODE_NIGHT_NO: number;
				public static UI_MODE_NIGHT_UNDEFINED: number;
				public static UI_MODE_NIGHT_YES: number;
				public static UI_MODE_TYPE_APPLIANCE: number;
				public static UI_MODE_TYPE_CAR: number;
				public static UI_MODE_TYPE_DESK: number;
				public static UI_MODE_TYPE_MASK: number;
				public static UI_MODE_TYPE_NORMAL: number;
				public static UI_MODE_TYPE_TELEVISION: number;
				public static UI_MODE_TYPE_UNDEFINED: number;
				public static UI_MODE_TYPE_VR_HEADSET: number;
				public static UI_MODE_TYPE_WATCH: number;
				public colorMode: number;
				public densityDpi: number;
				public fontScale: number;
				public hardKeyboardHidden: number;
				public keyboard: number;
				public keyboardHidden: number;
				public locale: java.util.Locale;
				public mcc: number;
				public mnc: number;
				public navigation: number;
				public navigationHidden: number;
				public orientation: number;
				public screenHeightDp: number;
				public screenLayout: number;
				public screenWidthDp: number;
				public smallestScreenWidthDp: number;
				public touchscreen: number;
				public uiMode: number;
				public getLayoutDirection(): number;
				public setTo(param0: android.content.res.Configuration): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public diff(param0: android.content.res.Configuration): number;
				public updateFrom(param0: android.content.res.Configuration): number;
				public toString(): string;
				public isScreenRound(): boolean;
				public isLayoutSizeAtLeast(param0: number): boolean;
				public isScreenHdr(): boolean;
				public constructor();
				public compareTo(param0: android.content.res.Configuration): number;
				public setLocales(param0: any): void;
				public setLayoutDirection(param0: java.util.Locale): void;
				public hashCode(): number;
				public getLocales(): any;
				public setToDefaults(): void;
				public describeContents(): number;
				public equals(param0: any): boolean;
				public readFromParcel(param0: android.os.Parcel): void;
				public static needNewResources(param0: number, param1: number): boolean;
				public setLocale(param0: java.util.Locale): void;
				public constructor(param0: android.content.res.Configuration);
				public equals(param0: android.content.res.Configuration): boolean;
				public isScreenWideColorGamut(): boolean;
			}
		}
	}
}

declare module android {
	export module content {
		export module res {
			export class ObbInfo extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.content.res.ObbInfo>;
				public static CREATOR: android.os.Parcelable.Creator<android.content.res.ObbInfo>;
				public static OBB_OVERLAY: number;
				public filename: string;
				public flags: number;
				public packageName: string;
				public version: number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public toString(): string;
			}
		}
	}
}

declare module android {
	export module content {
		export module res {
			export class ObbScanner extends java.lang.Object {
				public static class: java.lang.Class<android.content.res.ObbScanner>;
				public static getObbInfo(param0: string): android.content.res.ObbInfo;
			}
		}
	}
}

declare module android {
	export module content {
		export module res {
			export class Resources extends java.lang.Object {
				public static class: java.lang.Class<android.content.res.Resources>;
				/** @deprecated */
				public getDrawable(param0: number): android.graphics.drawable.Drawable;
				/** @deprecated */
				public getColor(param0: number): number;
				public getColorStateList(param0: number, param1: android.content.res.Resources.Theme): android.content.res.ColorStateList;
				public getValue(param0: number, param1: android.util.TypedValue, param2: boolean): void;
				public getMovie(param0: number): android.graphics.Movie;
				public openRawResource(param0: number, param1: android.util.TypedValue): java.io.InputStream;
				public openRawResourceFd(param0: number): android.content.res.AssetFileDescriptor;
				public getResourceEntryName(param0: number): string;
				public getTextArray(param0: number): native.Array<string>;
				public getDimension(param0: number): number;
				public getQuantityText(param0: number, param1: number): string;
				public getValueForDensity(param0: number, param1: number, param2: android.util.TypedValue, param3: boolean): void;
				public getDrawableForDensity(param0: number, param1: number, param2: android.content.res.Resources.Theme): android.graphics.drawable.Drawable;
				public getIntArray(param0: number): native.Array<number>;
				public finishPreloading(): void;
				public getAnimation(param0: number): android.content.res.XmlResourceParser;
				public getQuantityString(param0: number, param1: number, param2: native.Array<any>): string;
				public getText(param0: number, param1: string): string;
				public obtainAttributes(param0: android.util.AttributeSet, param1: native.Array<number>): android.content.res.TypedArray;
				public getBoolean(param0: number): boolean;
				public getResourceName(param0: number): string;
				public getFont(param0: number): android.graphics.Typeface;
				public parseBundleExtra(param0: string, param1: android.util.AttributeSet, param2: android.os.Bundle): void;
				public flushLayoutCache(): void;
				/** @deprecated */
				public getDrawableForDensity(param0: number, param1: number): android.graphics.drawable.Drawable;
				/** @deprecated */
				public getColorStateList(param0: number): android.content.res.ColorStateList;
				public getDimensionPixelSize(param0: number): number;
				public getXml(param0: number): android.content.res.XmlResourceParser;
				public getDisplayMetrics(): android.util.DisplayMetrics;
				public getString(param0: number): string;
				public getInteger(param0: number): number;
				public getConfiguration(): android.content.res.Configuration;
				public getDrawable(param0: number, param1: android.content.res.Resources.Theme): android.graphics.drawable.Drawable;
				public newTheme(): android.content.res.Resources.Theme;
				public getString(param0: number, param1: native.Array<any>): string;
				public getResourceTypeName(param0: number): string;
				public getColor(param0: number, param1: android.content.res.Resources.Theme): number;
				public openRawResource(param0: number): java.io.InputStream;
				public parseBundleExtras(param0: android.content.res.XmlResourceParser, param1: android.os.Bundle): void;
				public getText(param0: number): string;
				public getStringArray(param0: number): native.Array<string>;
				public getFraction(param0: number, param1: number, param2: number): number;
				/** @deprecated */
				public updateConfiguration(param0: android.content.res.Configuration, param1: android.util.DisplayMetrics): void;
				public getDimensionPixelOffset(param0: number): number;
				public getResourcePackageName(param0: number): string;
				public obtainTypedArray(param0: number): android.content.res.TypedArray;
				public getIdentifier(param0: string, param1: string, param2: string): number;
				public getAssets(): android.content.res.AssetManager;
				public getLayout(param0: number): android.content.res.XmlResourceParser;
				public getQuantityString(param0: number, param1: number): string;
				public getValue(param0: string, param1: android.util.TypedValue, param2: boolean): void;
				/** @deprecated */
				public constructor(param0: android.content.res.AssetManager, param1: android.util.DisplayMetrics, param2: android.content.res.Configuration);
				public static getSystem(): android.content.res.Resources;
			}
			export module Resources {
				export class NotFoundException extends java.lang.RuntimeException {
					public static class: java.lang.Class<android.content.res.Resources.NotFoundException>;
					public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
					public constructor(param0: string, param1: java.lang.Throwable);
					public constructor(param0: string);
					public constructor(param0: java.lang.Throwable);
					public constructor();
					public constructor(param0: string, param1: java.lang.Exception);
				}
				export class Theme extends java.lang.Object {
					public static class: java.lang.Class<android.content.res.Resources.Theme>;
					public resolveAttribute(param0: number, param1: android.util.TypedValue, param2: boolean): boolean;
					public getChangingConfigurations(): number;
					public getDrawable(param0: number): android.graphics.drawable.Drawable;
					public getResources(): android.content.res.Resources;
					public obtainStyledAttributes(param0: native.Array<number>): android.content.res.TypedArray;
					public dump(param0: number, param1: string, param2: string): void;
					public applyStyle(param0: number, param1: boolean): void;
					public setTo(param0: android.content.res.Resources.Theme): void;
					public obtainStyledAttributes(param0: number, param1: native.Array<number>): android.content.res.TypedArray;
					public obtainStyledAttributes(param0: android.util.AttributeSet, param1: native.Array<number>, param2: number, param3: number): android.content.res.TypedArray;
				}
			}
		}
	}
}

declare module android {
	export module content {
		export module res {
			export class TypedArray extends java.lang.Object {
				public static class: java.lang.Class<android.content.res.TypedArray>;
				public recycle(): void;
				public getString(param0: number): string;
				public getFraction(param0: number, param1: number, param2: number, param3: number): number;
				public getFloat(param0: number, param1: number): number;
				public getPositionDescription(): string;
				public hasValue(param0: number): boolean;
				public getNonResourceString(param0: number): string;
				public getInt(param0: number, param1: number): number;
				public getTextArray(param0: number): native.Array<string>;
				public getIndex(param0: number): number;
				public getInteger(param0: number, param1: number): number;
				public getValue(param0: number, param1: android.util.TypedValue): boolean;
				public getDrawable(param0: number): android.graphics.drawable.Drawable;
				public getText(param0: number): string;
				public getIndexCount(): number;
				public getDimensionPixelSize(param0: number, param1: number): number;
				public getLayoutDimension(param0: number, param1: number): number;
				public length(): number;
				public getChangingConfigurations(): number;
				public getColor(param0: number, param1: number): number;
				public peekValue(param0: number): android.util.TypedValue;
				public toString(): string;
				public getResources(): android.content.res.Resources;
				public getBoolean(param0: number, param1: boolean): boolean;
				public getResourceId(param0: number, param1: number): number;
				public getFont(param0: number): android.graphics.Typeface;
				public getDimension(param0: number, param1: number): number;
				public getLayoutDimension(param0: number, param1: string): number;
				public getType(param0: number): number;
				public hasValueOrEmpty(param0: number): boolean;
				public getColorStateList(param0: number): android.content.res.ColorStateList;
				public getDimensionPixelOffset(param0: number, param1: number): number;
			}
		}
	}
}

declare module android {
	export module content {
		export module res {
			export class XmlResourceParser extends java.lang.Object implements org.xmlpull.v1.XmlPullParser, android.util.AttributeSet, java.lang.AutoCloseable {
				public static class: java.lang.Class<android.content.res.XmlResourceParser>;
				/**
				 * Constructs a new instance of the android.content.res.XmlResourceParser interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getAttributeNamespace(param0: number): string;
					close(): void;
					setFeature(param0: string, param1: boolean): void;
					getFeature(param0: string): boolean;
					setProperty(param0: string, param1: any): void;
					getProperty(param0: string): any;
					setInput(param0: java.io.Reader): void;
					setInput(param0: java.io.InputStream, param1: string): void;
					getInputEncoding(): string;
					defineEntityReplacementText(param0: string, param1: string): void;
					getNamespaceCount(param0: number): number;
					getNamespacePrefix(param0: number): string;
					getNamespaceUri(param0: number): string;
					getNamespace(param0: string): string;
					getDepth(): number;
					getPositionDescription(): string;
					getLineNumber(): number;
					getColumnNumber(): number;
					isWhitespace(): boolean;
					getText(): string;
					getTextCharacters(param0: native.Array<number>): native.Array<string>;
					getNamespace(): string;
					getName(): string;
					getPrefix(): string;
					isEmptyElementTag(): boolean;
					getAttributeCount(): number;
					getAttributeNamespace(param0: number): string;
					getAttributeName(param0: number): string;
					getAttributePrefix(param0: number): string;
					getAttributeType(param0: number): string;
					isAttributeDefault(param0: number): boolean;
					getAttributeValue(param0: number): string;
					getAttributeValue(param0: string, param1: string): string;
					getEventType(): number;
					next(): number;
					nextToken(): number;
					require(param0: number, param1: string, param2: string): void;
					nextText(): string;
					nextTag(): number;
					<clinit>(): void;
					getAttributeCount(): number;
					getAttributeNamespace(param0: number): string;
					getAttributeName(param0: number): string;
					getAttributeValue(param0: number): string;
					getAttributeValue(param0: string, param1: string): string;
					getPositionDescription(): string;
					getAttributeNameResource(param0: number): number;
					getAttributeListValue(param0: string, param1: string, param2: native.Array<string>, param3: number): number;
					getAttributeBooleanValue(param0: string, param1: string, param2: boolean): boolean;
					getAttributeResourceValue(param0: string, param1: string, param2: number): number;
					getAttributeIntValue(param0: string, param1: string, param2: number): number;
					getAttributeUnsignedIntValue(param0: string, param1: string, param2: number): number;
					getAttributeFloatValue(param0: string, param1: string, param2: number): number;
					getAttributeListValue(param0: number, param1: native.Array<string>, param2: number): number;
					getAttributeBooleanValue(param0: number, param1: boolean): boolean;
					getAttributeResourceValue(param0: number, param1: number): number;
					getAttributeIntValue(param0: number, param1: number): number;
					getAttributeUnsignedIntValue(param0: number, param1: number): number;
					getAttributeFloatValue(param0: number, param1: number): number;
					getIdAttribute(): string;
					getClassAttribute(): string;
					getIdAttributeResourceValue(param0: number): number;
					getStyleAttribute(): number;
					close(): void;
				});
				public constructor();
				public static NO_NAMESPACE: string;
				public static TEXT: number;
				public static ENTITY_REF: number;
				public static COMMENT: number;
				public static END_DOCUMENT: number;
				public static DOCDECL: number;
				public static END_TAG: number;
				public static FEATURE_VALIDATION: string;
				public static START_DOCUMENT: number;
				public static CDSECT: number;
				public static IGNORABLE_WHITESPACE: number;
				public static START_TAG: number;
				public static FEATURE_PROCESS_NAMESPACES: string;
				public static TYPES: native.Array<string>;
				public static FEATURE_PROCESS_DOCDECL: string;
				public static PROCESSING_INSTRUCTION: number;
				public static FEATURE_REPORT_NAMESPACE_ATTRIBUTES: string;
				public setInput(param0: java.io.Reader): void;
				public getLineNumber(): number;
				public getAttributeIntValue(param0: number, param1: number): number;
				public getEventType(): number;
				public getAttributeResourceValue(param0: number, param1: number): number;
				public getProperty(param0: string): any;
				public setInput(param0: java.io.InputStream, param1: string): void;
				public getAttributeUnsignedIntValue(param0: string, param1: string, param2: number): number;
				public getPositionDescription(): string;
				public getAttributePrefix(param0: number): string;
				public getAttributeIntValue(param0: string, param1: string, param2: number): number;
				public nextText(): string;
				public nextToken(): number;
				public getColumnNumber(): number;
				public getAttributeNamespace(param0: number): string;
				public close(): void;
				public require(param0: number, param1: string, param2: string): void;
				public getNamespaceCount(param0: number): number;
				public getAttributeName(param0: number): string;
				public setProperty(param0: string, param1: any): void;
				public getName(): string;
				public getNamespace(param0: string): string;
				public getTextCharacters(param0: native.Array<number>): native.Array<string>;
				public getAttributeType(param0: number): string;
				public getStyleAttribute(): number;
				public getAttributeValue(param0: number): string;
				public getAttributeUnsignedIntValue(param0: number, param1: number): number;
				public isWhitespace(): boolean;
				public next(): number;
				public getInputEncoding(): string;
				public getAttributeValue(param0: string, param1: string): string;
				public getIdAttributeResourceValue(param0: number): number;
				public nextTag(): number;
				public getIdAttribute(): string;
				public getAttributeCount(): number;
				public getAttributeNameResource(param0: number): number;
				public getAttributeBooleanValue(param0: string, param1: string, param2: boolean): boolean;
				public getClassAttribute(): string;
				public getAttributeFloatValue(param0: string, param1: string, param2: number): number;
				public getAttributeListValue(param0: number, param1: native.Array<string>, param2: number): number;
				public getAttributeResourceValue(param0: string, param1: string, param2: number): number;
				public getAttributeListValue(param0: string, param1: string, param2: native.Array<string>, param3: number): number;
				public getNamespaceUri(param0: number): string;
				public isEmptyElementTag(): boolean;
				public getNamespacePrefix(param0: number): string;
				public getPrefix(): string;
				public getAttributeFloatValue(param0: number, param1: number): number;
				public getFeature(param0: string): boolean;
				public getText(): string;
				public isAttributeDefault(param0: number): boolean;
				public getNamespace(): string;
				public setFeature(param0: string, param1: boolean): void;
				public getAttributeBooleanValue(param0: number, param1: boolean): boolean;
				public defineEntityReplacementText(param0: string, param1: string): void;
				public getDepth(): number;
			}
		}
	}
}

declare module android {
	export module database {
		export abstract class AbstractCursor extends java.lang.Object implements android.database.CrossProcessCursor {
			public static class: java.lang.Class<android.database.AbstractCursor>;
			public mClosed: boolean;
			public mContentResolver: android.content.ContentResolver;
			public mPos: number;
			/** @deprecated */
			public requery(): boolean;
			public getFloat(param0: number): number;
			public requery(): boolean;
			/** @deprecated */
			public getUpdatedField(param0: number): any;
			public isAfterLast(): boolean;
			public unregisterDataSetObserver(param0: android.database.DataSetObserver): void;
			public getColumnIndexOrThrow(param0: string): number;
			public setExtras(param0: android.os.Bundle): void;
			public onMove(param0: number, param1: number): boolean;
			/** @deprecated */
			public deactivate(): void;
			public getCount(): number;
			public getShort(param0: number): number;
			public getType(param0: number): number;
			public isNull(param0: number): boolean;
			public getDouble(param0: number): number;
			public getColumnName(param0: number): string;
			public getString(param0: number): string;
			public deactivate(): void;
			public copyStringToBuffer(param0: number, param1: android.database.CharArrayBuffer): void;
			public constructor();
			public move(param0: number): boolean;
			public registerContentObserver(param0: android.database.ContentObserver): void;
			public getColumnIndex(param0: string): number;
			public moveToPrevious(): boolean;
			public fillWindow(param0: number, param1: android.database.CursorWindow): void;
			public getExtras(): android.os.Bundle;
			/** @deprecated */
			public isFieldUpdated(param0: number): boolean;
			public getInt(param0: number): number;
			public getWantsAllOnMoveCalls(): boolean;
			public isClosed(): boolean;
			public registerDataSetObserver(param0: android.database.DataSetObserver): void;
			public onChange(param0: boolean): void;
			public getPosition(): number;
			public getWindow(): android.database.CursorWindow;
			public getColumnNames(): native.Array<string>;
			public isBeforeFirst(): boolean;
			public moveToFirst(): boolean;
			public getNotificationUri(): android.net.Uri;
			public respond(param0: android.os.Bundle): android.os.Bundle;
			public isLast(): boolean;
			public getBlob(param0: number): native.Array<number>;
			public close(): void;
			public moveToNext(): boolean;
			public setNotificationUri(param0: android.content.ContentResolver, param1: android.net.Uri): void;
			public finalize(): void;
			public moveToLast(): boolean;
			public getColumnCount(): number;
			public checkPosition(): void;
			public unregisterContentObserver(param0: android.database.ContentObserver): void;
			public isFirst(): boolean;
			public moveToPosition(param0: number): boolean;
			public getLong(param0: number): number;
		}
		export module AbstractCursor {
			export class SelfContentObserver extends android.database.ContentObserver {
				public static class: java.lang.Class<android.database.AbstractCursor.SelfContentObserver>;
				public deliverSelfNotifications(): boolean;
				public constructor(param0: android.database.AbstractCursor);
				public onChange(param0: boolean, param1: android.net.Uri): void;
				public constructor(param0: android.os.Handler);
				public onChange(param0: boolean): void;
			}
		}
	}
}

declare module android {
	export module database {
		export abstract class AbstractWindowedCursor extends android.database.AbstractCursor {
			public static class: java.lang.Class<android.database.AbstractWindowedCursor>;
			public mWindow: android.database.CursorWindow;
			/** @deprecated */
			public isBlob(param0: number): boolean;
			public isNull(param0: number): boolean;
			public checkPosition(): void;
			public getDouble(param0: number): number;
			public getString(param0: number): string;
			public getFloat(param0: number): number;
			public copyStringToBuffer(param0: number, param1: android.database.CharArrayBuffer): void;
			public constructor();
			public setWindow(param0: android.database.CursorWindow): void;
			/** @deprecated */
			public isString(param0: number): boolean;
			/** @deprecated */
			public isFloat(param0: number): boolean;
			public getWindow(): android.database.CursorWindow;
			public hasWindow(): boolean;
			public getLong(param0: number): number;
			public onMove(param0: number, param1: number): boolean;
			/** @deprecated */
			public isLong(param0: number): boolean;
			public getBlob(param0: number): native.Array<number>;
			public getShort(param0: number): number;
			public getType(param0: number): number;
			public fillWindow(param0: number, param1: android.database.CursorWindow): void;
			public getInt(param0: number): number;
		}
	}
}

declare module android {
	export module database {
		export class CharArrayBuffer extends java.lang.Object {
			public static class: java.lang.Class<android.database.CharArrayBuffer>;
			public data: native.Array<string>;
			public sizeCopied: number;
			public constructor(param0: native.Array<string>);
			public constructor(param0: number);
		}
	}
}

declare module android {
	export module database {
		export class ContentObservable extends android.database.Observable<android.database.ContentObserver> {
			public static class: java.lang.Class<android.database.ContentObservable>;
			public registerObserver(param0: android.database.ContentObserver): void;
			public registerObserver(param0: any): void;
			public dispatchChange(param0: boolean, param1: android.net.Uri): void;
			/** @deprecated */
			public dispatchChange(param0: boolean): void;
			public constructor();
			/** @deprecated */
			public notifyChange(param0: boolean): void;
		}
	}
}

declare module android {
	export module database {
		export abstract class ContentObserver extends java.lang.Object {
			public static class: java.lang.Class<android.database.ContentObserver>;
			public deliverSelfNotifications(): boolean;
			public onChange(param0: boolean): void;
			public onChange(param0: boolean, param1: android.net.Uri): void;
			public constructor(param0: android.os.Handler);
			public dispatchChange(param0: boolean, param1: android.net.Uri): void;
			/** @deprecated */
			public dispatchChange(param0: boolean): void;
		}
	}
}

declare module android {
	export module database {
		export class CrossProcessCursor extends java.lang.Object implements android.database.Cursor {
			public static class: java.lang.Class<android.database.CrossProcessCursor>;
			/**
			 * Constructs a new instance of the android.database.CrossProcessCursor interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				getWindow(): android.database.CursorWindow;
				fillWindow(param0: number, param1: android.database.CursorWindow): void;
				onMove(param0: number, param1: number): boolean;
				getCount(): number;
				getPosition(): number;
				move(param0: number): boolean;
				moveToPosition(param0: number): boolean;
				moveToFirst(): boolean;
				moveToLast(): boolean;
				moveToNext(): boolean;
				moveToPrevious(): boolean;
				isFirst(): boolean;
				isLast(): boolean;
				isBeforeFirst(): boolean;
				isAfterLast(): boolean;
				getColumnIndex(param0: string): number;
				getColumnIndexOrThrow(param0: string): number;
				getColumnName(param0: number): string;
				getColumnNames(): native.Array<string>;
				getColumnCount(): number;
				getBlob(param0: number): native.Array<number>;
				getString(param0: number): string;
				copyStringToBuffer(param0: number, param1: android.database.CharArrayBuffer): void;
				getShort(param0: number): number;
				getInt(param0: number): number;
				getLong(param0: number): number;
				getFloat(param0: number): number;
				getDouble(param0: number): number;
				getType(param0: number): number;
				isNull(param0: number): boolean;
				deactivate(): void;
				requery(): boolean;
				close(): void;
				isClosed(): boolean;
				registerContentObserver(param0: android.database.ContentObserver): void;
				unregisterContentObserver(param0: android.database.ContentObserver): void;
				registerDataSetObserver(param0: android.database.DataSetObserver): void;
				unregisterDataSetObserver(param0: android.database.DataSetObserver): void;
				setNotificationUri(param0: android.content.ContentResolver, param1: android.net.Uri): void;
				getNotificationUri(): android.net.Uri;
				getWantsAllOnMoveCalls(): boolean;
				setExtras(param0: android.os.Bundle): void;
				getExtras(): android.os.Bundle;
				respond(param0: android.os.Bundle): android.os.Bundle;
				close(): void;
				close(): void;
			});
			public constructor();
			public static FIELD_TYPE_INTEGER: number;
			public static FIELD_TYPE_BLOB: number;
			public static FIELD_TYPE_NULL: number;
			public static FIELD_TYPE_STRING: number;
			public static FIELD_TYPE_FLOAT: number;
			public isClosed(): boolean;
			public registerDataSetObserver(param0: android.database.DataSetObserver): void;
			/** @deprecated */
			public requery(): boolean;
			public getFloat(param0: number): number;
			public getPosition(): number;
			public getWindow(): android.database.CursorWindow;
			public isBeforeFirst(): boolean;
			public isAfterLast(): boolean;
			public getColumnNames(): native.Array<string>;
			public moveToFirst(): boolean;
			public unregisterDataSetObserver(param0: android.database.DataSetObserver): void;
			public getNotificationUri(): android.net.Uri;
			public respond(param0: android.os.Bundle): android.os.Bundle;
			public getColumnIndexOrThrow(param0: string): number;
			public setExtras(param0: android.os.Bundle): void;
			public onMove(param0: number, param1: number): boolean;
			/** @deprecated */
			public deactivate(): void;
			public isLast(): boolean;
			public getCount(): number;
			public getBlob(param0: number): native.Array<number>;
			public moveToNext(): boolean;
			public getShort(param0: number): number;
			public close(): void;
			public getType(param0: number): number;
			public setNotificationUri(param0: android.content.ContentResolver, param1: android.net.Uri): void;
			public moveToLast(): boolean;
			public isNull(param0: number): boolean;
			public getColumnCount(): number;
			public getColumnName(param0: number): string;
			public getDouble(param0: number): number;
			public unregisterContentObserver(param0: android.database.ContentObserver): void;
			public isFirst(): boolean;
			public getString(param0: number): string;
			public copyStringToBuffer(param0: number, param1: android.database.CharArrayBuffer): void;
			public move(param0: number): boolean;
			public moveToPosition(param0: number): boolean;
			public getLong(param0: number): number;
			public registerContentObserver(param0: android.database.ContentObserver): void;
			public getColumnIndex(param0: string): number;
			public moveToPrevious(): boolean;
			public fillWindow(param0: number, param1: android.database.CursorWindow): void;
			public getExtras(): android.os.Bundle;
			public getInt(param0: number): number;
			public getWantsAllOnMoveCalls(): boolean;
		}
	}
}

declare module android {
	export module database {
		export class CrossProcessCursorWrapper extends android.database.CursorWrapper implements android.database.CrossProcessCursor {
			public static class: java.lang.Class<android.database.CrossProcessCursorWrapper>;
			public isClosed(): boolean;
			public registerDataSetObserver(param0: android.database.DataSetObserver): void;
			/** @deprecated */
			public requery(): boolean;
			public getFloat(param0: number): number;
			public getPosition(): number;
			public getWindow(): android.database.CursorWindow;
			public isBeforeFirst(): boolean;
			public isAfterLast(): boolean;
			public getColumnNames(): native.Array<string>;
			public moveToFirst(): boolean;
			public unregisterDataSetObserver(param0: android.database.DataSetObserver): void;
			public getNotificationUri(): android.net.Uri;
			public respond(param0: android.os.Bundle): android.os.Bundle;
			public getColumnIndexOrThrow(param0: string): number;
			public setExtras(param0: android.os.Bundle): void;
			public onMove(param0: number, param1: number): boolean;
			/** @deprecated */
			public deactivate(): void;
			public isLast(): boolean;
			public getCount(): number;
			public getBlob(param0: number): native.Array<number>;
			public moveToNext(): boolean;
			public getShort(param0: number): number;
			public close(): void;
			public getType(param0: number): number;
			public setNotificationUri(param0: android.content.ContentResolver, param1: android.net.Uri): void;
			public moveToLast(): boolean;
			public isNull(param0: number): boolean;
			public getColumnCount(): number;
			public getColumnName(param0: number): string;
			public getDouble(param0: number): number;
			public unregisterContentObserver(param0: android.database.ContentObserver): void;
			public isFirst(): boolean;
			public getString(param0: number): string;
			public copyStringToBuffer(param0: number, param1: android.database.CharArrayBuffer): void;
			public move(param0: number): boolean;
			public moveToPosition(param0: number): boolean;
			public constructor(param0: android.database.Cursor);
			public getLong(param0: number): number;
			public registerContentObserver(param0: android.database.ContentObserver): void;
			public getColumnIndex(param0: string): number;
			public moveToPrevious(): boolean;
			public fillWindow(param0: number, param1: android.database.CursorWindow): void;
			public getExtras(): android.os.Bundle;
			public getInt(param0: number): number;
			public getWantsAllOnMoveCalls(): boolean;
		}
	}
}

declare module android {
	export module database {
		export class Cursor extends java.lang.Object implements java.io.Closeable {
			public static class: java.lang.Class<android.database.Cursor>;
			/**
			 * Constructs a new instance of the android.database.Cursor interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				getCount(): number;
				getPosition(): number;
				move(param0: number): boolean;
				moveToPosition(param0: number): boolean;
				moveToFirst(): boolean;
				moveToLast(): boolean;
				moveToNext(): boolean;
				moveToPrevious(): boolean;
				isFirst(): boolean;
				isLast(): boolean;
				isBeforeFirst(): boolean;
				isAfterLast(): boolean;
				getColumnIndex(param0: string): number;
				getColumnIndexOrThrow(param0: string): number;
				getColumnName(param0: number): string;
				getColumnNames(): native.Array<string>;
				getColumnCount(): number;
				getBlob(param0: number): native.Array<number>;
				getString(param0: number): string;
				copyStringToBuffer(param0: number, param1: android.database.CharArrayBuffer): void;
				getShort(param0: number): number;
				getInt(param0: number): number;
				getLong(param0: number): number;
				getFloat(param0: number): number;
				getDouble(param0: number): number;
				getType(param0: number): number;
				isNull(param0: number): boolean;
				deactivate(): void;
				requery(): boolean;
				close(): void;
				isClosed(): boolean;
				registerContentObserver(param0: android.database.ContentObserver): void;
				unregisterContentObserver(param0: android.database.ContentObserver): void;
				registerDataSetObserver(param0: android.database.DataSetObserver): void;
				unregisterDataSetObserver(param0: android.database.DataSetObserver): void;
				setNotificationUri(param0: android.content.ContentResolver, param1: android.net.Uri): void;
				getNotificationUri(): android.net.Uri;
				getWantsAllOnMoveCalls(): boolean;
				setExtras(param0: android.os.Bundle): void;
				getExtras(): android.os.Bundle;
				respond(param0: android.os.Bundle): android.os.Bundle;
				close(): void;
				close(): void;
			});
			public constructor();
			public static FIELD_TYPE_INTEGER: number;
			public static FIELD_TYPE_BLOB: number;
			public static FIELD_TYPE_NULL: number;
			public static FIELD_TYPE_STRING: number;
			public static FIELD_TYPE_FLOAT: number;
			public isClosed(): boolean;
			public registerDataSetObserver(param0: android.database.DataSetObserver): void;
			/** @deprecated */
			public requery(): boolean;
			public getFloat(param0: number): number;
			public getPosition(): number;
			public isBeforeFirst(): boolean;
			public isAfterLast(): boolean;
			public getColumnNames(): native.Array<string>;
			public moveToFirst(): boolean;
			public unregisterDataSetObserver(param0: android.database.DataSetObserver): void;
			public getNotificationUri(): android.net.Uri;
			public respond(param0: android.os.Bundle): android.os.Bundle;
			public getColumnIndexOrThrow(param0: string): number;
			public setExtras(param0: android.os.Bundle): void;
			/** @deprecated */
			public deactivate(): void;
			public isLast(): boolean;
			public getCount(): number;
			public getBlob(param0: number): native.Array<number>;
			public moveToNext(): boolean;
			public getShort(param0: number): number;
			public close(): void;
			public getType(param0: number): number;
			public setNotificationUri(param0: android.content.ContentResolver, param1: android.net.Uri): void;
			public moveToLast(): boolean;
			public isNull(param0: number): boolean;
			public getColumnCount(): number;
			public getColumnName(param0: number): string;
			public getDouble(param0: number): number;
			public unregisterContentObserver(param0: android.database.ContentObserver): void;
			public isFirst(): boolean;
			public getString(param0: number): string;
			public copyStringToBuffer(param0: number, param1: android.database.CharArrayBuffer): void;
			public move(param0: number): boolean;
			public moveToPosition(param0: number): boolean;
			public getLong(param0: number): number;
			public registerContentObserver(param0: android.database.ContentObserver): void;
			public getColumnIndex(param0: string): number;
			public moveToPrevious(): boolean;
			public getExtras(): android.os.Bundle;
			public getInt(param0: number): number;
			public getWantsAllOnMoveCalls(): boolean;
		}
	}
}

declare module android {
	export module database {
		export class CursorIndexOutOfBoundsException extends java.lang.IndexOutOfBoundsException {
			public static class: java.lang.Class<android.database.CursorIndexOutOfBoundsException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
			public constructor(param0: number, param1: number);
		}
	}
}

declare module android {
	export module database {
		export class CursorJoiner extends java.lang.Object {
			public static class: java.lang.Class<android.database.CursorJoiner>;
			public constructor(param0: android.database.Cursor, param1: native.Array<string>, param2: android.database.Cursor, param3: native.Array<string>);
			public iterator(): java.util.Iterator<android.database.CursorJoiner.Result>;
			public next(): android.database.CursorJoiner.Result;
			public hasNext(): boolean;
			public remove(): void;
			public spliterator(): java.util.Spliterator<any>;
			public iterator(): java.util.Iterator<any>;
			public forEach(param0: any /* any*/): void;
		}
		export module CursorJoiner {
			export class Result {
				public static class: java.lang.Class<android.database.CursorJoiner.Result>;
				public static RIGHT: android.database.CursorJoiner.Result;
				public static LEFT: android.database.CursorJoiner.Result;
				public static BOTH: android.database.CursorJoiner.Result;
				public static valueOf(param0: string): android.database.CursorJoiner.Result;
				public static values(): native.Array<android.database.CursorJoiner.Result>;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			}
		}
	}
}

declare module android {
	export module database {
		export class CursorWindow extends android.database.sqlite.SQLiteClosable implements android.os.Parcelable {
			public static class: java.lang.Class<android.database.CursorWindow>;
			public static CREATOR: android.os.Parcelable.Creator<android.database.CursorWindow>;
			public getShort(param0: number, param1: number): number;
			public getType(param0: number, param1: number): number;
			public getStartPosition(): number;
			public copyStringToBuffer(param0: number, param1: number, param2: android.database.CharArrayBuffer): void;
			public onAllReferencesReleased(): void;
			/** @deprecated */
			public isFloat(param0: number, param1: number): boolean;
			public allocRow(): boolean;
			public getBlob(param0: number, param1: number): native.Array<number>;
			public putNull(param0: number, param1: number): boolean;
			public getLong(param0: number, param1: number): number;
			/** @deprecated */
			public isBlob(param0: number, param1: number): boolean;
			public getNumRows(): number;
			public getInt(param0: number, param1: number): number;
			public setStartPosition(param0: number): void;
			public putBlob(param0: native.Array<number>, param1: number, param2: number): boolean;
			public constructor(param0: string, param1: number);
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getFloat(param0: number, param1: number): number;
			/** @deprecated */
			public isNull(param0: number, param1: number): boolean;
			public close(): void;
			public constructor(param0: string);
			public finalize(): void;
			public setNumColumns(param0: number): boolean;
			/** @deprecated */
			public isString(param0: number, param1: number): boolean;
			public putString(param0: string, param1: number, param2: number): boolean;
			public putDouble(param0: number, param1: number, param2: number): boolean;
			public clear(): void;
			public getString(param0: number, param1: number): string;
			public getDouble(param0: number, param1: number): number;
			public static newFromParcel(param0: android.os.Parcel): android.database.CursorWindow;
			public constructor();
			/** @deprecated */
			public isLong(param0: number, param1: number): boolean;
			public freeLastRow(): void;
			public toString(): string;
			public describeContents(): number;
			/** @deprecated */
			public constructor(param0: boolean);
			public putLong(param0: number, param1: number, param2: number): boolean;
		}
	}
}

declare module android {
	export module database {
		export class CursorWrapper extends java.lang.Object implements android.database.Cursor {
			public static class: java.lang.Class<android.database.CursorWrapper>;
			public isClosed(): boolean;
			public registerDataSetObserver(param0: android.database.DataSetObserver): void;
			/** @deprecated */
			public requery(): boolean;
			public getFloat(param0: number): number;
			public getPosition(): number;
			public getWrappedCursor(): android.database.Cursor;
			public getColumnNames(): native.Array<string>;
			public isAfterLast(): boolean;
			public isBeforeFirst(): boolean;
			public moveToFirst(): boolean;
			public getNotificationUri(): android.net.Uri;
			public unregisterDataSetObserver(param0: android.database.DataSetObserver): void;
			public respond(param0: android.os.Bundle): android.os.Bundle;
			public getColumnIndexOrThrow(param0: string): number;
			public setExtras(param0: android.os.Bundle): void;
			/** @deprecated */
			public deactivate(): void;
			public isLast(): boolean;
			public getCount(): number;
			public getBlob(param0: number): native.Array<number>;
			public close(): void;
			public getShort(param0: number): number;
			public moveToNext(): boolean;
			public getType(param0: number): number;
			public setNotificationUri(param0: android.content.ContentResolver, param1: android.net.Uri): void;
			public moveToLast(): boolean;
			public isNull(param0: number): boolean;
			public getColumnCount(): number;
			public getColumnName(param0: number): string;
			public getDouble(param0: number): number;
			public unregisterContentObserver(param0: android.database.ContentObserver): void;
			public isFirst(): boolean;
			public getString(param0: number): string;
			public copyStringToBuffer(param0: number, param1: android.database.CharArrayBuffer): void;
			public move(param0: number): boolean;
			public moveToPosition(param0: number): boolean;
			public constructor(param0: android.database.Cursor);
			public getLong(param0: number): number;
			public registerContentObserver(param0: android.database.ContentObserver): void;
			public getColumnIndex(param0: string): number;
			public moveToPrevious(): boolean;
			public getExtras(): android.os.Bundle;
			public getInt(param0: number): number;
			public getWantsAllOnMoveCalls(): boolean;
		}
	}
}

declare module android {
	export module database {
		export class DataSetObservable extends android.database.Observable<android.database.DataSetObserver> {
			public static class: java.lang.Class<android.database.DataSetObservable>;
			public notifyChanged(): void;
			public constructor();
			public notifyInvalidated(): void;
		}
	}
}

declare module android {
	export module database {
		export abstract class DataSetObserver extends java.lang.Object {
			public static class: java.lang.Class<android.database.DataSetObserver>;
			public onInvalidated(): void;
			public constructor();
			public onChanged(): void;
		}
	}
}

declare module android {
	export module database {
		export class DatabaseErrorHandler extends java.lang.Object {
			public static class: java.lang.Class<android.database.DatabaseErrorHandler>;
			/**
			 * Constructs a new instance of the android.database.DatabaseErrorHandler interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				onCorruption(param0: android.database.sqlite.SQLiteDatabase): void;
			});
			public constructor();
			public onCorruption(param0: android.database.sqlite.SQLiteDatabase): void;
		}
	}
}

declare module android {
	export module database {
		export class DatabaseUtils extends java.lang.Object {
			public static class: java.lang.Class<android.database.DatabaseUtils>;
			public static STATEMENT_ABORT: number;
			public static STATEMENT_ATTACH: number;
			public static STATEMENT_BEGIN: number;
			public static STATEMENT_COMMIT: number;
			public static STATEMENT_DDL: number;
			public static STATEMENT_OTHER: number;
			public static STATEMENT_PRAGMA: number;
			public static STATEMENT_SELECT: number;
			public static STATEMENT_UNPREPARED: number;
			public static STATEMENT_UPDATE: number;
			public static queryNumEntries(param0: android.database.sqlite.SQLiteDatabase, param1: string, param2: string, param3: native.Array<string>): number;
			public static createDbFromSqlStatements(param0: android.content.Context, param1: string, param2: number, param3: string): void;
			public static cursorDoubleToCursorValues(param0: android.database.Cursor, param1: string, param2: android.content.ContentValues): void;
			public static longForQuery(param0: android.database.sqlite.SQLiteDatabase, param1: string, param2: native.Array<string>): number;
			public static readExceptionWithFileNotFoundExceptionFromParcel(param0: android.os.Parcel): void;
			public static dumpCursor(param0: android.database.Cursor, param1: java.lang.StringBuilder): void;
			public static cursorFloatToContentValuesIfPresent(param0: android.database.Cursor, param1: android.content.ContentValues, param2: string): void;
			public static dumpCurrentRow(param0: android.database.Cursor, param1: java.io.PrintStream): void;
			public static cursorDoubleToContentValuesIfPresent(param0: android.database.Cursor, param1: android.content.ContentValues, param2: string): void;
			public static cursorRowToContentValues(param0: android.database.Cursor, param1: android.content.ContentValues): void;
			public static cursorLongToContentValuesIfPresent(param0: android.database.Cursor, param1: android.content.ContentValues, param2: string): void;
			public static readExceptionFromParcel(param0: android.os.Parcel): void;
			public static dumpCurrentRow(param0: android.database.Cursor, param1: java.lang.StringBuilder): void;
			public static dumpCurrentRow(param0: android.database.Cursor): void;
			public static writeExceptionToParcel(param0: android.os.Parcel, param1: java.lang.Exception): void;
			public static queryNumEntries(param0: android.database.sqlite.SQLiteDatabase, param1: string): number;
			public static dumpCursorToString(param0: android.database.Cursor): string;
			public static blobFileDescriptorForQuery(param0: android.database.sqlite.SQLiteStatement, param1: native.Array<string>): android.os.ParcelFileDescriptor;
			public static cursorStringToInsertHelper(param0: android.database.Cursor, param1: string, param2: android.database.DatabaseUtils.InsertHelper, param3: number): void;
			public static queryNumEntries(param0: android.database.sqlite.SQLiteDatabase, param1: string, param2: string): number;
			public static appendEscapedSQLString(param0: java.lang.StringBuilder, param1: string): void;
			public static blobFileDescriptorForQuery(param0: android.database.sqlite.SQLiteDatabase, param1: string, param2: native.Array<string>): android.os.ParcelFileDescriptor;
			public static cursorLongToContentValues(param0: android.database.Cursor, param1: string, param2: android.content.ContentValues): void;
			public static appendValueToSql(param0: java.lang.StringBuilder, param1: any): void;
			public static cursorLongToContentValues(param0: android.database.Cursor, param1: string, param2: android.content.ContentValues, param3: string): void;
			public static getHexCollationKey(param0: string): string;
			public static cursorDoubleToContentValues(param0: android.database.Cursor, param1: string, param2: android.content.ContentValues, param3: string): void;
			public static cursorStringToContentValuesIfPresent(param0: android.database.Cursor, param1: android.content.ContentValues, param2: string): void;
			public static dumpCursor(param0: android.database.Cursor): void;
			public static sqlEscapeString(param0: string): string;
			public static getSqlStatementType(param0: string): number;
			public static cursorStringToContentValues(param0: android.database.Cursor, param1: string, param2: android.content.ContentValues, param3: string): void;
			public static readExceptionWithOperationApplicationExceptionFromParcel(param0: android.os.Parcel): void;
			public constructor();
			public static longForQuery(param0: android.database.sqlite.SQLiteStatement, param1: native.Array<string>): number;
			public static cursorIntToContentValues(param0: android.database.Cursor, param1: string, param2: android.content.ContentValues): void;
			public static getCollationKey(param0: string): string;
			public static stringForQuery(param0: android.database.sqlite.SQLiteStatement, param1: native.Array<string>): string;
			public static appendSelectionArgs(param0: native.Array<string>, param1: native.Array<string>): native.Array<string>;
			public static stringForQuery(param0: android.database.sqlite.SQLiteDatabase, param1: string, param2: native.Array<string>): string;
			public static concatenateWhere(param0: string, param1: string): string;
			public static cursorIntToContentValuesIfPresent(param0: android.database.Cursor, param1: android.content.ContentValues, param2: string): void;
			public static dumpCurrentRowToString(param0: android.database.Cursor): string;
			public static cursorShortToContentValuesIfPresent(param0: android.database.Cursor, param1: android.content.ContentValues, param2: string): void;
			public static cursorStringToContentValues(param0: android.database.Cursor, param1: string, param2: android.content.ContentValues): void;
			public static cursorIntToContentValues(param0: android.database.Cursor, param1: string, param2: android.content.ContentValues, param3: string): void;
			public static bindObjectToProgram(param0: android.database.sqlite.SQLiteProgram, param1: number, param2: any): void;
			public static dumpCursor(param0: android.database.Cursor, param1: java.io.PrintStream): void;
		}
		export module DatabaseUtils {
			export class InsertHelper extends java.lang.Object {
				public static class: java.lang.Class<android.database.DatabaseUtils.InsertHelper>;
				public replace(param0: android.content.ContentValues): number;
				public bind(param0: number, param1: native.Array<number>): void;
				public bind(param0: number, param1: boolean): void;
				public bind(param0: number, param1: string): void;
				public close(): void;
				public getColumnIndex(param0: string): number;
				public prepareForReplace(): void;
				public prepareForInsert(): void;
				public bindNull(param0: number): void;
				public constructor(param0: android.database.sqlite.SQLiteDatabase, param1: string);
				public bind(param0: number, param1: number): void;
				public insert(param0: android.content.ContentValues): number;
				public execute(): number;
			}
		}
	}
}

declare module android {
	export module database {
		export class DefaultDatabaseErrorHandler extends java.lang.Object implements android.database.DatabaseErrorHandler {
			public static class: java.lang.Class<android.database.DefaultDatabaseErrorHandler>;
			public onCorruption(param0: android.database.sqlite.SQLiteDatabase): void;
			public constructor();
		}
	}
}

declare module android {
	export module database {
		export class MatrixCursor extends android.database.AbstractCursor {
			public static class: java.lang.Class<android.database.MatrixCursor>;
			public isNull(param0: number): boolean;
			public constructor(param0: native.Array<string>, param1: number);
			public getDouble(param0: number): number;
			public addRow(param0: java.lang.Iterable<any>): void;
			public getString(param0: number): string;
			public getFloat(param0: number): number;
			public constructor();
			public newRow(): android.database.MatrixCursor.RowBuilder;
			public getWindow(): android.database.CursorWindow;
			public getColumnNames(): native.Array<string>;
			public constructor(param0: native.Array<string>);
			public getLong(param0: number): number;
			public onMove(param0: number, param1: number): boolean;
			public addRow(param0: native.Array<any>): void;
			public getCount(): number;
			public getBlob(param0: number): native.Array<number>;
			public getShort(param0: number): number;
			public getType(param0: number): number;
			public fillWindow(param0: number, param1: android.database.CursorWindow): void;
			public getInt(param0: number): number;
		}
		export module MatrixCursor {
			export class RowBuilder extends java.lang.Object {
				public static class: java.lang.Class<android.database.MatrixCursor.RowBuilder>;
				public add(param0: string, param1: any): android.database.MatrixCursor.RowBuilder;
				public add(param0: any): android.database.MatrixCursor.RowBuilder;
			}
		}
	}
}

declare module android {
	export module database {
		export class MergeCursor extends android.database.AbstractCursor {
			public static class: java.lang.Class<android.database.MergeCursor>;
			public isNull(param0: number): boolean;
			public getDouble(param0: number): number;
			public unregisterContentObserver(param0: android.database.ContentObserver): void;
			public registerDataSetObserver(param0: android.database.DataSetObserver): void;
			public getString(param0: number): string;
			public deactivate(): void;
			public getFloat(param0: number): number;
			public requery(): boolean;
			public constructor(param0: native.Array<android.database.Cursor>);
			public constructor();
			public getWindow(): android.database.CursorWindow;
			public getColumnNames(): native.Array<string>;
			public unregisterDataSetObserver(param0: android.database.DataSetObserver): void;
			public getLong(param0: number): number;
			public registerContentObserver(param0: android.database.ContentObserver): void;
			public onMove(param0: number, param1: number): boolean;
			public getCount(): number;
			public getBlob(param0: number): native.Array<number>;
			public getShort(param0: number): number;
			public close(): void;
			public getType(param0: number): number;
			public fillWindow(param0: number, param1: android.database.CursorWindow): void;
			public getInt(param0: number): number;
		}
	}
}

declare module android {
	export module database {
		export abstract class Observable<T>  extends java.lang.Object {
			public static class: java.lang.Class<android.database.Observable<any>>;
			public mObservers: java.util.ArrayList<T>;
			public registerObserver(param0: T): void;
			public unregisterAll(): void;
			public unregisterObserver(param0: T): void;
			public constructor();
		}
	}
}

declare module android {
	export module database {
		export class SQLException extends java.lang.RuntimeException {
			public static class: java.lang.Class<android.database.SQLException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module android {
	export module database {
		export class StaleDataException extends java.lang.RuntimeException {
			public static class: java.lang.Class<android.database.StaleDataException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module android {
	export module database {
		export module sqlite {
			export class SQLiteAbortException extends android.database.sqlite.SQLiteException {
				public static class: java.lang.Class<android.database.sqlite.SQLiteAbortException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module android {
	export module database {
		export module sqlite {
			export class SQLiteAccessPermException extends android.database.sqlite.SQLiteException {
				public static class: java.lang.Class<android.database.sqlite.SQLiteAccessPermException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module android {
	export module database {
		export module sqlite {
			export class SQLiteBindOrColumnIndexOutOfRangeException extends android.database.sqlite.SQLiteException {
				public static class: java.lang.Class<android.database.sqlite.SQLiteBindOrColumnIndexOutOfRangeException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module android {
	export module database {
		export module sqlite {
			export class SQLiteBlobTooBigException extends android.database.sqlite.SQLiteException {
				public static class: java.lang.Class<android.database.sqlite.SQLiteBlobTooBigException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module android {
	export module database {
		export module sqlite {
			export class SQLiteCantOpenDatabaseException extends android.database.sqlite.SQLiteException {
				public static class: java.lang.Class<android.database.sqlite.SQLiteCantOpenDatabaseException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module android {
	export module database {
		export module sqlite {
			export abstract class SQLiteClosable extends java.lang.Object implements java.io.Closeable {
				public static class: java.lang.Class<android.database.sqlite.SQLiteClosable>;
				public releaseReference(): void;
				public acquireReference(): void;
				public close(): void;
				/** @deprecated */
				public onAllReferencesReleasedFromContainer(): void;
				/** @deprecated */
				public releaseReferenceFromContainer(): void;
				public constructor();
				public onAllReferencesReleased(): void;
			}
		}
	}
}

declare module android {
	export module database {
		export module sqlite {
			export class SQLiteConstraintException extends android.database.sqlite.SQLiteException {
				public static class: java.lang.Class<android.database.sqlite.SQLiteConstraintException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module android {
	export module database {
		export module sqlite {
			export class SQLiteCursor extends android.database.AbstractWindowedCursor {
				public static class: java.lang.Class<android.database.sqlite.SQLiteCursor>;
				public getDatabase(): android.database.sqlite.SQLiteDatabase;
				public getColumnNames(): native.Array<string>;
				public requery(): boolean;
				public close(): void;
				public setSelectionArguments(param0: native.Array<string>): void;
				public constructor(param0: android.database.sqlite.SQLiteCursorDriver, param1: string, param2: android.database.sqlite.SQLiteQuery);
				public onMove(param0: number, param1: number): boolean;
				public fillWindow(param0: number, param1: android.database.CursorWindow): void;
				public finalize(): void;
				public getCount(): number;
				public getColumnIndex(param0: string): number;
				public constructor();
				public setWindow(param0: android.database.CursorWindow): void;
				public setFillWindowForwardOnly(param0: boolean): void;
				public getWindow(): android.database.CursorWindow;
				/** @deprecated */
				public constructor(param0: android.database.sqlite.SQLiteDatabase, param1: android.database.sqlite.SQLiteCursorDriver, param2: string, param3: android.database.sqlite.SQLiteQuery);
				public deactivate(): void;
			}
		}
	}
}

declare module android {
	export module database {
		export module sqlite {
			export class SQLiteCursorDriver extends java.lang.Object {
				public static class: java.lang.Class<android.database.sqlite.SQLiteCursorDriver>;
				/**
				 * Constructs a new instance of the android.database.sqlite.SQLiteCursorDriver interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					query(param0: android.database.sqlite.SQLiteDatabase.CursorFactory, param1: native.Array<string>): android.database.Cursor;
					cursorDeactivated(): void;
					cursorRequeried(param0: android.database.Cursor): void;
					cursorClosed(): void;
					setBindArguments(param0: native.Array<string>): void;
				});
				public constructor();
				public cursorRequeried(param0: android.database.Cursor): void;
				public setBindArguments(param0: native.Array<string>): void;
				public cursorDeactivated(): void;
				public cursorClosed(): void;
				public query(param0: android.database.sqlite.SQLiteDatabase.CursorFactory, param1: native.Array<string>): android.database.Cursor;
			}
		}
	}
}

declare module android {
	export module database {
		export module sqlite {
			export class SQLiteDatabase extends android.database.sqlite.SQLiteClosable {
				public static class: java.lang.Class<android.database.sqlite.SQLiteDatabase>;
				public static CONFLICT_ABORT: number;
				public static CONFLICT_FAIL: number;
				public static CONFLICT_IGNORE: number;
				public static CONFLICT_NONE: number;
				public static CONFLICT_REPLACE: number;
				public static CONFLICT_ROLLBACK: number;
				public static CREATE_IF_NECESSARY: number;
				public static ENABLE_WRITE_AHEAD_LOGGING: number;
				public static MAX_SQL_CACHE_SIZE: number;
				public static NO_LOCALIZED_COLLATORS: number;
				public static OPEN_READONLY: number;
				public static OPEN_READWRITE: number;
				public static SQLITE_MAX_LIKE_PATTERN_LENGTH: number;
				public beginTransaction(): void;
				public update(param0: string, param1: android.content.ContentValues, param2: string, param3: native.Array<string>): number;
				public compileStatement(param0: string): android.database.sqlite.SQLiteStatement;
				public replace(param0: string, param1: string, param2: android.content.ContentValues): number;
				public needUpgrade(param0: number): boolean;
				public static deleteDatabase(param0: java.io.File): boolean;
				public beginTransactionWithListenerNonExclusive(param0: android.database.sqlite.SQLiteTransactionListener): void;
				public yieldIfContendedSafely(param0: number): boolean;
				public setMaxSqlCacheSize(param0: number): void;
				public static openDatabase(param0: string, param1: android.database.sqlite.SQLiteDatabase.CursorFactory, param2: number): android.database.sqlite.SQLiteDatabase;
				public setVersion(param0: number): void;
				public query(param0: string, param1: native.Array<string>, param2: string, param3: native.Array<string>, param4: string, param5: string, param6: string, param7: string): android.database.Cursor;
				public isDbLockedByCurrentThread(): boolean;
				public isWriteAheadLoggingEnabled(): boolean;
				public static releaseMemory(): number;
				/** @deprecated */
				public markTableSyncable(param0: string, param1: string): void;
				public queryWithFactory(param0: android.database.sqlite.SQLiteDatabase.CursorFactory, param1: boolean, param2: string, param3: native.Array<string>, param4: string, param5: native.Array<string>, param6: string, param7: string, param8: string, param9: string, param10: android.os.CancellationSignal): android.database.Cursor;
				/** @deprecated */
				public yieldIfContended(): boolean;
				public inTransaction(): boolean;
				public enableWriteAheadLogging(): boolean;
				/** @deprecated */
				public setLockingEnabled(param0: boolean): void;
				public close(): void;
				public rawQueryWithFactory(param0: android.database.sqlite.SQLiteDatabase.CursorFactory, param1: string, param2: native.Array<string>, param3: string, param4: android.os.CancellationSignal): android.database.Cursor;
				public execSQL(param0: string): void;
				public setTransactionSuccessful(): void;
				public static openOrCreateDatabase(param0: java.io.File, param1: android.database.sqlite.SQLiteDatabase.CursorFactory): android.database.sqlite.SQLiteDatabase;
				public insertOrThrow(param0: string, param1: string, param2: android.content.ContentValues): number;
				public getPath(): string;
				public toString(): string;
				public yieldIfContendedSafely(): boolean;
				public static openOrCreateDatabase(param0: string, param1: android.database.sqlite.SQLiteDatabase.CursorFactory, param2: android.database.DatabaseErrorHandler): android.database.sqlite.SQLiteDatabase;
				public static openOrCreateDatabase(param0: string, param1: android.database.sqlite.SQLiteDatabase.CursorFactory): android.database.sqlite.SQLiteDatabase;
				public delete(param0: string, param1: string, param2: native.Array<string>): number;
				public getVersion(): number;
				public query(param0: string, param1: native.Array<string>, param2: string, param3: native.Array<string>, param4: string, param5: string, param6: string): android.database.Cursor;
				public static openDatabase(param0: java.io.File, param1: android.database.sqlite.SQLiteDatabase.OpenParams): android.database.sqlite.SQLiteDatabase;
				public beginTransactionWithListener(param0: android.database.sqlite.SQLiteTransactionListener): void;
				public static createInMemory(param0: android.database.sqlite.SQLiteDatabase.OpenParams): android.database.sqlite.SQLiteDatabase;
				public setForeignKeyConstraintsEnabled(param0: boolean): void;
				public getAttachedDbs(): java.util.List<android.util.Pair<string,string>>;
				public rawQuery(param0: string, param1: native.Array<string>, param2: android.os.CancellationSignal): android.database.Cursor;
				public query(param0: boolean, param1: string, param2: native.Array<string>, param3: string, param4: native.Array<string>, param5: string, param6: string, param7: string, param8: string, param9: android.os.CancellationSignal): android.database.Cursor;
				public finalize(): void;
				public validateSql(param0: string, param1: android.os.CancellationSignal): void;
				public beginTransactionNonExclusive(): void;
				public setMaximumSize(param0: number): number;
				/** @deprecated */
				public getSyncedTables(): java.util.Map<string,string>;
				public static create(param0: android.database.sqlite.SQLiteDatabase.CursorFactory): android.database.sqlite.SQLiteDatabase;
				public setPageSize(param0: number): void;
				public static findEditTable(param0: string): string;
				public static openDatabase(param0: string, param1: android.database.sqlite.SQLiteDatabase.CursorFactory, param2: number, param3: android.database.DatabaseErrorHandler): android.database.sqlite.SQLiteDatabase;
				public getMaximumSize(): number;
				public isDatabaseIntegrityOk(): boolean;
				public execSQL(param0: string, param1: native.Array<any>): void;
				public onAllReferencesReleased(): void;
				public replaceOrThrow(param0: string, param1: string, param2: android.content.ContentValues): number;
				/** @deprecated */
				public isDbLockedByOtherThreads(): boolean;
				public disableWriteAheadLogging(): void;
				public updateWithOnConflict(param0: string, param1: android.content.ContentValues, param2: string, param3: native.Array<string>, param4: number): number;
				public insert(param0: string, param1: string, param2: android.content.ContentValues): number;
				public getPageSize(): number;
				public query(param0: boolean, param1: string, param2: native.Array<string>, param3: string, param4: native.Array<string>, param5: string, param6: string, param7: string, param8: string): android.database.Cursor;
				public isReadOnly(): boolean;
				public insertWithOnConflict(param0: string, param1: string, param2: android.content.ContentValues, param3: number): number;
				public isOpen(): boolean;
				public endTransaction(): void;
				/** @deprecated */
				public markTableSyncable(param0: string, param1: string, param2: string): void;
				public rawQuery(param0: string, param1: native.Array<string>): android.database.Cursor;
				public setLocale(param0: java.util.Locale): void;
				public rawQueryWithFactory(param0: android.database.sqlite.SQLiteDatabase.CursorFactory, param1: string, param2: native.Array<string>, param3: string): android.database.Cursor;
				public queryWithFactory(param0: android.database.sqlite.SQLiteDatabase.CursorFactory, param1: boolean, param2: string, param3: native.Array<string>, param4: string, param5: native.Array<string>, param6: string, param7: string, param8: string, param9: string): android.database.Cursor;
			}
			export module SQLiteDatabase {
				export class CursorFactory extends java.lang.Object {
					public static class: java.lang.Class<android.database.sqlite.SQLiteDatabase.CursorFactory>;
					/**
					 * Constructs a new instance of the android.database.sqlite.SQLiteDatabase$CursorFactory interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						newCursor(param0: android.database.sqlite.SQLiteDatabase, param1: android.database.sqlite.SQLiteCursorDriver, param2: string, param3: android.database.sqlite.SQLiteQuery): android.database.Cursor;
					});
					public constructor();
					public newCursor(param0: android.database.sqlite.SQLiteDatabase, param1: android.database.sqlite.SQLiteCursorDriver, param2: string, param3: android.database.sqlite.SQLiteQuery): android.database.Cursor;
				}
				export class OpenParams extends java.lang.Object {
					public static class: java.lang.Class<android.database.sqlite.SQLiteDatabase.OpenParams>;
					public getIdleConnectionTimeout(): number;
					public getOpenFlags(): number;
					public getLookasideSlotSize(): number;
					public getJournalMode(): string;
					public getCursorFactory(): android.database.sqlite.SQLiteDatabase.CursorFactory;
					public getLookasideSlotCount(): number;
					public getSynchronousMode(): string;
					public getErrorHandler(): android.database.DatabaseErrorHandler;
				}
				export module OpenParams {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.database.sqlite.SQLiteDatabase.OpenParams.Builder>;
						public build(): android.database.sqlite.SQLiteDatabase.OpenParams;
						public constructor();
						public addOpenFlags(param0: number): android.database.sqlite.SQLiteDatabase.OpenParams.Builder;
						public setErrorHandler(param0: android.database.DatabaseErrorHandler): android.database.sqlite.SQLiteDatabase.OpenParams.Builder;
						public setJournalMode(param0: string): android.database.sqlite.SQLiteDatabase.OpenParams.Builder;
						public setLookasideConfig(param0: number, param1: number): android.database.sqlite.SQLiteDatabase.OpenParams.Builder;
						public removeOpenFlags(param0: number): android.database.sqlite.SQLiteDatabase.OpenParams.Builder;
						public setCursorFactory(param0: android.database.sqlite.SQLiteDatabase.CursorFactory): android.database.sqlite.SQLiteDatabase.OpenParams.Builder;
						public setIdleConnectionTimeout(param0: number): android.database.sqlite.SQLiteDatabase.OpenParams.Builder;
						public setOpenFlags(param0: number): android.database.sqlite.SQLiteDatabase.OpenParams.Builder;
						public setSynchronousMode(param0: string): android.database.sqlite.SQLiteDatabase.OpenParams.Builder;
						public constructor(param0: android.database.sqlite.SQLiteDatabase.OpenParams);
					}
				}
			}
		}
	}
}

declare module android {
	export module database {
		export module sqlite {
			export class SQLiteDatabaseCorruptException extends android.database.sqlite.SQLiteException {
				public static class: java.lang.Class<android.database.sqlite.SQLiteDatabaseCorruptException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module android {
	export module database {
		export module sqlite {
			export class SQLiteDatabaseLockedException extends android.database.sqlite.SQLiteException {
				public static class: java.lang.Class<android.database.sqlite.SQLiteDatabaseLockedException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module android {
	export module database {
		export module sqlite {
			export class SQLiteDatatypeMismatchException extends android.database.sqlite.SQLiteException {
				public static class: java.lang.Class<android.database.sqlite.SQLiteDatatypeMismatchException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module android {
	export module database {
		export module sqlite {
			export class SQLiteDiskIOException extends android.database.sqlite.SQLiteException {
				public static class: java.lang.Class<android.database.sqlite.SQLiteDiskIOException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module android {
	export module database {
		export module sqlite {
			export class SQLiteDoneException extends android.database.sqlite.SQLiteException {
				public static class: java.lang.Class<android.database.sqlite.SQLiteDoneException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module android {
	export module database {
		export module sqlite {
			export class SQLiteException extends android.database.SQLException {
				public static class: java.lang.Class<android.database.sqlite.SQLiteException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module android {
	export module database {
		export module sqlite {
			export class SQLiteFullException extends android.database.sqlite.SQLiteException {
				public static class: java.lang.Class<android.database.sqlite.SQLiteFullException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module android {
	export module database {
		export module sqlite {
			export class SQLiteMisuseException extends android.database.sqlite.SQLiteException {
				public static class: java.lang.Class<android.database.sqlite.SQLiteMisuseException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module android {
	export module database {
		export module sqlite {
			export abstract class SQLiteOpenHelper extends java.lang.Object {
				public static class: java.lang.Class<android.database.sqlite.SQLiteOpenHelper>;
				public onOpen(param0: android.database.sqlite.SQLiteDatabase): void;
				public close(): void;
				public onUpgrade(param0: android.database.sqlite.SQLiteDatabase, param1: number, param2: number): void;
				public getReadableDatabase(): android.database.sqlite.SQLiteDatabase;
				public setOpenParams(param0: android.database.sqlite.SQLiteDatabase.OpenParams): void;
				public setIdleConnectionTimeout(param0: number): void;
				public setLookasideConfig(param0: number, param1: number): void;
				public setWriteAheadLoggingEnabled(param0: boolean): void;
				public onCreate(param0: android.database.sqlite.SQLiteDatabase): void;
				public constructor(param0: android.content.Context, param1: string, param2: android.database.sqlite.SQLiteDatabase.CursorFactory, param3: number, param4: android.database.DatabaseErrorHandler);
				public constructor(param0: android.content.Context, param1: string, param2: android.database.sqlite.SQLiteDatabase.CursorFactory, param3: number);
				public onDowngrade(param0: android.database.sqlite.SQLiteDatabase, param1: number, param2: number): void;
				public constructor(param0: android.content.Context, param1: string, param2: number, param3: android.database.sqlite.SQLiteDatabase.OpenParams);
				public getDatabaseName(): string;
				public getWritableDatabase(): android.database.sqlite.SQLiteDatabase;
				public onConfigure(param0: android.database.sqlite.SQLiteDatabase): void;
			}
		}
	}
}

declare module android {
	export module database {
		export module sqlite {
			export class SQLiteOutOfMemoryException extends android.database.sqlite.SQLiteException {
				public static class: java.lang.Class<android.database.sqlite.SQLiteOutOfMemoryException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module android {
	export module database {
		export module sqlite {
			export abstract class SQLiteProgram extends android.database.sqlite.SQLiteClosable {
				public static class: java.lang.Class<android.database.sqlite.SQLiteProgram>;
				public clearBindings(): void;
				public close(): void;
				public bindAllArgsAsStrings(param0: native.Array<string>): void;
				public bindString(param0: number, param1: string): void;
				public bindDouble(param0: number, param1: number): void;
				public bindBlob(param0: number, param1: native.Array<number>): void;
				public bindLong(param0: number, param1: number): void;
				/** @deprecated */
				public getUniqueId(): number;
				public bindNull(param0: number): void;
				public onAllReferencesReleased(): void;
			}
		}
	}
}

declare module android {
	export module database {
		export module sqlite {
			export class SQLiteQuery extends android.database.sqlite.SQLiteProgram {
				public static class: java.lang.Class<android.database.sqlite.SQLiteQuery>;
				public close(): void;
				public toString(): string;
			}
		}
	}
}

declare module android {
	export module database {
		export module sqlite {
			export class SQLiteQueryBuilder extends java.lang.Object {
				public static class: java.lang.Class<android.database.sqlite.SQLiteQueryBuilder>;
				public static appendColumns(param0: java.lang.StringBuilder, param1: native.Array<string>): void;
				public buildQuery(param0: native.Array<string>, param1: string, param2: string, param3: string, param4: string, param5: string): string;
				public query(param0: android.database.sqlite.SQLiteDatabase, param1: native.Array<string>, param2: string, param3: native.Array<string>, param4: string, param5: string, param6: string): android.database.Cursor;
				public constructor();
				public query(param0: android.database.sqlite.SQLiteDatabase, param1: native.Array<string>, param2: string, param3: native.Array<string>, param4: string, param5: string, param6: string, param7: string): android.database.Cursor;
				public setProjectionMap(param0: java.util.Map<string,string>): void;
				public buildUnionQuery(param0: native.Array<string>, param1: string, param2: string): string;
				public setStrict(param0: boolean): void;
				public setCursorFactory(param0: android.database.sqlite.SQLiteDatabase.CursorFactory): void;
				public setTables(param0: string): void;
				public buildUnionSubQuery(param0: string, param1: native.Array<string>, param2: java.util.Set<string>, param3: number, param4: string, param5: string, param6: string, param7: string): string;
				/** @deprecated */
				public buildUnionSubQuery(param0: string, param1: native.Array<string>, param2: java.util.Set<string>, param3: number, param4: string, param5: string, param6: native.Array<string>, param7: string, param8: string): string;
				public getTables(): string;
				public setDistinct(param0: boolean): void;
				public appendWhere(param0: string): void;
				/** @deprecated */
				public buildQuery(param0: native.Array<string>, param1: string, param2: native.Array<string>, param3: string, param4: string, param5: string, param6: string): string;
				public static buildQueryString(param0: boolean, param1: string, param2: native.Array<string>, param3: string, param4: string, param5: string, param6: string, param7: string): string;
				public appendWhereEscapeString(param0: string): void;
				public query(param0: android.database.sqlite.SQLiteDatabase, param1: native.Array<string>, param2: string, param3: native.Array<string>, param4: string, param5: string, param6: string, param7: string, param8: android.os.CancellationSignal): android.database.Cursor;
			}
		}
	}
}

declare module android {
	export module database {
		export module sqlite {
			export class SQLiteReadOnlyDatabaseException extends android.database.sqlite.SQLiteException {
				public static class: java.lang.Class<android.database.sqlite.SQLiteReadOnlyDatabaseException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module android {
	export module database {
		export module sqlite {
			export class SQLiteStatement extends android.database.sqlite.SQLiteProgram {
				public static class: java.lang.Class<android.database.sqlite.SQLiteStatement>;
				public execute(): void;
				public simpleQueryForString(): string;
				public close(): void;
				public executeUpdateDelete(): number;
				public simpleQueryForLong(): number;
				public simpleQueryForBlobFileDescriptor(): android.os.ParcelFileDescriptor;
				public executeInsert(): number;
				public toString(): string;
			}
		}
	}
}

declare module android {
	export module database {
		export module sqlite {
			export class SQLiteTableLockedException extends android.database.sqlite.SQLiteException {
				public static class: java.lang.Class<android.database.sqlite.SQLiteTableLockedException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module android {
	export module database {
		export module sqlite {
			export class SQLiteTransactionListener extends java.lang.Object {
				public static class: java.lang.Class<android.database.sqlite.SQLiteTransactionListener>;
				/**
				 * Constructs a new instance of the android.database.sqlite.SQLiteTransactionListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onBegin(): void;
					onCommit(): void;
					onRollback(): void;
				});
				public constructor();
				public onCommit(): void;
				public onBegin(): void;
				public onRollback(): void;
			}
		}
	}
}

declare module android {
	export module drm {
		export class DrmConvertedStatus extends java.lang.Object {
			public static class: java.lang.Class<android.drm.DrmConvertedStatus>;
			public static STATUS_ERROR: number;
			public static STATUS_INPUTDATA_ERROR: number;
			public static STATUS_OK: number;
			public convertedData: native.Array<number>;
			public offset: number;
			public statusCode: number;
			public constructor(param0: number, param1: native.Array<number>, param2: number);
		}
	}
}

declare module android {
	export module drm {
		export class DrmErrorEvent extends android.drm.DrmEvent {
			public static class: java.lang.Class<android.drm.DrmErrorEvent>;
			public static TYPE_ACQUIRE_DRM_INFO_FAILED: number;
			public static TYPE_NOT_SUPPORTED: number;
			public static TYPE_NO_INTERNET_CONNECTION: number;
			public static TYPE_OUT_OF_MEMORY: number;
			public static TYPE_PROCESS_DRM_INFO_FAILED: number;
			public static TYPE_REMOVE_ALL_RIGHTS_FAILED: number;
			public static TYPE_RIGHTS_NOT_INSTALLED: number;
			public static TYPE_RIGHTS_RENEWAL_NOT_ALLOWED: number;
			public constructor(param0: number, param1: number, param2: string);
			public constructor(param0: number, param1: number, param2: string, param3: java.util.HashMap<string,any>);
		}
	}
}

declare module android {
	export module drm {
		export class DrmEvent extends java.lang.Object {
			public static class: java.lang.Class<android.drm.DrmEvent>;
			public static DRM_INFO_OBJECT: string;
			public static DRM_INFO_STATUS_OBJECT: string;
			public static TYPE_ALL_RIGHTS_REMOVED: number;
			public static TYPE_DRM_INFO_PROCESSED: number;
			public getMessage(): string;
			public getType(): number;
			public getUniqueId(): number;
			public getAttribute(param0: string): any;
			public constructor(param0: number, param1: number, param2: string);
			public constructor(param0: number, param1: number, param2: string, param3: java.util.HashMap<string,any>);
		}
	}
}

declare module android {
	export module drm {
		export class DrmInfo extends java.lang.Object {
			public static class: java.lang.Class<android.drm.DrmInfo>;
			public constructor(param0: number, param1: string, param2: string);
			public get(param0: string): any;
			public keyIterator(): java.util.Iterator<string>;
			public getData(): native.Array<number>;
			public getMimeType(): string;
			public put(param0: string, param1: any): void;
			public getInfoType(): number;
			public constructor(param0: number, param1: native.Array<number>, param2: string);
			public iterator(): java.util.Iterator<any>;
		}
	}
}

declare module android {
	export module drm {
		export class DrmInfoEvent extends android.drm.DrmEvent {
			public static class: java.lang.Class<android.drm.DrmInfoEvent>;
			public static TYPE_ACCOUNT_ALREADY_REGISTERED: number;
			public static TYPE_ALREADY_REGISTERED_BY_ANOTHER_ACCOUNT: number;
			public static TYPE_REMOVE_RIGHTS: number;
			public static TYPE_RIGHTS_INSTALLED: number;
			public static TYPE_RIGHTS_REMOVED: number;
			public static TYPE_WAIT_FOR_RIGHTS: number;
			public constructor(param0: number, param1: number, param2: string);
			public constructor(param0: number, param1: number, param2: string, param3: java.util.HashMap<string,any>);
		}
	}
}

declare module android {
	export module drm {
		export class DrmInfoRequest extends java.lang.Object {
			public static class: java.lang.Class<android.drm.DrmInfoRequest>;
			public static ACCOUNT_ID: string;
			public static SUBSCRIPTION_ID: string;
			public static TYPE_REGISTRATION_INFO: number;
			public static TYPE_RIGHTS_ACQUISITION_INFO: number;
			public static TYPE_RIGHTS_ACQUISITION_PROGRESS_INFO: number;
			public static TYPE_UNREGISTRATION_INFO: number;
			public get(param0: string): any;
			public getMimeType(): string;
			public keyIterator(): java.util.Iterator<string>;
			public put(param0: string, param1: any): void;
			public constructor(param0: number, param1: string);
			public getInfoType(): number;
			public iterator(): java.util.Iterator<any>;
		}
	}
}

declare module android {
	export module drm {
		export class DrmInfoStatus extends java.lang.Object {
			public static class: java.lang.Class<android.drm.DrmInfoStatus>;
			public static STATUS_ERROR: number;
			public static STATUS_OK: number;
			public data: android.drm.ProcessedData;
			public infoType: number;
			public mimeType: string;
			public statusCode: number;
			public constructor(param0: number, param1: number, param2: android.drm.ProcessedData, param3: string);
		}
	}
}

declare module android {
	export module drm {
		export class DrmManagerClient extends java.lang.Object implements java.lang.AutoCloseable {
			public static class: java.lang.Class<android.drm.DrmManagerClient>;
			public static ERROR_NONE: number;
			public static ERROR_UNKNOWN: number;
			public canHandle(param0: string, param1: string): boolean;
			public getOriginalMimeType(param0: string): string;
			public checkRightsStatus(param0: string, param1: number): number;
			public getConstraints(param0: android.net.Uri, param1: number): android.content.ContentValues;
			public processDrmInfo(param0: android.drm.DrmInfo): number;
			public acquireRights(param0: android.drm.DrmInfoRequest): number;
			public setOnInfoListener(param0: android.drm.DrmManagerClient.OnInfoListener): void;
			public setOnErrorListener(param0: android.drm.DrmManagerClient.OnErrorListener): void;
			public checkRightsStatus(param0: string): number;
			public getAvailableDrmEngines(): native.Array<string>;
			public getMetadata(param0: string): android.content.ContentValues;
			public close(): void;
			public finalize(): void;
			public saveRights(param0: android.drm.DrmRights, param1: string, param2: string): number;
			public convertData(param0: number, param1: native.Array<number>): android.drm.DrmConvertedStatus;
			public openConvertSession(param0: string): number;
			public removeRights(param0: android.net.Uri): number;
			public getDrmObjectType(param0: string, param1: string): number;
			public getDrmObjectType(param0: android.net.Uri, param1: string): number;
			public getConstraints(param0: string, param1: number): android.content.ContentValues;
			public getOriginalMimeType(param0: android.net.Uri): string;
			public checkRightsStatus(param0: android.net.Uri): number;
			/** @deprecated */
			public release(): void;
			public removeRights(param0: string): number;
			public removeAllRights(): number;
			public getMetadata(param0: android.net.Uri): android.content.ContentValues;
			public canHandle(param0: android.net.Uri, param1: string): boolean;
			public closeConvertSession(param0: number): android.drm.DrmConvertedStatus;
			public setOnEventListener(param0: android.drm.DrmManagerClient.OnEventListener): void;
			public constructor(param0: android.content.Context);
			public acquireDrmInfo(param0: android.drm.DrmInfoRequest): android.drm.DrmInfo;
			public checkRightsStatus(param0: android.net.Uri, param1: number): number;
		}
		export module DrmManagerClient {
			export class OnErrorListener extends java.lang.Object {
				public static class: java.lang.Class<android.drm.DrmManagerClient.OnErrorListener>;
				/**
				 * Constructs a new instance of the android.drm.DrmManagerClient$OnErrorListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onError(param0: android.drm.DrmManagerClient, param1: android.drm.DrmErrorEvent): void;
				});
				public constructor();
				public onError(param0: android.drm.DrmManagerClient, param1: android.drm.DrmErrorEvent): void;
			}
			export class OnEventListener extends java.lang.Object {
				public static class: java.lang.Class<android.drm.DrmManagerClient.OnEventListener>;
				/**
				 * Constructs a new instance of the android.drm.DrmManagerClient$OnEventListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onEvent(param0: android.drm.DrmManagerClient, param1: android.drm.DrmEvent): void;
				});
				public constructor();
				public onEvent(param0: android.drm.DrmManagerClient, param1: android.drm.DrmEvent): void;
			}
			export class OnInfoListener extends java.lang.Object {
				public static class: java.lang.Class<android.drm.DrmManagerClient.OnInfoListener>;
				/**
				 * Constructs a new instance of the android.drm.DrmManagerClient$OnInfoListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onInfo(param0: android.drm.DrmManagerClient, param1: android.drm.DrmInfoEvent): void;
				});
				public constructor();
				public onInfo(param0: android.drm.DrmManagerClient, param1: android.drm.DrmInfoEvent): void;
			}
		}
	}
}

declare module android {
	export module drm {
		export class DrmRights extends java.lang.Object {
			public static class: java.lang.Class<android.drm.DrmRights>;
			public constructor(param0: string, param1: string);
			public getSubscriptionId(): string;
			public getAccountId(): string;
			public constructor(param0: java.io.File, param1: string);
			public getData(): native.Array<number>;
			public getMimeType(): string;
			public constructor(param0: string, param1: string, param2: string);
			public constructor(param0: android.drm.ProcessedData, param1: string);
			public constructor(param0: string, param1: string, param2: string, param3: string);
		}
	}
}

declare module android {
	export module drm {
		export class DrmStore extends java.lang.Object {
			public static class: java.lang.Class<android.drm.DrmStore>;
			/** @deprecated */
			public constructor();
		}
		export module DrmStore {
			export class Action extends java.lang.Object {
				public static class: java.lang.Class<android.drm.DrmStore.Action>;
				public static DEFAULT: number;
				public static DISPLAY: number;
				public static EXECUTE: number;
				public static OUTPUT: number;
				public static PLAY: number;
				public static PREVIEW: number;
				public static RINGTONE: number;
				public static TRANSFER: number;
				/** @deprecated */
				public constructor();
			}
			export class ConstraintsColumns extends java.lang.Object {
				public static class: java.lang.Class<android.drm.DrmStore.ConstraintsColumns>;
				/**
				 * Constructs a new instance of the android.drm.DrmStore$ConstraintsColumns interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
				});
				public constructor();
				public static LICENSE_AVAILABLE_TIME: string;
				public static EXTENDED_METADATA: string;
				public static LICENSE_EXPIRY_TIME: string;
				public static MAX_REPEAT_COUNT: string;
				public static LICENSE_START_TIME: string;
				public static REMAINING_REPEAT_COUNT: string;
			}
			export class DrmObjectType extends java.lang.Object {
				public static class: java.lang.Class<android.drm.DrmStore.DrmObjectType>;
				public static CONTENT: number;
				public static RIGHTS_OBJECT: number;
				public static TRIGGER_OBJECT: number;
				public static UNKNOWN: number;
				/** @deprecated */
				public constructor();
			}
			export class Playback extends java.lang.Object {
				public static class: java.lang.Class<android.drm.DrmStore.Playback>;
				public static PAUSE: number;
				public static RESUME: number;
				public static START: number;
				public static STOP: number;
				/** @deprecated */
				public constructor();
			}
			export class RightsStatus extends java.lang.Object {
				public static class: java.lang.Class<android.drm.DrmStore.RightsStatus>;
				public static RIGHTS_EXPIRED: number;
				public static RIGHTS_INVALID: number;
				public static RIGHTS_NOT_ACQUIRED: number;
				public static RIGHTS_VALID: number;
				/** @deprecated */
				public constructor();
			}
		}
	}
}

declare module android {
	export module drm {
		export class DrmSupportInfo extends java.lang.Object {
			public static class: java.lang.Class<android.drm.DrmSupportInfo>;
			public equals(param0: any): boolean;
			public getFileSuffixIterator(): java.util.Iterator<string>;
			public addMimeType(param0: string): void;
			public addFileSuffix(param0: string): void;
			public getMimeTypeIterator(): java.util.Iterator<string>;
			public setDescription(param0: string): void;
			/** @deprecated */
			public getDescriprition(): string;
			public constructor();
			public getDescription(): string;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module drm {
		export class DrmUtils extends java.lang.Object {
			public static class: java.lang.Class<android.drm.DrmUtils>;
			public static getExtendedMetadataParser(param0: native.Array<number>): android.drm.DrmUtils.ExtendedMetadataParser;
			public constructor();
		}
		export module DrmUtils {
			export class ExtendedMetadataParser extends java.lang.Object {
				public static class: java.lang.Class<android.drm.DrmUtils.ExtendedMetadataParser>;
				public get(param0: string): string;
				public iterator(): java.util.Iterator<string>;
				public keyIterator(): java.util.Iterator<string>;
			}
		}
	}
}

declare module android {
	export module drm {
		export class ProcessedData extends java.lang.Object {
			public static class: java.lang.Class<android.drm.ProcessedData>;
			public getSubscriptionId(): string;
			public getAccountId(): string;
			public getData(): native.Array<number>;
		}
	}
}

declare module android {
	export module gesture {
		export class Gesture extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.gesture.Gesture>;
			public static CREATOR: android.os.Parcelable.Creator<android.gesture.Gesture>;
			public getID(): number;
			public addStroke(param0: android.gesture.GestureStroke): void;
			public getLength(): number;
			public getStrokes(): java.util.ArrayList<android.gesture.GestureStroke>;
			public getBoundingBox(): android.graphics.RectF;
			public toPath(param0: android.graphics.Path, param1: number, param2: number, param3: number, param4: number): android.graphics.Path;
			public toBitmap(param0: number, param1: number, param2: number, param3: number): android.graphics.Bitmap;
			public constructor();
			public toPath(): android.graphics.Path;
			public toPath(param0: android.graphics.Path): android.graphics.Path;
			public clone(): any;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getStrokesCount(): number;
			public toBitmap(param0: number, param1: number, param2: number, param3: number, param4: number): android.graphics.Bitmap;
			public toPath(param0: number, param1: number, param2: number, param3: number): android.graphics.Path;
		}
	}
}

declare module android {
	export module gesture {
		export class GestureLibraries extends java.lang.Object {
			public static class: java.lang.Class<android.gesture.GestureLibraries>;
			public static fromFile(param0: java.io.File): android.gesture.GestureLibrary;
			public static fromRawResource(param0: android.content.Context, param1: number): android.gesture.GestureLibrary;
			public static fromPrivateFile(param0: android.content.Context, param1: string): android.gesture.GestureLibrary;
			public static fromFile(param0: string): android.gesture.GestureLibrary;
		}
	}
}

declare module android {
	export module gesture {
		export abstract class GestureLibrary extends java.lang.Object {
			public static class: java.lang.Class<android.gesture.GestureLibrary>;
			public mStore: android.gesture.GestureStore;
			public isReadOnly(): boolean;
			public addGesture(param0: string, param1: android.gesture.Gesture): void;
			public getGestureEntries(): java.util.Set<string>;
			public removeEntry(param0: string): void;
			public save(): boolean;
			public setSequenceType(param0: number): void;
			public constructor();
			public getSequenceType(): number;
			public load(): boolean;
			public getGestures(param0: string): java.util.ArrayList<android.gesture.Gesture>;
			public removeGesture(param0: string, param1: android.gesture.Gesture): void;
			public recognize(param0: android.gesture.Gesture): java.util.ArrayList<android.gesture.Prediction>;
			public setOrientationStyle(param0: number): void;
			public getOrientationStyle(): number;
		}
	}
}

declare module android {
	export module gesture {
		export class GestureOverlayView extends android.widget.FrameLayout {
			public static class: java.lang.Class<android.gesture.GestureOverlayView>;
			public static GESTURE_STROKE_TYPE_MULTIPLE: number;
			public static GESTURE_STROKE_TYPE_SINGLE: number;
			public static ORIENTATION_HORIZONTAL: number;
			public static ORIENTATION_VERTICAL: number;
			public removeAllOnGesturingListeners(): void;
			public addOnGestureListener(param0: android.gesture.GestureOverlayView.OnGestureListener): void;
			public cancelGesture(): void;
			public onStopNestedScroll(param0: android.view.View): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public addView(param0: android.view.View, param1: number, param2: number): void;
			public requestSendAccessibilityEvent(param0: android.view.View, param1: android.view.accessibility.AccessibilityEvent): boolean;
			public childHasTransientStateChanged(param0: android.view.View, param1: boolean): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public onNestedScrollAccepted(param0: android.view.View, param1: android.view.View, param2: number): void;
			public keyboardNavigationClusterSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(param0: android.view.View): boolean;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public isGestureVisible(): boolean;
			public onDescendantInvalidated(param0: android.view.View, param1: android.view.View): void;
			public onDetachedFromWindow(): void;
			public sendAccessibilityEvent(param0: number): void;
			/** @deprecated */
			public invalidateChild(param0: android.view.View, param1: android.graphics.Rect): void;
			public requestTransparentRegion(param0: android.view.View): void;
			public canResolveTextAlignment(): boolean;
			public getParent(): android.view.ViewParent;
			public getFadeOffset(): number;
			public onStartNestedScroll(param0: android.view.View, param1: android.view.View, param2: number): boolean;
			public setGestureStrokeWidth(param0: number): void;
			public setEventsInterceptionEnabled(param0: boolean): void;
			public addOnGesturingListener(param0: android.gesture.GestureOverlayView.OnGesturingListener): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public getCurrentStroke(): java.util.ArrayList<android.gesture.GesturePoint>;
			public setFadeEnabled(param0: boolean): void;
			public getLayoutDirection(): number;
			public requestChildFocus(param0: android.view.View, param1: android.view.View): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public setGestureStrokeSquarenessTreshold(param0: number): void;
			public focusSearch(param0: number): android.view.View;
			public recomputeViewAttributes(param0: android.view.View): void;
			public isLayoutRequested(): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public requestLayout(): void;
			public childDrawableStateChanged(param0: android.view.View): void;
			public addView(param0: android.view.View): void;
			public getGesturePath(param0: android.graphics.Path): android.graphics.Path;
			public canResolveTextDirection(): boolean;
			public isFadeEnabled(): boolean;
			public removeAllOnGestureListeners(): void;
			/** @deprecated */
			public requestFitSystemWindows(): void;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public clear(param0: boolean): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public setGesture(param0: android.gesture.Gesture): void;
			public constructor(param0: android.content.Context);
			public removeAllOnGesturePerformedListeners(): void;
			public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public addView(param0: android.view.View, param1: number, param2: android.view.ViewGroup.LayoutParams): void;
			public setFadeOffset(param0: number): void;
			public setOrientation(param0: number): void;
			public getGesture(): android.gesture.Gesture;
			public requestFitSystemWindows(): void;
			public getGestureStrokeLengthThreshold(): number;
			public setGestureStrokeLengthThreshold(param0: number): void;
			public isLayoutDirectionResolved(): boolean;
			public focusableViewAvailable(param0: android.view.View): void;
			public createContextMenu(param0: android.view.ContextMenu): void;
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public canResolveLayoutDirection(): boolean;
			public setGestureStrokeAngleThreshold(param0: number): void;
			public onNestedFling(param0: android.view.View, param1: number, param2: number, param3: boolean): boolean;
			public draw(param0: android.graphics.Canvas): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public getParentForAccessibility(): android.view.ViewParent;
			public setGestureColor(param0: number): void;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public getGestureStrokeSquarenessTreshold(): number;
			/** @deprecated */
			public invalidateChildInParent(param0: native.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public getGesturePath(): android.graphics.Path;
			public addOnGesturePerformedListener(param0: android.gesture.GestureOverlayView.OnGesturePerformedListener): void;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback): android.view.ActionMode;
			public dispatchTouchEvent(param0: android.view.MotionEvent): boolean;
			public setGestureStrokeType(param0: number): void;
			public getTextAlignment(): number;
			public isEventsInterceptionEnabled(): boolean;
			public setGestureVisible(param0: boolean): void;
			public requestChildRectangleOnScreen(param0: android.view.View, param1: android.graphics.Rect, param2: boolean): boolean;
			public onNestedScroll(param0: android.view.View, param1: number, param2: number, param3: number, param4: number): void;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: native.Array<number>): void;
			public onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public removeOnGestureListener(param0: android.gesture.GestureOverlayView.OnGestureListener): void;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public getGestureStrokeWidth(): number;
			public removeOnGesturingListener(param0: android.gesture.GestureOverlayView.OnGesturingListener): void;
			public setUncertainGestureColor(param0: number): void;
			public getUncertainGestureColor(): number;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			public getOrientation(): number;
			public getGestureStrokeAngleThreshold(): number;
			public cancelClearAnimation(): void;
			public getGestureColor(): number;
			public isTextAlignmentResolved(): boolean;
			public removeView(param0: android.view.View): void;
			public clearChildFocus(param0: android.view.View): void;
			public getTextDirection(): number;
			public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public getGestureStrokeType(): number;
			public removeOnGesturePerformedListener(param0: android.gesture.GestureOverlayView.OnGesturePerformedListener): void;
			public requestDisallowInterceptTouchEvent(param0: boolean): void;
			public isTextDirectionResolved(): boolean;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public isGesturing(): boolean;
			public notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public addView(param0: android.view.View, param1: number): void;
		}
		export module GestureOverlayView {
			export class OnGestureListener extends java.lang.Object {
				public static class: java.lang.Class<android.gesture.GestureOverlayView.OnGestureListener>;
				/**
				 * Constructs a new instance of the android.gesture.GestureOverlayView$OnGestureListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onGestureStarted(param0: android.gesture.GestureOverlayView, param1: android.view.MotionEvent): void;
					onGesture(param0: android.gesture.GestureOverlayView, param1: android.view.MotionEvent): void;
					onGestureEnded(param0: android.gesture.GestureOverlayView, param1: android.view.MotionEvent): void;
					onGestureCancelled(param0: android.gesture.GestureOverlayView, param1: android.view.MotionEvent): void;
				});
				public constructor();
				public onGestureEnded(param0: android.gesture.GestureOverlayView, param1: android.view.MotionEvent): void;
				public onGesture(param0: android.gesture.GestureOverlayView, param1: android.view.MotionEvent): void;
				public onGestureStarted(param0: android.gesture.GestureOverlayView, param1: android.view.MotionEvent): void;
				public onGestureCancelled(param0: android.gesture.GestureOverlayView, param1: android.view.MotionEvent): void;
			}
			export class OnGesturePerformedListener extends java.lang.Object {
				public static class: java.lang.Class<android.gesture.GestureOverlayView.OnGesturePerformedListener>;
				/**
				 * Constructs a new instance of the android.gesture.GestureOverlayView$OnGesturePerformedListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onGesturePerformed(param0: android.gesture.GestureOverlayView, param1: android.gesture.Gesture): void;
				});
				public constructor();
				public onGesturePerformed(param0: android.gesture.GestureOverlayView, param1: android.gesture.Gesture): void;
			}
			export class OnGesturingListener extends java.lang.Object {
				public static class: java.lang.Class<android.gesture.GestureOverlayView.OnGesturingListener>;
				/**
				 * Constructs a new instance of the android.gesture.GestureOverlayView$OnGesturingListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onGesturingStarted(param0: android.gesture.GestureOverlayView): void;
					onGesturingEnded(param0: android.gesture.GestureOverlayView): void;
				});
				public constructor();
				public onGesturingStarted(param0: android.gesture.GestureOverlayView): void;
				public onGesturingEnded(param0: android.gesture.GestureOverlayView): void;
			}
		}
	}
}

declare module android {
	export module gesture {
		export class GesturePoint extends java.lang.Object {
			public static class: java.lang.Class<android.gesture.GesturePoint>;
			public timestamp: number;
			public x: number;
			public y: number;
			public constructor(param0: number, param1: number, param2: number);
			public clone(): any;
		}
	}
}

declare module android {
	export module gesture {
		export class GestureStore extends java.lang.Object {
			public static class: java.lang.Class<android.gesture.GestureStore>;
			public static ORIENTATION_INVARIANT: number;
			public static ORIENTATION_SENSITIVE: number;
			public static SEQUENCE_INVARIANT: number;
			public static SEQUENCE_SENSITIVE: number;
			public addGesture(param0: string, param1: android.gesture.Gesture): void;
			public hasChanged(): boolean;
			public save(param0: java.io.OutputStream): void;
			public getGestureEntries(): java.util.Set<string>;
			public removeEntry(param0: string): void;
			public setSequenceType(param0: number): void;
			public load(param0: java.io.InputStream, param1: boolean): void;
			public constructor();
			public getSequenceType(): number;
			public save(param0: java.io.OutputStream, param1: boolean): void;
			public getGestures(param0: string): java.util.ArrayList<android.gesture.Gesture>;
			public removeGesture(param0: string, param1: android.gesture.Gesture): void;
			public recognize(param0: android.gesture.Gesture): java.util.ArrayList<android.gesture.Prediction>;
			public setOrientationStyle(param0: number): void;
			public getOrientationStyle(): number;
			public load(param0: java.io.InputStream): void;
		}
	}
}

declare module android {
	export module gesture {
		export class GestureStroke extends java.lang.Object {
			public static class: java.lang.Class<android.gesture.GestureStroke>;
			public boundingBox: android.graphics.RectF;
			public length: number;
			public points: native.Array<number>;
			public clearPath(): void;
			public clone(): any;
			public getPath(): android.graphics.Path;
			public toPath(param0: number, param1: number, param2: number): android.graphics.Path;
			public computeOrientedBoundingBox(): android.gesture.OrientedBoundingBox;
			public constructor(param0: java.util.ArrayList<android.gesture.GesturePoint>);
		}
	}
}

declare module android {
	export module gesture {
		export class GestureUtils extends java.lang.Object {
			public static class: java.lang.Class<android.gesture.GestureUtils>;
			public static spatialSampling(param0: android.gesture.Gesture, param1: number): native.Array<number>;
			public static computeOrientedBoundingBox(param0: native.Array<number>): android.gesture.OrientedBoundingBox;
			public static computeOrientedBoundingBox(param0: java.util.ArrayList<android.gesture.GesturePoint>): android.gesture.OrientedBoundingBox;
			public static spatialSampling(param0: android.gesture.Gesture, param1: number, param2: boolean): native.Array<number>;
			public static temporalSampling(param0: android.gesture.GestureStroke, param1: number): native.Array<number>;
		}
	}
}

declare module android {
	export module gesture {
		export class OrientedBoundingBox extends java.lang.Object {
			public static class: java.lang.Class<android.gesture.OrientedBoundingBox>;
			public centerX: number;
			public centerY: number;
			public height: number;
			public orientation: number;
			public squareness: number;
			public width: number;
		}
	}
}

declare module android {
	export module gesture {
		export class Prediction extends java.lang.Object {
			public static class: java.lang.Class<android.gesture.Prediction>;
			public name: string;
			public score: number;
			public toString(): string;
		}
	}
}

declare module android {
	export module graphics {
		export class Bitmap extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.graphics.Bitmap>;
			public static CREATOR: android.os.Parcelable.Creator<android.graphics.Bitmap>;
			public static DENSITY_NONE: number;
			public setHeight(param0: number): void;
			public getScaledHeight(param0: android.util.DisplayMetrics): number;
			public hasMipMap(): boolean;
			public setConfig(param0: android.graphics.Bitmap.Config): void;
			public getWidth(): number;
			public getScaledHeight(param0: android.graphics.Canvas): number;
			public getPixels(param0: native.Array<number>, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number): void;
			public getNinePatchChunk(): native.Array<number>;
			public hasAlpha(): boolean;
			public getScaledWidth(param0: android.util.DisplayMetrics): number;
			public static createBitmap(param0: android.graphics.Bitmap, param1: number, param2: number, param3: number, param4: number, param5: android.graphics.Matrix, param6: boolean): android.graphics.Bitmap;
			public copyPixelsToBuffer(param0: java.nio.Buffer): void;
			public static createBitmap(param0: android.util.DisplayMetrics, param1: native.Array<number>, param2: number, param3: number, param4: number, param5: number, param6: android.graphics.Bitmap.Config): android.graphics.Bitmap;
			public recycle(): void;
			public eraseColor(param0: number): void;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public static createBitmap(param0: native.Array<number>, param1: number, param2: number, param3: android.graphics.Bitmap.Config): android.graphics.Bitmap;
			public isMutable(): boolean;
			public getHeight(): number;
			public isRecycled(): boolean;
			public setWidth(param0: number): void;
			public isPremultiplied(): boolean;
			public static createBitmap(param0: android.graphics.Bitmap): android.graphics.Bitmap;
			public static createBitmap(param0: android.util.DisplayMetrics, param1: number, param2: number, param3: android.graphics.Bitmap.Config, param4: boolean): android.graphics.Bitmap;
			public extractAlpha(param0: android.graphics.Paint, param1: native.Array<number>): android.graphics.Bitmap;
			public static createBitmap(param0: android.util.DisplayMetrics, param1: number, param2: number, param3: android.graphics.Bitmap.Config): android.graphics.Bitmap;
			public getDensity(): number;
			public static createBitmap(param0: android.util.DisplayMetrics, param1: native.Array<number>, param2: number, param3: number, param4: android.graphics.Bitmap.Config): android.graphics.Bitmap;
			public describeContents(): number;
			public static createBitmap(param0: number, param1: number, param2: android.graphics.Bitmap.Config): android.graphics.Bitmap;
			public getScaledHeight(param0: number): number;
			public setPixel(param0: number, param1: number, param2: number): void;
			public setPixels(param0: native.Array<number>, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number): void;
			public prepareToDraw(): void;
			public setDensity(param0: number): void;
			public copyPixelsFromBuffer(param0: java.nio.Buffer): void;
			public getConfig(): android.graphics.Bitmap.Config;
			public static createBitmap(param0: number, param1: number, param2: android.graphics.Bitmap.Config, param3: boolean): android.graphics.Bitmap;
			public static createBitmap(param0: android.graphics.Picture, param1: number, param2: number, param3: android.graphics.Bitmap.Config): android.graphics.Bitmap;
			public static createBitmap(param0: android.graphics.Picture): android.graphics.Bitmap;
			public getColorSpace(): android.graphics.ColorSpace;
			public static createBitmap(param0: android.util.DisplayMetrics, param1: number, param2: number, param3: android.graphics.Bitmap.Config, param4: boolean, param5: android.graphics.ColorSpace): android.graphics.Bitmap;
			public static createBitmap(param0: android.graphics.Bitmap, param1: number, param2: number, param3: number, param4: number): android.graphics.Bitmap;
			public setPremultiplied(param0: boolean): void;
			public reconfigure(param0: number, param1: number, param2: android.graphics.Bitmap.Config): void;
			public getRowBytes(): number;
			public getAllocationByteCount(): number;
			public getScaledWidth(param0: android.graphics.Canvas): number;
			public getPixel(param0: number, param1: number): number;
			public static createBitmap(param0: native.Array<number>, param1: number, param2: number, param3: number, param4: number, param5: android.graphics.Bitmap.Config): android.graphics.Bitmap;
			public getGenerationId(): number;
			public static createBitmap(param0: number, param1: number, param2: android.graphics.Bitmap.Config, param3: boolean, param4: android.graphics.ColorSpace): android.graphics.Bitmap;
			public setHasMipMap(param0: boolean): void;
			public setHasAlpha(param0: boolean): void;
			public getByteCount(): number;
			public extractAlpha(): android.graphics.Bitmap;
			public sameAs(param0: android.graphics.Bitmap): boolean;
			public static createScaledBitmap(param0: android.graphics.Bitmap, param1: number, param2: number, param3: boolean): android.graphics.Bitmap;
			public compress(param0: android.graphics.Bitmap.CompressFormat, param1: number, param2: java.io.OutputStream): boolean;
			public getScaledWidth(param0: number): number;
			public copy(param0: android.graphics.Bitmap.Config, param1: boolean): android.graphics.Bitmap;
		}
		export module Bitmap {
			export class CompressFormat {
				public static class: java.lang.Class<android.graphics.Bitmap.CompressFormat>;
				public static JPEG: android.graphics.Bitmap.CompressFormat;
				public static PNG: android.graphics.Bitmap.CompressFormat;
				public static WEBP: android.graphics.Bitmap.CompressFormat;
				public static valueOf(param0: string): android.graphics.Bitmap.CompressFormat;
				public static values(): native.Array<android.graphics.Bitmap.CompressFormat>;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			}
			export class Config {
				public static class: java.lang.Class<android.graphics.Bitmap.Config>;
				public static ALPHA_8: android.graphics.Bitmap.Config;
				public static RGB_565: android.graphics.Bitmap.Config;
				public static ARGB_4444: android.graphics.Bitmap.Config;
				public static ARGB_8888: android.graphics.Bitmap.Config;
				public static RGBA_F16: android.graphics.Bitmap.Config;
				public static HARDWARE: android.graphics.Bitmap.Config;
				public static values(): native.Array<android.graphics.Bitmap.Config>;
				public static valueOf(param0: string): android.graphics.Bitmap.Config;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			}
		}
	}
}

declare module android {
	export module graphics {
		export class BitmapFactory extends java.lang.Object {
			public static class: java.lang.Class<android.graphics.BitmapFactory>;
			public static decodeByteArray(param0: native.Array<number>, param1: number, param2: number, param3: android.graphics.BitmapFactory.Options): android.graphics.Bitmap;
			public static decodeResource(param0: android.content.res.Resources, param1: number, param2: android.graphics.BitmapFactory.Options): android.graphics.Bitmap;
			public static decodeStream(param0: java.io.InputStream, param1: android.graphics.Rect, param2: android.graphics.BitmapFactory.Options): android.graphics.Bitmap;
			public static decodeFile(param0: string): android.graphics.Bitmap;
			public static decodeByteArray(param0: native.Array<number>, param1: number, param2: number): android.graphics.Bitmap;
			public static decodeResourceStream(param0: android.content.res.Resources, param1: android.util.TypedValue, param2: java.io.InputStream, param3: android.graphics.Rect, param4: android.graphics.BitmapFactory.Options): android.graphics.Bitmap;
			public static decodeResource(param0: android.content.res.Resources, param1: number): android.graphics.Bitmap;
			public static decodeFileDescriptor(param0: java.io.FileDescriptor): android.graphics.Bitmap;
			public constructor();
			public static decodeStream(param0: java.io.InputStream): android.graphics.Bitmap;
			public static decodeFileDescriptor(param0: java.io.FileDescriptor, param1: android.graphics.Rect, param2: android.graphics.BitmapFactory.Options): android.graphics.Bitmap;
			public static decodeFile(param0: string, param1: android.graphics.BitmapFactory.Options): android.graphics.Bitmap;
		}
		export module BitmapFactory {
			export class Options extends java.lang.Object {
				public static class: java.lang.Class<android.graphics.BitmapFactory.Options>;
				public inBitmap: android.graphics.Bitmap;
				public inDensity: number;
				public inDither: boolean;
				public inInputShareable: boolean;
				public inJustDecodeBounds: boolean;
				public inMutable: boolean;
				public inPreferQualityOverSpeed: boolean;
				public inPreferredColorSpace: android.graphics.ColorSpace;
				public inPreferredConfig: android.graphics.Bitmap.Config;
				public inPremultiplied: boolean;
				public inPurgeable: boolean;
				public inSampleSize: number;
				public inScaled: boolean;
				public inScreenDensity: number;
				public inTargetDensity: number;
				public inTempStorage: native.Array<number>;
				public mCancel: boolean;
				public outColorSpace: android.graphics.ColorSpace;
				public outConfig: android.graphics.Bitmap.Config;
				public outHeight: number;
				public outMimeType: string;
				public outWidth: number;
				/** @deprecated */
				public requestCancelDecode(): void;
				public constructor();
			}
		}
	}
}

declare module android {
	export module graphics {
		export class BitmapRegionDecoder extends java.lang.Object {
			public static class: java.lang.Class<android.graphics.BitmapRegionDecoder>;
			public static newInstance(param0: java.io.InputStream, param1: boolean): android.graphics.BitmapRegionDecoder;
			public getHeight(): number;
			public isRecycled(): boolean;
			public static newInstance(param0: native.Array<number>, param1: number, param2: number, param3: boolean): android.graphics.BitmapRegionDecoder;
			public recycle(): void;
			public static newInstance(param0: string, param1: boolean): android.graphics.BitmapRegionDecoder;
			public getWidth(): number;
			public decodeRegion(param0: android.graphics.Rect, param1: android.graphics.BitmapFactory.Options): android.graphics.Bitmap;
			public finalize(): void;
			public static newInstance(param0: java.io.FileDescriptor, param1: boolean): android.graphics.BitmapRegionDecoder;
		}
	}
}

declare module android {
	export module graphics {
		export class BitmapShader extends android.graphics.Shader {
			public static class: java.lang.Class<android.graphics.BitmapShader>;
			/** @deprecated */
			public constructor();
			public constructor(param0: android.graphics.Bitmap, param1: android.graphics.Shader.TileMode, param2: android.graphics.Shader.TileMode);
		}
	}
}

declare module android {
	export module graphics {
		export class BlurMaskFilter extends android.graphics.MaskFilter {
			public static class: java.lang.Class<android.graphics.BlurMaskFilter>;
			public constructor();
			public constructor(param0: number, param1: android.graphics.BlurMaskFilter.Blur);
		}
		export module BlurMaskFilter {
			export class Blur {
				public static class: java.lang.Class<android.graphics.BlurMaskFilter.Blur>;
				public static NORMAL: android.graphics.BlurMaskFilter.Blur;
				public static SOLID: android.graphics.BlurMaskFilter.Blur;
				public static OUTER: android.graphics.BlurMaskFilter.Blur;
				public static INNER: android.graphics.BlurMaskFilter.Blur;
				public static values(): native.Array<android.graphics.BlurMaskFilter.Blur>;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
				public static valueOf(param0: string): android.graphics.BlurMaskFilter.Blur;
			}
		}
	}
}

declare module android {
	export module graphics {
		export class Camera extends java.lang.Object {
			public static class: java.lang.Class<android.graphics.Camera>;
			public setLocation(param0: number, param1: number, param2: number): void;
			public applyToCanvas(param0: android.graphics.Canvas): void;
			public save(): void;
			public restore(): void;
			public getLocationZ(): number;
			public constructor();
			public rotate(param0: number, param1: number, param2: number): void;
			public dotWithNormal(param0: number, param1: number, param2: number): number;
			public getLocationX(): number;
			public rotateY(param0: number): void;
			public translate(param0: number, param1: number, param2: number): void;
			public rotateX(param0: number): void;
			public getMatrix(param0: android.graphics.Matrix): void;
			public rotateZ(param0: number): void;
			public getLocationY(): number;
			public finalize(): void;
		}
	}
}

declare module android {
	export module graphics {
		export class Canvas extends java.lang.Object {
			public static class: java.lang.Class<android.graphics.Canvas>;
			public static ALL_SAVE_FLAG: number;
			public clipOutRect(param0: number, param1: number, param2: number, param3: number): boolean;
			public drawRoundRect(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: android.graphics.Paint): void;
			public rotate(param0: number): void;
			public drawTextRun(param0: string, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: boolean, param8: android.graphics.Paint): void;
			public isHardwareAccelerated(): boolean;
			public drawRoundRect(param0: android.graphics.RectF, param1: number, param2: number, param3: android.graphics.Paint): void;
			public drawARGB(param0: number, param1: number, param2: number, param3: number): void;
			public getWidth(): number;
			public restore(): void;
			/** @deprecated */
			public drawPosText(param0: native.Array<string>, param1: number, param2: number, param3: native.Array<number>, param4: android.graphics.Paint): void;
			public drawBitmap(param0: android.graphics.Bitmap, param1: android.graphics.Matrix, param2: android.graphics.Paint): void;
			public drawBitmapMesh(param0: android.graphics.Bitmap, param1: number, param2: number, param3: native.Array<number>, param4: number, param5: native.Array<number>, param6: number, param7: android.graphics.Paint): void;
			public drawColor(param0: number, param1: android.graphics.PorterDuff.Mode): void;
			public drawPoint(param0: number, param1: number, param2: android.graphics.Paint): void;
			public drawText(param0: string, param1: number, param2: number, param3: number, param4: number, param5: android.graphics.Paint): void;
			public drawPoints(param0: native.Array<number>, param1: android.graphics.Paint): void;
			public clipPath(param0: android.graphics.Path): boolean;
			public getSaveCount(): number;
			public setMatrix(param0: android.graphics.Matrix): void;
			public getClipBounds(param0: android.graphics.Rect): boolean;
			/** @deprecated */
			public drawPosText(param0: string, param1: native.Array<number>, param2: android.graphics.Paint): void;
			public saveLayerAlpha(param0: number, param1: number, param2: number, param3: number, param4: number): number;
			public drawColor(param0: number): void;
			/** @deprecated */
			public getMatrix(param0: android.graphics.Matrix): void;
			public clipOutRect(param0: android.graphics.Rect): boolean;
			public drawOval(param0: android.graphics.RectF, param1: android.graphics.Paint): void;
			public drawPaint(param0: android.graphics.Paint): void;
			public constructor(param0: android.graphics.Bitmap);
			/** @deprecated */
			public saveLayerAlpha(param0: android.graphics.RectF, param1: number, param2: number): number;
			public drawText(param0: native.Array<string>, param1: number, param2: number, param3: number, param4: number, param5: android.graphics.Paint): void;
			public skew(param0: number, param1: number): void;
			public getHeight(): number;
			public drawLines(param0: native.Array<number>, param1: number, param2: number, param3: android.graphics.Paint): void;
			public drawArc(param0: android.graphics.RectF, param1: number, param2: number, param3: boolean, param4: android.graphics.Paint): void;
			public drawRGB(param0: number, param1: number, param2: number): void;
			/** @deprecated */
			public clipPath(param0: android.graphics.Path, param1: android.graphics.Region.Op): boolean;
			public constructor();
			public clipRect(param0: number, param1: number, param2: number, param3: number): boolean;
			public setBitmap(param0: android.graphics.Bitmap): void;
			public drawTextOnPath(param0: native.Array<string>, param1: number, param2: number, param3: android.graphics.Path, param4: number, param5: number, param6: android.graphics.Paint): void;
			public drawBitmap(param0: android.graphics.Bitmap, param1: android.graphics.Rect, param2: android.graphics.RectF, param3: android.graphics.Paint): void;
			public drawRect(param0: number, param1: number, param2: number, param3: number, param4: android.graphics.Paint): void;
			public drawVertices(param0: android.graphics.Canvas.VertexMode, param1: number, param2: native.Array<number>, param3: number, param4: native.Array<number>, param5: number, param6: native.Array<number>, param7: number, param8: native.Array<number>, param9: number, param10: number, param11: android.graphics.Paint): void;
			/** @deprecated */
			public saveLayer(param0: number, param1: number, param2: number, param3: number, param4: android.graphics.Paint, param5: number): number;
			public scale(param0: number, param1: number): void;
			public getDensity(): number;
			public clipRect(param0: android.graphics.Rect): boolean;
			public quickReject(param0: number, param1: number, param2: number, param3: number, param4: android.graphics.Canvas.EdgeType): boolean;
			public restoreToCount(param0: number): void;
			/** @deprecated */
			public saveLayerAlpha(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number): number;
			public quickReject(param0: android.graphics.RectF, param1: android.graphics.Canvas.EdgeType): boolean;
			public scale(param0: number, param1: number, param2: number, param3: number): void;
			public saveLayerAlpha(param0: android.graphics.RectF, param1: number): number;
			public setDensity(param0: number): void;
			public clipOutRect(param0: android.graphics.RectF): boolean;
			public rotate(param0: number, param1: number, param2: number): void;
			public drawLine(param0: number, param1: number, param2: number, param3: number, param4: android.graphics.Paint): void;
			public clipRect(param0: android.graphics.RectF): boolean;
			public drawOval(param0: number, param1: number, param2: number, param3: number, param4: android.graphics.Paint): void;
			public drawTextOnPath(param0: string, param1: android.graphics.Path, param2: number, param3: number, param4: android.graphics.Paint): void;
			public saveLayer(param0: android.graphics.RectF, param1: android.graphics.Paint): number;
			public drawPicture(param0: android.graphics.Picture, param1: android.graphics.RectF): void;
			public translate(param0: number, param1: number): void;
			public drawCircle(param0: number, param1: number, param2: number, param3: android.graphics.Paint): void;
			/** @deprecated */
			public saveLayer(param0: android.graphics.RectF, param1: android.graphics.Paint, param2: number): number;
			/** @deprecated */
			public clipRect(param0: android.graphics.RectF, param1: android.graphics.Region.Op): boolean;
			public getMaximumBitmapHeight(): number;
			public save(): number;
			public getDrawFilter(): android.graphics.DrawFilter;
			public isOpaque(): boolean;
			public drawLines(param0: native.Array<number>, param1: android.graphics.Paint): void;
			public drawBitmap(param0: android.graphics.Bitmap, param1: android.graphics.Rect, param2: android.graphics.Rect, param3: android.graphics.Paint): void;
			public concat(param0: android.graphics.Matrix): void;
			/** @deprecated */
			public getMatrix(): android.graphics.Matrix;
			public getClipBounds(): android.graphics.Rect;
			public drawRect(param0: android.graphics.Rect, param1: android.graphics.Paint): void;
			public saveLayer(param0: number, param1: number, param2: number, param3: number, param4: android.graphics.Paint): number;
			public drawArc(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: boolean, param7: android.graphics.Paint): void;
			public drawBitmap(param0: android.graphics.Bitmap, param1: number, param2: number, param3: android.graphics.Paint): void;
			public drawPicture(param0: android.graphics.Picture, param1: android.graphics.Rect): void;
			/** @deprecated */
			public drawBitmap(param0: native.Array<number>, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: boolean, param8: android.graphics.Paint): void;
			/** @deprecated */
			public clipRect(param0: android.graphics.Rect, param1: android.graphics.Region.Op): boolean;
			/** @deprecated */
			public clipRect(param0: number, param1: number, param2: number, param3: number, param4: android.graphics.Region.Op): boolean;
			public clipOutPath(param0: android.graphics.Path): boolean;
			public drawPicture(param0: android.graphics.Picture): void;
			public drawText(param0: string, param1: number, param2: number, param3: android.graphics.Paint): void;
			public quickReject(param0: android.graphics.Path, param1: android.graphics.Canvas.EdgeType): boolean;
			public drawPoints(param0: native.Array<number>, param1: number, param2: number, param3: android.graphics.Paint): void;
			public getMaximumBitmapWidth(): number;
			public drawTextRun(param0: native.Array<string>, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: boolean, param8: android.graphics.Paint): void;
			public drawPath(param0: android.graphics.Path, param1: android.graphics.Paint): void;
			public drawRect(param0: android.graphics.RectF, param1: android.graphics.Paint): void;
			public setDrawFilter(param0: android.graphics.DrawFilter): void;
		}
		export module Canvas {
			export class EdgeType {
				public static class: java.lang.Class<android.graphics.Canvas.EdgeType>;
				public static BW: android.graphics.Canvas.EdgeType;
				public static AA: android.graphics.Canvas.EdgeType;
				public static values(): native.Array<android.graphics.Canvas.EdgeType>;
				public static valueOf(param0: string): android.graphics.Canvas.EdgeType;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			}
			export class VertexMode {
				public static class: java.lang.Class<android.graphics.Canvas.VertexMode>;
				public static TRIANGLES: android.graphics.Canvas.VertexMode;
				public static TRIANGLE_STRIP: android.graphics.Canvas.VertexMode;
				public static TRIANGLE_FAN: android.graphics.Canvas.VertexMode;
				public static values(): native.Array<android.graphics.Canvas.VertexMode>;
				public static valueOf(param0: string): android.graphics.Canvas.VertexMode;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			}
		}
	}
}

declare module android {
	export module graphics {
		export class Color extends java.lang.Object {
			public static class: java.lang.Class<android.graphics.Color>;
			public static BLACK: number;
			public static BLUE: number;
			public static CYAN: number;
			public static DKGRAY: number;
			public static GRAY: number;
			public static GREEN: number;
			public static LTGRAY: number;
			public static MAGENTA: number;
			public static RED: number;
			public static TRANSPARENT: number;
			public static WHITE: number;
			public static YELLOW: number;
			public static blue(param0: number): number;
			public static alpha(param0: number): number;
			public red(): number;
			public getComponents(): native.Array<number>;
			public static RGBToHSV(param0: number, param1: number, param2: number, param3: native.Array<number>): void;
			public static rgb(param0: number, param1: number, param2: number): number;
			public alpha(): number;
			public static valueOf(param0: native.Array<number>, param1: android.graphics.ColorSpace): android.graphics.Color;
			public static isSrgb(param0: number): boolean;
			public static colorSpace(param0: number): android.graphics.ColorSpace;
			public static valueOf(param0: number): android.graphics.Color;
			public constructor();
			public luminance(): number;
			public static convert(param0: number, param1: number, param2: number, param3: number, param4: android.graphics.ColorSpace.Connector): number;
			public static isInColorSpace(param0: number, param1: android.graphics.ColorSpace): boolean;
			public getComponents(param0: native.Array<number>): native.Array<number>;
			public static HSVToColor(param0: native.Array<number>): number;
			public static isWideGamut(param0: number): boolean;
			public static convert(param0: number, param1: number, param2: number, param3: number, param4: android.graphics.ColorSpace, param5: android.graphics.ColorSpace): number;
			public getComponentCount(): number;
			public static convert(param0: number, param1: android.graphics.ColorSpace): number;
			public equals(param0: any): boolean;
			public static colorToHSV(param0: number, param1: native.Array<number>): void;
			public getColorSpace(): android.graphics.ColorSpace;
			public green(): number;
			public isWideGamut(): boolean;
			public blue(): number;
			public static valueOf(param0: number, param1: number, param2: number): android.graphics.Color;
			public static HSVToColor(param0: number, param1: native.Array<number>): number;
			public pack(): number;
			public static pack(param0: number, param1: number, param2: number, param3: number, param4: android.graphics.ColorSpace): number;
			public convert(param0: android.graphics.ColorSpace): android.graphics.Color;
			public static red(param0: number): number;
			public static toArgb(param0: number): number;
			public toArgb(): number;
			public static pack(param0: number, param1: number, param2: number): number;
			public static parseColor(param0: string): number;
			public static pack(param0: number, param1: number, param2: number, param3: number): number;
			public static pack(param0: number): number;
			public isSrgb(): boolean;
			public static argb(param0: number, param1: number, param2: number, param3: number): number;
			public static convert(param0: number, param1: android.graphics.ColorSpace.Connector): number;
			public toString(): string;
			public getComponent(param0: number): number;
			public static green(param0: number): number;
			public static valueOf(param0: number, param1: number, param2: number, param3: number, param4: android.graphics.ColorSpace): android.graphics.Color;
			public getModel(): android.graphics.ColorSpace.Model;
			public static valueOf(param0: number, param1: number, param2: number, param3: number): android.graphics.Color;
			public static luminance(param0: number): number;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module graphics {
		export class ColorFilter extends java.lang.Object {
			public static class: java.lang.Class<android.graphics.ColorFilter>;
			/** @deprecated */
			public constructor();
		}
	}
}

declare module android {
	export module graphics {
		export class ColorMatrix extends java.lang.Object {
			public static class: java.lang.Class<android.graphics.ColorMatrix>;
			public equals(param0: any): boolean;
			public setConcat(param0: android.graphics.ColorMatrix, param1: android.graphics.ColorMatrix): void;
			public constructor();
			public constructor(param0: native.Array<number>);
			public setScale(param0: number, param1: number, param2: number, param3: number): void;
			public getArray(): native.Array<number>;
			public setSaturation(param0: number): void;
			public preConcat(param0: android.graphics.ColorMatrix): void;
			public set(param0: native.Array<number>): void;
			public setRGB2YUV(): void;
			public constructor(param0: android.graphics.ColorMatrix);
			public setRotate(param0: number, param1: number): void;
			public reset(): void;
			public set(param0: android.graphics.ColorMatrix): void;
			public postConcat(param0: android.graphics.ColorMatrix): void;
			public setYUV2RGB(): void;
		}
	}
}

declare module android {
	export module graphics {
		export class ColorMatrixColorFilter extends android.graphics.ColorFilter {
			public static class: java.lang.Class<android.graphics.ColorMatrixColorFilter>;
			/** @deprecated */
			public constructor();
			public getColorMatrix(param0: android.graphics.ColorMatrix): void;
			public constructor(param0: android.graphics.ColorMatrix);
			public constructor(param0: native.Array<number>);
		}
	}
}

declare module android {
	export module graphics {
		export abstract class ColorSpace extends java.lang.Object {
			public static class: java.lang.Class<android.graphics.ColorSpace>;
			public static ILLUMINANT_A: native.Array<number>;
			public static ILLUMINANT_B: native.Array<number>;
			public static ILLUMINANT_C: native.Array<number>;
			public static ILLUMINANT_D50: native.Array<number>;
			public static ILLUMINANT_D55: native.Array<number>;
			public static ILLUMINANT_D60: native.Array<number>;
			public static ILLUMINANT_D65: native.Array<number>;
			public static ILLUMINANT_D75: native.Array<number>;
			public static ILLUMINANT_E: native.Array<number>;
			public static MAX_ID: number;
			public static MIN_ID: number;
			public toXyz(param0: number, param1: number, param2: number): native.Array<number>;
			public equals(param0: any): boolean;
			public static adapt(param0: android.graphics.ColorSpace, param1: native.Array<number>): android.graphics.ColorSpace;
			public fromXyz(param0: native.Array<number>): native.Array<number>;
			public static match(param0: native.Array<number>, param1: android.graphics.ColorSpace.Rgb.TransferParameters): android.graphics.ColorSpace;
			public static adapt(param0: android.graphics.ColorSpace, param1: native.Array<number>, param2: android.graphics.ColorSpace.Adaptation): android.graphics.ColorSpace;
			public isSrgb(): boolean;
			public toXyz(param0: native.Array<number>): native.Array<number>;
			public static connect(param0: android.graphics.ColorSpace): android.graphics.ColorSpace.Connector;
			public getMaxValue(param0: number): number;
			public static connect(param0: android.graphics.ColorSpace, param1: android.graphics.ColorSpace, param2: android.graphics.ColorSpace.RenderIntent): android.graphics.ColorSpace.Connector;
			public fromXyz(param0: number, param1: number, param2: number): native.Array<number>;
			public isWideGamut(): boolean;
			public toString(): string;
			public getName(): string;
			public getId(): number;
			public getModel(): android.graphics.ColorSpace.Model;
			public static connect(param0: android.graphics.ColorSpace, param1: android.graphics.ColorSpace.RenderIntent): android.graphics.ColorSpace.Connector;
			public getMinValue(param0: number): number;
			public getComponentCount(): number;
			public static get(param0: android.graphics.ColorSpace.Named): android.graphics.ColorSpace;
			public static connect(param0: android.graphics.ColorSpace, param1: android.graphics.ColorSpace): android.graphics.ColorSpace.Connector;
			public hashCode(): number;
		}
		export module ColorSpace {
			export class Adaptation {
				public static class: java.lang.Class<android.graphics.ColorSpace.Adaptation>;
				public static BRADFORD: android.graphics.ColorSpace.Adaptation;
				public static VON_KRIES: android.graphics.ColorSpace.Adaptation;
				public static CIECAT02: android.graphics.ColorSpace.Adaptation;
				public static values(): native.Array<android.graphics.ColorSpace.Adaptation>;
				public static valueOf(param0: string): android.graphics.ColorSpace.Adaptation;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			}
			export class Connector extends java.lang.Object {
				public static class: java.lang.Class<android.graphics.ColorSpace.Connector>;
				public transform(param0: native.Array<number>): native.Array<number>;
				public getDestination(): android.graphics.ColorSpace;
				public getRenderIntent(): android.graphics.ColorSpace.RenderIntent;
				public transform(param0: number, param1: number, param2: number): native.Array<number>;
				public getSource(): android.graphics.ColorSpace;
			}
			export class Model {
				public static class: java.lang.Class<android.graphics.ColorSpace.Model>;
				public static RGB: android.graphics.ColorSpace.Model;
				public static XYZ: android.graphics.ColorSpace.Model;
				public static LAB: android.graphics.ColorSpace.Model;
				public static CMYK: android.graphics.ColorSpace.Model;
				public static values(): native.Array<android.graphics.ColorSpace.Model>;
				public static valueOf(param0: string): android.graphics.ColorSpace.Model;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
				public getComponentCount(): number;
			}
			export class Named {
				public static class: java.lang.Class<android.graphics.ColorSpace.Named>;
				public static SRGB: android.graphics.ColorSpace.Named;
				public static LINEAR_SRGB: android.graphics.ColorSpace.Named;
				public static EXTENDED_SRGB: android.graphics.ColorSpace.Named;
				public static LINEAR_EXTENDED_SRGB: android.graphics.ColorSpace.Named;
				public static BT709: android.graphics.ColorSpace.Named;
				public static BT2020: android.graphics.ColorSpace.Named;
				public static DCI_P3: android.graphics.ColorSpace.Named;
				public static DISPLAY_P3: android.graphics.ColorSpace.Named;
				public static NTSC_1953: android.graphics.ColorSpace.Named;
				public static SMPTE_C: android.graphics.ColorSpace.Named;
				public static ADOBE_RGB: android.graphics.ColorSpace.Named;
				public static PRO_PHOTO_RGB: android.graphics.ColorSpace.Named;
				public static ACES: android.graphics.ColorSpace.Named;
				public static ACESCG: android.graphics.ColorSpace.Named;
				public static CIE_XYZ: android.graphics.ColorSpace.Named;
				public static CIE_LAB: android.graphics.ColorSpace.Named;
				public static values(): native.Array<android.graphics.ColorSpace.Named>;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
				public static valueOf(param0: string): android.graphics.ColorSpace.Named;
			}
			export class RenderIntent {
				public static class: java.lang.Class<android.graphics.ColorSpace.RenderIntent>;
				public static PERCEPTUAL: android.graphics.ColorSpace.RenderIntent;
				public static RELATIVE: android.graphics.ColorSpace.RenderIntent;
				public static SATURATION: android.graphics.ColorSpace.RenderIntent;
				public static ABSOLUTE: android.graphics.ColorSpace.RenderIntent;
				public static valueOf(param0: string): android.graphics.ColorSpace.RenderIntent;
				public static values(): native.Array<android.graphics.ColorSpace.RenderIntent>;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			}
			export class Rgb extends android.graphics.ColorSpace {
				public static class: java.lang.Class<android.graphics.ColorSpace.Rgb>;
				public getMaxValue(param0: number): number;
				public getMinValue(param0: number): number;
				public toLinear(param0: number, param1: number, param2: number): native.Array<number>;
				public constructor(param0: string, param1: native.Array<number>, param2: android.graphics.ColorSpace.Rgb.TransferParameters);
				public constructor(param0: string, param1: native.Array<number>, param2: native.Array<number>, param3: android.graphics.ColorSpace.Rgb.TransferParameters);
				public fromXyz(param0: native.Array<number>): native.Array<number>;
				public fromLinear(param0: number, param1: number, param2: number): native.Array<number>;
				public getEotf(): any /* any*/;
				public constructor(param0: string, param1: native.Array<number>, param2: number);
				public getTransform(): native.Array<number>;
				public getWhitePoint(param0: native.Array<number>): native.Array<number>;
				public getPrimaries(): native.Array<number>;
				public hashCode(): number;
				public equals(param0: any): boolean;
				public constructor(param0: string, param1: native.Array<number>, param2: any /* any*/, param3: any /* any*/);
				public fromLinear(param0: native.Array<number>): native.Array<number>;
				public getWhitePoint(): native.Array<number>;
				public getPrimaries(param0: native.Array<number>): native.Array<number>;
				public getTransform(param0: native.Array<number>): native.Array<number>;
				public isSrgb(): boolean;
				public isWideGamut(): boolean;
				public getInverseTransform(param0: native.Array<number>): native.Array<number>;
				public fromXyz(param0: number, param1: number, param2: number): native.Array<number>;
				public getOetf(): any /* any*/;
				public toLinear(param0: native.Array<number>): native.Array<number>;
				public getTransferParameters(): android.graphics.ColorSpace.Rgb.TransferParameters;
				public getInverseTransform(): native.Array<number>;
				public toXyz(param0: native.Array<number>): native.Array<number>;
				public constructor(param0: string, param1: native.Array<number>, param2: native.Array<number>, param3: any /* any*/, param4: any /* any*/, param5: number, param6: number);
				public constructor(param0: string, param1: native.Array<number>, param2: native.Array<number>, param3: number);
				public toXyz(param0: number, param1: number, param2: number): native.Array<number>;
			}
			export module Rgb {
				export class TransferParameters extends java.lang.Object {
					public static class: java.lang.Class<android.graphics.ColorSpace.Rgb.TransferParameters>;
					public a: number;
					public b: number;
					public c: number;
					public d: number;
					public e: number;
					public f: number;
					public g: number;
					public constructor(param0: number, param1: number, param2: number, param3: number, param4: number);
					public equals(param0: any): boolean;
					public constructor(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number);
					public hashCode(): number;
				}
			}
		}
	}
}

declare module android {
	export module graphics {
		export class ComposePathEffect extends android.graphics.PathEffect {
			public static class: java.lang.Class<android.graphics.ComposePathEffect>;
			public constructor();
			public constructor(param0: android.graphics.PathEffect, param1: android.graphics.PathEffect);
		}
	}
}

declare module android {
	export module graphics {
		export class ComposeShader extends android.graphics.Shader {
			public static class: java.lang.Class<android.graphics.ComposeShader>;
			/** @deprecated */
			public constructor();
			public constructor(param0: android.graphics.Shader, param1: android.graphics.Shader, param2: android.graphics.Xfermode);
			public constructor(param0: android.graphics.Shader, param1: android.graphics.Shader, param2: android.graphics.PorterDuff.Mode);
		}
	}
}

declare module android {
	export module graphics {
		export class CornerPathEffect extends android.graphics.PathEffect {
			public static class: java.lang.Class<android.graphics.CornerPathEffect>;
			public constructor(param0: number);
			public constructor();
		}
	}
}

declare module android {
	export module graphics {
		export class DashPathEffect extends android.graphics.PathEffect {
			public static class: java.lang.Class<android.graphics.DashPathEffect>;
			public constructor();
			public constructor(param0: native.Array<number>, param1: number);
		}
	}
}

declare module android {
	export module graphics {
		export class DiscretePathEffect extends android.graphics.PathEffect {
			public static class: java.lang.Class<android.graphics.DiscretePathEffect>;
			public constructor();
			public constructor(param0: number, param1: number);
		}
	}
}

declare module android {
	export module graphics {
		export class DrawFilter extends java.lang.Object {
			public static class: java.lang.Class<android.graphics.DrawFilter>;
			public constructor();
			public finalize(): void;
		}
	}
}

declare module android {
	export module graphics {
		export class EmbossMaskFilter extends android.graphics.MaskFilter {
			public static class: java.lang.Class<android.graphics.EmbossMaskFilter>;
			/** @deprecated */
			public constructor(param0: native.Array<number>, param1: number, param2: number, param3: number);
			public constructor();
		}
	}
}

declare module android {
	export module graphics {
		export class ImageDecoder extends java.lang.Object implements java.lang.AutoCloseable {
			public static class: java.lang.Class<android.graphics.ImageDecoder>;
			public static ALLOCATOR_DEFAULT: number;
			public static ALLOCATOR_HARDWARE: number;
			public static ALLOCATOR_SHARED_MEMORY: number;
			public static ALLOCATOR_SOFTWARE: number;
			public static MEMORY_POLICY_DEFAULT: number;
			public static MEMORY_POLICY_LOW_RAM: number;
			public setTargetSize(param0: number, param1: number): void;
			public getMemorySizePolicy(): number;
			public setUnpremultipliedRequired(param0: boolean): void;
			public isDecodeAsAlphaMaskEnabled(): boolean;
			public static createSource(param0: android.content.res.Resources, param1: number): android.graphics.ImageDecoder.Source;
			public setDecodeAsAlphaMaskEnabled(param0: boolean): void;
			public setTargetSampleSize(param0: number): void;
			public static decodeBitmap(param0: android.graphics.ImageDecoder.Source): android.graphics.Bitmap;
			public getAllocator(): number;
			public close(): void;
			public finalize(): void;
			public setOnPartialImageListener(param0: android.graphics.ImageDecoder.OnPartialImageListener): void;
			public setTargetColorSpace(param0: android.graphics.ColorSpace): void;
			public static decodeDrawable(param0: android.graphics.ImageDecoder.Source, param1: android.graphics.ImageDecoder.OnHeaderDecodedListener): android.graphics.drawable.Drawable;
			public setMemorySizePolicy(param0: number): void;
			public isMutableRequired(): boolean;
			public static createSource(param0: java.io.File): android.graphics.ImageDecoder.Source;
			public static decodeBitmap(param0: android.graphics.ImageDecoder.Source, param1: android.graphics.ImageDecoder.OnHeaderDecodedListener): android.graphics.Bitmap;
			public setAllocator(param0: number): void;
			public getCrop(): android.graphics.Rect;
			public setCrop(param0: android.graphics.Rect): void;
			public getOnPartialImageListener(): android.graphics.ImageDecoder.OnPartialImageListener;
			public setPostProcessor(param0: android.graphics.PostProcessor): void;
			public static createSource(param0: java.nio.ByteBuffer): android.graphics.ImageDecoder.Source;
			public static createSource(param0: android.content.ContentResolver, param1: android.net.Uri): android.graphics.ImageDecoder.Source;
			public setMutableRequired(param0: boolean): void;
			public static decodeDrawable(param0: android.graphics.ImageDecoder.Source): android.graphics.drawable.Drawable;
			public getPostProcessor(): android.graphics.PostProcessor;
			public isUnpremultipliedRequired(): boolean;
			public static createSource(param0: android.content.res.AssetManager, param1: string): android.graphics.ImageDecoder.Source;
		}
		export module ImageDecoder {
			export class DecodeException extends java.io.IOException {
				public static class: java.lang.Class<android.graphics.ImageDecoder.DecodeException>;
				public static SOURCE_EXCEPTION: number;
				public static SOURCE_INCOMPLETE: number;
				public static SOURCE_MALFORMED_DATA: number;
				public getSource(): android.graphics.ImageDecoder.Source;
				public getError(): number;
			}
			export class ImageInfo extends java.lang.Object {
				public static class: java.lang.Class<android.graphics.ImageDecoder.ImageInfo>;
				public getMimeType(): string;
				public isAnimated(): boolean;
				public getColorSpace(): android.graphics.ColorSpace;
				public getSize(): any;
			}
			export class OnHeaderDecodedListener extends java.lang.Object {
				public static class: java.lang.Class<android.graphics.ImageDecoder.OnHeaderDecodedListener>;
				/**
				 * Constructs a new instance of the android.graphics.ImageDecoder$OnHeaderDecodedListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onHeaderDecoded(param0: android.graphics.ImageDecoder, param1: android.graphics.ImageDecoder.ImageInfo, param2: android.graphics.ImageDecoder.Source): void;
				});
				public constructor();
				public onHeaderDecoded(param0: android.graphics.ImageDecoder, param1: android.graphics.ImageDecoder.ImageInfo, param2: android.graphics.ImageDecoder.Source): void;
			}
			export class OnPartialImageListener extends java.lang.Object {
				public static class: java.lang.Class<android.graphics.ImageDecoder.OnPartialImageListener>;
				/**
				 * Constructs a new instance of the android.graphics.ImageDecoder$OnPartialImageListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onPartialImage(param0: android.graphics.ImageDecoder.DecodeException): boolean;
				});
				public constructor();
				public onPartialImage(param0: android.graphics.ImageDecoder.DecodeException): boolean;
			}
			export abstract class Source extends java.lang.Object {
				public static class: java.lang.Class<android.graphics.ImageDecoder.Source>;
			}
		}
	}
}

declare module android {
	export module graphics {
		export class ImageFormat extends java.lang.Object {
			public static class: java.lang.Class<android.graphics.ImageFormat>;
			public static DEPTH16: number;
			public static DEPTH_POINT_CLOUD: number;
			public static FLEX_RGBA_8888: number;
			public static FLEX_RGB_888: number;
			public static JPEG: number;
			public static NV16: number;
			public static NV21: number;
			public static PRIVATE: number;
			public static RAW10: number;
			public static RAW12: number;
			public static RAW_PRIVATE: number;
			public static RAW_SENSOR: number;
			public static RGB_565: number;
			public static UNKNOWN: number;
			public static YUV_420_888: number;
			public static YUV_422_888: number;
			public static YUV_444_888: number;
			public static YUY2: number;
			public static YV12: number;
			public static getBitsPerPixel(param0: number): number;
			public constructor();
		}
	}
}

declare module android {
	export module graphics {
		export class Interpolator extends java.lang.Object {
			public static class: java.lang.Class<android.graphics.Interpolator>;
			public getKeyFrameCount(): number;
			public setKeyFrame(param0: number, param1: number, param2: native.Array<number>, param3: native.Array<number>): void;
			public reset(param0: number): void;
			public setRepeatMirror(param0: number, param1: boolean): void;
			public reset(param0: number, param1: number): void;
			public getValueCount(): number;
			public constructor(param0: number);
			public setKeyFrame(param0: number, param1: number, param2: native.Array<number>): void;
			public timeToValues(param0: number, param1: native.Array<number>): android.graphics.Interpolator.Result;
			public timeToValues(param0: native.Array<number>): android.graphics.Interpolator.Result;
			public constructor(param0: number, param1: number);
			public finalize(): void;
		}
		export module Interpolator {
			export class Result {
				public static class: java.lang.Class<android.graphics.Interpolator.Result>;
				public static NORMAL: android.graphics.Interpolator.Result;
				public static FREEZE_START: android.graphics.Interpolator.Result;
				public static FREEZE_END: android.graphics.Interpolator.Result;
				public static values(): native.Array<android.graphics.Interpolator.Result>;
				public static valueOf(param0: string): android.graphics.Interpolator.Result;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			}
		}
	}
}

declare module android {
	export module graphics {
		export class LightingColorFilter extends android.graphics.ColorFilter {
			public static class: java.lang.Class<android.graphics.LightingColorFilter>;
			/** @deprecated */
			public constructor();
			public getColorAdd(): number;
			public getColorMultiply(): number;
			public constructor(param0: number, param1: number);
		}
	}
}

declare module android {
	export module graphics {
		export class LinearGradient extends android.graphics.Shader {
			public static class: java.lang.Class<android.graphics.LinearGradient>;
			public constructor(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: android.graphics.Shader.TileMode);
			/** @deprecated */
			public constructor();
			public constructor(param0: number, param1: number, param2: number, param3: number, param4: native.Array<number>, param5: native.Array<number>, param6: android.graphics.Shader.TileMode);
		}
	}
}

declare module android {
	export module graphics {
		export class MaskFilter extends java.lang.Object {
			public static class: java.lang.Class<android.graphics.MaskFilter>;
			public constructor();
			public finalize(): void;
		}
	}
}

declare module android {
	export module graphics {
		export class Matrix extends java.lang.Object {
			public static class: java.lang.Class<android.graphics.Matrix>;
			public static MPERSP_0: number;
			public static MPERSP_1: number;
			public static MPERSP_2: number;
			public static MSCALE_X: number;
			public static MSCALE_Y: number;
			public static MSKEW_X: number;
			public static MSKEW_Y: number;
			public static MTRANS_X: number;
			public static MTRANS_Y: number;
			public setRotate(param0: number, param1: number, param2: number): void;
			public getValues(param0: native.Array<number>): void;
			public setScale(param0: number, param1: number): void;
			public mapRect(param0: android.graphics.RectF): boolean;
			public preScale(param0: number, param1: number, param2: number, param3: number): boolean;
			public setScale(param0: number, param1: number, param2: number, param3: number): void;
			public setConcat(param0: android.graphics.Matrix, param1: android.graphics.Matrix): boolean;
			public postSkew(param0: number, param1: number): boolean;
			public setRotate(param0: number): void;
			public postScale(param0: number, param1: number): boolean;
			public preSkew(param0: number, param1: number, param2: number, param3: number): boolean;
			public postScale(param0: number, param1: number, param2: number, param3: number): boolean;
			public mapPoints(param0: native.Array<number>, param1: native.Array<number>): void;
			public preScale(param0: number, param1: number): boolean;
			public mapVectors(param0: native.Array<number>, param1: native.Array<number>): void;
			public mapRect(param0: android.graphics.RectF, param1: android.graphics.RectF): boolean;
			public setPolyToPoly(param0: native.Array<number>, param1: number, param2: native.Array<number>, param3: number, param4: number): boolean;
			public postRotate(param0: number, param1: number, param2: number): boolean;
			public preConcat(param0: android.graphics.Matrix): boolean;
			public mapRadius(param0: number): number;
			public constructor();
			public set(param0: android.graphics.Matrix): void;
			public preRotate(param0: number): boolean;
			public postTranslate(param0: number, param1: number): boolean;
			public setSinCos(param0: number, param1: number, param2: number, param3: number): void;
			public rectStaysRect(): boolean;
			public mapVectors(param0: native.Array<number>): void;
			public equals(param0: any): boolean;
			public preSkew(param0: number, param1: number): boolean;
			public isAffine(): boolean;
			public mapPoints(param0: native.Array<number>, param1: number, param2: native.Array<number>, param3: number, param4: number): void;
			public setSkew(param0: number, param1: number): void;
			public postRotate(param0: number): boolean;
			public setSinCos(param0: number, param1: number): void;
			public reset(): void;
			public toShortString(): string;
			public setTranslate(param0: number, param1: number): void;
			public postConcat(param0: android.graphics.Matrix): boolean;
			public setRectToRect(param0: android.graphics.RectF, param1: android.graphics.RectF, param2: android.graphics.Matrix.ScaleToFit): boolean;
			public postSkew(param0: number, param1: number, param2: number, param3: number): boolean;
			public setSkew(param0: number, param1: number, param2: number, param3: number): void;
			public isIdentity(): boolean;
			public toString(): string;
			public preRotate(param0: number, param1: number, param2: number): boolean;
			public constructor(param0: android.graphics.Matrix);
			public mapVectors(param0: native.Array<number>, param1: number, param2: native.Array<number>, param3: number, param4: number): void;
			public preTranslate(param0: number, param1: number): boolean;
			public setValues(param0: native.Array<number>): void;
			public invert(param0: android.graphics.Matrix): boolean;
			public mapPoints(param0: native.Array<number>): void;
			public hashCode(): number;
		}
		export module Matrix {
			export class ScaleToFit {
				public static class: java.lang.Class<android.graphics.Matrix.ScaleToFit>;
				public static FILL: android.graphics.Matrix.ScaleToFit;
				public static START: android.graphics.Matrix.ScaleToFit;
				public static CENTER: android.graphics.Matrix.ScaleToFit;
				public static END: android.graphics.Matrix.ScaleToFit;
				public static values(): native.Array<android.graphics.Matrix.ScaleToFit>;
				public static valueOf(param0: string): android.graphics.Matrix.ScaleToFit;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			}
		}
	}
}

declare module android {
	export module graphics {
		export class Movie extends java.lang.Object {
			public static class: java.lang.Class<android.graphics.Movie>;
			public static decodeByteArray(param0: native.Array<number>, param1: number, param2: number): android.graphics.Movie;
			public static decodeStream(param0: java.io.InputStream): android.graphics.Movie;
			public static decodeFile(param0: string): android.graphics.Movie;
			public duration(): number;
			public setTime(param0: number): boolean;
			public draw(param0: android.graphics.Canvas, param1: number, param2: number): void;
			public width(): number;
			public height(): number;
			public draw(param0: android.graphics.Canvas, param1: number, param2: number, param3: android.graphics.Paint): void;
			public finalize(): void;
			public isOpaque(): boolean;
		}
	}
}

declare module android {
	export module graphics {
		export class NinePatch extends java.lang.Object {
			public static class: java.lang.Class<android.graphics.NinePatch>;
			public getTransparentRegion(param0: android.graphics.Rect): android.graphics.Region;
			public getHeight(): number;
			public getPaint(): android.graphics.Paint;
			public getWidth(): number;
			public constructor(param0: android.graphics.Bitmap, param1: native.Array<number>);
			public getBitmap(): android.graphics.Bitmap;
			public draw(param0: android.graphics.Canvas, param1: android.graphics.RectF): void;
			public hasAlpha(): boolean;
			public draw(param0: android.graphics.Canvas, param1: android.graphics.Rect): void;
			public draw(param0: android.graphics.Canvas, param1: android.graphics.Rect, param2: android.graphics.Paint): void;
			public getName(): string;
			public constructor(param0: android.graphics.Bitmap, param1: native.Array<number>, param2: string);
			public setPaint(param0: android.graphics.Paint): void;
			public getDensity(): number;
			public static isNinePatchChunk(param0: native.Array<number>): boolean;
			public finalize(): void;
		}
	}
}

declare module android {
	export module graphics {
		export class Outline extends java.lang.Object {
			public static class: java.lang.Class<any>;
			public setAlpha(param0: number): void;
			public setRect(param0: android.graphics.Rect): void;
			public setEmpty(): void;
			public setRoundRect(param0: number, param1: number, param2: number, param3: number, param4: number): void;
			public setOval(param0: android.graphics.Rect): void;
			public isEmpty(): boolean;
			public setRoundRect(param0: android.graphics.Rect, param1: number): void;
			public offset(param0: number, param1: number): void;
			public getAlpha(): number;
			public setRect(param0: number, param1: number, param2: number, param3: number): void;
			public getRadius(): number;
			public constructor();
			public canClip(): boolean;
			public getRect(param0: android.graphics.Rect): boolean;
			public setConvexPath(param0: android.graphics.Path): void;
			public setOval(param0: number, param1: number, param2: number, param3: number): void;
			public set(param0: any): void;
			public constructor(param0: any);
		}
	}
}

declare module android {
	export module graphics {
		export class Paint extends java.lang.Object {
			public static class: java.lang.Class<android.graphics.Paint>;
			public static ANTI_ALIAS_FLAG: number;
			public static DEV_KERN_TEXT_FLAG: number;
			public static DITHER_FLAG: number;
			public static EMBEDDED_BITMAP_TEXT_FLAG: number;
			public static FAKE_BOLD_TEXT_FLAG: number;
			public static FILTER_BITMAP_FLAG: number;
			public static HINTING_OFF: number;
			public static HINTING_ON: number;
			public static LINEAR_TEXT_FLAG: number;
			public static STRIKE_THRU_TEXT_FLAG: number;
			public static SUBPIXEL_TEXT_FLAG: number;
			public static UNDERLINE_TEXT_FLAG: number;
			public getFontVariationSettings(): string;
			public breakText(param0: string, param1: boolean, param2: number, param3: native.Array<number>): number;
			public getAlpha(): number;
			public getOffsetForAdvance(param0: string, param1: number, param2: number, param3: number, param4: number, param5: boolean, param6: number): number;
			public getStyle(): android.graphics.Paint.Style;
			public setTextScaleX(param0: number): void;
			public getOffsetForAdvance(param0: native.Array<string>, param1: number, param2: number, param3: number, param4: number, param5: boolean, param6: number): number;
			public setStrokeMiter(param0: number): void;
			public isElegantTextHeight(): boolean;
			public setSubpixelText(param0: boolean): void;
			public isFakeBoldText(): boolean;
			public setARGB(param0: number, param1: number, param2: number, param3: number): void;
			public setMaskFilter(param0: android.graphics.MaskFilter): android.graphics.MaskFilter;
			public measureText(param0: string): number;
			public setLinearText(param0: boolean): void;
			public hasGlyph(param0: string): boolean;
			public setStrikeThruText(param0: boolean): void;
			public constructor(param0: number);
			public constructor();
			public getTextSize(): number;
			public getTextBounds(param0: string, param1: number, param2: number, param3: android.graphics.Rect): void;
			public isSubpixelText(): boolean;
			public getTextLocale(): java.util.Locale;
			public clearShadowLayer(): void;
			public setPathEffect(param0: android.graphics.PathEffect): android.graphics.PathEffect;
			public isAntiAlias(): boolean;
			public setStrokeJoin(param0: android.graphics.Paint.Join): void;
			public getTextWidths(param0: native.Array<string>, param1: number, param2: number, param3: native.Array<number>): number;
			public getTextScaleX(): number;
			public getTextPath(param0: native.Array<string>, param1: number, param2: number, param3: number, param4: number, param5: android.graphics.Path): void;
			public getStrokeJoin(): android.graphics.Paint.Join;
			public getColor(): number;
			public getShader(): android.graphics.Shader;
			public measureText(param0: string, param1: number, param2: number): number;
			public getRunAdvance(param0: string, param1: number, param2: number, param3: number, param4: number, param5: boolean, param6: number): number;
			public setStrokeWidth(param0: number): void;
			public getFontMetrics(param0: android.graphics.Paint.FontMetrics): number;
			public setStrokeCap(param0: android.graphics.Paint.Cap): void;
			public getTextBounds(param0: native.Array<string>, param1: number, param2: number, param3: android.graphics.Rect): void;
			public setFlags(param0: number): void;
			public isDither(): boolean;
			public getTypeface(): android.graphics.Typeface;
			public getTextWidths(param0: string, param1: number, param2: number, param3: native.Array<number>): number;
			public getTextLocales(): any;
			public measureText(param0: native.Array<string>, param1: number, param2: number): number;
			public setAlpha(param0: number): void;
			public setTextAlign(param0: android.graphics.Paint.Align): void;
			public setTextLocale(param0: java.util.Locale): void;
			public setColor(param0: number): void;
			public setFilterBitmap(param0: boolean): void;
			public getFontMetrics(): android.graphics.Paint.FontMetrics;
			public getFontMetricsInt(param0: android.graphics.Paint.FontMetricsInt): number;
			public getFontFeatureSettings(): string;
			public setUnderlineText(param0: boolean): void;
			public setStyle(param0: android.graphics.Paint.Style): void;
			public getStrokeMiter(): number;
			public getMaskFilter(): android.graphics.MaskFilter;
			public setDither(param0: boolean): void;
			public set(param0: android.graphics.Paint): void;
			public setTextLocales(param0: any): void;
			public setTextSkewX(param0: number): void;
			public getColorFilter(): android.graphics.ColorFilter;
			public getTextAlign(): android.graphics.Paint.Align;
			public breakText(param0: string, param1: number, param2: number, param3: boolean, param4: number, param5: native.Array<number>): number;
			public getFontMetricsInt(): android.graphics.Paint.FontMetricsInt;
			public setFontVariationSettings(param0: string): boolean;
			public setAntiAlias(param0: boolean): void;
			public breakText(param0: native.Array<string>, param1: number, param2: number, param3: number, param4: native.Array<number>): number;
			public getTextPath(param0: string, param1: number, param2: number, param3: number, param4: number, param5: android.graphics.Path): void;
			public ascent(): number;
			public getFillPath(param0: android.graphics.Path, param1: android.graphics.Path): boolean;
			public constructor(param0: android.graphics.Paint);
			public getStrokeWidth(): number;
			public getFlags(): number;
			public isUnderlineText(): boolean;
			public isFilterBitmap(): boolean;
			public getRunAdvance(param0: native.Array<string>, param1: number, param2: number, param3: number, param4: number, param5: boolean, param6: number): number;
			public isLinearText(): boolean;
			public setFontFeatureSettings(param0: string): void;
			public isStrikeThruText(): boolean;
			public setLetterSpacing(param0: number): void;
			public setHinting(param0: number): void;
			public getStrokeCap(): android.graphics.Paint.Cap;
			public setXfermode(param0: android.graphics.Xfermode): android.graphics.Xfermode;
			public setTextSize(param0: number): void;
			public setShader(param0: android.graphics.Shader): android.graphics.Shader;
			public descent(): number;
			public setShadowLayer(param0: number, param1: number, param2: number, param3: number): void;
			public getFontSpacing(): number;
			public setTypeface(param0: android.graphics.Typeface): android.graphics.Typeface;
			public reset(): void;
			public getLetterSpacing(): number;
			public getTextWidths(param0: string, param1: native.Array<number>): number;
			public setFakeBoldText(param0: boolean): void;
			public setColorFilter(param0: android.graphics.ColorFilter): android.graphics.ColorFilter;
			public getTextSkewX(): number;
			public getPathEffect(): android.graphics.PathEffect;
			public getHinting(): number;
			public equalsForTextMeasurement(param0: android.graphics.Paint): boolean;
			public setElegantTextHeight(param0: boolean): void;
			public getXfermode(): android.graphics.Xfermode;
		}
		export module Paint {
			export class Align {
				public static class: java.lang.Class<android.graphics.Paint.Align>;
				public static LEFT: android.graphics.Paint.Align;
				public static CENTER: android.graphics.Paint.Align;
				public static RIGHT: android.graphics.Paint.Align;
				public static valueOf(param0: string): android.graphics.Paint.Align;
				public static values(): native.Array<android.graphics.Paint.Align>;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			}
			export class Cap {
				public static class: java.lang.Class<android.graphics.Paint.Cap>;
				public static BUTT: android.graphics.Paint.Cap;
				public static ROUND: android.graphics.Paint.Cap;
				public static SQUARE: android.graphics.Paint.Cap;
				public static values(): native.Array<android.graphics.Paint.Cap>;
				public static valueOf(param0: string): android.graphics.Paint.Cap;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			}
			export class FontMetrics extends java.lang.Object {
				public static class: java.lang.Class<android.graphics.Paint.FontMetrics>;
				public ascent: number;
				public bottom: number;
				public descent: number;
				public leading: number;
				public top: number;
				public constructor();
			}
			export class FontMetricsInt extends java.lang.Object {
				public static class: java.lang.Class<android.graphics.Paint.FontMetricsInt>;
				public ascent: number;
				public bottom: number;
				public descent: number;
				public leading: number;
				public top: number;
				public toString(): string;
				public constructor();
			}
			export class Join {
				public static class: java.lang.Class<android.graphics.Paint.Join>;
				public static MITER: android.graphics.Paint.Join;
				public static ROUND: android.graphics.Paint.Join;
				public static BEVEL: android.graphics.Paint.Join;
				public static values(): native.Array<android.graphics.Paint.Join>;
				public static valueOf(param0: string): android.graphics.Paint.Join;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			}
			export class Style {
				public static class: java.lang.Class<android.graphics.Paint.Style>;
				public static FILL: android.graphics.Paint.Style;
				public static STROKE: android.graphics.Paint.Style;
				public static FILL_AND_STROKE: android.graphics.Paint.Style;
				public static valueOf(param0: string): android.graphics.Paint.Style;
				public static values(): native.Array<android.graphics.Paint.Style>;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			}
		}
	}
}

declare module android {
	export module graphics {
		export class PaintFlagsDrawFilter extends android.graphics.DrawFilter {
			public static class: java.lang.Class<android.graphics.PaintFlagsDrawFilter>;
			public constructor();
			public constructor(param0: number, param1: number);
		}
	}
}

declare module android {
	export module graphics {
		export class Path extends java.lang.Object {
			public static class: java.lang.Class<android.graphics.Path>;
			public addRoundRect(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: android.graphics.Path.Direction): void;
			public isRect(param0: android.graphics.RectF): boolean;
			public addArc(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number): void;
			public isConvex(): boolean;
			public rMoveTo(param0: number, param1: number): void;
			public arcTo(param0: android.graphics.RectF, param1: number, param2: number, param3: boolean): void;
			public offset(param0: number, param1: number): void;
			public rCubicTo(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number): void;
			public rQuadTo(param0: number, param1: number, param2: number, param3: number): void;
			public approximate(param0: number): native.Array<number>;
			public addOval(param0: number, param1: number, param2: number, param3: number, param4: android.graphics.Path.Direction): void;
			public addRoundRect(param0: android.graphics.RectF, param1: number, param2: number, param3: android.graphics.Path.Direction): void;
			public offset(param0: number, param1: number, param2: android.graphics.Path): void;
			public addPath(param0: android.graphics.Path, param1: android.graphics.Matrix): void;
			public addPath(param0: android.graphics.Path, param1: number, param2: number): void;
			public arcTo(param0: android.graphics.RectF, param1: number, param2: number): void;
			public rLineTo(param0: number, param1: number): void;
			public lineTo(param0: number, param1: number): void;
			public quadTo(param0: number, param1: number, param2: number, param3: number): void;
			public transform(param0: android.graphics.Matrix, param1: android.graphics.Path): void;
			public reset(): void;
			public addArc(param0: android.graphics.RectF, param1: number, param2: number): void;
			public addPath(param0: android.graphics.Path): void;
			public close(): void;
			public addCircle(param0: number, param1: number, param2: number, param3: android.graphics.Path.Direction): void;
			public op(param0: android.graphics.Path, param1: android.graphics.Path.Op): boolean;
			public rewind(): void;
			public setLastPoint(param0: number, param1: number): void;
			public toggleInverseFillType(): void;
			public moveTo(param0: number, param1: number): void;
			public transform(param0: android.graphics.Matrix): void;
			public arcTo(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: boolean): void;
			public setFillType(param0: android.graphics.Path.FillType): void;
			public isEmpty(): boolean;
			public addRoundRect(param0: android.graphics.RectF, param1: native.Array<number>, param2: android.graphics.Path.Direction): void;
			public cubicTo(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number): void;
			public constructor();
			public incReserve(param0: number): void;
			public getFillType(): android.graphics.Path.FillType;
			public addRect(param0: number, param1: number, param2: number, param3: number, param4: android.graphics.Path.Direction): void;
			public addOval(param0: android.graphics.RectF, param1: android.graphics.Path.Direction): void;
			public constructor(param0: android.graphics.Path);
			public addRect(param0: android.graphics.RectF, param1: android.graphics.Path.Direction): void;
			public isInverseFillType(): boolean;
			public addRoundRect(param0: number, param1: number, param2: number, param3: number, param4: native.Array<number>, param5: android.graphics.Path.Direction): void;
			public op(param0: android.graphics.Path, param1: android.graphics.Path, param2: android.graphics.Path.Op): boolean;
			public computeBounds(param0: android.graphics.RectF, param1: boolean): void;
			public set(param0: android.graphics.Path): void;
		}
		export module Path {
			export class Direction {
				public static class: java.lang.Class<android.graphics.Path.Direction>;
				public static CW: android.graphics.Path.Direction;
				public static CCW: android.graphics.Path.Direction;
				public static values(): native.Array<android.graphics.Path.Direction>;
				public static valueOf(param0: string): android.graphics.Path.Direction;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			}
			export class FillType {
				public static class: java.lang.Class<android.graphics.Path.FillType>;
				public static WINDING: android.graphics.Path.FillType;
				public static EVEN_ODD: android.graphics.Path.FillType;
				public static INVERSE_WINDING: android.graphics.Path.FillType;
				public static INVERSE_EVEN_ODD: android.graphics.Path.FillType;
				public static valueOf(param0: string): android.graphics.Path.FillType;
				public static values(): native.Array<android.graphics.Path.FillType>;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			}
			export class Op {
				public static class: java.lang.Class<android.graphics.Path.Op>;
				public static DIFFERENCE: android.graphics.Path.Op;
				public static INTERSECT: android.graphics.Path.Op;
				public static UNION: android.graphics.Path.Op;
				public static XOR: android.graphics.Path.Op;
				public static REVERSE_DIFFERENCE: android.graphics.Path.Op;
				public static valueOf(param0: string): android.graphics.Path.Op;
				public static values(): native.Array<android.graphics.Path.Op>;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			}
		}
	}
}

declare module android {
	export module graphics {
		export class PathDashPathEffect extends android.graphics.PathEffect {
			public static class: java.lang.Class<android.graphics.PathDashPathEffect>;
			public constructor();
			public constructor(param0: android.graphics.Path, param1: number, param2: number, param3: android.graphics.PathDashPathEffect.Style);
		}
		export module PathDashPathEffect {
			export class Style {
				public static class: java.lang.Class<android.graphics.PathDashPathEffect.Style>;
				public static TRANSLATE: android.graphics.PathDashPathEffect.Style;
				public static ROTATE: android.graphics.PathDashPathEffect.Style;
				public static MORPH: android.graphics.PathDashPathEffect.Style;
				public static valueOf(param0: string): android.graphics.PathDashPathEffect.Style;
				public static values(): native.Array<android.graphics.PathDashPathEffect.Style>;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			}
		}
	}
}

declare module android {
	export module graphics {
		export class PathEffect extends java.lang.Object {
			public static class: java.lang.Class<android.graphics.PathEffect>;
			public constructor();
			public finalize(): void;
		}
	}
}

declare module android {
	export module graphics {
		export class PathMeasure extends java.lang.Object {
			public static class: java.lang.Class<android.graphics.PathMeasure>;
			public static POSITION_MATRIX_FLAG: number;
			public static TANGENT_MATRIX_FLAG: number;
			public isClosed(): boolean;
			public setPath(param0: android.graphics.Path, param1: boolean): void;
			public getMatrix(param0: number, param1: android.graphics.Matrix, param2: number): boolean;
			public getLength(): number;
			public constructor();
			public getPosTan(param0: number, param1: native.Array<number>, param2: native.Array<number>): boolean;
			public nextContour(): boolean;
			public constructor(param0: android.graphics.Path, param1: boolean);
			public finalize(): void;
			public getSegment(param0: number, param1: number, param2: android.graphics.Path, param3: boolean): boolean;
		}
	}
}

declare module android {
	export module graphics {
		export class Picture extends java.lang.Object {
			public static class: java.lang.Class<android.graphics.Picture>;
			/** @deprecated */
			public static createFromStream(param0: java.io.InputStream): android.graphics.Picture;
			public beginRecording(param0: number, param1: number): android.graphics.Canvas;
			public getHeight(): number;
			/** @deprecated */
			public writeToStream(param0: java.io.OutputStream): void;
			public constructor(param0: android.graphics.Picture);
			public getWidth(): number;
			public constructor();
			public endRecording(): void;
			public finalize(): void;
			public requiresHardwareAcceleration(): boolean;
			public draw(param0: android.graphics.Canvas): void;
		}
	}
}

declare module android {
	export module graphics {
		export class PixelFormat extends java.lang.Object {
			public static class: java.lang.Class<android.graphics.PixelFormat>;
			public static A_8: number;
			public static JPEG: number;
			public static LA_88: number;
			public static L_8: number;
			public static OPAQUE: number;
			public static RGBA_1010102: number;
			public static RGBA_4444: number;
			public static RGBA_5551: number;
			public static RGBA_8888: number;
			public static RGBA_F16: number;
			public static RGBX_8888: number;
			public static RGB_332: number;
			public static RGB_565: number;
			public static RGB_888: number;
			public static TRANSLUCENT: number;
			public static TRANSPARENT: number;
			public static UNKNOWN: number;
			public static YCbCr_420_SP: number;
			public static YCbCr_422_I: number;
			public static YCbCr_422_SP: number;
			public bitsPerPixel: number;
			public bytesPerPixel: number;
			public static formatHasAlpha(param0: number): boolean;
			public constructor();
			public static getPixelFormatInfo(param0: number, param1: android.graphics.PixelFormat): void;
		}
	}
}

declare module android {
	export module graphics {
		export class Point extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.graphics.Point>;
			public static CREATOR: android.os.Parcelable.Creator<android.graphics.Point>;
			public x: number;
			public y: number;
			public equals(param0: any): boolean;
			public offset(param0: number, param1: number): void;
			public equals(param0: number, param1: number): boolean;
			public constructor();
			public set(param0: number, param1: number): void;
			public readFromParcel(param0: android.os.Parcel): void;
			public constructor(param0: android.graphics.Point);
			public negate(): void;
			public toString(): string;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public constructor(param0: number, param1: number);
			public hashCode(): number;
		}
	}
}

declare module android {
	export module graphics {
		export class PointF extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.graphics.PointF>;
			public static CREATOR: android.os.Parcelable.Creator<android.graphics.PointF>;
			public x: number;
			public y: number;
			public equals(param0: any): boolean;
			public offset(param0: number, param1: number): void;
			public equals(param0: number, param1: number): boolean;
			public length(): number;
			public constructor();
			public set(param0: number, param1: number): void;
			public readFromParcel(param0: android.os.Parcel): void;
			public constructor(param0: android.graphics.Point);
			public static length(param0: number, param1: number): number;
			public negate(): void;
			public toString(): string;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public set(param0: android.graphics.PointF): void;
			public constructor(param0: number, param1: number);
			public hashCode(): number;
		}
	}
}

declare module android {
	export module graphics {
		export class PorterDuff extends java.lang.Object {
			public static class: java.lang.Class<android.graphics.PorterDuff>;
			public constructor();
		}
		export module PorterDuff {
			export class Mode {
				public static class: java.lang.Class<android.graphics.PorterDuff.Mode>;
				public static CLEAR: android.graphics.PorterDuff.Mode;
				public static SRC: android.graphics.PorterDuff.Mode;
				public static DST: android.graphics.PorterDuff.Mode;
				public static SRC_OVER: android.graphics.PorterDuff.Mode;
				public static DST_OVER: android.graphics.PorterDuff.Mode;
				public static SRC_IN: android.graphics.PorterDuff.Mode;
				public static DST_IN: android.graphics.PorterDuff.Mode;
				public static SRC_OUT: android.graphics.PorterDuff.Mode;
				public static DST_OUT: android.graphics.PorterDuff.Mode;
				public static SRC_ATOP: android.graphics.PorterDuff.Mode;
				public static DST_ATOP: android.graphics.PorterDuff.Mode;
				public static XOR: android.graphics.PorterDuff.Mode;
				public static DARKEN: android.graphics.PorterDuff.Mode;
				public static LIGHTEN: android.graphics.PorterDuff.Mode;
				public static MULTIPLY: android.graphics.PorterDuff.Mode;
				public static SCREEN: android.graphics.PorterDuff.Mode;
				public static ADD: android.graphics.PorterDuff.Mode;
				public static OVERLAY: android.graphics.PorterDuff.Mode;
				public static valueOf(param0: string): android.graphics.PorterDuff.Mode;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
				public static values(): native.Array<android.graphics.PorterDuff.Mode>;
			}
		}
	}
}

declare module android {
	export module graphics {
		export class PorterDuffColorFilter extends android.graphics.ColorFilter {
			public static class: java.lang.Class<android.graphics.PorterDuffColorFilter>;
			public equals(param0: any): boolean;
			/** @deprecated */
			public constructor();
			public constructor(param0: number, param1: android.graphics.PorterDuff.Mode);
			public hashCode(): number;
		}
	}
}

declare module android {
	export module graphics {
		export class PorterDuffXfermode extends android.graphics.Xfermode {
			public static class: java.lang.Class<android.graphics.PorterDuffXfermode>;
			public constructor();
			public constructor(param0: android.graphics.PorterDuff.Mode);
		}
	}
}

declare module android {
	export module graphics {
		export class PostProcessor extends java.lang.Object {
			public static class: java.lang.Class<android.graphics.PostProcessor>;
			/**
			 * Constructs a new instance of the android.graphics.PostProcessor interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				onPostProcess(param0: android.graphics.Canvas): number;
			});
			public constructor();
			public onPostProcess(param0: android.graphics.Canvas): number;
		}
	}
}

declare module android {
	export module graphics {
		export class RadialGradient extends android.graphics.Shader {
			public static class: java.lang.Class<android.graphics.RadialGradient>;
			public constructor(param0: number, param1: number, param2: number, param3: number, param4: number, param5: android.graphics.Shader.TileMode);
			/** @deprecated */
			public constructor();
			public constructor(param0: number, param1: number, param2: number, param3: native.Array<number>, param4: native.Array<number>, param5: android.graphics.Shader.TileMode);
		}
	}
}

declare module android {
	export module graphics {
		export class Rect extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.graphics.Rect>;
			public static CREATOR: android.os.Parcelable.Creator<android.graphics.Rect>;
			public bottom: number;
			public left: number;
			public right: number;
			public top: number;
			public equals(param0: any): boolean;
			public setEmpty(): void;
			public static intersects(param0: android.graphics.Rect, param1: android.graphics.Rect): boolean;
			public offset(param0: number, param1: number): void;
			public centerX(): number;
			public exactCenterX(): number;
			public set(param0: android.graphics.Rect): void;
			public set(param0: number, param1: number, param2: number, param3: number): void;
			public constructor(param0: number, param1: number, param2: number, param3: number);
			public union(param0: number, param1: number, param2: number, param3: number): void;
			public readFromParcel(param0: android.os.Parcel): void;
			public inset(param0: number, param1: number): void;
			public union(param0: number, param1: number): void;
			public sort(): void;
			public offsetTo(param0: number, param1: number): void;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public height(): number;
			public union(param0: android.graphics.Rect): void;
			public flattenToString(): string;
			public setIntersect(param0: android.graphics.Rect, param1: android.graphics.Rect): boolean;
			public static unflattenFromString(param0: string): android.graphics.Rect;
			public isEmpty(): boolean;
			public width(): number;
			public constructor(param0: android.graphics.Rect);
			public toShortString(): string;
			public exactCenterY(): number;
			public constructor();
			public contains(param0: number, param1: number, param2: number, param3: number): boolean;
			public toString(): string;
			public centerY(): number;
			public describeContents(): number;
			public contains(param0: android.graphics.Rect): boolean;
			public intersect(param0: android.graphics.Rect): boolean;
			public intersects(param0: number, param1: number, param2: number, param3: number): boolean;
			public contains(param0: number, param1: number): boolean;
			public hashCode(): number;
			public intersect(param0: number, param1: number, param2: number, param3: number): boolean;
		}
	}
}

declare module android {
	export module graphics {
		export class RectF extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.graphics.RectF>;
			public static CREATOR: android.os.Parcelable.Creator<android.graphics.RectF>;
			public bottom: number;
			public left: number;
			public right: number;
			public top: number;
			public equals(param0: any): boolean;
			public setEmpty(): void;
			public offset(param0: number, param1: number): void;
			public centerX(): number;
			public set(param0: android.graphics.Rect): void;
			public constructor(param0: android.graphics.RectF);
			public set(param0: number, param1: number, param2: number, param3: number): void;
			public union(param0: android.graphics.RectF): void;
			public round(param0: android.graphics.Rect): void;
			public constructor(param0: number, param1: number, param2: number, param3: number);
			public union(param0: number, param1: number, param2: number, param3: number): void;
			public readFromParcel(param0: android.os.Parcel): void;
			public inset(param0: number, param1: number): void;
			public union(param0: number, param1: number): void;
			public sort(): void;
			public offsetTo(param0: number, param1: number): void;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public height(): number;
			public setIntersect(param0: android.graphics.RectF, param1: android.graphics.RectF): boolean;
			public intersect(param0: android.graphics.RectF): boolean;
			public contains(param0: android.graphics.RectF): boolean;
			public static intersects(param0: android.graphics.RectF, param1: android.graphics.RectF): boolean;
			public roundOut(param0: android.graphics.Rect): void;
			public isEmpty(): boolean;
			public width(): number;
			public constructor(param0: android.graphics.Rect);
			public toShortString(): string;
			public constructor();
			public contains(param0: number, param1: number, param2: number, param3: number): boolean;
			public toString(): string;
			public centerY(): number;
			public describeContents(): number;
			public intersects(param0: number, param1: number, param2: number, param3: number): boolean;
			public set(param0: android.graphics.RectF): void;
			public contains(param0: number, param1: number): boolean;
			public hashCode(): number;
			public intersect(param0: number, param1: number, param2: number, param3: number): boolean;
		}
	}
}

declare module android {
	export module graphics {
		export class Region extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.graphics.Region>;
			public static CREATOR: android.os.Parcelable.Creator<android.graphics.Region>;
			public equals(param0: any): boolean;
			public setEmpty(): void;
			public getBounds(param0: android.graphics.Rect): boolean;
			public union(param0: android.graphics.Rect): boolean;
			public quickContains(param0: number, param1: number, param2: number, param3: number): boolean;
			public quickReject(param0: android.graphics.Region): boolean;
			public translate(param0: number, param1: number, param2: android.graphics.Region): void;
			public constructor(param0: number, param1: number, param2: number, param3: number);
			public op(param0: android.graphics.Region, param1: android.graphics.Region, param2: android.graphics.Region.Op): boolean;
			public set(param0: android.graphics.Rect): boolean;
			public set(param0: android.graphics.Region): boolean;
			public getBoundaryPath(): android.graphics.Path;
			public setPath(param0: android.graphics.Path, param1: android.graphics.Region): boolean;
			public op(param0: android.graphics.Rect, param1: android.graphics.Region.Op): boolean;
			public op(param0: android.graphics.Region, param1: android.graphics.Region.Op): boolean;
			public translate(param0: number, param1: number): void;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public isRect(): boolean;
			public quickContains(param0: android.graphics.Rect): boolean;
			public quickReject(param0: android.graphics.Rect): boolean;
			public finalize(): void;
			public isEmpty(): boolean;
			public constructor(param0: android.graphics.Rect);
			public isComplex(): boolean;
			public op(param0: number, param1: number, param2: number, param3: number, param4: android.graphics.Region.Op): boolean;
			public constructor();
			public quickReject(param0: number, param1: number, param2: number, param3: number): boolean;
			public getBounds(): android.graphics.Rect;
			public set(param0: number, param1: number, param2: number, param3: number): boolean;
			public op(param0: android.graphics.Rect, param1: android.graphics.Region, param2: android.graphics.Region.Op): boolean;
			public toString(): string;
			public describeContents(): number;
			public contains(param0: number, param1: number): boolean;
			public getBoundaryPath(param0: android.graphics.Path): boolean;
			public constructor(param0: android.graphics.Region);
		}
		export module Region {
			export class Op {
				public static class: java.lang.Class<android.graphics.Region.Op>;
				public static DIFFERENCE: android.graphics.Region.Op;
				public static INTERSECT: android.graphics.Region.Op;
				public static UNION: android.graphics.Region.Op;
				public static XOR: android.graphics.Region.Op;
				public static REVERSE_DIFFERENCE: android.graphics.Region.Op;
				public static REPLACE: android.graphics.Region.Op;
				public static values(): native.Array<android.graphics.Region.Op>;
				public static valueOf(param0: string): android.graphics.Region.Op;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			}
		}
	}
}

declare module android {
	export module graphics {
		export class RegionIterator extends java.lang.Object {
			public static class: java.lang.Class<android.graphics.RegionIterator>;
			public next(param0: android.graphics.Rect): boolean;
			public constructor(param0: android.graphics.Region);
			public finalize(): void;
		}
	}
}

declare module android {
	export module graphics {
		export class Shader extends java.lang.Object {
			public static class: java.lang.Class<android.graphics.Shader>;
			/** @deprecated */
			public constructor();
			public setLocalMatrix(param0: android.graphics.Matrix): void;
			public getLocalMatrix(param0: android.graphics.Matrix): boolean;
		}
		export module Shader {
			export class TileMode {
				public static class: java.lang.Class<android.graphics.Shader.TileMode>;
				public static CLAMP: android.graphics.Shader.TileMode;
				public static REPEAT: android.graphics.Shader.TileMode;
				public static MIRROR: android.graphics.Shader.TileMode;
				public static values(): native.Array<android.graphics.Shader.TileMode>;
				public static valueOf(param0: string): android.graphics.Shader.TileMode;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			}
		}
	}
}

declare module android {
	export module graphics {
		export class SumPathEffect extends android.graphics.PathEffect {
			public static class: java.lang.Class<android.graphics.SumPathEffect>;
			public constructor();
			public constructor(param0: android.graphics.PathEffect, param1: android.graphics.PathEffect);
		}
	}
}

declare module android {
	export module graphics {
		export class SurfaceTexture extends java.lang.Object {
			public static class: java.lang.Class<android.graphics.SurfaceTexture>;
			public setOnFrameAvailableListener(param0: android.graphics.SurfaceTexture.OnFrameAvailableListener, param1: android.os.Handler): void;
			public constructor(param0: boolean);
			public updateTexImage(): void;
			public detachFromGLContext(): void;
			public constructor(param0: number);
			public constructor(param0: number, param1: boolean);
			public releaseTexImage(): void;
			public isReleased(): boolean;
			public getTransformMatrix(param0: native.Array<number>): void;
			public attachToGLContext(param0: number): void;
			public getTimestamp(): number;
			public setOnFrameAvailableListener(param0: android.graphics.SurfaceTexture.OnFrameAvailableListener): void;
			public setDefaultBufferSize(param0: number, param1: number): void;
			public release(): void;
			public finalize(): void;
		}
		export module SurfaceTexture {
			export class OnFrameAvailableListener extends java.lang.Object {
				public static class: java.lang.Class<android.graphics.SurfaceTexture.OnFrameAvailableListener>;
				/**
				 * Constructs a new instance of the android.graphics.SurfaceTexture$OnFrameAvailableListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onFrameAvailable(param0: android.graphics.SurfaceTexture): void;
				});
				public constructor();
				public onFrameAvailable(param0: android.graphics.SurfaceTexture): void;
			}
			export class OutOfResourcesException extends java.lang.Exception {
				public static class: java.lang.Class<android.graphics.SurfaceTexture.OutOfResourcesException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module android {
	export module graphics {
		export class SweepGradient extends android.graphics.Shader {
			public static class: java.lang.Class<android.graphics.SweepGradient>;
			/** @deprecated */
			public constructor();
			public constructor(param0: number, param1: number, param2: native.Array<number>, param3: native.Array<number>);
			public constructor(param0: number, param1: number, param2: number, param3: number);
		}
	}
}

declare module android {
	export module graphics {
		export class Typeface extends java.lang.Object {
			public static class: java.lang.Class<android.graphics.Typeface>;
			public static BOLD: number;
			public static BOLD_ITALIC: number;
			public static DEFAULT: android.graphics.Typeface;
			public static DEFAULT_BOLD: android.graphics.Typeface;
			public static ITALIC: number;
			public static MONOSPACE: android.graphics.Typeface;
			public static NORMAL: number;
			public static SANS_SERIF: android.graphics.Typeface;
			public static SERIF: android.graphics.Typeface;
			public equals(param0: any): boolean;
			public static create(param0: string, param1: number): android.graphics.Typeface;
			public getWeight(): number;
			public static createFromFile(param0: java.io.File): android.graphics.Typeface;
			public static createFromFile(param0: string): android.graphics.Typeface;
			public isBold(): boolean;
			public getStyle(): number;
			public static create(param0: android.graphics.Typeface, param1: number, param2: boolean): android.graphics.Typeface;
			public isItalic(): boolean;
			public static defaultFromStyle(param0: number): android.graphics.Typeface;
			public static createFromAsset(param0: android.content.res.AssetManager, param1: string): android.graphics.Typeface;
			public static create(param0: android.graphics.Typeface, param1: number): android.graphics.Typeface;
			public hashCode(): number;
		}
		export module Typeface {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.graphics.Typeface.Builder>;
				public constructor(param0: android.content.res.AssetManager, param1: string);
				public constructor(param0: java.io.File);
				public setWeight(param0: number): android.graphics.Typeface.Builder;
				public constructor(param0: java.io.FileDescriptor);
				public build(): android.graphics.Typeface;
				public setFallback(param0: string): android.graphics.Typeface.Builder;
				public setFontVariationSettings(param0: string): android.graphics.Typeface.Builder;
				public setFontVariationSettings(param0: native.Array<android.graphics.fonts.FontVariationAxis>): android.graphics.Typeface.Builder;
				public setItalic(param0: boolean): android.graphics.Typeface.Builder;
				public setTtcIndex(param0: number): android.graphics.Typeface.Builder;
				public constructor(param0: string);
			}
		}
	}
}

declare module android {
	export module graphics {
		export class Xfermode extends java.lang.Object {
			public static class: java.lang.Class<android.graphics.Xfermode>;
			public constructor();
		}
	}
}

declare module android {
	export module graphics {
		export class YuvImage extends java.lang.Object {
			public static class: java.lang.Class<android.graphics.YuvImage>;
			public constructor(param0: native.Array<number>, param1: number, param2: number, param3: number, param4: native.Array<number>);
			public compressToJpeg(param0: android.graphics.Rect, param1: number, param2: java.io.OutputStream): boolean;
			public getHeight(): number;
			public getYuvData(): native.Array<number>;
			public getStrides(): native.Array<number>;
			public getWidth(): number;
			public getYuvFormat(): number;
		}
	}
}

declare module android {
	export module graphics {
		export module drawable {
			export class AdaptiveIconDrawable extends android.graphics.drawable.Drawable implements android.graphics.drawable.Drawable.Callback {
				public static class: java.lang.Class<android.graphics.drawable.AdaptiveIconDrawable>;
				public static getExtraInsetFraction(): number;
				public getAlpha(): number;
				public isAutoMirrored(): boolean;
				public setTintList(param0: android.content.res.ColorStateList): void;
				public setTintMode(param0: android.graphics.PorterDuff.Mode): void;
				public constructor();
				public constructor(param0: android.graphics.drawable.Drawable, param1: android.graphics.drawable.Drawable);
				public onBoundsChange(param0: android.graphics.Rect): void;
				public getIntrinsicWidth(): number;
				public onStateChange(param0: native.Array<number>): boolean;
				public setHotspotBounds(param0: number, param1: number, param2: number, param3: number): void;
				public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
				public setColorFilter(param0: android.graphics.ColorFilter): void;
				public getHotspotBounds(param0: android.graphics.Rect): void;
				/** @deprecated */
				public setDither(param0: boolean): void;
				public draw(param0: android.graphics.Canvas): void;
				public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
				public setColorFilter(param0: number, param1: android.graphics.PorterDuff.Mode): void;
				public getForeground(): android.graphics.drawable.Drawable;
				public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
				public onLevelChange(param0: number): boolean;
				public jumpToCurrentState(): void;
				public setDither(param0: boolean): void;
				public getBackground(): android.graphics.drawable.Drawable;
				public canApplyTheme(): boolean;
				public getChangingConfigurations(): number;
				public getConstantState(): android.graphics.drawable.Drawable.ConstantState;
				public invalidateSelf(): void;
				public getOutline(param0: any): void;
				public setAlpha(param0: number): void;
				public setOpacity(param0: number): void;
				public setAutoMirrored(param0: boolean): void;
				public inflate(param0: android.content.res.Resources, param1: org.xmlpull.v1.XmlPullParser, param2: android.util.AttributeSet, param3: android.content.res.Resources.Theme): void;
				public getIntrinsicHeight(): number;
				public inflate(param0: android.content.res.Resources, param1: org.xmlpull.v1.XmlPullParser, param2: android.util.AttributeSet): void;
				public mutate(): android.graphics.drawable.Drawable;
				public setHotspot(param0: number, param1: number): void;
				public setVisible(param0: boolean, param1: boolean): boolean;
				public getTransparentRegion(): android.graphics.Region;
				public getIconMask(): android.graphics.Path;
				public applyTheme(param0: android.content.res.Resources.Theme): void;
				public getOpacity(): number;
				public isStateful(): boolean;
			}
		}
	}
}

declare module android {
	export module graphics {
		export module drawable {
			export class Animatable extends java.lang.Object {
				public static class: java.lang.Class<android.graphics.drawable.Animatable>;
				/**
				 * Constructs a new instance of the android.graphics.drawable.Animatable interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					start(): void;
					stop(): void;
					isRunning(): boolean;
				});
				public constructor();
				public stop(): void;
				public start(): void;
				public isRunning(): boolean;
			}
		}
	}
}

declare module android {
	export module graphics {
		export module drawable {
			export class Animatable2 extends java.lang.Object implements android.graphics.drawable.Animatable {
				public static class: java.lang.Class<android.graphics.drawable.Animatable2>;
				/**
				 * Constructs a new instance of the android.graphics.drawable.Animatable2 interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					registerAnimationCallback(param0: android.graphics.drawable.Animatable2.AnimationCallback): void;
					unregisterAnimationCallback(param0: android.graphics.drawable.Animatable2.AnimationCallback): boolean;
					clearAnimationCallbacks(): void;
					start(): void;
					stop(): void;
					isRunning(): boolean;
				});
				public constructor();
				public stop(): void;
				public unregisterAnimationCallback(param0: android.graphics.drawable.Animatable2.AnimationCallback): boolean;
				public start(): void;
				public clearAnimationCallbacks(): void;
				public isRunning(): boolean;
				public registerAnimationCallback(param0: android.graphics.drawable.Animatable2.AnimationCallback): void;
			}
			export module Animatable2 {
				export abstract class AnimationCallback extends java.lang.Object {
					public static class: java.lang.Class<android.graphics.drawable.Animatable2.AnimationCallback>;
					public onAnimationStart(param0: android.graphics.drawable.Drawable): void;
					public constructor();
					public onAnimationEnd(param0: android.graphics.drawable.Drawable): void;
				}
			}
		}
	}
}

declare module android {
	export module graphics {
		export module drawable {
			export class AnimatedImageDrawable extends android.graphics.drawable.Drawable implements android.graphics.drawable.Animatable2 {
				public static class: java.lang.Class<android.graphics.drawable.AnimatedImageDrawable>;
				public static REPEAT_INFINITE: number;
				public onLayoutDirectionChanged(param0: number): boolean;
				public getRepeatCount(): number;
				public setColorFilter(param0: number, param1: android.graphics.PorterDuff.Mode): void;
				public getColorFilter(): android.graphics.ColorFilter;
				public clearAnimationCallbacks(): void;
				public setAlpha(param0: number): void;
				public getAlpha(): number;
				public isAutoMirrored(): boolean;
				public setAutoMirrored(param0: boolean): void;
				public inflate(param0: android.content.res.Resources, param1: org.xmlpull.v1.XmlPullParser, param2: android.util.AttributeSet, param3: android.content.res.Resources.Theme): void;
				public constructor();
				public getIntrinsicWidth(): number;
				public stop(): void;
				public getIntrinsicHeight(): number;
				public inflate(param0: android.content.res.Resources, param1: org.xmlpull.v1.XmlPullParser, param2: android.util.AttributeSet): void;
				public start(): void;
				public unregisterAnimationCallback(param0: android.graphics.drawable.Animatable2.AnimationCallback): boolean;
				public setColorFilter(param0: android.graphics.ColorFilter): void;
				public isRunning(): boolean;
				public setRepeatCount(param0: number): void;
				public getOpacity(): number;
				public draw(param0: android.graphics.Canvas): void;
				public registerAnimationCallback(param0: android.graphics.drawable.Animatable2.AnimationCallback): void;
			}
		}
	}
}

declare module android {
	export module graphics {
		export module drawable {
			export class AnimatedStateListDrawable extends android.graphics.drawable.StateListDrawable {
				public static class: java.lang.Class<android.graphics.drawable.AnimatedStateListDrawable>;
				public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
				public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
				public jumpToCurrentState(): void;
				public setConstantState(param0: android.graphics.drawable.DrawableContainer.DrawableContainerState): void;
				public addState(param0: native.Array<number>, param1: android.graphics.drawable.Drawable): void;
				public addTransition(param0: number, param1: number, param2: android.graphics.drawable.Drawable, param3: boolean): void;
				public inflate(param0: android.content.res.Resources, param1: org.xmlpull.v1.XmlPullParser, param2: android.util.AttributeSet, param3: android.content.res.Resources.Theme): void;
				public constructor();
				public addState(param0: native.Array<number>, param1: android.graphics.drawable.Drawable, param2: number): void;
				public onStateChange(param0: native.Array<number>): boolean;
				public inflate(param0: android.content.res.Resources, param1: org.xmlpull.v1.XmlPullParser, param2: android.util.AttributeSet): void;
				public mutate(): android.graphics.drawable.Drawable;
				public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
				public setVisible(param0: boolean, param1: boolean): boolean;
				public applyTheme(param0: android.content.res.Resources.Theme): void;
				public isStateful(): boolean;
			}
		}
	}
}

declare module android {
	export module graphics {
		export module drawable {
			export class AnimatedVectorDrawable extends android.graphics.drawable.Drawable implements android.graphics.drawable.Animatable2 {
				public static class: java.lang.Class<android.graphics.drawable.AnimatedVectorDrawable>;
				public getColorFilter(): android.graphics.ColorFilter;
				public clearAnimationCallbacks(): void;
				public getAlpha(): number;
				public setTintList(param0: android.content.res.ColorStateList): void;
				public setTintMode(param0: android.graphics.PorterDuff.Mode): void;
				public constructor();
				public onBoundsChange(param0: android.graphics.Rect): void;
				public getIntrinsicWidth(): number;
				public reset(): void;
				public onStateChange(param0: native.Array<number>): boolean;
				public setHotspotBounds(param0: number, param1: number, param2: number, param3: number): void;
				public start(): void;
				public setColorFilter(param0: android.graphics.ColorFilter): void;
				public isRunning(): boolean;
				public draw(param0: android.graphics.Canvas): void;
				public registerAnimationCallback(param0: android.graphics.drawable.Animatable2.AnimationCallback): void;
				public onLayoutDirectionChanged(param0: number): boolean;
				public setColorFilter(param0: number, param1: android.graphics.PorterDuff.Mode): void;
				public onLevelChange(param0: number): boolean;
				public getConstantState(): android.graphics.drawable.Drawable.ConstantState;
				public getChangingConfigurations(): number;
				public canApplyTheme(): boolean;
				public setAlpha(param0: number): void;
				public getOutline(param0: any): void;
				public inflate(param0: android.content.res.Resources, param1: org.xmlpull.v1.XmlPullParser, param2: android.util.AttributeSet, param3: android.content.res.Resources.Theme): void;
				public stop(): void;
				public getIntrinsicHeight(): number;
				public inflate(param0: android.content.res.Resources, param1: org.xmlpull.v1.XmlPullParser, param2: android.util.AttributeSet): void;
				public mutate(): android.graphics.drawable.Drawable;
				public unregisterAnimationCallback(param0: android.graphics.drawable.Animatable2.AnimationCallback): boolean;
				public setHotspot(param0: number, param1: number): void;
				public setVisible(param0: boolean, param1: boolean): boolean;
				public applyTheme(param0: android.content.res.Resources.Theme): void;
				public getOpacity(): number;
				public isStateful(): boolean;
			}
		}
	}
}

declare module android {
	export module graphics {
		export module drawable {
			export class AnimationDrawable extends android.graphics.drawable.DrawableContainer implements java.lang.Runnable, android.graphics.drawable.Animatable {
				public static class: java.lang.Class<android.graphics.drawable.AnimationDrawable>;
				public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
				public addFrame(param0: android.graphics.drawable.Drawable, param1: number): void;
				public unscheduleSelf(param0: java.lang.Runnable): void;
				public getNumberOfFrames(): number;
				public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
				public getDuration(param0: number): number;
				public setConstantState(param0: android.graphics.drawable.DrawableContainer.DrawableContainerState): void;
				public isOneShot(): boolean;
				public inflate(param0: android.content.res.Resources, param1: org.xmlpull.v1.XmlPullParser, param2: android.util.AttributeSet, param3: android.content.res.Resources.Theme): void;
				public constructor();
				public stop(): void;
				public run(): void;
				public inflate(param0: android.content.res.Resources, param1: org.xmlpull.v1.XmlPullParser, param2: android.util.AttributeSet): void;
				public start(): void;
				public mutate(): android.graphics.drawable.Drawable;
				public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
				public isRunning(): boolean;
				public setVisible(param0: boolean, param1: boolean): boolean;
				public setOneShot(param0: boolean): void;
				public getFrame(param0: number): android.graphics.drawable.Drawable;
			}
		}
	}
}

declare module android {
	export module graphics {
		export module drawable {
			export class BitmapDrawable extends android.graphics.drawable.Drawable {
				public static class: java.lang.Class<android.graphics.drawable.BitmapDrawable>;
				public setAntiAlias(param0: boolean): void;
				public getTileModeX(): android.graphics.Shader.TileMode;
				public getAlpha(): number;
				public setTileModeX(param0: android.graphics.Shader.TileMode): void;
				public getPaint(): android.graphics.Paint;
				public constructor();
				public getBitmap(): android.graphics.Bitmap;
				public onStateChange(param0: native.Array<number>): boolean;
				public constructor(param0: android.content.res.Resources, param1: java.io.InputStream);
				public setTileModeY(param0: android.graphics.Shader.TileMode): void;
				/** @deprecated */
				public setDither(param0: boolean): void;
				public constructor(param0: android.content.res.Resources, param1: string);
				public setTileModeXY(param0: android.graphics.Shader.TileMode, param1: android.graphics.Shader.TileMode): void;
				public setDither(param0: boolean): void;
				public getChangingConfigurations(): number;
				public canApplyTheme(): boolean;
				public getConstantState(): android.graphics.drawable.Drawable.ConstantState;
				/** @deprecated */
				public constructor();
				public getIntrinsicHeight(): number;
				public isFilterBitmap(): boolean;
				public applyTheme(param0: android.content.res.Resources.Theme): void;
				public getOpacity(): number;
				public setTargetDensity(param0: android.util.DisplayMetrics): void;
				public getColorFilter(): android.graphics.ColorFilter;
				public isAutoMirrored(): boolean;
				/** @deprecated */
				public constructor(param0: string);
				public setTintList(param0: android.content.res.ColorStateList): void;
				public setTintMode(param0: android.graphics.PorterDuff.Mode): void;
				public onBoundsChange(param0: android.graphics.Rect): void;
				public getIntrinsicWidth(): number;
				public getTileModeY(): android.graphics.Shader.TileMode;
				public setTargetDensity(param0: number): void;
				public getGravity(): number;
				/** @deprecated */
				public constructor(param0: android.content.res.Resources);
				public hasMipMap(): boolean;
				public setGravity(param0: number): void;
				public setColorFilter(param0: android.graphics.ColorFilter): void;
				public hasAntiAlias(): boolean;
				public draw(param0: android.graphics.Canvas): void;
				public setColorFilter(param0: number, param1: android.graphics.PorterDuff.Mode): void;
				public setMipMap(param0: boolean): void;
				/** @deprecated */
				public constructor(param0: android.graphics.Bitmap);
				public constructor(param0: android.content.res.Resources, param1: android.graphics.Bitmap);
				public getOutline(param0: any): void;
				public setAlpha(param0: number): void;
				/** @deprecated */
				public constructor(param0: java.io.InputStream);
				public setTargetDensity(param0: android.graphics.Canvas): void;
				public setAutoMirrored(param0: boolean): void;
				public inflate(param0: android.content.res.Resources, param1: org.xmlpull.v1.XmlPullParser, param2: android.util.AttributeSet, param3: android.content.res.Resources.Theme): void;
				public inflate(param0: android.content.res.Resources, param1: org.xmlpull.v1.XmlPullParser, param2: android.util.AttributeSet): void;
				public mutate(): android.graphics.drawable.Drawable;
				public setFilterBitmap(param0: boolean): void;
				public isStateful(): boolean;
			}
		}
	}
}

declare module android {
	export module graphics {
		export module drawable {
			export class ClipDrawable extends android.graphics.drawable.DrawableWrapper {
				public static class: java.lang.Class<android.graphics.drawable.ClipDrawable>;
				public static HORIZONTAL: number;
				public static VERTICAL: number;
				public constructor(param0: android.graphics.drawable.Drawable);
				public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
				public inflate(param0: android.content.res.Resources, param1: org.xmlpull.v1.XmlPullParser, param2: android.util.AttributeSet): void;
				public onLevelChange(param0: number): boolean;
				public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
				public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
				public constructor(param0: android.graphics.drawable.Drawable, param1: number, param2: number);
				public applyTheme(param0: android.content.res.Resources.Theme): void;
				public inflate(param0: android.content.res.Resources, param1: org.xmlpull.v1.XmlPullParser, param2: android.util.AttributeSet, param3: android.content.res.Resources.Theme): void;
				public getOpacity(): number;
				public constructor();
				public draw(param0: android.graphics.Canvas): void;
			}
		}
	}
}

declare module android {
	export module graphics {
		export module drawable {
			export class ColorDrawable extends android.graphics.drawable.Drawable {
				public static class: java.lang.Class<android.graphics.drawable.ColorDrawable>;
				public getColor(): number;
				public setColorFilter(param0: number, param1: android.graphics.PorterDuff.Mode): void;
				public getChangingConfigurations(): number;
				public canApplyTheme(): boolean;
				public getConstantState(): android.graphics.drawable.Drawable.ConstantState;
				public setColor(param0: number): void;
				public getAlpha(): number;
				public setAlpha(param0: number): void;
				public getOutline(param0: any): void;
				public setTintList(param0: android.content.res.ColorStateList): void;
				public setTintMode(param0: android.graphics.PorterDuff.Mode): void;
				public inflate(param0: android.content.res.Resources, param1: org.xmlpull.v1.XmlPullParser, param2: android.util.AttributeSet, param3: android.content.res.Resources.Theme): void;
				public constructor();
				public onStateChange(param0: native.Array<number>): boolean;
				public inflate(param0: android.content.res.Resources, param1: org.xmlpull.v1.XmlPullParser, param2: android.util.AttributeSet): void;
				public mutate(): android.graphics.drawable.Drawable;
				public constructor(param0: number);
				public setColorFilter(param0: android.graphics.ColorFilter): void;
				public applyTheme(param0: android.content.res.Resources.Theme): void;
				public getOpacity(): number;
				public draw(param0: android.graphics.Canvas): void;
				public isStateful(): boolean;
			}
		}
	}
}

declare module android {
	export module graphics {
		export module drawable {
			export abstract class Drawable extends java.lang.Object {
				public static class: java.lang.Class<android.graphics.drawable.Drawable>;
				public getCurrent(): android.graphics.drawable.Drawable;
				public getAlpha(): number;
				public setLayoutDirection(param0: number): boolean;
				public constructor();
				public copyBounds(): android.graphics.Rect;
				public onStateChange(param0: native.Array<number>): boolean;
				public setHotspotBounds(param0: number, param1: number, param2: number, param3: number): void;
				public getHotspotBounds(param0: android.graphics.Rect): void;
				public static resolveOpacity(param0: number, param1: number): number;
				public copyBounds(param0: android.graphics.Rect): void;
				/** @deprecated */
				public setDither(param0: boolean): void;
				public onLayoutDirectionChanged(param0: number): boolean;
				public getCallback(): android.graphics.drawable.Drawable.Callback;
				/** @deprecated */
				public static createFromResourceStream(param0: android.content.res.Resources, param1: android.util.TypedValue, param2: java.io.InputStream, param3: string, param4: android.graphics.BitmapFactory.Options): android.graphics.drawable.Drawable;
				public setTint(param0: number): void;
				public unscheduleSelf(param0: java.lang.Runnable): void;
				public onLevelChange(param0: number): boolean;
				public jumpToCurrentState(): void;
				public setBounds(param0: number, param1: number, param2: number, param3: number): void;
				public getChangingConfigurations(): number;
				public canApplyTheme(): boolean;
				public getConstantState(): android.graphics.drawable.Drawable.ConstantState;
				public invalidateSelf(): void;
				public getMinimumHeight(): number;
				public setLevel(param0: number): boolean;
				public setCallback(param0: android.graphics.drawable.Drawable.Callback): void;
				public getIntrinsicHeight(): number;
				public static createFromXmlInner(param0: android.content.res.Resources, param1: org.xmlpull.v1.XmlPullParser, param2: android.util.AttributeSet, param3: android.content.res.Resources.Theme): android.graphics.drawable.Drawable;
				public isFilterBitmap(): boolean;
				public setState(param0: native.Array<number>): boolean;
				public applyTheme(param0: android.content.res.Resources.Theme): void;
				public getOpacity(): number;
				public isVisible(): boolean;
				public getBounds(): android.graphics.Rect;
				public getLayoutDirection(): number;
				public getColorFilter(): android.graphics.ColorFilter;
				public static createFromXml(param0: android.content.res.Resources, param1: org.xmlpull.v1.XmlPullParser): android.graphics.drawable.Drawable;
				public isAutoMirrored(): boolean;
				public setTintList(param0: android.content.res.ColorStateList): void;
				public setTintMode(param0: android.graphics.PorterDuff.Mode): void;
				public static createFromPath(param0: string): android.graphics.drawable.Drawable;
				public onBoundsChange(param0: android.graphics.Rect): void;
				public getIntrinsicWidth(): number;
				public getPadding(param0: android.graphics.Rect): boolean;
				public setChangingConfigurations(param0: number): void;
				public getMinimumWidth(): number;
				public setColorFilter(param0: android.graphics.ColorFilter): void;
				public getDirtyBounds(): android.graphics.Rect;
				public draw(param0: android.graphics.Canvas): void;
				public scheduleSelf(param0: java.lang.Runnable, param1: number): void;
				public static createFromStream(param0: java.io.InputStream, param1: string): android.graphics.drawable.Drawable;
				public static createFromXmlInner(param0: android.content.res.Resources, param1: org.xmlpull.v1.XmlPullParser, param2: android.util.AttributeSet): android.graphics.drawable.Drawable;
				public setBounds(param0: android.graphics.Rect): void;
				public setColorFilter(param0: number, param1: android.graphics.PorterDuff.Mode): void;
				public getState(): native.Array<number>;
				public setAlpha(param0: number): void;
				public getOutline(param0: any): void;
				public static createFromXml(param0: android.content.res.Resources, param1: org.xmlpull.v1.XmlPullParser, param2: android.content.res.Resources.Theme): android.graphics.drawable.Drawable;
				public clearColorFilter(): void;
				public setAutoMirrored(param0: boolean): void;
				public static createFromResourceStream(param0: android.content.res.Resources, param1: android.util.TypedValue, param2: java.io.InputStream, param3: string): android.graphics.drawable.Drawable;
				public inflate(param0: android.content.res.Resources, param1: org.xmlpull.v1.XmlPullParser, param2: android.util.AttributeSet, param3: android.content.res.Resources.Theme): void;
				public getLevel(): number;
				public inflate(param0: android.content.res.Resources, param1: org.xmlpull.v1.XmlPullParser, param2: android.util.AttributeSet): void;
				public mutate(): android.graphics.drawable.Drawable;
				public setHotspot(param0: number, param1: number): void;
				public setVisible(param0: boolean, param1: boolean): boolean;
				public setFilterBitmap(param0: boolean): void;
				public getTransparentRegion(): android.graphics.Region;
				public isStateful(): boolean;
			}
			export module Drawable {
				export class Callback extends java.lang.Object {
					public static class: java.lang.Class<android.graphics.drawable.Drawable.Callback>;
					/**
					 * Constructs a new instance of the android.graphics.drawable.Drawable$Callback interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
						scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
						unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
					});
					public constructor();
					public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
					public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
					public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
				}
				export abstract class ConstantState extends java.lang.Object {
					public static class: java.lang.Class<android.graphics.drawable.Drawable.ConstantState>;
					public getChangingConfigurations(): number;
					public newDrawable(): android.graphics.drawable.Drawable;
					public constructor();
					public newDrawable(param0: android.content.res.Resources): android.graphics.drawable.Drawable;
					public newDrawable(param0: android.content.res.Resources, param1: android.content.res.Resources.Theme): android.graphics.drawable.Drawable;
					public canApplyTheme(): boolean;
				}
			}
		}
	}
}

declare module android {
	export module graphics {
		export module drawable {
			export class DrawableContainer extends android.graphics.drawable.Drawable implements android.graphics.drawable.Drawable.Callback {
				public static class: java.lang.Class<android.graphics.drawable.DrawableContainer>;
				public getCurrent(): android.graphics.drawable.Drawable;
				public getAlpha(): number;
				public isAutoMirrored(): boolean;
				public selectDrawable(param0: number): boolean;
				public setTintList(param0: android.content.res.ColorStateList): void;
				public setTintMode(param0: android.graphics.PorterDuff.Mode): void;
				public constructor();
				public onBoundsChange(param0: android.graphics.Rect): void;
				public getPadding(param0: android.graphics.Rect): boolean;
				public getIntrinsicWidth(): number;
				public onStateChange(param0: native.Array<number>): boolean;
				public setHotspotBounds(param0: number, param1: number, param2: number, param3: number): void;
				public getMinimumWidth(): number;
				public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
				public setColorFilter(param0: android.graphics.ColorFilter): void;
				public setEnterFadeDuration(param0: number): void;
				public getHotspotBounds(param0: android.graphics.Rect): void;
				/** @deprecated */
				public setDither(param0: boolean): void;
				public draw(param0: android.graphics.Canvas): void;
				public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
				public onLayoutDirectionChanged(param0: number): boolean;
				public setColorFilter(param0: number, param1: android.graphics.PorterDuff.Mode): void;
				public onLevelChange(param0: number): boolean;
				public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
				public jumpToCurrentState(): void;
				public setDither(param0: boolean): void;
				public setConstantState(param0: android.graphics.drawable.DrawableContainer.DrawableContainerState): void;
				public getChangingConfigurations(): number;
				public canApplyTheme(): boolean;
				public getConstantState(): android.graphics.drawable.Drawable.ConstantState;
				public getOutline(param0: any): void;
				public setAlpha(param0: number): void;
				public getMinimumHeight(): number;
				public setAutoMirrored(param0: boolean): void;
				public getIntrinsicHeight(): number;
				public mutate(): android.graphics.drawable.Drawable;
				public setHotspot(param0: number, param1: number): void;
				public setVisible(param0: boolean, param1: boolean): boolean;
				public setExitFadeDuration(param0: number): void;
				public applyTheme(param0: android.content.res.Resources.Theme): void;
				public getOpacity(): number;
				public isStateful(): boolean;
			}
			export module DrawableContainer {
				export abstract class DrawableContainerState extends android.graphics.drawable.Drawable.ConstantState {
					public static class: java.lang.Class<android.graphics.drawable.DrawableContainer.DrawableContainerState>;
					public growArray(param0: number, param1: number): void;
					public setVariablePadding(param0: boolean): void;
					public getChildCount(): number;
					public getConstantMinimumWidth(): number;
					public addChild(param0: android.graphics.drawable.Drawable): number;
					public getEnterFadeDuration(): number;
					public getChild(param0: number): android.graphics.drawable.Drawable;
					public getConstantWidth(): number;
					public isStateful(): boolean;
					public computeConstantSize(): void;
					public setExitFadeDuration(param0: number): void;
					public setConstantSize(param0: boolean): void;
					public getConstantHeight(): number;
					public getChangingConfigurations(): number;
					public getChildren(): native.Array<android.graphics.drawable.Drawable>;
					public getConstantPadding(): android.graphics.Rect;
					public isConstantSize(): boolean;
					public setEnterFadeDuration(param0: number): void;
					public canConstantState(): boolean;
					public canApplyTheme(): boolean;
					public getConstantMinimumHeight(): number;
					public getExitFadeDuration(): number;
					public getOpacity(): number;
				}
			}
		}
	}
}

declare module android {
	export module graphics {
		export module drawable {
			export abstract class DrawableWrapper extends android.graphics.drawable.Drawable implements android.graphics.drawable.Drawable.Callback {
				public static class: java.lang.Class<android.graphics.drawable.DrawableWrapper>;
				public getDrawable(): android.graphics.drawable.Drawable;
				public getColorFilter(): android.graphics.ColorFilter;
				public getAlpha(): number;
				public setTintList(param0: android.content.res.ColorStateList): void;
				public setTintMode(param0: android.graphics.PorterDuff.Mode): void;
				public constructor();
				public constructor(param0: android.graphics.drawable.Drawable);
				public onBoundsChange(param0: android.graphics.Rect): void;
				public getPadding(param0: android.graphics.Rect): boolean;
				public getIntrinsicWidth(): number;
				public onStateChange(param0: native.Array<number>): boolean;
				public setHotspotBounds(param0: number, param1: number, param2: number, param3: number): void;
				public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
				public setColorFilter(param0: android.graphics.ColorFilter): void;
				public getHotspotBounds(param0: android.graphics.Rect): void;
				public draw(param0: android.graphics.Canvas): void;
				public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
				public onLayoutDirectionChanged(param0: number): boolean;
				public setColorFilter(param0: number, param1: android.graphics.PorterDuff.Mode): void;
				public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
				public onLevelChange(param0: number): boolean;
				public canApplyTheme(): boolean;
				public getChangingConfigurations(): number;
				public getConstantState(): android.graphics.drawable.Drawable.ConstantState;
				public setAlpha(param0: number): void;
				public getOutline(param0: any): void;
				public inflate(param0: android.content.res.Resources, param1: org.xmlpull.v1.XmlPullParser, param2: android.util.AttributeSet, param3: android.content.res.Resources.Theme): void;
				public getIntrinsicHeight(): number;
				public inflate(param0: android.content.res.Resources, param1: org.xmlpull.v1.XmlPullParser, param2: android.util.AttributeSet): void;
				public mutate(): android.graphics.drawable.Drawable;
				public setHotspot(param0: number, param1: number): void;
				public setVisible(param0: boolean, param1: boolean): boolean;
				public applyTheme(param0: android.content.res.Resources.Theme): void;
				public setDrawable(param0: android.graphics.drawable.Drawable): void;
				public getOpacity(): number;
				public isStateful(): boolean;
			}
		}
	}
}

declare module android {
	export module graphics {
		export module drawable {
			export class GradientDrawable extends android.graphics.drawable.Drawable {
				public static class: java.lang.Class<android.graphics.drawable.GradientDrawable>;
				public static LINE: number;
				public static LINEAR_GRADIENT: number;
				public static OVAL: number;
				public static RADIAL_GRADIENT: number;
				public static RECTANGLE: number;
				public static RING: number;
				public static SWEEP_GRADIENT: number;
				public getGradientCenterX(): number;
				public getAlpha(): number;
				public setSize(param0: number, param1: number): void;
				public setShape(param0: number): void;
				public constructor();
				public setStroke(param0: number, param1: number): void;
				public onStateChange(param0: native.Array<number>): boolean;
				public getGradientRadius(): number;
				/** @deprecated */
				public setDither(param0: boolean): void;
				public getCornerRadii(): native.Array<number>;
				public setColors(param0: native.Array<number>): void;
				public onLevelChange(param0: number): boolean;
				public setDither(param0: boolean): void;
				public setStroke(param0: number, param1: android.content.res.ColorStateList, param2: number, param3: number): void;
				public getChangingConfigurations(): number;
				public canApplyTheme(): boolean;
				public getConstantState(): android.graphics.drawable.Drawable.ConstantState;
				public setOrientation(param0: android.graphics.drawable.GradientDrawable.Orientation): void;
				public getGradientCenterY(): number;
				public getColor(): android.content.res.ColorStateList;
				public setGradientCenter(param0: number, param1: number): void;
				public getIntrinsicHeight(): number;
				public getCornerRadius(): number;
				public setCornerRadius(param0: number): void;
				public setCornerRadii(param0: native.Array<number>): void;
				public applyTheme(param0: android.content.res.Resources.Theme): void;
				public setGradientType(param0: number): void;
				public getOpacity(): number;
				public getColorFilter(): android.graphics.ColorFilter;
				public constructor(param0: android.graphics.drawable.GradientDrawable.Orientation, param1: native.Array<number>);
				public setTintList(param0: android.content.res.ColorStateList): void;
				public setTintMode(param0: android.graphics.PorterDuff.Mode): void;
				public getOrientation(): android.graphics.drawable.GradientDrawable.Orientation;
				public getShape(): number;
				public onBoundsChange(param0: android.graphics.Rect): void;
				public getPadding(param0: android.graphics.Rect): boolean;
				public getIntrinsicWidth(): number;
				public setColor(param0: android.content.res.ColorStateList): void;
				public setColorFilter(param0: android.graphics.ColorFilter): void;
				public setStroke(param0: number, param1: number, param2: number, param3: number): void;
				public draw(param0: android.graphics.Canvas): void;
				public setColorFilter(param0: number, param1: android.graphics.PorterDuff.Mode): void;
				public setStroke(param0: number, param1: android.content.res.ColorStateList): void;
				public getColors(): native.Array<number>;
				public setUseLevel(param0: boolean): void;
				public setColor(param0: number): void;
				public setAlpha(param0: number): void;
				public getOutline(param0: any): void;
				public inflate(param0: android.content.res.Resources, param1: org.xmlpull.v1.XmlPullParser, param2: android.util.AttributeSet, param3: android.content.res.Resources.Theme): void;
				public setGradientRadius(param0: number): void;
				public inflate(param0: android.content.res.Resources, param1: org.xmlpull.v1.XmlPullParser, param2: android.util.AttributeSet): void;
				public getGradientType(): number;
				public getUseLevel(): boolean;
				public mutate(): android.graphics.drawable.Drawable;
				public isStateful(): boolean;
			}
			export module GradientDrawable {
				export class Orientation {
					public static class: java.lang.Class<android.graphics.drawable.GradientDrawable.Orientation>;
					public static TOP_BOTTOM: android.graphics.drawable.GradientDrawable.Orientation;
					public static TR_BL: android.graphics.drawable.GradientDrawable.Orientation;
					public static RIGHT_LEFT: android.graphics.drawable.GradientDrawable.Orientation;
					public static BR_TL: android.graphics.drawable.GradientDrawable.Orientation;
					public static BOTTOM_TOP: android.graphics.drawable.GradientDrawable.Orientation;
					public static BL_TR: android.graphics.drawable.GradientDrawable.Orientation;
					public static LEFT_RIGHT: android.graphics.drawable.GradientDrawable.Orientation;
					public static TL_BR: android.graphics.drawable.GradientDrawable.Orientation;
					public static values(): native.Array<android.graphics.drawable.GradientDrawable.Orientation>;
					public static valueOf(param0: string): android.graphics.drawable.GradientDrawable.Orientation;
					public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
				}
			}
		}
	}
}

declare module android {
	export module graphics {
		export module drawable {
			export class Icon extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<any>;
				public static CREATOR: android.os.Parcelable.Creator<any>;
				public static TYPE_ADAPTIVE_BITMAP: number;
				public static TYPE_BITMAP: number;
				public static TYPE_DATA: number;
				public static TYPE_RESOURCE: number;
				public static TYPE_URI: number;
				public static createWithBitmap(param0: android.graphics.Bitmap): any;
				public setTint(param0: number): any;
				public loadDrawableAsync(param0: android.content.Context, param1: android.os.Message): void;
				public static createWithResource(param0: android.content.Context, param1: number): any;
				public getType(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public loadDrawableAsync(param0: android.content.Context, param1: any, param2: android.os.Handler): void;
				public getResId(): number;
				public getResPackage(): string;
				public static createWithResource(param0: string, param1: number): any;
				public toString(): string;
				public setTintMode(param0: android.graphics.PorterDuff.Mode): any;
				public static createWithFilePath(param0: string): any;
				public static createWithData(param0: native.Array<number>, param1: number, param2: number): any;
				public static createWithContentUri(param0: android.net.Uri): any;
				public getUri(): android.net.Uri;
				public describeContents(): number;
				public static createWithAdaptiveBitmap(param0: android.graphics.Bitmap): any;
				public loadDrawable(param0: android.content.Context): android.graphics.drawable.Drawable;
				public static createWithContentUri(param0: string): any;
				public setTintList(param0: android.content.res.ColorStateList): any;
			}
			export module Icon {
				export class OnDrawableLoadedListener extends java.lang.Object {
					public static class: java.lang.Class<any>;
					/**
					 * Constructs a new instance of the any$OnDrawableLoadedListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						onDrawableLoaded(param0: android.graphics.drawable.Drawable): void;
					});
					public constructor();
					public onDrawableLoaded(param0: android.graphics.drawable.Drawable): void;
				}
			}
		}
	}
}

declare module android {
	export module graphics {
		export module drawable {
			export class InsetDrawable extends android.graphics.drawable.DrawableWrapper {
				public static class: java.lang.Class<android.graphics.drawable.InsetDrawable>;
				public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
				public constructor(param0: android.graphics.drawable.Drawable, param1: number);
				public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
				public constructor(param0: android.graphics.drawable.Drawable, param1: number, param2: number, param3: number, param4: number);
				public getOutline(param0: any): void;
				public inflate(param0: android.content.res.Resources, param1: org.xmlpull.v1.XmlPullParser, param2: android.util.AttributeSet, param3: android.content.res.Resources.Theme): void;
				public constructor();
				public constructor(param0: android.graphics.drawable.Drawable);
				public onBoundsChange(param0: android.graphics.Rect): void;
				public getPadding(param0: android.graphics.Rect): boolean;
				public getIntrinsicWidth(): number;
				public getIntrinsicHeight(): number;
				public inflate(param0: android.content.res.Resources, param1: org.xmlpull.v1.XmlPullParser, param2: android.util.AttributeSet): void;
				public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
				public applyTheme(param0: android.content.res.Resources.Theme): void;
				public getOpacity(): number;
			}
		}
	}
}

declare module android {
	export module graphics {
		export module drawable {
			export class LayerDrawable extends android.graphics.drawable.Drawable implements android.graphics.drawable.Drawable.Callback {
				public static class: java.lang.Class<android.graphics.drawable.LayerDrawable>;
				public static INSET_UNDEFINED: number;
				public static PADDING_MODE_NEST: number;
				public static PADDING_MODE_STACK: number;
				public getLayerInsetEnd(param0: number): number;
				public getLayerInsetRight(param0: number): number;
				public getAlpha(): number;
				public setLayerInsetEnd(param0: number, param1: number): void;
				public constructor();
				public setLayerHeight(param0: number, param1: number): void;
				public onStateChange(param0: native.Array<number>): boolean;
				public setHotspotBounds(param0: number, param1: number, param2: number, param3: number): void;
				public setPadding(param0: number, param1: number, param2: number, param3: number): void;
				public setPaddingMode(param0: number): void;
				public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
				public getHotspotBounds(param0: android.graphics.Rect): void;
				public getDrawable(param0: number): android.graphics.drawable.Drawable;
				/** @deprecated */
				public setDither(param0: boolean): void;
				public findIndexByLayerId(param0: number): number;
				public getBottomPadding(): number;
				public getLayerInsetTop(param0: number): number;
				public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
				public onLayoutDirectionChanged(param0: number): boolean;
				public getLayerHeight(param0: number): number;
				public setLayerInsetLeft(param0: number, param1: number): void;
				public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
				public onLevelChange(param0: number): boolean;
				public jumpToCurrentState(): void;
				public setDrawable(param0: number, param1: android.graphics.drawable.Drawable): void;
				public setDither(param0: boolean): void;
				public canApplyTheme(): boolean;
				public getChangingConfigurations(): number;
				public getConstantState(): android.graphics.drawable.Drawable.ConstantState;
				public setOpacity(param0: number): void;
				public getLayerInsetLeft(param0: number): number;
				public getIntrinsicHeight(): number;
				public applyTheme(param0: android.content.res.Resources.Theme): void;
				public setLayerSize(param0: number, param1: number, param2: number): void;
				public getOpacity(): number;
				public constructor(param0: native.Array<android.graphics.drawable.Drawable>);
				public getRightPadding(): number;
				public setLayerGravity(param0: number, param1: number): void;
				public getPaddingMode(): number;
				public setPaddingRelative(param0: number, param1: number, param2: number, param3: number): void;
				public isAutoMirrored(): boolean;
				public setTintList(param0: android.content.res.ColorStateList): void;
				public setTintMode(param0: android.graphics.PorterDuff.Mode): void;
				public setLayerInsetRight(param0: number, param1: number): void;
				public onBoundsChange(param0: android.graphics.Rect): void;
				public setId(param0: number, param1: number): void;
				public getPadding(param0: android.graphics.Rect): boolean;
				public getIntrinsicWidth(): number;
				public setLayerInsetTop(param0: number, param1: number): void;
				public getLayerWidth(param0: number): number;
				public setColorFilter(param0: android.graphics.ColorFilter): void;
				public getStartPadding(): number;
				public draw(param0: android.graphics.Canvas): void;
				public setColorFilter(param0: number, param1: android.graphics.PorterDuff.Mode): void;
				public setLayerWidth(param0: number, param1: number): void;
				public findDrawableByLayerId(param0: number): android.graphics.drawable.Drawable;
				public setLayerInset(param0: number, param1: number, param2: number, param3: number, param4: number): void;
				public setLayerInsetRelative(param0: number, param1: number, param2: number, param3: number, param4: number): void;
				public getLeftPadding(): number;
				public getLayerGravity(param0: number): number;
				public getOutline(param0: any): void;
				public setAlpha(param0: number): void;
				public setDrawableByLayerId(param0: number, param1: android.graphics.drawable.Drawable): boolean;
				public getTopPadding(): number;
				public getLayerInsetStart(param0: number): number;
				public setLayerInsetStart(param0: number, param1: number): void;
				public setAutoMirrored(param0: boolean): void;
				public inflate(param0: android.content.res.Resources, param1: org.xmlpull.v1.XmlPullParser, param2: android.util.AttributeSet, param3: android.content.res.Resources.Theme): void;
				public getLayerInsetBottom(param0: number): number;
				public addLayer(param0: android.graphics.drawable.Drawable): number;
				public getEndPadding(): number;
				public getNumberOfLayers(): number;
				public inflate(param0: android.content.res.Resources, param1: org.xmlpull.v1.XmlPullParser, param2: android.util.AttributeSet): void;
				public setLayerInsetBottom(param0: number, param1: number): void;
				public mutate(): android.graphics.drawable.Drawable;
				public setHotspot(param0: number, param1: number): void;
				public setVisible(param0: boolean, param1: boolean): boolean;
				public getId(param0: number): number;
				public isStateful(): boolean;
			}
		}
	}
}

declare module android {
	export module graphics {
		export module drawable {
			export class LevelListDrawable extends android.graphics.drawable.DrawableContainer {
				public static class: java.lang.Class<android.graphics.drawable.LevelListDrawable>;
				public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
				public onLevelChange(param0: number): boolean;
				public inflate(param0: android.content.res.Resources, param1: org.xmlpull.v1.XmlPullParser, param2: android.util.AttributeSet): void;
				public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
				public addLevel(param0: number, param1: number, param2: android.graphics.drawable.Drawable): void;
				public mutate(): android.graphics.drawable.Drawable;
				public setConstantState(param0: android.graphics.drawable.DrawableContainer.DrawableContainerState): void;
				public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
				public inflate(param0: android.content.res.Resources, param1: org.xmlpull.v1.XmlPullParser, param2: android.util.AttributeSet, param3: android.content.res.Resources.Theme): void;
				public constructor();
			}
		}
	}
}

declare module android {
	export module graphics {
		export module drawable {
			export class NinePatchDrawable extends android.graphics.drawable.Drawable {
				public static class: java.lang.Class<android.graphics.drawable.NinePatchDrawable>;
				public setTargetDensity(param0: android.util.DisplayMetrics): void;
				public getAlpha(): number;
				public isAutoMirrored(): boolean;
				public setTintList(param0: android.content.res.ColorStateList): void;
				public setTintMode(param0: android.graphics.PorterDuff.Mode): void;
				/** @deprecated */
				public constructor(param0: android.graphics.NinePatch);
				public getPaint(): android.graphics.Paint;
				public constructor();
				public constructor(param0: android.content.res.Resources, param1: android.graphics.NinePatch);
				public getPadding(param0: android.graphics.Rect): boolean;
				public getIntrinsicWidth(): number;
				public setTargetDensity(param0: number): void;
				public onStateChange(param0: native.Array<number>): boolean;
				/** @deprecated */
				public constructor(param0: android.graphics.Bitmap, param1: native.Array<number>, param2: android.graphics.Rect, param3: string);
				public setColorFilter(param0: android.graphics.ColorFilter): void;
				/** @deprecated */
				public setDither(param0: boolean): void;
				public draw(param0: android.graphics.Canvas): void;
				public setColorFilter(param0: number, param1: android.graphics.PorterDuff.Mode): void;
				public constructor(param0: android.content.res.Resources, param1: android.graphics.Bitmap, param2: native.Array<number>, param3: android.graphics.Rect, param4: string);
				public setDither(param0: boolean): void;
				public getChangingConfigurations(): number;
				public canApplyTheme(): boolean;
				public getConstantState(): android.graphics.drawable.Drawable.ConstantState;
				public getOutline(param0: any): void;
				public setAlpha(param0: number): void;
				public setTargetDensity(param0: android.graphics.Canvas): void;
				public setAutoMirrored(param0: boolean): void;
				public inflate(param0: android.content.res.Resources, param1: org.xmlpull.v1.XmlPullParser, param2: android.util.AttributeSet, param3: android.content.res.Resources.Theme): void;
				public getIntrinsicHeight(): number;
				public inflate(param0: android.content.res.Resources, param1: org.xmlpull.v1.XmlPullParser, param2: android.util.AttributeSet): void;
				public mutate(): android.graphics.drawable.Drawable;
				public isFilterBitmap(): boolean;
				public setFilterBitmap(param0: boolean): void;
				public getTransparentRegion(): android.graphics.Region;
				public applyTheme(param0: android.content.res.Resources.Theme): void;
				public getOpacity(): number;
				public isStateful(): boolean;
			}
		}
	}
}

declare module android {
	export module graphics {
		export module drawable {
			export class PaintDrawable extends android.graphics.drawable.ShapeDrawable {
				public static class: java.lang.Class<android.graphics.drawable.PaintDrawable>;
				public inflateTag(param0: string, param1: android.content.res.Resources, param2: org.xmlpull.v1.XmlPullParser, param3: android.util.AttributeSet): boolean;
				public constructor(param0: android.graphics.drawable.shapes.Shape);
				public constructor(param0: number);
				public setCornerRadius(param0: number): void;
				public setCornerRadii(param0: native.Array<number>): void;
				public constructor();
			}
		}
	}
}

declare module android {
	export module graphics {
		export module drawable {
			export class PictureDrawable extends android.graphics.drawable.Drawable {
				public static class: java.lang.Class<android.graphics.drawable.PictureDrawable>;
				public setPicture(param0: android.graphics.Picture): void;
				public getIntrinsicWidth(): number;
				public setColorFilter(param0: number, param1: android.graphics.PorterDuff.Mode): void;
				public getIntrinsicHeight(): number;
				public constructor(param0: android.graphics.Picture);
				public setColorFilter(param0: android.graphics.ColorFilter): void;
				public setAlpha(param0: number): void;
				public getPicture(): android.graphics.Picture;
				public getOpacity(): number;
				public constructor();
				public draw(param0: android.graphics.Canvas): void;
			}
		}
	}
}

declare module android {
	export module graphics {
		export module drawable {
			export class RippleDrawable extends android.graphics.drawable.LayerDrawable {
				public static class: java.lang.Class<android.graphics.drawable.RippleDrawable>;
				public static RADIUS_AUTO: number;
				public constructor(param0: native.Array<android.graphics.drawable.Drawable>);
				public constructor();
				public onBoundsChange(param0: android.graphics.Rect): void;
				public onStateChange(param0: native.Array<number>): boolean;
				public setHotspotBounds(param0: number, param1: number, param2: number, param3: number): void;
				public setPaddingMode(param0: number): void;
				public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
				public setColor(param0: android.content.res.ColorStateList): void;
				public getHotspotBounds(param0: android.graphics.Rect): void;
				public getDirtyBounds(): android.graphics.Rect;
				public setRadius(param0: number): void;
				public draw(param0: android.graphics.Canvas): void;
				public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
				public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
				public jumpToCurrentState(): void;
				public canApplyTheme(): boolean;
				public getConstantState(): android.graphics.drawable.Drawable.ConstantState;
				public getOutline(param0: any): void;
				public invalidateSelf(): void;
				public setDrawableByLayerId(param0: number, param1: android.graphics.drawable.Drawable): boolean;
				public inflate(param0: android.content.res.Resources, param1: org.xmlpull.v1.XmlPullParser, param2: android.util.AttributeSet, param3: android.content.res.Resources.Theme): void;
				public getRadius(): number;
				public inflate(param0: android.content.res.Resources, param1: org.xmlpull.v1.XmlPullParser, param2: android.util.AttributeSet): void;
				public mutate(): android.graphics.drawable.Drawable;
				public setHotspot(param0: number, param1: number): void;
				public setVisible(param0: boolean, param1: boolean): boolean;
				public constructor(param0: android.content.res.ColorStateList, param1: android.graphics.drawable.Drawable, param2: android.graphics.drawable.Drawable);
				public applyTheme(param0: android.content.res.Resources.Theme): void;
				public getOpacity(): number;
				public isStateful(): boolean;
			}
		}
	}
}

declare module android {
	export module graphics {
		export module drawable {
			export class RotateDrawable extends android.graphics.drawable.DrawableWrapper {
				public static class: java.lang.Class<android.graphics.drawable.RotateDrawable>;
				public isPivotXRelative(): boolean;
				public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
				public onLevelChange(param0: number): boolean;
				public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
				public isPivotYRelative(): boolean;
				public setPivotYRelative(param0: boolean): void;
				public getPivotY(): number;
				public inflate(param0: android.content.res.Resources, param1: org.xmlpull.v1.XmlPullParser, param2: android.util.AttributeSet, param3: android.content.res.Resources.Theme): void;
				public constructor();
				public getToDegrees(): number;
				public constructor(param0: android.graphics.drawable.Drawable);
				public getPivotX(): number;
				public setFromDegrees(param0: number): void;
				public setToDegrees(param0: number): void;
				public inflate(param0: android.content.res.Resources, param1: org.xmlpull.v1.XmlPullParser, param2: android.util.AttributeSet): void;
				public setPivotX(param0: number): void;
				public setPivotY(param0: number): void;
				public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
				public getFromDegrees(): number;
				public setPivotXRelative(param0: boolean): void;
				public applyTheme(param0: android.content.res.Resources.Theme): void;
				public draw(param0: android.graphics.Canvas): void;
			}
		}
	}
}

declare module android {
	export module graphics {
		export module drawable {
			export class ScaleDrawable extends android.graphics.drawable.DrawableWrapper {
				public static class: java.lang.Class<android.graphics.drawable.ScaleDrawable>;
				public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
				public onLevelChange(param0: number): boolean;
				public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
				public inflate(param0: android.content.res.Resources, param1: org.xmlpull.v1.XmlPullParser, param2: android.util.AttributeSet, param3: android.content.res.Resources.Theme): void;
				public constructor();
				public constructor(param0: android.graphics.drawable.Drawable, param1: number, param2: number, param3: number);
				public constructor(param0: android.graphics.drawable.Drawable);
				public onBoundsChange(param0: android.graphics.Rect): void;
				public inflate(param0: android.content.res.Resources, param1: org.xmlpull.v1.XmlPullParser, param2: android.util.AttributeSet): void;
				public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
				public applyTheme(param0: android.content.res.Resources.Theme): void;
				public getOpacity(): number;
				public draw(param0: android.graphics.Canvas): void;
			}
		}
	}
}

declare module android {
	export module graphics {
		export module drawable {
			export class ShapeDrawable extends android.graphics.drawable.Drawable {
				public static class: java.lang.Class<android.graphics.drawable.ShapeDrawable>;
				public setIntrinsicHeight(param0: number): void;
				public getShape(): android.graphics.drawable.shapes.Shape;
				public getShaderFactory(): android.graphics.drawable.ShapeDrawable.ShaderFactory;
				public getAlpha(): number;
				public setTintList(param0: android.content.res.ColorStateList): void;
				public setTintMode(param0: android.graphics.PorterDuff.Mode): void;
				public getPaint(): android.graphics.Paint;
				public constructor();
				public onBoundsChange(param0: android.graphics.Rect): void;
				public getIntrinsicWidth(): number;
				public getPadding(param0: android.graphics.Rect): boolean;
				public onStateChange(param0: native.Array<number>): boolean;
				public inflateTag(param0: string, param1: android.content.res.Resources, param2: org.xmlpull.v1.XmlPullParser, param3: android.util.AttributeSet): boolean;
				public setPadding(param0: number, param1: number, param2: number, param3: number): void;
				public constructor(param0: android.graphics.drawable.shapes.Shape);
				public setShape(param0: android.graphics.drawable.shapes.Shape): void;
				public setColorFilter(param0: android.graphics.ColorFilter): void;
				/** @deprecated */
				public setDither(param0: boolean): void;
				public draw(param0: android.graphics.Canvas): void;
				public setColorFilter(param0: number, param1: android.graphics.PorterDuff.Mode): void;
				public setIntrinsicWidth(param0: number): void;
				public setDither(param0: boolean): void;
				public getChangingConfigurations(): number;
				public getConstantState(): android.graphics.drawable.Drawable.ConstantState;
				public setAlpha(param0: number): void;
				public getOutline(param0: any): void;
				public inflate(param0: android.content.res.Resources, param1: org.xmlpull.v1.XmlPullParser, param2: android.util.AttributeSet, param3: android.content.res.Resources.Theme): void;
				public onDraw(param0: android.graphics.drawable.shapes.Shape, param1: android.graphics.Canvas, param2: android.graphics.Paint): void;
				public setPadding(param0: android.graphics.Rect): void;
				public getIntrinsicHeight(): number;
				public inflate(param0: android.content.res.Resources, param1: org.xmlpull.v1.XmlPullParser, param2: android.util.AttributeSet): void;
				public mutate(): android.graphics.drawable.Drawable;
				public setShaderFactory(param0: android.graphics.drawable.ShapeDrawable.ShaderFactory): void;
				public applyTheme(param0: android.content.res.Resources.Theme): void;
				public getOpacity(): number;
				public isStateful(): boolean;
			}
			export module ShapeDrawable {
				export abstract class ShaderFactory extends java.lang.Object {
					public static class: java.lang.Class<android.graphics.drawable.ShapeDrawable.ShaderFactory>;
					public constructor();
					public resize(param0: number, param1: number): android.graphics.Shader;
				}
			}
		}
	}
}

declare module android {
	export module graphics {
		export module drawable {
			export class StateListDrawable extends android.graphics.drawable.DrawableContainer {
				public static class: java.lang.Class<android.graphics.drawable.StateListDrawable>;
				public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
				public onStateChange(param0: native.Array<number>): boolean;
				public inflate(param0: android.content.res.Resources, param1: org.xmlpull.v1.XmlPullParser, param2: android.util.AttributeSet): void;
				public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
				public mutate(): android.graphics.drawable.Drawable;
				public setConstantState(param0: android.graphics.drawable.DrawableContainer.DrawableContainerState): void;
				public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
				public addState(param0: native.Array<number>, param1: android.graphics.drawable.Drawable): void;
				public applyTheme(param0: android.content.res.Resources.Theme): void;
				public inflate(param0: android.content.res.Resources, param1: org.xmlpull.v1.XmlPullParser, param2: android.util.AttributeSet, param3: android.content.res.Resources.Theme): void;
				public constructor();
				public isStateful(): boolean;
			}
		}
	}
}

declare module android {
	export module graphics {
		export module drawable {
			export class TransitionDrawable extends android.graphics.drawable.LayerDrawable implements android.graphics.drawable.Drawable.Callback {
				public static class: java.lang.Class<android.graphics.drawable.TransitionDrawable>;
				public constructor(param0: native.Array<android.graphics.drawable.Drawable>);
				public reverseTransition(param0: number): void;
				public setCrossFadeEnabled(param0: boolean): void;
				public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
				public resetTransition(): void;
				public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
				public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
				public startTransition(param0: number): void;
				public isCrossFadeEnabled(): boolean;
				public constructor();
				public draw(param0: android.graphics.Canvas): void;
			}
		}
	}
}

declare module android {
	export module graphics {
		export module drawable {
			export class VectorDrawable extends android.graphics.drawable.Drawable {
				public static class: java.lang.Class<android.graphics.drawable.VectorDrawable>;
				public setColorFilter(param0: number, param1: android.graphics.PorterDuff.Mode): void;
				public getColorFilter(): android.graphics.ColorFilter;
				public getConstantState(): android.graphics.drawable.Drawable.ConstantState;
				public canApplyTheme(): boolean;
				public getChangingConfigurations(): number;
				public getAlpha(): number;
				public setAlpha(param0: number): void;
				public isAutoMirrored(): boolean;
				public setTintList(param0: android.content.res.ColorStateList): void;
				public setTintMode(param0: android.graphics.PorterDuff.Mode): void;
				public setAutoMirrored(param0: boolean): void;
				public inflate(param0: android.content.res.Resources, param1: org.xmlpull.v1.XmlPullParser, param2: android.util.AttributeSet, param3: android.content.res.Resources.Theme): void;
				public constructor();
				public getIntrinsicWidth(): number;
				public onStateChange(param0: native.Array<number>): boolean;
				public getIntrinsicHeight(): number;
				public inflate(param0: android.content.res.Resources, param1: org.xmlpull.v1.XmlPullParser, param2: android.util.AttributeSet): void;
				public mutate(): android.graphics.drawable.Drawable;
				public setColorFilter(param0: android.graphics.ColorFilter): void;
				public applyTheme(param0: android.content.res.Resources.Theme): void;
				public getOpacity(): number;
				public draw(param0: android.graphics.Canvas): void;
				public isStateful(): boolean;
			}
		}
	}
}

declare module android {
	export module graphics {
		export module drawable {
			export module shapes {
				export class ArcShape extends android.graphics.drawable.shapes.RectShape {
					public static class: java.lang.Class<android.graphics.drawable.shapes.ArcShape>;
					public getStartAngle(): number;
					public getSweepAngle(): number;
					public clone(): any;
					public getOutline(param0: any): void;
					public constructor();
					public clone(): android.graphics.drawable.shapes.RectShape;
					public clone(): android.graphics.drawable.shapes.ArcShape;
					public draw(param0: android.graphics.Canvas, param1: android.graphics.Paint): void;
					public constructor(param0: number, param1: number);
					public clone(): android.graphics.drawable.shapes.Shape;
				}
			}
		}
	}
}

declare module android {
	export module graphics {
		export module drawable {
			export module shapes {
				export class OvalShape extends android.graphics.drawable.shapes.RectShape {
					public static class: java.lang.Class<android.graphics.drawable.shapes.OvalShape>;
					public clone(): any;
					public getOutline(param0: any): void;
					public constructor();
					public clone(): android.graphics.drawable.shapes.RectShape;
					public draw(param0: android.graphics.Canvas, param1: android.graphics.Paint): void;
					public clone(): android.graphics.drawable.shapes.OvalShape;
					public clone(): android.graphics.drawable.shapes.Shape;
				}
			}
		}
	}
}

declare module android {
	export module graphics {
		export module drawable {
			export module shapes {
				export class PathShape extends android.graphics.drawable.shapes.Shape {
					public static class: java.lang.Class<android.graphics.drawable.shapes.PathShape>;
					public clone(): any;
					public constructor();
					public constructor(param0: android.graphics.Path, param1: number, param2: number);
					public draw(param0: android.graphics.Canvas, param1: android.graphics.Paint): void;
					public clone(): android.graphics.drawable.shapes.PathShape;
					public onResize(param0: number, param1: number): void;
					public clone(): android.graphics.drawable.shapes.Shape;
				}
			}
		}
	}
}

declare module android {
	export module graphics {
		export module drawable {
			export module shapes {
				export class RectShape extends android.graphics.drawable.shapes.Shape {
					public static class: java.lang.Class<android.graphics.drawable.shapes.RectShape>;
					public clone(): any;
					public getOutline(param0: any): void;
					public constructor();
					public rect(): android.graphics.RectF;
					public clone(): android.graphics.drawable.shapes.RectShape;
					public draw(param0: android.graphics.Canvas, param1: android.graphics.Paint): void;
					public onResize(param0: number, param1: number): void;
					public clone(): android.graphics.drawable.shapes.Shape;
				}
			}
		}
	}
}

declare module android {
	export module graphics {
		export module drawable {
			export module shapes {
				export class RoundRectShape extends android.graphics.drawable.shapes.RectShape {
					public static class: java.lang.Class<android.graphics.drawable.shapes.RoundRectShape>;
					public clone(): android.graphics.drawable.shapes.RoundRectShape;
					public clone(): any;
					public getOutline(param0: any): void;
					public constructor();
					public clone(): android.graphics.drawable.shapes.RectShape;
					public draw(param0: android.graphics.Canvas, param1: android.graphics.Paint): void;
					public onResize(param0: number, param1: number): void;
					public constructor(param0: native.Array<number>, param1: android.graphics.RectF, param2: native.Array<number>);
					public clone(): android.graphics.drawable.shapes.Shape;
				}
			}
		}
	}
}

declare module android {
	export module graphics {
		export module drawable {
			export module shapes {
				export abstract class Shape extends java.lang.Object implements java.lang.Cloneable {
					public static class: java.lang.Class<android.graphics.drawable.shapes.Shape>;
					public hasAlpha(): boolean;
					public clone(): any;
					public getOutline(param0: any): void;
					public constructor();
					public getHeight(): number;
					public resize(param0: number, param1: number): void;
					public getWidth(): number;
					public draw(param0: android.graphics.Canvas, param1: android.graphics.Paint): void;
					public onResize(param0: number, param1: number): void;
					public clone(): android.graphics.drawable.shapes.Shape;
				}
			}
		}
	}
}

declare module android {
	export module graphics {
		export module fonts {
			export class FontVariationAxis extends java.lang.Object {
				public static class: java.lang.Class<android.graphics.fonts.FontVariationAxis>;
				public static fromFontVariationSettings(param0: string): native.Array<android.graphics.fonts.FontVariationAxis>;
				public constructor(param0: string, param1: number);
				public getTag(): string;
				public getStyleValue(): number;
				public static toFontVariationSettings(param0: native.Array<android.graphics.fonts.FontVariationAxis>): string;
				public toString(): string;
			}
		}
	}
}

declare module android {
	export module graphics {
		export module pdf {
			export class PdfDocument extends java.lang.Object {
				public static class: java.lang.Class<android.graphics.pdf.PdfDocument>;
				public close(): void;
				public writeTo(param0: java.io.OutputStream): void;
				public finishPage(param0: android.graphics.pdf.PdfDocument.Page): void;
				public getPages(): java.util.List<android.graphics.pdf.PdfDocument.PageInfo>;
				public finalize(): void;
				public startPage(param0: android.graphics.pdf.PdfDocument.PageInfo): android.graphics.pdf.PdfDocument.Page;
				public constructor();
			}
			export module PdfDocument {
				export class Page extends java.lang.Object {
					public static class: java.lang.Class<android.graphics.pdf.PdfDocument.Page>;
					public getInfo(): android.graphics.pdf.PdfDocument.PageInfo;
					public getCanvas(): android.graphics.Canvas;
				}
				export class PageInfo extends java.lang.Object {
					public static class: java.lang.Class<android.graphics.pdf.PdfDocument.PageInfo>;
					public getPageHeight(): number;
					public getContentRect(): android.graphics.Rect;
					public getPageNumber(): number;
					public getPageWidth(): number;
				}
				export module PageInfo {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.graphics.pdf.PdfDocument.PageInfo.Builder>;
						public setContentRect(param0: android.graphics.Rect): android.graphics.pdf.PdfDocument.PageInfo.Builder;
						public constructor(param0: number, param1: number, param2: number);
						public create(): android.graphics.pdf.PdfDocument.PageInfo;
					}
				}
			}
		}
	}
}

declare module android {
	export module graphics {
		export module pdf {
			export class PdfRenderer extends java.lang.Object implements java.lang.AutoCloseable {
				public static class: java.lang.Class<android.graphics.pdf.PdfRenderer>;
				public shouldScaleForPrinting(): boolean;
				public close(): void;
				public getPageCount(): number;
				public constructor(param0: android.os.ParcelFileDescriptor);
				public finalize(): void;
				public openPage(param0: number): android.graphics.pdf.PdfRenderer.Page;
			}
			export module PdfRenderer {
				export class Page extends java.lang.Object implements java.lang.AutoCloseable {
					public static class: java.lang.Class<android.graphics.pdf.PdfRenderer.Page>;
					public static RENDER_MODE_FOR_DISPLAY: number;
					public static RENDER_MODE_FOR_PRINT: number;
					public getIndex(): number;
					public render(param0: android.graphics.Bitmap, param1: android.graphics.Rect, param2: android.graphics.Matrix, param3: number): void;
					public getHeight(): number;
					public finalize(): void;
					public close(): void;
					public getWidth(): number;
				}
			}
		}
	}
}

declare module android {
	export module hardware {
		export class Camera extends java.lang.Object {
			public static class: java.lang.Class<android.hardware.Camera>;
			public static ACTION_NEW_PICTURE: string;
			public static ACTION_NEW_VIDEO: string;
			public static CAMERA_ERROR_EVICTED: number;
			public static CAMERA_ERROR_SERVER_DIED: number;
			public static CAMERA_ERROR_UNKNOWN: number;
			public enableShutterSound(param0: boolean): boolean;
			public stopFaceDetection(): void;
			public static open(param0: number): android.hardware.Camera;
			public setFaceDetectionListener(param0: android.hardware.Camera.FaceDetectionListener): void;
			public takePicture(param0: android.hardware.Camera.ShutterCallback, param1: android.hardware.Camera.PictureCallback, param2: android.hardware.Camera.PictureCallback): void;
			public lock(): void;
			public startPreview(): void;
			public setErrorCallback(param0: android.hardware.Camera.ErrorCallback): void;
			public startSmoothZoom(param0: number): void;
			public setZoomChangeListener(param0: android.hardware.Camera.OnZoomChangeListener): void;
			public setPreviewTexture(param0: android.graphics.SurfaceTexture): void;
			public finalize(): void;
			public release(): void;
			public setPreviewCallbackWithBuffer(param0: android.hardware.Camera.PreviewCallback): void;
			public takePicture(param0: android.hardware.Camera.ShutterCallback, param1: android.hardware.Camera.PictureCallback, param2: android.hardware.Camera.PictureCallback, param3: android.hardware.Camera.PictureCallback): void;
			public setPreviewCallback(param0: android.hardware.Camera.PreviewCallback): void;
			public setDisplayOrientation(param0: number): void;
			public autoFocus(param0: android.hardware.Camera.AutoFocusCallback): void;
			public stopSmoothZoom(): void;
			public reconnect(): void;
			public getParameters(): android.hardware.Camera.Parameters;
			public setPreviewDisplay(param0: android.view.SurfaceHolder): void;
			public unlock(): void;
			public setAutoFocusMoveCallback(param0: android.hardware.Camera.AutoFocusMoveCallback): void;
			public setOneShotPreviewCallback(param0: android.hardware.Camera.PreviewCallback): void;
			public cancelAutoFocus(): void;
			public static getCameraInfo(param0: number, param1: android.hardware.Camera.CameraInfo): void;
			public addCallbackBuffer(param0: native.Array<number>): void;
			public static open(): android.hardware.Camera;
			public setParameters(param0: android.hardware.Camera.Parameters): void;
			public stopPreview(): void;
			public static getNumberOfCameras(): number;
			public startFaceDetection(): void;
		}
		export module Camera {
			export class Area extends java.lang.Object {
				public static class: java.lang.Class<android.hardware.Camera.Area>;
				public rect: android.graphics.Rect;
				public weight: number;
				public constructor(param0: android.graphics.Rect, param1: number);
				public equals(param0: any): boolean;
			}
			export class AutoFocusCallback extends java.lang.Object {
				public static class: java.lang.Class<android.hardware.Camera.AutoFocusCallback>;
				/**
				 * Constructs a new instance of the android.hardware.Camera$AutoFocusCallback interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onAutoFocus(param0: boolean, param1: android.hardware.Camera): void;
				});
				public constructor();
				public onAutoFocus(param0: boolean, param1: android.hardware.Camera): void;
			}
			export class AutoFocusMoveCallback extends java.lang.Object {
				public static class: java.lang.Class<android.hardware.Camera.AutoFocusMoveCallback>;
				/**
				 * Constructs a new instance of the android.hardware.Camera$AutoFocusMoveCallback interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onAutoFocusMoving(param0: boolean, param1: android.hardware.Camera): void;
				});
				public constructor();
				public onAutoFocusMoving(param0: boolean, param1: android.hardware.Camera): void;
			}
			export class CameraInfo extends java.lang.Object {
				public static class: java.lang.Class<android.hardware.Camera.CameraInfo>;
				public static CAMERA_FACING_BACK: number;
				public static CAMERA_FACING_FRONT: number;
				public canDisableShutterSound: boolean;
				public facing: number;
				public orientation: number;
				public constructor();
			}
			export class ErrorCallback extends java.lang.Object {
				public static class: java.lang.Class<android.hardware.Camera.ErrorCallback>;
				/**
				 * Constructs a new instance of the android.hardware.Camera$ErrorCallback interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onError(param0: number, param1: android.hardware.Camera): void;
				});
				public constructor();
				public onError(param0: number, param1: android.hardware.Camera): void;
			}
			export class Face extends java.lang.Object {
				public static class: java.lang.Class<android.hardware.Camera.Face>;
				public id: number;
				public leftEye: android.graphics.Point;
				public mouth: android.graphics.Point;
				public rect: android.graphics.Rect;
				public rightEye: android.graphics.Point;
				public score: number;
				public constructor();
			}
			export class FaceDetectionListener extends java.lang.Object {
				public static class: java.lang.Class<android.hardware.Camera.FaceDetectionListener>;
				/**
				 * Constructs a new instance of the android.hardware.Camera$FaceDetectionListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onFaceDetection(param0: native.Array<android.hardware.Camera.Face>, param1: android.hardware.Camera): void;
				});
				public constructor();
				public onFaceDetection(param0: native.Array<android.hardware.Camera.Face>, param1: android.hardware.Camera): void;
			}
			export class OnZoomChangeListener extends java.lang.Object {
				public static class: java.lang.Class<android.hardware.Camera.OnZoomChangeListener>;
				/**
				 * Constructs a new instance of the android.hardware.Camera$OnZoomChangeListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onZoomChange(param0: number, param1: boolean, param2: android.hardware.Camera): void;
				});
				public constructor();
				public onZoomChange(param0: number, param1: boolean, param2: android.hardware.Camera): void;
			}
			export class Parameters extends java.lang.Object {
				public static class: java.lang.Class<android.hardware.Camera.Parameters>;
				public static ANTIBANDING_50HZ: string;
				public static ANTIBANDING_60HZ: string;
				public static ANTIBANDING_AUTO: string;
				public static ANTIBANDING_OFF: string;
				public static EFFECT_AQUA: string;
				public static EFFECT_BLACKBOARD: string;
				public static EFFECT_MONO: string;
				public static EFFECT_NEGATIVE: string;
				public static EFFECT_NONE: string;
				public static EFFECT_POSTERIZE: string;
				public static EFFECT_SEPIA: string;
				public static EFFECT_SOLARIZE: string;
				public static EFFECT_WHITEBOARD: string;
				public static FLASH_MODE_AUTO: string;
				public static FLASH_MODE_OFF: string;
				public static FLASH_MODE_ON: string;
				public static FLASH_MODE_RED_EYE: string;
				public static FLASH_MODE_TORCH: string;
				public static FOCUS_DISTANCE_FAR_INDEX: number;
				public static FOCUS_DISTANCE_NEAR_INDEX: number;
				public static FOCUS_DISTANCE_OPTIMAL_INDEX: number;
				public static FOCUS_MODE_AUTO: string;
				public static FOCUS_MODE_CONTINUOUS_PICTURE: string;
				public static FOCUS_MODE_CONTINUOUS_VIDEO: string;
				public static FOCUS_MODE_EDOF: string;
				public static FOCUS_MODE_FIXED: string;
				public static FOCUS_MODE_INFINITY: string;
				public static FOCUS_MODE_MACRO: string;
				public static PREVIEW_FPS_MAX_INDEX: number;
				public static PREVIEW_FPS_MIN_INDEX: number;
				public static SCENE_MODE_ACTION: string;
				public static SCENE_MODE_AUTO: string;
				public static SCENE_MODE_BARCODE: string;
				public static SCENE_MODE_BEACH: string;
				public static SCENE_MODE_CANDLELIGHT: string;
				public static SCENE_MODE_FIREWORKS: string;
				public static SCENE_MODE_HDR: string;
				public static SCENE_MODE_LANDSCAPE: string;
				public static SCENE_MODE_NIGHT: string;
				public static SCENE_MODE_NIGHT_PORTRAIT: string;
				public static SCENE_MODE_PARTY: string;
				public static SCENE_MODE_PORTRAIT: string;
				public static SCENE_MODE_SNOW: string;
				public static SCENE_MODE_SPORTS: string;
				public static SCENE_MODE_STEADYPHOTO: string;
				public static SCENE_MODE_SUNSET: string;
				public static SCENE_MODE_THEATRE: string;
				public static WHITE_BALANCE_AUTO: string;
				public static WHITE_BALANCE_CLOUDY_DAYLIGHT: string;
				public static WHITE_BALANCE_DAYLIGHT: string;
				public static WHITE_BALANCE_FLUORESCENT: string;
				public static WHITE_BALANCE_INCANDESCENT: string;
				public static WHITE_BALANCE_SHADE: string;
				public static WHITE_BALANCE_TWILIGHT: string;
				public static WHITE_BALANCE_WARM_FLUORESCENT: string;
				public getPreviewFormat(): number;
				public setMeteringAreas(param0: java.util.List<android.hardware.Camera.Area>): void;
				public getFocusMode(): string;
				public setPreviewFpsRange(param0: number, param1: number): void;
				public getWhiteBalance(): string;
				public getSupportedPreviewSizes(): java.util.List<android.hardware.Camera.Size>;
				public setPictureFormat(param0: number): void;
				public removeGpsData(): void;
				public isAutoWhiteBalanceLockSupported(): boolean;
				public getSceneMode(): string;
				public getExposureCompensationStep(): number;
				public set(param0: string, param1: number): void;
				public getMaxNumFocusAreas(): number;
				public getFocusAreas(): java.util.List<android.hardware.Camera.Area>;
				public getJpegThumbnailQuality(): number;
				/** @deprecated */
				public setPreviewFrameRate(param0: number): void;
				public isSmoothZoomSupported(): boolean;
				public getVideoStabilization(): boolean;
				public getMaxExposureCompensation(): number;
				/** @deprecated */
				public getPreviewFrameRate(): number;
				public getSupportedJpegThumbnailSizes(): java.util.List<android.hardware.Camera.Size>;
				public getMaxNumMeteringAreas(): number;
				public setJpegThumbnailQuality(param0: number): void;
				public setColorEffect(param0: string): void;
				public setVideoStabilization(param0: boolean): void;
				/** @deprecated */
				public getSupportedPreviewFrameRates(): java.util.List<java.lang.Integer>;
				public getPictureFormat(): number;
				public get(param0: string): string;
				public setFlashMode(param0: string): void;
				public getAntibanding(): string;
				public getJpegThumbnailSize(): android.hardware.Camera.Size;
				public getSupportedPreviewFormats(): java.util.List<java.lang.Integer>;
				public getSupportedPictureSizes(): java.util.List<android.hardware.Camera.Size>;
				public setAntibanding(param0: string): void;
				public getSupportedAntibanding(): java.util.List<string>;
				public getFlashMode(): string;
				public getExposureCompensation(): number;
				public getPreviewFpsRange(param0: native.Array<number>): void;
				public getHorizontalViewAngle(): number;
				public set(param0: string, param1: string): void;
				public getSupportedPictureFormats(): java.util.List<java.lang.Integer>;
				public getPictureSize(): android.hardware.Camera.Size;
				public isVideoSnapshotSupported(): boolean;
				public getAutoWhiteBalanceLock(): boolean;
				public isVideoStabilizationSupported(): boolean;
				public setFocusAreas(param0: java.util.List<android.hardware.Camera.Area>): void;
				public setWhiteBalance(param0: string): void;
				public getMaxNumDetectedFaces(): number;
				public getFocusDistances(param0: native.Array<number>): void;
				public getPreferredPreviewSizeForVideo(): android.hardware.Camera.Size;
				public setJpegThumbnailSize(param0: number, param1: number): void;
				public getVerticalViewAngle(): number;
				public getZoom(): number;
				public setGpsTimestamp(param0: number): void;
				public getSupportedFlashModes(): java.util.List<string>;
				public setFocusMode(param0: string): void;
				public setRecordingHint(param0: boolean): void;
				public setSceneMode(param0: string): void;
				public setGpsLatitude(param0: number): void;
				public unflatten(param0: string): void;
				public flatten(): string;
				public setExposureCompensation(param0: number): void;
				public getSupportedWhiteBalance(): java.util.List<string>;
				public getSupportedSceneModes(): java.util.List<string>;
				public getJpegQuality(): number;
				public setPreviewFormat(param0: number): void;
				public getFocalLength(): number;
				public setAutoWhiteBalanceLock(param0: boolean): void;
				public getSupportedVideoSizes(): java.util.List<android.hardware.Camera.Size>;
				public setPictureSize(param0: number, param1: number): void;
				public setJpegQuality(param0: number): void;
				public setPreviewSize(param0: number, param1: number): void;
				public setZoom(param0: number): void;
				public getZoomRatios(): java.util.List<java.lang.Integer>;
				public getColorEffect(): string;
				public getSupportedColorEffects(): java.util.List<string>;
				public getPreviewSize(): android.hardware.Camera.Size;
				public getAutoExposureLock(): boolean;
				public getSupportedPreviewFpsRange(): java.util.List<native.Array<number>>;
				public getSupportedFocusModes(): java.util.List<string>;
				public setAutoExposureLock(param0: boolean): void;
				public setGpsAltitude(param0: number): void;
				public getMaxZoom(): number;
				public getMeteringAreas(): java.util.List<android.hardware.Camera.Area>;
				public isAutoExposureLockSupported(): boolean;
				public remove(param0: string): void;
				public setRotation(param0: number): void;
				public setGpsProcessingMethod(param0: string): void;
				public getMinExposureCompensation(): number;
				public isZoomSupported(): boolean;
				public setGpsLongitude(param0: number): void;
				public getInt(param0: string): number;
			}
			export class PictureCallback extends java.lang.Object {
				public static class: java.lang.Class<android.hardware.Camera.PictureCallback>;
				/**
				 * Constructs a new instance of the android.hardware.Camera$PictureCallback interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onPictureTaken(param0: native.Array<number>, param1: android.hardware.Camera): void;
				});
				public constructor();
				public onPictureTaken(param0: native.Array<number>, param1: android.hardware.Camera): void;
			}
			export class PreviewCallback extends java.lang.Object {
				public static class: java.lang.Class<android.hardware.Camera.PreviewCallback>;
				/**
				 * Constructs a new instance of the android.hardware.Camera$PreviewCallback interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onPreviewFrame(param0: native.Array<number>, param1: android.hardware.Camera): void;
				});
				public constructor();
				public onPreviewFrame(param0: native.Array<number>, param1: android.hardware.Camera): void;
			}
			export class ShutterCallback extends java.lang.Object {
				public static class: java.lang.Class<android.hardware.Camera.ShutterCallback>;
				/**
				 * Constructs a new instance of the android.hardware.Camera$ShutterCallback interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onShutter(): void;
				});
				public constructor();
				public onShutter(): void;
			}
			export class Size extends java.lang.Object {
				public static class: java.lang.Class<android.hardware.Camera.Size>;
				public height: number;
				public width: number;
				public hashCode(): number;
				public constructor(param0: android.hardware.Camera, param1: number, param2: number);
				public equals(param0: any): boolean;
			}
		}
	}
}

declare module android {
	export module hardware {
		export class ConsumerIrManager extends java.lang.Object {
			public static class: java.lang.Class<android.hardware.ConsumerIrManager>;
			public transmit(param0: number, param1: native.Array<number>): void;
			public hasIrEmitter(): boolean;
			public getCarrierFrequencies(): native.Array<android.hardware.ConsumerIrManager.CarrierFrequencyRange>;
		}
		export module ConsumerIrManager {
			export class CarrierFrequencyRange extends java.lang.Object {
				public static class: java.lang.Class<android.hardware.ConsumerIrManager.CarrierFrequencyRange>;
				public getMaxFrequency(): number;
				public getMinFrequency(): number;
				public constructor(param0: android.hardware.ConsumerIrManager, param1: number, param2: number);
			}
		}
	}
}

declare module android {
	export module hardware {
		export class GeomagneticField extends java.lang.Object {
			public static class: java.lang.Class<android.hardware.GeomagneticField>;
			public getInclination(): number;
			public getHorizontalStrength(): number;
			public getY(): number;
			public getDeclination(): number;
			public getX(): number;
			public constructor(param0: number, param1: number, param2: number, param3: number);
			public getZ(): number;
			public getFieldStrength(): number;
		}
	}
}

declare module android {
	export module hardware {
		export class HardwareBuffer extends java.lang.Object implements android.os.Parcelable, java.lang.AutoCloseable {
			public static class: java.lang.Class<android.hardware.HardwareBuffer>;
			public static BLOB: number;
			public static CREATOR: android.os.Parcelable.Creator<android.hardware.HardwareBuffer>;
			public static DS_24UI8: number;
			public static DS_FP32UI8: number;
			public static D_16: number;
			public static D_24: number;
			public static D_FP32: number;
			public static RGBA_1010102: number;
			public static RGBA_8888: number;
			public static RGBA_FP16: number;
			public static RGBX_8888: number;
			public static RGB_565: number;
			public static RGB_888: number;
			public static S_UI8: number;
			public static USAGE_CPU_READ_OFTEN: number;
			public static USAGE_CPU_READ_RARELY: number;
			public static USAGE_CPU_WRITE_OFTEN: number;
			public static USAGE_CPU_WRITE_RARELY: number;
			public static USAGE_GPU_COLOR_OUTPUT: number;
			public static USAGE_GPU_CUBE_MAP: number;
			public static USAGE_GPU_DATA_BUFFER: number;
			public static USAGE_GPU_MIPMAP_COMPLETE: number;
			public static USAGE_GPU_SAMPLED_IMAGE: number;
			public static USAGE_PROTECTED_CONTENT: number;
			public static USAGE_SENSOR_DIRECT_DATA: number;
			public static USAGE_VIDEO_ENCODE: number;
			public isClosed(): boolean;
			public getHeight(): number;
			public static create(param0: number, param1: number, param2: number, param3: number, param4: number): android.hardware.HardwareBuffer;
			public getFormat(): number;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getWidth(): number;
			public close(): void;
			public finalize(): void;
			public getLayers(): number;
			public getUsage(): number;
		}
	}
}

declare module android {
	export module hardware {
		export class Sensor extends java.lang.Object {
			public static class: java.lang.Class<android.hardware.Sensor>;
			public static REPORTING_MODE_CONTINUOUS: number;
			public static REPORTING_MODE_ONE_SHOT: number;
			public static REPORTING_MODE_ON_CHANGE: number;
			public static REPORTING_MODE_SPECIAL_TRIGGER: number;
			public static STRING_TYPE_ACCELEROMETER: string;
			public static STRING_TYPE_ACCELEROMETER_UNCALIBRATED: string;
			public static STRING_TYPE_AMBIENT_TEMPERATURE: string;
			public static STRING_TYPE_GAME_ROTATION_VECTOR: string;
			public static STRING_TYPE_GEOMAGNETIC_ROTATION_VECTOR: string;
			public static STRING_TYPE_GRAVITY: string;
			public static STRING_TYPE_GYROSCOPE: string;
			public static STRING_TYPE_GYROSCOPE_UNCALIBRATED: string;
			public static STRING_TYPE_HEART_BEAT: string;
			public static STRING_TYPE_HEART_RATE: string;
			public static STRING_TYPE_LIGHT: string;
			public static STRING_TYPE_LINEAR_ACCELERATION: string;
			public static STRING_TYPE_LOW_LATENCY_OFFBODY_DETECT: string;
			public static STRING_TYPE_MAGNETIC_FIELD: string;
			public static STRING_TYPE_MAGNETIC_FIELD_UNCALIBRATED: string;
			public static STRING_TYPE_MOTION_DETECT: string;
			public static STRING_TYPE_ORIENTATION: string;
			public static STRING_TYPE_POSE_6DOF: string;
			public static STRING_TYPE_PRESSURE: string;
			public static STRING_TYPE_PROXIMITY: string;
			public static STRING_TYPE_RELATIVE_HUMIDITY: string;
			public static STRING_TYPE_ROTATION_VECTOR: string;
			public static STRING_TYPE_SIGNIFICANT_MOTION: string;
			public static STRING_TYPE_STATIONARY_DETECT: string;
			public static STRING_TYPE_STEP_COUNTER: string;
			public static STRING_TYPE_STEP_DETECTOR: string;
			public static STRING_TYPE_TEMPERATURE: string;
			public static TYPE_ACCELEROMETER: number;
			public static TYPE_ACCELEROMETER_UNCALIBRATED: number;
			public static TYPE_ALL: number;
			public static TYPE_AMBIENT_TEMPERATURE: number;
			public static TYPE_DEVICE_PRIVATE_BASE: number;
			public static TYPE_GAME_ROTATION_VECTOR: number;
			public static TYPE_GEOMAGNETIC_ROTATION_VECTOR: number;
			public static TYPE_GRAVITY: number;
			public static TYPE_GYROSCOPE: number;
			public static TYPE_GYROSCOPE_UNCALIBRATED: number;
			public static TYPE_HEART_BEAT: number;
			public static TYPE_HEART_RATE: number;
			public static TYPE_LIGHT: number;
			public static TYPE_LINEAR_ACCELERATION: number;
			public static TYPE_LOW_LATENCY_OFFBODY_DETECT: number;
			public static TYPE_MAGNETIC_FIELD: number;
			public static TYPE_MAGNETIC_FIELD_UNCALIBRATED: number;
			public static TYPE_MOTION_DETECT: number;
			public static TYPE_ORIENTATION: number;
			public static TYPE_POSE_6DOF: number;
			public static TYPE_PRESSURE: number;
			public static TYPE_PROXIMITY: number;
			public static TYPE_RELATIVE_HUMIDITY: number;
			public static TYPE_ROTATION_VECTOR: number;
			public static TYPE_SIGNIFICANT_MOTION: number;
			public static TYPE_STATIONARY_DETECT: number;
			public static TYPE_STEP_COUNTER: number;
			public static TYPE_STEP_DETECTOR: number;
			public static TYPE_TEMPERATURE: number;
			public getType(): number;
			public getFifoMaxEventCount(): number;
			public getStringType(): string;
			public getVendor(): string;
			public getResolution(): number;
			public getReportingMode(): number;
			public getMaxDelay(): number;
			public getPower(): number;
			public getMinDelay(): number;
			public isDirectChannelTypeSupported(param0: number): boolean;
			public getHighestDirectReportRateLevel(): number;
			public getVersion(): number;
			public toString(): string;
			public getName(): string;
			public getId(): number;
			public isWakeUpSensor(): boolean;
			public isDynamicSensor(): boolean;
			public getMaximumRange(): number;
			public getFifoReservedEventCount(): number;
			public isAdditionalInfoSupported(): boolean;
		}
	}
}

declare module android {
	export module hardware {
		export class SensorAdditionalInfo extends java.lang.Object {
			public static class: java.lang.Class<android.hardware.SensorAdditionalInfo>;
			public static TYPE_FRAME_BEGIN: number;
			public static TYPE_FRAME_END: number;
			public static TYPE_INTERNAL_TEMPERATURE: number;
			public static TYPE_SAMPLING: number;
			public static TYPE_SENSOR_PLACEMENT: number;
			public static TYPE_UNTRACKED_DELAY: number;
			public static TYPE_VEC3_CALIBRATION: number;
			public floatValues: native.Array<number>;
			public intValues: native.Array<number>;
			public sensor: android.hardware.Sensor;
			public serial: number;
			public type: number;
		}
	}
}

declare module android {
	export module hardware {
		export class SensorDirectChannel extends java.lang.Object implements java.nio.channels.Channel {
			public static class: java.lang.Class<android.hardware.SensorDirectChannel>;
			public static RATE_FAST: number;
			public static RATE_NORMAL: number;
			public static RATE_STOP: number;
			public static RATE_VERY_FAST: number;
			public static TYPE_HARDWARE_BUFFER: number;
			public static TYPE_MEMORY_FILE: number;
			public isOpen(): boolean;
			public configure(param0: android.hardware.Sensor, param1: number): number;
			public close(): void;
			public finalize(): void;
		}
	}
}

declare module android {
	export module hardware {
		export class SensorEvent extends java.lang.Object {
			public static class: java.lang.Class<android.hardware.SensorEvent>;
			public accuracy: number;
			public sensor: android.hardware.Sensor;
			public timestamp: number;
			public values: native.Array<number>;
		}
	}
}

declare module android {
	export module hardware {
		export abstract class SensorEventCallback extends java.lang.Object implements android.hardware.SensorEventListener2 {
			public static class: java.lang.Class<android.hardware.SensorEventCallback>;
			public onFlushCompleted(param0: android.hardware.Sensor): void;
			public onAccuracyChanged(param0: android.hardware.Sensor, param1: number): void;
			public constructor();
			public onSensorAdditionalInfo(param0: android.hardware.SensorAdditionalInfo): void;
			public onSensorChanged(param0: android.hardware.SensorEvent): void;
		}
	}
}

declare module android {
	export module hardware {
		export class SensorEventListener extends java.lang.Object {
			public static class: java.lang.Class<android.hardware.SensorEventListener>;
			/**
			 * Constructs a new instance of the android.hardware.SensorEventListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				onSensorChanged(param0: android.hardware.SensorEvent): void;
				onAccuracyChanged(param0: android.hardware.Sensor, param1: number): void;
			});
			public constructor();
			public onAccuracyChanged(param0: android.hardware.Sensor, param1: number): void;
			public onSensorChanged(param0: android.hardware.SensorEvent): void;
		}
	}
}

declare module android {
	export module hardware {
		export class SensorEventListener2 extends java.lang.Object implements android.hardware.SensorEventListener {
			public static class: java.lang.Class<android.hardware.SensorEventListener2>;
			/**
			 * Constructs a new instance of the android.hardware.SensorEventListener2 interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				onFlushCompleted(param0: android.hardware.Sensor): void;
				onSensorChanged(param0: android.hardware.SensorEvent): void;
				onAccuracyChanged(param0: android.hardware.Sensor, param1: number): void;
			});
			public constructor();
			public onFlushCompleted(param0: android.hardware.Sensor): void;
			public onAccuracyChanged(param0: android.hardware.Sensor, param1: number): void;
			public onSensorChanged(param0: android.hardware.SensorEvent): void;
		}
	}
}

declare module android {
	export module hardware {
		export class SensorListener extends java.lang.Object {
			public static class: java.lang.Class<android.hardware.SensorListener>;
			/**
			 * Constructs a new instance of the android.hardware.SensorListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				onSensorChanged(param0: number, param1: native.Array<number>): void;
				onAccuracyChanged(param0: number, param1: number): void;
			});
			public constructor();
			public onSensorChanged(param0: number, param1: native.Array<number>): void;
			public onAccuracyChanged(param0: number, param1: number): void;
		}
	}
}

declare module android {
	export module hardware {
		export abstract class SensorManager extends java.lang.Object {
			public static class: java.lang.Class<android.hardware.SensorManager>;
			public static AXIS_MINUS_X: number;
			public static AXIS_MINUS_Y: number;
			public static AXIS_MINUS_Z: number;
			public static AXIS_X: number;
			public static AXIS_Y: number;
			public static AXIS_Z: number;
			public static DATA_X: number;
			public static DATA_Y: number;
			public static DATA_Z: number;
			public static GRAVITY_DEATH_STAR_I: number;
			public static GRAVITY_EARTH: number;
			public static GRAVITY_JUPITER: number;
			public static GRAVITY_MARS: number;
			public static GRAVITY_MERCURY: number;
			public static GRAVITY_MOON: number;
			public static GRAVITY_NEPTUNE: number;
			public static GRAVITY_PLUTO: number;
			public static GRAVITY_SATURN: number;
			public static GRAVITY_SUN: number;
			public static GRAVITY_THE_ISLAND: number;
			public static GRAVITY_URANUS: number;
			public static GRAVITY_VENUS: number;
			public static LIGHT_CLOUDY: number;
			public static LIGHT_FULLMOON: number;
			public static LIGHT_NO_MOON: number;
			public static LIGHT_OVERCAST: number;
			public static LIGHT_SHADE: number;
			public static LIGHT_SUNLIGHT: number;
			public static LIGHT_SUNLIGHT_MAX: number;
			public static LIGHT_SUNRISE: number;
			public static MAGNETIC_FIELD_EARTH_MAX: number;
			public static MAGNETIC_FIELD_EARTH_MIN: number;
			public static PRESSURE_STANDARD_ATMOSPHERE: number;
			public static RAW_DATA_INDEX: number;
			public static RAW_DATA_X: number;
			public static RAW_DATA_Y: number;
			public static RAW_DATA_Z: number;
			public static SENSOR_ACCELEROMETER: number;
			public static SENSOR_ALL: number;
			public static SENSOR_DELAY_FASTEST: number;
			public static SENSOR_DELAY_GAME: number;
			public static SENSOR_DELAY_NORMAL: number;
			public static SENSOR_DELAY_UI: number;
			public static SENSOR_LIGHT: number;
			public static SENSOR_MAGNETIC_FIELD: number;
			public static SENSOR_MAX: number;
			public static SENSOR_MIN: number;
			public static SENSOR_ORIENTATION: number;
			public static SENSOR_ORIENTATION_RAW: number;
			public static SENSOR_PROXIMITY: number;
			public static SENSOR_STATUS_ACCURACY_HIGH: number;
			public static SENSOR_STATUS_ACCURACY_LOW: number;
			public static SENSOR_STATUS_ACCURACY_MEDIUM: number;
			public static SENSOR_STATUS_NO_CONTACT: number;
			public static SENSOR_STATUS_UNRELIABLE: number;
			public static SENSOR_TEMPERATURE: number;
			public static SENSOR_TRICORDER: number;
			public static STANDARD_GRAVITY: number;
			/** @deprecated */
			public unregisterListener(param0: android.hardware.SensorListener, param1: number): void;
			public static remapCoordinateSystem(param0: native.Array<number>, param1: number, param2: number, param3: native.Array<number>): boolean;
			public createDirectChannel(param0: android.hardware.HardwareBuffer): android.hardware.SensorDirectChannel;
			public getDefaultSensor(param0: number): android.hardware.Sensor;
			public createDirectChannel(param0: android.os.MemoryFile): android.hardware.SensorDirectChannel;
			public registerListener(param0: android.hardware.SensorEventListener, param1: android.hardware.Sensor, param2: number, param3: number): boolean;
			/** @deprecated */
			public unregisterListener(param0: android.hardware.SensorListener): void;
			public registerListener(param0: android.hardware.SensorEventListener, param1: android.hardware.Sensor, param2: number): boolean;
			/** @deprecated */
			public getSensors(): number;
			/** @deprecated */
			public registerListener(param0: android.hardware.SensorListener, param1: number): boolean;
			public registerDynamicSensorCallback(param0: android.hardware.SensorManager.DynamicSensorCallback): void;
			public static getAngleChange(param0: native.Array<number>, param1: native.Array<number>, param2: native.Array<number>): void;
			public unregisterListener(param0: android.hardware.SensorEventListener, param1: android.hardware.Sensor): void;
			/** @deprecated */
			public registerListener(param0: android.hardware.SensorListener, param1: number, param2: number): boolean;
			public cancelTriggerSensor(param0: android.hardware.TriggerEventListener, param1: android.hardware.Sensor): boolean;
			public static getQuaternionFromVector(param0: native.Array<number>, param1: native.Array<number>): void;
			public getDynamicSensorList(param0: number): java.util.List<android.hardware.Sensor>;
			public registerListener(param0: android.hardware.SensorEventListener, param1: android.hardware.Sensor, param2: number, param3: android.os.Handler): boolean;
			public isDynamicSensorDiscoverySupported(): boolean;
			public static getInclination(param0: native.Array<number>): number;
			public static getAltitude(param0: number, param1: number): number;
			public registerDynamicSensorCallback(param0: android.hardware.SensorManager.DynamicSensorCallback, param1: android.os.Handler): void;
			public unregisterDynamicSensorCallback(param0: android.hardware.SensorManager.DynamicSensorCallback): void;
			public getSensorList(param0: number): java.util.List<android.hardware.Sensor>;
			public static getRotationMatrix(param0: native.Array<number>, param1: native.Array<number>, param2: native.Array<number>, param3: native.Array<number>): boolean;
			public getDefaultSensor(param0: number, param1: boolean): android.hardware.Sensor;
			public requestTriggerSensor(param0: android.hardware.TriggerEventListener, param1: android.hardware.Sensor): boolean;
			public unregisterListener(param0: android.hardware.SensorEventListener): void;
			public static getRotationMatrixFromVector(param0: native.Array<number>, param1: native.Array<number>): void;
			public registerListener(param0: android.hardware.SensorEventListener, param1: android.hardware.Sensor, param2: number, param3: number, param4: android.os.Handler): boolean;
			public flush(param0: android.hardware.SensorEventListener): boolean;
			public static getOrientation(param0: native.Array<number>, param1: native.Array<number>): native.Array<number>;
		}
		export module SensorManager {
			export abstract class DynamicSensorCallback extends java.lang.Object {
				public static class: java.lang.Class<android.hardware.SensorManager.DynamicSensorCallback>;
				public onDynamicSensorDisconnected(param0: android.hardware.Sensor): void;
				public onDynamicSensorConnected(param0: android.hardware.Sensor): void;
				public constructor();
			}
		}
	}
}

declare module android {
	export module hardware {
		export class TriggerEvent extends java.lang.Object {
			public static class: java.lang.Class<android.hardware.TriggerEvent>;
			public sensor: android.hardware.Sensor;
			public timestamp: number;
			public values: native.Array<number>;
		}
	}
}

declare module android {
	export module hardware {
		export abstract class TriggerEventListener extends java.lang.Object {
			public static class: java.lang.Class<android.hardware.TriggerEventListener>;
			public onTrigger(param0: android.hardware.TriggerEvent): void;
			public constructor();
		}
	}
}

declare module android {
	export module hardware {
		export module biometrics {
			export class BiometricPrompt extends java.lang.Object {
				public static class: java.lang.Class<android.hardware.biometrics.BiometricPrompt>;
				public static BIOMETRIC_ACQUIRED_GOOD: number;
				public static BIOMETRIC_ACQUIRED_IMAGER_DIRTY: number;
				public static BIOMETRIC_ACQUIRED_INSUFFICIENT: number;
				public static BIOMETRIC_ACQUIRED_PARTIAL: number;
				public static BIOMETRIC_ACQUIRED_TOO_FAST: number;
				public static BIOMETRIC_ACQUIRED_TOO_SLOW: number;
				public static BIOMETRIC_ERROR_CANCELED: number;
				public static BIOMETRIC_ERROR_HW_NOT_PRESENT: number;
				public static BIOMETRIC_ERROR_HW_UNAVAILABLE: number;
				public static BIOMETRIC_ERROR_LOCKOUT: number;
				public static BIOMETRIC_ERROR_LOCKOUT_PERMANENT: number;
				public static BIOMETRIC_ERROR_NO_BIOMETRICS: number;
				public static BIOMETRIC_ERROR_NO_SPACE: number;
				public static BIOMETRIC_ERROR_TIMEOUT: number;
				public static BIOMETRIC_ERROR_UNABLE_TO_PROCESS: number;
				public static BIOMETRIC_ERROR_USER_CANCELED: number;
				public static BIOMETRIC_ERROR_VENDOR: number;
				public authenticate(param0: android.os.CancellationSignal, param1: java.util.concurrent.Executor, param2: android.hardware.biometrics.BiometricPrompt.AuthenticationCallback): void;
				public authenticate(param0: android.hardware.biometrics.BiometricPrompt.CryptoObject, param1: android.os.CancellationSignal, param2: java.util.concurrent.Executor, param3: android.hardware.biometrics.BiometricPrompt.AuthenticationCallback): void;
			}
			export module BiometricPrompt {
				export abstract class AuthenticationCallback extends java.lang.Object {
					public static class: java.lang.Class<android.hardware.biometrics.BiometricPrompt.AuthenticationCallback>;
					public constructor();
					public onAuthenticationSucceeded(param0: android.hardware.biometrics.BiometricPrompt.AuthenticationResult): void;
					public onAuthenticationHelp(param0: number, param1: string): void;
					public onAuthenticationFailed(): void;
					public onAuthenticationError(param0: number, param1: string): void;
				}
				export class AuthenticationResult extends java.lang.Object {
					public static class: java.lang.Class<android.hardware.biometrics.BiometricPrompt.AuthenticationResult>;
					public getCryptoObject(): android.hardware.biometrics.BiometricPrompt.CryptoObject;
				}
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.hardware.biometrics.BiometricPrompt.Builder>;
					public setDescription(param0: string): android.hardware.biometrics.BiometricPrompt.Builder;
					public setNegativeButton(param0: string, param1: java.util.concurrent.Executor, param2: android.content.DialogInterface.OnClickListener): android.hardware.biometrics.BiometricPrompt.Builder;
					public constructor(param0: android.content.Context);
					public setTitle(param0: string): android.hardware.biometrics.BiometricPrompt.Builder;
					public setSubtitle(param0: string): android.hardware.biometrics.BiometricPrompt.Builder;
					public build(): android.hardware.biometrics.BiometricPrompt;
				}
				export class CryptoObject extends java.lang.Object {
					public static class: java.lang.Class<android.hardware.biometrics.BiometricPrompt.CryptoObject>;
					public constructor(param0: javax.crypto.Cipher);
					public getCipher(): javax.crypto.Cipher;
					public constructor(param0: java.security.Signature);
					public getSignature(): java.security.Signature;
					public constructor(param0: javax.crypto.Mac);
					public getMac(): javax.crypto.Mac;
				}
			}
		}
	}
}

declare module android {
	export module hardware {
		export module camera2 {
			export class CameraAccessException extends android.util.AndroidException {
				public static class: java.lang.Class<android.hardware.camera2.CameraAccessException>;
				public static CAMERA_DISABLED: number;
				public static CAMERA_DISCONNECTED: number;
				public static CAMERA_ERROR: number;
				public static CAMERA_IN_USE: number;
				public static MAX_CAMERAS_IN_USE: number;
				public constructor(param0: number, param1: string);
				public getReason(): number;
				public constructor(param0: number);
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Exception);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
				public constructor(param0: number, param1: string, param2: java.lang.Throwable);
				public constructor(param0: number, param1: java.lang.Throwable);
			}
		}
	}
}

declare module android {
	export module hardware {
		export module camera2 {
			export abstract class CameraCaptureSession extends java.lang.Object implements java.lang.AutoCloseable {
				public static class: java.lang.Class<android.hardware.camera2.CameraCaptureSession>;
				public setRepeatingBurst(param0: java.util.List<android.hardware.camera2.CaptureRequest>, param1: android.hardware.camera2.CameraCaptureSession.CaptureCallback, param2: android.os.Handler): number;
				public close(): void;
				public setSingleRepeatingRequest(param0: android.hardware.camera2.CaptureRequest, param1: java.util.concurrent.Executor, param2: android.hardware.camera2.CameraCaptureSession.CaptureCallback): number;
				public getDevice(): android.hardware.camera2.CameraDevice;
				public captureBurst(param0: java.util.List<android.hardware.camera2.CaptureRequest>, param1: android.hardware.camera2.CameraCaptureSession.CaptureCallback, param2: android.os.Handler): number;
				public capture(param0: android.hardware.camera2.CaptureRequest, param1: android.hardware.camera2.CameraCaptureSession.CaptureCallback, param2: android.os.Handler): number;
				public setRepeatingBurstRequests(param0: java.util.List<android.hardware.camera2.CaptureRequest>, param1: java.util.concurrent.Executor, param2: android.hardware.camera2.CameraCaptureSession.CaptureCallback): number;
				public updateOutputConfiguration(param0: android.hardware.camera2.params.OutputConfiguration): void;
				public prepare(param0: android.view.Surface): void;
				public captureBurstRequests(param0: java.util.List<android.hardware.camera2.CaptureRequest>, param1: java.util.concurrent.Executor, param2: android.hardware.camera2.CameraCaptureSession.CaptureCallback): number;
				public isReprocessable(): boolean;
				public captureSingleRequest(param0: android.hardware.camera2.CaptureRequest, param1: java.util.concurrent.Executor, param2: android.hardware.camera2.CameraCaptureSession.CaptureCallback): number;
				public constructor();
				public finalizeOutputConfigurations(param0: java.util.List<android.hardware.camera2.params.OutputConfiguration>): void;
				public stopRepeating(): void;
				public getInputSurface(): android.view.Surface;
				public setRepeatingRequest(param0: android.hardware.camera2.CaptureRequest, param1: android.hardware.camera2.CameraCaptureSession.CaptureCallback, param2: android.os.Handler): number;
				public abortCaptures(): void;
			}
			export module CameraCaptureSession {
				export abstract class CaptureCallback extends java.lang.Object {
					public static class: java.lang.Class<android.hardware.camera2.CameraCaptureSession.CaptureCallback>;
					public onCaptureBufferLost(param0: android.hardware.camera2.CameraCaptureSession, param1: android.hardware.camera2.CaptureRequest, param2: android.view.Surface, param3: number): void;
					public constructor();
					public onCaptureStarted(param0: android.hardware.camera2.CameraCaptureSession, param1: android.hardware.camera2.CaptureRequest, param2: number, param3: number): void;
					public onCaptureProgressed(param0: android.hardware.camera2.CameraCaptureSession, param1: android.hardware.camera2.CaptureRequest, param2: android.hardware.camera2.CaptureResult): void;
					public onCaptureFailed(param0: android.hardware.camera2.CameraCaptureSession, param1: android.hardware.camera2.CaptureRequest, param2: android.hardware.camera2.CaptureFailure): void;
					public onCaptureCompleted(param0: android.hardware.camera2.CameraCaptureSession, param1: android.hardware.camera2.CaptureRequest, param2: android.hardware.camera2.TotalCaptureResult): void;
					public onCaptureSequenceCompleted(param0: android.hardware.camera2.CameraCaptureSession, param1: number, param2: number): void;
					public onCaptureSequenceAborted(param0: android.hardware.camera2.CameraCaptureSession, param1: number): void;
				}
				export abstract class StateCallback extends java.lang.Object {
					public static class: java.lang.Class<android.hardware.camera2.CameraCaptureSession.StateCallback>;
					public onActive(param0: android.hardware.camera2.CameraCaptureSession): void;
					public onClosed(param0: android.hardware.camera2.CameraCaptureSession): void;
					public constructor();
					public onConfigured(param0: android.hardware.camera2.CameraCaptureSession): void;
					public onSurfacePrepared(param0: android.hardware.camera2.CameraCaptureSession, param1: android.view.Surface): void;
					public onCaptureQueueEmpty(param0: android.hardware.camera2.CameraCaptureSession): void;
					public onReady(param0: android.hardware.camera2.CameraCaptureSession): void;
					public onConfigureFailed(param0: android.hardware.camera2.CameraCaptureSession): void;
				}
			}
		}
	}
}

declare module android {
	export module hardware {
		export module camera2 {
			export class CameraCharacteristics extends android.hardware.camera2.CameraMetadata<android.hardware.camera2.CameraCharacteristics.Key<any>> {
				public static class: java.lang.Class<android.hardware.camera2.CameraCharacteristics>;
				public static COLOR_CORRECTION_AVAILABLE_ABERRATION_MODES: android.hardware.camera2.CameraCharacteristics.Key<native.Array<number>>;
				public static CONTROL_AE_AVAILABLE_ANTIBANDING_MODES: android.hardware.camera2.CameraCharacteristics.Key<native.Array<number>>;
				public static CONTROL_AE_AVAILABLE_MODES: android.hardware.camera2.CameraCharacteristics.Key<native.Array<number>>;
				public static CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES: android.hardware.camera2.CameraCharacteristics.Key<native.Array<android.util.Range<java.lang.Integer>>>;
				public static CONTROL_AE_COMPENSATION_RANGE: android.hardware.camera2.CameraCharacteristics.Key<android.util.Range<java.lang.Integer>>;
				public static CONTROL_AE_COMPENSATION_STEP: android.hardware.camera2.CameraCharacteristics.Key<android.util.Rational>;
				public static CONTROL_AE_LOCK_AVAILABLE: android.hardware.camera2.CameraCharacteristics.Key<java.lang.Boolean>;
				public static CONTROL_AF_AVAILABLE_MODES: android.hardware.camera2.CameraCharacteristics.Key<native.Array<number>>;
				public static CONTROL_AVAILABLE_EFFECTS: android.hardware.camera2.CameraCharacteristics.Key<native.Array<number>>;
				public static CONTROL_AVAILABLE_MODES: android.hardware.camera2.CameraCharacteristics.Key<native.Array<number>>;
				public static CONTROL_AVAILABLE_SCENE_MODES: android.hardware.camera2.CameraCharacteristics.Key<native.Array<number>>;
				public static CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES: android.hardware.camera2.CameraCharacteristics.Key<native.Array<number>>;
				public static CONTROL_AWB_AVAILABLE_MODES: android.hardware.camera2.CameraCharacteristics.Key<native.Array<number>>;
				public static CONTROL_AWB_LOCK_AVAILABLE: android.hardware.camera2.CameraCharacteristics.Key<java.lang.Boolean>;
				public static CONTROL_MAX_REGIONS_AE: android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer>;
				public static CONTROL_MAX_REGIONS_AF: android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer>;
				public static CONTROL_MAX_REGIONS_AWB: android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer>;
				public static CONTROL_POST_RAW_SENSITIVITY_BOOST_RANGE: android.hardware.camera2.CameraCharacteristics.Key<android.util.Range<java.lang.Integer>>;
				public static DEPTH_DEPTH_IS_EXCLUSIVE: android.hardware.camera2.CameraCharacteristics.Key<java.lang.Boolean>;
				public static DISTORTION_CORRECTION_AVAILABLE_MODES: android.hardware.camera2.CameraCharacteristics.Key<native.Array<number>>;
				public static EDGE_AVAILABLE_EDGE_MODES: android.hardware.camera2.CameraCharacteristics.Key<native.Array<number>>;
				public static FLASH_INFO_AVAILABLE: android.hardware.camera2.CameraCharacteristics.Key<java.lang.Boolean>;
				public static HOT_PIXEL_AVAILABLE_HOT_PIXEL_MODES: android.hardware.camera2.CameraCharacteristics.Key<native.Array<number>>;
				public static INFO_SUPPORTED_HARDWARE_LEVEL: android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer>;
				public static INFO_VERSION: android.hardware.camera2.CameraCharacteristics.Key<string>;
				public static JPEG_AVAILABLE_THUMBNAIL_SIZES: android.hardware.camera2.CameraCharacteristics.Key<native.Array<any>>;
				public static LENS_DISTORTION: android.hardware.camera2.CameraCharacteristics.Key<native.Array<number>>;
				public static LENS_FACING: android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer>;
				public static LENS_INFO_AVAILABLE_APERTURES: android.hardware.camera2.CameraCharacteristics.Key<native.Array<number>>;
				public static LENS_INFO_AVAILABLE_FILTER_DENSITIES: android.hardware.camera2.CameraCharacteristics.Key<native.Array<number>>;
				public static LENS_INFO_AVAILABLE_FOCAL_LENGTHS: android.hardware.camera2.CameraCharacteristics.Key<native.Array<number>>;
				public static LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION: android.hardware.camera2.CameraCharacteristics.Key<native.Array<number>>;
				public static LENS_INFO_FOCUS_DISTANCE_CALIBRATION: android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer>;
				public static LENS_INFO_HYPERFOCAL_DISTANCE: android.hardware.camera2.CameraCharacteristics.Key<java.lang.Float>;
				public static LENS_INFO_MINIMUM_FOCUS_DISTANCE: android.hardware.camera2.CameraCharacteristics.Key<java.lang.Float>;
				public static LENS_INTRINSIC_CALIBRATION: android.hardware.camera2.CameraCharacteristics.Key<native.Array<number>>;
				public static LENS_POSE_REFERENCE: android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer>;
				public static LENS_POSE_ROTATION: android.hardware.camera2.CameraCharacteristics.Key<native.Array<number>>;
				public static LENS_POSE_TRANSLATION: android.hardware.camera2.CameraCharacteristics.Key<native.Array<number>>;
				public static LENS_RADIAL_DISTORTION: android.hardware.camera2.CameraCharacteristics.Key<native.Array<number>>;
				public static LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE: android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer>;
				public static NOISE_REDUCTION_AVAILABLE_NOISE_REDUCTION_MODES: android.hardware.camera2.CameraCharacteristics.Key<native.Array<number>>;
				public static REPROCESS_MAX_CAPTURE_STALL: android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer>;
				public static REQUEST_AVAILABLE_CAPABILITIES: android.hardware.camera2.CameraCharacteristics.Key<native.Array<number>>;
				public static REQUEST_MAX_NUM_INPUT_STREAMS: android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer>;
				public static REQUEST_MAX_NUM_OUTPUT_PROC: android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer>;
				public static REQUEST_MAX_NUM_OUTPUT_PROC_STALLING: android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer>;
				public static REQUEST_MAX_NUM_OUTPUT_RAW: android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer>;
				public static REQUEST_PARTIAL_RESULT_COUNT: android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer>;
				public static REQUEST_PIPELINE_MAX_DEPTH: android.hardware.camera2.CameraCharacteristics.Key<java.lang.Byte>;
				public static SCALER_AVAILABLE_MAX_DIGITAL_ZOOM: android.hardware.camera2.CameraCharacteristics.Key<java.lang.Float>;
				public static SCALER_CROPPING_TYPE: android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer>;
				public static SCALER_STREAM_CONFIGURATION_MAP: android.hardware.camera2.CameraCharacteristics.Key<android.hardware.camera2.params.StreamConfigurationMap>;
				public static SENSOR_AVAILABLE_TEST_PATTERN_MODES: android.hardware.camera2.CameraCharacteristics.Key<native.Array<number>>;
				public static SENSOR_BLACK_LEVEL_PATTERN: android.hardware.camera2.CameraCharacteristics.Key<android.hardware.camera2.params.BlackLevelPattern>;
				public static SENSOR_CALIBRATION_TRANSFORM1: android.hardware.camera2.CameraCharacteristics.Key<android.hardware.camera2.params.ColorSpaceTransform>;
				public static SENSOR_CALIBRATION_TRANSFORM2: android.hardware.camera2.CameraCharacteristics.Key<android.hardware.camera2.params.ColorSpaceTransform>;
				public static SENSOR_COLOR_TRANSFORM1: android.hardware.camera2.CameraCharacteristics.Key<android.hardware.camera2.params.ColorSpaceTransform>;
				public static SENSOR_COLOR_TRANSFORM2: android.hardware.camera2.CameraCharacteristics.Key<android.hardware.camera2.params.ColorSpaceTransform>;
				public static SENSOR_FORWARD_MATRIX1: android.hardware.camera2.CameraCharacteristics.Key<android.hardware.camera2.params.ColorSpaceTransform>;
				public static SENSOR_FORWARD_MATRIX2: android.hardware.camera2.CameraCharacteristics.Key<android.hardware.camera2.params.ColorSpaceTransform>;
				public static SENSOR_INFO_ACTIVE_ARRAY_SIZE: android.hardware.camera2.CameraCharacteristics.Key<android.graphics.Rect>;
				public static SENSOR_INFO_COLOR_FILTER_ARRANGEMENT: android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer>;
				public static SENSOR_INFO_EXPOSURE_TIME_RANGE: android.hardware.camera2.CameraCharacteristics.Key<android.util.Range<java.lang.Long>>;
				public static SENSOR_INFO_LENS_SHADING_APPLIED: android.hardware.camera2.CameraCharacteristics.Key<java.lang.Boolean>;
				public static SENSOR_INFO_MAX_FRAME_DURATION: android.hardware.camera2.CameraCharacteristics.Key<java.lang.Long>;
				public static SENSOR_INFO_PHYSICAL_SIZE: android.hardware.camera2.CameraCharacteristics.Key<any>;
				public static SENSOR_INFO_PIXEL_ARRAY_SIZE: android.hardware.camera2.CameraCharacteristics.Key<any>;
				public static SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE: android.hardware.camera2.CameraCharacteristics.Key<android.graphics.Rect>;
				public static SENSOR_INFO_SENSITIVITY_RANGE: android.hardware.camera2.CameraCharacteristics.Key<android.util.Range<java.lang.Integer>>;
				public static SENSOR_INFO_TIMESTAMP_SOURCE: android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer>;
				public static SENSOR_INFO_WHITE_LEVEL: android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer>;
				public static SENSOR_MAX_ANALOG_SENSITIVITY: android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer>;
				public static SENSOR_OPTICAL_BLACK_REGIONS: android.hardware.camera2.CameraCharacteristics.Key<native.Array<android.graphics.Rect>>;
				public static SENSOR_ORIENTATION: android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer>;
				public static SENSOR_REFERENCE_ILLUMINANT1: android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer>;
				public static SENSOR_REFERENCE_ILLUMINANT2: android.hardware.camera2.CameraCharacteristics.Key<java.lang.Byte>;
				public static SHADING_AVAILABLE_MODES: android.hardware.camera2.CameraCharacteristics.Key<native.Array<number>>;
				public static STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES: android.hardware.camera2.CameraCharacteristics.Key<native.Array<number>>;
				public static STATISTICS_INFO_AVAILABLE_HOT_PIXEL_MAP_MODES: android.hardware.camera2.CameraCharacteristics.Key<native.Array<boolean>>;
				public static STATISTICS_INFO_AVAILABLE_LENS_SHADING_MAP_MODES: android.hardware.camera2.CameraCharacteristics.Key<native.Array<number>>;
				public static STATISTICS_INFO_AVAILABLE_OIS_DATA_MODES: android.hardware.camera2.CameraCharacteristics.Key<native.Array<number>>;
				public static STATISTICS_INFO_MAX_FACE_COUNT: android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer>;
				public static SYNC_MAX_LATENCY: android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer>;
				public static TONEMAP_AVAILABLE_TONE_MAP_MODES: android.hardware.camera2.CameraCharacteristics.Key<native.Array<number>>;
				public static TONEMAP_MAX_CURVE_POINTS: android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer>;
				public getAvailableSessionKeys(): java.util.List<android.hardware.camera2.CaptureRequest.Key<any>>;
				public getAvailablePhysicalCameraRequestKeys(): java.util.List<android.hardware.camera2.CaptureRequest.Key<any>>;
				public getAvailableCaptureResultKeys(): java.util.List<android.hardware.camera2.CaptureResult.Key<any>>;
				public getKeys(): java.util.List<any>;
				public getAvailableCaptureRequestKeys(): java.util.List<android.hardware.camera2.CaptureRequest.Key<any>>;
				public getPhysicalCameraIds(): java.util.Set<string>;
				public get(param0: android.hardware.camera2.CameraCharacteristics.Key<any>): any;
				public getKeys(): java.util.List<android.hardware.camera2.CameraCharacteristics.Key<any>>;
			}
			export module CameraCharacteristics {
				export class Key<T>  extends java.lang.Object {
					public static class: java.lang.Class<android.hardware.camera2.CameraCharacteristics.Key<any>>;
					public equals(param0: any): boolean;
					public toString(): string;
					public getName(): string;
					public hashCode(): number;
				}
			}
		}
	}
}

declare module android {
	export module hardware {
		export module camera2 {
			export abstract class CameraConstrainedHighSpeedCaptureSession extends android.hardware.camera2.CameraCaptureSession {
				public static class: java.lang.Class<android.hardware.camera2.CameraConstrainedHighSpeedCaptureSession>;
				public close(): void;
				public createHighSpeedRequestList(param0: android.hardware.camera2.CaptureRequest): java.util.List<android.hardware.camera2.CaptureRequest>;
				public constructor();
			}
		}
	}
}

declare module android {
	export module hardware {
		export module camera2 {
			export abstract class CameraDevice extends java.lang.Object implements java.lang.AutoCloseable {
				public static class: java.lang.Class<android.hardware.camera2.CameraDevice>;
				public static TEMPLATE_MANUAL: number;
				public static TEMPLATE_PREVIEW: number;
				public static TEMPLATE_RECORD: number;
				public static TEMPLATE_STILL_CAPTURE: number;
				public static TEMPLATE_VIDEO_SNAPSHOT: number;
				public static TEMPLATE_ZERO_SHUTTER_LAG: number;
				public createCaptureRequest(param0: number, param1: java.util.Set<string>): android.hardware.camera2.CaptureRequest.Builder;
				public close(): void;
				public getId(): string;
				public createReprocessCaptureRequest(param0: android.hardware.camera2.TotalCaptureResult): android.hardware.camera2.CaptureRequest.Builder;
				public createReprocessableCaptureSessionByConfigurations(param0: android.hardware.camera2.params.InputConfiguration, param1: java.util.List<android.hardware.camera2.params.OutputConfiguration>, param2: android.hardware.camera2.CameraCaptureSession.StateCallback, param3: android.os.Handler): void;
				public createCaptureSession(param0: android.hardware.camera2.params.SessionConfiguration): void;
				public createConstrainedHighSpeedCaptureSession(param0: java.util.List<android.view.Surface>, param1: android.hardware.camera2.CameraCaptureSession.StateCallback, param2: android.os.Handler): void;
				public createCaptureSession(param0: java.util.List<android.view.Surface>, param1: android.hardware.camera2.CameraCaptureSession.StateCallback, param2: android.os.Handler): void;
				public createCaptureSessionByOutputConfigurations(param0: java.util.List<android.hardware.camera2.params.OutputConfiguration>, param1: android.hardware.camera2.CameraCaptureSession.StateCallback, param2: android.os.Handler): void;
				public createReprocessableCaptureSession(param0: android.hardware.camera2.params.InputConfiguration, param1: java.util.List<android.view.Surface>, param2: android.hardware.camera2.CameraCaptureSession.StateCallback, param3: android.os.Handler): void;
				public createCaptureRequest(param0: number): android.hardware.camera2.CaptureRequest.Builder;
			}
			export module CameraDevice {
				export abstract class StateCallback extends java.lang.Object {
					public static class: java.lang.Class<android.hardware.camera2.CameraDevice.StateCallback>;
					public static ERROR_CAMERA_DEVICE: number;
					public static ERROR_CAMERA_DISABLED: number;
					public static ERROR_CAMERA_IN_USE: number;
					public static ERROR_CAMERA_SERVICE: number;
					public static ERROR_MAX_CAMERAS_IN_USE: number;
					public onDisconnected(param0: android.hardware.camera2.CameraDevice): void;
					public onOpened(param0: android.hardware.camera2.CameraDevice): void;
					public constructor();
					public onClosed(param0: android.hardware.camera2.CameraDevice): void;
					public onError(param0: android.hardware.camera2.CameraDevice, param1: number): void;
				}
			}
		}
	}
}

declare module android {
	export module hardware {
		export module camera2 {
			export class CameraManager extends java.lang.Object {
				public static class: java.lang.Class<android.hardware.camera2.CameraManager>;
				public unregisterTorchCallback(param0: android.hardware.camera2.CameraManager.TorchCallback): void;
				public getCameraIdList(): native.Array<string>;
				public unregisterAvailabilityCallback(param0: android.hardware.camera2.CameraManager.AvailabilityCallback): void;
				public openCamera(param0: string, param1: java.util.concurrent.Executor, param2: android.hardware.camera2.CameraDevice.StateCallback): void;
				public registerAvailabilityCallback(param0: java.util.concurrent.Executor, param1: android.hardware.camera2.CameraManager.AvailabilityCallback): void;
				public registerTorchCallback(param0: java.util.concurrent.Executor, param1: android.hardware.camera2.CameraManager.TorchCallback): void;
				public openCamera(param0: string, param1: android.hardware.camera2.CameraDevice.StateCallback, param2: android.os.Handler): void;
				public setTorchMode(param0: string, param1: boolean): void;
				public registerTorchCallback(param0: android.hardware.camera2.CameraManager.TorchCallback, param1: android.os.Handler): void;
				public getCameraCharacteristics(param0: string): android.hardware.camera2.CameraCharacteristics;
				public registerAvailabilityCallback(param0: android.hardware.camera2.CameraManager.AvailabilityCallback, param1: android.os.Handler): void;
			}
			export module CameraManager {
				export abstract class AvailabilityCallback extends java.lang.Object {
					public static class: java.lang.Class<android.hardware.camera2.CameraManager.AvailabilityCallback>;
					public constructor();
					public onCameraUnavailable(param0: string): void;
					public onCameraAvailable(param0: string): void;
				}
				export abstract class TorchCallback extends java.lang.Object {
					public static class: java.lang.Class<android.hardware.camera2.CameraManager.TorchCallback>;
					public constructor();
					public onTorchModeUnavailable(param0: string): void;
					public onTorchModeChanged(param0: string, param1: boolean): void;
				}
			}
		}
	}
}

declare module android {
	export module hardware {
		export module camera2 {
			export abstract class CameraMetadata<TKey>  extends java.lang.Object {
				public static class: java.lang.Class<android.hardware.camera2.CameraMetadata<any>>;
				public static COLOR_CORRECTION_ABERRATION_MODE_FAST: number;
				public static COLOR_CORRECTION_ABERRATION_MODE_HIGH_QUALITY: number;
				public static COLOR_CORRECTION_ABERRATION_MODE_OFF: number;
				public static COLOR_CORRECTION_MODE_FAST: number;
				public static COLOR_CORRECTION_MODE_HIGH_QUALITY: number;
				public static COLOR_CORRECTION_MODE_TRANSFORM_MATRIX: number;
				public static CONTROL_AE_ANTIBANDING_MODE_50HZ: number;
				public static CONTROL_AE_ANTIBANDING_MODE_60HZ: number;
				public static CONTROL_AE_ANTIBANDING_MODE_AUTO: number;
				public static CONTROL_AE_ANTIBANDING_MODE_OFF: number;
				public static CONTROL_AE_MODE_OFF: number;
				public static CONTROL_AE_MODE_ON: number;
				public static CONTROL_AE_MODE_ON_ALWAYS_FLASH: number;
				public static CONTROL_AE_MODE_ON_AUTO_FLASH: number;
				public static CONTROL_AE_MODE_ON_AUTO_FLASH_REDEYE: number;
				public static CONTROL_AE_MODE_ON_EXTERNAL_FLASH: number;
				public static CONTROL_AE_PRECAPTURE_TRIGGER_CANCEL: number;
				public static CONTROL_AE_PRECAPTURE_TRIGGER_IDLE: number;
				public static CONTROL_AE_PRECAPTURE_TRIGGER_START: number;
				public static CONTROL_AE_STATE_CONVERGED: number;
				public static CONTROL_AE_STATE_FLASH_REQUIRED: number;
				public static CONTROL_AE_STATE_INACTIVE: number;
				public static CONTROL_AE_STATE_LOCKED: number;
				public static CONTROL_AE_STATE_PRECAPTURE: number;
				public static CONTROL_AE_STATE_SEARCHING: number;
				public static CONTROL_AF_MODE_AUTO: number;
				public static CONTROL_AF_MODE_CONTINUOUS_PICTURE: number;
				public static CONTROL_AF_MODE_CONTINUOUS_VIDEO: number;
				public static CONTROL_AF_MODE_EDOF: number;
				public static CONTROL_AF_MODE_MACRO: number;
				public static CONTROL_AF_MODE_OFF: number;
				public static CONTROL_AF_SCENE_CHANGE_DETECTED: number;
				public static CONTROL_AF_SCENE_CHANGE_NOT_DETECTED: number;
				public static CONTROL_AF_STATE_ACTIVE_SCAN: number;
				public static CONTROL_AF_STATE_FOCUSED_LOCKED: number;
				public static CONTROL_AF_STATE_INACTIVE: number;
				public static CONTROL_AF_STATE_NOT_FOCUSED_LOCKED: number;
				public static CONTROL_AF_STATE_PASSIVE_FOCUSED: number;
				public static CONTROL_AF_STATE_PASSIVE_SCAN: number;
				public static CONTROL_AF_STATE_PASSIVE_UNFOCUSED: number;
				public static CONTROL_AF_TRIGGER_CANCEL: number;
				public static CONTROL_AF_TRIGGER_IDLE: number;
				public static CONTROL_AF_TRIGGER_START: number;
				public static CONTROL_AWB_MODE_AUTO: number;
				public static CONTROL_AWB_MODE_CLOUDY_DAYLIGHT: number;
				public static CONTROL_AWB_MODE_DAYLIGHT: number;
				public static CONTROL_AWB_MODE_FLUORESCENT: number;
				public static CONTROL_AWB_MODE_INCANDESCENT: number;
				public static CONTROL_AWB_MODE_OFF: number;
				public static CONTROL_AWB_MODE_SHADE: number;
				public static CONTROL_AWB_MODE_TWILIGHT: number;
				public static CONTROL_AWB_MODE_WARM_FLUORESCENT: number;
				public static CONTROL_AWB_STATE_CONVERGED: number;
				public static CONTROL_AWB_STATE_INACTIVE: number;
				public static CONTROL_AWB_STATE_LOCKED: number;
				public static CONTROL_AWB_STATE_SEARCHING: number;
				public static CONTROL_CAPTURE_INTENT_CUSTOM: number;
				public static CONTROL_CAPTURE_INTENT_MANUAL: number;
				public static CONTROL_CAPTURE_INTENT_MOTION_TRACKING: number;
				public static CONTROL_CAPTURE_INTENT_PREVIEW: number;
				public static CONTROL_CAPTURE_INTENT_STILL_CAPTURE: number;
				public static CONTROL_CAPTURE_INTENT_VIDEO_RECORD: number;
				public static CONTROL_CAPTURE_INTENT_VIDEO_SNAPSHOT: number;
				public static CONTROL_CAPTURE_INTENT_ZERO_SHUTTER_LAG: number;
				public static CONTROL_EFFECT_MODE_AQUA: number;
				public static CONTROL_EFFECT_MODE_BLACKBOARD: number;
				public static CONTROL_EFFECT_MODE_MONO: number;
				public static CONTROL_EFFECT_MODE_NEGATIVE: number;
				public static CONTROL_EFFECT_MODE_OFF: number;
				public static CONTROL_EFFECT_MODE_POSTERIZE: number;
				public static CONTROL_EFFECT_MODE_SEPIA: number;
				public static CONTROL_EFFECT_MODE_SOLARIZE: number;
				public static CONTROL_EFFECT_MODE_WHITEBOARD: number;
				public static CONTROL_MODE_AUTO: number;
				public static CONTROL_MODE_OFF: number;
				public static CONTROL_MODE_OFF_KEEP_STATE: number;
				public static CONTROL_MODE_USE_SCENE_MODE: number;
				public static CONTROL_SCENE_MODE_ACTION: number;
				public static CONTROL_SCENE_MODE_BARCODE: number;
				public static CONTROL_SCENE_MODE_BEACH: number;
				public static CONTROL_SCENE_MODE_CANDLELIGHT: number;
				public static CONTROL_SCENE_MODE_DISABLED: number;
				public static CONTROL_SCENE_MODE_FACE_PRIORITY: number;
				public static CONTROL_SCENE_MODE_FIREWORKS: number;
				public static CONTROL_SCENE_MODE_HDR: number;
				public static CONTROL_SCENE_MODE_HIGH_SPEED_VIDEO: number;
				public static CONTROL_SCENE_MODE_LANDSCAPE: number;
				public static CONTROL_SCENE_MODE_NIGHT: number;
				public static CONTROL_SCENE_MODE_NIGHT_PORTRAIT: number;
				public static CONTROL_SCENE_MODE_PARTY: number;
				public static CONTROL_SCENE_MODE_PORTRAIT: number;
				public static CONTROL_SCENE_MODE_SNOW: number;
				public static CONTROL_SCENE_MODE_SPORTS: number;
				public static CONTROL_SCENE_MODE_STEADYPHOTO: number;
				public static CONTROL_SCENE_MODE_SUNSET: number;
				public static CONTROL_SCENE_MODE_THEATRE: number;
				public static CONTROL_VIDEO_STABILIZATION_MODE_OFF: number;
				public static CONTROL_VIDEO_STABILIZATION_MODE_ON: number;
				public static DISTORTION_CORRECTION_MODE_FAST: number;
				public static DISTORTION_CORRECTION_MODE_HIGH_QUALITY: number;
				public static DISTORTION_CORRECTION_MODE_OFF: number;
				public static EDGE_MODE_FAST: number;
				public static EDGE_MODE_HIGH_QUALITY: number;
				public static EDGE_MODE_OFF: number;
				public static EDGE_MODE_ZERO_SHUTTER_LAG: number;
				public static FLASH_MODE_OFF: number;
				public static FLASH_MODE_SINGLE: number;
				public static FLASH_MODE_TORCH: number;
				public static FLASH_STATE_CHARGING: number;
				public static FLASH_STATE_FIRED: number;
				public static FLASH_STATE_PARTIAL: number;
				public static FLASH_STATE_READY: number;
				public static FLASH_STATE_UNAVAILABLE: number;
				public static HOT_PIXEL_MODE_FAST: number;
				public static HOT_PIXEL_MODE_HIGH_QUALITY: number;
				public static HOT_PIXEL_MODE_OFF: number;
				public static INFO_SUPPORTED_HARDWARE_LEVEL_3: number;
				public static INFO_SUPPORTED_HARDWARE_LEVEL_EXTERNAL: number;
				public static INFO_SUPPORTED_HARDWARE_LEVEL_FULL: number;
				public static INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY: number;
				public static INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED: number;
				public static LENS_FACING_BACK: number;
				public static LENS_FACING_EXTERNAL: number;
				public static LENS_FACING_FRONT: number;
				public static LENS_INFO_FOCUS_DISTANCE_CALIBRATION_APPROXIMATE: number;
				public static LENS_INFO_FOCUS_DISTANCE_CALIBRATION_CALIBRATED: number;
				public static LENS_INFO_FOCUS_DISTANCE_CALIBRATION_UNCALIBRATED: number;
				public static LENS_OPTICAL_STABILIZATION_MODE_OFF: number;
				public static LENS_OPTICAL_STABILIZATION_MODE_ON: number;
				public static LENS_POSE_REFERENCE_GYROSCOPE: number;
				public static LENS_POSE_REFERENCE_PRIMARY_CAMERA: number;
				public static LENS_STATE_MOVING: number;
				public static LENS_STATE_STATIONARY: number;
				public static LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_APPROXIMATE: number;
				public static LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_CALIBRATED: number;
				public static NOISE_REDUCTION_MODE_FAST: number;
				public static NOISE_REDUCTION_MODE_HIGH_QUALITY: number;
				public static NOISE_REDUCTION_MODE_MINIMAL: number;
				public static NOISE_REDUCTION_MODE_OFF: number;
				public static NOISE_REDUCTION_MODE_ZERO_SHUTTER_LAG: number;
				public static REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE: number;
				public static REQUEST_AVAILABLE_CAPABILITIES_BURST_CAPTURE: number;
				public static REQUEST_AVAILABLE_CAPABILITIES_CONSTRAINED_HIGH_SPEED_VIDEO: number;
				public static REQUEST_AVAILABLE_CAPABILITIES_DEPTH_OUTPUT: number;
				public static REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA: number;
				public static REQUEST_AVAILABLE_CAPABILITIES_MANUAL_POST_PROCESSING: number;
				public static REQUEST_AVAILABLE_CAPABILITIES_MANUAL_SENSOR: number;
				public static REQUEST_AVAILABLE_CAPABILITIES_MONOCHROME: number;
				public static REQUEST_AVAILABLE_CAPABILITIES_MOTION_TRACKING: number;
				public static REQUEST_AVAILABLE_CAPABILITIES_PRIVATE_REPROCESSING: number;
				public static REQUEST_AVAILABLE_CAPABILITIES_RAW: number;
				public static REQUEST_AVAILABLE_CAPABILITIES_READ_SENSOR_SETTINGS: number;
				public static REQUEST_AVAILABLE_CAPABILITIES_YUV_REPROCESSING: number;
				public static SCALER_CROPPING_TYPE_CENTER_ONLY: number;
				public static SCALER_CROPPING_TYPE_FREEFORM: number;
				public static SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_BGGR: number;
				public static SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GBRG: number;
				public static SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GRBG: number;
				public static SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGB: number;
				public static SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGGB: number;
				public static SENSOR_INFO_TIMESTAMP_SOURCE_REALTIME: number;
				public static SENSOR_INFO_TIMESTAMP_SOURCE_UNKNOWN: number;
				public static SENSOR_REFERENCE_ILLUMINANT1_CLOUDY_WEATHER: number;
				public static SENSOR_REFERENCE_ILLUMINANT1_COOL_WHITE_FLUORESCENT: number;
				public static SENSOR_REFERENCE_ILLUMINANT1_D50: number;
				public static SENSOR_REFERENCE_ILLUMINANT1_D55: number;
				public static SENSOR_REFERENCE_ILLUMINANT1_D65: number;
				public static SENSOR_REFERENCE_ILLUMINANT1_D75: number;
				public static SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT: number;
				public static SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT_FLUORESCENT: number;
				public static SENSOR_REFERENCE_ILLUMINANT1_DAY_WHITE_FLUORESCENT: number;
				public static SENSOR_REFERENCE_ILLUMINANT1_FINE_WEATHER: number;
				public static SENSOR_REFERENCE_ILLUMINANT1_FLASH: number;
				public static SENSOR_REFERENCE_ILLUMINANT1_FLUORESCENT: number;
				public static SENSOR_REFERENCE_ILLUMINANT1_ISO_STUDIO_TUNGSTEN: number;
				public static SENSOR_REFERENCE_ILLUMINANT1_SHADE: number;
				public static SENSOR_REFERENCE_ILLUMINANT1_STANDARD_A: number;
				public static SENSOR_REFERENCE_ILLUMINANT1_STANDARD_B: number;
				public static SENSOR_REFERENCE_ILLUMINANT1_STANDARD_C: number;
				public static SENSOR_REFERENCE_ILLUMINANT1_TUNGSTEN: number;
				public static SENSOR_REFERENCE_ILLUMINANT1_WHITE_FLUORESCENT: number;
				public static SENSOR_TEST_PATTERN_MODE_COLOR_BARS: number;
				public static SENSOR_TEST_PATTERN_MODE_COLOR_BARS_FADE_TO_GRAY: number;
				public static SENSOR_TEST_PATTERN_MODE_CUSTOM1: number;
				public static SENSOR_TEST_PATTERN_MODE_OFF: number;
				public static SENSOR_TEST_PATTERN_MODE_PN9: number;
				public static SENSOR_TEST_PATTERN_MODE_SOLID_COLOR: number;
				public static SHADING_MODE_FAST: number;
				public static SHADING_MODE_HIGH_QUALITY: number;
				public static SHADING_MODE_OFF: number;
				public static STATISTICS_FACE_DETECT_MODE_FULL: number;
				public static STATISTICS_FACE_DETECT_MODE_OFF: number;
				public static STATISTICS_FACE_DETECT_MODE_SIMPLE: number;
				public static STATISTICS_LENS_SHADING_MAP_MODE_OFF: number;
				public static STATISTICS_LENS_SHADING_MAP_MODE_ON: number;
				public static STATISTICS_OIS_DATA_MODE_OFF: number;
				public static STATISTICS_OIS_DATA_MODE_ON: number;
				public static STATISTICS_SCENE_FLICKER_50HZ: number;
				public static STATISTICS_SCENE_FLICKER_60HZ: number;
				public static STATISTICS_SCENE_FLICKER_NONE: number;
				public static SYNC_MAX_LATENCY_PER_FRAME_CONTROL: number;
				public static SYNC_MAX_LATENCY_UNKNOWN: number;
				public static TONEMAP_MODE_CONTRAST_CURVE: number;
				public static TONEMAP_MODE_FAST: number;
				public static TONEMAP_MODE_GAMMA_VALUE: number;
				public static TONEMAP_MODE_HIGH_QUALITY: number;
				public static TONEMAP_MODE_PRESET_CURVE: number;
				public static TONEMAP_PRESET_CURVE_REC709: number;
				public static TONEMAP_PRESET_CURVE_SRGB: number;
				public getKeys(): java.util.List<TKey>;
			}
		}
	}
}

declare module android {
	export module hardware {
		export module camera2 {
			export class CaptureFailure extends java.lang.Object {
				public static class: java.lang.Class<android.hardware.camera2.CaptureFailure>;
				public static REASON_ERROR: number;
				public static REASON_FLUSHED: number;
				public getSequenceId(): number;
				public wasImageCaptured(): boolean;
				public getRequest(): android.hardware.camera2.CaptureRequest;
				public getReason(): number;
				public getFrameNumber(): number;
			}
		}
	}
}

declare module android {
	export module hardware {
		export module camera2 {
			export class CaptureRequest extends android.hardware.camera2.CameraMetadata<android.hardware.camera2.CaptureRequest.Key<any>> implements android.os.Parcelable  {
				public static class: java.lang.Class<android.hardware.camera2.CaptureRequest>;
				public static BLACK_LEVEL_LOCK: android.hardware.camera2.CaptureRequest.Key<java.lang.Boolean>;
				public static COLOR_CORRECTION_ABERRATION_MODE: android.hardware.camera2.CaptureRequest.Key<java.lang.Integer>;
				public static COLOR_CORRECTION_GAINS: android.hardware.camera2.CaptureRequest.Key<android.hardware.camera2.params.RggbChannelVector>;
				public static COLOR_CORRECTION_MODE: android.hardware.camera2.CaptureRequest.Key<java.lang.Integer>;
				public static COLOR_CORRECTION_TRANSFORM: android.hardware.camera2.CaptureRequest.Key<android.hardware.camera2.params.ColorSpaceTransform>;
				public static CONTROL_AE_ANTIBANDING_MODE: android.hardware.camera2.CaptureRequest.Key<java.lang.Integer>;
				public static CONTROL_AE_EXPOSURE_COMPENSATION: android.hardware.camera2.CaptureRequest.Key<java.lang.Integer>;
				public static CONTROL_AE_LOCK: android.hardware.camera2.CaptureRequest.Key<java.lang.Boolean>;
				public static CONTROL_AE_MODE: android.hardware.camera2.CaptureRequest.Key<java.lang.Integer>;
				public static CONTROL_AE_PRECAPTURE_TRIGGER: android.hardware.camera2.CaptureRequest.Key<java.lang.Integer>;
				public static CONTROL_AE_REGIONS: android.hardware.camera2.CaptureRequest.Key<native.Array<android.hardware.camera2.params.MeteringRectangle>>;
				public static CONTROL_AE_TARGET_FPS_RANGE: android.hardware.camera2.CaptureRequest.Key<android.util.Range<java.lang.Integer>>;
				public static CONTROL_AF_MODE: android.hardware.camera2.CaptureRequest.Key<java.lang.Integer>;
				public static CONTROL_AF_REGIONS: android.hardware.camera2.CaptureRequest.Key<native.Array<android.hardware.camera2.params.MeteringRectangle>>;
				public static CONTROL_AF_TRIGGER: android.hardware.camera2.CaptureRequest.Key<java.lang.Integer>;
				public static CONTROL_AWB_LOCK: android.hardware.camera2.CaptureRequest.Key<java.lang.Boolean>;
				public static CONTROL_AWB_MODE: android.hardware.camera2.CaptureRequest.Key<java.lang.Integer>;
				public static CONTROL_AWB_REGIONS: android.hardware.camera2.CaptureRequest.Key<native.Array<android.hardware.camera2.params.MeteringRectangle>>;
				public static CONTROL_CAPTURE_INTENT: android.hardware.camera2.CaptureRequest.Key<java.lang.Integer>;
				public static CONTROL_EFFECT_MODE: android.hardware.camera2.CaptureRequest.Key<java.lang.Integer>;
				public static CONTROL_ENABLE_ZSL: android.hardware.camera2.CaptureRequest.Key<java.lang.Boolean>;
				public static CONTROL_MODE: android.hardware.camera2.CaptureRequest.Key<java.lang.Integer>;
				public static CONTROL_POST_RAW_SENSITIVITY_BOOST: android.hardware.camera2.CaptureRequest.Key<java.lang.Integer>;
				public static CONTROL_SCENE_MODE: android.hardware.camera2.CaptureRequest.Key<java.lang.Integer>;
				public static CONTROL_VIDEO_STABILIZATION_MODE: android.hardware.camera2.CaptureRequest.Key<java.lang.Integer>;
				public static CREATOR: android.os.Parcelable.Creator<android.hardware.camera2.CaptureRequest>;
				public static DISTORTION_CORRECTION_MODE: android.hardware.camera2.CaptureRequest.Key<java.lang.Integer>;
				public static EDGE_MODE: android.hardware.camera2.CaptureRequest.Key<java.lang.Integer>;
				public static FLASH_MODE: android.hardware.camera2.CaptureRequest.Key<java.lang.Integer>;
				public static HOT_PIXEL_MODE: android.hardware.camera2.CaptureRequest.Key<java.lang.Integer>;
				public static JPEG_GPS_LOCATION: android.hardware.camera2.CaptureRequest.Key<android.location.Location>;
				public static JPEG_ORIENTATION: android.hardware.camera2.CaptureRequest.Key<java.lang.Integer>;
				public static JPEG_QUALITY: android.hardware.camera2.CaptureRequest.Key<java.lang.Byte>;
				public static JPEG_THUMBNAIL_QUALITY: android.hardware.camera2.CaptureRequest.Key<java.lang.Byte>;
				public static JPEG_THUMBNAIL_SIZE: android.hardware.camera2.CaptureRequest.Key<any>;
				public static LENS_APERTURE: android.hardware.camera2.CaptureRequest.Key<java.lang.Float>;
				public static LENS_FILTER_DENSITY: android.hardware.camera2.CaptureRequest.Key<java.lang.Float>;
				public static LENS_FOCAL_LENGTH: android.hardware.camera2.CaptureRequest.Key<java.lang.Float>;
				public static LENS_FOCUS_DISTANCE: android.hardware.camera2.CaptureRequest.Key<java.lang.Float>;
				public static LENS_OPTICAL_STABILIZATION_MODE: android.hardware.camera2.CaptureRequest.Key<java.lang.Integer>;
				public static NOISE_REDUCTION_MODE: android.hardware.camera2.CaptureRequest.Key<java.lang.Integer>;
				public static REPROCESS_EFFECTIVE_EXPOSURE_FACTOR: android.hardware.camera2.CaptureRequest.Key<java.lang.Float>;
				public static SCALER_CROP_REGION: android.hardware.camera2.CaptureRequest.Key<android.graphics.Rect>;
				public static SENSOR_EXPOSURE_TIME: android.hardware.camera2.CaptureRequest.Key<java.lang.Long>;
				public static SENSOR_FRAME_DURATION: android.hardware.camera2.CaptureRequest.Key<java.lang.Long>;
				public static SENSOR_SENSITIVITY: android.hardware.camera2.CaptureRequest.Key<java.lang.Integer>;
				public static SENSOR_TEST_PATTERN_DATA: android.hardware.camera2.CaptureRequest.Key<native.Array<number>>;
				public static SENSOR_TEST_PATTERN_MODE: android.hardware.camera2.CaptureRequest.Key<java.lang.Integer>;
				public static SHADING_MODE: android.hardware.camera2.CaptureRequest.Key<java.lang.Integer>;
				public static STATISTICS_FACE_DETECT_MODE: android.hardware.camera2.CaptureRequest.Key<java.lang.Integer>;
				public static STATISTICS_HOT_PIXEL_MAP_MODE: android.hardware.camera2.CaptureRequest.Key<java.lang.Boolean>;
				public static STATISTICS_LENS_SHADING_MAP_MODE: android.hardware.camera2.CaptureRequest.Key<java.lang.Integer>;
				public static STATISTICS_OIS_DATA_MODE: android.hardware.camera2.CaptureRequest.Key<java.lang.Integer>;
				public static TONEMAP_CURVE: android.hardware.camera2.CaptureRequest.Key<android.hardware.camera2.params.TonemapCurve>;
				public static TONEMAP_GAMMA: android.hardware.camera2.CaptureRequest.Key<java.lang.Float>;
				public static TONEMAP_MODE: android.hardware.camera2.CaptureRequest.Key<java.lang.Integer>;
				public static TONEMAP_PRESET_CURVE: android.hardware.camera2.CaptureRequest.Key<java.lang.Integer>;
				public isReprocess(): boolean;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getKeys(): java.util.List<any>;
				public getKeys(): java.util.List<android.hardware.camera2.CaptureRequest.Key<any>>;
				public equals(param0: any): boolean;
				public describeContents(): number;
				public get(param0: android.hardware.camera2.CaptureRequest.Key<any>): any;
				public getTag(): any;
			}
			export module CaptureRequest {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.hardware.camera2.CaptureRequest.Builder>;
					public build(): android.hardware.camera2.CaptureRequest;
					public get(param0: android.hardware.camera2.CaptureRequest.Key<any>): any;
					public setPhysicalCameraKey(param0: android.hardware.camera2.CaptureRequest.Key<any>, param1: any, param2: string): android.hardware.camera2.CaptureRequest.Builder;
					public removeTarget(param0: android.view.Surface): void;
					public addTarget(param0: android.view.Surface): void;
					public getPhysicalCameraKey(param0: android.hardware.camera2.CaptureRequest.Key<any>, param1: string): any;
					public set(param0: android.hardware.camera2.CaptureRequest.Key<any>, param1: any): void;
					public setTag(param0: any): void;
				}
				export class Key<T>  extends java.lang.Object {
					public static class: java.lang.Class<android.hardware.camera2.CaptureRequest.Key<any>>;
					public equals(param0: any): boolean;
					public toString(): string;
					public getName(): string;
					public hashCode(): number;
				}
			}
		}
	}
}

declare module android {
	export module hardware {
		export module camera2 {
			export class CaptureResult extends android.hardware.camera2.CameraMetadata<android.hardware.camera2.CaptureResult.Key<any>> {
				public static class: java.lang.Class<android.hardware.camera2.CaptureResult>;
				public static BLACK_LEVEL_LOCK: android.hardware.camera2.CaptureResult.Key<java.lang.Boolean>;
				public static COLOR_CORRECTION_ABERRATION_MODE: android.hardware.camera2.CaptureResult.Key<java.lang.Integer>;
				public static COLOR_CORRECTION_GAINS: android.hardware.camera2.CaptureResult.Key<android.hardware.camera2.params.RggbChannelVector>;
				public static COLOR_CORRECTION_MODE: android.hardware.camera2.CaptureResult.Key<java.lang.Integer>;
				public static COLOR_CORRECTION_TRANSFORM: android.hardware.camera2.CaptureResult.Key<android.hardware.camera2.params.ColorSpaceTransform>;
				public static CONTROL_AE_ANTIBANDING_MODE: android.hardware.camera2.CaptureResult.Key<java.lang.Integer>;
				public static CONTROL_AE_EXPOSURE_COMPENSATION: android.hardware.camera2.CaptureResult.Key<java.lang.Integer>;
				public static CONTROL_AE_LOCK: android.hardware.camera2.CaptureResult.Key<java.lang.Boolean>;
				public static CONTROL_AE_MODE: android.hardware.camera2.CaptureResult.Key<java.lang.Integer>;
				public static CONTROL_AE_PRECAPTURE_TRIGGER: android.hardware.camera2.CaptureResult.Key<java.lang.Integer>;
				public static CONTROL_AE_REGIONS: android.hardware.camera2.CaptureResult.Key<native.Array<android.hardware.camera2.params.MeteringRectangle>>;
				public static CONTROL_AE_STATE: android.hardware.camera2.CaptureResult.Key<java.lang.Integer>;
				public static CONTROL_AE_TARGET_FPS_RANGE: android.hardware.camera2.CaptureResult.Key<android.util.Range<java.lang.Integer>>;
				public static CONTROL_AF_MODE: android.hardware.camera2.CaptureResult.Key<java.lang.Integer>;
				public static CONTROL_AF_REGIONS: android.hardware.camera2.CaptureResult.Key<native.Array<android.hardware.camera2.params.MeteringRectangle>>;
				public static CONTROL_AF_SCENE_CHANGE: android.hardware.camera2.CaptureResult.Key<java.lang.Integer>;
				public static CONTROL_AF_STATE: android.hardware.camera2.CaptureResult.Key<java.lang.Integer>;
				public static CONTROL_AF_TRIGGER: android.hardware.camera2.CaptureResult.Key<java.lang.Integer>;
				public static CONTROL_AWB_LOCK: android.hardware.camera2.CaptureResult.Key<java.lang.Boolean>;
				public static CONTROL_AWB_MODE: android.hardware.camera2.CaptureResult.Key<java.lang.Integer>;
				public static CONTROL_AWB_REGIONS: android.hardware.camera2.CaptureResult.Key<native.Array<android.hardware.camera2.params.MeteringRectangle>>;
				public static CONTROL_AWB_STATE: android.hardware.camera2.CaptureResult.Key<java.lang.Integer>;
				public static CONTROL_CAPTURE_INTENT: android.hardware.camera2.CaptureResult.Key<java.lang.Integer>;
				public static CONTROL_EFFECT_MODE: android.hardware.camera2.CaptureResult.Key<java.lang.Integer>;
				public static CONTROL_ENABLE_ZSL: android.hardware.camera2.CaptureResult.Key<java.lang.Boolean>;
				public static CONTROL_MODE: android.hardware.camera2.CaptureResult.Key<java.lang.Integer>;
				public static CONTROL_POST_RAW_SENSITIVITY_BOOST: android.hardware.camera2.CaptureResult.Key<java.lang.Integer>;
				public static CONTROL_SCENE_MODE: android.hardware.camera2.CaptureResult.Key<java.lang.Integer>;
				public static CONTROL_VIDEO_STABILIZATION_MODE: android.hardware.camera2.CaptureResult.Key<java.lang.Integer>;
				public static DISTORTION_CORRECTION_MODE: android.hardware.camera2.CaptureResult.Key<java.lang.Integer>;
				public static EDGE_MODE: android.hardware.camera2.CaptureResult.Key<java.lang.Integer>;
				public static FLASH_MODE: android.hardware.camera2.CaptureResult.Key<java.lang.Integer>;
				public static FLASH_STATE: android.hardware.camera2.CaptureResult.Key<java.lang.Integer>;
				public static HOT_PIXEL_MODE: android.hardware.camera2.CaptureResult.Key<java.lang.Integer>;
				public static JPEG_GPS_LOCATION: android.hardware.camera2.CaptureResult.Key<android.location.Location>;
				public static JPEG_ORIENTATION: android.hardware.camera2.CaptureResult.Key<java.lang.Integer>;
				public static JPEG_QUALITY: android.hardware.camera2.CaptureResult.Key<java.lang.Byte>;
				public static JPEG_THUMBNAIL_QUALITY: android.hardware.camera2.CaptureResult.Key<java.lang.Byte>;
				public static JPEG_THUMBNAIL_SIZE: android.hardware.camera2.CaptureResult.Key<any>;
				public static LENS_APERTURE: android.hardware.camera2.CaptureResult.Key<java.lang.Float>;
				public static LENS_DISTORTION: android.hardware.camera2.CaptureResult.Key<native.Array<number>>;
				public static LENS_FILTER_DENSITY: android.hardware.camera2.CaptureResult.Key<java.lang.Float>;
				public static LENS_FOCAL_LENGTH: android.hardware.camera2.CaptureResult.Key<java.lang.Float>;
				public static LENS_FOCUS_DISTANCE: android.hardware.camera2.CaptureResult.Key<java.lang.Float>;
				public static LENS_FOCUS_RANGE: android.hardware.camera2.CaptureResult.Key<android.util.Pair<java.lang.Float,java.lang.Float>>;
				public static LENS_INTRINSIC_CALIBRATION: android.hardware.camera2.CaptureResult.Key<native.Array<number>>;
				public static LENS_OPTICAL_STABILIZATION_MODE: android.hardware.camera2.CaptureResult.Key<java.lang.Integer>;
				public static LENS_POSE_ROTATION: android.hardware.camera2.CaptureResult.Key<native.Array<number>>;
				public static LENS_POSE_TRANSLATION: android.hardware.camera2.CaptureResult.Key<native.Array<number>>;
				public static LENS_RADIAL_DISTORTION: android.hardware.camera2.CaptureResult.Key<native.Array<number>>;
				public static LENS_STATE: android.hardware.camera2.CaptureResult.Key<java.lang.Integer>;
				public static NOISE_REDUCTION_MODE: android.hardware.camera2.CaptureResult.Key<java.lang.Integer>;
				public static REPROCESS_EFFECTIVE_EXPOSURE_FACTOR: android.hardware.camera2.CaptureResult.Key<java.lang.Float>;
				public static REQUEST_PIPELINE_DEPTH: android.hardware.camera2.CaptureResult.Key<java.lang.Byte>;
				public static SCALER_CROP_REGION: android.hardware.camera2.CaptureResult.Key<android.graphics.Rect>;
				public static SENSOR_DYNAMIC_BLACK_LEVEL: android.hardware.camera2.CaptureResult.Key<native.Array<number>>;
				public static SENSOR_DYNAMIC_WHITE_LEVEL: android.hardware.camera2.CaptureResult.Key<java.lang.Integer>;
				public static SENSOR_EXPOSURE_TIME: android.hardware.camera2.CaptureResult.Key<java.lang.Long>;
				public static SENSOR_FRAME_DURATION: android.hardware.camera2.CaptureResult.Key<java.lang.Long>;
				public static SENSOR_GREEN_SPLIT: android.hardware.camera2.CaptureResult.Key<java.lang.Float>;
				public static SENSOR_NEUTRAL_COLOR_POINT: android.hardware.camera2.CaptureResult.Key<native.Array<android.util.Rational>>;
				public static SENSOR_NOISE_PROFILE: android.hardware.camera2.CaptureResult.Key<native.Array<android.util.Pair<java.lang.Double,java.lang.Double>>>;
				public static SENSOR_ROLLING_SHUTTER_SKEW: android.hardware.camera2.CaptureResult.Key<java.lang.Long>;
				public static SENSOR_SENSITIVITY: android.hardware.camera2.CaptureResult.Key<java.lang.Integer>;
				public static SENSOR_TEST_PATTERN_DATA: android.hardware.camera2.CaptureResult.Key<native.Array<number>>;
				public static SENSOR_TEST_PATTERN_MODE: android.hardware.camera2.CaptureResult.Key<java.lang.Integer>;
				public static SENSOR_TIMESTAMP: android.hardware.camera2.CaptureResult.Key<java.lang.Long>;
				public static SHADING_MODE: android.hardware.camera2.CaptureResult.Key<java.lang.Integer>;
				public static STATISTICS_FACES: android.hardware.camera2.CaptureResult.Key<native.Array<android.hardware.camera2.params.Face>>;
				public static STATISTICS_FACE_DETECT_MODE: android.hardware.camera2.CaptureResult.Key<java.lang.Integer>;
				public static STATISTICS_HOT_PIXEL_MAP: android.hardware.camera2.CaptureResult.Key<native.Array<android.graphics.Point>>;
				public static STATISTICS_HOT_PIXEL_MAP_MODE: android.hardware.camera2.CaptureResult.Key<java.lang.Boolean>;
				public static STATISTICS_LENS_SHADING_CORRECTION_MAP: android.hardware.camera2.CaptureResult.Key<android.hardware.camera2.params.LensShadingMap>;
				public static STATISTICS_LENS_SHADING_MAP_MODE: android.hardware.camera2.CaptureResult.Key<java.lang.Integer>;
				public static STATISTICS_OIS_DATA_MODE: android.hardware.camera2.CaptureResult.Key<java.lang.Integer>;
				public static STATISTICS_OIS_SAMPLES: android.hardware.camera2.CaptureResult.Key<native.Array<android.hardware.camera2.params.OisSample>>;
				public static STATISTICS_SCENE_FLICKER: android.hardware.camera2.CaptureResult.Key<java.lang.Integer>;
				public static TONEMAP_CURVE: android.hardware.camera2.CaptureResult.Key<android.hardware.camera2.params.TonemapCurve>;
				public static TONEMAP_GAMMA: android.hardware.camera2.CaptureResult.Key<java.lang.Float>;
				public static TONEMAP_MODE: android.hardware.camera2.CaptureResult.Key<java.lang.Integer>;
				public static TONEMAP_PRESET_CURVE: android.hardware.camera2.CaptureResult.Key<java.lang.Integer>;
				public get(param0: android.hardware.camera2.CaptureResult.Key<any>): any;
				public getKeys(): java.util.List<android.hardware.camera2.CaptureResult.Key<any>>;
				public getSequenceId(): number;
				public getRequest(): android.hardware.camera2.CaptureRequest;
				public getKeys(): java.util.List<any>;
				public getFrameNumber(): number;
			}
			export module CaptureResult {
				export class Key<T>  extends java.lang.Object {
					public static class: java.lang.Class<android.hardware.camera2.CaptureResult.Key<any>>;
					public equals(param0: any): boolean;
					public toString(): string;
					public getName(): string;
					public hashCode(): number;
				}
			}
		}
	}
}

declare module android {
	export module hardware {
		export module camera2 {
			export class DngCreator extends java.lang.Object implements java.lang.AutoCloseable {
				public static class: java.lang.Class<android.hardware.camera2.DngCreator>;
				public static MAX_THUMBNAIL_DIMENSION: number;
				public setLocation(param0: android.location.Location): android.hardware.camera2.DngCreator;
				public close(): void;
				public writeImage(param0: java.io.OutputStream, param1: android.media.Image): void;
				public writeByteBuffer(param0: java.io.OutputStream, param1: any, param2: java.nio.ByteBuffer, param3: number): void;
				public constructor(param0: android.hardware.camera2.CameraCharacteristics, param1: android.hardware.camera2.CaptureResult);
				public setDescription(param0: string): android.hardware.camera2.DngCreator;
				public finalize(): void;
				public setThumbnail(param0: android.media.Image): android.hardware.camera2.DngCreator;
				public setOrientation(param0: number): android.hardware.camera2.DngCreator;
				public setThumbnail(param0: android.graphics.Bitmap): android.hardware.camera2.DngCreator;
				public writeInputStream(param0: java.io.OutputStream, param1: any, param2: java.io.InputStream, param3: number): void;
			}
		}
	}
}

declare module android {
	export module hardware {
		export module camera2 {
			export class TotalCaptureResult extends android.hardware.camera2.CaptureResult {
				public static class: java.lang.Class<android.hardware.camera2.TotalCaptureResult>;
				public getPhysicalCameraResults(): java.util.Map<string,android.hardware.camera2.CaptureResult>;
				public getPartialResults(): java.util.List<android.hardware.camera2.CaptureResult>;
			}
		}
	}
}

declare module android {
	export module hardware {
		export module camera2 {
			export module params {
				export class BlackLevelPattern extends java.lang.Object {
					public static class: java.lang.Class<android.hardware.camera2.params.BlackLevelPattern>;
					public static COUNT: number;
					public equals(param0: any): boolean;
					public toString(): string;
					public copyTo(param0: native.Array<number>, param1: number): void;
					public hashCode(): number;
					public getOffsetForIndex(param0: number, param1: number): number;
				}
			}
		}
	}
}

declare module android {
	export module hardware {
		export module camera2 {
			export module params {
				export class ColorSpaceTransform extends java.lang.Object {
					public static class: java.lang.Class<android.hardware.camera2.params.ColorSpaceTransform>;
					public equals(param0: any): boolean;
					public copyElements(param0: native.Array<android.util.Rational>, param1: number): void;
					public toString(): string;
					public constructor(param0: native.Array<number>);
					public constructor(param0: native.Array<android.util.Rational>);
					public hashCode(): number;
					public getElement(param0: number, param1: number): android.util.Rational;
					public copyElements(param0: native.Array<number>, param1: number): void;
				}
			}
		}
	}
}

declare module android {
	export module hardware {
		export module camera2 {
			export module params {
				export class Face extends java.lang.Object {
					public static class: java.lang.Class<android.hardware.camera2.params.Face>;
					public static ID_UNSUPPORTED: number;
					public static SCORE_MAX: number;
					public static SCORE_MIN: number;
					public getBounds(): android.graphics.Rect;
					public getRightEyePosition(): android.graphics.Point;
					public getMouthPosition(): android.graphics.Point;
					public toString(): string;
					public getScore(): number;
					public getId(): number;
					public getLeftEyePosition(): android.graphics.Point;
				}
			}
		}
	}
}

declare module android {
	export module hardware {
		export module camera2 {
			export module params {
				export class InputConfiguration extends java.lang.Object {
					public static class: java.lang.Class<android.hardware.camera2.params.InputConfiguration>;
					public getFormat(): number;
					public equals(param0: any): boolean;
					public toString(): string;
					public getHeight(): number;
					public constructor(param0: number, param1: number, param2: number);
					public getWidth(): number;
					public hashCode(): number;
				}
			}
		}
	}
}

declare module android {
	export module hardware {
		export module camera2 {
			export module params {
				export class LensShadingMap extends java.lang.Object {
					public static class: java.lang.Class<android.hardware.camera2.params.LensShadingMap>;
					public static MINIMUM_GAIN_FACTOR: number;
					public equals(param0: any): boolean;
					public getRowCount(): number;
					public getColumnCount(): number;
					public getGainFactorVector(param0: number, param1: number): android.hardware.camera2.params.RggbChannelVector;
					public toString(): string;
					public getGainFactorCount(): number;
					public getGainFactor(param0: number, param1: number, param2: number): number;
					public hashCode(): number;
					public copyGainFactors(param0: native.Array<number>, param1: number): void;
				}
			}
		}
	}
}

declare module android {
	export module hardware {
		export module camera2 {
			export module params {
				export class MeteringRectangle extends java.lang.Object {
					public static class: java.lang.Class<android.hardware.camera2.params.MeteringRectangle>;
					public static METERING_WEIGHT_DONT_CARE: number;
					public static METERING_WEIGHT_MAX: number;
					public static METERING_WEIGHT_MIN: number;
					public constructor(param0: android.graphics.Point, param1: any, param2: number);
					public equals(param0: android.hardware.camera2.params.MeteringRectangle): boolean;
					public getX(): number;
					public getHeight(): number;
					public getUpperLeftPoint(): android.graphics.Point;
					public getWidth(): number;
					public constructor(param0: android.graphics.Rect, param1: number);
					public getY(): number;
					public getMeteringWeight(): number;
					public constructor(param0: number, param1: number, param2: number, param3: number, param4: number);
					public equals(param0: any): boolean;
					public getRect(): android.graphics.Rect;
					public toString(): string;
					public getSize(): any;
					public hashCode(): number;
				}
			}
		}
	}
}

declare module android {
	export module hardware {
		export module camera2 {
			export module params {
				export class OisSample extends java.lang.Object {
					public static class: java.lang.Class<android.hardware.camera2.params.OisSample>;
					public equals(param0: any): boolean;
					public getXshift(): number;
					public toString(): string;
					public getTimestamp(): number;
					public constructor(param0: number, param1: number, param2: number);
					public hashCode(): number;
					public getYshift(): number;
				}
			}
		}
	}
}

declare module android {
	export module hardware {
		export module camera2 {
			export module params {
				export class OutputConfiguration extends java.lang.Object implements android.os.Parcelable {
					public static class: java.lang.Class<android.hardware.camera2.params.OutputConfiguration>;
					public static CREATOR: android.os.Parcelable.Creator<android.hardware.camera2.params.OutputConfiguration>;
					public static SURFACE_GROUP_ID_NONE: number;
					public describeContents(): number;
					public constructor(param0: android.view.Surface);
					public addSurface(param0: android.view.Surface): void;
					public getSurface(): android.view.Surface;
					public enableSurfaceSharing(): void;
					public constructor(param0: number, param1: android.view.Surface);
					public getMaxSharedSurfaceCount(): number;
					public equals(param0: any): boolean;
					public getSurfaceGroupId(): number;
					public setPhysicalCameraId(param0: string): void;
					public getSurfaces(): java.util.List<android.view.Surface>;
					public hashCode(): number;
					public constructor(param0: any, param1: java.lang.Class<any>);
					public removeSurface(param0: android.view.Surface): void;
					public writeToParcel(param0: android.os.Parcel, param1: number): void;
				}
			}
		}
	}
}

declare module android {
	export module hardware {
		export module camera2 {
			export module params {
				export class RggbChannelVector extends java.lang.Object {
					public static class: java.lang.Class<android.hardware.camera2.params.RggbChannelVector>;
					public static BLUE: number;
					public static COUNT: number;
					public static GREEN_EVEN: number;
					public static GREEN_ODD: number;
					public static RED: number;
					public constructor(param0: number, param1: number, param2: number, param3: number);
					public equals(param0: any): boolean;
					public getBlue(): number;
					public toString(): string;
					public getRed(): number;
					public getGreenEven(): number;
					public copyTo(param0: native.Array<number>, param1: number): void;
					public getGreenOdd(): number;
					public getComponent(param0: number): number;
					public hashCode(): number;
				}
			}
		}
	}
}

declare module android {
	export module hardware {
		export module camera2 {
			export module params {
				export class SessionConfiguration extends java.lang.Object {
					public static class: java.lang.Class<android.hardware.camera2.params.SessionConfiguration>;
					public static SESSION_HIGH_SPEED: number;
					public static SESSION_REGULAR: number;
					public getInputConfiguration(): android.hardware.camera2.params.InputConfiguration;
					public getOutputConfigurations(): java.util.List<android.hardware.camera2.params.OutputConfiguration>;
					public getExecutor(): java.util.concurrent.Executor;
					public setInputConfiguration(param0: android.hardware.camera2.params.InputConfiguration): void;
					public getSessionParameters(): android.hardware.camera2.CaptureRequest;
					public setSessionParameters(param0: android.hardware.camera2.CaptureRequest): void;
					public getSessionType(): number;
					public constructor(param0: number, param1: java.util.List<android.hardware.camera2.params.OutputConfiguration>, param2: java.util.concurrent.Executor, param3: android.hardware.camera2.CameraCaptureSession.StateCallback);
					public getStateCallback(): android.hardware.camera2.CameraCaptureSession.StateCallback;
				}
			}
		}
	}
}

declare module android {
	export module hardware {
		export module camera2 {
			export module params {
				export class StreamConfigurationMap extends java.lang.Object {
					public static class: java.lang.Class<android.hardware.camera2.params.StreamConfigurationMap>;
					public getValidOutputFormatsForInput(param0: number): native.Array<number>;
					public getOutputSizes(param0: number): native.Array<any>;
					public getInputSizes(param0: number): native.Array<any>;
					public getOutputFormats(): native.Array<number>;
					public isOutputSupportedFor(param0: number): boolean;
					public getHighSpeedVideoSizesFor(param0: android.util.Range<java.lang.Integer>): native.Array<any>;
					public getHighSpeedVideoFpsRanges(): native.Array<android.util.Range<java.lang.Integer>>;
					public getInputFormats(): native.Array<number>;
					public static isOutputSupportedFor(param0: java.lang.Class<any>): boolean;
					public equals(param0: any): boolean;
					public getOutputMinFrameDuration(param0: number, param1: any): number;
					public getOutputMinFrameDuration(param0: java.lang.Class<any>, param1: any): number;
					public toString(): string;
					public getHighSpeedVideoSizes(): native.Array<any>;
					public getOutputStallDuration(param0: number, param1: any): number;
					public getOutputSizes(param0: java.lang.Class<any>): native.Array<any>;
					public getHighResolutionOutputSizes(param0: number): native.Array<any>;
					public hashCode(): number;
					public isOutputSupportedFor(param0: android.view.Surface): boolean;
					public getHighSpeedVideoFpsRangesFor(param0: any): native.Array<android.util.Range<java.lang.Integer>>;
					public getOutputStallDuration(param0: java.lang.Class<any>, param1: any): number;
				}
			}
		}
	}
}

declare module android {
	export module hardware {
		export module camera2 {
			export module params {
				export class TonemapCurve extends java.lang.Object {
					public static class: java.lang.Class<android.hardware.camera2.params.TonemapCurve>;
					public static CHANNEL_BLUE: number;
					public static CHANNEL_GREEN: number;
					public static CHANNEL_RED: number;
					public static LEVEL_BLACK: number;
					public static LEVEL_WHITE: number;
					public static POINT_SIZE: number;
					public equals(param0: any): boolean;
					public getPoint(param0: number, param1: number): android.graphics.PointF;
					public toString(): string;
					public copyColorCurve(param0: number, param1: native.Array<number>, param2: number): void;
					public constructor(param0: native.Array<number>, param1: native.Array<number>, param2: native.Array<number>);
					public getPointCount(param0: number): number;
					public hashCode(): number;
				}
			}
		}
	}
}

declare module android {
	export module hardware {
		export module display {
			export class DisplayManager extends java.lang.Object {
				public static class: java.lang.Class<android.hardware.display.DisplayManager>;
				public static DISPLAY_CATEGORY_PRESENTATION: string;
				public static VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR: number;
				public static VIRTUAL_DISPLAY_FLAG_OWN_CONTENT_ONLY: number;
				public static VIRTUAL_DISPLAY_FLAG_PRESENTATION: number;
				public static VIRTUAL_DISPLAY_FLAG_PUBLIC: number;
				public static VIRTUAL_DISPLAY_FLAG_SECURE: number;
				public createVirtualDisplay(param0: string, param1: number, param2: number, param3: number, param4: android.view.Surface, param5: number, param6: android.hardware.display.VirtualDisplay.Callback, param7: android.os.Handler): android.hardware.display.VirtualDisplay;
				public getDisplay(param0: number): android.view.Display;
				public getDisplays(): native.Array<android.view.Display>;
				public getDisplays(param0: string): native.Array<android.view.Display>;
				public registerDisplayListener(param0: android.hardware.display.DisplayManager.DisplayListener, param1: android.os.Handler): void;
				public createVirtualDisplay(param0: string, param1: number, param2: number, param3: number, param4: android.view.Surface, param5: number): android.hardware.display.VirtualDisplay;
				public unregisterDisplayListener(param0: android.hardware.display.DisplayManager.DisplayListener): void;
			}
			export module DisplayManager {
				export class DisplayListener extends java.lang.Object {
					public static class: java.lang.Class<android.hardware.display.DisplayManager.DisplayListener>;
					/**
					 * Constructs a new instance of the android.hardware.display.DisplayManager$DisplayListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						onDisplayAdded(param0: number): void;
						onDisplayRemoved(param0: number): void;
						onDisplayChanged(param0: number): void;
					});
					public constructor();
					public onDisplayRemoved(param0: number): void;
					public onDisplayAdded(param0: number): void;
					public onDisplayChanged(param0: number): void;
				}
			}
		}
	}
}

declare module android {
	export module hardware {
		export module display {
			export class VirtualDisplay extends java.lang.Object {
				public static class: java.lang.Class<android.hardware.display.VirtualDisplay>;
				public release(): void;
				public setSurface(param0: android.view.Surface): void;
				public getSurface(): android.view.Surface;
				public getDisplay(): android.view.Display;
				public toString(): string;
				public resize(param0: number, param1: number, param2: number): void;
			}
			export module VirtualDisplay {
				export abstract class Callback extends java.lang.Object {
					public static class: java.lang.Class<android.hardware.display.VirtualDisplay.Callback>;
					public onStopped(): void;
					public constructor();
					public onPaused(): void;
					public onResumed(): void;
				}
			}
		}
	}
}

declare module android {
	export module hardware {
		export module fingerprint {
			export class FingerprintManager extends java.lang.Object {
				public static class: java.lang.Class<android.hardware.fingerprint.FingerprintManager>;
				public static FINGERPRINT_ACQUIRED_GOOD: number;
				public static FINGERPRINT_ACQUIRED_IMAGER_DIRTY: number;
				public static FINGERPRINT_ACQUIRED_INSUFFICIENT: number;
				public static FINGERPRINT_ACQUIRED_PARTIAL: number;
				public static FINGERPRINT_ACQUIRED_TOO_FAST: number;
				public static FINGERPRINT_ACQUIRED_TOO_SLOW: number;
				public static FINGERPRINT_ERROR_CANCELED: number;
				public static FINGERPRINT_ERROR_HW_NOT_PRESENT: number;
				public static FINGERPRINT_ERROR_HW_UNAVAILABLE: number;
				public static FINGERPRINT_ERROR_LOCKOUT: number;
				public static FINGERPRINT_ERROR_LOCKOUT_PERMANENT: number;
				public static FINGERPRINT_ERROR_NO_FINGERPRINTS: number;
				public static FINGERPRINT_ERROR_NO_SPACE: number;
				public static FINGERPRINT_ERROR_TIMEOUT: number;
				public static FINGERPRINT_ERROR_UNABLE_TO_PROCESS: number;
				public static FINGERPRINT_ERROR_USER_CANCELED: number;
				public static FINGERPRINT_ERROR_VENDOR: number;
				/** @deprecated */
				public isHardwareDetected(): boolean;
				/** @deprecated */
				public hasEnrolledFingerprints(): boolean;
				/** @deprecated */
				public authenticate(param0: android.hardware.fingerprint.FingerprintManager.CryptoObject, param1: android.os.CancellationSignal, param2: number, param3: android.hardware.fingerprint.FingerprintManager.AuthenticationCallback, param4: android.os.Handler): void;
			}
			export module FingerprintManager {
				export abstract class AuthenticationCallback extends java.lang.Object {
					public static class: java.lang.Class<android.hardware.fingerprint.FingerprintManager.AuthenticationCallback>;
					public constructor();
					public onAuthenticationHelp(param0: number, param1: string): void;
					public onAuthenticationSucceeded(param0: android.hardware.fingerprint.FingerprintManager.AuthenticationResult): void;
					public onAuthenticationFailed(): void;
					public onAuthenticationError(param0: number, param1: string): void;
				}
				export class AuthenticationResult extends java.lang.Object {
					public static class: java.lang.Class<android.hardware.fingerprint.FingerprintManager.AuthenticationResult>;
					public getCryptoObject(): android.hardware.fingerprint.FingerprintManager.CryptoObject;
				}
				export class CryptoObject extends java.lang.Object {
					public static class: java.lang.Class<android.hardware.fingerprint.FingerprintManager.CryptoObject>;
					public constructor(param0: javax.crypto.Cipher);
					public getCipher(): javax.crypto.Cipher;
					public constructor(param0: java.security.Signature);
					public getSignature(): java.security.Signature;
					public constructor(param0: javax.crypto.Mac);
					public getMac(): javax.crypto.Mac;
				}
			}
		}
	}
}

declare module android {
	export module hardware {
		export module input {
			export class InputManager extends java.lang.Object {
				public static class: java.lang.Class<android.hardware.input.InputManager>;
				public static ACTION_QUERY_KEYBOARD_LAYOUTS: string;
				public static META_DATA_KEYBOARD_LAYOUTS: string;
				public getInputDeviceIds(): native.Array<number>;
				public registerInputDeviceListener(param0: android.hardware.input.InputManager.InputDeviceListener, param1: android.os.Handler): void;
				public getInputDevice(param0: number): android.view.InputDevice;
				public unregisterInputDeviceListener(param0: android.hardware.input.InputManager.InputDeviceListener): void;
			}
			export module InputManager {
				export class InputDeviceListener extends java.lang.Object {
					public static class: java.lang.Class<android.hardware.input.InputManager.InputDeviceListener>;
					/**
					 * Constructs a new instance of the android.hardware.input.InputManager$InputDeviceListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						onInputDeviceAdded(param0: number): void;
						onInputDeviceRemoved(param0: number): void;
						onInputDeviceChanged(param0: number): void;
					});
					public constructor();
					public onInputDeviceRemoved(param0: number): void;
					public onInputDeviceAdded(param0: number): void;
					public onInputDeviceChanged(param0: number): void;
				}
			}
		}
	}
}

declare module android {
	export module hardware {
		export module usb {
			export class UsbAccessory extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.hardware.usb.UsbAccessory>;
				public static CREATOR: android.os.Parcelable.Creator<android.hardware.usb.UsbAccessory>;
				public getVersion(): string;
				public getUri(): string;
				public getManufacturer(): string;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getSerial(): string;
				public equals(param0: any): boolean;
				public describeContents(): number;
				public getDescription(): string;
				public getModel(): string;
				public toString(): string;
			}
		}
	}
}

declare module android {
	export module hardware {
		export module usb {
			export class UsbConfiguration extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.hardware.usb.UsbConfiguration>;
				public static CREATOR: android.os.Parcelable.Creator<android.hardware.usb.UsbConfiguration>;
				public isSelfPowered(): boolean;
				public isRemoteWakeup(): boolean;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getId(): number;
				public describeContents(): number;
				public getMaxPower(): number;
				public getName(): string;
				public getInterfaceCount(): number;
				public toString(): string;
				public getInterface(param0: number): android.hardware.usb.UsbInterface;
			}
		}
	}
}

declare module android {
	export module hardware {
		export module usb {
			export class UsbConstants extends java.lang.Object {
				public static class: java.lang.Class<android.hardware.usb.UsbConstants>;
				public static USB_CLASS_APP_SPEC: number;
				public static USB_CLASS_AUDIO: number;
				public static USB_CLASS_CDC_DATA: number;
				public static USB_CLASS_COMM: number;
				public static USB_CLASS_CONTENT_SEC: number;
				public static USB_CLASS_CSCID: number;
				public static USB_CLASS_HID: number;
				public static USB_CLASS_HUB: number;
				public static USB_CLASS_MASS_STORAGE: number;
				public static USB_CLASS_MISC: number;
				public static USB_CLASS_PER_INTERFACE: number;
				public static USB_CLASS_PHYSICA: number;
				public static USB_CLASS_PRINTER: number;
				public static USB_CLASS_STILL_IMAGE: number;
				public static USB_CLASS_VENDOR_SPEC: number;
				public static USB_CLASS_VIDEO: number;
				public static USB_CLASS_WIRELESS_CONTROLLER: number;
				public static USB_DIR_IN: number;
				public static USB_DIR_OUT: number;
				public static USB_ENDPOINT_DIR_MASK: number;
				public static USB_ENDPOINT_NUMBER_MASK: number;
				public static USB_ENDPOINT_XFERTYPE_MASK: number;
				public static USB_ENDPOINT_XFER_BULK: number;
				public static USB_ENDPOINT_XFER_CONTROL: number;
				public static USB_ENDPOINT_XFER_INT: number;
				public static USB_ENDPOINT_XFER_ISOC: number;
				public static USB_INTERFACE_SUBCLASS_BOOT: number;
				public static USB_SUBCLASS_VENDOR_SPEC: number;
				public static USB_TYPE_CLASS: number;
				public static USB_TYPE_MASK: number;
				public static USB_TYPE_RESERVED: number;
				public static USB_TYPE_STANDARD: number;
				public static USB_TYPE_VENDOR: number;
				public constructor();
			}
		}
	}
}

declare module android {
	export module hardware {
		export module usb {
			export class UsbDevice extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.hardware.usb.UsbDevice>;
				public static CREATOR: android.os.Parcelable.Creator<android.hardware.usb.UsbDevice>;
				public getVendorId(): number;
				public getProductId(): number;
				public getDeviceName(): string;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getManufacturerName(): string;
				public getConfigurationCount(): number;
				public getDeviceProtocol(): number;
				public static getDeviceName(param0: number): string;
				public toString(): string;
				public getDeviceSubclass(): number;
				public getSerialNumber(): string;
				public getInterface(param0: number): android.hardware.usb.UsbInterface;
				public getConfiguration(param0: number): android.hardware.usb.UsbConfiguration;
				public getVersion(): string;
				public getDeviceId(): number;
				public static getDeviceId(param0: string): number;
				public hashCode(): number;
				public getDeviceClass(): number;
				public equals(param0: any): boolean;
				public describeContents(): number;
				public getInterfaceCount(): number;
				public getProductName(): string;
			}
		}
	}
}

declare module android {
	export module hardware {
		export module usb {
			export class UsbDeviceConnection extends java.lang.Object {
				public static class: java.lang.Class<android.hardware.usb.UsbDeviceConnection>;
				public close(): void;
				public setInterface(param0: android.hardware.usb.UsbInterface): boolean;
				public getFileDescriptor(): number;
				public getRawDescriptors(): native.Array<number>;
				public controlTransfer(param0: number, param1: number, param2: number, param3: number, param4: native.Array<number>, param5: number, param6: number, param7: number): number;
				public getSerial(): string;
				public bulkTransfer(param0: android.hardware.usb.UsbEndpoint, param1: native.Array<number>, param2: number, param3: number, param4: number): number;
				public finalize(): void;
				public controlTransfer(param0: number, param1: number, param2: number, param3: number, param4: native.Array<number>, param5: number, param6: number): number;
				public bulkTransfer(param0: android.hardware.usb.UsbEndpoint, param1: native.Array<number>, param2: number, param3: number): number;
				public claimInterface(param0: android.hardware.usb.UsbInterface, param1: boolean): boolean;
				public setConfiguration(param0: android.hardware.usb.UsbConfiguration): boolean;
				public requestWait(param0: number): android.hardware.usb.UsbRequest;
				public releaseInterface(param0: android.hardware.usb.UsbInterface): boolean;
				public requestWait(): android.hardware.usb.UsbRequest;
			}
		}
	}
}

declare module android {
	export module hardware {
		export module usb {
			export class UsbEndpoint extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.hardware.usb.UsbEndpoint>;
				public static CREATOR: android.os.Parcelable.Creator<android.hardware.usb.UsbEndpoint>;
				public getEndpointNumber(): number;
				public getMaxPacketSize(): number;
				public getDirection(): number;
				public getAttributes(): number;
				public getType(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getInterval(): number;
				public describeContents(): number;
				public getAddress(): number;
				public toString(): string;
			}
		}
	}
}

declare module android {
	export module hardware {
		export module usb {
			export class UsbInterface extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.hardware.usb.UsbInterface>;
				public static CREATOR: android.os.Parcelable.Creator<android.hardware.usb.UsbInterface>;
				public getInterfaceSubclass(): number;
				public getEndpointCount(): number;
				public getAlternateSetting(): number;
				public getInterfaceProtocol(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getId(): number;
				public describeContents(): number;
				public getName(): string;
				public getEndpoint(param0: number): android.hardware.usb.UsbEndpoint;
				public toString(): string;
				public getInterfaceClass(): number;
			}
		}
	}
}

declare module android {
	export module hardware {
		export module usb {
			export class UsbManager extends java.lang.Object {
				public static class: java.lang.Class<android.hardware.usb.UsbManager>;
				public static ACTION_USB_ACCESSORY_ATTACHED: string;
				public static ACTION_USB_ACCESSORY_DETACHED: string;
				public static ACTION_USB_DEVICE_ATTACHED: string;
				public static ACTION_USB_DEVICE_DETACHED: string;
				public static EXTRA_ACCESSORY: string;
				public static EXTRA_DEVICE: string;
				public static EXTRA_PERMISSION_GRANTED: string;
				public requestPermission(param0: android.hardware.usb.UsbDevice, param1: android.app.PendingIntent): void;
				public getAccessoryList(): native.Array<android.hardware.usb.UsbAccessory>;
				public hasPermission(param0: android.hardware.usb.UsbAccessory): boolean;
				public requestPermission(param0: android.hardware.usb.UsbAccessory, param1: android.app.PendingIntent): void;
				public getDeviceList(): java.util.HashMap<string,android.hardware.usb.UsbDevice>;
				public openDevice(param0: android.hardware.usb.UsbDevice): android.hardware.usb.UsbDeviceConnection;
				public openAccessory(param0: android.hardware.usb.UsbAccessory): android.os.ParcelFileDescriptor;
				public hasPermission(param0: android.hardware.usb.UsbDevice): boolean;
			}
		}
	}
}

declare module android {
	export module hardware {
		export module usb {
			export class UsbRequest extends java.lang.Object {
				public static class: java.lang.Class<android.hardware.usb.UsbRequest>;
				public getEndpoint(): android.hardware.usb.UsbEndpoint;
				public queue(param0: java.nio.ByteBuffer): boolean;
				public close(): void;
				public setClientData(param0: any): void;
				/** @deprecated */
				public queue(param0: java.nio.ByteBuffer, param1: number): boolean;
				public initialize(param0: android.hardware.usb.UsbDeviceConnection, param1: android.hardware.usb.UsbEndpoint): boolean;
				public finalize(): void;
				public getClientData(): any;
				public cancel(): boolean;
				public constructor();
			}
		}
	}
}

declare module android {
	export module icu {
		export module lang {
			export class UCharacter extends java.lang.Object implements android.icu.lang.UCharacterEnums.ECharacterCategory, android.icu.lang.UCharacterEnums.ECharacterDirection {
				public static class: java.lang.Class<android.icu.lang.UCharacter>;
				public static FOLD_CASE_DEFAULT: number;
				public static FOLD_CASE_EXCLUDE_SPECIAL_I: number;
				public static MAX_CODE_POINT: number;
				public static MAX_HIGH_SURROGATE: string;
				public static MAX_LOW_SURROGATE: string;
				public static MAX_RADIX: number;
				public static MAX_SURROGATE: string;
				public static MAX_VALUE: number;
				public static MIN_CODE_POINT: number;
				public static MIN_HIGH_SURROGATE: string;
				public static MIN_LOW_SURROGATE: string;
				public static MIN_RADIX: number;
				public static MIN_SUPPLEMENTARY_CODE_POINT: number;
				public static MIN_SURROGATE: string;
				public static MIN_VALUE: number;
				public static NO_NUMERIC_VALUE: number;
				public static REPLACEMENT_CHAR: number;
				public static SUPPLEMENTARY_MIN_VALUE: number;
				public static TITLECASE_NO_BREAK_ADJUSTMENT: number;
				public static TITLECASE_NO_LOWERCASE: number;
				public static getExtendedName(param0: number): string;
				public static toLowerCase(param0: number): number;
				public static toTitleCase(param0: number): number;
				public static getAge(param0: number): android.icu.util.VersionInfo;
				public static codePointAt(param0: string, param1: number): number;
				public static toUpperCase(param0: string): string;
				public static isLegal(param0: string): boolean;
				public static isLegal(param0: number): boolean;
				public static isIdentifierIgnorable(param0: number): boolean;
				public static getCharFromNameAlias(param0: string): number;
				public static charCount(param0: number): number;
				public static getNameIterator(): android.icu.util.ValueIterator;
				public static isDigit(param0: number): boolean;
				public static toLowerCase(param0: java.util.Locale, param1: string): string;
				public static codePointBefore(param0: native.Array<string>, param1: number, param2: number): number;
				public static foldCase(param0: number, param1: boolean): number;
				public static getIntPropertyMinValue(param0: number): number;
				public static getTypeIterator(): android.icu.util.RangeValueIterator;
				public static toUpperCase(param0: android.icu.util.ULocale, param1: string): string;
				public static offsetByCodePoints(param0: string, param1: number, param2: number): number;
				public static digit(param0: number): number;
				public static isUnicodeIdentifierPart(param0: number): boolean;
				public static getCodePoint(param0: string, param1: string): number;
				public static getPropertyName(param0: number, param1: number): string;
				public static toTitleCase(param0: android.icu.util.ULocale, param1: string, param2: android.icu.text.BreakIterator, param3: number): string;
				public static getDirectionality(param0: number): number;
				public static getUnicodeNumericValue(param0: number): number;
				public static isSupplementaryCodePoint(param0: number): boolean;
				public static hasBinaryProperty(param0: number, param1: number): boolean;
				public static toLowerCase(param0: android.icu.util.ULocale, param1: string): string;
				public static toTitleCase(param0: android.icu.util.ULocale, param1: string, param2: android.icu.text.BreakIterator): string;
				public static getIntPropertyMaxValue(param0: number): number;
				public static isUAlphabetic(param0: number): boolean;
				public static isLowSurrogate(param0: string): boolean;
				public static isValidCodePoint(param0: number): boolean;
				public static getMirror(param0: number): number;
				public static toTitleCase(param0: java.util.Locale, param1: string, param2: android.icu.text.BreakIterator, param3: number): string;
				public static isDefined(param0: number): boolean;
				public static getNumericValue(param0: number): number;
				public static getPropertyValueName(param0: number, param1: number, param2: number): string;
				public static codePointBefore(param0: native.Array<string>, param1: number): number;
				public static isWhitespace(param0: number): boolean;
				public static isUWhiteSpace(param0: number): boolean;
				public static isULowercase(param0: number): boolean;
				public static offsetByCodePoints(param0: native.Array<string>, param1: number, param2: number, param3: number, param4: number): number;
				public static foldCase(param0: string, param1: boolean): string;
				public static getName(param0: number): string;
				public static foldCase(param0: number, param1: number): number;
				public static isLetterOrDigit(param0: number): boolean;
				public static isTitleCase(param0: number): boolean;
				public static getUnicodeVersion(): android.icu.util.VersionInfo;
				public static getName(param0: string, param1: string): string;
				public static isSpaceChar(param0: number): boolean;
				public static getCodePoint(param0: string): number;
				public static isLowerCase(param0: number): boolean;
				public static isUnicodeIdentifierStart(param0: number): boolean;
				public static getPropertyValueEnum(param0: number, param1: string): number;
				public static getHanNumericValue(param0: number): number;
				public static getCharFromExtendedName(param0: string): number;
				public static codePointCount(param0: native.Array<string>, param1: number, param2: number): number;
				public static isUpperCase(param0: number): boolean;
				public toString(): string;
				public static isSurrogatePair(param0: string, param1: string): boolean;
				public static getCharFromName(param0: string): number;
				public static forDigit(param0: number, param1: number): string;
				public static toLowerCase(param0: string): string;
				public static isLetter(param0: number): boolean;
				public static isBaseForm(param0: number): boolean;
				public static isMirrored(param0: number): boolean;
				public static toCodePoint(param0: string, param1: string): number;
				public static toUpperCase(param0: java.util.Locale, param1: string): string;
				public static isSupplementary(param0: number): boolean;
				public static codePointBefore(param0: string, param1: number): number;
				public static codePointAt(param0: native.Array<string>, param1: number, param2: number): number;
				public static toString(param0: number): string;
				public static isUUppercase(param0: number): boolean;
				public static codePointAt(param0: native.Array<string>, param1: number): number;
				public static toTitleCase(param0: java.util.Locale, param1: string, param2: android.icu.text.BreakIterator): string;
				public static getCombiningClass(param0: number): number;
				public static isHighSurrogate(param0: string): boolean;
				public static getType(param0: number): number;
				public static toChars(param0: number, param1: native.Array<string>, param2: number): number;
				public static getExtendedNameIterator(): android.icu.util.ValueIterator;
				public static isISOControl(param0: number): boolean;
				public static getPropertyEnum(param0: string): number;
				public static getIntPropertyValue(param0: number, param1: number): number;
				public static isBMP(param0: number): boolean;
				public static isPrintable(param0: number): boolean;
				public static foldCase(param0: string, param1: number): string;
				public static isJavaIdentifierStart(param0: number): boolean;
				public static getDirection(param0: number): number;
				public static getBidiPairedBracket(param0: number): number;
				public static toUpperCase(param0: number): number;
				public static getNameAlias(param0: number): string;
				public static toTitleCase(param0: string, param1: android.icu.text.BreakIterator): string;
				public static isJavaIdentifierPart(param0: number): boolean;
				public static digit(param0: number, param1: number): number;
				public static toChars(param0: number): native.Array<string>;
				public static codePointCount(param0: string, param1: number, param2: number): number;
			}
			export module UCharacter {
				export class BidiPairedBracketType extends java.lang.Object {
					public static class: java.lang.Class<android.icu.lang.UCharacter.BidiPairedBracketType>;
					/**
					 * Constructs a new instance of the android.icu.lang.UCharacter$BidiPairedBracketType interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
					});
					public constructor();
					public static CLOSE: number;
					public static NONE: number;
					public static OPEN: number;
				}
				export class DecompositionType extends java.lang.Object {
					public static class: java.lang.Class<android.icu.lang.UCharacter.DecompositionType>;
					/**
					 * Constructs a new instance of the android.icu.lang.UCharacter$DecompositionType interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
					});
					public constructor();
					public static INITIAL: number;
					public static FINAL: number;
					public static CIRCLE: number;
					public static NARROW: number;
					public static FONT: number;
					public static ISOLATED: number;
					public static SUB: number;
					public static CANONICAL: number;
					public static NOBREAK: number;
					public static SQUARE: number;
					public static SUPER: number;
					public static MEDIAL: number;
					public static WIDE: number;
					public static NONE: number;
					public static FRACTION: number;
					public static COMPAT: number;
					public static SMALL: number;
					public static VERTICAL: number;
				}
				export class EastAsianWidth extends java.lang.Object {
					public static class: java.lang.Class<android.icu.lang.UCharacter.EastAsianWidth>;
					/**
					 * Constructs a new instance of the android.icu.lang.UCharacter$EastAsianWidth interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
					});
					public constructor();
					public static WIDE: number;
					public static NARROW: number;
					public static NEUTRAL: number;
					public static AMBIGUOUS: number;
					public static FULLWIDTH: number;
					public static HALFWIDTH: number;
				}
				export class GraphemeClusterBreak extends java.lang.Object {
					public static class: java.lang.Class<android.icu.lang.UCharacter.GraphemeClusterBreak>;
					/**
					 * Constructs a new instance of the android.icu.lang.UCharacter$GraphemeClusterBreak interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
					});
					public constructor();
					public static SPACING_MARK: number;
					public static LVT: number;
					public static LV: number;
					public static L: number;
					public static ZWJ: number;
					public static CR: number;
					public static REGIONAL_INDICATOR: number;
					public static E_BASE_GAZ: number;
					public static EXTEND: number;
					public static LF: number;
					public static CONTROL: number;
					public static PREPEND: number;
					public static OTHER: number;
					public static E_BASE: number;
					public static T: number;
					public static E_MODIFIER: number;
					public static GLUE_AFTER_ZWJ: number;
					public static V: number;
				}
				export class HangulSyllableType extends java.lang.Object {
					public static class: java.lang.Class<android.icu.lang.UCharacter.HangulSyllableType>;
					/**
					 * Constructs a new instance of the android.icu.lang.UCharacter$HangulSyllableType interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
					});
					public constructor();
					public static LVT_SYLLABLE: number;
					public static VOWEL_JAMO: number;
					public static NOT_APPLICABLE: number;
					public static LV_SYLLABLE: number;
					public static TRAILING_JAMO: number;
					public static LEADING_JAMO: number;
				}
				export class JoiningGroup extends java.lang.Object {
					public static class: java.lang.Class<android.icu.lang.UCharacter.JoiningGroup>;
					/**
					 * Constructs a new instance of the android.icu.lang.UCharacter$JoiningGroup interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
					});
					public constructor();
					public static MANICHAEAN_AYIN: number;
					public static STRAIGHT_WAW: number;
					public static HAMZA_ON_HEH_GOAL: number;
					public static E: number;
					public static NOON: number;
					public static ROHINGYA_YEH: number;
					public static ALAPH: number;
					public static NO_JOINING_GROUP: number;
					public static SEEN: number;
					public static AFRICAN_FEH: number;
					public static DALATH_RISH: number;
					public static FEH: number;
					public static FINAL_SEMKATH: number;
					public static MALAYALAM_NNNA: number;
					public static DAL: number;
					public static HAH: number;
					public static MANICHAEAN_DALETH: number;
					public static AFRICAN_QAF: number;
					public static MANICHAEAN_SAMEKH: number;
					public static MANICHAEAN_PE: number;
					public static LAMADH: number;
					public static MANICHAEAN_TEN: number;
					public static BEH: number;
					public static MEEM: number;
					public static MANICHAEAN_LAMEDH: number;
					public static NUN: number;
					public static LAM: number;
					public static TAH: number;
					public static HEH_GOAL: number;
					public static FARSI_YEH: number;
					public static REH: number;
					public static MANICHAEAN_NUN: number;
					public static YUDH_HE: number;
					public static MANICHAEAN_FIVE: number;
					public static GAMAL: number;
					public static MALAYALAM_SSA: number;
					public static SHIN: number;
					public static HETH: number;
					public static ALEF: number;
					public static MANICHAEAN_ONE: number;
					public static MALAYALAM_NYA: number;
					public static QAPH: number;
					public static ZHAIN: number;
					public static MANICHAEAN_TWENTY: number;
					public static AFRICAN_NOON: number;
					public static YEH_WITH_TAIL: number;
					public static AIN: number;
					public static MALAYALAM_LLA: number;
					public static MALAYALAM_TTA: number;
					public static KHAPH: number;
					public static MALAYALAM_BHA: number;
					public static MIM: number;
					public static MANICHAEAN_SADHE: number;
					public static MANICHAEAN_TETH: number;
					public static QAF: number;
					public static MANICHAEAN_QOPH: number;
					public static MANICHAEAN_THAMEDH: number;
					public static MANICHAEAN_ZAYIN: number;
					public static WAW: number;
					public static MALAYALAM_NGA: number;
					public static SEMKATH: number;
					public static MANICHAEAN_MEM: number;
					public static NYA: number;
					public static BETH: number;
					public static HEH: number;
					public static KAPH: number;
					public static MANICHAEAN_ALEPH: number;
					public static MANICHAEAN_KAPH: number;
					public static BURUSHASKI_YEH_BARREE: number;
					public static MALAYALAM_LLLA: number;
					public static MANICHAEAN_BETH: number;
					public static MANICHAEAN_HUNDRED: number;
					public static MANICHAEAN_RESH: number;
					public static MALAYALAM_NNA: number;
					public static HE: number;
					public static MANICHAEAN_GIMEL: number;
					public static TEH_MARBUTA_GOAL: number;
					public static PE: number;
					public static MANICHAEAN_TAW: number;
					public static MANICHAEAN_HETH: number;
					public static YUDH: number;
					public static TAW: number;
					public static KNOTTED_HEH: number;
					public static SADHE: number;
					public static TETH: number;
					public static TEH_MARBUTA: number;
					public static REVERSED_PE: number;
					public static YEH_BARREE: number;
					public static SWASH_KAF: number;
					public static MANICHAEAN_DHAMEDH: number;
					public static GAF: number;
					public static ZAIN: number;
					public static SYRIAC_WAW: number;
					public static MALAYALAM_JA: number;
					public static YEH: number;
					public static FE: number;
					public static MANICHAEAN_YODH: number;
					public static KAF: number;
					public static MALAYALAM_RA: number;
					public static MANICHAEAN_WAW: number;
					public static SAD: number;
				}
				export class JoiningType extends java.lang.Object {
					public static class: java.lang.Class<android.icu.lang.UCharacter.JoiningType>;
					/**
					 * Constructs a new instance of the android.icu.lang.UCharacter$JoiningType interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
					});
					public constructor();
					public static JOIN_CAUSING: number;
					public static RIGHT_JOINING: number;
					public static TRANSPARENT: number;
					public static DUAL_JOINING: number;
					public static LEFT_JOINING: number;
					public static NON_JOINING: number;
				}
				export class LineBreak extends java.lang.Object {
					public static class: java.lang.Class<android.icu.lang.UCharacter.LineBreak>;
					/**
					 * Constructs a new instance of the android.icu.lang.UCharacter$LineBreak interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
					});
					public constructor();
					public static PREFIX_NUMERIC: number;
					public static INSEPERABLE: number;
					public static IDEOGRAPHIC: number;
					public static JT: number;
					public static JV: number;
					public static LINE_FEED: number;
					public static ALPHABETIC: number;
					public static CARRIAGE_RETURN: number;
					public static CLOSE_PUNCTUATION: number;
					public static REGIONAL_INDICATOR: number;
					public static BREAK_AFTER: number;
					public static INFIX_NUMERIC: number;
					public static JL: number;
					public static HYPHEN: number;
					public static MANDATORY_BREAK: number;
					public static COMBINING_MARK: number;
					public static SPACE: number;
					public static E_BASE: number;
					public static GLUE: number;
					public static ZWSPACE: number;
					public static H3: number;
					public static H2: number;
					public static OPEN_PUNCTUATION: number;
					public static ZWJ: number;
					public static BREAK_SYMBOLS: number;
					public static CLOSE_PARENTHESIS: number;
					public static NUMERIC: number;
					public static SURROGATE: number;
					public static HEBREW_LETTER: number;
					public static QUOTATION: number;
					public static NEXT_LINE: number;
					public static POSTFIX_NUMERIC: number;
					public static CONDITIONAL_JAPANESE_STARTER: number;
					public static UNKNOWN: number;
					public static CONTINGENT_BREAK: number;
					public static INSEPARABLE: number;
					public static WORD_JOINER: number;
					public static BREAK_BEFORE: number;
					public static COMPLEX_CONTEXT: number;
					public static NONSTARTER: number;
					public static AMBIGUOUS: number;
					public static BREAK_BOTH: number;
					public static EXCLAMATION: number;
					public static E_MODIFIER: number;
				}
				export class NumericType extends java.lang.Object {
					public static class: java.lang.Class<android.icu.lang.UCharacter.NumericType>;
					/**
					 * Constructs a new instance of the android.icu.lang.UCharacter$NumericType interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
					});
					public constructor();
					public static DECIMAL: number;
					public static DIGIT: number;
					public static NONE: number;
					public static NUMERIC: number;
				}
				export class SentenceBreak extends java.lang.Object {
					public static class: java.lang.Class<android.icu.lang.UCharacter.SentenceBreak>;
					/**
					 * Constructs a new instance of the android.icu.lang.UCharacter$SentenceBreak interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
					});
					public constructor();
					public static CLOSE: number;
					public static CR: number;
					public static NUMERIC: number;
					public static FORMAT: number;
					public static OLETTER: number;
					public static EXTEND: number;
					public static STERM: number;
					public static LF: number;
					public static SCONTINUE: number;
					public static SP: number;
					public static SEP: number;
					public static UPPER: number;
					public static OTHER: number;
					public static LOWER: number;
					public static ATERM: number;
				}
				export class UnicodeBlock extends java.lang.Character.Subset {
					public static class: java.lang.Class<android.icu.lang.UCharacter.UnicodeBlock>;
					public static ADLAM: android.icu.lang.UCharacter.UnicodeBlock;
					public static ADLAM_ID: number;
					public static AEGEAN_NUMBERS: android.icu.lang.UCharacter.UnicodeBlock;
					public static AEGEAN_NUMBERS_ID: number;
					public static AHOM: android.icu.lang.UCharacter.UnicodeBlock;
					public static AHOM_ID: number;
					public static ALCHEMICAL_SYMBOLS: android.icu.lang.UCharacter.UnicodeBlock;
					public static ALCHEMICAL_SYMBOLS_ID: number;
					public static ALPHABETIC_PRESENTATION_FORMS: android.icu.lang.UCharacter.UnicodeBlock;
					public static ALPHABETIC_PRESENTATION_FORMS_ID: number;
					public static ANATOLIAN_HIEROGLYPHS: android.icu.lang.UCharacter.UnicodeBlock;
					public static ANATOLIAN_HIEROGLYPHS_ID: number;
					public static ANCIENT_GREEK_MUSICAL_NOTATION: android.icu.lang.UCharacter.UnicodeBlock;
					public static ANCIENT_GREEK_MUSICAL_NOTATION_ID: number;
					public static ANCIENT_GREEK_NUMBERS: android.icu.lang.UCharacter.UnicodeBlock;
					public static ANCIENT_GREEK_NUMBERS_ID: number;
					public static ANCIENT_SYMBOLS: android.icu.lang.UCharacter.UnicodeBlock;
					public static ANCIENT_SYMBOLS_ID: number;
					public static ARABIC: android.icu.lang.UCharacter.UnicodeBlock;
					public static ARABIC_EXTENDED_A: android.icu.lang.UCharacter.UnicodeBlock;
					public static ARABIC_EXTENDED_A_ID: number;
					public static ARABIC_ID: number;
					public static ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS: android.icu.lang.UCharacter.UnicodeBlock;
					public static ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS_ID: number;
					public static ARABIC_PRESENTATION_FORMS_A: android.icu.lang.UCharacter.UnicodeBlock;
					public static ARABIC_PRESENTATION_FORMS_A_ID: number;
					public static ARABIC_PRESENTATION_FORMS_B: android.icu.lang.UCharacter.UnicodeBlock;
					public static ARABIC_PRESENTATION_FORMS_B_ID: number;
					public static ARABIC_SUPPLEMENT: android.icu.lang.UCharacter.UnicodeBlock;
					public static ARABIC_SUPPLEMENT_ID: number;
					public static ARMENIAN: android.icu.lang.UCharacter.UnicodeBlock;
					public static ARMENIAN_ID: number;
					public static ARROWS: android.icu.lang.UCharacter.UnicodeBlock;
					public static ARROWS_ID: number;
					public static AVESTAN: android.icu.lang.UCharacter.UnicodeBlock;
					public static AVESTAN_ID: number;
					public static BALINESE: android.icu.lang.UCharacter.UnicodeBlock;
					public static BALINESE_ID: number;
					public static BAMUM: android.icu.lang.UCharacter.UnicodeBlock;
					public static BAMUM_ID: number;
					public static BAMUM_SUPPLEMENT: android.icu.lang.UCharacter.UnicodeBlock;
					public static BAMUM_SUPPLEMENT_ID: number;
					public static BASIC_LATIN: android.icu.lang.UCharacter.UnicodeBlock;
					public static BASIC_LATIN_ID: number;
					public static BASSA_VAH: android.icu.lang.UCharacter.UnicodeBlock;
					public static BASSA_VAH_ID: number;
					public static BATAK: android.icu.lang.UCharacter.UnicodeBlock;
					public static BATAK_ID: number;
					public static BENGALI: android.icu.lang.UCharacter.UnicodeBlock;
					public static BENGALI_ID: number;
					public static BHAIKSUKI: android.icu.lang.UCharacter.UnicodeBlock;
					public static BHAIKSUKI_ID: number;
					public static BLOCK_ELEMENTS: android.icu.lang.UCharacter.UnicodeBlock;
					public static BLOCK_ELEMENTS_ID: number;
					public static BOPOMOFO: android.icu.lang.UCharacter.UnicodeBlock;
					public static BOPOMOFO_EXTENDED: android.icu.lang.UCharacter.UnicodeBlock;
					public static BOPOMOFO_EXTENDED_ID: number;
					public static BOPOMOFO_ID: number;
					public static BOX_DRAWING: android.icu.lang.UCharacter.UnicodeBlock;
					public static BOX_DRAWING_ID: number;
					public static BRAHMI: android.icu.lang.UCharacter.UnicodeBlock;
					public static BRAHMI_ID: number;
					public static BRAILLE_PATTERNS: android.icu.lang.UCharacter.UnicodeBlock;
					public static BRAILLE_PATTERNS_ID: number;
					public static BUGINESE: android.icu.lang.UCharacter.UnicodeBlock;
					public static BUGINESE_ID: number;
					public static BUHID: android.icu.lang.UCharacter.UnicodeBlock;
					public static BUHID_ID: number;
					public static BYZANTINE_MUSICAL_SYMBOLS: android.icu.lang.UCharacter.UnicodeBlock;
					public static BYZANTINE_MUSICAL_SYMBOLS_ID: number;
					public static CARIAN: android.icu.lang.UCharacter.UnicodeBlock;
					public static CARIAN_ID: number;
					public static CAUCASIAN_ALBANIAN: android.icu.lang.UCharacter.UnicodeBlock;
					public static CAUCASIAN_ALBANIAN_ID: number;
					public static CHAKMA: android.icu.lang.UCharacter.UnicodeBlock;
					public static CHAKMA_ID: number;
					public static CHAM: android.icu.lang.UCharacter.UnicodeBlock;
					public static CHAM_ID: number;
					public static CHEROKEE: android.icu.lang.UCharacter.UnicodeBlock;
					public static CHEROKEE_ID: number;
					public static CHEROKEE_SUPPLEMENT: android.icu.lang.UCharacter.UnicodeBlock;
					public static CHEROKEE_SUPPLEMENT_ID: number;
					public static CJK_COMPATIBILITY: android.icu.lang.UCharacter.UnicodeBlock;
					public static CJK_COMPATIBILITY_FORMS: android.icu.lang.UCharacter.UnicodeBlock;
					public static CJK_COMPATIBILITY_FORMS_ID: number;
					public static CJK_COMPATIBILITY_ID: number;
					public static CJK_COMPATIBILITY_IDEOGRAPHS: android.icu.lang.UCharacter.UnicodeBlock;
					public static CJK_COMPATIBILITY_IDEOGRAPHS_ID: number;
					public static CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT: android.icu.lang.UCharacter.UnicodeBlock;
					public static CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT_ID: number;
					public static CJK_RADICALS_SUPPLEMENT: android.icu.lang.UCharacter.UnicodeBlock;
					public static CJK_RADICALS_SUPPLEMENT_ID: number;
					public static CJK_STROKES: android.icu.lang.UCharacter.UnicodeBlock;
					public static CJK_STROKES_ID: number;
					public static CJK_SYMBOLS_AND_PUNCTUATION: android.icu.lang.UCharacter.UnicodeBlock;
					public static CJK_SYMBOLS_AND_PUNCTUATION_ID: number;
					public static CJK_UNIFIED_IDEOGRAPHS: android.icu.lang.UCharacter.UnicodeBlock;
					public static CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A: android.icu.lang.UCharacter.UnicodeBlock;
					public static CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A_ID: number;
					public static CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B: android.icu.lang.UCharacter.UnicodeBlock;
					public static CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B_ID: number;
					public static CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C: android.icu.lang.UCharacter.UnicodeBlock;
					public static CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C_ID: number;
					public static CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D: android.icu.lang.UCharacter.UnicodeBlock;
					public static CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D_ID: number;
					public static CJK_UNIFIED_IDEOGRAPHS_EXTENSION_E: android.icu.lang.UCharacter.UnicodeBlock;
					public static CJK_UNIFIED_IDEOGRAPHS_EXTENSION_E_ID: number;
					public static CJK_UNIFIED_IDEOGRAPHS_EXTENSION_F: android.icu.lang.UCharacter.UnicodeBlock;
					public static CJK_UNIFIED_IDEOGRAPHS_EXTENSION_F_ID: number;
					public static CJK_UNIFIED_IDEOGRAPHS_ID: number;
					public static COMBINING_DIACRITICAL_MARKS: android.icu.lang.UCharacter.UnicodeBlock;
					public static COMBINING_DIACRITICAL_MARKS_EXTENDED: android.icu.lang.UCharacter.UnicodeBlock;
					public static COMBINING_DIACRITICAL_MARKS_EXTENDED_ID: number;
					public static COMBINING_DIACRITICAL_MARKS_ID: number;
					public static COMBINING_DIACRITICAL_MARKS_SUPPLEMENT: android.icu.lang.UCharacter.UnicodeBlock;
					public static COMBINING_DIACRITICAL_MARKS_SUPPLEMENT_ID: number;
					public static COMBINING_HALF_MARKS: android.icu.lang.UCharacter.UnicodeBlock;
					public static COMBINING_HALF_MARKS_ID: number;
					public static COMBINING_MARKS_FOR_SYMBOLS: android.icu.lang.UCharacter.UnicodeBlock;
					public static COMBINING_MARKS_FOR_SYMBOLS_ID: number;
					public static COMMON_INDIC_NUMBER_FORMS: android.icu.lang.UCharacter.UnicodeBlock;
					public static COMMON_INDIC_NUMBER_FORMS_ID: number;
					public static CONTROL_PICTURES: android.icu.lang.UCharacter.UnicodeBlock;
					public static CONTROL_PICTURES_ID: number;
					public static COPTIC: android.icu.lang.UCharacter.UnicodeBlock;
					public static COPTIC_EPACT_NUMBERS: android.icu.lang.UCharacter.UnicodeBlock;
					public static COPTIC_EPACT_NUMBERS_ID: number;
					public static COPTIC_ID: number;
					public static COUNTING_ROD_NUMERALS: android.icu.lang.UCharacter.UnicodeBlock;
					public static COUNTING_ROD_NUMERALS_ID: number;
					public static CUNEIFORM: android.icu.lang.UCharacter.UnicodeBlock;
					public static CUNEIFORM_ID: number;
					public static CUNEIFORM_NUMBERS_AND_PUNCTUATION: android.icu.lang.UCharacter.UnicodeBlock;
					public static CUNEIFORM_NUMBERS_AND_PUNCTUATION_ID: number;
					public static CURRENCY_SYMBOLS: android.icu.lang.UCharacter.UnicodeBlock;
					public static CURRENCY_SYMBOLS_ID: number;
					public static CYPRIOT_SYLLABARY: android.icu.lang.UCharacter.UnicodeBlock;
					public static CYPRIOT_SYLLABARY_ID: number;
					public static CYRILLIC: android.icu.lang.UCharacter.UnicodeBlock;
					public static CYRILLIC_EXTENDED_A: android.icu.lang.UCharacter.UnicodeBlock;
					public static CYRILLIC_EXTENDED_A_ID: number;
					public static CYRILLIC_EXTENDED_B: android.icu.lang.UCharacter.UnicodeBlock;
					public static CYRILLIC_EXTENDED_B_ID: number;
					public static CYRILLIC_EXTENDED_C: android.icu.lang.UCharacter.UnicodeBlock;
					public static CYRILLIC_EXTENDED_C_ID: number;
					public static CYRILLIC_ID: number;
					public static CYRILLIC_SUPPLEMENT: android.icu.lang.UCharacter.UnicodeBlock;
					public static CYRILLIC_SUPPLEMENTARY: android.icu.lang.UCharacter.UnicodeBlock;
					public static CYRILLIC_SUPPLEMENTARY_ID: number;
					public static CYRILLIC_SUPPLEMENT_ID: number;
					public static DESERET: android.icu.lang.UCharacter.UnicodeBlock;
					public static DESERET_ID: number;
					public static DEVANAGARI: android.icu.lang.UCharacter.UnicodeBlock;
					public static DEVANAGARI_EXTENDED: android.icu.lang.UCharacter.UnicodeBlock;
					public static DEVANAGARI_EXTENDED_ID: number;
					public static DEVANAGARI_ID: number;
					public static DINGBATS: android.icu.lang.UCharacter.UnicodeBlock;
					public static DINGBATS_ID: number;
					public static DOMINO_TILES: android.icu.lang.UCharacter.UnicodeBlock;
					public static DOMINO_TILES_ID: number;
					public static DUPLOYAN: android.icu.lang.UCharacter.UnicodeBlock;
					public static DUPLOYAN_ID: number;
					public static EARLY_DYNASTIC_CUNEIFORM: android.icu.lang.UCharacter.UnicodeBlock;
					public static EARLY_DYNASTIC_CUNEIFORM_ID: number;
					public static EGYPTIAN_HIEROGLYPHS: android.icu.lang.UCharacter.UnicodeBlock;
					public static EGYPTIAN_HIEROGLYPHS_ID: number;
					public static ELBASAN: android.icu.lang.UCharacter.UnicodeBlock;
					public static ELBASAN_ID: number;
					public static EMOTICONS: android.icu.lang.UCharacter.UnicodeBlock;
					public static EMOTICONS_ID: number;
					public static ENCLOSED_ALPHANUMERICS: android.icu.lang.UCharacter.UnicodeBlock;
					public static ENCLOSED_ALPHANUMERICS_ID: number;
					public static ENCLOSED_ALPHANUMERIC_SUPPLEMENT: android.icu.lang.UCharacter.UnicodeBlock;
					public static ENCLOSED_ALPHANUMERIC_SUPPLEMENT_ID: number;
					public static ENCLOSED_CJK_LETTERS_AND_MONTHS: android.icu.lang.UCharacter.UnicodeBlock;
					public static ENCLOSED_CJK_LETTERS_AND_MONTHS_ID: number;
					public static ENCLOSED_IDEOGRAPHIC_SUPPLEMENT: android.icu.lang.UCharacter.UnicodeBlock;
					public static ENCLOSED_IDEOGRAPHIC_SUPPLEMENT_ID: number;
					public static ETHIOPIC: android.icu.lang.UCharacter.UnicodeBlock;
					public static ETHIOPIC_EXTENDED: android.icu.lang.UCharacter.UnicodeBlock;
					public static ETHIOPIC_EXTENDED_A: android.icu.lang.UCharacter.UnicodeBlock;
					public static ETHIOPIC_EXTENDED_A_ID: number;
					public static ETHIOPIC_EXTENDED_ID: number;
					public static ETHIOPIC_ID: number;
					public static ETHIOPIC_SUPPLEMENT: android.icu.lang.UCharacter.UnicodeBlock;
					public static ETHIOPIC_SUPPLEMENT_ID: number;
					public static GENERAL_PUNCTUATION: android.icu.lang.UCharacter.UnicodeBlock;
					public static GENERAL_PUNCTUATION_ID: number;
					public static GEOMETRIC_SHAPES: android.icu.lang.UCharacter.UnicodeBlock;
					public static GEOMETRIC_SHAPES_EXTENDED: android.icu.lang.UCharacter.UnicodeBlock;
					public static GEOMETRIC_SHAPES_EXTENDED_ID: number;
					public static GEOMETRIC_SHAPES_ID: number;
					public static GEORGIAN: android.icu.lang.UCharacter.UnicodeBlock;
					public static GEORGIAN_ID: number;
					public static GEORGIAN_SUPPLEMENT: android.icu.lang.UCharacter.UnicodeBlock;
					public static GEORGIAN_SUPPLEMENT_ID: number;
					public static GLAGOLITIC: android.icu.lang.UCharacter.UnicodeBlock;
					public static GLAGOLITIC_ID: number;
					public static GLAGOLITIC_SUPPLEMENT: android.icu.lang.UCharacter.UnicodeBlock;
					public static GLAGOLITIC_SUPPLEMENT_ID: number;
					public static GOTHIC: android.icu.lang.UCharacter.UnicodeBlock;
					public static GOTHIC_ID: number;
					public static GRANTHA: android.icu.lang.UCharacter.UnicodeBlock;
					public static GRANTHA_ID: number;
					public static GREEK: android.icu.lang.UCharacter.UnicodeBlock;
					public static GREEK_EXTENDED: android.icu.lang.UCharacter.UnicodeBlock;
					public static GREEK_EXTENDED_ID: number;
					public static GREEK_ID: number;
					public static GUJARATI: android.icu.lang.UCharacter.UnicodeBlock;
					public static GUJARATI_ID: number;
					public static GURMUKHI: android.icu.lang.UCharacter.UnicodeBlock;
					public static GURMUKHI_ID: number;
					public static HALFWIDTH_AND_FULLWIDTH_FORMS: android.icu.lang.UCharacter.UnicodeBlock;
					public static HALFWIDTH_AND_FULLWIDTH_FORMS_ID: number;
					public static HANGUL_COMPATIBILITY_JAMO: android.icu.lang.UCharacter.UnicodeBlock;
					public static HANGUL_COMPATIBILITY_JAMO_ID: number;
					public static HANGUL_JAMO: android.icu.lang.UCharacter.UnicodeBlock;
					public static HANGUL_JAMO_EXTENDED_A: android.icu.lang.UCharacter.UnicodeBlock;
					public static HANGUL_JAMO_EXTENDED_A_ID: number;
					public static HANGUL_JAMO_EXTENDED_B: android.icu.lang.UCharacter.UnicodeBlock;
					public static HANGUL_JAMO_EXTENDED_B_ID: number;
					public static HANGUL_JAMO_ID: number;
					public static HANGUL_SYLLABLES: android.icu.lang.UCharacter.UnicodeBlock;
					public static HANGUL_SYLLABLES_ID: number;
					public static HANUNOO: android.icu.lang.UCharacter.UnicodeBlock;
					public static HANUNOO_ID: number;
					public static HATRAN: android.icu.lang.UCharacter.UnicodeBlock;
					public static HATRAN_ID: number;
					public static HEBREW: android.icu.lang.UCharacter.UnicodeBlock;
					public static HEBREW_ID: number;
					public static HIGH_PRIVATE_USE_SURROGATES: android.icu.lang.UCharacter.UnicodeBlock;
					public static HIGH_PRIVATE_USE_SURROGATES_ID: number;
					public static HIGH_SURROGATES: android.icu.lang.UCharacter.UnicodeBlock;
					public static HIGH_SURROGATES_ID: number;
					public static HIRAGANA: android.icu.lang.UCharacter.UnicodeBlock;
					public static HIRAGANA_ID: number;
					public static IDEOGRAPHIC_DESCRIPTION_CHARACTERS: android.icu.lang.UCharacter.UnicodeBlock;
					public static IDEOGRAPHIC_DESCRIPTION_CHARACTERS_ID: number;
					public static IDEOGRAPHIC_SYMBOLS_AND_PUNCTUATION: android.icu.lang.UCharacter.UnicodeBlock;
					public static IDEOGRAPHIC_SYMBOLS_AND_PUNCTUATION_ID: number;
					public static IMPERIAL_ARAMAIC: android.icu.lang.UCharacter.UnicodeBlock;
					public static IMPERIAL_ARAMAIC_ID: number;
					public static INSCRIPTIONAL_PAHLAVI: android.icu.lang.UCharacter.UnicodeBlock;
					public static INSCRIPTIONAL_PAHLAVI_ID: number;
					public static INSCRIPTIONAL_PARTHIAN: android.icu.lang.UCharacter.UnicodeBlock;
					public static INSCRIPTIONAL_PARTHIAN_ID: number;
					public static INVALID_CODE: android.icu.lang.UCharacter.UnicodeBlock;
					public static INVALID_CODE_ID: number;
					public static IPA_EXTENSIONS: android.icu.lang.UCharacter.UnicodeBlock;
					public static IPA_EXTENSIONS_ID: number;
					public static JAVANESE: android.icu.lang.UCharacter.UnicodeBlock;
					public static JAVANESE_ID: number;
					public static KAITHI: android.icu.lang.UCharacter.UnicodeBlock;
					public static KAITHI_ID: number;
					public static KANA_EXTENDED_A: android.icu.lang.UCharacter.UnicodeBlock;
					public static KANA_EXTENDED_A_ID: number;
					public static KANA_SUPPLEMENT: android.icu.lang.UCharacter.UnicodeBlock;
					public static KANA_SUPPLEMENT_ID: number;
					public static KANBUN: android.icu.lang.UCharacter.UnicodeBlock;
					public static KANBUN_ID: number;
					public static KANGXI_RADICALS: android.icu.lang.UCharacter.UnicodeBlock;
					public static KANGXI_RADICALS_ID: number;
					public static KANNADA: android.icu.lang.UCharacter.UnicodeBlock;
					public static KANNADA_ID: number;
					public static KATAKANA: android.icu.lang.UCharacter.UnicodeBlock;
					public static KATAKANA_ID: number;
					public static KATAKANA_PHONETIC_EXTENSIONS: android.icu.lang.UCharacter.UnicodeBlock;
					public static KATAKANA_PHONETIC_EXTENSIONS_ID: number;
					public static KAYAH_LI: android.icu.lang.UCharacter.UnicodeBlock;
					public static KAYAH_LI_ID: number;
					public static KHAROSHTHI: android.icu.lang.UCharacter.UnicodeBlock;
					public static KHAROSHTHI_ID: number;
					public static KHMER: android.icu.lang.UCharacter.UnicodeBlock;
					public static KHMER_ID: number;
					public static KHMER_SYMBOLS: android.icu.lang.UCharacter.UnicodeBlock;
					public static KHMER_SYMBOLS_ID: number;
					public static KHOJKI: android.icu.lang.UCharacter.UnicodeBlock;
					public static KHOJKI_ID: number;
					public static KHUDAWADI: android.icu.lang.UCharacter.UnicodeBlock;
					public static KHUDAWADI_ID: number;
					public static LAO: android.icu.lang.UCharacter.UnicodeBlock;
					public static LAO_ID: number;
					public static LATIN_1_SUPPLEMENT: android.icu.lang.UCharacter.UnicodeBlock;
					public static LATIN_1_SUPPLEMENT_ID: number;
					public static LATIN_EXTENDED_A: android.icu.lang.UCharacter.UnicodeBlock;
					public static LATIN_EXTENDED_ADDITIONAL: android.icu.lang.UCharacter.UnicodeBlock;
					public static LATIN_EXTENDED_ADDITIONAL_ID: number;
					public static LATIN_EXTENDED_A_ID: number;
					public static LATIN_EXTENDED_B: android.icu.lang.UCharacter.UnicodeBlock;
					public static LATIN_EXTENDED_B_ID: number;
					public static LATIN_EXTENDED_C: android.icu.lang.UCharacter.UnicodeBlock;
					public static LATIN_EXTENDED_C_ID: number;
					public static LATIN_EXTENDED_D: android.icu.lang.UCharacter.UnicodeBlock;
					public static LATIN_EXTENDED_D_ID: number;
					public static LATIN_EXTENDED_E: android.icu.lang.UCharacter.UnicodeBlock;
					public static LATIN_EXTENDED_E_ID: number;
					public static LEPCHA: android.icu.lang.UCharacter.UnicodeBlock;
					public static LEPCHA_ID: number;
					public static LETTERLIKE_SYMBOLS: android.icu.lang.UCharacter.UnicodeBlock;
					public static LETTERLIKE_SYMBOLS_ID: number;
					public static LIMBU: android.icu.lang.UCharacter.UnicodeBlock;
					public static LIMBU_ID: number;
					public static LINEAR_A: android.icu.lang.UCharacter.UnicodeBlock;
					public static LINEAR_A_ID: number;
					public static LINEAR_B_IDEOGRAMS: android.icu.lang.UCharacter.UnicodeBlock;
					public static LINEAR_B_IDEOGRAMS_ID: number;
					public static LINEAR_B_SYLLABARY: android.icu.lang.UCharacter.UnicodeBlock;
					public static LINEAR_B_SYLLABARY_ID: number;
					public static LISU: android.icu.lang.UCharacter.UnicodeBlock;
					public static LISU_ID: number;
					public static LOW_SURROGATES: android.icu.lang.UCharacter.UnicodeBlock;
					public static LOW_SURROGATES_ID: number;
					public static LYCIAN: android.icu.lang.UCharacter.UnicodeBlock;
					public static LYCIAN_ID: number;
					public static LYDIAN: android.icu.lang.UCharacter.UnicodeBlock;
					public static LYDIAN_ID: number;
					public static MAHAJANI: android.icu.lang.UCharacter.UnicodeBlock;
					public static MAHAJANI_ID: number;
					public static MAHJONG_TILES: android.icu.lang.UCharacter.UnicodeBlock;
					public static MAHJONG_TILES_ID: number;
					public static MALAYALAM: android.icu.lang.UCharacter.UnicodeBlock;
					public static MALAYALAM_ID: number;
					public static MANDAIC: android.icu.lang.UCharacter.UnicodeBlock;
					public static MANDAIC_ID: number;
					public static MANICHAEAN: android.icu.lang.UCharacter.UnicodeBlock;
					public static MANICHAEAN_ID: number;
					public static MARCHEN: android.icu.lang.UCharacter.UnicodeBlock;
					public static MARCHEN_ID: number;
					public static MASARAM_GONDI: android.icu.lang.UCharacter.UnicodeBlock;
					public static MASARAM_GONDI_ID: number;
					public static MATHEMATICAL_ALPHANUMERIC_SYMBOLS: android.icu.lang.UCharacter.UnicodeBlock;
					public static MATHEMATICAL_ALPHANUMERIC_SYMBOLS_ID: number;
					public static MATHEMATICAL_OPERATORS: android.icu.lang.UCharacter.UnicodeBlock;
					public static MATHEMATICAL_OPERATORS_ID: number;
					public static MEETEI_MAYEK: android.icu.lang.UCharacter.UnicodeBlock;
					public static MEETEI_MAYEK_EXTENSIONS: android.icu.lang.UCharacter.UnicodeBlock;
					public static MEETEI_MAYEK_EXTENSIONS_ID: number;
					public static MEETEI_MAYEK_ID: number;
					public static MENDE_KIKAKUI: android.icu.lang.UCharacter.UnicodeBlock;
					public static MENDE_KIKAKUI_ID: number;
					public static MEROITIC_CURSIVE: android.icu.lang.UCharacter.UnicodeBlock;
					public static MEROITIC_CURSIVE_ID: number;
					public static MEROITIC_HIEROGLYPHS: android.icu.lang.UCharacter.UnicodeBlock;
					public static MEROITIC_HIEROGLYPHS_ID: number;
					public static MIAO: android.icu.lang.UCharacter.UnicodeBlock;
					public static MIAO_ID: number;
					public static MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A: android.icu.lang.UCharacter.UnicodeBlock;
					public static MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A_ID: number;
					public static MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B: android.icu.lang.UCharacter.UnicodeBlock;
					public static MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B_ID: number;
					public static MISCELLANEOUS_SYMBOLS: android.icu.lang.UCharacter.UnicodeBlock;
					public static MISCELLANEOUS_SYMBOLS_AND_ARROWS: android.icu.lang.UCharacter.UnicodeBlock;
					public static MISCELLANEOUS_SYMBOLS_AND_ARROWS_ID: number;
					public static MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS: android.icu.lang.UCharacter.UnicodeBlock;
					public static MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS_ID: number;
					public static MISCELLANEOUS_SYMBOLS_ID: number;
					public static MISCELLANEOUS_TECHNICAL: android.icu.lang.UCharacter.UnicodeBlock;
					public static MISCELLANEOUS_TECHNICAL_ID: number;
					public static MODI: android.icu.lang.UCharacter.UnicodeBlock;
					public static MODIFIER_TONE_LETTERS: android.icu.lang.UCharacter.UnicodeBlock;
					public static MODIFIER_TONE_LETTERS_ID: number;
					public static MODI_ID: number;
					public static MONGOLIAN: android.icu.lang.UCharacter.UnicodeBlock;
					public static MONGOLIAN_ID: number;
					public static MONGOLIAN_SUPPLEMENT: android.icu.lang.UCharacter.UnicodeBlock;
					public static MONGOLIAN_SUPPLEMENT_ID: number;
					public static MRO: android.icu.lang.UCharacter.UnicodeBlock;
					public static MRO_ID: number;
					public static MULTANI: android.icu.lang.UCharacter.UnicodeBlock;
					public static MULTANI_ID: number;
					public static MUSICAL_SYMBOLS: android.icu.lang.UCharacter.UnicodeBlock;
					public static MUSICAL_SYMBOLS_ID: number;
					public static MYANMAR: android.icu.lang.UCharacter.UnicodeBlock;
					public static MYANMAR_EXTENDED_A: android.icu.lang.UCharacter.UnicodeBlock;
					public static MYANMAR_EXTENDED_A_ID: number;
					public static MYANMAR_EXTENDED_B: android.icu.lang.UCharacter.UnicodeBlock;
					public static MYANMAR_EXTENDED_B_ID: number;
					public static MYANMAR_ID: number;
					public static NABATAEAN: android.icu.lang.UCharacter.UnicodeBlock;
					public static NABATAEAN_ID: number;
					public static NEWA: android.icu.lang.UCharacter.UnicodeBlock;
					public static NEWA_ID: number;
					public static NEW_TAI_LUE: android.icu.lang.UCharacter.UnicodeBlock;
					public static NEW_TAI_LUE_ID: number;
					public static NKO: android.icu.lang.UCharacter.UnicodeBlock;
					public static NKO_ID: number;
					public static NO_BLOCK: android.icu.lang.UCharacter.UnicodeBlock;
					public static NUMBER_FORMS: android.icu.lang.UCharacter.UnicodeBlock;
					public static NUMBER_FORMS_ID: number;
					public static NUSHU: android.icu.lang.UCharacter.UnicodeBlock;
					public static NUSHU_ID: number;
					public static OGHAM: android.icu.lang.UCharacter.UnicodeBlock;
					public static OGHAM_ID: number;
					public static OLD_HUNGARIAN: android.icu.lang.UCharacter.UnicodeBlock;
					public static OLD_HUNGARIAN_ID: number;
					public static OLD_ITALIC: android.icu.lang.UCharacter.UnicodeBlock;
					public static OLD_ITALIC_ID: number;
					public static OLD_NORTH_ARABIAN: android.icu.lang.UCharacter.UnicodeBlock;
					public static OLD_NORTH_ARABIAN_ID: number;
					public static OLD_PERMIC: android.icu.lang.UCharacter.UnicodeBlock;
					public static OLD_PERMIC_ID: number;
					public static OLD_PERSIAN: android.icu.lang.UCharacter.UnicodeBlock;
					public static OLD_PERSIAN_ID: number;
					public static OLD_SOUTH_ARABIAN: android.icu.lang.UCharacter.UnicodeBlock;
					public static OLD_SOUTH_ARABIAN_ID: number;
					public static OLD_TURKIC: android.icu.lang.UCharacter.UnicodeBlock;
					public static OLD_TURKIC_ID: number;
					public static OL_CHIKI: android.icu.lang.UCharacter.UnicodeBlock;
					public static OL_CHIKI_ID: number;
					public static OPTICAL_CHARACTER_RECOGNITION: android.icu.lang.UCharacter.UnicodeBlock;
					public static OPTICAL_CHARACTER_RECOGNITION_ID: number;
					public static ORIYA: android.icu.lang.UCharacter.UnicodeBlock;
					public static ORIYA_ID: number;
					public static ORNAMENTAL_DINGBATS: android.icu.lang.UCharacter.UnicodeBlock;
					public static ORNAMENTAL_DINGBATS_ID: number;
					public static OSAGE: android.icu.lang.UCharacter.UnicodeBlock;
					public static OSAGE_ID: number;
					public static OSMANYA: android.icu.lang.UCharacter.UnicodeBlock;
					public static OSMANYA_ID: number;
					public static PAHAWH_HMONG: android.icu.lang.UCharacter.UnicodeBlock;
					public static PAHAWH_HMONG_ID: number;
					public static PALMYRENE: android.icu.lang.UCharacter.UnicodeBlock;
					public static PALMYRENE_ID: number;
					public static PAU_CIN_HAU: android.icu.lang.UCharacter.UnicodeBlock;
					public static PAU_CIN_HAU_ID: number;
					public static PHAGS_PA: android.icu.lang.UCharacter.UnicodeBlock;
					public static PHAGS_PA_ID: number;
					public static PHAISTOS_DISC: android.icu.lang.UCharacter.UnicodeBlock;
					public static PHAISTOS_DISC_ID: number;
					public static PHOENICIAN: android.icu.lang.UCharacter.UnicodeBlock;
					public static PHOENICIAN_ID: number;
					public static PHONETIC_EXTENSIONS: android.icu.lang.UCharacter.UnicodeBlock;
					public static PHONETIC_EXTENSIONS_ID: number;
					public static PHONETIC_EXTENSIONS_SUPPLEMENT: android.icu.lang.UCharacter.UnicodeBlock;
					public static PHONETIC_EXTENSIONS_SUPPLEMENT_ID: number;
					public static PLAYING_CARDS: android.icu.lang.UCharacter.UnicodeBlock;
					public static PLAYING_CARDS_ID: number;
					public static PRIVATE_USE: android.icu.lang.UCharacter.UnicodeBlock;
					public static PRIVATE_USE_AREA: android.icu.lang.UCharacter.UnicodeBlock;
					public static PRIVATE_USE_AREA_ID: number;
					public static PRIVATE_USE_ID: number;
					public static PSALTER_PAHLAVI: android.icu.lang.UCharacter.UnicodeBlock;
					public static PSALTER_PAHLAVI_ID: number;
					public static REJANG: android.icu.lang.UCharacter.UnicodeBlock;
					public static REJANG_ID: number;
					public static RUMI_NUMERAL_SYMBOLS: android.icu.lang.UCharacter.UnicodeBlock;
					public static RUMI_NUMERAL_SYMBOLS_ID: number;
					public static RUNIC: android.icu.lang.UCharacter.UnicodeBlock;
					public static RUNIC_ID: number;
					public static SAMARITAN: android.icu.lang.UCharacter.UnicodeBlock;
					public static SAMARITAN_ID: number;
					public static SAURASHTRA: android.icu.lang.UCharacter.UnicodeBlock;
					public static SAURASHTRA_ID: number;
					public static SHARADA: android.icu.lang.UCharacter.UnicodeBlock;
					public static SHARADA_ID: number;
					public static SHAVIAN: android.icu.lang.UCharacter.UnicodeBlock;
					public static SHAVIAN_ID: number;
					public static SHORTHAND_FORMAT_CONTROLS: android.icu.lang.UCharacter.UnicodeBlock;
					public static SHORTHAND_FORMAT_CONTROLS_ID: number;
					public static SIDDHAM: android.icu.lang.UCharacter.UnicodeBlock;
					public static SIDDHAM_ID: number;
					public static SINHALA: android.icu.lang.UCharacter.UnicodeBlock;
					public static SINHALA_ARCHAIC_NUMBERS: android.icu.lang.UCharacter.UnicodeBlock;
					public static SINHALA_ARCHAIC_NUMBERS_ID: number;
					public static SINHALA_ID: number;
					public static SMALL_FORM_VARIANTS: android.icu.lang.UCharacter.UnicodeBlock;
					public static SMALL_FORM_VARIANTS_ID: number;
					public static SORA_SOMPENG: android.icu.lang.UCharacter.UnicodeBlock;
					public static SORA_SOMPENG_ID: number;
					public static SOYOMBO: android.icu.lang.UCharacter.UnicodeBlock;
					public static SOYOMBO_ID: number;
					public static SPACING_MODIFIER_LETTERS: android.icu.lang.UCharacter.UnicodeBlock;
					public static SPACING_MODIFIER_LETTERS_ID: number;
					public static SPECIALS: android.icu.lang.UCharacter.UnicodeBlock;
					public static SPECIALS_ID: number;
					public static SUNDANESE: android.icu.lang.UCharacter.UnicodeBlock;
					public static SUNDANESE_ID: number;
					public static SUNDANESE_SUPPLEMENT: android.icu.lang.UCharacter.UnicodeBlock;
					public static SUNDANESE_SUPPLEMENT_ID: number;
					public static SUPERSCRIPTS_AND_SUBSCRIPTS: android.icu.lang.UCharacter.UnicodeBlock;
					public static SUPERSCRIPTS_AND_SUBSCRIPTS_ID: number;
					public static SUPPLEMENTAL_ARROWS_A: android.icu.lang.UCharacter.UnicodeBlock;
					public static SUPPLEMENTAL_ARROWS_A_ID: number;
					public static SUPPLEMENTAL_ARROWS_B: android.icu.lang.UCharacter.UnicodeBlock;
					public static SUPPLEMENTAL_ARROWS_B_ID: number;
					public static SUPPLEMENTAL_ARROWS_C: android.icu.lang.UCharacter.UnicodeBlock;
					public static SUPPLEMENTAL_ARROWS_C_ID: number;
					public static SUPPLEMENTAL_MATHEMATICAL_OPERATORS: android.icu.lang.UCharacter.UnicodeBlock;
					public static SUPPLEMENTAL_MATHEMATICAL_OPERATORS_ID: number;
					public static SUPPLEMENTAL_PUNCTUATION: android.icu.lang.UCharacter.UnicodeBlock;
					public static SUPPLEMENTAL_PUNCTUATION_ID: number;
					public static SUPPLEMENTAL_SYMBOLS_AND_PICTOGRAPHS: android.icu.lang.UCharacter.UnicodeBlock;
					public static SUPPLEMENTAL_SYMBOLS_AND_PICTOGRAPHS_ID: number;
					public static SUPPLEMENTARY_PRIVATE_USE_AREA_A: android.icu.lang.UCharacter.UnicodeBlock;
					public static SUPPLEMENTARY_PRIVATE_USE_AREA_A_ID: number;
					public static SUPPLEMENTARY_PRIVATE_USE_AREA_B: android.icu.lang.UCharacter.UnicodeBlock;
					public static SUPPLEMENTARY_PRIVATE_USE_AREA_B_ID: number;
					public static SUTTON_SIGNWRITING: android.icu.lang.UCharacter.UnicodeBlock;
					public static SUTTON_SIGNWRITING_ID: number;
					public static SYLOTI_NAGRI: android.icu.lang.UCharacter.UnicodeBlock;
					public static SYLOTI_NAGRI_ID: number;
					public static SYRIAC: android.icu.lang.UCharacter.UnicodeBlock;
					public static SYRIAC_ID: number;
					public static SYRIAC_SUPPLEMENT: android.icu.lang.UCharacter.UnicodeBlock;
					public static SYRIAC_SUPPLEMENT_ID: number;
					public static TAGALOG: android.icu.lang.UCharacter.UnicodeBlock;
					public static TAGALOG_ID: number;
					public static TAGBANWA: android.icu.lang.UCharacter.UnicodeBlock;
					public static TAGBANWA_ID: number;
					public static TAGS: android.icu.lang.UCharacter.UnicodeBlock;
					public static TAGS_ID: number;
					public static TAI_LE: android.icu.lang.UCharacter.UnicodeBlock;
					public static TAI_LE_ID: number;
					public static TAI_THAM: android.icu.lang.UCharacter.UnicodeBlock;
					public static TAI_THAM_ID: number;
					public static TAI_VIET: android.icu.lang.UCharacter.UnicodeBlock;
					public static TAI_VIET_ID: number;
					public static TAI_XUAN_JING_SYMBOLS: android.icu.lang.UCharacter.UnicodeBlock;
					public static TAI_XUAN_JING_SYMBOLS_ID: number;
					public static TAKRI: android.icu.lang.UCharacter.UnicodeBlock;
					public static TAKRI_ID: number;
					public static TAMIL: android.icu.lang.UCharacter.UnicodeBlock;
					public static TAMIL_ID: number;
					public static TANGUT: android.icu.lang.UCharacter.UnicodeBlock;
					public static TANGUT_COMPONENTS: android.icu.lang.UCharacter.UnicodeBlock;
					public static TANGUT_COMPONENTS_ID: number;
					public static TANGUT_ID: number;
					public static TELUGU: android.icu.lang.UCharacter.UnicodeBlock;
					public static TELUGU_ID: number;
					public static THAANA: android.icu.lang.UCharacter.UnicodeBlock;
					public static THAANA_ID: number;
					public static THAI: android.icu.lang.UCharacter.UnicodeBlock;
					public static THAI_ID: number;
					public static TIBETAN: android.icu.lang.UCharacter.UnicodeBlock;
					public static TIBETAN_ID: number;
					public static TIFINAGH: android.icu.lang.UCharacter.UnicodeBlock;
					public static TIFINAGH_ID: number;
					public static TIRHUTA: android.icu.lang.UCharacter.UnicodeBlock;
					public static TIRHUTA_ID: number;
					public static TRANSPORT_AND_MAP_SYMBOLS: android.icu.lang.UCharacter.UnicodeBlock;
					public static TRANSPORT_AND_MAP_SYMBOLS_ID: number;
					public static UGARITIC: android.icu.lang.UCharacter.UnicodeBlock;
					public static UGARITIC_ID: number;
					public static UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS: android.icu.lang.UCharacter.UnicodeBlock;
					public static UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED: android.icu.lang.UCharacter.UnicodeBlock;
					public static UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED_ID: number;
					public static UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_ID: number;
					public static VAI: android.icu.lang.UCharacter.UnicodeBlock;
					public static VAI_ID: number;
					public static VARIATION_SELECTORS: android.icu.lang.UCharacter.UnicodeBlock;
					public static VARIATION_SELECTORS_ID: number;
					public static VARIATION_SELECTORS_SUPPLEMENT: android.icu.lang.UCharacter.UnicodeBlock;
					public static VARIATION_SELECTORS_SUPPLEMENT_ID: number;
					public static VEDIC_EXTENSIONS: android.icu.lang.UCharacter.UnicodeBlock;
					public static VEDIC_EXTENSIONS_ID: number;
					public static VERTICAL_FORMS: android.icu.lang.UCharacter.UnicodeBlock;
					public static VERTICAL_FORMS_ID: number;
					public static WARANG_CITI: android.icu.lang.UCharacter.UnicodeBlock;
					public static WARANG_CITI_ID: number;
					public static YIJING_HEXAGRAM_SYMBOLS: android.icu.lang.UCharacter.UnicodeBlock;
					public static YIJING_HEXAGRAM_SYMBOLS_ID: number;
					public static YI_RADICALS: android.icu.lang.UCharacter.UnicodeBlock;
					public static YI_RADICALS_ID: number;
					public static YI_SYLLABLES: android.icu.lang.UCharacter.UnicodeBlock;
					public static YI_SYLLABLES_ID: number;
					public static ZANABAZAR_SQUARE: android.icu.lang.UCharacter.UnicodeBlock;
					public static ZANABAZAR_SQUARE_ID: number;
					public getID(): number;
					public static of(param0: number): android.icu.lang.UCharacter.UnicodeBlock;
					public static getInstance(param0: number): android.icu.lang.UCharacter.UnicodeBlock;
					public static forName(param0: string): android.icu.lang.UCharacter.UnicodeBlock;
				}
				export class WordBreak extends java.lang.Object {
					public static class: java.lang.Class<android.icu.lang.UCharacter.WordBreak>;
					/**
					 * Constructs a new instance of the android.icu.lang.UCharacter$WordBreak interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
					});
					public constructor();
					public static ZWJ: number;
					public static CR: number;
					public static SINGLE_QUOTE: number;
					public static REGIONAL_INDICATOR: number;
					public static MIDNUMLET: number;
					public static E_BASE_GAZ: number;
					public static NUMERIC: number;
					public static DOUBLE_QUOTE: number;
					public static FORMAT: number;
					public static HEBREW_LETTER: number;
					public static EXTEND: number;
					public static NEWLINE: number;
					public static MIDLETTER: number;
					public static LF: number;
					public static ALETTER: number;
					public static OTHER: number;
					public static E_BASE: number;
					public static E_MODIFIER: number;
					public static KATAKANA: number;
					public static MIDNUM: number;
					public static EXTENDNUMLET: number;
					public static GLUE_AFTER_ZWJ: number;
				}
			}
		}
	}
}

declare module android {
	export module icu {
		export module lang {
			export class UCharacterCategory extends java.lang.Object implements android.icu.lang.UCharacterEnums.ECharacterCategory {
				public static class: java.lang.Class<android.icu.lang.UCharacterCategory>;
				public static toString(param0: number): string;
				public toString(): string;
			}
		}
	}
}

declare module android {
	export module icu {
		export module lang {
			export class UCharacterDirection extends java.lang.Object implements android.icu.lang.UCharacterEnums.ECharacterDirection {
				public static class: java.lang.Class<android.icu.lang.UCharacterDirection>;
				public static toString(param0: number): string;
				public toString(): string;
			}
		}
	}
}

declare module android {
	export module icu {
		export module lang {
			export class UCharacterEnums extends java.lang.Object {
				public static class: java.lang.Class<android.icu.lang.UCharacterEnums>;
			}
			export module UCharacterEnums {
				export class ECharacterCategory extends java.lang.Object {
					public static class: java.lang.Class<android.icu.lang.UCharacterEnums.ECharacterCategory>;
					/**
					 * Constructs a new instance of the android.icu.lang.UCharacterEnums$ECharacterCategory interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
					});
					public constructor();
					public static GENERAL_OTHER_TYPES: number;
					public static CURRENCY_SYMBOL: number;
					public static LOWERCASE_LETTER: number;
					public static FORMAT: number;
					public static OTHER_NUMBER: number;
					public static MODIFIER_LETTER: number;
					public static PARAGRAPH_SEPARATOR: number;
					public static MODIFIER_SYMBOL: number;
					public static END_PUNCTUATION: number;
					public static FINAL_QUOTE_PUNCTUATION: number;
					public static SPACE_SEPARATOR: number;
					public static DASH_PUNCTUATION: number;
					public static DECIMAL_DIGIT_NUMBER: number;
					public static LETTER_NUMBER: number;
					public static SURROGATE: number;
					public static INITIAL_PUNCTUATION: number;
					public static PRIVATE_USE: number;
					public static LINE_SEPARATOR: number;
					public static NON_SPACING_MARK: number;
					public static UPPERCASE_LETTER: number;
					public static COMBINING_SPACING_MARK: number;
					public static FINAL_PUNCTUATION: number;
					public static TITLECASE_LETTER: number;
					public static START_PUNCTUATION: number;
					public static ENCLOSING_MARK: number;
					public static INITIAL_QUOTE_PUNCTUATION: number;
					public static UNASSIGNED: number;
					public static OTHER_PUNCTUATION: number;
					public static OTHER_SYMBOL: number;
					public static MATH_SYMBOL: number;
					public static CONNECTOR_PUNCTUATION: number;
					public static CONTROL: number;
					public static OTHER_LETTER: number;
				}
				export class ECharacterDirection extends java.lang.Object {
					public static class: java.lang.Class<android.icu.lang.UCharacterEnums.ECharacterDirection>;
					/**
					 * Constructs a new instance of the android.icu.lang.UCharacterEnums$ECharacterDirection interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
					});
					public constructor();
					public static SEGMENT_SEPARATOR: number;
					public static BLOCK_SEPARATOR: number;
					public static DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING: number;
					public static LEFT_TO_RIGHT: number;
					public static EUROPEAN_NUMBER_TERMINATOR: number;
					public static POP_DIRECTIONAL_FORMAT: number;
					public static DIRECTIONALITY_ARABIC_NUMBER: number;
					public static RIGHT_TO_LEFT_ISOLATE: number;
					public static FIRST_STRONG_ISOLATE: number;
					public static ARABIC_NUMBER: number;
					public static DIRECTIONALITY_RIGHT_TO_LEFT: number;
					public static RIGHT_TO_LEFT_ARABIC: number;
					public static RIGHT_TO_LEFT_EMBEDDING: number;
					public static LEFT_TO_RIGHT_ISOLATE: number;
					public static OTHER_NEUTRAL: number;
					public static POP_DIRECTIONAL_ISOLATE: number;
					public static EUROPEAN_NUMBER: number;
					public static DIRECTIONALITY_COMMON_NUMBER_SEPARATOR: number;
					public static DIRECTIONALITY_POP_DIRECTIONAL_FORMAT: number;
					public static DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE: number;
					public static EUROPEAN_NUMBER_SEPARATOR: number;
					public static WHITE_SPACE_NEUTRAL: number;
					public static DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR: number;
					public static DIRECTIONALITY_BOUNDARY_NEUTRAL: number;
					public static DIRECTIONALITY_EUROPEAN_NUMBER: number;
					public static DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR: number;
					public static DIRECTIONALITY_PARAGRAPH_SEPARATOR: number;
					public static BOUNDARY_NEUTRAL: number;
					public static COMMON_NUMBER_SEPARATOR: number;
					public static DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING: number;
					public static LEFT_TO_RIGHT_OVERRIDE: number;
					public static DIRECTIONALITY_UNDEFINED: number;
					public static DIRECTIONALITY_NONSPACING_MARK: number;
					public static DIRECTIONALITY_WHITESPACE: number;
					public static RIGHT_TO_LEFT: number;
					public static DIRECTIONALITY_OTHER_NEUTRALS: number;
					public static DIR_NON_SPACING_MARK: number;
					public static DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE: number;
					public static DIRECTIONALITY_LEFT_TO_RIGHT: number;
					public static DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC: number;
					public static DIRECTIONALITY_SEGMENT_SEPARATOR: number;
					public static LEFT_TO_RIGHT_EMBEDDING: number;
					public static RIGHT_TO_LEFT_OVERRIDE: number;
				}
			}
		}
	}
}

declare module android {
	export module icu {
		export module lang {
			export class UProperty extends java.lang.Object {
				public static class: java.lang.Class<android.icu.lang.UProperty>;
				/**
				 * Constructs a new instance of the android.icu.lang.UProperty interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
				});
				public constructor();
				public static CHANGES_WHEN_TITLECASED: number;
				public static BINARY_START: number;
				public static TITLECASE_MAPPING: number;
				public static UPPERCASE_MAPPING: number;
				public static CHANGES_WHEN_CASEFOLDED: number;
				public static EXTENDER: number;
				public static NUMERIC_TYPE: number;
				public static POSIX_XDIGIT: number;
				public static BIDI_PAIRED_BRACKET_TYPE: number;
				public static JOINING_TYPE: number;
				public static CHANGES_WHEN_LOWERCASED: number;
				public static OTHER_PROPERTY_START: number;
				public static NFD_INERT: number;
				public static FULL_COMPOSITION_EXCLUSION: number;
				public static STRING_START: number;
				public static CASE_FOLDING: number;
				public static CHANGES_WHEN_CASEMAPPED: number;
				public static BIDI_PAIRED_BRACKET: number;
				public static CHANGES_WHEN_NFKC_CASEFOLDED: number;
				public static DECOMPOSITION_TYPE: number;
				public static NFKD_QUICK_CHECK: number;
				public static PATTERN_WHITE_SPACE: number;
				public static NFKC_QUICK_CHECK: number;
				public static LINE_BREAK: number;
				public static NFC_QUICK_CHECK: number;
				public static IDEOGRAPHIC: number;
				public static BIDI_MIRRORED: number;
				public static NFD_QUICK_CHECK: number;
				public static ALPHABETIC: number;
				public static REGIONAL_INDICATOR: number;
				public static IDS_TRINARY_OPERATOR: number;
				public static CASE_IGNORABLE: number;
				public static DIACRITIC: number;
				public static GRAPHEME_LINK: number;
				public static LEAD_CANONICAL_COMBINING_CLASS: number;
				public static BIDI_CONTROL: number;
				public static LOGICAL_ORDER_EXCEPTION: number;
				public static SIMPLE_LOWERCASE_MAPPING: number;
				public static NFKD_INERT: number;
				public static MATH: number;
				public static WORD_BREAK: number;
				public static DEPRECATED: number;
				public static HANGUL_SYLLABLE_TYPE: number;
				public static ID_START: number;
				public static SEGMENT_STARTER: number;
				public static ASCII_HEX_DIGIT: number;
				public static IDS_BINARY_OPERATOR: number;
				public static NONCHARACTER_CODE_POINT: number;
				public static UNIFIED_IDEOGRAPH: number;
				public static PATTERN_SYNTAX: number;
				public static TRAIL_CANONICAL_COMBINING_CLASS: number;
				public static XID_START: number;
				public static VARIATION_SELECTOR: number;
				public static EMOJI_COMPONENT: number;
				public static GENERAL_CATEGORY: number;
				public static BIDI_MIRRORING_GLYPH: number;
				public static HEX_DIGIT: number;
				public static UPPERCASE: number;
				public static CASED: number;
				public static HYPHEN: number;
				public static LOWERCASE_MAPPING: number;
				public static S_TERM: number;
				public static AGE: number;
				public static SIMPLE_TITLECASE_MAPPING: number;
				public static DOUBLE_START: number;
				public static POSIX_BLANK: number;
				public static EMOJI: number;
				public static JOINING_GROUP: number;
				public static SENTENCE_BREAK: number;
				public static CHANGES_WHEN_UPPERCASED: number;
				public static GRAPHEME_BASE: number;
				public static MASK_START: number;
				public static JOIN_CONTROL: number;
				public static POSIX_PRINT: number;
				public static PREPENDED_CONCATENATION_MARK: number;
				public static SCRIPT_EXTENSIONS: number;
				public static SIMPLE_UPPERCASE_MAPPING: number;
				public static CANONICAL_COMBINING_CLASS: number;
				public static LOWERCASE: number;
				public static POSIX_ALNUM: number;
				public static SIMPLE_CASE_FOLDING: number;
				public static EMOJI_PRESENTATION: number;
				public static XID_CONTINUE: number;
				public static DASH: number;
				public static GENERAL_CATEGORY_MASK: number;
				public static EMOJI_MODIFIER_BASE: number;
				public static NFKC_INERT: number;
				public static POSIX_GRAPH: number;
				public static CASE_SENSITIVE: number;
				public static WHITE_SPACE: number;
				public static QUOTATION_MARK: number;
				public static GRAPHEME_EXTEND: number;
				public static TERMINAL_PUNCTUATION: number;
				public static DEFAULT_IGNORABLE_CODE_POINT: number;
				public static NUMERIC_VALUE: number;
				public static BLOCK: number;
				public static INT_START: number;
				public static NAME: number;
				public static EMOJI_MODIFIER: number;
				public static NFC_INERT: number;
				public static BIDI_CLASS: number;
				public static SOFT_DOTTED: number;
				public static ID_CONTINUE: number;
				public static EAST_ASIAN_WIDTH: number;
				public static RADICAL: number;
				public static SCRIPT: number;
				public static GRAPHEME_CLUSTER_BREAK: number;
			}
			export module UProperty {
				export class NameChoice extends java.lang.Object {
					public static class: java.lang.Class<android.icu.lang.UProperty.NameChoice>;
					/**
					 * Constructs a new instance of the android.icu.lang.UProperty$NameChoice interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
					});
					public constructor();
					public static LONG: number;
					public static SHORT: number;
				}
			}
		}
	}
}

declare module android {
	export module icu {
		export module lang {
			export class UScript extends java.lang.Object {
				public static class: java.lang.Class<android.icu.lang.UScript>;
				public static ADLAM: number;
				public static AFAKA: number;
				public static AHOM: number;
				public static ANATOLIAN_HIEROGLYPHS: number;
				public static ARABIC: number;
				public static ARMENIAN: number;
				public static AVESTAN: number;
				public static BALINESE: number;
				public static BAMUM: number;
				public static BASSA_VAH: number;
				public static BATAK: number;
				public static BENGALI: number;
				public static BHAIKSUKI: number;
				public static BLISSYMBOLS: number;
				public static BOOK_PAHLAVI: number;
				public static BOPOMOFO: number;
				public static BRAHMI: number;
				public static BRAILLE: number;
				public static BUGINESE: number;
				public static BUHID: number;
				public static CANADIAN_ABORIGINAL: number;
				public static CARIAN: number;
				public static CAUCASIAN_ALBANIAN: number;
				public static CHAKMA: number;
				public static CHAM: number;
				public static CHEROKEE: number;
				public static CIRTH: number;
				public static COMMON: number;
				public static COPTIC: number;
				public static CUNEIFORM: number;
				public static CYPRIOT: number;
				public static CYRILLIC: number;
				public static DEMOTIC_EGYPTIAN: number;
				public static DESERET: number;
				public static DEVANAGARI: number;
				public static DUPLOYAN: number;
				public static EASTERN_SYRIAC: number;
				public static EGYPTIAN_HIEROGLYPHS: number;
				public static ELBASAN: number;
				public static ESTRANGELO_SYRIAC: number;
				public static ETHIOPIC: number;
				public static GEORGIAN: number;
				public static GLAGOLITIC: number;
				public static GOTHIC: number;
				public static GRANTHA: number;
				public static GREEK: number;
				public static GUJARATI: number;
				public static GURMUKHI: number;
				public static HAN: number;
				public static HANGUL: number;
				public static HANUNOO: number;
				public static HAN_WITH_BOPOMOFO: number;
				public static HARAPPAN_INDUS: number;
				public static HATRAN: number;
				public static HEBREW: number;
				public static HIERATIC_EGYPTIAN: number;
				public static HIRAGANA: number;
				public static IMPERIAL_ARAMAIC: number;
				public static INHERITED: number;
				public static INSCRIPTIONAL_PAHLAVI: number;
				public static INSCRIPTIONAL_PARTHIAN: number;
				public static INVALID_CODE: number;
				public static JAMO: number;
				public static JAPANESE: number;
				public static JAVANESE: number;
				public static JURCHEN: number;
				public static KAITHI: number;
				public static KANNADA: number;
				public static KATAKANA: number;
				public static KATAKANA_OR_HIRAGANA: number;
				public static KAYAH_LI: number;
				public static KHAROSHTHI: number;
				public static KHMER: number;
				public static KHOJKI: number;
				public static KHUDAWADI: number;
				public static KHUTSURI: number;
				public static KOREAN: number;
				public static KPELLE: number;
				public static LANNA: number;
				public static LAO: number;
				public static LATIN: number;
				public static LATIN_FRAKTUR: number;
				public static LATIN_GAELIC: number;
				public static LEPCHA: number;
				public static LIMBU: number;
				public static LINEAR_A: number;
				public static LINEAR_B: number;
				public static LISU: number;
				public static LOMA: number;
				public static LYCIAN: number;
				public static LYDIAN: number;
				public static MAHAJANI: number;
				public static MALAYALAM: number;
				public static MANDAEAN: number;
				public static MANDAIC: number;
				public static MANICHAEAN: number;
				public static MARCHEN: number;
				public static MASARAM_GONDI: number;
				public static MATHEMATICAL_NOTATION: number;
				public static MAYAN_HIEROGLYPHS: number;
				public static MEITEI_MAYEK: number;
				public static MENDE: number;
				public static MEROITIC: number;
				public static MEROITIC_CURSIVE: number;
				public static MEROITIC_HIEROGLYPHS: number;
				public static MIAO: number;
				public static MODI: number;
				public static MONGOLIAN: number;
				public static MOON: number;
				public static MRO: number;
				public static MULTANI: number;
				public static MYANMAR: number;
				public static NABATAEAN: number;
				public static NAKHI_GEBA: number;
				public static NEWA: number;
				public static NEW_TAI_LUE: number;
				public static NKO: number;
				public static NUSHU: number;
				public static OGHAM: number;
				public static OLD_CHURCH_SLAVONIC_CYRILLIC: number;
				public static OLD_HUNGARIAN: number;
				public static OLD_ITALIC: number;
				public static OLD_NORTH_ARABIAN: number;
				public static OLD_PERMIC: number;
				public static OLD_PERSIAN: number;
				public static OLD_SOUTH_ARABIAN: number;
				public static OL_CHIKI: number;
				public static ORIYA: number;
				public static ORKHON: number;
				public static OSAGE: number;
				public static OSMANYA: number;
				public static PAHAWH_HMONG: number;
				public static PALMYRENE: number;
				public static PAU_CIN_HAU: number;
				public static PHAGS_PA: number;
				public static PHOENICIAN: number;
				public static PHONETIC_POLLARD: number;
				public static PSALTER_PAHLAVI: number;
				public static REJANG: number;
				public static RONGORONGO: number;
				public static RUNIC: number;
				public static SAMARITAN: number;
				public static SARATI: number;
				public static SAURASHTRA: number;
				public static SHARADA: number;
				public static SHAVIAN: number;
				public static SIDDHAM: number;
				public static SIGN_WRITING: number;
				public static SIMPLIFIED_HAN: number;
				public static SINDHI: number;
				public static SINHALA: number;
				public static SORA_SOMPENG: number;
				public static SOYOMBO: number;
				public static SUNDANESE: number;
				public static SYLOTI_NAGRI: number;
				public static SYMBOLS: number;
				public static SYMBOLS_EMOJI: number;
				public static SYRIAC: number;
				public static TAGALOG: number;
				public static TAGBANWA: number;
				public static TAI_LE: number;
				public static TAI_VIET: number;
				public static TAKRI: number;
				public static TAMIL: number;
				public static TANGUT: number;
				public static TELUGU: number;
				public static TENGWAR: number;
				public static THAANA: number;
				public static THAI: number;
				public static TIBETAN: number;
				public static TIFINAGH: number;
				public static TIRHUTA: number;
				public static TRADITIONAL_HAN: number;
				public static UCAS: number;
				public static UGARITIC: number;
				public static UNKNOWN: number;
				public static UNWRITTEN_LANGUAGES: number;
				public static VAI: number;
				public static VISIBLE_SPEECH: number;
				public static WARANG_CITI: number;
				public static WESTERN_SYRIAC: number;
				public static WOLEAI: number;
				public static YI: number;
				public static ZANABAZAR_SQUARE: number;
				public static getCode(param0: java.util.Locale): native.Array<number>;
				public static getCode(param0: string): native.Array<number>;
				public static isRightToLeft(param0: number): boolean;
				public static getScriptExtensions(param0: number, param1: java.util.BitSet): number;
				public static getSampleString(param0: number): string;
				public static isCased(param0: number): boolean;
				public static getScript(param0: number): number;
				public static hasScript(param0: number, param1: number): boolean;
				public static breaksBetweenLetters(param0: number): boolean;
				public static getCode(param0: android.icu.util.ULocale): native.Array<number>;
				public static getName(param0: number): string;
				public static getCodeFromName(param0: string): number;
				public static getUsage(param0: number): android.icu.lang.UScript.ScriptUsage;
				public static getShortName(param0: number): string;
			}
			export module UScript {
				export class ScriptUsage {
					public static class: java.lang.Class<android.icu.lang.UScript.ScriptUsage>;
					public static NOT_ENCODED: android.icu.lang.UScript.ScriptUsage;
					public static UNKNOWN: android.icu.lang.UScript.ScriptUsage;
					public static EXCLUDED: android.icu.lang.UScript.ScriptUsage;
					public static LIMITED_USE: android.icu.lang.UScript.ScriptUsage;
					public static ASPIRATIONAL: android.icu.lang.UScript.ScriptUsage;
					public static RECOMMENDED: android.icu.lang.UScript.ScriptUsage;
					public static valueOf(param0: string): android.icu.lang.UScript.ScriptUsage;
					public static values(): native.Array<android.icu.lang.UScript.ScriptUsage>;
					public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
				}
			}
		}
	}
}

declare module android {
	export module icu {
		export module math {
			export class BigDecimal extends java.lang.Number {
				public static class: java.lang.Class<android.icu.math.BigDecimal>;
				public static ONE: android.icu.math.BigDecimal;
				public static ROUND_CEILING: number;
				public static ROUND_DOWN: number;
				public static ROUND_FLOOR: number;
				public static ROUND_HALF_DOWN: number;
				public static ROUND_HALF_EVEN: number;
				public static ROUND_HALF_UP: number;
				public static ROUND_UNNECESSARY: number;
				public static ROUND_UP: number;
				public static TEN: android.icu.math.BigDecimal;
				public static ZERO: android.icu.math.BigDecimal;
				public static valueOf(param0: number): android.icu.math.BigDecimal;
				public compareTo(param0: android.icu.math.BigDecimal): number;
				public negate(param0: android.icu.math.MathContext): android.icu.math.BigDecimal;
				public byteValueExact(): number;
				public toBigInteger(): java.math.BigInteger;
				public remainder(param0: android.icu.math.BigDecimal, param1: android.icu.math.MathContext): android.icu.math.BigDecimal;
				public plus(): android.icu.math.BigDecimal;
				public divide(param0: android.icu.math.BigDecimal): android.icu.math.BigDecimal;
				public abs(param0: android.icu.math.MathContext): android.icu.math.BigDecimal;
				public constructor();
				public negate(): android.icu.math.BigDecimal;
				public movePointRight(param0: number): android.icu.math.BigDecimal;
				public hashCode(): number;
				public equals(param0: any): boolean;
				public constructor(param0: java.math.BigDecimal);
				public intValueExact(): number;
				public divideInteger(param0: android.icu.math.BigDecimal, param1: android.icu.math.MathContext): android.icu.math.BigDecimal;
				public shortValueExact(): number;
				public signum(): number;
				public static valueOf(param0: number, param1: number): android.icu.math.BigDecimal;
				public add(param0: android.icu.math.BigDecimal, param1: android.icu.math.MathContext): android.icu.math.BigDecimal;
				public min(param0: android.icu.math.BigDecimal, param1: android.icu.math.MathContext): android.icu.math.BigDecimal;
				public longValue(): number;
				public constructor(param0: native.Array<string>, param1: number, param2: number);
				public toString(): string;
				public constructor(param0: java.math.BigInteger, param1: number);
				public format(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number): string;
				public pow(param0: android.icu.math.BigDecimal, param1: android.icu.math.MathContext): android.icu.math.BigDecimal;
				public subtract(param0: android.icu.math.BigDecimal): android.icu.math.BigDecimal;
				public floatValue(): number;
				public setScale(param0: number): android.icu.math.BigDecimal;
				public toBigIntegerExact(): java.math.BigInteger;
				public add(param0: android.icu.math.BigDecimal): android.icu.math.BigDecimal;
				public doubleValue(): number;
				public format(param0: number, param1: number): string;
				public movePointLeft(param0: number): android.icu.math.BigDecimal;
				public max(param0: android.icu.math.BigDecimal, param1: android.icu.math.MathContext): android.icu.math.BigDecimal;
				public abs(): android.icu.math.BigDecimal;
				public plus(param0: android.icu.math.MathContext): android.icu.math.BigDecimal;
				public multiply(param0: android.icu.math.BigDecimal): android.icu.math.BigDecimal;
				public scale(): number;
				public divideInteger(param0: android.icu.math.BigDecimal): android.icu.math.BigDecimal;
				public divide(param0: android.icu.math.BigDecimal, param1: android.icu.math.MathContext): android.icu.math.BigDecimal;
				public max(param0: android.icu.math.BigDecimal): android.icu.math.BigDecimal;
				public intValue(): number;
				public toCharArray(): native.Array<string>;
				public constructor(param0: java.math.BigInteger);
				public constructor(param0: string);
				public min(param0: android.icu.math.BigDecimal): android.icu.math.BigDecimal;
				public compareTo(param0: android.icu.math.BigDecimal, param1: android.icu.math.MathContext): number;
				public toBigDecimal(): java.math.BigDecimal;
				public unscaledValue(): java.math.BigInteger;
				public subtract(param0: android.icu.math.BigDecimal, param1: android.icu.math.MathContext): android.icu.math.BigDecimal;
				public multiply(param0: android.icu.math.BigDecimal, param1: android.icu.math.MathContext): android.icu.math.BigDecimal;
				public remainder(param0: android.icu.math.BigDecimal): android.icu.math.BigDecimal;
				public setScale(param0: number, param1: number): android.icu.math.BigDecimal;
				public divide(param0: android.icu.math.BigDecimal, param1: number, param2: number): android.icu.math.BigDecimal;
				public constructor(param0: native.Array<string>);
				public constructor(param0: number);
				public longValueExact(): number;
				public pow(param0: android.icu.math.BigDecimal): android.icu.math.BigDecimal;
				public divide(param0: android.icu.math.BigDecimal, param1: number): android.icu.math.BigDecimal;
			}
		}
	}
}

declare module android {
	export module icu {
		export module math {
			export class MathContext extends java.lang.Object implements java.io.Serializable {
				public static class: java.lang.Class<android.icu.math.MathContext>;
				public static DEFAULT: android.icu.math.MathContext;
				public static ENGINEERING: number;
				public static PLAIN: number;
				public static ROUND_CEILING: number;
				public static ROUND_DOWN: number;
				public static ROUND_FLOOR: number;
				public static ROUND_HALF_DOWN: number;
				public static ROUND_HALF_EVEN: number;
				public static ROUND_HALF_UP: number;
				public static ROUND_UNNECESSARY: number;
				public static ROUND_UP: number;
				public static SCIENTIFIC: number;
				public constructor(param0: number, param1: number);
				public constructor(param0: number, param1: number, param2: boolean);
				public constructor(param0: number, param1: number, param2: boolean, param3: number);
				public getDigits(): number;
				public constructor(param0: number);
				public getForm(): number;
				public getLostDigits(): boolean;
				public toString(): string;
				public getRoundingMode(): number;
			}
		}
	}
}

declare module android {
	export module icu {
		export module text {
			export class AlphabeticIndex<V>  extends java.lang.Iterable<android.icu.text.AlphabeticIndex.Bucket<any>> {
				public static class: java.lang.Class<android.icu.text.AlphabeticIndex<any>>;
				public setUnderflowLabel(param0: string): android.icu.text.AlphabeticIndex<any>;
				public getMaxLabelCount(): number;
				public clearRecords(): android.icu.text.AlphabeticIndex<any>;
				public getInflowLabel(): string;
				public constructor(param0: java.util.Locale);
				public constructor(param0: android.icu.text.RuleBasedCollator);
				public setMaxLabelCount(param0: number): android.icu.text.AlphabeticIndex<any>;
				public getBucketCount(): number;
				public iterator(): java.util.Iterator<android.icu.text.AlphabeticIndex.Bucket<any>>;
				public getOverflowLabel(): string;
				public addLabels(param0: native.Array<java.util.Locale>): android.icu.text.AlphabeticIndex<any>;
				public getCollator(): android.icu.text.RuleBasedCollator;
				public setInflowLabel(param0: string): android.icu.text.AlphabeticIndex<any>;
				public getBucketIndex(param0: string): number;
				public buildImmutableIndex(): android.icu.text.AlphabeticIndex.ImmutableIndex<any>;
				public spliterator(): java.util.Spliterator<any>;
				public addLabels(param0: android.icu.text.UnicodeSet): android.icu.text.AlphabeticIndex<any>;
				public iterator(): java.util.Iterator<any>;
				public setOverflowLabel(param0: string): android.icu.text.AlphabeticIndex<any>;
				public getUnderflowLabel(): string;
				public addLabels(param0: native.Array<android.icu.util.ULocale>): android.icu.text.AlphabeticIndex<any>;
				public getBucketLabels(): java.util.List<string>;
				public forEach(param0: any /* any*/): void;
				public constructor(param0: android.icu.util.ULocale);
				public addRecord(param0: string, param1: any): android.icu.text.AlphabeticIndex<any>;
				public getRecordCount(): number;
			}
			export module AlphabeticIndex {
				export class Bucket<V>  extends java.lang.Iterable<android.icu.text.AlphabeticIndex.Record<any>> {
					public static class: java.lang.Class<android.icu.text.AlphabeticIndex.Bucket<any>>;
					public getLabel(): string;
					public toString(): string;
					public iterator(): java.util.Iterator<any>;
					public spliterator(): java.util.Spliterator<any>;
					public getLabelType(): android.icu.text.AlphabeticIndex.Bucket.LabelType;
					public iterator(): java.util.Iterator<android.icu.text.AlphabeticIndex.Record<any>>;
					public size(): number;
					public forEach(param0: any /* any*/): void;
				}
				export module Bucket {
					export class LabelType {
						public static class: java.lang.Class<android.icu.text.AlphabeticIndex.Bucket.LabelType>;
						public static NORMAL: android.icu.text.AlphabeticIndex.Bucket.LabelType;
						public static UNDERFLOW: android.icu.text.AlphabeticIndex.Bucket.LabelType;
						public static INFLOW: android.icu.text.AlphabeticIndex.Bucket.LabelType;
						public static OVERFLOW: android.icu.text.AlphabeticIndex.Bucket.LabelType;
						public static valueOf(param0: string): android.icu.text.AlphabeticIndex.Bucket.LabelType;
						public static values(): native.Array<android.icu.text.AlphabeticIndex.Bucket.LabelType>;
						public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
					}
				}
				export class ImmutableIndex<V>  extends java.lang.Iterable<android.icu.text.AlphabeticIndex.Bucket<any>> {
					public static class: java.lang.Class<android.icu.text.AlphabeticIndex.ImmutableIndex<any>>;
					public getBucketCount(): number;
					public iterator(): java.util.Iterator<any>;
					public spliterator(): java.util.Spliterator<any>;
					public iterator(): java.util.Iterator<android.icu.text.AlphabeticIndex.Bucket<any>>;
					public getBucketIndex(param0: string): number;
					public getBucket(param0: number): android.icu.text.AlphabeticIndex.Bucket<any>;
					public forEach(param0: any /* any*/): void;
				}
				export class Record<V>  extends java.lang.Object {
					public static class: java.lang.Class<android.icu.text.AlphabeticIndex.Record<any>>;
					public toString(): string;
					public getName(): string;
					public getData(): V;
				}
			}
		}
	}
}

declare module android {
	export module icu {
		export module text {
			export abstract class BreakIterator extends java.lang.Object implements java.lang.Cloneable {
				public static class: java.lang.Class<android.icu.text.BreakIterator>;
				public static DONE: number;
				public static KIND_CHARACTER: number;
				public static KIND_LINE: number;
				public static KIND_SENTENCE: number;
				public static KIND_TITLE: number;
				public static KIND_WORD: number;
				public static WORD_IDEO: number;
				public static WORD_IDEO_LIMIT: number;
				public static WORD_KANA: number;
				public static WORD_KANA_LIMIT: number;
				public static WORD_LETTER: number;
				public static WORD_LETTER_LIMIT: number;
				public static WORD_NONE: number;
				public static WORD_NONE_LIMIT: number;
				public static WORD_NUMBER: number;
				public static WORD_NUMBER_LIMIT: number;
				public previous(): number;
				public static getLineInstance(param0: android.icu.util.ULocale): android.icu.text.BreakIterator;
				public static getTitleInstance(param0: android.icu.util.ULocale): android.icu.text.BreakIterator;
				public static getCharacterInstance(): android.icu.text.BreakIterator;
				public constructor();
				public static getLineInstance(): android.icu.text.BreakIterator;
				public isBoundary(param0: number): boolean;
				public static getCharacterInstance(param0: java.util.Locale): android.icu.text.BreakIterator;
				public clone(): any;
				public static getSentenceInstance(param0: java.util.Locale): android.icu.text.BreakIterator;
				public static getWordInstance(): android.icu.text.BreakIterator;
				public setText(param0: java.text.CharacterIterator): void;
				public static getWordInstance(param0: java.util.Locale): android.icu.text.BreakIterator;
				public static getSentenceInstance(): android.icu.text.BreakIterator;
				public first(): number;
				public current(): number;
				public following(param0: number): number;
				public getRuleStatus(): number;
				public static getSentenceInstance(param0: android.icu.util.ULocale): android.icu.text.BreakIterator;
				public static getTitleInstance(): android.icu.text.BreakIterator;
				public preceding(param0: number): number;
				public static getCharacterInstance(param0: android.icu.util.ULocale): android.icu.text.BreakIterator;
				public static getTitleInstance(param0: java.util.Locale): android.icu.text.BreakIterator;
				public static getAvailableLocales(): native.Array<java.util.Locale>;
				public static getLineInstance(param0: java.util.Locale): android.icu.text.BreakIterator;
				public static getWordInstance(param0: android.icu.util.ULocale): android.icu.text.BreakIterator;
				public next(param0: number): number;
				public next(): number;
				public setText(param0: string): void;
				public last(): number;
				public getRuleStatusVec(param0: native.Array<number>): number;
				public getText(): java.text.CharacterIterator;
			}
		}
	}
}

declare module android {
	export module icu {
		export module text {
			export class CollationElementIterator extends java.lang.Object {
				public static class: java.lang.Class<android.icu.text.CollationElementIterator>;
				public static IGNORABLE: number;
				public static NULLORDER: number;
				/** @deprecated */
				public hashCode(): number;
				public static primaryOrder(param0: number): number;
				public previous(): number;
				public setText(param0: android.icu.text.UCharacterIterator): void;
				public static tertiaryOrder(param0: number): number;
				public getOffset(): number;
				public reset(): void;
				public hashCode(): number;
				public static secondaryOrder(param0: number): number;
				public setOffset(param0: number): void;
				public equals(param0: any): boolean;
				public next(): number;
				public setText(param0: string): void;
				public setText(param0: java.text.CharacterIterator): void;
				public getMaxExpansion(param0: number): number;
			}
		}
	}
}

declare module android {
	export module icu {
		export module text {
			export class CollationKey extends java.lang.Comparable<android.icu.text.CollationKey> {
				public static class: java.lang.Class<android.icu.text.CollationKey>;
				public getSourceString(): string;
				public merge(param0: android.icu.text.CollationKey): android.icu.text.CollationKey;
				public compareTo(param0: android.icu.text.CollationKey): number;
				public hashCode(): number;
				public equals(param0: any): boolean;
				public getBound(param0: number, param1: number): android.icu.text.CollationKey;
				public constructor(param0: string, param1: native.Array<number>);
				public toByteArray(): native.Array<number>;
				public equals(param0: android.icu.text.CollationKey): boolean;
			}
			export module CollationKey {
				export class BoundMode extends java.lang.Object {
					public static class: java.lang.Class<android.icu.text.CollationKey.BoundMode>;
					public static LOWER: number;
					public static UPPER: number;
					public static UPPER_LONG: number;
				}
			}
		}
	}
}

declare module android {
	export module icu {
		export module text {
			export abstract class Collator extends java.lang.Object {
				public static class: java.lang.Class<android.icu.text.Collator>;
				public static CANONICAL_DECOMPOSITION: number;
				public static FULL_DECOMPOSITION: number;
				public static IDENTICAL: number;
				public static NO_DECOMPOSITION: number;
				public static PRIMARY: number;
				public static QUATERNARY: number;
				public static SECONDARY: number;
				public static TERTIARY: number;
				public static comparingInt(param0: any /* any*/): java.util.Comparator<any>;
				public getCollationKey(param0: string): android.icu.text.CollationKey;
				public compare(param0: any, param1: any): number;
				public thenComparingInt(param0: any /* any*/): java.util.Comparator<any>;
				public constructor();
				public setMaxVariable(param0: number): android.icu.text.Collator;
				public getDecomposition(): number;
				public hashCode(): number;
				public static getDisplayName(param0: android.icu.util.ULocale, param1: android.icu.util.ULocale): string;
				public equals(param0: any): boolean;
				public clone(): any;
				public static getKeywordValues(param0: string): native.Array<string>;
				public static getDisplayName(param0: android.icu.util.ULocale): string;
				public static naturalOrder(): java.util.Comparator<any>;
				public setStrength(param0: number): void;
				public getVariableTop(): number;
				public static getFunctionalEquivalent(param0: string, param1: android.icu.util.ULocale, param2: native.Array<boolean>): android.icu.util.ULocale;
				public static getInstance(param0: android.icu.util.ULocale): android.icu.text.Collator;
				public getReorderCodes(): native.Array<number>;
				public static getAvailableLocales(): native.Array<java.util.Locale>;
				public static getInstance(): android.icu.text.Collator;
				public thenComparing(param0: java.util.Comparator<any>): java.util.Comparator<any>;
				public static getKeywordValuesForLocale(param0: string, param1: android.icu.util.ULocale, param2: boolean): native.Array<string>;
				public static getFunctionalEquivalent(param0: string, param1: android.icu.util.ULocale): android.icu.util.ULocale;
				public static getEquivalentReorderCodes(param0: number): native.Array<number>;
				public static comparingDouble(param0: any /* any*/): java.util.Comparator<any>;
				public thenComparing(param0: any /* any*/, param1: java.util.Comparator<any>): java.util.Comparator<any>;
				public cloneAsThawed(): android.icu.text.Collator;
				public static getKeywords(): native.Array<string>;
				public isFrozen(): boolean;
				public static getInstance(param0: java.util.Locale): android.icu.text.Collator;
				public static getAvailableULocales(): native.Array<android.icu.util.ULocale>;
				public setDecomposition(param0: number): void;
				public static reverseOrder(): java.util.Comparator<any>;
				public getUCAVersion(): android.icu.util.VersionInfo;
				public static nullsFirst(param0: java.util.Comparator<any>): java.util.Comparator<any>;
				public getVersion(): android.icu.util.VersionInfo;
				public cloneAsThawed(): any;
				public static getDisplayName(param0: java.util.Locale): string;
				public reversed(): java.util.Comparator<any>;
				public thenComparing(param0: any /* any*/): java.util.Comparator<any>;
				public equals(param0: string, param1: string): boolean;
				public getTailoredSet(): android.icu.text.UnicodeSet;
				public getStrength(): number;
				public thenComparingDouble(param0: any /* any*/): java.util.Comparator<any>;
				public static comparingLong(param0: any /* any*/): java.util.Comparator<any>;
				public static getDisplayName(param0: java.util.Locale, param1: java.util.Locale): string;
				public freeze(): android.icu.text.Collator;
				public static comparing(param0: any /* any*/, param1: java.util.Comparator<any>): java.util.Comparator<any>;
				public thenComparingLong(param0: any /* any*/): java.util.Comparator<any>;
				public setReorderCodes(param0: native.Array<number>): void;
				public compare(param0: string, param1: string): number;
				public static comparing(param0: any /* any*/): java.util.Comparator<any>;
				public freeze(): any;
				public static nullsLast(param0: java.util.Comparator<any>): java.util.Comparator<any>;
				public getMaxVariable(): number;
			}
			export module Collator {
				export class ReorderCodes extends java.lang.Object {
					public static class: java.lang.Class<android.icu.text.Collator.ReorderCodes>;
					/**
					 * Constructs a new instance of the android.icu.text.Collator$ReorderCodes interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
					});
					public constructor();
					public static DIGIT: number;
					public static FIRST: number;
					public static NONE: number;
					public static PUNCTUATION: number;
					public static DEFAULT: number;
					public static CURRENCY: number;
					public static SPACE: number;
					public static OTHERS: number;
					public static SYMBOL: number;
				}
			}
		}
	}
}

declare module android {
	export module icu {
		export module text {
			export class CompactDecimalFormat extends android.icu.text.DecimalFormat {
				public static class: java.lang.Class<android.icu.text.CompactDecimalFormat>;
				public static getInstance(param0: android.icu.util.ULocale, param1: number): android.icu.text.NumberFormat;
				public parse(param0: string): java.lang.Number;
				public static getInstance(param0: number): android.icu.text.NumberFormat;
				public parse(param0: string, param1: java.text.ParsePosition): java.lang.Number;
				public static getInstance(): android.icu.text.NumberFormat;
				public static getInstance(param0: java.util.Locale): android.icu.text.NumberFormat;
				public static getInstance(param0: java.util.Locale, param1: number): android.icu.text.NumberFormat;
				public static getInstance(param0: android.icu.util.ULocale, param1: android.icu.text.CompactDecimalFormat.CompactStyle): android.icu.text.CompactDecimalFormat;
				public static getInstance(param0: android.icu.util.ULocale): android.icu.text.NumberFormat;
				public static getInstance(param0: java.util.Locale, param1: android.icu.text.CompactDecimalFormat.CompactStyle): android.icu.text.CompactDecimalFormat;
				public parseCurrency(param0: string, param1: java.text.ParsePosition): android.icu.util.CurrencyAmount;
			}
			export module CompactDecimalFormat {
				export class CompactStyle {
					public static class: java.lang.Class<android.icu.text.CompactDecimalFormat.CompactStyle>;
					public static SHORT: android.icu.text.CompactDecimalFormat.CompactStyle;
					public static LONG: android.icu.text.CompactDecimalFormat.CompactStyle;
					public static values(): native.Array<android.icu.text.CompactDecimalFormat.CompactStyle>;
					public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
					public static valueOf(param0: string): android.icu.text.CompactDecimalFormat.CompactStyle;
				}
			}
		}
	}
}

declare module android {
	export module icu {
		export module text {
			export class CurrencyPluralInfo extends java.lang.Object implements java.lang.Cloneable, java.io.Serializable {
				public static class: java.lang.Class<android.icu.text.CurrencyPluralInfo>;
				/** @deprecated */
				public hashCode(): number;
				public getPluralRules(): android.icu.text.PluralRules;
				public setCurrencyPluralPattern(param0: string, param1: string): void;
				public constructor(param0: java.util.Locale);
				public static getInstance(): android.icu.text.CurrencyPluralInfo;
				public getLocale(): android.icu.util.ULocale;
				public setLocale(param0: android.icu.util.ULocale): void;
				public static getInstance(param0: android.icu.util.ULocale): android.icu.text.CurrencyPluralInfo;
				public constructor();
				public setPluralRules(param0: string): void;
				public static getInstance(param0: java.util.Locale): android.icu.text.CurrencyPluralInfo;
				public hashCode(): number;
				public constructor(param0: android.icu.util.ULocale);
				public clone(): any;
				public equals(param0: any): boolean;
				public getCurrencyPluralPattern(param0: string): string;
			}
		}
	}
}

declare module android {
	export module icu {
		export module text {
			export abstract class DateFormat extends android.icu.text.UFormat {
				public static class: java.lang.Class<android.icu.text.DateFormat>;
				public static ABBR_GENERIC_TZ: string;
				public static ABBR_MONTH: string;
				public static ABBR_MONTH_DAY: string;
				public static ABBR_MONTH_WEEKDAY_DAY: string;
				public static ABBR_QUARTER: string;
				public static ABBR_SPECIFIC_TZ: string;
				public static ABBR_UTC_TZ: string;
				public static ABBR_WEEKDAY: string;
				public static AM_PM_FIELD: number;
				public static AM_PM_MIDNIGHT_NOON_FIELD: number;
				public static DATE_FIELD: number;
				public static DAY: string;
				public static DAY_OF_WEEK_FIELD: number;
				public static DAY_OF_WEEK_IN_MONTH_FIELD: number;
				public static DAY_OF_YEAR_FIELD: number;
				public static DEFAULT: number;
				public static DOW_LOCAL_FIELD: number;
				public static ERA_FIELD: number;
				public static EXTENDED_YEAR_FIELD: number;
				public static FLEXIBLE_DAY_PERIOD_FIELD: number;
				public static FRACTIONAL_SECOND_FIELD: number;
				public static FULL: number;
				public static GENERIC_TZ: string;
				public static HOUR: string;
				public static HOUR0_FIELD: number;
				public static HOUR1_FIELD: number;
				public static HOUR24: string;
				public static HOUR24_MINUTE: string;
				public static HOUR24_MINUTE_SECOND: string;
				public static HOUR_MINUTE: string;
				public static HOUR_MINUTE_SECOND: string;
				public static HOUR_OF_DAY0_FIELD: number;
				public static HOUR_OF_DAY1_FIELD: number;
				public static JULIAN_DAY_FIELD: number;
				public static LOCATION_TZ: string;
				public static LONG: number;
				public static MEDIUM: number;
				public static MILLISECONDS_IN_DAY_FIELD: number;
				public static MILLISECOND_FIELD: number;
				public static MINUTE: string;
				public static MINUTE_FIELD: number;
				public static MINUTE_SECOND: string;
				public static MONTH: string;
				public static MONTH_DAY: string;
				public static MONTH_FIELD: number;
				public static MONTH_WEEKDAY_DAY: string;
				public static NONE: number;
				public static NUM_MONTH: string;
				public static NUM_MONTH_DAY: string;
				public static NUM_MONTH_WEEKDAY_DAY: string;
				public static QUARTER: string;
				public static QUARTER_FIELD: number;
				public static RELATIVE: number;
				public static RELATIVE_DEFAULT: number;
				public static RELATIVE_FULL: number;
				public static RELATIVE_LONG: number;
				public static RELATIVE_MEDIUM: number;
				public static RELATIVE_SHORT: number;
				public static SECOND: string;
				public static SECOND_FIELD: number;
				public static SHORT: number;
				public static SPECIFIC_TZ: string;
				public static STANDALONE_DAY_FIELD: number;
				public static STANDALONE_MONTH_FIELD: number;
				public static STANDALONE_QUARTER_FIELD: number;
				public static TIMEZONE_FIELD: number;
				public static TIMEZONE_GENERIC_FIELD: number;
				public static TIMEZONE_ISO_FIELD: number;
				public static TIMEZONE_ISO_LOCAL_FIELD: number;
				public static TIMEZONE_LOCALIZED_GMT_OFFSET_FIELD: number;
				public static TIMEZONE_RFC_FIELD: number;
				public static TIMEZONE_SPECIAL_FIELD: number;
				public static WEEKDAY: string;
				public static WEEK_OF_MONTH_FIELD: number;
				public static WEEK_OF_YEAR_FIELD: number;
				public static YEAR: string;
				public static YEAR_ABBR_MONTH: string;
				public static YEAR_ABBR_MONTH_DAY: string;
				public static YEAR_ABBR_MONTH_WEEKDAY_DAY: string;
				public static YEAR_ABBR_QUARTER: string;
				public static YEAR_FIELD: number;
				public static YEAR_MONTH: string;
				public static YEAR_MONTH_DAY: string;
				public static YEAR_MONTH_WEEKDAY_DAY: string;
				public static YEAR_NAME_FIELD: number;
				public static YEAR_NUM_MONTH: string;
				public static YEAR_NUM_MONTH_DAY: string;
				public static YEAR_NUM_MONTH_WEEKDAY_DAY: string;
				public static YEAR_QUARTER: string;
				public static YEAR_WOY_FIELD: number;
				public calendar: android.icu.util.Calendar;
				public numberFormat: android.icu.text.NumberFormat;
				public static getInstanceForSkeleton(param0: android.icu.util.Calendar, param1: string, param2: java.util.Locale): android.icu.text.DateFormat;
				public parseObject(param0: string): any;
				public static getDateInstance(param0: android.icu.util.Calendar, param1: number, param2: java.util.Locale): android.icu.text.DateFormat;
				public static getInstance(): android.icu.text.DateFormat;
				public constructor();
				public static getTimeInstance(): android.icu.text.DateFormat;
				public format(param0: java.util.Date): string;
				public isLenient(): boolean;
				public hashCode(): number;
				public static getDateTimeInstance(param0: number, param1: number, param2: java.util.Locale): android.icu.text.DateFormat;
				public equals(param0: any): boolean;
				public clone(): any;
				public setBooleanAttribute(param0: android.icu.text.DateFormat.BooleanAttribute, param1: boolean): android.icu.text.DateFormat;
				public static getInstance(param0: android.icu.util.Calendar, param1: java.util.Locale): android.icu.text.DateFormat;
				public static getTimeInstance(param0: android.icu.util.Calendar, param1: number, param2: android.icu.util.ULocale): android.icu.text.DateFormat;
				public getBooleanAttribute(param0: android.icu.text.DateFormat.BooleanAttribute): boolean;
				public getContext(param0: android.icu.text.DisplayContext.Type): android.icu.text.DisplayContext;
				public static getDateInstance(param0: number, param1: java.util.Locale): android.icu.text.DateFormat;
				public static getDateTimeInstance(param0: number, param1: number, param2: android.icu.util.ULocale): android.icu.text.DateFormat;
				public setContext(param0: android.icu.text.DisplayContext): void;
				public static getInstanceForSkeleton(param0: string, param1: java.util.Locale): android.icu.text.DateFormat;
				public static getDateTimeInstance(param0: number, param1: number): android.icu.text.DateFormat;
				public getNumberFormat(): android.icu.text.NumberFormat;
				public static getAvailableLocales(): native.Array<java.util.Locale>;
				public setLenient(param0: boolean): void;
				public static getPatternInstance(param0: android.icu.util.Calendar, param1: string, param2: java.util.Locale): android.icu.text.DateFormat;
				public static getTimeInstance(param0: number, param1: android.icu.util.ULocale): android.icu.text.DateFormat;
				public static getInstanceForSkeleton(param0: android.icu.util.Calendar, param1: string, param2: android.icu.util.ULocale): android.icu.text.DateFormat;
				public static getDateInstance(param0: number): android.icu.text.DateFormat;
				public static getTimeInstance(param0: android.icu.util.Calendar, param1: number, param2: java.util.Locale): android.icu.text.DateFormat;
				public static getPatternInstance(param0: android.icu.util.Calendar, param1: string, param2: android.icu.util.ULocale): android.icu.text.DateFormat;
				public parse(param0: string, param1: java.text.ParsePosition): java.util.Date;
				public static getTimeInstance(param0: number, param1: java.util.Locale): android.icu.text.DateFormat;
				public format(param0: any): string;
				public static getPatternInstance(param0: string, param1: android.icu.util.ULocale): android.icu.text.DateFormat;
				public isCalendarLenient(): boolean;
				public static getTimeInstance(param0: android.icu.util.Calendar, param1: number): android.icu.text.DateFormat;
				public format(param0: android.icu.util.Calendar, param1: java.lang.StringBuffer, param2: java.text.FieldPosition): java.lang.StringBuffer;
				public static getDateTimeInstance(param0: android.icu.util.Calendar, param1: number, param2: number, param3: java.util.Locale): android.icu.text.DateFormat;
				public static getDateInstance(param0: android.icu.util.Calendar, param1: number): android.icu.text.DateFormat;
				public setNumberFormat(param0: android.icu.text.NumberFormat): void;
				public static getDateTimeInstance(param0: android.icu.util.Calendar, param1: number, param2: number, param3: android.icu.util.ULocale): android.icu.text.DateFormat;
				public getCalendar(): android.icu.util.Calendar;
				public static getPatternInstance(param0: string, param1: java.util.Locale): android.icu.text.DateFormat;
				public parseObject(param0: string, param1: java.text.ParsePosition): any;
				public setTimeZone(param0: android.icu.util.TimeZone): void;
				public static getTimeInstance(param0: number): android.icu.text.DateFormat;
				public setCalendarLenient(param0: boolean): void;
				public static getDateTimeInstance(param0: android.icu.util.Calendar, param1: number, param2: number): android.icu.text.DateFormat;
				public static getDateInstance(): android.icu.text.DateFormat;
				public parse(param0: string, param1: android.icu.util.Calendar, param2: java.text.ParsePosition): void;
				public format(param0: any, param1: java.lang.StringBuffer, param2: java.text.FieldPosition): java.lang.StringBuffer;
				public static getInstance(param0: android.icu.util.Calendar): android.icu.text.DateFormat;
				public static getDateInstance(param0: number, param1: android.icu.util.ULocale): android.icu.text.DateFormat;
				public static getDateTimeInstance(): android.icu.text.DateFormat;
				public setCalendar(param0: android.icu.util.Calendar): void;
				public getTimeZone(): android.icu.util.TimeZone;
				public static getDateInstance(param0: android.icu.util.Calendar, param1: number, param2: android.icu.util.ULocale): android.icu.text.DateFormat;
				public static getPatternInstance(param0: string): android.icu.text.DateFormat;
				public format(param0: java.util.Date, param1: java.lang.StringBuffer, param2: java.text.FieldPosition): java.lang.StringBuffer;
				public static getInstanceForSkeleton(param0: string): android.icu.text.DateFormat;
				public parse(param0: string): java.util.Date;
				public static getInstanceForSkeleton(param0: string, param1: android.icu.util.ULocale): android.icu.text.DateFormat;
			}
			export module DateFormat {
				export class BooleanAttribute {
					public static class: java.lang.Class<android.icu.text.DateFormat.BooleanAttribute>;
					public static PARSE_ALLOW_WHITESPACE: android.icu.text.DateFormat.BooleanAttribute;
					public static PARSE_ALLOW_NUMERIC: android.icu.text.DateFormat.BooleanAttribute;
					public static PARSE_MULTIPLE_PATTERNS_FOR_MATCH: android.icu.text.DateFormat.BooleanAttribute;
					public static PARSE_PARTIAL_LITERAL_MATCH: android.icu.text.DateFormat.BooleanAttribute;
					public static PARSE_PARTIAL_MATCH: android.icu.text.DateFormat.BooleanAttribute;
					public static values(): native.Array<android.icu.text.DateFormat.BooleanAttribute>;
					public static valueOf(param0: string): android.icu.text.DateFormat.BooleanAttribute;
					public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
				}
				export class Field extends java.text.Format.Field {
					public static class: java.lang.Class<android.icu.text.DateFormat.Field>;
					public static AM_PM: android.icu.text.DateFormat.Field;
					public static AM_PM_MIDNIGHT_NOON: android.icu.text.DateFormat.Field;
					public static DAY_OF_MONTH: android.icu.text.DateFormat.Field;
					public static DAY_OF_WEEK: android.icu.text.DateFormat.Field;
					public static DAY_OF_WEEK_IN_MONTH: android.icu.text.DateFormat.Field;
					public static DAY_OF_YEAR: android.icu.text.DateFormat.Field;
					public static DOW_LOCAL: android.icu.text.DateFormat.Field;
					public static ERA: android.icu.text.DateFormat.Field;
					public static EXTENDED_YEAR: android.icu.text.DateFormat.Field;
					public static FLEXIBLE_DAY_PERIOD: android.icu.text.DateFormat.Field;
					public static HOUR0: android.icu.text.DateFormat.Field;
					public static HOUR1: android.icu.text.DateFormat.Field;
					public static HOUR_OF_DAY0: android.icu.text.DateFormat.Field;
					public static HOUR_OF_DAY1: android.icu.text.DateFormat.Field;
					public static JULIAN_DAY: android.icu.text.DateFormat.Field;
					public static MILLISECOND: android.icu.text.DateFormat.Field;
					public static MILLISECONDS_IN_DAY: android.icu.text.DateFormat.Field;
					public static MINUTE: android.icu.text.DateFormat.Field;
					public static MONTH: android.icu.text.DateFormat.Field;
					public static QUARTER: android.icu.text.DateFormat.Field;
					public static SECOND: android.icu.text.DateFormat.Field;
					public static TIME_ZONE: android.icu.text.DateFormat.Field;
					public static WEEK_OF_MONTH: android.icu.text.DateFormat.Field;
					public static WEEK_OF_YEAR: android.icu.text.DateFormat.Field;
					public static YEAR: android.icu.text.DateFormat.Field;
					public static YEAR_WOY: android.icu.text.DateFormat.Field;
					public constructor(param0: string);
					public getCalendarField(): number;
					public constructor(param0: string, param1: number);
					public readResolve(): any;
					public static ofCalendarField(param0: number): android.icu.text.DateFormat.Field;
				}
			}
		}
	}
}

declare module android {
	export module icu {
		export module text {
			export class DateFormatSymbols extends java.lang.Object implements java.io.Serializable, java.lang.Cloneable {
				public static class: java.lang.Class<android.icu.text.DateFormatSymbols>;
				public static ABBREVIATED: number;
				public static FORMAT: number;
				public static NARROW: number;
				public static SHORT: number;
				public static STANDALONE: number;
				public static WIDE: number;
				public setQuarters(param0: native.Array<string>, param1: number, param2: number): void;
				public constructor(param0: java.util.ResourceBundle, param1: android.icu.util.ULocale);
				public constructor(param0: java.lang.Class<any>, param1: java.util.Locale);
				public initializeData(param0: android.icu.util.ULocale, param1: string): void;
				public getZoneStrings(): native.Array<native.Array<string>>;
				public getEras(): native.Array<string>;
				public constructor(param0: java.util.Locale);
				public setShortMonths(param0: native.Array<string>): void;
				public constructor(param0: android.icu.util.Calendar, param1: java.util.Locale);
				public constructor();
				public setMonths(param0: native.Array<string>, param1: number, param2: number): void;
				public setEras(param0: native.Array<string>): void;
				public setWeekdays(param0: native.Array<string>): void;
				public setShortWeekdays(param0: native.Array<string>): void;
				public getQuarters(param0: number, param1: number): native.Array<string>;
				public hashCode(): number;
				public getAmPmStrings(): native.Array<string>;
				public constructor(param0: android.icu.util.Calendar, param1: android.icu.util.ULocale);
				public clone(): any;
				public equals(param0: any): boolean;
				public getMonths(): native.Array<string>;
				public constructor(param0: java.lang.Class<any>, param1: android.icu.util.ULocale);
				public setEraNames(param0: native.Array<string>): void;
				public getShortWeekdays(): native.Array<string>;
				public getZodiacNames(param0: number, param1: number): native.Array<string>;
				public setAmPmStrings(param0: native.Array<string>): void;
				public setMonths(param0: native.Array<string>): void;
				public getEraNames(): native.Array<string>;
				public getLocalPatternChars(): string;
				public getWeekdays(): native.Array<string>;
				public static getInstance(param0: java.util.Locale): android.icu.text.DateFormatSymbols;
				public constructor(param0: java.util.ResourceBundle, param1: java.util.Locale);
				public getShortMonths(): native.Array<string>;
				public static getInstance(param0: android.icu.util.ULocale): android.icu.text.DateFormatSymbols;
				public getMonths(param0: number, param1: number): native.Array<string>;
				public static getAvailableLocales(): native.Array<java.util.Locale>;
				public static getInstance(): android.icu.text.DateFormatSymbols;
				public setLocalPatternChars(param0: string): void;
				public getYearNames(param0: number, param1: number): native.Array<string>;
				public constructor(param0: android.icu.util.ULocale);
				public setYearNames(param0: native.Array<string>, param1: number, param2: number): void;
				public setZodiacNames(param0: native.Array<string>, param1: number, param2: number): void;
				public getWeekdays(param0: number, param1: number): native.Array<string>;
				public setWeekdays(param0: native.Array<string>, param1: number, param2: number): void;
				public setZoneStrings(param0: native.Array<native.Array<string>>): void;
			}
		}
	}
}

declare module android {
	export module icu {
		export module text {
			export class DateIntervalFormat extends android.icu.text.UFormat {
				public static class: java.lang.Class<android.icu.text.DateIntervalFormat>;
				public getDateIntervalInfo(): android.icu.text.DateIntervalInfo;
				public static getInstance(param0: string, param1: android.icu.util.ULocale): android.icu.text.DateIntervalFormat;
				public format(param0: any): string;
				/** @deprecated */
				public parseObject(param0: string, param1: java.text.ParsePosition): any;
				public format(param0: android.icu.util.Calendar, param1: android.icu.util.Calendar, param2: java.lang.StringBuffer, param3: java.text.FieldPosition): java.lang.StringBuffer;
				public static getInstance(param0: string, param1: java.util.Locale): android.icu.text.DateIntervalFormat;
				public format(param0: android.icu.util.DateInterval, param1: java.lang.StringBuffer, param2: java.text.FieldPosition): java.lang.StringBuffer;
				public parseObject(param0: string): any;
				public format(param0: any, param1: java.lang.StringBuffer, param2: java.text.FieldPosition): java.lang.StringBuffer;
				public getDateFormat(): android.icu.text.DateFormat;
				public static getInstance(param0: string, param1: android.icu.util.ULocale, param2: android.icu.text.DateIntervalInfo): android.icu.text.DateIntervalFormat;
				public static getInstance(param0: string, param1: android.icu.text.DateIntervalInfo): android.icu.text.DateIntervalFormat;
				public setDateIntervalInfo(param0: android.icu.text.DateIntervalInfo): void;
				public static getInstance(param0: string): android.icu.text.DateIntervalFormat;
				public parseObject(param0: string, param1: java.text.ParsePosition): any;
				public clone(): any;
				public getTimeZone(): android.icu.util.TimeZone;
				public static getInstance(param0: string, param1: java.util.Locale, param2: android.icu.text.DateIntervalInfo): android.icu.text.DateIntervalFormat;
				public setTimeZone(param0: android.icu.util.TimeZone): void;
			}
		}
	}
}

declare module android {
	export module icu {
		export module text {
			export class DateIntervalInfo extends java.lang.Object {
				public static class: java.lang.Class<android.icu.text.DateIntervalInfo>;
				public isFrozen(): boolean;
				public constructor(param0: java.util.Locale);
				public freeze(): android.icu.text.DateIntervalInfo;
				public getIntervalPattern(param0: string, param1: number): android.icu.text.DateIntervalInfo.PatternInfo;
				public getDefaultOrder(): boolean;
				public cloneAsThawed(): any;
				public setFallbackIntervalPattern(param0: string): void;
				public hashCode(): number;
				public getFallbackIntervalPattern(): string;
				public cloneAsThawed(): android.icu.text.DateIntervalInfo;
				public constructor(param0: android.icu.util.ULocale);
				public setIntervalPattern(param0: string, param1: number, param2: string): void;
				public clone(): any;
				public equals(param0: any): boolean;
				public freeze(): any;
			}
			export module DateIntervalInfo {
				export class PatternInfo extends java.lang.Object implements java.lang.Cloneable, java.io.Serializable {
					public static class: java.lang.Class<android.icu.text.DateIntervalInfo.PatternInfo>;
					public equals(param0: any): boolean;
					public toString(): string;
					public getSecondPart(): string;
					public getFirstPart(): string;
					public constructor(param0: string, param1: string, param2: boolean);
					public firstDateInPtnIsLaterDate(): boolean;
					public hashCode(): number;
					/** @deprecated */
					public toString(): string;
				}
			}
		}
	}
}

declare module android {
	export module icu {
		export module text {
			export class DateTimePatternGenerator extends java.lang.Object {
				public static class: java.lang.Class<android.icu.text.DateTimePatternGenerator>;
				public static DAY: number;
				public static DAYPERIOD: number;
				public static DAY_OF_WEEK_IN_MONTH: number;
				public static DAY_OF_YEAR: number;
				public static ERA: number;
				public static FRACTIONAL_SECOND: number;
				public static HOUR: number;
				public static MATCH_ALL_FIELDS_LENGTH: number;
				public static MATCH_HOUR_FIELD_LENGTH: number;
				public static MATCH_NO_OPTIONS: number;
				public static MINUTE: number;
				public static MONTH: number;
				public static QUARTER: number;
				public static SECOND: number;
				public static WEEKDAY: number;
				public static WEEK_OF_MONTH: number;
				public static WEEK_OF_YEAR: number;
				public static YEAR: number;
				public static ZONE: number;
				public setDecimal(param0: string): void;
				public isFrozen(): boolean;
				public setDateTimeFormat(param0: string): void;
				public getSkeleton(param0: string): string;
				public constructor();
				public setAppendItemFormat(param0: number, param1: string): void;
				public getBaseSkeleton(param0: string): string;
				public cloneAsThawed(): any;
				public getAppendItemName(param0: number): string;
				public clone(): any;
				public getBestPattern(param0: string, param1: number): string;
				public addPattern(param0: string, param1: boolean, param2: android.icu.text.DateTimePatternGenerator.PatternInfo): android.icu.text.DateTimePatternGenerator;
				public getDateTimeFormat(): string;
				public getBaseSkeletons(param0: java.util.Set<string>): java.util.Set<string>;
				public cloneAsThawed(): android.icu.text.DateTimePatternGenerator;
				public static getEmptyInstance(): android.icu.text.DateTimePatternGenerator;
				public static getInstance(param0: android.icu.util.ULocale): android.icu.text.DateTimePatternGenerator;
				public getSkeletons(param0: java.util.Map<string,string>): java.util.Map<string,string>;
				public replaceFieldTypes(param0: string, param1: string, param2: number): string;
				public setAppendItemName(param0: number, param1: string): void;
				public static getInstance(param0: java.util.Locale): android.icu.text.DateTimePatternGenerator;
				public static getInstance(): android.icu.text.DateTimePatternGenerator;
				public getDecimal(): string;
				public getAppendItemFormat(param0: number): string;
				public freeze(): any;
				public replaceFieldTypes(param0: string, param1: string): string;
				public freeze(): android.icu.text.DateTimePatternGenerator;
				public getBestPattern(param0: string): string;
			}
			export module DateTimePatternGenerator {
				export class PatternInfo extends java.lang.Object {
					public static class: java.lang.Class<android.icu.text.DateTimePatternGenerator.PatternInfo>;
					public static BASE_CONFLICT: number;
					public static CONFLICT: number;
					public static OK: number;
					public conflictingPattern: string;
					public status: number;
					public constructor();
				}
			}
		}
	}
}

declare module android {
	export module icu {
		export module text {
			export class DecimalFormat extends android.icu.text.NumberFormat {
				public static class: java.lang.Class<android.icu.text.DecimalFormat>;
				public static PAD_AFTER_PREFIX: number;
				public static PAD_AFTER_SUFFIX: number;
				public static PAD_BEFORE_PREFIX: number;
				public static PAD_BEFORE_SUFFIX: number;
				public setParseBigDecimal(param0: boolean): void;
				public setPositivePrefix(param0: string): void;
				public format(param0: android.icu.util.CurrencyAmount, param1: java.lang.StringBuffer, param2: java.text.FieldPosition): java.lang.StringBuffer;
				public format(param0: android.icu.util.CurrencyAmount): string;
				public areSignificantDigitsUsed(): boolean;
				public setPadPosition(param0: number): void;
				public getMathContext(): java.math.MathContext;
				public setSecondaryGroupingSize(param0: number): void;
				public getFormatWidth(): number;
				public format(param0: android.icu.math.BigDecimal): string;
				public format(param0: java.math.BigInteger): string;
				public constructor(param0: string, param1: android.icu.text.DecimalFormatSymbols, param2: android.icu.text.CurrencyPluralInfo, param3: number);
				public setMinimumSignificantDigits(param0: number): void;
				/** @deprecated */
				public getParseMaxDigits(): number;
				public setNegativeSuffix(param0: string): void;
				public setCurrencyUsage(param0: android.icu.util.Currency.CurrencyUsage): void;
				public parse(param0: string, param1: java.text.ParsePosition): java.lang.Number;
				public isExponentSignAlwaysShown(): boolean;
				public constructor(param0: string, param1: android.icu.text.DecimalFormatSymbols);
				public format(param0: android.icu.math.BigDecimal, param1: java.lang.StringBuffer, param2: java.text.FieldPosition): java.lang.StringBuffer;
				public setMaximumFractionDigits(param0: number): void;
				public applyLocalizedPattern(param0: string): void;
				public isParseStrict(): boolean;
				public constructor(param0: string);
				public setDecimalFormatSymbols(param0: android.icu.text.DecimalFormatSymbols): void;
				public setPositiveSuffix(param0: string): void;
				public setRoundingMode(param0: number): void;
				public getMinimumIntegerDigits(): number;
				public setMaximumSignificantDigits(param0: number): void;
				public setExponentSignAlwaysShown(param0: boolean): void;
				public toLocalizedPattern(): string;
				public getNegativeSuffix(): string;
				public setNegativePrefix(param0: string): void;
				public setRoundingIncrement(param0: android.icu.math.BigDecimal): void;
				public getMinimumSignificantDigits(): number;
				public setPadCharacter(param0: string): void;
				public getMathContextICU(): android.icu.math.MathContext;
				public setSignificantDigitsUsed(param0: boolean): void;
				public getCurrencyPluralInfo(): android.icu.text.CurrencyPluralInfo;
				public format(param0: number, param1: java.lang.StringBuffer, param2: java.text.FieldPosition): java.lang.StringBuffer;
				public setMathContext(param0: java.math.MathContext): void;
				public format(param0: java.math.BigDecimal): string;
				public parse(param0: string): java.lang.Number;
				public setRoundingIncrement(param0: number): void;
				public toPattern(): string;
				public getNegativePrefix(): string;
				public getPadPosition(): number;
				public format(param0: java.math.BigInteger, param1: java.lang.StringBuffer, param2: java.text.FieldPosition): java.lang.StringBuffer;
				public setDecimalSeparatorAlwaysShown(param0: boolean): void;
				public setMinimumFractionDigits(param0: number): void;
				public getCurrency(): android.icu.util.Currency;
				public getPadCharacter(): string;
				public constructor();
				public getMultiplier(): number;
				public applyPattern(param0: string): void;
				public setFormatWidth(param0: number): void;
				public hashCode(): number;
				public clone(): any;
				public equals(param0: any): boolean;
				public setCurrency(param0: android.icu.util.Currency): void;
				public setMinimumExponentDigits(param0: number): void;
				public getPositiveSuffix(): string;
				public setGroupingUsed(param0: boolean): void;
				public isParseBigDecimal(): boolean;
				public getGroupingSize(): number;
				public setRoundingIncrement(param0: java.math.BigDecimal): void;
				public isParseIntegerOnly(): boolean;
				public getMinimumFractionDigits(): number;
				public toString(): string;
				public formatToCharacterIterator(param0: any): java.text.AttributedCharacterIterator;
				public format(param0: number): string;
				public getRoundingIncrement(): java.math.BigDecimal;
				public getDecimalFormatSymbols(): android.icu.text.DecimalFormatSymbols;
				/** @deprecated */
				public setParseMaxDigits(param0: number): void;
				public getSecondaryGroupingSize(): number;
				public format(param0: java.math.BigDecimal, param1: java.lang.StringBuffer, param2: java.text.FieldPosition): java.lang.StringBuffer;
				public isGroupingUsed(): boolean;
				public format(param0: any): string;
				public setMathContextICU(param0: android.icu.math.MathContext): void;
				public setScientificNotation(param0: boolean): void;
				public setCurrencyPluralInfo(param0: android.icu.text.CurrencyPluralInfo): void;
				public setGroupingSize(param0: number): void;
				public getPositivePrefix(): string;
				public getMaximumIntegerDigits(): number;
				public setParseIntegerOnly(param0: boolean): void;
				public setMinimumIntegerDigits(param0: number): void;
				public getCurrencyUsage(): android.icu.util.Currency.CurrencyUsage;
				public getRoundingMode(): number;
				public getMaximumSignificantDigits(): number;
				public isScientificNotation(): boolean;
				public setDecimalPatternMatchRequired(param0: boolean): void;
				public getMinimumExponentDigits(): number;
				public isDecimalSeparatorAlwaysShown(): boolean;
				public format(param0: any, param1: java.lang.StringBuffer, param2: java.text.FieldPosition): java.lang.StringBuffer;
				public parseCurrency(param0: string, param1: java.text.ParsePosition): android.icu.util.CurrencyAmount;
				public getMaximumFractionDigits(): number;
				public setParseStrict(param0: boolean): void;
				public isDecimalPatternMatchRequired(): boolean;
				public setMultiplier(param0: number): void;
				public setMaximumIntegerDigits(param0: number): void;
			}
		}
	}
}

declare module android {
	export module icu {
		export module text {
			export class DecimalFormatSymbols extends java.lang.Object implements java.lang.Cloneable, java.io.Serializable {
				public static class: java.lang.Class<android.icu.text.DecimalFormatSymbols>;
				public static CURRENCY_SPC_CURRENCY_MATCH: number;
				public static CURRENCY_SPC_INSERT: number;
				public static CURRENCY_SPC_SURROUNDING_MATCH: number;
				public setPlusSignString(param0: string): void;
				public setDecimalSeparatorString(param0: string): void;
				public constructor(param0: java.util.Locale);
				public setPerMillString(param0: string): void;
				public getCurrency(): android.icu.util.Currency;
				public getSignificantDigit(): string;
				public getPatternSeparator(): string;
				public constructor();
				public getPlusSignString(): string;
				public getPadEscape(): string;
				public getPerMillString(): string;
				public hashCode(): number;
				public setNaN(param0: string): void;
				public clone(): any;
				public equals(param0: any): boolean;
				public getPatternForCurrencySpacing(param0: number, param1: boolean): string;
				public setDigitStrings(param0: native.Array<string>): void;
				public setPlusSign(param0: string): void;
				public getMonetaryGroupingSeparator(): string;
				public setInternationalCurrencySymbol(param0: string): void;
				public setCurrency(param0: android.icu.util.Currency): void;
				public getDecimalSeparator(): string;
				public setExponentSeparator(param0: string): void;
				public setPatternSeparator(param0: string): void;
				public getPlusSign(): string;
				public getMonetaryGroupingSeparatorString(): string;
				public setPadEscape(param0: string): void;
				public getGroupingSeparator(): string;
				public getNaN(): string;
				public setMinusSignString(param0: string): void;
				public setZeroDigit(param0: string): void;
				public getMinusSignString(): string;
				public getDecimalSeparatorString(): string;
				public static getInstance(): android.icu.text.DecimalFormatSymbols;
				public static getAvailableLocales(): native.Array<java.util.Locale>;
				public getZeroDigit(): string;
				public setMinusSign(param0: string): void;
				public setMonetaryGroupingSeparator(param0: string): void;
				public setSignificantDigit(param0: string): void;
				public setPerMill(param0: string): void;
				public getExponentSeparator(): string;
				public constructor(param0: android.icu.util.ULocale);
				public setPercentString(param0: string): void;
				public getInternationalCurrencySymbol(): string;
				public getGroupingSeparatorString(): string;
				public getDigits(): native.Array<string>;
				public getLocale(): java.util.Locale;
				public getMonetaryDecimalSeparatorString(): string;
				public setDecimalSeparator(param0: string): void;
				public getCurrencySymbol(): string;
				public getExponentMultiplicationSign(): string;
				public getInfinity(): string;
				public setGroupingSeparatorString(param0: string): void;
				public setMonetaryDecimalSeparatorString(param0: string): void;
				public setPercent(param0: string): void;
				public static getInstance(param0: java.util.Locale): android.icu.text.DecimalFormatSymbols;
				public getMonetaryDecimalSeparator(): string;
				public static getInstance(param0: android.icu.util.ULocale): android.icu.text.DecimalFormatSymbols;
				public getPercentString(): string;
				public getMinusSign(): string;
				public getULocale(): android.icu.util.ULocale;
				public setMonetaryGroupingSeparatorString(param0: string): void;
				public setDigit(param0: string): void;
				public getDigitStrings(): native.Array<string>;
				public setGroupingSeparator(param0: string): void;
				public getPercent(): string;
				public getDigit(): string;
				public setPatternForCurrencySpacing(param0: number, param1: boolean, param2: string): void;
				public setMonetaryDecimalSeparator(param0: string): void;
				public getPerMill(): string;
				public setExponentMultiplicationSign(param0: string): void;
				public setInfinity(param0: string): void;
				public setCurrencySymbol(param0: string): void;
			}
		}
	}
}

declare module android {
	export module icu {
		export module text {
			export class DisplayContext {
				public static class: java.lang.Class<android.icu.text.DisplayContext>;
				public static STANDARD_NAMES: android.icu.text.DisplayContext;
				public static DIALECT_NAMES: android.icu.text.DisplayContext;
				public static CAPITALIZATION_NONE: android.icu.text.DisplayContext;
				public static CAPITALIZATION_FOR_MIDDLE_OF_SENTENCE: android.icu.text.DisplayContext;
				public static CAPITALIZATION_FOR_BEGINNING_OF_SENTENCE: android.icu.text.DisplayContext;
				public static CAPITALIZATION_FOR_UI_LIST_OR_MENU: android.icu.text.DisplayContext;
				public static CAPITALIZATION_FOR_STANDALONE: android.icu.text.DisplayContext;
				public static LENGTH_FULL: android.icu.text.DisplayContext;
				public static LENGTH_SHORT: android.icu.text.DisplayContext;
				public static SUBSTITUTE: android.icu.text.DisplayContext;
				public static NO_SUBSTITUTE: android.icu.text.DisplayContext;
				public static valueOf(param0: string): android.icu.text.DisplayContext;
				public static values(): native.Array<android.icu.text.DisplayContext>;
				public type(): android.icu.text.DisplayContext.Type;
				public value(): number;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			}
			export module DisplayContext {
				export class Type {
					public static class: java.lang.Class<android.icu.text.DisplayContext.Type>;
					public static DIALECT_HANDLING: android.icu.text.DisplayContext.Type;
					public static CAPITALIZATION: android.icu.text.DisplayContext.Type;
					public static DISPLAY_LENGTH: android.icu.text.DisplayContext.Type;
					public static SUBSTITUTE_HANDLING: android.icu.text.DisplayContext.Type;
					public static values(): native.Array<android.icu.text.DisplayContext.Type>;
					public static valueOf(param0: string): android.icu.text.DisplayContext.Type;
					public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
				}
			}
		}
	}
}

declare module android {
	export module icu {
		export module text {
			export abstract class IDNA extends java.lang.Object {
				public static class: java.lang.Class<android.icu.text.IDNA>;
				public static CHECK_BIDI: number;
				public static CHECK_CONTEXTJ: number;
				public static CHECK_CONTEXTO: number;
				public static DEFAULT: number;
				public static NONTRANSITIONAL_TO_ASCII: number;
				public static NONTRANSITIONAL_TO_UNICODE: number;
				public static USE_STD3_RULES: number;
				public static getUTS46Instance(param0: number): android.icu.text.IDNA;
				public labelToUnicode(param0: string, param1: java.lang.StringBuilder, param2: android.icu.text.IDNA.Info): java.lang.StringBuilder;
				public nameToASCII(param0: string, param1: java.lang.StringBuilder, param2: android.icu.text.IDNA.Info): java.lang.StringBuilder;
				public nameToUnicode(param0: string, param1: java.lang.StringBuilder, param2: android.icu.text.IDNA.Info): java.lang.StringBuilder;
				public labelToASCII(param0: string, param1: java.lang.StringBuilder, param2: android.icu.text.IDNA.Info): java.lang.StringBuilder;
			}
			export module IDNA {
				export class Error {
					public static class: java.lang.Class<android.icu.text.IDNA.Error>;
					public static EMPTY_LABEL: android.icu.text.IDNA.Error;
					public static LABEL_TOO_LONG: android.icu.text.IDNA.Error;
					public static DOMAIN_NAME_TOO_LONG: android.icu.text.IDNA.Error;
					public static LEADING_HYPHEN: android.icu.text.IDNA.Error;
					public static TRAILING_HYPHEN: android.icu.text.IDNA.Error;
					public static HYPHEN_3_4: android.icu.text.IDNA.Error;
					public static LEADING_COMBINING_MARK: android.icu.text.IDNA.Error;
					public static DISALLOWED: android.icu.text.IDNA.Error;
					public static PUNYCODE: android.icu.text.IDNA.Error;
					public static LABEL_HAS_DOT: android.icu.text.IDNA.Error;
					public static INVALID_ACE_LABEL: android.icu.text.IDNA.Error;
					public static BIDI: android.icu.text.IDNA.Error;
					public static CONTEXTJ: android.icu.text.IDNA.Error;
					public static CONTEXTO_PUNCTUATION: android.icu.text.IDNA.Error;
					public static CONTEXTO_DIGITS: android.icu.text.IDNA.Error;
					public static valueOf(param0: string): android.icu.text.IDNA.Error;
					public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
					public static values(): native.Array<android.icu.text.IDNA.Error>;
				}
				export class Info extends java.lang.Object {
					public static class: java.lang.Class<android.icu.text.IDNA.Info>;
					public getErrors(): java.util.Set<android.icu.text.IDNA.Error>;
					public constructor();
					public hasErrors(): boolean;
					public isTransitionalDifferent(): boolean;
				}
			}
		}
	}
}

declare module android {
	export module icu {
		export module text {
			export class ListFormatter extends java.lang.Object {
				public static class: java.lang.Class<android.icu.text.ListFormatter>;
				public static getInstance(): android.icu.text.ListFormatter;
				public format(param0: native.Array<any>): string;
				public static getInstance(param0: android.icu.util.ULocale): android.icu.text.ListFormatter;
				public format(param0: java.util.Collection<any>): string;
				public getPatternForNumItems(param0: number): string;
				public static getInstance(param0: java.util.Locale): android.icu.text.ListFormatter;
			}
		}
	}
}

declare module android {
	export module icu {
		export module text {
			export abstract class LocaleDisplayNames extends java.lang.Object {
				public static class: java.lang.Class<android.icu.text.LocaleDisplayNames>;
				public scriptDisplayName(param0: string): string;
				public keyValueDisplayName(param0: string, param1: string): string;
				public getUiListCompareWholeItems(param0: java.util.Set<android.icu.util.ULocale>, param1: java.util.Comparator<android.icu.text.LocaleDisplayNames.UiListItem>): java.util.List<android.icu.text.LocaleDisplayNames.UiListItem>;
				public getContext(param0: android.icu.text.DisplayContext.Type): android.icu.text.DisplayContext;
				public languageDisplayName(param0: string): string;
				public localeDisplayName(param0: string): string;
				public getLocale(): android.icu.util.ULocale;
				public variantDisplayName(param0: string): string;
				public keyDisplayName(param0: string): string;
				public static getInstance(param0: android.icu.util.ULocale, param1: native.Array<android.icu.text.DisplayContext>): android.icu.text.LocaleDisplayNames;
				public scriptDisplayName(param0: number): string;
				public localeDisplayName(param0: android.icu.util.ULocale): string;
				public regionDisplayName(param0: string): string;
				public static getInstance(param0: java.util.Locale): android.icu.text.LocaleDisplayNames;
				public getUiList(param0: java.util.Set<android.icu.util.ULocale>, param1: boolean, param2: java.util.Comparator<any>): java.util.List<android.icu.text.LocaleDisplayNames.UiListItem>;
				public static getInstance(param0: java.util.Locale, param1: native.Array<android.icu.text.DisplayContext>): android.icu.text.LocaleDisplayNames;
				public static getInstance(param0: android.icu.util.ULocale, param1: android.icu.text.LocaleDisplayNames.DialectHandling): android.icu.text.LocaleDisplayNames;
				public localeDisplayName(param0: java.util.Locale): string;
				public getDialectHandling(): android.icu.text.LocaleDisplayNames.DialectHandling;
				public static getInstance(param0: android.icu.util.ULocale): android.icu.text.LocaleDisplayNames;
			}
			export module LocaleDisplayNames {
				export class DialectHandling {
					public static class: java.lang.Class<android.icu.text.LocaleDisplayNames.DialectHandling>;
					public static STANDARD_NAMES: android.icu.text.LocaleDisplayNames.DialectHandling;
					public static DIALECT_NAMES: android.icu.text.LocaleDisplayNames.DialectHandling;
					public static valueOf(param0: string): android.icu.text.LocaleDisplayNames.DialectHandling;
					public static values(): native.Array<android.icu.text.LocaleDisplayNames.DialectHandling>;
					public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
				}
				export class UiListItem extends java.lang.Object {
					public static class: java.lang.Class<android.icu.text.LocaleDisplayNames.UiListItem>;
					public minimized: android.icu.util.ULocale;
					public modified: android.icu.util.ULocale;
					public nameInDisplayLocale: string;
					public nameInSelf: string;
					public equals(param0: any): boolean;
					public toString(): string;
					public constructor(param0: android.icu.util.ULocale, param1: android.icu.util.ULocale, param2: string, param3: string);
					public hashCode(): number;
					public static getComparator(param0: java.util.Comparator<any>, param1: boolean): java.util.Comparator<android.icu.text.LocaleDisplayNames.UiListItem>;
				}
			}
		}
	}
}

declare module android {
	export module icu {
		export module text {
			export class MeasureFormat extends android.icu.text.UFormat {
				public static class: java.lang.Class<android.icu.text.MeasureFormat>;
				public static getInstance(param0: android.icu.util.ULocale, param1: android.icu.text.MeasureFormat.FormatWidth): android.icu.text.MeasureFormat;
				public format(param0: any): string;
				public parseObject(param0: string): any;
				public static getCurrencyFormat(): android.icu.text.MeasureFormat;
				public getUnitDisplayName(param0: android.icu.util.MeasureUnit): string;
				public getLocale(): android.icu.util.ULocale;
				public format(param0: any, param1: java.lang.StringBuffer, param2: java.text.FieldPosition): java.lang.StringBuffer;
				public getNumberFormat(): android.icu.text.NumberFormat;
				public getWidth(): android.icu.text.MeasureFormat.FormatWidth;
				public formatMeasurePerUnit(param0: android.icu.util.Measure, param1: android.icu.util.MeasureUnit, param2: java.lang.StringBuilder, param3: java.text.FieldPosition): java.lang.StringBuilder;
				public static getCurrencyFormat(param0: java.util.Locale): android.icu.text.MeasureFormat;
				public formatMeasures(param0: native.Array<android.icu.util.Measure>): string;
				public static getInstance(param0: android.icu.util.ULocale, param1: android.icu.text.MeasureFormat.FormatWidth, param2: android.icu.text.NumberFormat): android.icu.text.MeasureFormat;
				public hashCode(): number;
				public parseObject(param0: string, param1: java.text.ParsePosition): any;
				public parseObject(param0: string, param1: java.text.ParsePosition): android.icu.util.Measure;
				public static getCurrencyFormat(param0: android.icu.util.ULocale): android.icu.text.MeasureFormat;
				public equals(param0: any): boolean;
				public static getInstance(param0: java.util.Locale, param1: android.icu.text.MeasureFormat.FormatWidth): android.icu.text.MeasureFormat;
				public static getInstance(param0: java.util.Locale, param1: android.icu.text.MeasureFormat.FormatWidth, param2: android.icu.text.NumberFormat): android.icu.text.MeasureFormat;
				public formatMeasures(param0: java.lang.StringBuilder, param1: java.text.FieldPosition, param2: native.Array<android.icu.util.Measure>): java.lang.StringBuilder;
			}
			export module MeasureFormat {
				export class FormatWidth {
					public static class: java.lang.Class<android.icu.text.MeasureFormat.FormatWidth>;
					public static WIDE: android.icu.text.MeasureFormat.FormatWidth;
					public static SHORT: android.icu.text.MeasureFormat.FormatWidth;
					public static NARROW: android.icu.text.MeasureFormat.FormatWidth;
					public static NUMERIC: android.icu.text.MeasureFormat.FormatWidth;
					public static values(): native.Array<android.icu.text.MeasureFormat.FormatWidth>;
					public static valueOf(param0: string): android.icu.text.MeasureFormat.FormatWidth;
					public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
				}
			}
		}
	}
}

declare module android {
	export module icu {
		export module text {
			export class MessageFormat extends android.icu.text.UFormat {
				public static class: java.lang.Class<android.icu.text.MessageFormat>;
				public format(param0: any): string;
				public static format(param0: string, param1: native.Array<any>): string;
				public getApostropheMode(): android.icu.text.MessagePattern.ApostropheMode;
				public toPattern(): string;
				public parseObject(param0: string): any;
				public getLocale(): java.util.Locale;
				public parse(param0: string): native.Array<any>;
				public parse(param0: string, param1: java.text.ParsePosition): native.Array<any>;
				public setLocale(param0: android.icu.util.ULocale): void;
				public constructor(param0: string, param1: android.icu.util.ULocale);
				public setFormats(param0: native.Array<java.text.Format>): void;
				public constructor(param0: string);
				public constructor();
				public getFormats(): native.Array<java.text.Format>;
				public applyPattern(param0: string): void;
				public constructor(param0: string, param1: java.util.Locale);
				public hashCode(): number;
				public parseObject(param0: string, param1: java.text.ParsePosition): any;
				public clone(): any;
				public equals(param0: any): boolean;
				public format(param0: native.Array<any>, param1: java.lang.StringBuffer, param2: java.text.FieldPosition): java.lang.StringBuffer;
				public applyPattern(param0: string, param1: android.icu.text.MessagePattern.ApostropheMode): void;
				public usesNamedArguments(): boolean;
				public parseToMap(param0: string, param1: java.text.ParsePosition): java.util.Map<string,any>;
				public getFormatByArgumentName(param0: string): java.text.Format;
				public getULocale(): android.icu.util.ULocale;
				public setFormatsByArgumentName(param0: java.util.Map<string,java.text.Format>): void;
				public format(param0: any, param1: java.lang.StringBuffer, param2: java.text.FieldPosition): java.lang.StringBuffer;
				public setFormatByArgumentName(param0: string, param1: java.text.Format): void;
				public format(param0: java.util.Map<string,any>, param1: java.lang.StringBuffer, param2: java.text.FieldPosition): java.lang.StringBuffer;
				public parseToMap(param0: string): java.util.Map<string,any>;
				public formatToCharacterIterator(param0: any): java.text.AttributedCharacterIterator;
				public static format(param0: string, param1: java.util.Map<string,any>): string;
				public setFormatsByArgumentIndex(param0: native.Array<java.text.Format>): void;
				public setFormatByArgumentIndex(param0: number, param1: java.text.Format): void;
				public setFormat(param0: number, param1: java.text.Format): void;
				public static autoQuoteApostrophe(param0: string): string;
				public getArgumentNames(): java.util.Set<string>;
				public getFormatsByArgumentIndex(): native.Array<java.text.Format>;
				public setLocale(param0: java.util.Locale): void;
			}
			export module MessageFormat {
				export class Field extends java.text.Format.Field {
					public static class: java.lang.Class<android.icu.text.MessageFormat.Field>;
					public static ARGUMENT: android.icu.text.MessageFormat.Field;
					public constructor(param0: string);
					public readResolve(): any;
				}
			}
		}
	}
}

declare module android {
	export module icu {
		export module text {
			export class MessagePattern extends java.lang.Object {
				public static class: java.lang.Class<android.icu.text.MessagePattern>;
				public static ARG_NAME_NOT_NUMBER: number;
				public static ARG_NAME_NOT_VALID: number;
				public static NO_NUMERIC_VALUE: number;
				public getNumericValue(param0: android.icu.text.MessagePattern.Part): number;
				public getApostropheMode(): android.icu.text.MessagePattern.ApostropheMode;
				public getPartType(param0: number): android.icu.text.MessagePattern.Part.Type;
				public getPart(param0: number): android.icu.text.MessagePattern.Part;
				public autoQuoteApostropheDeep(): string;
				public isFrozen(): boolean;
				public freeze(): android.icu.text.MessagePattern;
				public constructor(param0: string);
				public constructor();
				public cloneAsThawed(): any;
				public hasNamedArguments(): boolean;
				public hashCode(): number;
				public clear(): void;
				public equals(param0: any): boolean;
				public clone(): any;
				public constructor(param0: android.icu.text.MessagePattern.ApostropheMode);
				public getPluralOffset(param0: number): number;
				public cloneAsThawed(): android.icu.text.MessagePattern;
				public getLimitPartIndex(param0: number): number;
				public partSubstringMatches(param0: android.icu.text.MessagePattern.Part, param1: string): boolean;
				public static validateArgumentName(param0: string): number;
				public countParts(): number;
				public parseSelectStyle(param0: string): android.icu.text.MessagePattern;
				public toString(): string;
				public parse(param0: string): android.icu.text.MessagePattern;
				public clearPatternAndSetApostropheMode(param0: android.icu.text.MessagePattern.ApostropheMode): void;
				public getPatternIndex(param0: number): number;
				public parsePluralStyle(param0: string): android.icu.text.MessagePattern;
				public getSubstring(param0: android.icu.text.MessagePattern.Part): string;
				public freeze(): any;
				public parseChoiceStyle(param0: string): android.icu.text.MessagePattern;
				public getPatternString(): string;
				public hasNumberedArguments(): boolean;
			}
			export module MessagePattern {
				export class ApostropheMode {
					public static class: java.lang.Class<android.icu.text.MessagePattern.ApostropheMode>;
					public static DOUBLE_OPTIONAL: android.icu.text.MessagePattern.ApostropheMode;
					public static DOUBLE_REQUIRED: android.icu.text.MessagePattern.ApostropheMode;
					public static values(): native.Array<android.icu.text.MessagePattern.ApostropheMode>;
					public static valueOf(param0: string): android.icu.text.MessagePattern.ApostropheMode;
					public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
				}
				export class ArgType {
					public static class: java.lang.Class<android.icu.text.MessagePattern.ArgType>;
					public static NONE: android.icu.text.MessagePattern.ArgType;
					public static SIMPLE: android.icu.text.MessagePattern.ArgType;
					public static CHOICE: android.icu.text.MessagePattern.ArgType;
					public static PLURAL: android.icu.text.MessagePattern.ArgType;
					public static SELECT: android.icu.text.MessagePattern.ArgType;
					public static SELECTORDINAL: android.icu.text.MessagePattern.ArgType;
					public static values(): native.Array<android.icu.text.MessagePattern.ArgType>;
					public static valueOf(param0: string): android.icu.text.MessagePattern.ArgType;
					public hasPluralStyle(): boolean;
					public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
				}
				export class Part extends java.lang.Object {
					public static class: java.lang.Class<android.icu.text.MessagePattern.Part>;
					public getIndex(): number;
					public equals(param0: any): boolean;
					public toString(): string;
					public getValue(): number;
					public getType(): android.icu.text.MessagePattern.Part.Type;
					public getLength(): number;
					public getLimit(): number;
					public getArgType(): android.icu.text.MessagePattern.ArgType;
					public hashCode(): number;
				}
				export module Part {
					export class Type {
						public static class: java.lang.Class<android.icu.text.MessagePattern.Part.Type>;
						public static MSG_START: android.icu.text.MessagePattern.Part.Type;
						public static MSG_LIMIT: android.icu.text.MessagePattern.Part.Type;
						public static SKIP_SYNTAX: android.icu.text.MessagePattern.Part.Type;
						public static INSERT_CHAR: android.icu.text.MessagePattern.Part.Type;
						public static REPLACE_NUMBER: android.icu.text.MessagePattern.Part.Type;
						public static ARG_START: android.icu.text.MessagePattern.Part.Type;
						public static ARG_LIMIT: android.icu.text.MessagePattern.Part.Type;
						public static ARG_NUMBER: android.icu.text.MessagePattern.Part.Type;
						public static ARG_NAME: android.icu.text.MessagePattern.Part.Type;
						public static ARG_TYPE: android.icu.text.MessagePattern.Part.Type;
						public static ARG_STYLE: android.icu.text.MessagePattern.Part.Type;
						public static ARG_SELECTOR: android.icu.text.MessagePattern.Part.Type;
						public static ARG_INT: android.icu.text.MessagePattern.Part.Type;
						public static ARG_DOUBLE: android.icu.text.MessagePattern.Part.Type;
						public hasNumericValue(): boolean;
						public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
						public static valueOf(param0: string): android.icu.text.MessagePattern.Part.Type;
						public static values(): native.Array<android.icu.text.MessagePattern.Part.Type>;
					}
				}
			}
		}
	}
}

declare module android {
	export module icu {
		export module text {
			export class Normalizer extends java.lang.Object implements java.lang.Cloneable {
				public static class: java.lang.Class<android.icu.text.Normalizer>;
				public static COMPARE_CODE_POINT_ORDER: number;
				public static COMPARE_IGNORE_CASE: number;
				public static FOLD_CASE_DEFAULT: number;
				public static FOLD_CASE_EXCLUDE_SPECIAL_I: number;
				public static INPUT_IS_FCD: number;
				public static MAYBE: android.icu.text.Normalizer.QuickCheckResult;
				public static NO: android.icu.text.Normalizer.QuickCheckResult;
				public static YES: android.icu.text.Normalizer.QuickCheckResult;
				public static compare(param0: number, param1: string, param2: number): number;
				public static compare(param0: native.Array<string>, param1: number, param2: number, param3: native.Array<string>, param4: number, param5: number, param6: number): number;
				public static compare(param0: string, param1: string, param2: number): number;
				public clone(): any;
				public static compare(param0: native.Array<string>, param1: native.Array<string>, param2: number): number;
				/** @deprecated */
				public clone(): any;
				public static compare(param0: number, param1: number, param2: number): number;
			}
			export module Normalizer {
				export class QuickCheckResult extends java.lang.Object {
					public static class: java.lang.Class<android.icu.text.Normalizer.QuickCheckResult>;
				}
			}
		}
	}
}

declare module android {
	export module icu {
		export module text {
			export abstract class Normalizer2 extends java.lang.Object {
				public static class: java.lang.Class<android.icu.text.Normalizer2>;
				public getDecomposition(param0: number): string;
				public hasBoundaryAfter(param0: number): boolean;
				public quickCheck(param0: string): android.icu.text.Normalizer.QuickCheckResult;
				public spanQuickCheckYes(param0: string): number;
				public composePair(param0: number, param1: number): number;
				public normalize(param0: string): string;
				public static getNFCInstance(): android.icu.text.Normalizer2;
				public getCombiningClass(param0: number): number;
				public static getNFDInstance(): android.icu.text.Normalizer2;
				public static getNFKCInstance(): android.icu.text.Normalizer2;
				public isInert(param0: number): boolean;
				public normalize(param0: string, param1: java.lang.Appendable): java.lang.Appendable;
				public static getNFKDInstance(): android.icu.text.Normalizer2;
				public static getInstance(param0: java.io.InputStream, param1: string, param2: android.icu.text.Normalizer2.Mode): android.icu.text.Normalizer2;
				public normalize(param0: string, param1: java.lang.StringBuilder): java.lang.StringBuilder;
				public isNormalized(param0: string): boolean;
				public append(param0: java.lang.StringBuilder, param1: string): java.lang.StringBuilder;
				public static getNFKCCasefoldInstance(): android.icu.text.Normalizer2;
				public getRawDecomposition(param0: number): string;
				public hasBoundaryBefore(param0: number): boolean;
				public normalizeSecondAndAppend(param0: java.lang.StringBuilder, param1: string): java.lang.StringBuilder;
			}
			export module Normalizer2 {
				export class Mode {
					public static class: java.lang.Class<android.icu.text.Normalizer2.Mode>;
					public static COMPOSE: android.icu.text.Normalizer2.Mode;
					public static DECOMPOSE: android.icu.text.Normalizer2.Mode;
					public static FCD: android.icu.text.Normalizer2.Mode;
					public static COMPOSE_CONTIGUOUS: android.icu.text.Normalizer2.Mode;
					public static values(): native.Array<android.icu.text.Normalizer2.Mode>;
					public static valueOf(param0: string): android.icu.text.Normalizer2.Mode;
					public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
				}
			}
		}
	}
}

declare module android {
	export module icu {
		export module text {
			export abstract class NumberFormat extends android.icu.text.UFormat {
				public static class: java.lang.Class<android.icu.text.NumberFormat>;
				public static ACCOUNTINGCURRENCYSTYLE: number;
				public static CASHCURRENCYSTYLE: number;
				public static CURRENCYSTYLE: number;
				public static FRACTION_FIELD: number;
				public static INTEGERSTYLE: number;
				public static INTEGER_FIELD: number;
				public static ISOCURRENCYSTYLE: number;
				public static NUMBERSTYLE: number;
				public static PERCENTSTYLE: number;
				public static PLURALCURRENCYSTYLE: number;
				public static SCIENTIFICSTYLE: number;
				public static STANDARDCURRENCYSTYLE: number;
				public parse(param0: string): java.lang.Number;
				public static getIntegerInstance(param0: java.util.Locale): android.icu.text.NumberFormat;
				public format(param0: android.icu.util.CurrencyAmount, param1: java.lang.StringBuffer, param2: java.text.FieldPosition): java.lang.StringBuffer;
				public parseObject(param0: string): any;
				public format(param0: android.icu.util.CurrencyAmount): string;
				public format(param0: java.math.BigInteger, param1: java.lang.StringBuffer, param2: java.text.FieldPosition): java.lang.StringBuffer;
				public static getNumberInstance(): android.icu.text.NumberFormat;
				public static getScientificInstance(): android.icu.text.NumberFormat;
				public setMinimumFractionDigits(param0: number): void;
				public getCurrency(): android.icu.util.Currency;
				public constructor();
				public static getPercentInstance(param0: android.icu.util.ULocale): android.icu.text.NumberFormat;
				public static getInstance(param0: android.icu.util.ULocale, param1: number): android.icu.text.NumberFormat;
				public static getInstance(param0: number): android.icu.text.NumberFormat;
				public static getCurrencyInstance(param0: java.util.Locale): android.icu.text.NumberFormat;
				public hashCode(): number;
				public equals(param0: any): boolean;
				public clone(): any;
				public setCurrency(param0: android.icu.util.Currency): void;
				public format(param0: android.icu.math.BigDecimal): string;
				public setGroupingUsed(param0: boolean): void;
				public getContext(param0: android.icu.text.DisplayContext.Type): android.icu.text.DisplayContext;
				public format(param0: java.math.BigInteger): string;
				public setContext(param0: android.icu.text.DisplayContext): void;
				public isParseIntegerOnly(): boolean;
				public static getNumberInstance(param0: android.icu.util.ULocale): android.icu.text.NumberFormat;
				public getMinimumFractionDigits(): number;
				public static getPercentInstance(param0: java.util.Locale): android.icu.text.NumberFormat;
				public static getAvailableLocales(): native.Array<java.util.Locale>;
				public format(param0: number): string;
				public parse(param0: string, param1: java.text.ParsePosition): java.lang.Number;
				public format(param0: android.icu.math.BigDecimal, param1: java.lang.StringBuffer, param2: java.text.FieldPosition): java.lang.StringBuffer;
				public format(param0: java.math.BigDecimal, param1: java.lang.StringBuffer, param2: java.text.FieldPosition): java.lang.StringBuffer;
				public isGroupingUsed(): boolean;
				public static getCurrencyInstance(param0: android.icu.util.ULocale): android.icu.text.NumberFormat;
				public static getScientificInstance(param0: java.util.Locale): android.icu.text.NumberFormat;
				public setMaximumFractionDigits(param0: number): void;
				public format(param0: any): string;
				public static getPattern(param0: android.icu.util.ULocale, param1: number): string;
				public isParseStrict(): boolean;
				public static getInstance(param0: java.util.Locale): android.icu.text.NumberFormat;
				public static getInstance(param0: java.util.Locale, param1: number): android.icu.text.NumberFormat;
				public static getIntegerInstance(param0: android.icu.util.ULocale): android.icu.text.NumberFormat;
				public getMinimumIntegerDigits(): number;
				public setRoundingMode(param0: number): void;
				public setParseIntegerOnly(param0: boolean): void;
				public getMaximumIntegerDigits(): number;
				public parseObject(param0: string, param1: java.text.ParsePosition): any;
				public setMinimumIntegerDigits(param0: number): void;
				public static getCurrencyInstance(): android.icu.text.NumberFormat;
				public static getInstance(param0: android.icu.util.ULocale): android.icu.text.NumberFormat;
				public static getNumberInstance(param0: java.util.Locale): android.icu.text.NumberFormat;
				public static getScientificInstance(param0: android.icu.util.ULocale): android.icu.text.NumberFormat;
				public getRoundingMode(): number;
				public static getIntegerInstance(): android.icu.text.NumberFormat;
				public static getInstance(): android.icu.text.NumberFormat;
				public format(param0: any, param1: java.lang.StringBuffer, param2: java.text.FieldPosition): java.lang.StringBuffer;
				public parseCurrency(param0: string, param1: java.text.ParsePosition): android.icu.util.CurrencyAmount;
				public static getPercentInstance(): android.icu.text.NumberFormat;
				public format(param0: number, param1: java.lang.StringBuffer, param2: java.text.FieldPosition): java.lang.StringBuffer;
				public setParseStrict(param0: boolean): void;
				public getMaximumFractionDigits(): number;
				public format(param0: java.math.BigDecimal): string;
				public setMaximumIntegerDigits(param0: number): void;
			}
			export module NumberFormat {
				export class Field extends java.text.Format.Field {
					public static class: java.lang.Class<android.icu.text.NumberFormat.Field>;
					public static CURRENCY: android.icu.text.NumberFormat.Field;
					public static DECIMAL_SEPARATOR: android.icu.text.NumberFormat.Field;
					public static EXPONENT: android.icu.text.NumberFormat.Field;
					public static EXPONENT_SIGN: android.icu.text.NumberFormat.Field;
					public static EXPONENT_SYMBOL: android.icu.text.NumberFormat.Field;
					public static FRACTION: android.icu.text.NumberFormat.Field;
					public static GROUPING_SEPARATOR: android.icu.text.NumberFormat.Field;
					public static INTEGER: android.icu.text.NumberFormat.Field;
					public static PERCENT: android.icu.text.NumberFormat.Field;
					public static PERMILLE: android.icu.text.NumberFormat.Field;
					public static SIGN: android.icu.text.NumberFormat.Field;
					public constructor(param0: string);
					public readResolve(): any;
				}
			}
		}
	}
}

declare module android {
	export module icu {
		export module text {
			export class NumberingSystem extends java.lang.Object {
				public static class: java.lang.Class<android.icu.text.NumberingSystem>;
				public static isValidDigitString(param0: string): boolean;
				public static getInstance(param0: java.util.Locale): android.icu.text.NumberingSystem;
				public static getInstance(): android.icu.text.NumberingSystem;
				public static getInstance(param0: android.icu.util.ULocale): android.icu.text.NumberingSystem;
				public isAlgorithmic(): boolean;
				public getDescription(): string;
				public getName(): string;
				public static getAvailableNames(): native.Array<string>;
				public getRadix(): number;
				public static getInstance(param0: number, param1: boolean, param2: string): android.icu.text.NumberingSystem;
				public constructor();
				public static getInstanceByName(param0: string): android.icu.text.NumberingSystem;
			}
		}
	}
}

declare module android {
	export module icu {
		export module text {
			export class PluralFormat extends android.icu.text.UFormat {
				public static class: java.lang.Class<android.icu.text.PluralFormat>;
				public format(param0: any): string;
				public constructor(param0: java.util.Locale, param1: android.icu.text.PluralRules.PluralType);
				public toPattern(): string;
				public constructor(param0: android.icu.util.ULocale, param1: string);
				public parseObject(param0: string): any;
				public constructor(param0: java.util.Locale);
				public constructor(param0: android.icu.util.ULocale, param1: android.icu.text.PluralRules, param2: string);
				public constructor(param0: string);
				public setNumberFormat(param0: android.icu.text.NumberFormat): void;
				public constructor();
				public applyPattern(param0: string): void;
				public hashCode(): number;
				public parseObject(param0: string, param1: java.text.ParsePosition): any;
				public equals(param0: any): boolean;
				public constructor(param0: android.icu.util.ULocale, param1: android.icu.text.PluralRules);
				public format(param0: any, param1: java.lang.StringBuffer, param2: java.text.FieldPosition): java.lang.StringBuffer;
				public equals(param0: android.icu.text.PluralFormat): boolean;
				public toString(): string;
				public format(param0: number): string;
				public constructor(param0: android.icu.util.ULocale, param1: android.icu.text.PluralRules.PluralType);
				public constructor(param0: java.util.Locale, param1: android.icu.text.PluralRules);
				public parse(param0: string, param1: java.text.ParsePosition): java.lang.Number;
				public constructor(param0: android.icu.text.PluralRules);
				public constructor(param0: android.icu.util.ULocale);
				public constructor(param0: android.icu.util.ULocale, param1: android.icu.text.PluralRules.PluralType, param2: string);
				public constructor(param0: android.icu.text.PluralRules, param1: string);
			}
		}
	}
}

declare module android {
	export module icu {
		export module text {
			export class PluralRules extends java.lang.Object implements java.io.Serializable {
				public static class: java.lang.Class<android.icu.text.PluralRules>;
				public static DEFAULT: android.icu.text.PluralRules;
				public static KEYWORD_FEW: string;
				public static KEYWORD_MANY: string;
				public static KEYWORD_ONE: string;
				public static KEYWORD_OTHER: string;
				public static KEYWORD_TWO: string;
				public static KEYWORD_ZERO: string;
				public static NO_UNIQUE_VALUE: number;
				/** @deprecated */
				public hashCode(): number;
				public equals(param0: android.icu.text.PluralRules): boolean;
				public getSamples(param0: string): java.util.Collection<java.lang.Double>;
				public static forLocale(param0: java.util.Locale): android.icu.text.PluralRules;
				public getKeywords(): java.util.Set<string>;
				public toString(): string;
				public static parseDescription(param0: string): android.icu.text.PluralRules;
				public static forLocale(param0: java.util.Locale, param1: android.icu.text.PluralRules.PluralType): android.icu.text.PluralRules;
				public static forLocale(param0: android.icu.util.ULocale): android.icu.text.PluralRules;
				public getUniqueKeywordValue(param0: string): number;
				public select(param0: number): string;
				public hashCode(): number;
				public getAllKeywordValues(param0: string): java.util.Collection<java.lang.Double>;
				public static createRules(param0: string): android.icu.text.PluralRules;
				public equals(param0: any): boolean;
				public static forLocale(param0: android.icu.util.ULocale, param1: android.icu.text.PluralRules.PluralType): android.icu.text.PluralRules;
			}
			export module PluralRules {
				export class PluralType {
					public static class: java.lang.Class<android.icu.text.PluralRules.PluralType>;
					public static CARDINAL: android.icu.text.PluralRules.PluralType;
					public static ORDINAL: android.icu.text.PluralRules.PluralType;
					public static valueOf(param0: string): android.icu.text.PluralRules.PluralType;
					public static values(): native.Array<android.icu.text.PluralRules.PluralType>;
					public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
				}
			}
		}
	}
}

declare module android {
	export module icu {
		export module text {
			export class RelativeDateTimeFormatter extends java.lang.Object {
				public static class: java.lang.Class<android.icu.text.RelativeDateTimeFormatter>;
				public format(param0: android.icu.text.RelativeDateTimeFormatter.Direction, param1: android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit): string;
				public format(param0: number, param1: android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit): string;
				public static getInstance(param0: java.util.Locale): android.icu.text.RelativeDateTimeFormatter;
				public combineDateAndTime(param0: string, param1: string): string;
				public static getInstance(param0: java.util.Locale, param1: android.icu.text.NumberFormat): android.icu.text.RelativeDateTimeFormatter;
				public getNumberFormat(): android.icu.text.NumberFormat;
				public static getInstance(param0: android.icu.util.ULocale, param1: android.icu.text.NumberFormat): android.icu.text.RelativeDateTimeFormatter;
				public static getInstance(param0: android.icu.util.ULocale): android.icu.text.RelativeDateTimeFormatter;
				public format(param0: number, param1: android.icu.text.RelativeDateTimeFormatter.Direction, param2: android.icu.text.RelativeDateTimeFormatter.RelativeUnit): string;
				public static getInstance(param0: android.icu.util.ULocale, param1: android.icu.text.NumberFormat, param2: android.icu.text.RelativeDateTimeFormatter.Style, param3: android.icu.text.DisplayContext): android.icu.text.RelativeDateTimeFormatter;
				public static getInstance(): android.icu.text.RelativeDateTimeFormatter;
				public formatNumeric(param0: number, param1: android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit): string;
				public getFormatStyle(): android.icu.text.RelativeDateTimeFormatter.Style;
				public getCapitalizationContext(): android.icu.text.DisplayContext;
			}
			export module RelativeDateTimeFormatter {
				export class AbsoluteUnit {
					public static class: java.lang.Class<android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit>;
					public static SUNDAY: android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit;
					public static MONDAY: android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit;
					public static TUESDAY: android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit;
					public static WEDNESDAY: android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit;
					public static THURSDAY: android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit;
					public static FRIDAY: android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit;
					public static SATURDAY: android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit;
					public static DAY: android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit;
					public static WEEK: android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit;
					public static MONTH: android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit;
					public static YEAR: android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit;
					public static NOW: android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit;
					public static QUARTER: android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit;
					public static values(): native.Array<android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit>;
					public static valueOf(param0: string): android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit;
					public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
				}
				export class Direction {
					public static class: java.lang.Class<android.icu.text.RelativeDateTimeFormatter.Direction>;
					public static LAST_2: android.icu.text.RelativeDateTimeFormatter.Direction;
					public static LAST: android.icu.text.RelativeDateTimeFormatter.Direction;
					public static THIS: android.icu.text.RelativeDateTimeFormatter.Direction;
					public static NEXT: android.icu.text.RelativeDateTimeFormatter.Direction;
					public static NEXT_2: android.icu.text.RelativeDateTimeFormatter.Direction;
					public static PLAIN: android.icu.text.RelativeDateTimeFormatter.Direction;
					public static valueOf(param0: string): android.icu.text.RelativeDateTimeFormatter.Direction;
					public static values(): native.Array<android.icu.text.RelativeDateTimeFormatter.Direction>;
					public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
				}
				export class RelativeDateTimeUnit {
					public static class: java.lang.Class<android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit>;
					public static YEAR: android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit;
					public static QUARTER: android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit;
					public static MONTH: android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit;
					public static WEEK: android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit;
					public static DAY: android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit;
					public static HOUR: android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit;
					public static MINUTE: android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit;
					public static SECOND: android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit;
					public static SUNDAY: android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit;
					public static MONDAY: android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit;
					public static TUESDAY: android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit;
					public static WEDNESDAY: android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit;
					public static THURSDAY: android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit;
					public static FRIDAY: android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit;
					public static SATURDAY: android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit;
					public static valueOf(param0: string): android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit;
					public static values(): native.Array<android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit>;
					public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
				}
				export class RelativeUnit {
					public static class: java.lang.Class<android.icu.text.RelativeDateTimeFormatter.RelativeUnit>;
					public static SECONDS: android.icu.text.RelativeDateTimeFormatter.RelativeUnit;
					public static MINUTES: android.icu.text.RelativeDateTimeFormatter.RelativeUnit;
					public static HOURS: android.icu.text.RelativeDateTimeFormatter.RelativeUnit;
					public static DAYS: android.icu.text.RelativeDateTimeFormatter.RelativeUnit;
					public static WEEKS: android.icu.text.RelativeDateTimeFormatter.RelativeUnit;
					public static MONTHS: android.icu.text.RelativeDateTimeFormatter.RelativeUnit;
					public static YEARS: android.icu.text.RelativeDateTimeFormatter.RelativeUnit;
					public static QUARTERS: android.icu.text.RelativeDateTimeFormatter.RelativeUnit;
					public static values(): native.Array<android.icu.text.RelativeDateTimeFormatter.RelativeUnit>;
					public static valueOf(param0: string): android.icu.text.RelativeDateTimeFormatter.RelativeUnit;
					public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
				}
				export class Style {
					public static class: java.lang.Class<android.icu.text.RelativeDateTimeFormatter.Style>;
					public static LONG: android.icu.text.RelativeDateTimeFormatter.Style;
					public static SHORT: android.icu.text.RelativeDateTimeFormatter.Style;
					public static NARROW: android.icu.text.RelativeDateTimeFormatter.Style;
					public static values(): native.Array<android.icu.text.RelativeDateTimeFormatter.Style>;
					public static valueOf(param0: string): android.icu.text.RelativeDateTimeFormatter.Style;
					public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
				}
			}
		}
	}
}

declare module android {
	export module icu {
		export module text {
			export class Replaceable extends java.lang.Object {
				public static class: java.lang.Class<android.icu.text.Replaceable>;
				/**
				 * Constructs a new instance of the android.icu.text.Replaceable interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					length(): number;
					charAt(param0: number): string;
					char32At(param0: number): number;
					getChars(param0: number, param1: number, param2: native.Array<string>, param3: number): void;
					replace(param0: number, param1: number, param2: string): void;
					replace(param0: number, param1: number, param2: native.Array<string>, param3: number, param4: number): void;
					copy(param0: number, param1: number, param2: number): void;
					hasMetaData(): boolean;
				});
				public constructor();
				public char32At(param0: number): number;
				public getChars(param0: number, param1: number, param2: native.Array<string>, param3: number): void;
				public copy(param0: number, param1: number, param2: number): void;
				public length(): number;
				public replace(param0: number, param1: number, param2: native.Array<string>, param3: number, param4: number): void;
				public replace(param0: number, param1: number, param2: string): void;
				public hasMetaData(): boolean;
				public charAt(param0: number): string;
			}
		}
	}
}

declare module android {
	export module icu {
		export module text {
			export class RuleBasedCollator extends android.icu.text.Collator {
				public static class: java.lang.Class<android.icu.text.RuleBasedCollator>;
				public static comparingInt(param0: any /* any*/): java.util.Comparator<any>;
				public getCollationKey(param0: string): android.icu.text.CollationKey;
				public cloneAsThawed(): android.icu.text.RuleBasedCollator;
				public setUpperCaseFirst(param0: boolean): void;
				public compare(param0: any, param1: any): number;
				public thenComparingInt(param0: any /* any*/): java.util.Comparator<any>;
				public constructor();
				public setCaseLevelDefault(): void;
				public setMaxVariable(param0: number): android.icu.text.Collator;
				public getDecomposition(): number;
				public hashCode(): number;
				public clone(): any;
				public setCaseFirstDefault(): void;
				public equals(param0: any): boolean;
				public setNumericCollationDefault(): void;
				public static naturalOrder(): java.util.Comparator<any>;
				public setStrength(param0: number): void;
				public getCollationElementIterator(param0: android.icu.text.UCharacterIterator): android.icu.text.CollationElementIterator;
				public setAlternateHandlingDefault(): void;
				public setCaseLevel(param0: boolean): void;
				public setStrengthDefault(): void;
				public getVariableTop(): number;
				public isLowerCaseFirst(): boolean;
				public setDecompositionDefault(): void;
				public getReorderCodes(): native.Array<number>;
				public isAlternateHandlingShifted(): boolean;
				public thenComparing(param0: java.util.Comparator<any>): java.util.Comparator<any>;
				public getRules(): string;
				public static comparingDouble(param0: any /* any*/): java.util.Comparator<any>;
				public thenComparing(param0: any /* any*/, param1: java.util.Comparator<any>): java.util.Comparator<any>;
				public cloneAsThawed(): android.icu.text.Collator;
				public isFrozen(): boolean;
				public setFrenchCollationDefault(): void;
				public getCollationElementIterator(param0: java.text.CharacterIterator): android.icu.text.CollationElementIterator;
				public setDecomposition(param0: number): void;
				public static reverseOrder(): java.util.Comparator<any>;
				public getUCAVersion(): android.icu.util.VersionInfo;
				public static nullsFirst(param0: java.util.Comparator<any>): java.util.Comparator<any>;
				public setMaxVariable(param0: number): android.icu.text.RuleBasedCollator;
				public constructor(param0: string);
				public isUpperCaseFirst(): boolean;
				public getVersion(): android.icu.util.VersionInfo;
				public cloneAsThawed(): any;
				public setLowerCaseFirst(param0: boolean): void;
				public reversed(): java.util.Comparator<any>;
				public getCollationElementIterator(param0: string): android.icu.text.CollationElementIterator;
				public thenComparing(param0: any /* any*/): java.util.Comparator<any>;
				public equals(param0: string, param1: string): boolean;
				public getTailoredSet(): android.icu.text.UnicodeSet;
				public setNumericCollation(param0: boolean): void;
				public getStrength(): number;
				public thenComparingDouble(param0: any /* any*/): java.util.Comparator<any>;
				public static comparingLong(param0: any /* any*/): java.util.Comparator<any>;
				public setFrenchCollation(param0: boolean): void;
				public freeze(): android.icu.text.Collator;
				public getRules(param0: boolean): string;
				public isCaseLevel(): boolean;
				public getContractionsAndExpansions(param0: android.icu.text.UnicodeSet, param1: android.icu.text.UnicodeSet, param2: boolean): void;
				public static comparing(param0: any /* any*/, param1: java.util.Comparator<any>): java.util.Comparator<any>;
				public setAlternateHandlingShifted(param0: boolean): void;
				public isFrenchCollation(): boolean;
				public thenComparingLong(param0: any /* any*/): java.util.Comparator<any>;
				public setReorderCodes(param0: native.Array<number>): void;
				public compare(param0: string, param1: string): number;
				public static comparing(param0: any /* any*/): java.util.Comparator<any>;
				public getNumericCollation(): boolean;
				public freeze(): any;
				public static nullsLast(param0: java.util.Comparator<any>): java.util.Comparator<any>;
				public getMaxVariable(): number;
			}
		}
	}
}

declare module android {
	export module icu {
		export module text {
			export class ScientificNumberFormatter extends java.lang.Object {
				public static class: java.lang.Class<android.icu.text.ScientificNumberFormatter>;
				public format(param0: any): string;
				public static getSuperscriptInstance(param0: android.icu.util.ULocale): android.icu.text.ScientificNumberFormatter;
				public static getMarkupInstance(param0: android.icu.util.ULocale, param1: string, param2: string): android.icu.text.ScientificNumberFormatter;
				public static getMarkupInstance(param0: android.icu.text.DecimalFormat, param1: string, param2: string): android.icu.text.ScientificNumberFormatter;
				public static getSuperscriptInstance(param0: android.icu.text.DecimalFormat): android.icu.text.ScientificNumberFormatter;
			}
		}
	}
}

declare module android {
	export module icu {
		export module text {
			export abstract class SearchIterator extends java.lang.Object {
				public static class: java.lang.Class<android.icu.text.SearchIterator>;
				public static DONE: number;
				public breakIterator: android.icu.text.BreakIterator;
				public matchLength: number;
				public targetText: java.text.CharacterIterator;
				public previous(): number;
				public first(): number;
				public setTarget(param0: java.text.CharacterIterator): void;
				public getMatchLength(): number;
				public following(param0: number): number;
				public handlePrevious(param0: number): number;
				public getIndex(): number;
				public preceding(param0: number): number;
				public getElementComparisonType(): android.icu.text.SearchIterator.ElementComparisonType;
				public setIndex(param0: number): void;
				public getMatchStart(): number;
				public setMatchLength(param0: number): void;
				public reset(): void;
				public constructor(param0: java.text.CharacterIterator, param1: android.icu.text.BreakIterator);
				public setElementComparisonType(param0: android.icu.text.SearchIterator.ElementComparisonType): void;
				public isOverlapping(): boolean;
				public handleNext(param0: number): number;
				public setBreakIterator(param0: android.icu.text.BreakIterator): void;
				public getBreakIterator(): android.icu.text.BreakIterator;
				public setOverlapping(param0: boolean): void;
				public getTarget(): java.text.CharacterIterator;
				public next(): number;
				public getMatchedText(): string;
				public last(): number;
			}
			export module SearchIterator {
				export class ElementComparisonType {
					public static class: java.lang.Class<android.icu.text.SearchIterator.ElementComparisonType>;
					public static STANDARD_ELEMENT_COMPARISON: android.icu.text.SearchIterator.ElementComparisonType;
					public static PATTERN_BASE_WEIGHT_IS_WILDCARD: android.icu.text.SearchIterator.ElementComparisonType;
					public static ANY_BASE_WEIGHT_IS_WILDCARD: android.icu.text.SearchIterator.ElementComparisonType;
					public static valueOf(param0: string): android.icu.text.SearchIterator.ElementComparisonType;
					public static values(): native.Array<android.icu.text.SearchIterator.ElementComparisonType>;
					public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
				}
			}
		}
	}
}

declare module android {
	export module icu {
		export module text {
			export class SelectFormat extends java.text.Format {
				public static class: java.lang.Class<android.icu.text.SelectFormat>;
				public format(param0: any): string;
				public format(param0: string): string;
				public applyPattern(param0: string): void;
				public toPattern(): string;
				public hashCode(): number;
				public parseObject(param0: string, param1: java.text.ParsePosition): any;
				public parseObject(param0: string): any;
				public equals(param0: any): boolean;
				public format(param0: any, param1: java.lang.StringBuffer, param2: java.text.FieldPosition): java.lang.StringBuffer;
				public toString(): string;
				public constructor(param0: string);
				public constructor();
			}
		}
	}
}

declare module android {
	export module icu {
		export module text {
			export class SimpleDateFormat extends android.icu.text.DateFormat {
				public static class: java.lang.Class<android.icu.text.SimpleDateFormat>;
				public format(param0: any): string;
				public applyLocalizedPattern(param0: string): void;
				public set2DigitYearStart(param0: java.util.Date): void;
				public toPattern(): string;
				public format(param0: android.icu.util.Calendar, param1: java.lang.StringBuffer, param2: java.text.FieldPosition): java.lang.StringBuffer;
				public constructor(param0: string, param1: string, param2: android.icu.util.ULocale);
				public subFormat(param0: string, param1: number, param2: number, param3: java.text.FieldPosition, param4: android.icu.text.DateFormatSymbols, param5: android.icu.util.Calendar): string;
				public constructor(param0: string, param1: android.icu.util.ULocale);
				public constructor(param0: string);
				public patternCharToDateFormatField(param0: string): android.icu.text.DateFormat.Field;
				public setNumberFormat(param0: android.icu.text.NumberFormat): void;
				public getTimeZoneFormat(): android.icu.text.TimeZoneFormat;
				public constructor();
				public get2DigitYearStart(): java.util.Date;
				public subParse(param0: string, param1: number, param2: string, param3: number, param4: boolean, param5: boolean, param6: native.Array<boolean>, param7: android.icu.util.Calendar): number;
				public format(param0: java.util.Date): string;
				public matchString(param0: string, param1: number, param2: number, param3: native.Array<string>, param4: android.icu.util.Calendar): number;
				public applyPattern(param0: string): void;
				public getNumberFormat(param0: string): android.icu.text.NumberFormat;
				public constructor(param0: string, param1: java.util.Locale);
				public toLocalizedPattern(): string;
				public hashCode(): number;
				public clone(): any;
				public equals(param0: any): boolean;
				public setDateFormatSymbols(param0: android.icu.text.DateFormatSymbols): void;
				public setTimeZoneFormat(param0: android.icu.text.TimeZoneFormat): void;
				public setNumberFormat(param0: string, param1: android.icu.text.NumberFormat): void;
				public zeroPaddingNumber(param0: number, param1: number, param2: number): string;
				public setContext(param0: android.icu.text.DisplayContext): void;
				public parse(param0: string, param1: android.icu.util.Calendar, param2: java.text.ParsePosition): void;
				public matchQuarterString(param0: string, param1: number, param2: number, param3: native.Array<string>, param4: android.icu.util.Calendar): number;
				public format(param0: any, param1: java.lang.StringBuffer, param2: java.text.FieldPosition): java.lang.StringBuffer;
				public getNumberFormat(): android.icu.text.NumberFormat;
				public formatToCharacterIterator(param0: any): java.text.AttributedCharacterIterator;
				public getSymbols(): android.icu.text.DateFormatSymbols;
				public format(param0: java.util.Date, param1: java.lang.StringBuffer, param2: java.text.FieldPosition): java.lang.StringBuffer;
				public parse(param0: string, param1: java.text.ParsePosition): java.util.Date;
				public constructor(param0: string, param1: android.icu.text.DateFormatSymbols);
				public parse(param0: string): java.util.Date;
				public getDateFormatSymbols(): android.icu.text.DateFormatSymbols;
			}
		}
	}
}

declare module android {
	export module icu {
		export module text {
			export class StringPrepParseException extends java.text.ParseException {
				public static class: java.lang.Class<android.icu.text.StringPrepParseException>;
				public static ACE_PREFIX_ERROR: number;
				public static BUFFER_OVERFLOW_ERROR: number;
				public static CHECK_BIDI_ERROR: number;
				public static DOMAIN_NAME_TOO_LONG_ERROR: number;
				public static ILLEGAL_CHAR_FOUND: number;
				public static INVALID_CHAR_FOUND: number;
				public static LABEL_TOO_LONG_ERROR: number;
				public static PROHIBITED_ERROR: number;
				public static STD3_ASCII_RULES_ERROR: number;
				public static UNASSIGNED_ERROR: number;
				public static VERIFICATION_ERROR: number;
				public static ZERO_LENGTH_LABEL: number;
				/** @deprecated */
				public hashCode(): number;
				public constructor(param0: string, param1: number, param2: string, param3: number);
				public toString(): string;
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: number, param2: string, param3: number, param4: number);
				public getError(): number;
				public hashCode(): number;
				public constructor(param0: string, param1: number);
				public equals(param0: any): boolean;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module android {
	export module icu {
		export module text {
			export class StringSearch extends android.icu.text.SearchIterator {
				public static class: java.lang.Class<android.icu.text.StringSearch>;
				public getCollator(): android.icu.text.RuleBasedCollator;
				public setPattern(param0: string): void;
				public setCollator(param0: android.icu.text.RuleBasedCollator): void;
				public setTarget(param0: java.text.CharacterIterator): void;
				public handlePrevious(param0: number): number;
				public getIndex(): number;
				public getPattern(): string;
				public constructor(param0: string, param1: java.text.CharacterIterator, param2: android.icu.text.RuleBasedCollator, param3: android.icu.text.BreakIterator);
				public setIndex(param0: number): void;
				public reset(): void;
				public constructor(param0: java.text.CharacterIterator, param1: android.icu.text.BreakIterator);
				public isCanonical(): boolean;
				public constructor(param0: string, param1: java.text.CharacterIterator, param2: java.util.Locale);
				public constructor(param0: string, param1: java.text.CharacterIterator, param2: android.icu.util.ULocale);
				public handleNext(param0: number): number;
				public setCanonical(param0: boolean): void;
				public constructor(param0: string, param1: string);
				public constructor(param0: string, param1: java.text.CharacterIterator, param2: android.icu.text.RuleBasedCollator);
			}
		}
	}
}

declare module android {
	export module icu {
		export module text {
			export class SymbolTable extends java.lang.Object {
				public static class: java.lang.Class<android.icu.text.SymbolTable>;
				/**
				 * Constructs a new instance of the android.icu.text.SymbolTable interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					lookup(param0: string): native.Array<string>;
					lookupMatcher(param0: number): android.icu.text.UnicodeMatcher;
					parseReference(param0: string, param1: java.text.ParsePosition, param2: number): string;
				});
				public constructor();
				public static SYMBOL_REF: string;
				public lookupMatcher(param0: number): android.icu.text.UnicodeMatcher;
				public lookup(param0: string): native.Array<string>;
				public parseReference(param0: string, param1: java.text.ParsePosition, param2: number): string;
			}
		}
	}
}

declare module android {
	export module icu {
		export module text {
			export class TimeZoneFormat extends android.icu.text.UFormat {
				public static class: java.lang.Class<android.icu.text.TimeZoneFormat>;
				public format(param0: any): string;
				public isFrozen(): boolean;
				public parseObject(param0: string): any;
				public setGMTZeroFormat(param0: string): android.icu.text.TimeZoneFormat;
				public parse(param0: android.icu.text.TimeZoneFormat.Style, param1: string, param2: java.text.ParsePosition, param3: android.icu.util.Output<android.icu.text.TimeZoneFormat.TimeType>): android.icu.util.TimeZone;
				public getGMTOffsetPattern(param0: android.icu.text.TimeZoneFormat.GMTOffsetPatternType): string;
				public getGMTPattern(): string;
				public setDefaultParseOptions(param0: java.util.EnumSet<android.icu.text.TimeZoneFormat.ParseOption>): android.icu.text.TimeZoneFormat;
				public constructor();
				public formatOffsetISO8601Extended(param0: number, param1: boolean, param2: boolean, param3: boolean): string;
				public cloneAsThawed(): any;
				public freeze(): android.icu.text.TimeZoneFormat;
				public getTimeZoneNames(): android.icu.text.TimeZoneNames;
				public setTimeZoneNames(param0: android.icu.text.TimeZoneNames): android.icu.text.TimeZoneFormat;
				public parse(param0: string, param1: java.text.ParsePosition): android.icu.util.TimeZone;
				public parseObject(param0: string, param1: java.text.ParsePosition): any;
				public formatOffsetShortLocalizedGMT(param0: number): string;
				public getGMTOffsetDigits(): string;
				public formatOffsetLocalizedGMT(param0: number): string;
				public parse(param0: string): android.icu.util.TimeZone;
				public parse(param0: android.icu.text.TimeZoneFormat.Style, param1: string, param2: java.text.ParsePosition, param3: java.util.EnumSet<android.icu.text.TimeZoneFormat.ParseOption>, param4: android.icu.util.Output<android.icu.text.TimeZoneFormat.TimeType>): android.icu.util.TimeZone;
				public cloneAsThawed(): android.icu.text.TimeZoneFormat;
				public getDefaultParseOptions(): java.util.EnumSet<android.icu.text.TimeZoneFormat.ParseOption>;
				public static getInstance(param0: android.icu.util.ULocale): android.icu.text.TimeZoneFormat;
				public parseOffsetShortLocalizedGMT(param0: string, param1: java.text.ParsePosition): number;
				public format(param0: android.icu.text.TimeZoneFormat.Style, param1: android.icu.util.TimeZone, param2: number, param3: android.icu.util.Output<android.icu.text.TimeZoneFormat.TimeType>): string;
				public setGMTOffsetDigits(param0: string): android.icu.text.TimeZoneFormat;
				public parseOffsetLocalizedGMT(param0: string, param1: java.text.ParsePosition): number;
				public static getInstance(param0: java.util.Locale): android.icu.text.TimeZoneFormat;
				public format(param0: any, param1: java.lang.StringBuffer, param2: java.text.FieldPosition): java.lang.StringBuffer;
				public formatToCharacterIterator(param0: any): java.text.AttributedCharacterIterator;
				public setGMTOffsetPattern(param0: android.icu.text.TimeZoneFormat.GMTOffsetPatternType, param1: string): android.icu.text.TimeZoneFormat;
				public getGMTZeroFormat(): string;
				public format(param0: android.icu.text.TimeZoneFormat.Style, param1: android.icu.util.TimeZone, param2: number): string;
				public parseOffsetISO8601(param0: string, param1: java.text.ParsePosition): number;
				public formatOffsetISO8601Basic(param0: number, param1: boolean, param2: boolean, param3: boolean): string;
				public constructor(param0: android.icu.util.ULocale);
				public freeze(): any;
				public setGMTPattern(param0: string): android.icu.text.TimeZoneFormat;
			}
			export module TimeZoneFormat {
				export class GMTOffsetPatternType {
					public static class: java.lang.Class<android.icu.text.TimeZoneFormat.GMTOffsetPatternType>;
					public static POSITIVE_HM: android.icu.text.TimeZoneFormat.GMTOffsetPatternType;
					public static POSITIVE_HMS: android.icu.text.TimeZoneFormat.GMTOffsetPatternType;
					public static NEGATIVE_HM: android.icu.text.TimeZoneFormat.GMTOffsetPatternType;
					public static NEGATIVE_HMS: android.icu.text.TimeZoneFormat.GMTOffsetPatternType;
					public static POSITIVE_H: android.icu.text.TimeZoneFormat.GMTOffsetPatternType;
					public static NEGATIVE_H: android.icu.text.TimeZoneFormat.GMTOffsetPatternType;
					public static values(): native.Array<android.icu.text.TimeZoneFormat.GMTOffsetPatternType>;
					public static valueOf(param0: string): android.icu.text.TimeZoneFormat.GMTOffsetPatternType;
					public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
				}
				export class ParseOption {
					public static class: java.lang.Class<android.icu.text.TimeZoneFormat.ParseOption>;
					public static ALL_STYLES: android.icu.text.TimeZoneFormat.ParseOption;
					public static TZ_DATABASE_ABBREVIATIONS: android.icu.text.TimeZoneFormat.ParseOption;
					public static valueOf(param0: string): android.icu.text.TimeZoneFormat.ParseOption;
					public static values(): native.Array<android.icu.text.TimeZoneFormat.ParseOption>;
					public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
				}
				export class Style {
					public static class: java.lang.Class<android.icu.text.TimeZoneFormat.Style>;
					public static GENERIC_LOCATION: android.icu.text.TimeZoneFormat.Style;
					public static GENERIC_LONG: android.icu.text.TimeZoneFormat.Style;
					public static GENERIC_SHORT: android.icu.text.TimeZoneFormat.Style;
					public static SPECIFIC_LONG: android.icu.text.TimeZoneFormat.Style;
					public static SPECIFIC_SHORT: android.icu.text.TimeZoneFormat.Style;
					public static LOCALIZED_GMT: android.icu.text.TimeZoneFormat.Style;
					public static LOCALIZED_GMT_SHORT: android.icu.text.TimeZoneFormat.Style;
					public static ISO_BASIC_SHORT: android.icu.text.TimeZoneFormat.Style;
					public static ISO_BASIC_LOCAL_SHORT: android.icu.text.TimeZoneFormat.Style;
					public static ISO_BASIC_FIXED: android.icu.text.TimeZoneFormat.Style;
					public static ISO_BASIC_LOCAL_FIXED: android.icu.text.TimeZoneFormat.Style;
					public static ISO_BASIC_FULL: android.icu.text.TimeZoneFormat.Style;
					public static ISO_BASIC_LOCAL_FULL: android.icu.text.TimeZoneFormat.Style;
					public static ISO_EXTENDED_FIXED: android.icu.text.TimeZoneFormat.Style;
					public static ISO_EXTENDED_LOCAL_FIXED: android.icu.text.TimeZoneFormat.Style;
					public static ISO_EXTENDED_FULL: android.icu.text.TimeZoneFormat.Style;
					public static ISO_EXTENDED_LOCAL_FULL: android.icu.text.TimeZoneFormat.Style;
					public static ZONE_ID: android.icu.text.TimeZoneFormat.Style;
					public static ZONE_ID_SHORT: android.icu.text.TimeZoneFormat.Style;
					public static EXEMPLAR_LOCATION: android.icu.text.TimeZoneFormat.Style;
					public static valueOf(param0: string): android.icu.text.TimeZoneFormat.Style;
					public static values(): native.Array<android.icu.text.TimeZoneFormat.Style>;
					public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
				}
				export class TimeType {
					public static class: java.lang.Class<android.icu.text.TimeZoneFormat.TimeType>;
					public static UNKNOWN: android.icu.text.TimeZoneFormat.TimeType;
					public static STANDARD: android.icu.text.TimeZoneFormat.TimeType;
					public static DAYLIGHT: android.icu.text.TimeZoneFormat.TimeType;
					public static values(): native.Array<android.icu.text.TimeZoneFormat.TimeType>;
					public static valueOf(param0: string): android.icu.text.TimeZoneFormat.TimeType;
					public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
				}
			}
		}
	}
}

declare module android {
	export module icu {
		export module text {
			export abstract class TimeZoneNames extends java.lang.Object implements java.io.Serializable {
				public static class: java.lang.Class<android.icu.text.TimeZoneNames>;
				public static getTZDBInstance(param0: android.icu.util.ULocale): android.icu.text.TimeZoneNames;
				public getReferenceZoneID(param0: string, param1: string): string;
				public getDisplayName(param0: string, param1: android.icu.text.TimeZoneNames.NameType, param2: number): string;
				public static getInstance(param0: android.icu.util.ULocale): android.icu.text.TimeZoneNames;
				public getAvailableMetaZoneIDs(): java.util.Set<string>;
				public getTimeZoneDisplayName(param0: string, param1: android.icu.text.TimeZoneNames.NameType): string;
				public static getInstance(param0: java.util.Locale): android.icu.text.TimeZoneNames;
				public getExemplarLocationName(param0: string): string;
				public getMetaZoneDisplayName(param0: string, param1: android.icu.text.TimeZoneNames.NameType): string;
				public getMetaZoneID(param0: string, param1: number): string;
				public getAvailableMetaZoneIDs(param0: string): java.util.Set<string>;
			}
			export module TimeZoneNames {
				export class NameType {
					public static class: java.lang.Class<android.icu.text.TimeZoneNames.NameType>;
					public static LONG_GENERIC: android.icu.text.TimeZoneNames.NameType;
					public static LONG_STANDARD: android.icu.text.TimeZoneNames.NameType;
					public static LONG_DAYLIGHT: android.icu.text.TimeZoneNames.NameType;
					public static SHORT_GENERIC: android.icu.text.TimeZoneNames.NameType;
					public static SHORT_STANDARD: android.icu.text.TimeZoneNames.NameType;
					public static SHORT_DAYLIGHT: android.icu.text.TimeZoneNames.NameType;
					public static EXEMPLAR_LOCATION: android.icu.text.TimeZoneNames.NameType;
					public static values(): native.Array<android.icu.text.TimeZoneNames.NameType>;
					public static valueOf(param0: string): android.icu.text.TimeZoneNames.NameType;
					public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
				}
			}
		}
	}
}

declare module android {
	export module icu {
		export module text {
			export abstract class UCharacterIterator extends java.lang.Object implements java.lang.Cloneable {
				public static class: java.lang.Class<android.icu.text.UCharacterIterator>;
				public static DONE: number;
				public static getInstance(param0: native.Array<string>): android.icu.text.UCharacterIterator;
				public previous(): number;
				public moveIndex(param0: number): number;
				public previousCodePoint(): number;
				public nextCodePoint(): number;
				public getIndex(): number;
				public constructor();
				public static getInstance(param0: string): android.icu.text.UCharacterIterator;
				public getText(param0: native.Array<string>): number;
				public clone(): any;
				public setToStart(): void;
				public current(): number;
				public static getInstance(param0: java.text.CharacterIterator): android.icu.text.UCharacterIterator;
				public static getInstance(param0: java.lang.StringBuffer): android.icu.text.UCharacterIterator;
				public getText(param0: native.Array<string>, param1: number): number;
				public currentCodePoint(): number;
				public moveCodePointIndex(param0: number): number;
				public getLength(): number;
				public getCharacterIterator(): java.text.CharacterIterator;
				public setIndex(param0: number): void;
				public getText(): string;
				public static getInstance(param0: android.icu.text.Replaceable): android.icu.text.UCharacterIterator;
				public setToLimit(): void;
				public static getInstance(param0: native.Array<string>, param1: number, param2: number): android.icu.text.UCharacterIterator;
				public next(): number;
			}
		}
	}
}

declare module android {
	export module icu {
		export module text {
			export abstract class UFormat extends java.text.Format {
				public static class: java.lang.Class<android.icu.text.UFormat>;
				public constructor();
			}
		}
	}
}

declare module android {
	export module icu {
		export module text {
			export abstract class UnicodeFilter extends java.lang.Object implements android.icu.text.UnicodeMatcher {
				public static class: java.lang.Class<android.icu.text.UnicodeFilter>;
				public addMatchSetTo(param0: android.icu.text.UnicodeSet): void;
				public matches(param0: android.icu.text.Replaceable, param1: native.Array<number>, param2: number, param3: boolean): number;
				public toPattern(param0: boolean): string;
				public matchesIndexValue(param0: number): boolean;
				public contains(param0: number): boolean;
			}
		}
	}
}

declare module android {
	export module icu {
		export module text {
			export class UnicodeMatcher extends java.lang.Object {
				public static class: java.lang.Class<android.icu.text.UnicodeMatcher>;
				/**
				 * Constructs a new instance of the android.icu.text.UnicodeMatcher interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					matches(param0: android.icu.text.Replaceable, param1: native.Array<number>, param2: number, param3: boolean): number;
					toPattern(param0: boolean): string;
					matchesIndexValue(param0: number): boolean;
					addMatchSetTo(param0: android.icu.text.UnicodeSet): void;
				});
				public constructor();
				public static U_PARTIAL_MATCH: number;
				public static ETHER: string;
				public static U_MISMATCH: number;
				public static U_MATCH: number;
				public addMatchSetTo(param0: android.icu.text.UnicodeSet): void;
				public matches(param0: android.icu.text.Replaceable, param1: native.Array<number>, param2: number, param3: boolean): number;
				public toPattern(param0: boolean): string;
				public matchesIndexValue(param0: number): boolean;
			}
		}
	}
}

declare module android {
	export module icu {
		export module text {
			export class UnicodeSet extends android.icu.text.UnicodeFilter {
				public static class: java.lang.Class<android.icu.text.UnicodeSet>;
				public static ADD_CASE_MAPPINGS: number;
				public static ALL_CODE_POINTS: android.icu.text.UnicodeSet;
				public static CASE: number;
				public static CASE_INSENSITIVE: number;
				public static EMPTY: android.icu.text.UnicodeSet;
				public static IGNORE_SPACE: number;
				public static MAX_VALUE: number;
				public static MIN_VALUE: number;
				public constructor(param0: number, param1: number);
				public addAll(param0: number, param1: number): android.icu.text.UnicodeSet;
				public containsSome(param0: java.lang.Iterable<any>): boolean;
				public indexOf(param0: number): number;
				public constructor(param0: string, param1: boolean);
				public containsSome(param0: number, param1: number): boolean;
				public containsAll(param0: java.lang.Iterable<any>): boolean;
				public isEmpty(): boolean;
				public addAll(param0: android.icu.text.UnicodeSet): android.icu.text.UnicodeSet;
				public containsNone(param0: java.lang.Iterable<any>): boolean;
				public spliterator(): java.util.Spliterator<any>;
				public compareTo(param0: android.icu.text.UnicodeSet, param1: android.icu.text.UnicodeSet.ComparisonStyle): number;
				public closeOver(param0: number): android.icu.text.UnicodeSet;
				public containsAll(param0: android.icu.text.UnicodeSet): boolean;
				public containsSome(param0: android.icu.text.UnicodeSet): boolean;
				public matchesIndexValue(param0: number): boolean;
				public removeAll(param0: string): android.icu.text.UnicodeSet;
				public cloneAsThawed(): android.icu.text.UnicodeSet;
				public contains(param0: number): boolean;
				public size(): number;
				public applyPropertyAlias(param0: string, param1: string): android.icu.text.UnicodeSet;
				public applyPattern(param0: string): android.icu.text.UnicodeSet;
				public freeze(): android.icu.text.UnicodeSet;
				public removeAll(param0: java.lang.Iterable<any>): android.icu.text.UnicodeSet;
				public strings(): java.util.Collection<string>;
				public matches(param0: android.icu.text.Replaceable, param1: native.Array<number>, param2: number, param3: boolean): number;
				public remove(param0: string): android.icu.text.UnicodeSet;
				public constructor(param0: string);
				public compact(): android.icu.text.UnicodeSet;
				public constructor(param0: native.Array<number>);
				public cloneAsThawed(): any;
				public getRangeCount(): number;
				public remove(param0: number, param1: number): android.icu.text.UnicodeSet;
				public contains(param0: string): boolean;
				public ranges(): java.lang.Iterable<android.icu.text.UnicodeSet.EntryRange>;
				public constructor(param0: string, param1: number);
				public charAt(param0: number): number;
				public retain(param0: number): android.icu.text.UnicodeSet;
				public getRangeStart(param0: number): number;
				public spanBack(param0: string, param1: android.icu.text.UnicodeSet.SpanCondition): number;
				public static from(param0: string): android.icu.text.UnicodeSet;
				public retainAll(param0: string): android.icu.text.UnicodeSet;
				public _generatePattern(param0: java.lang.StringBuffer, param1: boolean, param2: boolean): java.lang.StringBuffer;
				public complementAll(param0: android.icu.text.UnicodeSet): android.icu.text.UnicodeSet;
				public remove(param0: number): android.icu.text.UnicodeSet;
				public containsSome(param0: string): boolean;
				public forEach(param0: any /* any*/): void;
				public freeze(): any;
				public containsNone(param0: number, param1: number): boolean;
				public getRangeEnd(param0: number): number;
				public containsNone(param0: android.icu.text.UnicodeSet): boolean;
				public contains(param0: number, param1: number): boolean;
				public compareTo(param0: java.lang.Iterable<string>): number;
				public addAllTo(param0: java.util.Collection<any>): java.util.Collection<any>;
				public addAll(param0: native.Array<string>): android.icu.text.UnicodeSet;
				public applyPropertyAlias(param0: string, param1: string, param2: android.icu.text.SymbolTable): android.icu.text.UnicodeSet;
				public containsAll(param0: string): boolean;
				public span(param0: string, param1: number, param2: android.icu.text.UnicodeSet.SpanCondition): number;
				public constructor();
				public complement(param0: number, param1: number): android.icu.text.UnicodeSet;
				public hashCode(): number;
				public _generatePattern(param0: java.lang.StringBuffer, param1: boolean): java.lang.StringBuffer;
				public clone(): any;
				public equals(param0: any): boolean;
				public complementAll(param0: string): android.icu.text.UnicodeSet;
				public add(param0: number): android.icu.text.UnicodeSet;
				public clear(): android.icu.text.UnicodeSet;
				public complement(): android.icu.text.UnicodeSet;
				public toPattern(param0: boolean): string;
				public constructor(param0: string, param1: java.text.ParsePosition, param2: android.icu.text.SymbolTable);
				public iterator(): java.util.Iterator<any>;
				public toString(): string;
				public applyIntPropertyValue(param0: number, param1: number): android.icu.text.UnicodeSet;
				public addMatchSetTo(param0: android.icu.text.UnicodeSet): void;
				public span(param0: string, param1: android.icu.text.UnicodeSet.SpanCondition): number;
				public retainAll(param0: java.lang.Iterable<any>): android.icu.text.UnicodeSet;
				public add(param0: number, param1: number): android.icu.text.UnicodeSet;
				public retain(param0: string): android.icu.text.UnicodeSet;
				public iterator(): java.util.Iterator<string>;
				public constructor(param0: string, param1: java.text.ParsePosition, param2: android.icu.text.SymbolTable, param3: number);
				public static fromAll(param0: string): android.icu.text.UnicodeSet;
				public containsNone(param0: string): boolean;
				public add(param0: java.lang.Iterable<any>): android.icu.text.UnicodeSet;
				public removeAll(param0: android.icu.text.UnicodeSet): android.icu.text.UnicodeSet;
				public removeAllStrings(): android.icu.text.UnicodeSet;
				public complement(param0: number): android.icu.text.UnicodeSet;
				public isFrozen(): boolean;
				public addAll(param0: java.lang.Iterable<any>): android.icu.text.UnicodeSet;
				public complement(param0: string): android.icu.text.UnicodeSet;
				public set(param0: number, param1: number): android.icu.text.UnicodeSet;
				public applyPattern(param0: string, param1: number): android.icu.text.UnicodeSet;
				public addAll(param0: string): android.icu.text.UnicodeSet;
				public constructor(param0: android.icu.text.UnicodeSet);
				public retain(param0: number, param1: number): android.icu.text.UnicodeSet;
				public compareTo(param0: android.icu.text.UnicodeSet): number;
				public applyPattern(param0: string, param1: boolean): android.icu.text.UnicodeSet;
				public add(param0: string): android.icu.text.UnicodeSet;
				public retainAll(param0: android.icu.text.UnicodeSet): android.icu.text.UnicodeSet;
				public spanBack(param0: string, param1: number, param2: android.icu.text.UnicodeSet.SpanCondition): number;
				public set(param0: android.icu.text.UnicodeSet): android.icu.text.UnicodeSet;
			}
			export module UnicodeSet {
				export class ComparisonStyle {
					public static class: java.lang.Class<android.icu.text.UnicodeSet.ComparisonStyle>;
					public static SHORTER_FIRST: android.icu.text.UnicodeSet.ComparisonStyle;
					public static LEXICOGRAPHIC: android.icu.text.UnicodeSet.ComparisonStyle;
					public static LONGER_FIRST: android.icu.text.UnicodeSet.ComparisonStyle;
					public static values(): native.Array<android.icu.text.UnicodeSet.ComparisonStyle>;
					public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
					public static valueOf(param0: string): android.icu.text.UnicodeSet.ComparisonStyle;
				}
				export class EntryRange extends java.lang.Object {
					public static class: java.lang.Class<android.icu.text.UnicodeSet.EntryRange>;
					public codepoint: number;
					public codepointEnd: number;
					public toString(): string;
				}
				export class SpanCondition {
					public static class: java.lang.Class<android.icu.text.UnicodeSet.SpanCondition>;
					public static NOT_CONTAINED: android.icu.text.UnicodeSet.SpanCondition;
					public static CONTAINED: android.icu.text.UnicodeSet.SpanCondition;
					public static SIMPLE: android.icu.text.UnicodeSet.SpanCondition;
					public static CONDITION_COUNT: android.icu.text.UnicodeSet.SpanCondition;
					public static values(): native.Array<android.icu.text.UnicodeSet.SpanCondition>;
					public static valueOf(param0: string): android.icu.text.UnicodeSet.SpanCondition;
					public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
				}
			}
		}
	}
}

declare module android {
	export module icu {
		export module text {
			export class UnicodeSetIterator extends java.lang.Object {
				public static class: java.lang.Class<android.icu.text.UnicodeSetIterator>;
				public static IS_STRING: number;
				public codepoint: number;
				public codepointEnd: number;
				public string: string;
				public constructor(param0: android.icu.text.UnicodeSet);
				public reset(): void;
				public getString(): string;
				public next(): boolean;
				public reset(param0: android.icu.text.UnicodeSet): void;
				public constructor();
				public nextRange(): boolean;
			}
		}
	}
}

declare module android {
	export module icu {
		export module text {
			export class UnicodeSetSpanner extends java.lang.Object {
				public static class: java.lang.Class<android.icu.text.UnicodeSetSpanner>;
				public constructor(param0: android.icu.text.UnicodeSet);
				public replaceFrom(param0: string, param1: string, param2: android.icu.text.UnicodeSetSpanner.CountMethod): string;
				public trim(param0: string, param1: android.icu.text.UnicodeSetSpanner.TrimOption): string;
				public deleteFrom(param0: string): string;
				public trim(param0: string, param1: android.icu.text.UnicodeSetSpanner.TrimOption, param2: android.icu.text.UnicodeSet.SpanCondition): string;
				public countIn(param0: string, param1: android.icu.text.UnicodeSetSpanner.CountMethod): number;
				public replaceFrom(param0: string, param1: string, param2: android.icu.text.UnicodeSetSpanner.CountMethod, param3: android.icu.text.UnicodeSet.SpanCondition): string;
				public countIn(param0: string): number;
				public hashCode(): number;
				public equals(param0: any): boolean;
				public countIn(param0: string, param1: android.icu.text.UnicodeSetSpanner.CountMethod, param2: android.icu.text.UnicodeSet.SpanCondition): number;
				public getUnicodeSet(): android.icu.text.UnicodeSet;
				public replaceFrom(param0: string, param1: string): string;
				public deleteFrom(param0: string, param1: android.icu.text.UnicodeSet.SpanCondition): string;
				public trim(param0: string): string;
			}
			export module UnicodeSetSpanner {
				export class CountMethod {
					public static class: java.lang.Class<android.icu.text.UnicodeSetSpanner.CountMethod>;
					public static WHOLE_SPAN: android.icu.text.UnicodeSetSpanner.CountMethod;
					public static MIN_ELEMENTS: android.icu.text.UnicodeSetSpanner.CountMethod;
					public static values(): native.Array<android.icu.text.UnicodeSetSpanner.CountMethod>;
					public static valueOf(param0: string): android.icu.text.UnicodeSetSpanner.CountMethod;
					public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
				}
				export class TrimOption {
					public static class: java.lang.Class<android.icu.text.UnicodeSetSpanner.TrimOption>;
					public static LEADING: android.icu.text.UnicodeSetSpanner.TrimOption;
					public static BOTH: android.icu.text.UnicodeSetSpanner.TrimOption;
					public static TRAILING: android.icu.text.UnicodeSetSpanner.TrimOption;
					public static valueOf(param0: string): android.icu.text.UnicodeSetSpanner.TrimOption;
					public static values(): native.Array<android.icu.text.UnicodeSetSpanner.TrimOption>;
					public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
				}
			}
		}
	}
}

declare module android {
	export module icu {
		export module util {
			export class BuddhistCalendar extends android.icu.util.GregorianCalendar {
				public static class: java.lang.Class<android.icu.util.BuddhistCalendar>;
				public static BE: number;
				public constructor(param0: android.icu.util.TimeZone);
				public constructor(param0: number, param1: number, param2: number);
				public getType(): string;
				public constructor(param0: number, param1: number, param2: number, param3: number, param4: number);
				public constructor(param0: java.util.Locale);
				public constructor(param0: java.util.Date);
				public constructor(param0: android.icu.util.TimeZone, param1: java.util.Locale);
				public constructor(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number);
				public constructor();
				public constructor(param0: android.icu.util.TimeZone, param1: android.icu.util.ULocale);
				public handleGetExtendedYear(): number;
				public handleGetLimit(param0: number, param1: number): number;
				public constructor(param0: android.icu.util.ULocale);
				public handleComputeFields(param0: number): void;
				public handleComputeMonthStart(param0: number, param1: number, param2: boolean): number;
			}
		}
	}
}

declare module android {
	export module icu {
		export module util {
			export abstract class Calendar extends java.lang.Object {
				public static class: java.lang.Class<android.icu.util.Calendar>;
				public static AM: number;
				public static AM_PM: number;
				public static APRIL: number;
				public static AUGUST: number;
				public static BASE_FIELD_COUNT: number;
				public static DATE: number;
				public static DAY_OF_MONTH: number;
				public static DAY_OF_WEEK: number;
				public static DAY_OF_WEEK_IN_MONTH: number;
				public static DAY_OF_YEAR: number;
				public static DECEMBER: number;
				public static DOW_LOCAL: number;
				public static DST_OFFSET: number;
				public static EPOCH_JULIAN_DAY: number;
				public static ERA: number;
				public static EXTENDED_YEAR: number;
				public static FEBRUARY: number;
				public static FRIDAY: number;
				public static GREATEST_MINIMUM: number;
				public static HOUR: number;
				public static HOUR_OF_DAY: number;
				public static INTERNALLY_SET: number;
				public static IS_LEAP_MONTH: number;
				public static JANUARY: number;
				public static JAN_1_1_JULIAN_DAY: number;
				public static JULIAN_DAY: number;
				public static JULY: number;
				public static JUNE: number;
				public static LEAST_MAXIMUM: number;
				public static MARCH: number;
				public static MAXIMUM: number;
				public static MAX_DATE: java.util.Date;
				public static MAX_FIELD_COUNT: number;
				public static MAX_JULIAN: number;
				public static MAX_MILLIS: number;
				public static MAY: number;
				public static MILLISECOND: number;
				public static MILLISECONDS_IN_DAY: number;
				public static MINIMUM: number;
				public static MINIMUM_USER_STAMP: number;
				public static MINUTE: number;
				public static MIN_DATE: java.util.Date;
				public static MIN_JULIAN: number;
				public static MIN_MILLIS: number;
				public static MONDAY: number;
				public static MONTH: number;
				public static NOVEMBER: number;
				public static OCTOBER: number;
				public static ONE_DAY: number;
				public static ONE_HOUR: number;
				public static ONE_MINUTE: number;
				public static ONE_SECOND: number;
				public static ONE_WEEK: number;
				public static PM: number;
				public static RESOLVE_REMAP: number;
				public static SATURDAY: number;
				public static SECOND: number;
				public static SEPTEMBER: number;
				public static SUNDAY: number;
				public static THURSDAY: number;
				public static TUESDAY: number;
				public static UNDECIMBER: number;
				public static UNSET: number;
				public static WALLTIME_FIRST: number;
				public static WALLTIME_LAST: number;
				public static WALLTIME_NEXT_VALID: number;
				public static WEDNESDAY: number;
				public static WEEK_OF_MONTH: number;
				public static WEEK_OF_YEAR: number;
				public static YEAR: number;
				public static YEAR_WOY: number;
				public static ZONE_OFFSET: number;
				public clear(param0: number): void;
				public static floorDivide(param0: number, param1: number, param2: native.Array<number>): number;
				public getLeastMaximum(param0: number): number;
				public get(param0: number): number;
				public computeFields(): void;
				public handleCreateFields(): native.Array<number>;
				public newerField(param0: number, param1: number): number;
				public getGregorianDayOfYear(): number;
				public getMaximum(param0: number): number;
				public setFirstDayOfWeek(param0: number): void;
				public handleGetExtendedYear(): number;
				public isLenient(): boolean;
				public static isGregorianLeapYear(param0: number): boolean;
				public weekNumber(param0: number, param1: number): number;
				public setSkippedWallTimeOption(param0: number): void;
				public validateField(param0: number, param1: number, param2: number): void;
				public getType(): string;
				/** @deprecated */
				public computeMillisInDay(): number;
				public getTimeInMillis(): number;
				public static julianDayToDayOfWeek(param0: number): number;
				public computeGregorianMonthStart(param0: number, param1: number): number;
				public constructor(param0: android.icu.util.TimeZone, param1: android.icu.util.ULocale);
				public fieldName(param0: number): string;
				public handleGetLimit(param0: number, param1: number): number;
				public static getKeywordValuesForLocale(param0: string, param1: android.icu.util.ULocale, param2: boolean): native.Array<string>;
				public getDisplayName(param0: android.icu.util.ULocale): string;
				public getActualMaximum(param0: number): number;
				public getDateTimeFormat(param0: number, param1: number, param2: java.util.Locale): android.icu.text.DateFormat;
				public setRepeatedWallTimeOption(param0: number): void;
				public handleComputeMonthStart(param0: number, param1: number, param2: boolean): number;
				public setMinimalDaysInFirstWeek(param0: number): void;
				public internalGet(param0: number): number;
				public constructor(param0: android.icu.util.TimeZone, param1: java.util.Locale);
				public isWeekend(): boolean;
				public static floorDivide(param0: number, param1: number): number;
				public static getInstance(param0: android.icu.util.ULocale): android.icu.util.Calendar;
				public getTime(): java.util.Date;
				public setTime(param0: java.util.Date): void;
				public add(param0: number, param1: number): void;
				public getSkippedWallTimeOption(): number;
				public validateFields(): void;
				public handleComputeJulianDay(param0: number): number;
				public pinField(param0: number): void;
				public computeGregorianFields(param0: number): void;
				public computeJulianDay(): number;
				public clear(): void;
				public getRepeatedWallTimeOption(): number;
				public internalGet(param0: number, param1: number): number;
				public setTimeZone(param0: android.icu.util.TimeZone): void;
				public handleGetYearLength(param0: number): number;
				public complete(): void;
				public fieldDifference(param0: java.util.Date, param1: number): number;
				public resolveFields(param0: native.Array<native.Array<native.Array<number>>>): number;
				public handleGetDateFormat(param0: string, param1: string, param2: java.util.Locale): android.icu.text.DateFormat;
				public set(param0: number, param1: number, param2: number, param3: number, param4: number): void;
				public getGreatestMinimum(param0: number): number;
				public static julianDayToMillis(param0: number): number;
				public static getInstance(param0: java.util.Locale): android.icu.util.Calendar;
				public set(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number): void;
				public getFieldResolutionTable(): native.Array<native.Array<native.Array<number>>>;
				public roll(param0: number, param1: number): void;
				public static getInstance(): android.icu.util.Calendar;
				public getFieldCount(): number;
				public getDisplayName(param0: java.util.Locale): string;
				public constructor();
				public static gregorianPreviousMonthLength(param0: number, param1: number): number;
				public static getInstance(param0: android.icu.util.TimeZone, param1: java.util.Locale): android.icu.util.Calendar;
				public hashCode(): number;
				public equals(param0: any): boolean;
				public roll(param0: number, param1: boolean): void;
				public clone(): any;
				public handleComputeFields(param0: number): void;
				public getGregorianDayOfMonth(): number;
				public getFirstDayOfWeek(): number;
				/** @deprecated */
				public computeZoneOffset(param0: number, param1: number): number;
				public static gregorianMonthLength(param0: number, param1: number): number;
				public weekNumber(param0: number, param1: number, param2: number): number;
				public static millisToJulianDay(param0: number): number;
				public set(param0: number, param1: number, param2: number): void;
				public toString(): string;
				public static getAvailableLocales(): native.Array<java.util.Locale>;
				public isEquivalentTo(param0: android.icu.util.Calendar): boolean;
				public compareTo(param0: android.icu.util.Calendar): number;
				public static getWeekDataForRegion(param0: string): android.icu.util.Calendar.WeekData;
				public setLenient(param0: boolean): void;
				public validateField(param0: number): void;
				public newestStamp(param0: number, param1: number, param2: number): number;
				public isSet(param0: number): boolean;
				public handleGetDateFormat(param0: string, param1: java.util.Locale): android.icu.text.DateFormat;
				public getGregorianYear(): number;
				public getStamp(param0: number): number;
				public after(param0: any): boolean;
				public handleGetDateFormat(param0: string, param1: android.icu.util.ULocale): android.icu.text.DateFormat;
				public setWeekData(param0: android.icu.util.Calendar.WeekData): android.icu.util.Calendar;
				public handleGetMonthLength(param0: number, param1: number): number;
				public prepareGetActual(param0: number, param1: boolean): void;
				public getGregorianMonth(): number;
				public set(param0: number, param1: number): void;
				public getMinimalDaysInFirstWeek(): number;
				public getLimit(param0: number, param1: number): number;
				public static getInstance(param0: android.icu.util.TimeZone, param1: android.icu.util.ULocale): android.icu.util.Calendar;
				public computeTime(): void;
				public getActualMinimum(param0: number): number;
				public before(param0: any): boolean;
				public internalSet(param0: number, param1: number): void;
				public getWeekData(): android.icu.util.Calendar.WeekData;
				public getDateTimeFormat(param0: number, param1: number, param2: android.icu.util.ULocale): android.icu.text.DateFormat;
				public getMinimum(param0: number): number;
				public isWeekend(param0: java.util.Date): boolean;
				public internalGetTimeInMillis(): number;
				public setTimeInMillis(param0: number): void;
				public getTimeZone(): android.icu.util.TimeZone;
				public static getInstance(param0: android.icu.util.TimeZone): android.icu.util.Calendar;
			}
			export module Calendar {
				export class WeekData extends java.lang.Object {
					public static class: java.lang.Class<android.icu.util.Calendar.WeekData>;
					public firstDayOfWeek: number;
					public minimalDaysInFirstWeek: number;
					public weekendCease: number;
					public weekendCeaseMillis: number;
					public weekendOnset: number;
					public weekendOnsetMillis: number;
					public equals(param0: any): boolean;
					public toString(): string;
					public constructor(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number);
					public hashCode(): number;
				}
			}
		}
	}
}

declare module android {
	export module icu {
		export module util {
			export class ChineseCalendar extends android.icu.util.Calendar {
				public static class: java.lang.Class<android.icu.util.ChineseCalendar>;
				public roll(param0: number, param1: number): void;
				public constructor(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number);
				public constructor(param0: java.util.Locale);
				public handleGetDateFormat(param0: string, param1: string, param2: android.icu.util.ULocale): android.icu.text.DateFormat;
				public constructor(param0: android.icu.util.TimeZone, param1: java.util.Locale);
				public handleGetMonthLength(param0: number, param1: number): number;
				public handleGetDateFormat(param0: string, param1: android.icu.util.ULocale): android.icu.text.DateFormat;
				public constructor();
				public handleGetExtendedYear(): number;
				public add(param0: number, param1: number): void;
				public roll(param0: number, param1: boolean): void;
				public handleComputeFields(param0: number): void;
				public constructor(param0: android.icu.util.TimeZone);
				public constructor(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number);
				public getType(): string;
				public constructor(param0: number, param1: number, param2: number, param3: number, param4: number);
				public constructor(param0: java.util.Date);
				public handleGetDateFormat(param0: string, param1: string, param2: java.util.Locale): android.icu.text.DateFormat;
				public constructor(param0: android.icu.util.TimeZone, param1: android.icu.util.ULocale);
				public handleGetLimit(param0: number, param1: number): number;
				public constructor(param0: number, param1: number, param2: number, param3: number);
				public constructor(param0: android.icu.util.ULocale);
				public getFieldResolutionTable(): native.Array<native.Array<native.Array<number>>>;
				public handleGetDateFormat(param0: string, param1: java.util.Locale): android.icu.text.DateFormat;
				public handleComputeMonthStart(param0: number, param1: number, param2: boolean): number;
			}
		}
	}
}

declare module android {
	export module icu {
		export module util {
			export class CopticCalendar extends android.icu.util.Calendar {
				public static class: java.lang.Class<android.icu.util.CopticCalendar>;
				public static AMSHIR: number;
				public static BABA: number;
				public static BARAMHAT: number;
				public static BARAMOUDA: number;
				public static BASHANS: number;
				public static EPEP: number;
				public static HATOR: number;
				public static KIAHK: number;
				public static MESRA: number;
				public static NASIE: number;
				public static PAONA: number;
				public static TOBA: number;
				public static TOUT: number;
				public constructor(param0: android.icu.util.TimeZone);
				public constructor(param0: number, param1: number, param2: number);
				public getType(): string;
				/** @deprecated */
				public handleComputeFields(param0: number): void;
				public constructor(param0: java.util.Locale);
				public constructor(param0: java.util.Date);
				public constructor(param0: android.icu.util.TimeZone, param1: java.util.Locale);
				public handleGetMonthLength(param0: number, param1: number): number;
				public constructor(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number);
				public constructor();
				public constructor(param0: android.icu.util.TimeZone, param1: android.icu.util.ULocale);
				public handleGetExtendedYear(): number;
				/** @deprecated */
				public handleGetExtendedYear(): number;
				public handleGetLimit(param0: number, param1: number): number;
				public constructor(param0: android.icu.util.ULocale);
				public handleComputeFields(param0: number): void;
				public handleComputeMonthStart(param0: number, param1: number, param2: boolean): number;
			}
		}
	}
}

declare module android {
	export module icu {
		export module util {
			export class Currency extends android.icu.util.MeasureUnit {
				public static class: java.lang.Class<android.icu.util.Currency>;
				public static LONG_NAME: number;
				public static PLURAL_LONG_NAME: number;
				public static SYMBOL_NAME: number;
				public getSymbol(): string;
				public getNumericCode(): number;
				public static getAvailableCurrencyCodes(param0: java.util.Locale, param1: java.util.Date): native.Array<string>;
				public static getAvailableULocales(): native.Array<android.icu.util.ULocale>;
				public static getAvailableCurrencies(): java.util.Set<android.icu.util.Currency>;
				public getSymbol(param0: android.icu.util.ULocale): string;
				public getDisplayName(): string;
				public getDisplayName(param0: java.util.Locale): string;
				public constructor(param0: string);
				public static getAvailableCurrencyCodes(param0: android.icu.util.ULocale, param1: java.util.Date): native.Array<string>;
				public getRoundingIncrement(): number;
				public getCurrencyCode(): string;
				public getDefaultFractionDigits(): number;
				public getSymbol(param0: java.util.Locale): string;
				public getRoundingIncrement(param0: android.icu.util.Currency.CurrencyUsage): number;
				public static getInstance(param0: android.icu.util.ULocale): android.icu.util.Currency;
				public getDefaultFractionDigits(param0: android.icu.util.Currency.CurrencyUsage): number;
				public toString(): string;
				public static getAvailableLocales(): native.Array<java.util.Locale>;
				public static getInstance(param0: java.util.Locale): android.icu.util.Currency;
				public getName(param0: java.util.Locale, param1: number, param2: native.Array<boolean>): string;
				public getName(param0: java.util.Locale, param1: number, param2: string, param3: native.Array<boolean>): string;
				public getName(param0: android.icu.util.ULocale, param1: number, param2: native.Array<boolean>): string;
				public static getKeywordValuesForLocale(param0: string, param1: android.icu.util.ULocale, param2: boolean): native.Array<string>;
				public getName(param0: android.icu.util.ULocale, param1: number, param2: string, param3: native.Array<boolean>): string;
				public static isAvailable(param0: string, param1: java.util.Date, param2: java.util.Date): boolean;
				public static getInstance(param0: string): android.icu.util.Currency;
			}
			export module Currency {
				export class CurrencyUsage {
					public static class: java.lang.Class<android.icu.util.Currency.CurrencyUsage>;
					public static STANDARD: android.icu.util.Currency.CurrencyUsage;
					public static CASH: android.icu.util.Currency.CurrencyUsage;
					public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
					public static valueOf(param0: string): android.icu.util.Currency.CurrencyUsage;
					public static values(): native.Array<android.icu.util.Currency.CurrencyUsage>;
				}
			}
		}
	}
}

declare module android {
	export module icu {
		export module util {
			export class CurrencyAmount extends android.icu.util.Measure {
				public static class: java.lang.Class<android.icu.util.CurrencyAmount>;
				public constructor(param0: java.lang.Number, param1: android.icu.util.MeasureUnit);
				public getCurrency(): android.icu.util.Currency;
				public constructor(param0: java.lang.Number, param1: android.icu.util.Currency);
				public constructor(param0: number, param1: android.icu.util.Currency);
			}
		}
	}
}

declare module android {
	export module icu {
		export module util {
			export class DateInterval extends java.lang.Object implements java.io.Serializable {
				public static class: java.lang.Class<android.icu.util.DateInterval>;
				public constructor(param0: number, param1: number);
				public getFromDate(): number;
				public getToDate(): number;
				public hashCode(): number;
				public equals(param0: any): boolean;
				public toString(): string;
			}
		}
	}
}

declare module android {
	export module icu {
		export module util {
			export class EthiopicCalendar extends android.icu.util.Calendar {
				public static class: java.lang.Class<android.icu.util.EthiopicCalendar>;
				public static GENBOT: number;
				public static HAMLE: number;
				public static HEDAR: number;
				public static MEGABIT: number;
				public static MESKEREM: number;
				public static MIAZIA: number;
				public static NEHASSE: number;
				public static PAGUMEN: number;
				public static SENE: number;
				public static TAHSAS: number;
				public static TEKEMT: number;
				public static TER: number;
				public static YEKATIT: number;
				public constructor(param0: android.icu.util.TimeZone);
				public constructor(param0: number, param1: number, param2: number);
				public getType(): string;
				/** @deprecated */
				public handleGetLimit(param0: number, param1: number): number;
				/** @deprecated */
				public handleComputeFields(param0: number): void;
				public constructor(param0: java.util.Locale);
				public constructor(param0: java.util.Date);
				public constructor(param0: android.icu.util.TimeZone, param1: java.util.Locale);
				public handleGetMonthLength(param0: number, param1: number): number;
				public constructor(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number);
				public constructor();
				public setAmeteAlemEra(param0: boolean): void;
				public constructor(param0: android.icu.util.TimeZone, param1: android.icu.util.ULocale);
				public isAmeteAlemEra(): boolean;
				public handleGetExtendedYear(): number;
				/** @deprecated */
				public handleGetExtendedYear(): number;
				public handleGetLimit(param0: number, param1: number): number;
				public constructor(param0: android.icu.util.ULocale);
				public handleComputeFields(param0: number): void;
				public handleComputeMonthStart(param0: number, param1: number, param2: boolean): number;
			}
		}
	}
}

declare module android {
	export module icu {
		export module util {
			export class Freezable<T>  extends java.lang.Cloneable {
				public static class: java.lang.Class<android.icu.util.Freezable<any>>;
				/**
				 * Constructs a new instance of the android.icu.util.Freezable<any> interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					isFrozen(): boolean;
					freeze(): any;
					cloneAsThawed(): any;
				});
				public constructor();
				public cloneAsThawed(): any;
				public isFrozen(): boolean;
				public freeze(): any;
			}
		}
	}
}

declare module android {
	export module icu {
		export module util {
			export class GregorianCalendar extends android.icu.util.Calendar {
				public static class: java.lang.Class<android.icu.util.GregorianCalendar>;
				public static AD: number;
				public static BC: number;
				public invertGregorian: boolean;
				public isGregorian: boolean;
				public roll(param0: number, param1: number): void;
				public constructor(param0: number, param1: number, param2: number);
				public constructor(param0: java.util.Locale);
				public constructor(param0: android.icu.util.TimeZone, param1: java.util.Locale);
				public handleGetMonthLength(param0: number, param1: number): number;
				public constructor();
				public handleGetExtendedYear(): number;
				public hashCode(): number;
				public handleComputeJulianDay(param0: number): number;
				public roll(param0: number, param1: boolean): void;
				public handleComputeFields(param0: number): void;
				public setGregorianChange(param0: java.util.Date): void;
				public constructor(param0: android.icu.util.TimeZone);
				public handleGetYearLength(param0: number): number;
				public getType(): string;
				public constructor(param0: number, param1: number, param2: number, param3: number, param4: number);
				public getActualMinimum(param0: number): number;
				public constructor(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number);
				public isEquivalentTo(param0: android.icu.util.Calendar): boolean;
				public constructor(param0: android.icu.util.TimeZone, param1: android.icu.util.ULocale);
				public handleGetLimit(param0: number, param1: number): number;
				public getGregorianChange(): java.util.Date;
				public isLeapYear(param0: number): boolean;
				public constructor(param0: android.icu.util.ULocale);
				public getActualMaximum(param0: number): number;
				public handleComputeMonthStart(param0: number, param1: number, param2: boolean): number;
			}
		}
	}
}

declare module android {
	export module icu {
		export module util {
			export class HebrewCalendar extends android.icu.util.Calendar {
				public static class: java.lang.Class<android.icu.util.HebrewCalendar>;
				public static ADAR: number;
				public static ADAR_1: number;
				public static AV: number;
				public static ELUL: number;
				public static HESHVAN: number;
				public static IYAR: number;
				public static KISLEV: number;
				public static NISAN: number;
				public static SHEVAT: number;
				public static SIVAN: number;
				public static TAMUZ: number;
				public static TEVET: number;
				public static TISHRI: number;
				public constructor(param0: android.icu.util.TimeZone);
				public roll(param0: number, param1: number): void;
				public handleGetYearLength(param0: number): number;
				public constructor(param0: number, param1: number, param2: number);
				public getType(): string;
				public constructor(param0: java.util.Locale);
				public constructor(param0: java.util.Date);
				public constructor(param0: android.icu.util.TimeZone, param1: java.util.Locale);
				public handleGetMonthLength(param0: number, param1: number): number;
				public constructor(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number);
				public constructor();
				public validateField(param0: number): void;
				public constructor(param0: android.icu.util.TimeZone, param1: android.icu.util.ULocale);
				public add(param0: number, param1: number): void;
				public handleGetLimit(param0: number, param1: number): number;
				public handleGetExtendedYear(): number;
				/** @deprecated */
				public validateField(param0: number): void;
				public constructor(param0: android.icu.util.ULocale);
				public roll(param0: number, param1: boolean): void;
				public handleComputeFields(param0: number): void;
				public validateField(param0: number, param1: number, param2: number): void;
				public handleComputeMonthStart(param0: number, param1: number, param2: boolean): number;
			}
		}
	}
}

declare module android {
	export module icu {
		export module util {
			export class ICUUncheckedIOException extends java.lang.RuntimeException {
				public static class: java.lang.Class<android.icu.util.ICUUncheckedIOException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module android {
	export module icu {
		export module util {
			export class IllformedLocaleException extends java.lang.RuntimeException {
				public static class: java.lang.Class<android.icu.util.IllformedLocaleException>;
				public constructor(param0: string, param1: number);
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
				public getErrorIndex(): number;
			}
		}
	}
}

declare module android {
	export module icu {
		export module util {
			export class IndianCalendar extends android.icu.util.Calendar {
				public static class: java.lang.Class<android.icu.util.IndianCalendar>;
				public static AGRAHAYANA: number;
				public static ASADHA: number;
				public static ASVINA: number;
				public static BHADRA: number;
				public static CHAITRA: number;
				public static IE: number;
				public static JYAISTHA: number;
				public static KARTIKA: number;
				public static MAGHA: number;
				public static PAUSA: number;
				public static PHALGUNA: number;
				public static SRAVANA: number;
				public static VAISAKHA: number;
				public constructor(param0: android.icu.util.TimeZone);
				public handleGetYearLength(param0: number): number;
				public constructor(param0: number, param1: number, param2: number);
				public getType(): string;
				public constructor(param0: java.util.Locale);
				public constructor(param0: java.util.Date);
				public constructor(param0: android.icu.util.TimeZone, param1: java.util.Locale);
				public handleGetMonthLength(param0: number, param1: number): number;
				public constructor(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number);
				public constructor();
				public constructor(param0: android.icu.util.TimeZone, param1: android.icu.util.ULocale);
				public handleGetExtendedYear(): number;
				public handleGetLimit(param0: number, param1: number): number;
				public constructor(param0: android.icu.util.ULocale);
				public handleComputeFields(param0: number): void;
				public handleComputeMonthStart(param0: number, param1: number, param2: boolean): number;
			}
		}
	}
}

declare module android {
	export module icu {
		export module util {
			export class IslamicCalendar extends android.icu.util.Calendar {
				public static class: java.lang.Class<android.icu.util.IslamicCalendar>;
				public static DHU_AL_HIJJAH: number;
				public static DHU_AL_QIDAH: number;
				public static JUMADA_1: number;
				public static JUMADA_2: number;
				public static MUHARRAM: number;
				public static RABI_1: number;
				public static RABI_2: number;
				public static RAJAB: number;
				public static RAMADAN: number;
				public static SAFAR: number;
				public static SHABAN: number;
				public static SHAWWAL: number;
				public constructor(param0: android.icu.util.TimeZone);
				public handleGetYearLength(param0: number): number;
				public constructor(param0: number, param1: number, param2: number);
				public getType(): string;
				public constructor(param0: java.util.Locale);
				public constructor(param0: java.util.Date);
				public constructor(param0: android.icu.util.TimeZone, param1: java.util.Locale);
				public handleGetMonthLength(param0: number, param1: number): number;
				public constructor(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number);
				public constructor();
				public getCalculationType(): android.icu.util.IslamicCalendar.CalculationType;
				public constructor(param0: android.icu.util.TimeZone, param1: android.icu.util.ULocale);
				public setCalculationType(param0: android.icu.util.IslamicCalendar.CalculationType): void;
				public handleGetLimit(param0: number, param1: number): number;
				public handleGetExtendedYear(): number;
				public constructor(param0: android.icu.util.ULocale);
				public handleComputeFields(param0: number): void;
				public handleComputeMonthStart(param0: number, param1: number, param2: boolean): number;
			}
			export module IslamicCalendar {
				export class CalculationType {
					public static class: java.lang.Class<android.icu.util.IslamicCalendar.CalculationType>;
					public static ISLAMIC: android.icu.util.IslamicCalendar.CalculationType;
					public static ISLAMIC_CIVIL: android.icu.util.IslamicCalendar.CalculationType;
					public static ISLAMIC_UMALQURA: android.icu.util.IslamicCalendar.CalculationType;
					public static ISLAMIC_TBLA: android.icu.util.IslamicCalendar.CalculationType;
					public static values(): native.Array<android.icu.util.IslamicCalendar.CalculationType>;
					public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
					public static valueOf(param0: string): android.icu.util.IslamicCalendar.CalculationType;
				}
			}
		}
	}
}

declare module android {
	export module icu {
		export module util {
			export class JapaneseCalendar extends android.icu.util.GregorianCalendar {
				public static class: java.lang.Class<android.icu.util.JapaneseCalendar>;
				public static CURRENT_ERA: number;
				public static HEISEI: number;
				public static MEIJI: number;
				public static SHOWA: number;
				public static TAISHO: number;
				public constructor(param0: android.icu.util.TimeZone);
				public constructor(param0: number, param1: number, param2: number);
				public getType(): string;
				public constructor(param0: number, param1: number, param2: number, param3: number, param4: number);
				public constructor(param0: java.util.Locale);
				public constructor(param0: java.util.Date);
				public constructor(param0: android.icu.util.TimeZone, param1: java.util.Locale);
				public constructor(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number);
				public constructor();
				public constructor(param0: android.icu.util.TimeZone, param1: android.icu.util.ULocale);
				public handleGetExtendedYear(): number;
				public handleGetLimit(param0: number, param1: number): number;
				public constructor(param0: number, param1: number, param2: number, param3: number);
				public constructor(param0: android.icu.util.ULocale);
				public handleComputeFields(param0: number): void;
				public getActualMaximum(param0: number): number;
			}
		}
	}
}

declare module android {
	export module icu {
		export module util {
			export class LocaleData extends java.lang.Object {
				public static class: java.lang.Class<android.icu.util.LocaleData>;
				public static ALT_QUOTATION_END: number;
				public static ALT_QUOTATION_START: number;
				public static QUOTATION_END: number;
				public static QUOTATION_START: number;
				public static getCLDRVersion(): android.icu.util.VersionInfo;
				public static getMeasurementSystem(param0: android.icu.util.ULocale): android.icu.util.LocaleData.MeasurementSystem;
				public static getInstance(): android.icu.util.LocaleData;
				public getNoSubstitute(): boolean;
				public static getInstance(param0: android.icu.util.ULocale): android.icu.util.LocaleData;
				public setNoSubstitute(param0: boolean): void;
				public getDelimiter(param0: number): string;
				public static getPaperSize(param0: android.icu.util.ULocale): android.icu.util.LocaleData.PaperSize;
			}
			export module LocaleData {
				export class MeasurementSystem extends java.lang.Object {
					public static class: java.lang.Class<android.icu.util.LocaleData.MeasurementSystem>;
					public static SI: android.icu.util.LocaleData.MeasurementSystem;
					public static UK: android.icu.util.LocaleData.MeasurementSystem;
					public static US: android.icu.util.LocaleData.MeasurementSystem;
				}
				export class PaperSize extends java.lang.Object {
					public static class: java.lang.Class<android.icu.util.LocaleData.PaperSize>;
					public getHeight(): number;
					public getWidth(): number;
				}
			}
		}
	}
}

declare module android {
	export module icu {
		export module util {
			export class Measure extends java.lang.Object {
				public static class: java.lang.Class<android.icu.util.Measure>;
				public getNumber(): java.lang.Number;
				public hashCode(): number;
				public constructor(param0: java.lang.Number, param1: android.icu.util.MeasureUnit);
				public equals(param0: any): boolean;
				public getUnit(): android.icu.util.MeasureUnit;
				public toString(): string;
			}
		}
	}
}

declare module android {
	export module icu {
		export module util {
			export class MeasureUnit extends java.lang.Object implements java.io.Serializable {
				public static class: java.lang.Class<android.icu.util.MeasureUnit>;
				public static ACRE: android.icu.util.MeasureUnit;
				public static ACRE_FOOT: android.icu.util.MeasureUnit;
				public static AMPERE: android.icu.util.MeasureUnit;
				public static ARC_MINUTE: android.icu.util.MeasureUnit;
				public static ARC_SECOND: android.icu.util.MeasureUnit;
				public static ASTRONOMICAL_UNIT: android.icu.util.MeasureUnit;
				public static BIT: android.icu.util.MeasureUnit;
				public static BUSHEL: android.icu.util.MeasureUnit;
				public static BYTE: android.icu.util.MeasureUnit;
				public static CALORIE: android.icu.util.MeasureUnit;
				public static CARAT: android.icu.util.MeasureUnit;
				public static CELSIUS: android.icu.util.MeasureUnit;
				public static CENTILITER: android.icu.util.MeasureUnit;
				public static CENTIMETER: android.icu.util.MeasureUnit;
				public static CENTURY: android.icu.util.MeasureUnit;
				public static CUBIC_CENTIMETER: android.icu.util.MeasureUnit;
				public static CUBIC_FOOT: android.icu.util.MeasureUnit;
				public static CUBIC_INCH: android.icu.util.MeasureUnit;
				public static CUBIC_KILOMETER: android.icu.util.MeasureUnit;
				public static CUBIC_METER: android.icu.util.MeasureUnit;
				public static CUBIC_MILE: android.icu.util.MeasureUnit;
				public static CUBIC_YARD: android.icu.util.MeasureUnit;
				public static CUP: android.icu.util.MeasureUnit;
				public static CUP_METRIC: android.icu.util.MeasureUnit;
				public static DAY: android.icu.util.TimeUnit;
				public static DECILITER: android.icu.util.MeasureUnit;
				public static DECIMETER: android.icu.util.MeasureUnit;
				public static DEGREE: android.icu.util.MeasureUnit;
				public static FAHRENHEIT: android.icu.util.MeasureUnit;
				public static FATHOM: android.icu.util.MeasureUnit;
				public static FLUID_OUNCE: android.icu.util.MeasureUnit;
				public static FOODCALORIE: android.icu.util.MeasureUnit;
				public static FOOT: android.icu.util.MeasureUnit;
				public static FURLONG: android.icu.util.MeasureUnit;
				public static GALLON: android.icu.util.MeasureUnit;
				public static GALLON_IMPERIAL: android.icu.util.MeasureUnit;
				public static GENERIC_TEMPERATURE: android.icu.util.MeasureUnit;
				public static GIGABIT: android.icu.util.MeasureUnit;
				public static GIGABYTE: android.icu.util.MeasureUnit;
				public static GIGAHERTZ: android.icu.util.MeasureUnit;
				public static GIGAWATT: android.icu.util.MeasureUnit;
				public static GRAM: android.icu.util.MeasureUnit;
				public static G_FORCE: android.icu.util.MeasureUnit;
				public static HECTARE: android.icu.util.MeasureUnit;
				public static HECTOLITER: android.icu.util.MeasureUnit;
				public static HECTOPASCAL: android.icu.util.MeasureUnit;
				public static HERTZ: android.icu.util.MeasureUnit;
				public static HORSEPOWER: android.icu.util.MeasureUnit;
				public static HOUR: android.icu.util.TimeUnit;
				public static INCH: android.icu.util.MeasureUnit;
				public static INCH_HG: android.icu.util.MeasureUnit;
				public static JOULE: android.icu.util.MeasureUnit;
				public static KARAT: android.icu.util.MeasureUnit;
				public static KELVIN: android.icu.util.MeasureUnit;
				public static KILOBIT: android.icu.util.MeasureUnit;
				public static KILOBYTE: android.icu.util.MeasureUnit;
				public static KILOCALORIE: android.icu.util.MeasureUnit;
				public static KILOGRAM: android.icu.util.MeasureUnit;
				public static KILOHERTZ: android.icu.util.MeasureUnit;
				public static KILOJOULE: android.icu.util.MeasureUnit;
				public static KILOMETER: android.icu.util.MeasureUnit;
				public static KILOMETER_PER_HOUR: android.icu.util.MeasureUnit;
				public static KILOWATT: android.icu.util.MeasureUnit;
				public static KILOWATT_HOUR: android.icu.util.MeasureUnit;
				public static KNOT: android.icu.util.MeasureUnit;
				public static LIGHT_YEAR: android.icu.util.MeasureUnit;
				public static LITER: android.icu.util.MeasureUnit;
				public static LITER_PER_100KILOMETERS: android.icu.util.MeasureUnit;
				public static LITER_PER_KILOMETER: android.icu.util.MeasureUnit;
				public static LUX: android.icu.util.MeasureUnit;
				public static MEGABIT: android.icu.util.MeasureUnit;
				public static MEGABYTE: android.icu.util.MeasureUnit;
				public static MEGAHERTZ: android.icu.util.MeasureUnit;
				public static MEGALITER: android.icu.util.MeasureUnit;
				public static MEGAWATT: android.icu.util.MeasureUnit;
				public static METER: android.icu.util.MeasureUnit;
				public static METER_PER_SECOND: android.icu.util.MeasureUnit;
				public static METER_PER_SECOND_SQUARED: android.icu.util.MeasureUnit;
				public static METRIC_TON: android.icu.util.MeasureUnit;
				public static MICROGRAM: android.icu.util.MeasureUnit;
				public static MICROMETER: android.icu.util.MeasureUnit;
				public static MICROSECOND: android.icu.util.MeasureUnit;
				public static MILE: android.icu.util.MeasureUnit;
				public static MILE_PER_GALLON: android.icu.util.MeasureUnit;
				public static MILE_PER_GALLON_IMPERIAL: android.icu.util.MeasureUnit;
				public static MILE_PER_HOUR: android.icu.util.MeasureUnit;
				public static MILE_SCANDINAVIAN: android.icu.util.MeasureUnit;
				public static MILLIAMPERE: android.icu.util.MeasureUnit;
				public static MILLIBAR: android.icu.util.MeasureUnit;
				public static MILLIGRAM: android.icu.util.MeasureUnit;
				public static MILLIGRAM_PER_DECILITER: android.icu.util.MeasureUnit;
				public static MILLILITER: android.icu.util.MeasureUnit;
				public static MILLIMETER: android.icu.util.MeasureUnit;
				public static MILLIMETER_OF_MERCURY: android.icu.util.MeasureUnit;
				public static MILLIMOLE_PER_LITER: android.icu.util.MeasureUnit;
				public static MILLISECOND: android.icu.util.MeasureUnit;
				public static MILLIWATT: android.icu.util.MeasureUnit;
				public static MINUTE: android.icu.util.TimeUnit;
				public static MONTH: android.icu.util.TimeUnit;
				public static NANOMETER: android.icu.util.MeasureUnit;
				public static NANOSECOND: android.icu.util.MeasureUnit;
				public static NAUTICAL_MILE: android.icu.util.MeasureUnit;
				public static OHM: android.icu.util.MeasureUnit;
				public static OUNCE: android.icu.util.MeasureUnit;
				public static OUNCE_TROY: android.icu.util.MeasureUnit;
				public static PARSEC: android.icu.util.MeasureUnit;
				public static PART_PER_MILLION: android.icu.util.MeasureUnit;
				public static PICOMETER: android.icu.util.MeasureUnit;
				public static PINT: android.icu.util.MeasureUnit;
				public static PINT_METRIC: android.icu.util.MeasureUnit;
				public static POUND: android.icu.util.MeasureUnit;
				public static POUND_PER_SQUARE_INCH: android.icu.util.MeasureUnit;
				public static QUART: android.icu.util.MeasureUnit;
				public static RADIAN: android.icu.util.MeasureUnit;
				public static REVOLUTION_ANGLE: android.icu.util.MeasureUnit;
				public static SECOND: android.icu.util.TimeUnit;
				public static SQUARE_CENTIMETER: android.icu.util.MeasureUnit;
				public static SQUARE_FOOT: android.icu.util.MeasureUnit;
				public static SQUARE_INCH: android.icu.util.MeasureUnit;
				public static SQUARE_KILOMETER: android.icu.util.MeasureUnit;
				public static SQUARE_METER: android.icu.util.MeasureUnit;
				public static SQUARE_MILE: android.icu.util.MeasureUnit;
				public static SQUARE_YARD: android.icu.util.MeasureUnit;
				public static STONE: android.icu.util.MeasureUnit;
				public static TABLESPOON: android.icu.util.MeasureUnit;
				public static TEASPOON: android.icu.util.MeasureUnit;
				public static TERABIT: android.icu.util.MeasureUnit;
				public static TERABYTE: android.icu.util.MeasureUnit;
				public static TON: android.icu.util.MeasureUnit;
				public static VOLT: android.icu.util.MeasureUnit;
				public static WATT: android.icu.util.MeasureUnit;
				public static WEEK: android.icu.util.TimeUnit;
				public static YARD: android.icu.util.MeasureUnit;
				public static YEAR: android.icu.util.TimeUnit;
				public getType(): string;
				public static getAvailable(): java.util.Set<android.icu.util.MeasureUnit>;
				public static getAvailableTypes(): java.util.Set<string>;
				public static getAvailable(param0: string): java.util.Set<android.icu.util.MeasureUnit>;
				public hashCode(): number;
				public equals(param0: any): boolean;
				public getSubtype(): string;
				public toString(): string;
			}
		}
	}
}

declare module android {
	export module icu {
		export module util {
			export class Output<T>  extends java.lang.Object {
				public static class: java.lang.Class<android.icu.util.Output<any>>;
				public value: T;
				public constructor(param0: T);
				public toString(): string;
				public constructor();
			}
		}
	}
}

declare module android {
	export module icu {
		export module util {
			export class RangeValueIterator extends java.lang.Object {
				public static class: java.lang.Class<android.icu.util.RangeValueIterator>;
				/**
				 * Constructs a new instance of the android.icu.util.RangeValueIterator interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					next(param0: android.icu.util.RangeValueIterator.Element): boolean;
					reset(): void;
				});
				public constructor();
				public reset(): void;
				public next(param0: android.icu.util.RangeValueIterator.Element): boolean;
			}
			export module RangeValueIterator {
				export class Element extends java.lang.Object {
					public static class: java.lang.Class<android.icu.util.RangeValueIterator.Element>;
					public limit: number;
					public start: number;
					public value: number;
					public constructor();
				}
			}
		}
	}
}

declare module android {
	export module icu {
		export module util {
			export class TaiwanCalendar extends android.icu.util.GregorianCalendar {
				public static class: java.lang.Class<android.icu.util.TaiwanCalendar>;
				public static BEFORE_MINGUO: number;
				public static MINGUO: number;
				public constructor(param0: android.icu.util.TimeZone);
				public constructor(param0: number, param1: number, param2: number);
				public getType(): string;
				public constructor(param0: number, param1: number, param2: number, param3: number, param4: number);
				public constructor(param0: java.util.Locale);
				public constructor(param0: java.util.Date);
				public constructor(param0: android.icu.util.TimeZone, param1: java.util.Locale);
				public constructor(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number);
				public constructor();
				public constructor(param0: android.icu.util.TimeZone, param1: android.icu.util.ULocale);
				public handleGetExtendedYear(): number;
				public handleGetLimit(param0: number, param1: number): number;
				public constructor(param0: android.icu.util.ULocale);
				public handleComputeFields(param0: number): void;
			}
		}
	}
}

declare module android {
	export module icu {
		export module util {
			export class TimeUnit extends android.icu.util.MeasureUnit {
				public static class: java.lang.Class<android.icu.util.TimeUnit>;
				public static values(): native.Array<android.icu.util.TimeUnit>;
			}
		}
	}
}

declare module android {
	export module icu {
		export module util {
			export abstract class TimeZone extends java.lang.Object {
				public static class: java.lang.Class<android.icu.util.TimeZone>;
				public static GENERIC_LOCATION: number;
				public static GMT_ZONE: android.icu.util.TimeZone;
				public static LONG: number;
				public static LONG_GENERIC: number;
				public static LONG_GMT: number;
				public static SHORT: number;
				public static SHORT_COMMONLY_USED: number;
				public static SHORT_GENERIC: number;
				public static SHORT_GMT: number;
				public static TIMEZONE_ICU: number;
				public static TIMEZONE_JDK: number;
				public static UNKNOWN_ZONE: android.icu.util.TimeZone;
				public static UNKNOWN_ZONE_ID: string;
				public static getEquivalentID(param0: string, param1: number): string;
				public getRawOffset(): number;
				public isFrozen(): boolean;
				public static getWindowsID(param0: string): string;
				public getDisplayName(): string;
				public getDisplayName(param0: java.util.Locale): string;
				public getDisplayName(param0: boolean, param1: number, param2: android.icu.util.ULocale): string;
				public getDisplayName(param0: boolean, param1: number): string;
				public static getTimeZone(param0: string): android.icu.util.TimeZone;
				public constructor();
				public static getDefault(): android.icu.util.TimeZone;
				public cloneAsThawed(): android.icu.util.TimeZone;
				public cloneAsThawed(): any;
				public getDisplayName(param0: boolean, param1: number, param2: java.util.Locale): string;
				public static getTZDataVersion(): string;
				public static getCanonicalID(param0: string): string;
				public static getAvailableIDs(param0: number): native.Array<string>;
				public static getAvailableIDs(param0: string): native.Array<string>;
				public hashCode(): number;
				public static countEquivalentIDs(param0: string): number;
				public clone(): any;
				public equals(param0: any): boolean;
				public getOffset(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number): number;
				public static getAvailableIDs(): native.Array<string>;
				public static getRegion(param0: string): string;
				public setID(param0: string): void;
				public observesDaylightTime(): boolean;
				public static getAvailableIDs(param0: android.icu.util.TimeZone.SystemTimeZoneType, param1: string, param2: java.lang.Integer): java.util.Set<string>;
				public inDaylightTime(param0: java.util.Date): boolean;
				public static getIDForWindowsID(param0: string, param1: string): string;
				public static getCanonicalID(param0: string, param1: native.Array<boolean>): string;
				public getDSTSavings(): number;
				public useDaylightTime(): boolean;
				public static getFrozenTimeZone(param0: string): android.icu.util.TimeZone;
				public getOffset(param0: number, param1: boolean, param2: native.Array<number>): void;
				public freeze(): android.icu.util.TimeZone;
				public setRawOffset(param0: number): void;
				public getDisplayName(param0: android.icu.util.ULocale): string;
				public freeze(): any;
				public hasSameRules(param0: android.icu.util.TimeZone): boolean;
				public getOffset(param0: number): number;
				public getID(): string;
				public static getTimeZone(param0: string, param1: number): android.icu.util.TimeZone;
			}
			export module TimeZone {
				export class SystemTimeZoneType {
					public static class: java.lang.Class<android.icu.util.TimeZone.SystemTimeZoneType>;
					public static ANY: android.icu.util.TimeZone.SystemTimeZoneType;
					public static CANONICAL: android.icu.util.TimeZone.SystemTimeZoneType;
					public static CANONICAL_LOCATION: android.icu.util.TimeZone.SystemTimeZoneType;
					public static values(): native.Array<android.icu.util.TimeZone.SystemTimeZoneType>;
					public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
					public static valueOf(param0: string): android.icu.util.TimeZone.SystemTimeZoneType;
				}
			}
		}
	}
}

declare module android {
	export module icu {
		export module util {
			export class ULocale extends java.lang.Object {
				public static class: java.lang.Class<android.icu.util.ULocale>;
				public static CANADA: android.icu.util.ULocale;
				public static CANADA_FRENCH: android.icu.util.ULocale;
				public static CHINA: android.icu.util.ULocale;
				public static CHINESE: android.icu.util.ULocale;
				public static ENGLISH: android.icu.util.ULocale;
				public static FRANCE: android.icu.util.ULocale;
				public static FRENCH: android.icu.util.ULocale;
				public static GERMAN: android.icu.util.ULocale;
				public static GERMANY: android.icu.util.ULocale;
				public static ITALIAN: android.icu.util.ULocale;
				public static ITALY: android.icu.util.ULocale;
				public static JAPAN: android.icu.util.ULocale;
				public static JAPANESE: android.icu.util.ULocale;
				public static KOREA: android.icu.util.ULocale;
				public static KOREAN: android.icu.util.ULocale;
				public static PRC: android.icu.util.ULocale;
				public static PRIVATE_USE_EXTENSION: string;
				public static ROOT: android.icu.util.ULocale;
				public static SIMPLIFIED_CHINESE: android.icu.util.ULocale;
				public static TAIWAN: android.icu.util.ULocale;
				public static TRADITIONAL_CHINESE: android.icu.util.ULocale;
				public static UK: android.icu.util.ULocale;
				public static UNICODE_LOCALE_EXTENSION: string;
				public static US: android.icu.util.ULocale;
				public getDisplayNameWithDialect(param0: android.icu.util.ULocale): string;
				public static getDisplayKeyword(param0: string, param1: android.icu.util.ULocale): string;
				public getLineOrientation(): string;
				public static getName(param0: string): string;
				public static getDisplayScript(param0: string, param1: android.icu.util.ULocale): string;
				public getVariant(): string;
				public constructor(param0: string, param1: string, param2: string);
				public static getKeywordValue(param0: string, param1: string): string;
				public static getBaseName(param0: string): string;
				public isRightToLeft(): boolean;
				public getDisplayName(): string;
				public getBaseName(): string;
				public static getDisplayVariant(param0: string, param1: string): string;
				public static getFallback(param0: string): string;
				public getDisplayLanguageWithDialect(param0: android.icu.util.ULocale): string;
				public toLanguageTag(): string;
				public getDisplayScript(param0: android.icu.util.ULocale): string;
				public static forLanguageTag(param0: string): android.icu.util.ULocale;
				public static canonicalize(param0: string): string;
				public getISO3Country(): string;
				public hashCode(): number;
				public static getDisplayKeywordValue(param0: string, param1: string, param2: android.icu.util.ULocale): string;
				public static getDefault(): android.icu.util.ULocale;
				public clone(): any;
				public equals(param0: any): boolean;
				public getKeywordValue(param0: string): string;
				public static setKeywordValue(param0: string, param1: string, param2: string): string;
				public static getISO3Language(param0: string): string;
				public static getDisplayScript(param0: string, param1: string): string;
				public static createCanonical(param0: string): android.icu.util.ULocale;
				public static getLanguage(param0: string): string;
				public static getDisplayVariant(param0: string, param1: android.icu.util.ULocale): string;
				public compareTo(param0: android.icu.util.ULocale): number;
				public getExtensionKeys(): java.util.Set<java.lang.Character>;
				public getFallback(): android.icu.util.ULocale;
				public getName(): string;
				public static minimizeSubtags(param0: android.icu.util.ULocale): android.icu.util.ULocale;
				public toString(): string;
				public getDisplayCountry(): string;
				public static acceptLanguage(param0: string, param1: native.Array<android.icu.util.ULocale>, param2: native.Array<boolean>): android.icu.util.ULocale;
				public getDisplayLanguage(): string;
				public static getDisplayLanguageWithDialect(param0: string, param1: string): string;
				public getDisplayLanguageWithDialect(): string;
				public getDisplayCountry(param0: android.icu.util.ULocale): string;
				public getDisplayVariant(param0: android.icu.util.ULocale): string;
				public getLanguage(): string;
				public getDisplayName(param0: android.icu.util.ULocale): string;
				public getKeywords(): java.util.Iterator<string>;
				public static getISOLanguages(): native.Array<string>;
				public getUnicodeLocaleKeys(): java.util.Set<string>;
				public static getDisplayCountry(param0: string, param1: android.icu.util.ULocale): string;
				public static getDisplayName(param0: string, param1: android.icu.util.ULocale): string;
				public static acceptLanguage(param0: native.Array<android.icu.util.ULocale>, param1: native.Array<android.icu.util.ULocale>, param2: native.Array<boolean>): android.icu.util.ULocale;
				public getUnicodeLocaleAttributes(): java.util.Set<string>;
				public static getDisplayKeyword(param0: string): string;
				public static getDisplayKeyword(param0: string, param1: string): string;
				public getDisplayVariant(): string;
				public static acceptLanguage(param0: string, param1: native.Array<boolean>): android.icu.util.ULocale;
				public constructor(param0: string);
				public getUnicodeLocaleType(param0: string): string;
				public setKeywordValue(param0: string, param1: string): android.icu.util.ULocale;
				public static getDisplayNameWithDialect(param0: string, param1: string): string;
				public static toUnicodeLocaleType(param0: string, param1: string): string;
				public static getDefault(param0: android.icu.util.ULocale.Category): android.icu.util.ULocale;
				public getExtension(param0: string): string;
				public getScript(): string;
				public static getVariant(param0: string): string;
				public getDisplayKeywordValue(param0: string, param1: android.icu.util.ULocale): string;
				public static toLegacyType(param0: string, param1: string): string;
				public static forLocale(param0: java.util.Locale): android.icu.util.ULocale;
				public getISO3Language(): string;
				public static getISOCountries(): native.Array<string>;
				public getDisplayScript(): string;
				public constructor(param0: string, param1: string);
				public static getScript(param0: string): string;
				public static getCountry(param0: string): string;
				public getCountry(): string;
				public toLocale(): java.util.Locale;
				public static getDisplayCountry(param0: string, param1: string): string;
				public static getDisplayKeywordValue(param0: string, param1: string, param2: string): string;
				public static getAvailableLocales(): native.Array<android.icu.util.ULocale>;
				public static addLikelySubtags(param0: android.icu.util.ULocale): android.icu.util.ULocale;
				public static toLegacyKey(param0: string): string;
				public static getDisplayLanguage(param0: string, param1: android.icu.util.ULocale): string;
				public getDisplayKeywordValue(param0: string): string;
				public static getISO3Country(param0: string): string;
				public static getDisplayLanguage(param0: string, param1: string): string;
				public static getKeywords(param0: string): java.util.Iterator<string>;
				public getDisplayLanguage(param0: android.icu.util.ULocale): string;
				public static getDisplayLanguageWithDialect(param0: string, param1: android.icu.util.ULocale): string;
				public static getDisplayName(param0: string, param1: string): string;
				public getDisplayNameWithDialect(): string;
				public static acceptLanguage(param0: native.Array<android.icu.util.ULocale>, param1: native.Array<boolean>): android.icu.util.ULocale;
				public static getDisplayNameWithDialect(param0: string, param1: android.icu.util.ULocale): string;
				public static toUnicodeLocaleKey(param0: string): string;
				public getCharacterOrientation(): string;
			}
			export module ULocale {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.icu.util.ULocale.Builder>;
					public setLanguageTag(param0: string): android.icu.util.ULocale.Builder;
					public setVariant(param0: string): android.icu.util.ULocale.Builder;
					public setRegion(param0: string): android.icu.util.ULocale.Builder;
					public setExtension(param0: string, param1: string): android.icu.util.ULocale.Builder;
					public setScript(param0: string): android.icu.util.ULocale.Builder;
					public constructor();
					public setUnicodeLocaleKeyword(param0: string, param1: string): android.icu.util.ULocale.Builder;
					public clear(): android.icu.util.ULocale.Builder;
					public addUnicodeLocaleAttribute(param0: string): android.icu.util.ULocale.Builder;
					public build(): android.icu.util.ULocale;
					public setLanguage(param0: string): android.icu.util.ULocale.Builder;
					public setLocale(param0: android.icu.util.ULocale): android.icu.util.ULocale.Builder;
					public removeUnicodeLocaleAttribute(param0: string): android.icu.util.ULocale.Builder;
					public clearExtensions(): android.icu.util.ULocale.Builder;
				}
				export class Category {
					public static class: java.lang.Class<android.icu.util.ULocale.Category>;
					public static DISPLAY: android.icu.util.ULocale.Category;
					public static FORMAT: android.icu.util.ULocale.Category;
					public static values(): native.Array<android.icu.util.ULocale.Category>;
					public static valueOf(param0: string): android.icu.util.ULocale.Category;
					public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
				}
			}
		}
	}
}

declare module android {
	export module icu {
		export module util {
			export class UniversalTimeScale extends java.lang.Object {
				public static class: java.lang.Class<android.icu.util.UniversalTimeScale>;
				public static DB2_TIME: number;
				public static DOTNET_DATE_TIME: number;
				public static EPOCH_OFFSET_PLUS_1_VALUE: number;
				public static EPOCH_OFFSET_VALUE: number;
				public static EXCEL_TIME: number;
				public static FROM_MAX_VALUE: number;
				public static FROM_MIN_VALUE: number;
				public static ICU4C_TIME: number;
				public static JAVA_TIME: number;
				public static MAC_OLD_TIME: number;
				public static MAC_TIME: number;
				public static MAX_SCALE: number;
				public static TO_MAX_VALUE: number;
				public static TO_MIN_VALUE: number;
				public static UNITS_VALUE: number;
				public static UNIX_MICROSECONDS_TIME: number;
				public static UNIX_TIME: number;
				public static WINDOWS_FILE_TIME: number;
				public static bigDecimalFrom(param0: number, param1: number): android.icu.math.BigDecimal;
				public static toBigDecimal(param0: android.icu.math.BigDecimal, param1: number): android.icu.math.BigDecimal;
				public static bigDecimalFrom(param0: android.icu.math.BigDecimal, param1: number): android.icu.math.BigDecimal;
				public static toBigDecimal(param0: number, param1: number): android.icu.math.BigDecimal;
				public static getTimeScaleValue(param0: number, param1: number): number;
				public static from(param0: number, param1: number): number;
				public static toLong(param0: number, param1: number): number;
			}
		}
	}
}

declare module android {
	export module icu {
		export module util {
			export class ValueIterator extends java.lang.Object {
				public static class: java.lang.Class<android.icu.util.ValueIterator>;
				/**
				 * Constructs a new instance of the android.icu.util.ValueIterator interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					next(param0: android.icu.util.ValueIterator.Element): boolean;
					reset(): void;
					setRange(param0: number, param1: number): void;
				});
				public constructor();
				public next(param0: android.icu.util.ValueIterator.Element): boolean;
				public reset(): void;
				public setRange(param0: number, param1: number): void;
			}
			export module ValueIterator {
				export class Element extends java.lang.Object {
					public static class: java.lang.Class<android.icu.util.ValueIterator.Element>;
					public integer: number;
					public value: any;
					public constructor();
				}
			}
		}
	}
}

declare module android {
	export module icu {
		export module util {
			export class VersionInfo extends java.lang.Comparable<android.icu.util.VersionInfo> {
				public static class: java.lang.Class<android.icu.util.VersionInfo>;
				public static ICU_VERSION: android.icu.util.VersionInfo;
				public static UCOL_BUILDER_VERSION: android.icu.util.VersionInfo;
				public static UCOL_RUNTIME_VERSION: android.icu.util.VersionInfo;
				public static UNICODE_10_0: android.icu.util.VersionInfo;
				public static UNICODE_1_0: android.icu.util.VersionInfo;
				public static UNICODE_1_0_1: android.icu.util.VersionInfo;
				public static UNICODE_1_1_0: android.icu.util.VersionInfo;
				public static UNICODE_1_1_5: android.icu.util.VersionInfo;
				public static UNICODE_2_0: android.icu.util.VersionInfo;
				public static UNICODE_2_1_2: android.icu.util.VersionInfo;
				public static UNICODE_2_1_5: android.icu.util.VersionInfo;
				public static UNICODE_2_1_8: android.icu.util.VersionInfo;
				public static UNICODE_2_1_9: android.icu.util.VersionInfo;
				public static UNICODE_3_0: android.icu.util.VersionInfo;
				public static UNICODE_3_0_1: android.icu.util.VersionInfo;
				public static UNICODE_3_1_0: android.icu.util.VersionInfo;
				public static UNICODE_3_1_1: android.icu.util.VersionInfo;
				public static UNICODE_3_2: android.icu.util.VersionInfo;
				public static UNICODE_4_0: android.icu.util.VersionInfo;
				public static UNICODE_4_0_1: android.icu.util.VersionInfo;
				public static UNICODE_4_1: android.icu.util.VersionInfo;
				public static UNICODE_5_0: android.icu.util.VersionInfo;
				public static UNICODE_5_1: android.icu.util.VersionInfo;
				public static UNICODE_5_2: android.icu.util.VersionInfo;
				public static UNICODE_6_0: android.icu.util.VersionInfo;
				public static UNICODE_6_1: android.icu.util.VersionInfo;
				public static UNICODE_6_2: android.icu.util.VersionInfo;
				public static UNICODE_6_3: android.icu.util.VersionInfo;
				public static UNICODE_7_0: android.icu.util.VersionInfo;
				public static UNICODE_8_0: android.icu.util.VersionInfo;
				public static UNICODE_9_0: android.icu.util.VersionInfo;
				public static getInstance(param0: number): android.icu.util.VersionInfo;
				public compareTo(param0: android.icu.util.VersionInfo): number;
				public static getInstance(param0: number, param1: number): android.icu.util.VersionInfo;
				public static getInstance(param0: number, param1: number, param2: number): android.icu.util.VersionInfo;
				public toString(): string;
				public getMajor(): number;
				public static getInstance(param0: string): android.icu.util.VersionInfo;
				public getMilli(): number;
				public hashCode(): number;
				public equals(param0: any): boolean;
				public static getInstance(param0: number, param1: number, param2: number, param3: number): android.icu.util.VersionInfo;
				public getMinor(): number;
				public getMicro(): number;
			}
		}
	}
}

declare module android {
	export module inputmethodservice {
		export abstract class AbstractInputMethodService extends android.app.Service implements android.view.KeyEvent.Callback {
			public static class: java.lang.Class<android.inputmethodservice.AbstractInputMethodService>;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public onBind(param0: android.content.Intent): android.os.IBinder;
			public dump(param0: java.io.FileDescriptor, param1: java.io.PrintWriter, param2: native.Array<string>): void;
			public constructor();
			public onGenericMotionEvent(param0: android.view.MotionEvent): boolean;
			public getKeyDispatcherState(): android.view.KeyEvent.DispatcherState;
			public onTrackballEvent(param0: android.view.MotionEvent): boolean;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public onCreateInputMethodSessionInterface(): android.inputmethodservice.AbstractInputMethodService.AbstractInputMethodSessionImpl;
			public onTrimMemory(param0: number): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public constructor(param0: android.content.Context);
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public onCreateInputMethodInterface(): android.inputmethodservice.AbstractInputMethodService.AbstractInputMethodImpl;
		}
		export module AbstractInputMethodService {
			export abstract class AbstractInputMethodImpl extends java.lang.Object implements android.view.inputmethod.InputMethod {
				public static class: java.lang.Class<android.inputmethodservice.AbstractInputMethodService.AbstractInputMethodImpl>;
				public startInput(param0: android.view.inputmethod.InputConnection, param1: android.view.inputmethod.EditorInfo): void;
				public bindInput(param0: android.view.inputmethod.InputBinding): void;
				public setSessionEnabled(param0: android.view.inputmethod.InputMethodSession, param1: boolean): void;
				public restartInput(param0: android.view.inputmethod.InputConnection, param1: android.view.inputmethod.EditorInfo): void;
				public unbindInput(): void;
				public showSoftInput(param0: number, param1: android.os.ResultReceiver): void;
				public hideSoftInput(param0: number, param1: android.os.ResultReceiver): void;
				public revokeSession(param0: android.view.inputmethod.InputMethodSession): void;
				public attachToken(param0: android.os.IBinder): void;
				public constructor(param0: android.inputmethodservice.AbstractInputMethodService);
				public createSession(param0: android.view.inputmethod.InputMethod.SessionCallback): void;
				public changeInputMethodSubtype(param0: android.view.inputmethod.InputMethodSubtype): void;
			}
			export abstract class AbstractInputMethodSessionImpl extends java.lang.Object implements android.view.inputmethod.InputMethodSession {
				public static class: java.lang.Class<android.inputmethodservice.AbstractInputMethodService.AbstractInputMethodSessionImpl>;
				public revokeSelf(): void;
				public dispatchTrackballEvent(param0: number, param1: android.view.MotionEvent, param2: android.view.inputmethod.InputMethodSession.EventCallback): void;
				public appPrivateCommand(param0: string, param1: android.os.Bundle): void;
				public updateSelection(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number): void;
				public setEnabled(param0: boolean): void;
				public constructor(param0: android.inputmethodservice.AbstractInputMethodService);
				public dispatchKeyEvent(param0: number, param1: android.view.KeyEvent, param2: android.view.inputmethod.InputMethodSession.EventCallback): void;
				public viewClicked(param0: boolean): void;
				public isRevoked(): boolean;
				public finishInput(): void;
				public updateCursor(param0: android.graphics.Rect): void;
				public toggleSoftInput(param0: number, param1: number): void;
				public isEnabled(): boolean;
				public dispatchGenericMotionEvent(param0: number, param1: android.view.MotionEvent, param2: android.view.inputmethod.InputMethodSession.EventCallback): void;
				public displayCompletions(param0: native.Array<android.view.inputmethod.CompletionInfo>): void;
				public updateCursorAnchorInfo(param0: android.view.inputmethod.CursorAnchorInfo): void;
				public updateExtractedText(param0: number, param1: android.view.inputmethod.ExtractedText): void;
			}
		}
	}
}

declare module android {
	export module inputmethodservice {
		export class ExtractEditText extends android.widget.EditText {
			public static class: java.lang.Class<android.inputmethodservice.ExtractEditText>;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public hasVerticalScrollBar(): boolean;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public finishInternalChanges(): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public startInternalChanges(): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public onPreDraw(): boolean;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public isInputMethodTarget(): boolean;
			public sendAccessibilityEvent(param0: number): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public isFocused(): boolean;
			public onTextContextMenuItem(param0: number): boolean;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public setExtractedText(param0: android.view.inputmethod.ExtractedText): void;
			public hasWindowFocus(): boolean;
			public constructor(param0: android.content.Context);
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public performClick(): boolean;
			public onSelectionChanged(param0: number, param1: number): void;
			public hasFocus(): boolean;
		}
	}
}

declare module android {
	export module inputmethodservice {
		export class InputMethodService extends android.inputmethodservice.AbstractInputMethodService {
			public static class: java.lang.Class<android.inputmethodservice.InputMethodService>;
			public static BACK_DISPOSITION_ADJUST_NOTHING: number;
			public static BACK_DISPOSITION_DEFAULT: number;
			public static BACK_DISPOSITION_WILL_DISMISS: number;
			public static BACK_DISPOSITION_WILL_NOT_DISMISS: number;
			public onExtractTextContextMenuItem(param0: number): boolean;
			public onWindowHidden(): void;
			public onExtractedCursorMovement(param0: number, param1: number): void;
			public getLayoutInflater(): android.view.LayoutInflater;
			public dump(param0: java.io.FileDescriptor, param1: java.io.PrintWriter, param2: native.Array<string>): void;
			public showWindow(param0: boolean): void;
			public onCreateCandidatesView(): android.view.View;
			public onStartInput(param0: android.view.inputmethod.EditorInfo, param1: boolean): void;
			public onViewClicked(param0: boolean): void;
			public onCreateInputMethodSessionInterface(): android.inputmethodservice.AbstractInputMethodService.AbstractInputMethodSessionImpl;
			public getBackDisposition(): number;
			public getCurrentInputBinding(): android.view.inputmethod.InputBinding;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public setCandidatesView(param0: android.view.View): void;
			public onUpdateSelection(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number): void;
			public sendDefaultEditorAction(param0: boolean): boolean;
			public onFinishInputView(param0: boolean): void;
			public setExtractView(param0: android.view.View): void;
			public switchInputMethod(param0: string, param1: android.view.inputmethod.InputMethodSubtype): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public onCreateInputMethodInterface(): android.inputmethodservice.AbstractInputMethodService.AbstractInputMethodImpl;
			public getCurrentInputConnection(): android.view.inputmethod.InputConnection;
			public hideWindow(): void;
			public onEvaluateFullscreenMode(): boolean;
			public onConfigureWindow(param0: android.view.Window, param1: boolean, param2: boolean): void;
			public onCurrentInputMethodSubtypeChanged(param0: android.view.inputmethod.InputMethodSubtype): void;
			/** @deprecated */
			public enableHardwareAcceleration(): boolean;
			public onCreate(): void;
			public constructor();
			public onFinishCandidatesView(param0: boolean): void;
			public requestHideSelf(param0: number): void;
			public setBackDisposition(param0: number): void;
			public switchToNextInputMethod(param0: boolean): boolean;
			public onExtractingInputChanged(param0: android.view.inputmethod.EditorInfo): void;
			public onTrackballEvent(param0: android.view.MotionEvent): boolean;
			public setCandidatesViewShown(param0: boolean): void;
			public onStartInputView(param0: android.view.inputmethod.EditorInfo, param1: boolean): void;
			public onInitializeInterface(): void;
			public onShowInputRequested(param0: number, param1: boolean): boolean;
			public onExtractedSelectionChanged(param0: number, param1: number): void;
			public onFinishInput(): void;
			/** @deprecated */
			public onUpdateCursor(param0: android.graphics.Rect): void;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public updateInputViewShown(): void;
			public onUpdateCursorAnchorInfo(param0: android.view.inputmethod.CursorAnchorInfo): void;
			public onCreateInputView(): android.view.View;
			public isFullscreenMode(): boolean;
			public onUnbindInput(): void;
			public getInputMethodWindowRecommendedHeight(): number;
			public getWindow(): android.app.Dialog;
			public onDestroy(): void;
			public onGenericMotionEvent(param0: android.view.MotionEvent): boolean;
			public sendDownUpKeyEvents(param0: number): void;
			public onCreateExtractTextView(): android.view.View;
			public sendKeyChar(param0: string): void;
			public onTrimMemory(param0: number): void;
			public hideStatusIcon(): void;
			public onUpdateExtractedText(param0: number, param1: android.view.inputmethod.ExtractedText): void;
			public getCurrentInputEditorInfo(): android.view.inputmethod.EditorInfo;
			public onExtractedTextClicked(): void;
			public onComputeInsets(param0: android.inputmethodservice.InputMethodService.Insets): void;
			public updateFullscreenMode(): void;
			public switchToPreviousInputMethod(): boolean;
			public isExtractViewShown(): boolean;
			public onConfigurationChanged(param0: android.content.res.Configuration): void;
			public getTextForImeAction(param0: number): string;
			public onUpdateExtractingViews(param0: android.view.inputmethod.EditorInfo): void;
			public switchInputMethod(param0: string): void;
			public setInputView(param0: android.view.View): void;
			public getMaxWidth(): number;
			public onStartCandidatesView(param0: android.view.inputmethod.EditorInfo, param1: boolean): void;
			public onBindInput(): void;
			public getCandidatesHiddenVisibility(): number;
			public onWindowShown(): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public onAppPrivateCommand(param0: string, param1: android.os.Bundle): void;
			public setExtractViewShown(param0: boolean): void;
			public shouldOfferSwitchingToNextInputMethod(): boolean;
			public setTheme(param0: number): void;
			public requestShowSelf(param0: number): void;
			public getCurrentInputStarted(): boolean;
			public showStatusIcon(param0: number): void;
			public constructor(param0: android.content.Context);
			public onEvaluateInputViewShown(): boolean;
			public onDisplayCompletions(param0: native.Array<android.view.inputmethod.CompletionInfo>): void;
			public isInputViewShown(): boolean;
			public onUpdateExtractingVisibility(param0: android.view.inputmethod.EditorInfo): void;
			public isShowInputRequested(): boolean;
		}
		export module InputMethodService {
			export class InputMethodImpl extends android.inputmethodservice.AbstractInputMethodService.AbstractInputMethodImpl {
				public static class: java.lang.Class<android.inputmethodservice.InputMethodService.InputMethodImpl>;
				public bindInput(param0: android.view.inputmethod.InputBinding): void;
				public setSessionEnabled(param0: android.view.inputmethod.InputMethodSession, param1: boolean): void;
				public unbindInput(): void;
				public hideSoftInput(param0: number, param1: android.os.ResultReceiver): void;
				public revokeSession(param0: android.view.inputmethod.InputMethodSession): void;
				public attachToken(param0: android.os.IBinder): void;
				public constructor(param0: android.inputmethodservice.AbstractInputMethodService);
				public createSession(param0: android.view.inputmethod.InputMethod.SessionCallback): void;
				public startInput(param0: android.view.inputmethod.InputConnection, param1: android.view.inputmethod.EditorInfo): void;
				public constructor(param0: android.inputmethodservice.InputMethodService);
				public restartInput(param0: android.view.inputmethod.InputConnection, param1: android.view.inputmethod.EditorInfo): void;
				public showSoftInput(param0: number, param1: android.os.ResultReceiver): void;
				public changeInputMethodSubtype(param0: android.view.inputmethod.InputMethodSubtype): void;
			}
			export class InputMethodSessionImpl extends android.inputmethodservice.AbstractInputMethodService.AbstractInputMethodSessionImpl {
				public static class: java.lang.Class<android.inputmethodservice.InputMethodService.InputMethodSessionImpl>;
				public appPrivateCommand(param0: string, param1: android.os.Bundle): void;
				public dispatchTrackballEvent(param0: number, param1: android.view.MotionEvent, param2: android.view.inputmethod.InputMethodSession.EventCallback): void;
				public updateSelection(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number): void;
				public constructor(param0: android.inputmethodservice.AbstractInputMethodService);
				public dispatchKeyEvent(param0: number, param1: android.view.KeyEvent, param2: android.view.inputmethod.InputMethodSession.EventCallback): void;
				public constructor(param0: android.inputmethodservice.InputMethodService);
				public viewClicked(param0: boolean): void;
				public finishInput(): void;
				public updateCursor(param0: android.graphics.Rect): void;
				public toggleSoftInput(param0: number, param1: number): void;
				public dispatchGenericMotionEvent(param0: number, param1: android.view.MotionEvent, param2: android.view.inputmethod.InputMethodSession.EventCallback): void;
				public displayCompletions(param0: native.Array<android.view.inputmethod.CompletionInfo>): void;
				public updateCursorAnchorInfo(param0: android.view.inputmethod.CursorAnchorInfo): void;
				public updateExtractedText(param0: number, param1: android.view.inputmethod.ExtractedText): void;
			}
			export class Insets extends java.lang.Object {
				public static class: java.lang.Class<android.inputmethodservice.InputMethodService.Insets>;
				public static TOUCHABLE_INSETS_CONTENT: number;
				public static TOUCHABLE_INSETS_FRAME: number;
				public static TOUCHABLE_INSETS_REGION: number;
				public static TOUCHABLE_INSETS_VISIBLE: number;
				public contentTopInsets: number;
				public touchableInsets: number;
				public touchableRegion: android.graphics.Region;
				public visibleTopInsets: number;
				public constructor();
			}
		}
	}
}

declare module android {
	export module inputmethodservice {
		export class Keyboard extends java.lang.Object {
			public static class: java.lang.Class<android.inputmethodservice.Keyboard>;
			public static EDGE_BOTTOM: number;
			public static EDGE_LEFT: number;
			public static EDGE_RIGHT: number;
			public static EDGE_TOP: number;
			public static KEYCODE_ALT: number;
			public static KEYCODE_CANCEL: number;
			public static KEYCODE_DELETE: number;
			public static KEYCODE_DONE: number;
			public static KEYCODE_MODE_CHANGE: number;
			public static KEYCODE_SHIFT: number;
			public setKeyHeight(param0: number): void;
			public getKeyHeight(): number;
			public getHorizontalGap(): number;
			public getHeight(): number;
			public getVerticalGap(): number;
			public createKeyFromXml(param0: android.content.res.Resources, param1: android.inputmethodservice.Keyboard.Row, param2: number, param3: number, param4: android.content.res.XmlResourceParser): android.inputmethodservice.Keyboard.Key;
			public createRowFromXml(param0: android.content.res.Resources, param1: android.content.res.XmlResourceParser): android.inputmethodservice.Keyboard.Row;
			public isShifted(): boolean;
			public constructor(param0: android.content.Context, param1: number);
			public getModifierKeys(): java.util.List<android.inputmethodservice.Keyboard.Key>;
			public getKeys(): java.util.List<android.inputmethodservice.Keyboard.Key>;
			public setVerticalGap(param0: number): void;
			public setHorizontalGap(param0: number): void;
			public getShiftKeyIndex(): number;
			public getKeyWidth(): number;
			public constructor(param0: android.content.Context, param1: number, param2: string, param3: number, param4: number);
			public getMinWidth(): number;
			public constructor(param0: android.content.Context, param1: number, param2: number, param3: number, param4: number);
			public setKeyWidth(param0: number): void;
			public setShifted(param0: boolean): boolean;
			public getNearestKeys(param0: number, param1: number): native.Array<number>;
			public constructor(param0: android.content.Context, param1: number, param2: number);
		}
		export module Keyboard {
			export class Key extends java.lang.Object {
				public static class: java.lang.Class<android.inputmethodservice.Keyboard.Key>;
				public codes: native.Array<number>;
				public edgeFlags: number;
				public gap: number;
				public height: number;
				public icon: android.graphics.drawable.Drawable;
				public iconPreview: android.graphics.drawable.Drawable;
				public label: string;
				public modifier: boolean;
				public on: boolean;
				public popupCharacters: string;
				public popupResId: number;
				public pressed: boolean;
				public repeatable: boolean;
				public sticky: boolean;
				public text: string;
				public width: number;
				public x: number;
				public y: number;
				public constructor(param0: android.content.res.Resources, param1: android.inputmethodservice.Keyboard.Row, param2: number, param3: number, param4: android.content.res.XmlResourceParser);
				public squaredDistanceFrom(param0: number, param1: number): number;
				public getCurrentDrawableState(): native.Array<number>;
				public isInside(param0: number, param1: number): boolean;
				public constructor(param0: android.inputmethodservice.Keyboard.Row);
				public onPressed(): void;
				public onReleased(param0: boolean): void;
			}
			export class Row extends java.lang.Object {
				public static class: java.lang.Class<android.inputmethodservice.Keyboard.Row>;
				public defaultHeight: number;
				public defaultHorizontalGap: number;
				public defaultWidth: number;
				public mode: number;
				public rowEdgeFlags: number;
				public verticalGap: number;
				public constructor(param0: android.inputmethodservice.Keyboard);
				public constructor(param0: android.content.res.Resources, param1: android.inputmethodservice.Keyboard, param2: android.content.res.XmlResourceParser);
			}
		}
	}
}

declare module android {
	export module inputmethodservice {
		export class KeyboardView extends android.view.View implements android.view.View.OnClickListener {
			public static class: java.lang.Class<android.inputmethodservice.KeyboardView>;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public swipeDown(): void;
			public onSizeChanged(param0: number, param1: number, param2: number, param3: number): void;
			public setPreviewEnabled(param0: boolean): void;
			public invalidateAllKeys(): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public onMeasure(param0: number, param1: number): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public getKeyboard(): android.inputmethodservice.Keyboard;
			public swipeLeft(): void;
			public handleBack(): boolean;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public isPreviewEnabled(): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public getOnKeyboardActionListener(): android.inputmethodservice.KeyboardView.OnKeyboardActionListener;
			public isProximityCorrectionEnabled(): boolean;
			public onLongPress(param0: android.inputmethodservice.Keyboard.Key): boolean;
			public swipeUp(): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public setVerticalCorrection(param0: number): void;
			public onDetachedFromWindow(): void;
			public sendAccessibilityEvent(param0: number): void;
			public setProximityCorrectionEnabled(param0: boolean): void;
			public closing(): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public invalidateKey(param0: number): void;
			public setOnKeyboardActionListener(param0: android.inputmethodservice.KeyboardView.OnKeyboardActionListener): void;
			public setKeyboard(param0: android.inputmethodservice.Keyboard): void;
			public isShifted(): boolean;
			public onTouchEvent(param0: android.view.MotionEvent): boolean;
			public swipeRight(): void;
			public setPopupOffset(param0: number, param1: number): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public constructor(param0: android.content.Context);
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public onDraw(param0: android.graphics.Canvas): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public onAttachedToWindow(): void;
			public setShifted(param0: boolean): boolean;
			public onHoverEvent(param0: android.view.MotionEvent): boolean;
			public setPopupParent(param0: android.view.View): void;
			public onClick(param0: android.view.View): void;
		}
		export module KeyboardView {
			export class OnKeyboardActionListener extends java.lang.Object {
				public static class: java.lang.Class<android.inputmethodservice.KeyboardView.OnKeyboardActionListener>;
				/**
				 * Constructs a new instance of the android.inputmethodservice.KeyboardView$OnKeyboardActionListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onPress(param0: number): void;
					onRelease(param0: number): void;
					onKey(param0: number, param1: native.Array<number>): void;
					onText(param0: string): void;
					swipeLeft(): void;
					swipeRight(): void;
					swipeDown(): void;
					swipeUp(): void;
				});
				public constructor();
				public onRelease(param0: number): void;
				public onPress(param0: number): void;
				public onText(param0: string): void;
				public onKey(param0: number, param1: native.Array<number>): void;
				public swipeLeft(): void;
				public swipeRight(): void;
				public swipeUp(): void;
				public swipeDown(): void;
			}
		}
	}
}

declare module android {
	export module location {
		export class Address extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.location.Address>;
			public static CREATOR: android.os.Parcelable.Creator<android.location.Address>;
			public setAddressLine(param0: number, param1: string): void;
			public setCountryName(param0: string): void;
			public setLongitude(param0: number): void;
			public getCountryCode(): string;
			public getSubLocality(): string;
			public hasLatitude(): boolean;
			public getMaxAddressLineIndex(): number;
			public setExtras(param0: android.os.Bundle): void;
			public setCountryCode(param0: string): void;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getFeatureName(): string;
			public setLatitude(param0: number): void;
			public getCountryName(): string;
			public setAdminArea(param0: string): void;
			public setSubAdminArea(param0: string): void;
			public getSubThoroughfare(): string;
			public getLocale(): java.util.Locale;
			public getThoroughfare(): string;
			public getSubAdminArea(): string;
			public getLongitude(): number;
			public setPhone(param0: string): void;
			public setSubLocality(param0: string): void;
			public getUrl(): string;
			public getPostalCode(): string;
			public clearLatitude(): void;
			public setUrl(param0: string): void;
			public getPremises(): string;
			public getLatitude(): number;
			public constructor(param0: java.util.Locale);
			public clearLongitude(): void;
			public setFeatureName(param0: string): void;
			public getAddressLine(param0: number): string;
			public toString(): string;
			public getAdminArea(): string;
			public setPostalCode(param0: string): void;
			public describeContents(): number;
			public hasLongitude(): boolean;
			public setPremises(param0: string): void;
			public setLocality(param0: string): void;
			public setThoroughfare(param0: string): void;
			public getPhone(): string;
			public setSubThoroughfare(param0: string): void;
			public getExtras(): android.os.Bundle;
			public getLocality(): string;
		}
	}
}

declare module android {
	export module location {
		export class Criteria extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.location.Criteria>;
			public static ACCURACY_COARSE: number;
			public static ACCURACY_FINE: number;
			public static ACCURACY_HIGH: number;
			public static ACCURACY_LOW: number;
			public static ACCURACY_MEDIUM: number;
			public static CREATOR: android.os.Parcelable.Creator<android.location.Criteria>;
			public static NO_REQUIREMENT: number;
			public static POWER_HIGH: number;
			public static POWER_LOW: number;
			public static POWER_MEDIUM: number;
			public getSpeedAccuracy(): number;
			public constructor(param0: android.location.Criteria);
			public setBearingAccuracy(param0: number): void;
			public isCostAllowed(): boolean;
			public setAccuracy(param0: number): void;
			public getAccuracy(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getPowerRequirement(): number;
			public getVerticalAccuracy(): number;
			public setCostAllowed(param0: boolean): void;
			public setBearingRequired(param0: boolean): void;
			public setSpeedAccuracy(param0: number): void;
			public setPowerRequirement(param0: number): void;
			public constructor();
			public setHorizontalAccuracy(param0: number): void;
			public isSpeedRequired(): boolean;
			public isAltitudeRequired(): boolean;
			public setVerticalAccuracy(param0: number): void;
			public getBearingAccuracy(): number;
			public isBearingRequired(): boolean;
			public toString(): string;
			public describeContents(): number;
			public setAltitudeRequired(param0: boolean): void;
			public setSpeedRequired(param0: boolean): void;
			public getHorizontalAccuracy(): number;
		}
	}
}

declare module android {
	export module location {
		export class Geocoder extends java.lang.Object {
			public static class: java.lang.Class<android.location.Geocoder>;
			public static isPresent(): boolean;
			public getFromLocationName(param0: string, param1: number): java.util.List<android.location.Address>;
			public constructor(param0: android.content.Context);
			public constructor(param0: android.content.Context, param1: java.util.Locale);
			public getFromLocation(param0: number, param1: number, param2: number): java.util.List<android.location.Address>;
			public getFromLocationName(param0: string, param1: number, param2: number, param3: number, param4: number, param5: number): java.util.List<android.location.Address>;
		}
	}
}

declare module android {
	export module location {
		export class GnssClock extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.location.GnssClock>;
			public static CREATOR: android.os.Parcelable.Creator<android.location.GnssClock>;
			public getDriftUncertaintyNanosPerSecond(): number;
			public hasLeapSecond(): boolean;
			public getLeapSecond(): number;
			public getTimeNanos(): number;
			public hasDriftNanosPerSecond(): boolean;
			public hasBiasUncertaintyNanos(): boolean;
			public hasFullBiasNanos(): boolean;
			public hasDriftUncertaintyNanosPerSecond(): boolean;
			public getBiasUncertaintyNanos(): number;
			public getTimeUncertaintyNanos(): number;
			public getBiasNanos(): number;
			public toString(): string;
			public hasBiasNanos(): boolean;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public hasTimeUncertaintyNanos(): boolean;
			public getDriftNanosPerSecond(): number;
			public getFullBiasNanos(): number;
			public getHardwareClockDiscontinuityCount(): number;
		}
	}
}

declare module android {
	export module location {
		export class GnssMeasurement extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.location.GnssMeasurement>;
			public static ADR_STATE_CYCLE_SLIP: number;
			public static ADR_STATE_HALF_CYCLE_REPORTED: number;
			public static ADR_STATE_HALF_CYCLE_RESOLVED: number;
			public static ADR_STATE_RESET: number;
			public static ADR_STATE_UNKNOWN: number;
			public static ADR_STATE_VALID: number;
			public static CREATOR: android.os.Parcelable.Creator<android.location.GnssMeasurement>;
			public static MULTIPATH_INDICATOR_DETECTED: number;
			public static MULTIPATH_INDICATOR_NOT_DETECTED: number;
			public static MULTIPATH_INDICATOR_UNKNOWN: number;
			public static STATE_BDS_D2_BIT_SYNC: number;
			public static STATE_BDS_D2_SUBFRAME_SYNC: number;
			public static STATE_BIT_SYNC: number;
			public static STATE_CODE_LOCK: number;
			public static STATE_GAL_E1BC_CODE_LOCK: number;
			public static STATE_GAL_E1B_PAGE_SYNC: number;
			public static STATE_GAL_E1C_2ND_CODE_LOCK: number;
			public static STATE_GLO_STRING_SYNC: number;
			public static STATE_GLO_TOD_DECODED: number;
			public static STATE_GLO_TOD_KNOWN: number;
			public static STATE_MSEC_AMBIGUOUS: number;
			public static STATE_SBAS_SYNC: number;
			public static STATE_SUBFRAME_SYNC: number;
			public static STATE_SYMBOL_SYNC: number;
			public static STATE_TOW_DECODED: number;
			public static STATE_TOW_KNOWN: number;
			public static STATE_UNKNOWN: number;
			public getAccumulatedDeltaRangeState(): number;
			public hasSnrInDb(): boolean;
			public hasCarrierFrequencyHz(): boolean;
			public hasAutomaticGainControlLevelDb(): boolean;
			public getSvid(): number;
			public getTimeOffsetNanos(): number;
			/** @deprecated */
			public hasCarrierPhaseUncertainty(): boolean;
			public getConstellationType(): number;
			public getSnrInDb(): number;
			public getPseudorangeRateMetersPerSecond(): number;
			public getMultipathIndicator(): number;
			/** @deprecated */
			public getCarrierPhase(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getCarrierFrequencyHz(): number;
			public getState(): number;
			public getReceivedSvTimeUncertaintyNanos(): number;
			/** @deprecated */
			public hasCarrierCycles(): boolean;
			public getReceivedSvTimeNanos(): number;
			/** @deprecated */
			public getCarrierPhaseUncertainty(): number;
			public getAccumulatedDeltaRangeUncertaintyMeters(): number;
			/** @deprecated */
			public getCarrierCycles(): number;
			public getAccumulatedDeltaRangeMeters(): number;
			public toString(): string;
			public describeContents(): number;
			public getPseudorangeRateUncertaintyMetersPerSecond(): number;
			/** @deprecated */
			public hasCarrierPhase(): boolean;
			public getCn0DbHz(): number;
			public getAutomaticGainControlLevelDb(): number;
		}
	}
}

declare module android {
	export module location {
		export class GnssMeasurementsEvent extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.location.GnssMeasurementsEvent>;
			public static CREATOR: android.os.Parcelable.Creator<android.location.GnssMeasurementsEvent>;
			public toString(): string;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getMeasurements(): java.util.Collection<android.location.GnssMeasurement>;
			public getClock(): android.location.GnssClock;
		}
		export module GnssMeasurementsEvent {
			export abstract class Callback extends java.lang.Object {
				public static class: java.lang.Class<android.location.GnssMeasurementsEvent.Callback>;
				public static STATUS_LOCATION_DISABLED: number;
				public static STATUS_NOT_ALLOWED: number;
				public static STATUS_NOT_SUPPORTED: number;
				public static STATUS_READY: number;
				public onStatusChanged(param0: number): void;
				public onGnssMeasurementsReceived(param0: android.location.GnssMeasurementsEvent): void;
				public constructor();
			}
		}
	}
}

declare module android {
	export module location {
		export class GnssNavigationMessage extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.location.GnssNavigationMessage>;
			public static CREATOR: android.os.Parcelable.Creator<android.location.GnssNavigationMessage>;
			public static STATUS_PARITY_PASSED: number;
			public static STATUS_PARITY_REBUILT: number;
			public static STATUS_UNKNOWN: number;
			public static TYPE_BDS_D1: number;
			public static TYPE_BDS_D2: number;
			public static TYPE_GAL_F: number;
			public static TYPE_GAL_I: number;
			public static TYPE_GLO_L1CA: number;
			public static TYPE_GPS_CNAV2: number;
			public static TYPE_GPS_L1CA: number;
			public static TYPE_GPS_L2CNAV: number;
			public static TYPE_GPS_L5CNAV: number;
			public static TYPE_UNKNOWN: number;
			public getType(): number;
			public getData(): native.Array<number>;
			public toString(): string;
			public describeContents(): number;
			public getSvid(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getMessageId(): number;
			public getSubmessageId(): number;
			public getStatus(): number;
		}
		export module GnssNavigationMessage {
			export abstract class Callback extends java.lang.Object {
				public static class: java.lang.Class<android.location.GnssNavigationMessage.Callback>;
				public static STATUS_LOCATION_DISABLED: number;
				public static STATUS_NOT_SUPPORTED: number;
				public static STATUS_READY: number;
				public onGnssNavigationMessageReceived(param0: android.location.GnssNavigationMessage): void;
				public onStatusChanged(param0: number): void;
				public constructor();
			}
		}
	}
}

declare module android {
	export module location {
		export class GnssStatus extends java.lang.Object {
			public static class: java.lang.Class<android.location.GnssStatus>;
			public static CONSTELLATION_BEIDOU: number;
			public static CONSTELLATION_GALILEO: number;
			public static CONSTELLATION_GLONASS: number;
			public static CONSTELLATION_GPS: number;
			public static CONSTELLATION_QZSS: number;
			public static CONSTELLATION_SBAS: number;
			public static CONSTELLATION_UNKNOWN: number;
			public getConstellationType(param0: number): number;
			public getCn0DbHz(param0: number): number;
			public hasAlmanacData(param0: number): boolean;
			public getSvid(param0: number): number;
			public getSatelliteCount(): number;
			public usedInFix(param0: number): boolean;
			public hasCarrierFrequencyHz(param0: number): boolean;
			public getAzimuthDegrees(param0: number): number;
			public hasEphemerisData(param0: number): boolean;
			public getCarrierFrequencyHz(param0: number): number;
			public getElevationDegrees(param0: number): number;
		}
		export module GnssStatus {
			export abstract class Callback extends java.lang.Object {
				public static class: java.lang.Class<android.location.GnssStatus.Callback>;
				public onSatelliteStatusChanged(param0: android.location.GnssStatus): void;
				public onStarted(): void;
				public onStopped(): void;
				public onFirstFix(param0: number): void;
				public constructor();
			}
		}
	}
}

declare module android {
	export module location {
		export class GpsSatellite extends java.lang.Object {
			public static class: java.lang.Class<android.location.GpsSatellite>;
			public getSnr(): number;
			public getElevation(): number;
			public getAzimuth(): number;
			public hasAlmanac(): boolean;
			public hasEphemeris(): boolean;
			public getPrn(): number;
			public usedInFix(): boolean;
		}
	}
}

declare module android {
	export module location {
		export class GpsStatus extends java.lang.Object {
			public static class: java.lang.Class<android.location.GpsStatus>;
			public static GPS_EVENT_FIRST_FIX: number;
			public static GPS_EVENT_SATELLITE_STATUS: number;
			public static GPS_EVENT_STARTED: number;
			public static GPS_EVENT_STOPPED: number;
			public getSatellites(): java.lang.Iterable<android.location.GpsSatellite>;
			public getTimeToFirstFix(): number;
			public getMaxSatellites(): number;
		}
		export module GpsStatus {
			export class Listener extends java.lang.Object {
				public static class: java.lang.Class<android.location.GpsStatus.Listener>;
				/**
				 * Constructs a new instance of the android.location.GpsStatus$Listener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onGpsStatusChanged(param0: number): void;
				});
				public constructor();
				public onGpsStatusChanged(param0: number): void;
			}
			export class NmeaListener extends java.lang.Object {
				public static class: java.lang.Class<android.location.GpsStatus.NmeaListener>;
				/**
				 * Constructs a new instance of the android.location.GpsStatus$NmeaListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onNmeaReceived(param0: number, param1: string): void;
				});
				public constructor();
				public onNmeaReceived(param0: number, param1: string): void;
			}
		}
	}
}

declare module android {
	export module location {
		export class Location extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.location.Location>;
			public static CREATOR: android.os.Parcelable.Creator<android.location.Location>;
			public static FORMAT_DEGREES: number;
			public static FORMAT_MINUTES: number;
			public static FORMAT_SECONDS: number;
			public constructor(param0: android.location.Location);
			public static convert(param0: number, param1: number): string;
			public setProvider(param0: string): void;
			public setExtras(param0: android.os.Bundle): void;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public setLatitude(param0: number): void;
			public hasSpeedAccuracy(): boolean;
			public constructor(param0: string);
			public getLongitude(): number;
			public setSpeedAccuracyMetersPerSecond(param0: number): void;
			public static distanceBetween(param0: number, param1: number, param2: number, param3: number, param4: native.Array<number>): void;
			public hasBearingAccuracy(): boolean;
			public getLatitude(): number;
			public hasAltitude(): boolean;
			/** @deprecated */
			public removeAltitude(): void;
			public setAltitude(param0: number): void;
			public isFromMockProvider(): boolean;
			public setTime(param0: number): void;
			public static convert(param0: string): number;
			public getTime(): number;
			public describeContents(): number;
			/** @deprecated */
			public removeBearing(): void;
			public setVerticalAccuracyMeters(param0: number): void;
			public getExtras(): android.os.Bundle;
			public getBearing(): number;
			public bearingTo(param0: android.location.Location): number;
			public setSpeed(param0: number): void;
			public setLongitude(param0: number): void;
			public distanceTo(param0: android.location.Location): number;
			public getProvider(): string;
			public getElapsedRealtimeNanos(): number;
			public setBearingAccuracyDegrees(param0: number): void;
			public getSpeed(): number;
			public hasBearing(): boolean;
			public setBearing(param0: number): void;
			public getAltitude(): number;
			public setAccuracy(param0: number): void;
			public set(param0: android.location.Location): void;
			public getAccuracy(): number;
			public reset(): void;
			public hasVerticalAccuracy(): boolean;
			/** @deprecated */
			public removeAccuracy(): void;
			public hasAccuracy(): boolean;
			/** @deprecated */
			public removeSpeed(): void;
			public getSpeedAccuracyMetersPerSecond(): number;
			public getBearingAccuracyDegrees(): number;
			public hasSpeed(): boolean;
			public getVerticalAccuracyMeters(): number;
			public toString(): string;
			public setElapsedRealtimeNanos(param0: number): void;
			public dump(param0: android.util.Printer, param1: string): void;
		}
	}
}

declare module android {
	export module location {
		export class LocationListener extends java.lang.Object {
			public static class: java.lang.Class<android.location.LocationListener>;
			/**
			 * Constructs a new instance of the android.location.LocationListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				onLocationChanged(param0: android.location.Location): void;
				onStatusChanged(param0: string, param1: number, param2: android.os.Bundle): void;
				onProviderEnabled(param0: string): void;
				onProviderDisabled(param0: string): void;
			});
			public constructor();
			public onProviderDisabled(param0: string): void;
			public onProviderEnabled(param0: string): void;
			public onLocationChanged(param0: android.location.Location): void;
			public onStatusChanged(param0: string, param1: number, param2: android.os.Bundle): void;
		}
	}
}

declare module android {
	export module location {
		export class LocationManager extends java.lang.Object {
			public static class: java.lang.Class<android.location.LocationManager>;
			public static GPS_PROVIDER: string;
			public static KEY_LOCATION_CHANGED: string;
			public static KEY_PROVIDER_ENABLED: string;
			public static KEY_PROXIMITY_ENTERING: string;
			public static KEY_STATUS_CHANGED: string;
			public static MODE_CHANGED_ACTION: string;
			public static NETWORK_PROVIDER: string;
			public static PASSIVE_PROVIDER: string;
			public static PROVIDERS_CHANGED_ACTION: string;
			public getGnssYearOfHardware(): number;
			public requestSingleUpdate(param0: android.location.Criteria, param1: android.app.PendingIntent): void;
			public registerGnssStatusCallback(param0: android.location.GnssStatus.Callback, param1: android.os.Handler): boolean;
			public getLastKnownLocation(param0: string): android.location.Location;
			public clearTestProviderStatus(param0: string): void;
			public addNmeaListener(param0: android.location.OnNmeaMessageListener): boolean;
			public requestLocationUpdates(param0: string, param1: number, param2: number, param3: android.location.LocationListener): void;
			public addTestProvider(param0: string, param1: boolean, param2: boolean, param3: boolean, param4: boolean, param5: boolean, param6: boolean, param7: boolean, param8: number, param9: number): void;
			/** @deprecated */
			public addGpsStatusListener(param0: android.location.GpsStatus.Listener): boolean;
			public setTestProviderStatus(param0: string, param1: number, param2: android.os.Bundle, param3: number): void;
			public requestLocationUpdates(param0: number, param1: number, param2: android.location.Criteria, param3: android.app.PendingIntent): void;
			public unregisterGnssMeasurementsCallback(param0: android.location.GnssMeasurementsEvent.Callback): void;
			/** @deprecated */
			public addNmeaListener(param0: android.location.GpsStatus.NmeaListener): boolean;
			public unregisterGnssNavigationMessageCallback(param0: android.location.GnssNavigationMessage.Callback): void;
			public registerGnssMeasurementsCallback(param0: android.location.GnssMeasurementsEvent.Callback, param1: android.os.Handler): boolean;
			public removeUpdates(param0: android.location.LocationListener): void;
			/** @deprecated */
			public removeNmeaListener(param0: android.location.GpsStatus.NmeaListener): void;
			public requestLocationUpdates(param0: string, param1: number, param2: number, param3: android.location.LocationListener, param4: android.os.Looper): void;
			public registerGnssStatusCallback(param0: android.location.GnssStatus.Callback): boolean;
			public clearTestProviderEnabled(param0: string): void;
			public removeUpdates(param0: android.app.PendingIntent): void;
			public registerGnssMeasurementsCallback(param0: android.location.GnssMeasurementsEvent.Callback): boolean;
			public registerGnssNavigationMessageCallback(param0: android.location.GnssNavigationMessage.Callback): boolean;
			public requestLocationUpdates(param0: number, param1: number, param2: android.location.Criteria, param3: android.location.LocationListener, param4: android.os.Looper): void;
			public requestLocationUpdates(param0: string, param1: number, param2: number, param3: android.app.PendingIntent): void;
			/** @deprecated */
			public getGpsStatus(param0: android.location.GpsStatus): android.location.GpsStatus;
			/** @deprecated */
			public removeGpsStatusListener(param0: android.location.GpsStatus.Listener): void;
			public getBestProvider(param0: android.location.Criteria, param1: boolean): string;
			public isProviderEnabled(param0: string): boolean;
			public getGnssHardwareModelName(): string;
			public registerGnssNavigationMessageCallback(param0: android.location.GnssNavigationMessage.Callback, param1: android.os.Handler): boolean;
			public getProvider(param0: string): android.location.LocationProvider;
			public addNmeaListener(param0: android.location.OnNmeaMessageListener, param1: android.os.Handler): boolean;
			public getProviders(param0: boolean): java.util.List<string>;
			public setTestProviderLocation(param0: string, param1: android.location.Location): void;
			public requestSingleUpdate(param0: android.location.Criteria, param1: android.location.LocationListener, param2: android.os.Looper): void;
			public setTestProviderEnabled(param0: string, param1: boolean): void;
			public removeNmeaListener(param0: android.location.OnNmeaMessageListener): void;
			public requestSingleUpdate(param0: string, param1: android.location.LocationListener, param2: android.os.Looper): void;
			public isLocationEnabled(): boolean;
			public addProximityAlert(param0: number, param1: number, param2: number, param3: number, param4: android.app.PendingIntent): void;
			public sendExtraCommand(param0: string, param1: string, param2: android.os.Bundle): boolean;
			public removeProximityAlert(param0: android.app.PendingIntent): void;
			public requestSingleUpdate(param0: string, param1: android.app.PendingIntent): void;
			public clearTestProviderLocation(param0: string): void;
			public getAllProviders(): java.util.List<string>;
			public getProviders(param0: android.location.Criteria, param1: boolean): java.util.List<string>;
			public unregisterGnssStatusCallback(param0: android.location.GnssStatus.Callback): void;
			public removeTestProvider(param0: string): void;
		}
	}
}

declare module android {
	export module location {
		export class LocationProvider extends java.lang.Object {
			public static class: java.lang.Class<android.location.LocationProvider>;
			public static AVAILABLE: number;
			public static OUT_OF_SERVICE: number;
			public static TEMPORARILY_UNAVAILABLE: number;
			public hasMonetaryCost(): boolean;
			public supportsBearing(): boolean;
			public getName(): string;
			public requiresCell(): boolean;
			public meetsCriteria(param0: android.location.Criteria): boolean;
			public supportsSpeed(): boolean;
			public getAccuracy(): number;
			public getPowerRequirement(): number;
			public requiresSatellite(): boolean;
			public supportsAltitude(): boolean;
			public requiresNetwork(): boolean;
		}
	}
}

declare module android {
	export module location {
		export class OnNmeaMessageListener extends java.lang.Object {
			public static class: java.lang.Class<android.location.OnNmeaMessageListener>;
			/**
			 * Constructs a new instance of the android.location.OnNmeaMessageListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				onNmeaMessage(param0: string, param1: number): void;
			});
			public constructor();
			public onNmeaMessage(param0: string, param1: number): void;
		}
	}
}

declare module android {
	export module location {
		export abstract class SettingInjectorService extends android.app.Service {
			public static class: java.lang.Class<android.location.SettingInjectorService>;
			public static ACTION_INJECTED_SETTING_CHANGED: string;
			public static ACTION_SERVICE_INTENT: string;
			public static ATTRIBUTES_NAME: string;
			public static META_DATA_NAME: string;
			public onTrimMemory(param0: number): void;
			public onBind(param0: android.content.Intent): android.os.IBinder;
			public constructor(param0: android.content.Context);
			/** @deprecated */
			public onGetSummary(): string;
			public onGetEnabled(): boolean;
			public constructor();
			public onStartCommand(param0: android.content.Intent, param1: number, param2: number): number;
			public onStart(param0: android.content.Intent, param1: number): void;
			public constructor(param0: string);
			/** @deprecated */
			public onStart(param0: android.content.Intent, param1: number): void;
		}
	}
}

declare module android {
	export module media {
		export class AsyncPlayer extends java.lang.Object {
			public static class: java.lang.Class<android.media.AsyncPlayer>;
			public play(param0: android.content.Context, param1: android.net.Uri, param2: boolean, param3: any): void;
			/** @deprecated */
			public play(param0: android.content.Context, param1: android.net.Uri, param2: boolean, param3: number): void;
			public stop(): void;
			public constructor(param0: string);
		}
	}
}

declare module android {
	export module media {
		export class AudioAttributes extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<any>;
			public static CONTENT_TYPE_MOVIE: number;
			public static CONTENT_TYPE_MUSIC: number;
			public static CONTENT_TYPE_SONIFICATION: number;
			public static CONTENT_TYPE_SPEECH: number;
			public static CONTENT_TYPE_UNKNOWN: number;
			public static CREATOR: android.os.Parcelable.Creator<any>;
			public static FLAG_AUDIBILITY_ENFORCED: number;
			public static FLAG_HW_AV_SYNC: number;
			public static FLAG_LOW_LATENCY: number;
			public static USAGE_ALARM: number;
			public static USAGE_ASSISTANCE_ACCESSIBILITY: number;
			public static USAGE_ASSISTANCE_NAVIGATION_GUIDANCE: number;
			public static USAGE_ASSISTANCE_SONIFICATION: number;
			public static USAGE_ASSISTANT: number;
			public static USAGE_GAME: number;
			public static USAGE_MEDIA: number;
			public static USAGE_NOTIFICATION: number;
			public static USAGE_NOTIFICATION_COMMUNICATION_DELAYED: number;
			public static USAGE_NOTIFICATION_COMMUNICATION_INSTANT: number;
			public static USAGE_NOTIFICATION_COMMUNICATION_REQUEST: number;
			public static USAGE_NOTIFICATION_EVENT: number;
			public static USAGE_NOTIFICATION_RINGTONE: number;
			public static USAGE_UNKNOWN: number;
			public static USAGE_VOICE_COMMUNICATION: number;
			public static USAGE_VOICE_COMMUNICATION_SIGNALLING: number;
			public equals(param0: any): boolean;
			public toString(): string;
			public getFlags(): number;
			public getVolumeControlStream(): number;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getContentType(): number;
			public getUsage(): number;
			public hashCode(): number;
		}
		export module AudioAttributes {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<any>;
				public setUsage(param0: number): any;
				public setLegacyStreamType(param0: number): any;
				public setContentType(param0: number): any;
				public setFlags(param0: number): any;
				public build(): any;
				public constructor(param0: any);
				public constructor();
			}
		}
	}
}

declare module android {
	export module media {
		export abstract class AudioDeviceCallback extends java.lang.Object {
			public static class: java.lang.Class<android.media.AudioDeviceCallback>;
			public onAudioDevicesRemoved(param0: native.Array<android.media.AudioDeviceInfo>): void;
			public constructor();
			public onAudioDevicesAdded(param0: native.Array<android.media.AudioDeviceInfo>): void;
		}
	}
}

declare module android {
	export module media {
		export class AudioDeviceInfo extends java.lang.Object {
			public static class: java.lang.Class<android.media.AudioDeviceInfo>;
			public static TYPE_AUX_LINE: number;
			public static TYPE_BLUETOOTH_A2DP: number;
			public static TYPE_BLUETOOTH_SCO: number;
			public static TYPE_BUILTIN_EARPIECE: number;
			public static TYPE_BUILTIN_MIC: number;
			public static TYPE_BUILTIN_SPEAKER: number;
			public static TYPE_BUS: number;
			public static TYPE_DOCK: number;
			public static TYPE_FM: number;
			public static TYPE_FM_TUNER: number;
			public static TYPE_HDMI: number;
			public static TYPE_HDMI_ARC: number;
			public static TYPE_HEARING_AID: number;
			public static TYPE_IP: number;
			public static TYPE_LINE_ANALOG: number;
			public static TYPE_LINE_DIGITAL: number;
			public static TYPE_TELEPHONY: number;
			public static TYPE_TV_TUNER: number;
			public static TYPE_UNKNOWN: number;
			public static TYPE_USB_ACCESSORY: number;
			public static TYPE_USB_DEVICE: number;
			public static TYPE_USB_HEADSET: number;
			public static TYPE_WIRED_HEADPHONES: number;
			public static TYPE_WIRED_HEADSET: number;
			public equals(param0: any): boolean;
			public getChannelMasks(): native.Array<number>;
			public getType(): number;
			public getAddress(): string;
			public getChannelIndexMasks(): native.Array<number>;
			public getProductName(): string;
			public getSampleRates(): native.Array<number>;
			public getChannelCounts(): native.Array<number>;
			public getEncodings(): native.Array<number>;
			public getId(): number;
			public isSink(): boolean;
			public hashCode(): number;
			public isSource(): boolean;
		}
	}
}

declare module android {
	export module media {
		export class AudioFocusRequest extends java.lang.Object {
			public static class: java.lang.Class<android.media.AudioFocusRequest>;
			public acceptsDelayedFocusGain(): boolean;
			public getFocusGain(): number;
			public getAudioAttributes(): any;
			public willPauseWhenDucked(): boolean;
		}
		export module AudioFocusRequest {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.media.AudioFocusRequest.Builder>;
				public constructor(param0: android.media.AudioFocusRequest);
				public setAcceptsDelayedFocusGain(param0: boolean): android.media.AudioFocusRequest.Builder;
				public setFocusGain(param0: number): android.media.AudioFocusRequest.Builder;
				public setForceDucking(param0: boolean): android.media.AudioFocusRequest.Builder;
				public constructor(param0: number);
				public setOnAudioFocusChangeListener(param0: android.media.AudioManager.OnAudioFocusChangeListener): android.media.AudioFocusRequest.Builder;
				public build(): android.media.AudioFocusRequest;
				public setOnAudioFocusChangeListener(param0: android.media.AudioManager.OnAudioFocusChangeListener, param1: android.os.Handler): android.media.AudioFocusRequest.Builder;
				public setWillPauseWhenDucked(param0: boolean): android.media.AudioFocusRequest.Builder;
				public setAudioAttributes(param0: any): android.media.AudioFocusRequest.Builder;
			}
		}
	}
}

declare module android {
	export module media {
		export class AudioFormat extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.media.AudioFormat>;
			public static CHANNEL_CONFIGURATION_DEFAULT: number;
			public static CHANNEL_CONFIGURATION_INVALID: number;
			public static CHANNEL_CONFIGURATION_MONO: number;
			public static CHANNEL_CONFIGURATION_STEREO: number;
			public static CHANNEL_INVALID: number;
			public static CHANNEL_IN_BACK: number;
			public static CHANNEL_IN_BACK_PROCESSED: number;
			public static CHANNEL_IN_DEFAULT: number;
			public static CHANNEL_IN_FRONT: number;
			public static CHANNEL_IN_FRONT_PROCESSED: number;
			public static CHANNEL_IN_LEFT: number;
			public static CHANNEL_IN_LEFT_PROCESSED: number;
			public static CHANNEL_IN_MONO: number;
			public static CHANNEL_IN_PRESSURE: number;
			public static CHANNEL_IN_RIGHT: number;
			public static CHANNEL_IN_RIGHT_PROCESSED: number;
			public static CHANNEL_IN_STEREO: number;
			public static CHANNEL_IN_VOICE_DNLINK: number;
			public static CHANNEL_IN_VOICE_UPLINK: number;
			public static CHANNEL_IN_X_AXIS: number;
			public static CHANNEL_IN_Y_AXIS: number;
			public static CHANNEL_IN_Z_AXIS: number;
			public static CHANNEL_OUT_5POINT1: number;
			public static CHANNEL_OUT_7POINT1: number;
			public static CHANNEL_OUT_7POINT1_SURROUND: number;
			public static CHANNEL_OUT_BACK_CENTER: number;
			public static CHANNEL_OUT_BACK_LEFT: number;
			public static CHANNEL_OUT_BACK_RIGHT: number;
			public static CHANNEL_OUT_DEFAULT: number;
			public static CHANNEL_OUT_FRONT_CENTER: number;
			public static CHANNEL_OUT_FRONT_LEFT: number;
			public static CHANNEL_OUT_FRONT_LEFT_OF_CENTER: number;
			public static CHANNEL_OUT_FRONT_RIGHT: number;
			public static CHANNEL_OUT_FRONT_RIGHT_OF_CENTER: number;
			public static CHANNEL_OUT_LOW_FREQUENCY: number;
			public static CHANNEL_OUT_MONO: number;
			public static CHANNEL_OUT_QUAD: number;
			public static CHANNEL_OUT_SIDE_LEFT: number;
			public static CHANNEL_OUT_SIDE_RIGHT: number;
			public static CHANNEL_OUT_STEREO: number;
			public static CHANNEL_OUT_SURROUND: number;
			public static CREATOR: android.os.Parcelable.Creator<android.media.AudioFormat>;
			public static ENCODING_AAC_ELD: number;
			public static ENCODING_AAC_HE_V1: number;
			public static ENCODING_AAC_HE_V2: number;
			public static ENCODING_AAC_LC: number;
			public static ENCODING_AAC_XHE: number;
			public static ENCODING_AC3: number;
			public static ENCODING_AC4: number;
			public static ENCODING_DEFAULT: number;
			public static ENCODING_DOLBY_TRUEHD: number;
			public static ENCODING_DTS: number;
			public static ENCODING_DTS_HD: number;
			public static ENCODING_E_AC3: number;
			public static ENCODING_E_AC3_JOC: number;
			public static ENCODING_IEC61937: number;
			public static ENCODING_INVALID: number;
			public static ENCODING_MP3: number;
			public static ENCODING_PCM_16BIT: number;
			public static ENCODING_PCM_8BIT: number;
			public static ENCODING_PCM_FLOAT: number;
			public static SAMPLE_RATE_UNSPECIFIED: number;
			public getSampleRate(): number;
			public getChannelCount(): number;
			public equals(param0: any): boolean;
			public toString(): string;
			public getEncoding(): number;
			public describeContents(): number;
			public getChannelIndexMask(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getChannelMask(): number;
			public hashCode(): number;
		}
		export module AudioFormat {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.media.AudioFormat.Builder>;
				public constructor(param0: android.media.AudioFormat);
				public setSampleRate(param0: number): android.media.AudioFormat.Builder;
				public setEncoding(param0: number): android.media.AudioFormat.Builder;
				public setChannelMask(param0: number): android.media.AudioFormat.Builder;
				public build(): android.media.AudioFormat;
				public constructor();
				public setChannelIndexMask(param0: number): android.media.AudioFormat.Builder;
			}
		}
	}
}

declare module android {
	export module media {
		export class AudioManager extends java.lang.Object {
			public static class: java.lang.Class<android.media.AudioManager>;
			public static ACTION_AUDIO_BECOMING_NOISY: string;
			public static ACTION_HDMI_AUDIO_PLUG: string;
			public static ACTION_HEADSET_PLUG: string;
			public static ACTION_MICROPHONE_MUTE_CHANGED: string;
			public static ACTION_SCO_AUDIO_STATE_CHANGED: string;
			public static ACTION_SCO_AUDIO_STATE_UPDATED: string;
			public static ADJUST_LOWER: number;
			public static ADJUST_MUTE: number;
			public static ADJUST_RAISE: number;
			public static ADJUST_SAME: number;
			public static ADJUST_TOGGLE_MUTE: number;
			public static ADJUST_UNMUTE: number;
			public static AUDIOFOCUS_GAIN: number;
			public static AUDIOFOCUS_GAIN_TRANSIENT: number;
			public static AUDIOFOCUS_GAIN_TRANSIENT_EXCLUSIVE: number;
			public static AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK: number;
			public static AUDIOFOCUS_LOSS: number;
			public static AUDIOFOCUS_LOSS_TRANSIENT: number;
			public static AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK: number;
			public static AUDIOFOCUS_NONE: number;
			public static AUDIOFOCUS_REQUEST_DELAYED: number;
			public static AUDIOFOCUS_REQUEST_FAILED: number;
			public static AUDIOFOCUS_REQUEST_GRANTED: number;
			public static AUDIO_SESSION_ID_GENERATE: number;
			public static ERROR: number;
			public static ERROR_DEAD_OBJECT: number;
			public static EXTRA_AUDIO_PLUG_STATE: string;
			public static EXTRA_ENCODINGS: string;
			public static EXTRA_MAX_CHANNEL_COUNT: string;
			public static EXTRA_RINGER_MODE: string;
			public static EXTRA_SCO_AUDIO_PREVIOUS_STATE: string;
			public static EXTRA_SCO_AUDIO_STATE: string;
			public static EXTRA_VIBRATE_SETTING: string;
			public static EXTRA_VIBRATE_TYPE: string;
			public static FLAG_ALLOW_RINGER_MODES: number;
			public static FLAG_PLAY_SOUND: number;
			public static FLAG_REMOVE_SOUND_AND_VIBRATE: number;
			public static FLAG_SHOW_UI: number;
			public static FLAG_VIBRATE: number;
			public static FX_FOCUS_NAVIGATION_DOWN: number;
			public static FX_FOCUS_NAVIGATION_LEFT: number;
			public static FX_FOCUS_NAVIGATION_RIGHT: number;
			public static FX_FOCUS_NAVIGATION_UP: number;
			public static FX_KEYPRESS_DELETE: number;
			public static FX_KEYPRESS_INVALID: number;
			public static FX_KEYPRESS_RETURN: number;
			public static FX_KEYPRESS_SPACEBAR: number;
			public static FX_KEYPRESS_STANDARD: number;
			public static FX_KEY_CLICK: number;
			public static GET_DEVICES_ALL: number;
			public static GET_DEVICES_INPUTS: number;
			public static GET_DEVICES_OUTPUTS: number;
			public static MODE_CURRENT: number;
			public static MODE_INVALID: number;
			public static MODE_IN_CALL: number;
			public static MODE_IN_COMMUNICATION: number;
			public static MODE_NORMAL: number;
			public static MODE_RINGTONE: number;
			public static NUM_STREAMS: number;
			public static PROPERTY_OUTPUT_FRAMES_PER_BUFFER: string;
			public static PROPERTY_OUTPUT_SAMPLE_RATE: string;
			public static PROPERTY_SUPPORT_AUDIO_SOURCE_UNPROCESSED: string;
			public static PROPERTY_SUPPORT_MIC_NEAR_ULTRASOUND: string;
			public static PROPERTY_SUPPORT_SPEAKER_NEAR_ULTRASOUND: string;
			public static RINGER_MODE_CHANGED_ACTION: string;
			public static RINGER_MODE_NORMAL: number;
			public static RINGER_MODE_SILENT: number;
			public static RINGER_MODE_VIBRATE: number;
			public static ROUTE_ALL: number;
			public static ROUTE_BLUETOOTH: number;
			public static ROUTE_BLUETOOTH_A2DP: number;
			public static ROUTE_BLUETOOTH_SCO: number;
			public static ROUTE_EARPIECE: number;
			public static ROUTE_HEADSET: number;
			public static ROUTE_SPEAKER: number;
			public static SCO_AUDIO_STATE_CONNECTED: number;
			public static SCO_AUDIO_STATE_CONNECTING: number;
			public static SCO_AUDIO_STATE_DISCONNECTED: number;
			public static SCO_AUDIO_STATE_ERROR: number;
			public static STREAM_ACCESSIBILITY: number;
			public static STREAM_ALARM: number;
			public static STREAM_DTMF: number;
			public static STREAM_MUSIC: number;
			public static STREAM_NOTIFICATION: number;
			public static STREAM_RING: number;
			public static STREAM_SYSTEM: number;
			public static STREAM_VOICE_CALL: number;
			public static USE_DEFAULT_STREAM_TYPE: number;
			public static VIBRATE_SETTING_CHANGED_ACTION: string;
			public static VIBRATE_SETTING_OFF: number;
			public static VIBRATE_SETTING_ON: number;
			public static VIBRATE_SETTING_ONLY_SILENT: number;
			public static VIBRATE_TYPE_NOTIFICATION: number;
			public static VIBRATE_TYPE_RINGER: number;
			/** @deprecated */
			public getVibrateSetting(param0: number): number;
			/** @deprecated */
			public unregisterMediaButtonEventReceiver(param0: android.app.PendingIntent): void;
			/** @deprecated */
			public shouldVibrate(param0: number): boolean;
			/** @deprecated */
			public unregisterRemoteController(param0: android.media.RemoteController): void;
			/** @deprecated */
			public registerMediaButtonEventReceiver(param0: android.content.ComponentName): void;
			public startBluetoothSco(): void;
			/** @deprecated */
			public unregisterMediaButtonEventReceiver(param0: android.content.ComponentName): void;
			public setStreamVolume(param0: number, param1: number, param2: number): void;
			public unloadSoundEffects(): void;
			/** @deprecated */
			public unregisterRemoteControlClient(param0: android.media.RemoteControlClient): void;
			public getStreamMinVolume(param0: number): number;
			/** @deprecated */
			public setStreamSolo(param0: number, param1: boolean): void;
			public isBluetoothScoOn(): boolean;
			public playSoundEffect(param0: number, param1: number): void;
			public getDevices(param0: number): native.Array<android.media.AudioDeviceInfo>;
			public abandonAudioFocusRequest(param0: android.media.AudioFocusRequest): number;
			public setParameters(param0: string): void;
			public isBluetoothScoAvailableOffCall(): boolean;
			/** @deprecated */
			public registerRemoteController(param0: android.media.RemoteController): boolean;
			public stopBluetoothSco(): void;
			public requestAudioFocus(param0: android.media.AudioFocusRequest): number;
			public isMusicActive(): boolean;
			/** @deprecated */
			public setStreamMute(param0: number, param1: boolean): void;
			public setMode(param0: number): void;
			public generateAudioSessionId(): number;
			public getStreamMaxVolume(param0: number): number;
			public unregisterAudioPlaybackCallback(param0: android.media.AudioManager.AudioPlaybackCallback): void;
			public getStreamVolumeDb(param0: number, param1: number, param2: number): number;
			public adjustSuggestedStreamVolume(param0: number, param1: number, param2: number): void;
			public getProperty(param0: string): string;
			/** @deprecated */
			public registerMediaButtonEventReceiver(param0: android.app.PendingIntent): void;
			public getMode(): number;
			public isSpeakerphoneOn(): boolean;
			/** @deprecated */
			public registerRemoteControlClient(param0: android.media.RemoteControlClient): void;
			/** @deprecated */
			public setBluetoothA2dpOn(param0: boolean): void;
			public isMicrophoneMute(): boolean;
			public isStreamMute(param0: number): boolean;
			public loadSoundEffects(): void;
			public adjustStreamVolume(param0: number, param1: number, param2: number): void;
			public unregisterAudioDeviceCallback(param0: android.media.AudioDeviceCallback): void;
			public getActiveRecordingConfigurations(): java.util.List<android.media.AudioRecordingConfiguration>;
			public isVolumeFixed(): boolean;
			public registerAudioRecordingCallback(param0: android.media.AudioManager.AudioRecordingCallback, param1: android.os.Handler): void;
			public registerAudioDeviceCallback(param0: android.media.AudioDeviceCallback, param1: android.os.Handler): void;
			public playSoundEffect(param0: number): void;
			/** @deprecated */
			public requestAudioFocus(param0: android.media.AudioManager.OnAudioFocusChangeListener, param1: number, param2: number): number;
			/** @deprecated */
			public setVibrateSetting(param0: number, param1: number): void;
			public setBluetoothScoOn(param0: boolean): void;
			public getMicrophones(): java.util.List<android.media.MicrophoneInfo>;
			/** @deprecated */
			public setWiredHeadsetOn(param0: boolean): void;
			public getActivePlaybackConfigurations(): java.util.List<android.media.AudioPlaybackConfiguration>;
			public getParameters(param0: string): string;
			public getRingerMode(): number;
			public adjustVolume(param0: number, param1: number): void;
			/** @deprecated */
			public isWiredHeadsetOn(): boolean;
			public unregisterAudioRecordingCallback(param0: android.media.AudioManager.AudioRecordingCallback): void;
			/** @deprecated */
			public setRouting(param0: number, param1: number, param2: number): void;
			public setRingerMode(param0: number): void;
			public setSpeakerphoneOn(param0: boolean): void;
			public dispatchMediaKeyEvent(param0: android.view.KeyEvent): void;
			public setMicrophoneMute(param0: boolean): void;
			/** @deprecated */
			public abandonAudioFocus(param0: android.media.AudioManager.OnAudioFocusChangeListener): number;
			public registerAudioPlaybackCallback(param0: android.media.AudioManager.AudioPlaybackCallback, param1: android.os.Handler): void;
			/** @deprecated */
			public getRouting(param0: number): number;
			public getStreamVolume(param0: number): number;
			/** @deprecated */
			public isBluetoothA2dpOn(): boolean;
		}
		export module AudioManager {
			export abstract class AudioPlaybackCallback extends java.lang.Object {
				public static class: java.lang.Class<android.media.AudioManager.AudioPlaybackCallback>;
				public onPlaybackConfigChanged(param0: java.util.List<android.media.AudioPlaybackConfiguration>): void;
				public constructor();
			}
			export abstract class AudioRecordingCallback extends java.lang.Object {
				public static class: java.lang.Class<android.media.AudioManager.AudioRecordingCallback>;
				public onRecordingConfigChanged(param0: java.util.List<android.media.AudioRecordingConfiguration>): void;
				public constructor();
			}
			export class OnAudioFocusChangeListener extends java.lang.Object {
				public static class: java.lang.Class<android.media.AudioManager.OnAudioFocusChangeListener>;
				/**
				 * Constructs a new instance of the android.media.AudioManager$OnAudioFocusChangeListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onAudioFocusChange(param0: number): void;
				});
				public constructor();
				public onAudioFocusChange(param0: number): void;
			}
		}
	}
}

declare module android {
	export module media {
		export class AudioPlaybackConfiguration extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.media.AudioPlaybackConfiguration>;
			public static CREATOR: android.os.Parcelable.Creator<android.media.AudioPlaybackConfiguration>;
			public equals(param0: any): boolean;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getAudioAttributes(): any;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module media {
		export class AudioPresentation extends java.lang.Object {
			public static class: java.lang.Class<android.media.AudioPresentation>;
			public static MASTERED_FOR_3D: number;
			public static MASTERED_FOR_HEADPHONE: number;
			public static MASTERED_FOR_STEREO: number;
			public static MASTERED_FOR_SURROUND: number;
			public static MASTERING_NOT_INDICATED: number;
			public getLabels(): java.util.Map<java.util.Locale,string>;
			public hasSpokenSubtitles(): boolean;
			public hasAudioDescription(): boolean;
			public hasDialogueEnhancement(): boolean;
			public getMasteringIndication(): number;
			public getLocale(): java.util.Locale;
		}
	}
}

declare module android {
	export module media {
		export class AudioRecord extends java.lang.Object implements android.media.AudioRouting {
			public static class: java.lang.Class<android.media.AudioRecord>;
			public static ERROR: number;
			public static ERROR_BAD_VALUE: number;
			public static ERROR_DEAD_OBJECT: number;
			public static ERROR_INVALID_OPERATION: number;
			public static READ_BLOCKING: number;
			public static READ_NON_BLOCKING: number;
			public static RECORDSTATE_RECORDING: number;
			public static RECORDSTATE_STOPPED: number;
			public static STATE_INITIALIZED: number;
			public static STATE_UNINITIALIZED: number;
			public static SUCCESS: number;
			public getSampleRate(): number;
			/** @deprecated */
			public addOnRoutingChangedListener(param0: android.media.AudioRecord.OnRoutingChangedListener, param1: android.os.Handler): void;
			public startRecording(param0: android.media.MediaSyncEvent): void;
			public read(param0: java.nio.ByteBuffer, param1: number): number;
			public getRoutedDevice(): android.media.AudioDeviceInfo;
			/** @deprecated */
			public removeOnRoutingChangedListener(param0: android.media.AudioRecord.OnRoutingChangedListener): void;
			public setPreferredDevice(param0: android.media.AudioDeviceInfo): boolean;
			public read(param0: java.nio.ByteBuffer, param1: number, param2: number): number;
			public setRecordPositionUpdateListener(param0: android.media.AudioRecord.OnRecordPositionUpdateListener): void;
			public static getMinBufferSize(param0: number, param1: number, param2: number): number;
			public read(param0: native.Array<number>, param1: number, param2: number, param3: number): number;
			public constructor(param0: number, param1: number, param2: number, param3: number, param4: number);
			public stop(): void;
			public getAudioFormat(): number;
			public getTimestamp(param0: android.media.AudioTimestamp, param1: number): number;
			public release(): void;
			public finalize(): void;
			public getState(): number;
			public setNotificationMarkerPosition(param0: number): number;
			public getPreferredDevice(): android.media.AudioDeviceInfo;
			public getBufferSizeInFrames(): number;
			public getAudioSource(): number;
			public addOnRoutingChangedListener(param0: android.media.AudioRouting.OnRoutingChangedListener, param1: android.os.Handler): void;
			public read(param0: native.Array<number>, param1: number, param2: number): number;
			public setRecordPositionUpdateListener(param0: android.media.AudioRecord.OnRecordPositionUpdateListener, param1: android.os.Handler): void;
			public getFormat(): android.media.AudioFormat;
			public getChannelCount(): number;
			public getAudioSessionId(): number;
			public setPositionNotificationPeriod(param0: number): number;
			public removeOnRoutingChangedListener(param0: android.media.AudioRouting.OnRoutingChangedListener): void;
			public getMetrics(): any;
			public getRecordingState(): number;
			public getNotificationMarkerPosition(): number;
			public getActiveMicrophones(): java.util.List<android.media.MicrophoneInfo>;
			public getChannelConfiguration(): number;
			public startRecording(): void;
			public getPositionNotificationPeriod(): number;
		}
		export module AudioRecord {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.media.AudioRecord.Builder>;
				public setBufferSizeInBytes(param0: number): android.media.AudioRecord.Builder;
				public setAudioFormat(param0: android.media.AudioFormat): android.media.AudioRecord.Builder;
				public setAudioSource(param0: number): android.media.AudioRecord.Builder;
				public build(): android.media.AudioRecord;
				public constructor();
			}
			export class MetricsConstants extends java.lang.Object {
				public static class: java.lang.Class<android.media.AudioRecord.MetricsConstants>;
				public static CHANNELS: string;
				public static ENCODING: string;
				public static LATENCY: string;
				public static SAMPLERATE: string;
				public static SOURCE: string;
			}
			export class OnRecordPositionUpdateListener extends java.lang.Object {
				public static class: java.lang.Class<android.media.AudioRecord.OnRecordPositionUpdateListener>;
				/**
				 * Constructs a new instance of the android.media.AudioRecord$OnRecordPositionUpdateListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onMarkerReached(param0: android.media.AudioRecord): void;
					onPeriodicNotification(param0: android.media.AudioRecord): void;
				});
				public constructor();
				public onPeriodicNotification(param0: android.media.AudioRecord): void;
				public onMarkerReached(param0: android.media.AudioRecord): void;
			}
			export class OnRoutingChangedListener extends java.lang.Object implements android.media.AudioRouting.OnRoutingChangedListener {
				public static class: java.lang.Class<android.media.AudioRecord.OnRoutingChangedListener>;
				/**
				 * Constructs a new instance of the android.media.AudioRecord$OnRoutingChangedListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onRoutingChanged(param0: android.media.AudioRecord): void;
					onRoutingChanged(param0: android.media.AudioRouting): void;
					onRoutingChanged(param0: android.media.AudioRouting): void;
				});
				public constructor();
				public onRoutingChanged(param0: android.media.AudioRecord): void;
				public onRoutingChanged(param0: android.media.AudioRouting): void;
			}
		}
	}
}

declare module android {
	export module media {
		export class AudioRecordingConfiguration extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.media.AudioRecordingConfiguration>;
			public static CREATOR: android.os.Parcelable.Creator<android.media.AudioRecordingConfiguration>;
			public getFormat(): android.media.AudioFormat;
			public equals(param0: any): boolean;
			public getClientAudioSource(): number;
			public getClientFormat(): android.media.AudioFormat;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getClientAudioSessionId(): number;
			public getAudioDevice(): android.media.AudioDeviceInfo;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module media {
		export class AudioRouting extends java.lang.Object {
			public static class: java.lang.Class<android.media.AudioRouting>;
			/**
			 * Constructs a new instance of the android.media.AudioRouting interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				setPreferredDevice(param0: android.media.AudioDeviceInfo): boolean;
				getPreferredDevice(): android.media.AudioDeviceInfo;
				getRoutedDevice(): android.media.AudioDeviceInfo;
				addOnRoutingChangedListener(param0: android.media.AudioRouting.OnRoutingChangedListener, param1: android.os.Handler): void;
				removeOnRoutingChangedListener(param0: android.media.AudioRouting.OnRoutingChangedListener): void;
			});
			public constructor();
			public getPreferredDevice(): android.media.AudioDeviceInfo;
			public getRoutedDevice(): android.media.AudioDeviceInfo;
			public removeOnRoutingChangedListener(param0: android.media.AudioRouting.OnRoutingChangedListener): void;
			public setPreferredDevice(param0: android.media.AudioDeviceInfo): boolean;
			public addOnRoutingChangedListener(param0: android.media.AudioRouting.OnRoutingChangedListener, param1: android.os.Handler): void;
		}
		export module AudioRouting {
			export class OnRoutingChangedListener extends java.lang.Object {
				public static class: java.lang.Class<android.media.AudioRouting.OnRoutingChangedListener>;
				/**
				 * Constructs a new instance of the android.media.AudioRouting$OnRoutingChangedListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onRoutingChanged(param0: android.media.AudioRouting): void;
				});
				public constructor();
				public onRoutingChanged(param0: android.media.AudioRouting): void;
			}
		}
	}
}

declare module android {
	export module media {
		export class AudioTimestamp extends java.lang.Object {
			public static class: java.lang.Class<android.media.AudioTimestamp>;
			public static TIMEBASE_BOOTTIME: number;
			public static TIMEBASE_MONOTONIC: number;
			public framePosition: number;
			public nanoTime: number;
			public constructor();
		}
	}
}

declare module android {
	export module media {
		export class AudioTrack extends java.lang.Object implements android.media.AudioRouting, android.media.VolumeAutomation {
			public static class: java.lang.Class<android.media.AudioTrack>;
			public static ERROR: number;
			public static ERROR_BAD_VALUE: number;
			public static ERROR_DEAD_OBJECT: number;
			public static ERROR_INVALID_OPERATION: number;
			public static MODE_STATIC: number;
			public static MODE_STREAM: number;
			public static PERFORMANCE_MODE_LOW_LATENCY: number;
			public static PERFORMANCE_MODE_NONE: number;
			public static PERFORMANCE_MODE_POWER_SAVING: number;
			public static PLAYSTATE_PAUSED: number;
			public static PLAYSTATE_PLAYING: number;
			public static PLAYSTATE_STOPPED: number;
			public static STATE_INITIALIZED: number;
			public static STATE_NO_STATIC_DATA: number;
			public static STATE_UNINITIALIZED: number;
			public static SUCCESS: number;
			public static WRITE_BLOCKING: number;
			public static WRITE_NON_BLOCKING: number;
			public setBufferSizeInFrames(param0: number): number;
			public getTimestamp(param0: android.media.AudioTimestamp): boolean;
			public setVolume(param0: number): number;
			public setAuxEffectSendLevel(param0: number): number;
			public static getMinBufferSize(param0: number, param1: number, param2: number): number;
			public createVolumeShaper(param0: android.media.VolumeShaper.Configuration): android.media.VolumeShaper;
			public getPlaybackRate(): number;
			public stop(): void;
			/** @deprecated */
			public setState(param0: number): void;
			public play(): void;
			/** @deprecated */
			public removeOnRoutingChangedListener(param0: android.media.AudioTrack.OnRoutingChangedListener): void;
			public write(param0: java.nio.ByteBuffer, param1: number, param2: number): number;
			public getPlaybackParams(): android.media.PlaybackParams;
			public getState(): number;
			public flush(): void;
			public write(param0: native.Array<number>, param1: number, param2: number, param3: number): number;
			public getPreferredDevice(): android.media.AudioDeviceInfo;
			public getBufferSizeInFrames(): number;
			public setPlaybackPositionUpdateListener(param0: android.media.AudioTrack.OnPlaybackPositionUpdateListener): void;
			public addOnRoutingChangedListener(param0: android.media.AudioRouting.OnRoutingChangedListener, param1: android.os.Handler): void;
			/** @deprecated */
			public addOnRoutingChangedListener(param0: android.media.AudioTrack.OnRoutingChangedListener, param1: android.os.Handler): void;
			public static getNativeOutputSampleRate(param0: number): number;
			/** @deprecated */
			public setStereoVolume(param0: number, param1: number): number;
			public reloadStaticData(): number;
			public static getMaxVolume(): number;
			public setPresentation(param0: android.media.AudioPresentation): number;
			public setPlaybackParams(param0: android.media.PlaybackParams): void;
			public write(param0: java.nio.ByteBuffer, param1: number, param2: number, param3: number): number;
			public removeOnRoutingChangedListener(param0: android.media.AudioRouting.OnRoutingChangedListener): void;
			public setPlaybackRate(param0: number): number;
			public static getMinVolume(): number;
			/** @deprecated */
			public constructor(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number);
			public getPlayState(): number;
			public getSampleRate(): number;
			/** @deprecated */
			public getNativeFrameCount(): number;
			public attachAuxEffect(param0: number): number;
			/** @deprecated */
			public constructor(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number);
			public setPlaybackPositionUpdateListener(param0: android.media.AudioTrack.OnPlaybackPositionUpdateListener, param1: android.os.Handler): void;
			public setPlaybackHeadPosition(param0: number): number;
			public getRoutedDevice(): android.media.AudioDeviceInfo;
			public setPreferredDevice(param0: android.media.AudioDeviceInfo): boolean;
			public getStreamType(): number;
			public pause(): void;
			public getAudioFormat(): number;
			public getPerformanceMode(): number;
			public release(): void;
			public finalize(): void;
			public setNotificationMarkerPosition(param0: number): number;
			public getBufferCapacityInFrames(): number;
			public setLoopPoints(param0: number, param1: number, param2: number): number;
			public getPlaybackHeadPosition(): number;
			public write(param0: native.Array<number>, param1: number, param2: number): number;
			public getFormat(): android.media.AudioFormat;
			public getChannelCount(): number;
			public getUnderrunCount(): number;
			public getAudioSessionId(): number;
			public setPositionNotificationPeriod(param0: number): number;
			public getMetrics(): any;
			public getNotificationMarkerPosition(): number;
			public getChannelConfiguration(): number;
			public constructor(param0: any, param1: android.media.AudioFormat, param2: number, param3: number, param4: number);
			public getPositionNotificationPeriod(): number;
		}
		export module AudioTrack {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.media.AudioTrack.Builder>;
				public setAudioFormat(param0: android.media.AudioFormat): android.media.AudioTrack.Builder;
				public setTransferMode(param0: number): android.media.AudioTrack.Builder;
				public setPerformanceMode(param0: number): android.media.AudioTrack.Builder;
				public setAudioAttributes(param0: any): android.media.AudioTrack.Builder;
				public setBufferSizeInBytes(param0: number): android.media.AudioTrack.Builder;
				public setSessionId(param0: number): android.media.AudioTrack.Builder;
				public build(): android.media.AudioTrack;
				public constructor();
			}
			export class MetricsConstants extends java.lang.Object {
				public static class: java.lang.Class<android.media.AudioTrack.MetricsConstants>;
				public static CHANNELMASK: string;
				public static CONTENTTYPE: string;
				public static SAMPLERATE: string;
				public static STREAMTYPE: string;
				public static USAGE: string;
			}
			export class OnPlaybackPositionUpdateListener extends java.lang.Object {
				public static class: java.lang.Class<android.media.AudioTrack.OnPlaybackPositionUpdateListener>;
				/**
				 * Constructs a new instance of the android.media.AudioTrack$OnPlaybackPositionUpdateListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onMarkerReached(param0: android.media.AudioTrack): void;
					onPeriodicNotification(param0: android.media.AudioTrack): void;
				});
				public constructor();
				public onMarkerReached(param0: android.media.AudioTrack): void;
				public onPeriodicNotification(param0: android.media.AudioTrack): void;
			}
			export class OnRoutingChangedListener extends java.lang.Object implements android.media.AudioRouting.OnRoutingChangedListener {
				public static class: java.lang.Class<android.media.AudioTrack.OnRoutingChangedListener>;
				/**
				 * Constructs a new instance of the android.media.AudioTrack$OnRoutingChangedListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onRoutingChanged(param0: android.media.AudioTrack): void;
					onRoutingChanged(param0: android.media.AudioRouting): void;
					onRoutingChanged(param0: android.media.AudioRouting): void;
				});
				public constructor();
				public onRoutingChanged(param0: android.media.AudioTrack): void;
				public onRoutingChanged(param0: android.media.AudioRouting): void;
			}
		}
	}
}

declare module android {
	export module media {
		export class CamcorderProfile extends java.lang.Object {
			public static class: java.lang.Class<android.media.CamcorderProfile>;
			public static QUALITY_1080P: number;
			public static QUALITY_2160P: number;
			public static QUALITY_480P: number;
			public static QUALITY_720P: number;
			public static QUALITY_CIF: number;
			public static QUALITY_HIGH: number;
			public static QUALITY_HIGH_SPEED_1080P: number;
			public static QUALITY_HIGH_SPEED_2160P: number;
			public static QUALITY_HIGH_SPEED_480P: number;
			public static QUALITY_HIGH_SPEED_720P: number;
			public static QUALITY_HIGH_SPEED_HIGH: number;
			public static QUALITY_HIGH_SPEED_LOW: number;
			public static QUALITY_LOW: number;
			public static QUALITY_QCIF: number;
			public static QUALITY_QVGA: number;
			public static QUALITY_TIME_LAPSE_1080P: number;
			public static QUALITY_TIME_LAPSE_2160P: number;
			public static QUALITY_TIME_LAPSE_480P: number;
			public static QUALITY_TIME_LAPSE_720P: number;
			public static QUALITY_TIME_LAPSE_CIF: number;
			public static QUALITY_TIME_LAPSE_HIGH: number;
			public static QUALITY_TIME_LAPSE_LOW: number;
			public static QUALITY_TIME_LAPSE_QCIF: number;
			public static QUALITY_TIME_LAPSE_QVGA: number;
			public audioBitRate: number;
			public audioChannels: number;
			public audioCodec: number;
			public audioSampleRate: number;
			public duration: number;
			public fileFormat: number;
			public quality: number;
			public videoBitRate: number;
			public videoCodec: number;
			public videoFrameHeight: number;
			public videoFrameRate: number;
			public videoFrameWidth: number;
			public static get(param0: number): android.media.CamcorderProfile;
			public static get(param0: number, param1: number): android.media.CamcorderProfile;
			public static hasProfile(param0: number): boolean;
			public static hasProfile(param0: number, param1: number): boolean;
		}
	}
}

declare module android {
	export module media {
		export class CameraProfile extends java.lang.Object {
			public static class: java.lang.Class<android.media.CameraProfile>;
			public static QUALITY_HIGH: number;
			public static QUALITY_LOW: number;
			public static QUALITY_MEDIUM: number;
			public constructor();
			public static getJpegEncodingQualityParameter(param0: number, param1: number): number;
			public static getJpegEncodingQualityParameter(param0: number): number;
		}
	}
}

declare module android {
	export module media {
		export class DeniedByServerException extends android.media.MediaDrmException {
			public static class: java.lang.Class<android.media.DeniedByServerException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module android {
	export module media {
		export abstract class DrmInitData extends java.lang.Object {
			public static class: java.lang.Class<android.media.DrmInitData>;
			public get(param0: java.util.UUID): android.media.DrmInitData.SchemeInitData;
		}
		export module DrmInitData {
			export class SchemeInitData extends java.lang.Object {
				public static class: java.lang.Class<android.media.DrmInitData.SchemeInitData>;
				public data: native.Array<number>;
				public mimeType: string;
				public hashCode(): number;
				public equals(param0: any): boolean;
			}
		}
	}
}

declare module android {
	export module media {
		export class ExifInterface extends java.lang.Object {
			public static class: java.lang.Class<android.media.ExifInterface>;
			public static ORIENTATION_FLIP_HORIZONTAL: number;
			public static ORIENTATION_FLIP_VERTICAL: number;
			public static ORIENTATION_NORMAL: number;
			public static ORIENTATION_ROTATE_180: number;
			public static ORIENTATION_ROTATE_270: number;
			public static ORIENTATION_ROTATE_90: number;
			public static ORIENTATION_TRANSPOSE: number;
			public static ORIENTATION_TRANSVERSE: number;
			public static ORIENTATION_UNDEFINED: number;
			public static TAG_APERTURE: string;
			public static TAG_APERTURE_VALUE: string;
			public static TAG_ARTIST: string;
			public static TAG_BITS_PER_SAMPLE: string;
			public static TAG_BRIGHTNESS_VALUE: string;
			public static TAG_CFA_PATTERN: string;
			public static TAG_COLOR_SPACE: string;
			public static TAG_COMPONENTS_CONFIGURATION: string;
			public static TAG_COMPRESSED_BITS_PER_PIXEL: string;
			public static TAG_COMPRESSION: string;
			public static TAG_CONTRAST: string;
			public static TAG_COPYRIGHT: string;
			public static TAG_CUSTOM_RENDERED: string;
			public static TAG_DATETIME: string;
			public static TAG_DATETIME_DIGITIZED: string;
			public static TAG_DATETIME_ORIGINAL: string;
			public static TAG_DEFAULT_CROP_SIZE: string;
			public static TAG_DEVICE_SETTING_DESCRIPTION: string;
			public static TAG_DIGITAL_ZOOM_RATIO: string;
			public static TAG_DNG_VERSION: string;
			public static TAG_EXIF_VERSION: string;
			public static TAG_EXPOSURE_BIAS_VALUE: string;
			public static TAG_EXPOSURE_INDEX: string;
			public static TAG_EXPOSURE_MODE: string;
			public static TAG_EXPOSURE_PROGRAM: string;
			public static TAG_EXPOSURE_TIME: string;
			public static TAG_FILE_SOURCE: string;
			public static TAG_FLASH: string;
			public static TAG_FLASHPIX_VERSION: string;
			public static TAG_FLASH_ENERGY: string;
			public static TAG_FOCAL_LENGTH: string;
			public static TAG_FOCAL_LENGTH_IN_35MM_FILM: string;
			public static TAG_FOCAL_PLANE_RESOLUTION_UNIT: string;
			public static TAG_FOCAL_PLANE_X_RESOLUTION: string;
			public static TAG_FOCAL_PLANE_Y_RESOLUTION: string;
			public static TAG_F_NUMBER: string;
			public static TAG_GAIN_CONTROL: string;
			public static TAG_GPS_ALTITUDE: string;
			public static TAG_GPS_ALTITUDE_REF: string;
			public static TAG_GPS_AREA_INFORMATION: string;
			public static TAG_GPS_DATESTAMP: string;
			public static TAG_GPS_DEST_BEARING: string;
			public static TAG_GPS_DEST_BEARING_REF: string;
			public static TAG_GPS_DEST_DISTANCE: string;
			public static TAG_GPS_DEST_DISTANCE_REF: string;
			public static TAG_GPS_DEST_LATITUDE: string;
			public static TAG_GPS_DEST_LATITUDE_REF: string;
			public static TAG_GPS_DEST_LONGITUDE: string;
			public static TAG_GPS_DEST_LONGITUDE_REF: string;
			public static TAG_GPS_DIFFERENTIAL: string;
			public static TAG_GPS_DOP: string;
			public static TAG_GPS_IMG_DIRECTION: string;
			public static TAG_GPS_IMG_DIRECTION_REF: string;
			public static TAG_GPS_LATITUDE: string;
			public static TAG_GPS_LATITUDE_REF: string;
			public static TAG_GPS_LONGITUDE: string;
			public static TAG_GPS_LONGITUDE_REF: string;
			public static TAG_GPS_MAP_DATUM: string;
			public static TAG_GPS_MEASURE_MODE: string;
			public static TAG_GPS_PROCESSING_METHOD: string;
			public static TAG_GPS_SATELLITES: string;
			public static TAG_GPS_SPEED: string;
			public static TAG_GPS_SPEED_REF: string;
			public static TAG_GPS_STATUS: string;
			public static TAG_GPS_TIMESTAMP: string;
			public static TAG_GPS_TRACK: string;
			public static TAG_GPS_TRACK_REF: string;
			public static TAG_GPS_VERSION_ID: string;
			public static TAG_IMAGE_DESCRIPTION: string;
			public static TAG_IMAGE_LENGTH: string;
			public static TAG_IMAGE_UNIQUE_ID: string;
			public static TAG_IMAGE_WIDTH: string;
			public static TAG_INTEROPERABILITY_INDEX: string;
			public static TAG_ISO: string;
			public static TAG_ISO_SPEED_RATINGS: string;
			public static TAG_JPEG_INTERCHANGE_FORMAT: string;
			public static TAG_JPEG_INTERCHANGE_FORMAT_LENGTH: string;
			public static TAG_LIGHT_SOURCE: string;
			public static TAG_MAKE: string;
			public static TAG_MAKER_NOTE: string;
			public static TAG_MAX_APERTURE_VALUE: string;
			public static TAG_METERING_MODE: string;
			public static TAG_MODEL: string;
			public static TAG_NEW_SUBFILE_TYPE: string;
			public static TAG_OECF: string;
			public static TAG_ORF_ASPECT_FRAME: string;
			public static TAG_ORF_PREVIEW_IMAGE_LENGTH: string;
			public static TAG_ORF_PREVIEW_IMAGE_START: string;
			public static TAG_ORF_THUMBNAIL_IMAGE: string;
			public static TAG_ORIENTATION: string;
			public static TAG_PHOTOMETRIC_INTERPRETATION: string;
			public static TAG_PIXEL_X_DIMENSION: string;
			public static TAG_PIXEL_Y_DIMENSION: string;
			public static TAG_PLANAR_CONFIGURATION: string;
			public static TAG_PRIMARY_CHROMATICITIES: string;
			public static TAG_REFERENCE_BLACK_WHITE: string;
			public static TAG_RELATED_SOUND_FILE: string;
			public static TAG_RESOLUTION_UNIT: string;
			public static TAG_ROWS_PER_STRIP: string;
			public static TAG_RW2_ISO: string;
			public static TAG_RW2_JPG_FROM_RAW: string;
			public static TAG_RW2_SENSOR_BOTTOM_BORDER: string;
			public static TAG_RW2_SENSOR_LEFT_BORDER: string;
			public static TAG_RW2_SENSOR_RIGHT_BORDER: string;
			public static TAG_RW2_SENSOR_TOP_BORDER: string;
			public static TAG_SAMPLES_PER_PIXEL: string;
			public static TAG_SATURATION: string;
			public static TAG_SCENE_CAPTURE_TYPE: string;
			public static TAG_SCENE_TYPE: string;
			public static TAG_SENSING_METHOD: string;
			public static TAG_SHARPNESS: string;
			public static TAG_SHUTTER_SPEED_VALUE: string;
			public static TAG_SOFTWARE: string;
			public static TAG_SPATIAL_FREQUENCY_RESPONSE: string;
			public static TAG_SPECTRAL_SENSITIVITY: string;
			public static TAG_STRIP_BYTE_COUNTS: string;
			public static TAG_STRIP_OFFSETS: string;
			public static TAG_SUBFILE_TYPE: string;
			public static TAG_SUBJECT_AREA: string;
			public static TAG_SUBJECT_DISTANCE: string;
			public static TAG_SUBJECT_DISTANCE_RANGE: string;
			public static TAG_SUBJECT_LOCATION: string;
			public static TAG_SUBSEC_TIME: string;
			public static TAG_SUBSEC_TIME_DIG: string;
			public static TAG_SUBSEC_TIME_DIGITIZED: string;
			public static TAG_SUBSEC_TIME_ORIG: string;
			public static TAG_SUBSEC_TIME_ORIGINAL: string;
			public static TAG_THUMBNAIL_IMAGE_LENGTH: string;
			public static TAG_THUMBNAIL_IMAGE_WIDTH: string;
			public static TAG_TRANSFER_FUNCTION: string;
			public static TAG_USER_COMMENT: string;
			public static TAG_WHITE_BALANCE: string;
			public static TAG_WHITE_POINT: string;
			public static TAG_X_RESOLUTION: string;
			public static TAG_Y_CB_CR_COEFFICIENTS: string;
			public static TAG_Y_CB_CR_POSITIONING: string;
			public static TAG_Y_CB_CR_SUB_SAMPLING: string;
			public static TAG_Y_RESOLUTION: string;
			public static WHITEBALANCE_AUTO: number;
			public static WHITEBALANCE_MANUAL: number;
			public getThumbnailBitmap(): android.graphics.Bitmap;
			public getThumbnail(): native.Array<number>;
			public getAttributeInt(param0: string, param1: number): number;
			public saveAttributes(): void;
			public hasThumbnail(): boolean;
			public getThumbnailRange(): native.Array<number>;
			public constructor(param0: java.io.FileDescriptor);
			public getAttribute(param0: string): string;
			public isThumbnailCompressed(): boolean;
			public constructor(param0: java.io.InputStream);
			public setAttribute(param0: string, param1: string): void;
			public constructor(param0: string);
			public getAltitude(param0: number): number;
			public getAttributeDouble(param0: string, param1: number): number;
			public getThumbnailBytes(): native.Array<number>;
			public getLatLong(param0: native.Array<number>): boolean;
		}
	}
}

declare module android {
	export module media {
		export class FaceDetector extends java.lang.Object {
			public static class: java.lang.Class<android.media.FaceDetector>;
			public constructor(param0: number, param1: number, param2: number);
			public findFaces(param0: android.graphics.Bitmap, param1: native.Array<android.media.FaceDetector.Face>): number;
			public finalize(): void;
		}
		export module FaceDetector {
			export class Face extends java.lang.Object {
				public static class: java.lang.Class<android.media.FaceDetector.Face>;
				public static CONFIDENCE_THRESHOLD: number;
				public static EULER_X: number;
				public static EULER_Y: number;
				public static EULER_Z: number;
				public getMidPoint(param0: android.graphics.PointF): void;
				public eyesDistance(): number;
				public pose(param0: number): number;
				public confidence(): number;
			}
		}
	}
}

declare module android {
	export module media {
		export abstract class Image extends java.lang.Object implements java.lang.AutoCloseable {
			public static class: java.lang.Class<android.media.Image>;
			public getHeight(): number;
			public getHardwareBuffer(): android.hardware.HardwareBuffer;
			public getTimestamp(): number;
			public setCropRect(param0: android.graphics.Rect): void;
			public getFormat(): number;
			public setTimestamp(param0: number): void;
			public getWidth(): number;
			public getCropRect(): android.graphics.Rect;
			public close(): void;
			public getPlanes(): native.Array<android.media.Image.Plane>;
		}
		export module Image {
			export abstract class Plane extends java.lang.Object {
				public static class: java.lang.Class<android.media.Image.Plane>;
				public getPixelStride(): number;
				public getRowStride(): number;
				public getBuffer(): java.nio.ByteBuffer;
			}
		}
	}
}

declare module android {
	export module media {
		export class ImageReader extends java.lang.Object implements java.lang.AutoCloseable {
			public static class: java.lang.Class<android.media.ImageReader>;
			public getMaxImages(): number;
			public getHeight(): number;
			public acquireNextImage(): android.media.Image;
			public static newInstance(param0: number, param1: number, param2: number, param3: number): android.media.ImageReader;
			public getWidth(): number;
			public getImageFormat(): number;
			public discardFreeBuffers(): void;
			public acquireLatestImage(): android.media.Image;
			public close(): void;
			public getSurface(): android.view.Surface;
			public setOnImageAvailableListener(param0: android.media.ImageReader.OnImageAvailableListener, param1: android.os.Handler): void;
			public finalize(): void;
		}
		export module ImageReader {
			export class OnImageAvailableListener extends java.lang.Object {
				public static class: java.lang.Class<android.media.ImageReader.OnImageAvailableListener>;
				/**
				 * Constructs a new instance of the android.media.ImageReader$OnImageAvailableListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onImageAvailable(param0: android.media.ImageReader): void;
				});
				public constructor();
				public onImageAvailable(param0: android.media.ImageReader): void;
			}
		}
	}
}

declare module android {
	export module media {
		export class ImageWriter extends java.lang.Object implements java.lang.AutoCloseable {
			public static class: java.lang.Class<android.media.ImageWriter>;
			public getMaxImages(): number;
			public getFormat(): number;
			public static newInstance(param0: android.view.Surface, param1: number): android.media.ImageWriter;
			public dequeueInputImage(): android.media.Image;
			public setOnImageReleasedListener(param0: android.media.ImageWriter.OnImageReleasedListener, param1: android.os.Handler): void;
			public close(): void;
			public queueInputImage(param0: android.media.Image): void;
			public finalize(): void;
		}
		export module ImageWriter {
			export class OnImageReleasedListener extends java.lang.Object {
				public static class: java.lang.Class<android.media.ImageWriter.OnImageReleasedListener>;
				/**
				 * Constructs a new instance of the android.media.ImageWriter$OnImageReleasedListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onImageReleased(param0: android.media.ImageWriter): void;
				});
				public constructor();
				public onImageReleased(param0: android.media.ImageWriter): void;
			}
		}
	}
}

declare module android {
	export module media {
		export class JetPlayer extends java.lang.Object {
			public static class: java.lang.Class<android.media.JetPlayer>;
			public closeJetFile(): boolean;
			public static getJetPlayer(): android.media.JetPlayer;
			public setMuteFlag(param0: number, param1: boolean, param2: boolean): boolean;
			public loadJetFile(param0: android.content.res.AssetFileDescriptor): boolean;
			public setEventListener(param0: android.media.JetPlayer.OnJetEventListener, param1: android.os.Handler): void;
			public static getMaxTracks(): number;
			public loadJetFile(param0: string): boolean;
			public setMuteArray(param0: native.Array<boolean>, param1: boolean): boolean;
			public play(): boolean;
			public triggerClip(param0: number): boolean;
			public clone(): any;
			public setEventListener(param0: android.media.JetPlayer.OnJetEventListener): void;
			public queueJetSegment(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number): boolean;
			public pause(): boolean;
			public queueJetSegmentMuteArray(param0: number, param1: number, param2: number, param3: number, param4: native.Array<boolean>, param5: number): boolean;
			public setMuteFlags(param0: number, param1: boolean): boolean;
			public clearQueue(): boolean;
			public finalize(): void;
			public release(): void;
		}
		export module JetPlayer {
			export class OnJetEventListener extends java.lang.Object {
				public static class: java.lang.Class<android.media.JetPlayer.OnJetEventListener>;
				/**
				 * Constructs a new instance of the android.media.JetPlayer$OnJetEventListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onJetEvent(param0: android.media.JetPlayer, param1: number, param2: number, param3: number, param4: number, param5: number): void;
					onJetUserIdUpdate(param0: android.media.JetPlayer, param1: number, param2: number): void;
					onJetNumQueuedSegmentUpdate(param0: android.media.JetPlayer, param1: number): void;
					onJetPauseUpdate(param0: android.media.JetPlayer, param1: number): void;
				});
				public constructor();
				public onJetEvent(param0: android.media.JetPlayer, param1: number, param2: number, param3: number, param4: number, param5: number): void;
				public onJetPauseUpdate(param0: android.media.JetPlayer, param1: number): void;
				public onJetUserIdUpdate(param0: android.media.JetPlayer, param1: number, param2: number): void;
				public onJetNumQueuedSegmentUpdate(param0: android.media.JetPlayer, param1: number): void;
			}
		}
	}
}

declare module android {
	export module media {
		export class MediaActionSound extends java.lang.Object {
			public static class: java.lang.Class<android.media.MediaActionSound>;
			public static FOCUS_COMPLETE: number;
			public static SHUTTER_CLICK: number;
			public static START_VIDEO_RECORDING: number;
			public static STOP_VIDEO_RECORDING: number;
			public play(param0: number): void;
			public load(param0: number): void;
			public constructor();
			public release(): void;
		}
	}
}

declare module android {
	export module media {
		export class MediaCas extends java.lang.Object implements java.lang.AutoCloseable {
			public static class: java.lang.Class<android.media.MediaCas>;
			public processEmm(param0: native.Array<number>, param1: number, param2: number): void;
			public openSession(): android.media.MediaCas.Session;
			public constructor(param0: number);
			public sendEvent(param0: number, param1: number, param2: native.Array<number>): void;
			public static isSystemIdSupported(param0: number): boolean;
			public setEventListener(param0: android.media.MediaCas.EventListener, param1: android.os.Handler): void;
			public processEmm(param0: native.Array<number>): void;
			public refreshEntitlements(param0: number, param1: native.Array<number>): void;
			public provision(param0: string): void;
			public static enumeratePlugins(): native.Array<android.media.MediaCas.PluginDescriptor>;
			public setPrivateData(param0: native.Array<number>): void;
			public close(): void;
			public finalize(): void;
		}
		export module MediaCas {
			export class EventListener extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaCas.EventListener>;
				/**
				 * Constructs a new instance of the android.media.MediaCas$EventListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onEvent(param0: android.media.MediaCas, param1: number, param2: number, param3: native.Array<number>): void;
				});
				public constructor();
				public onEvent(param0: android.media.MediaCas, param1: number, param2: number, param3: native.Array<number>): void;
			}
			export class PluginDescriptor extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaCas.PluginDescriptor>;
				public getSystemId(): number;
				public getName(): string;
				public toString(): string;
			}
			export class Session extends java.lang.Object implements java.lang.AutoCloseable {
				public static class: java.lang.Class<android.media.MediaCas.Session>;
				public close(): void;
				public processEcm(param0: native.Array<number>, param1: number, param2: number): void;
				public processEcm(param0: native.Array<number>): void;
				public setPrivateData(param0: native.Array<number>): void;
			}
		}
	}
}

declare module android {
	export module media {
		export class MediaCasException extends java.lang.Exception {
			public static class: java.lang.Class<android.media.MediaCasException>;
		}
		export module MediaCasException {
			export class DeniedByServerException extends android.media.MediaCasException {
				public static class: java.lang.Class<android.media.MediaCasException.DeniedByServerException>;
			}
			export class NotProvisionedException extends android.media.MediaCasException {
				public static class: java.lang.Class<android.media.MediaCasException.NotProvisionedException>;
			}
			export class ResourceBusyException extends android.media.MediaCasException {
				public static class: java.lang.Class<android.media.MediaCasException.ResourceBusyException>;
			}
			export class UnsupportedCasException extends android.media.MediaCasException {
				public static class: java.lang.Class<android.media.MediaCasException.UnsupportedCasException>;
			}
		}
	}
}

declare module android {
	export module media {
		export class MediaCasStateException extends java.lang.IllegalStateException {
			public static class: java.lang.Class<android.media.MediaCasStateException>;
			public getDiagnosticInfo(): string;
		}
	}
}

declare module android {
	export module media {
		export class MediaCodec extends java.lang.Object {
			public static class: java.lang.Class<android.media.MediaCodec>;
			public static BUFFER_FLAG_CODEC_CONFIG: number;
			public static BUFFER_FLAG_END_OF_STREAM: number;
			public static BUFFER_FLAG_KEY_FRAME: number;
			public static BUFFER_FLAG_PARTIAL_FRAME: number;
			public static BUFFER_FLAG_SYNC_FRAME: number;
			public static CONFIGURE_FLAG_ENCODE: number;
			public static CRYPTO_MODE_AES_CBC: number;
			public static CRYPTO_MODE_AES_CTR: number;
			public static CRYPTO_MODE_UNENCRYPTED: number;
			public static INFO_OUTPUT_BUFFERS_CHANGED: number;
			public static INFO_OUTPUT_FORMAT_CHANGED: number;
			public static INFO_TRY_AGAIN_LATER: number;
			public static PARAMETER_KEY_REQUEST_SYNC_FRAME: string;
			public static PARAMETER_KEY_SUSPEND: string;
			public static PARAMETER_KEY_VIDEO_BITRATE: string;
			public static VIDEO_SCALING_MODE_SCALE_TO_FIT: number;
			public static VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING: number;
			public setCallback(param0: android.media.MediaCodec.Callback): void;
			public configure(param0: android.media.MediaFormat, param1: android.view.Surface, param2: number, param3: android.media.MediaDescrambler): void;
			public static createPersistentInputSurface(): android.view.Surface;
			public signalEndOfInputStream(): void;
			public static createByCodecName(param0: string): android.media.MediaCodec;
			public createInputSurface(): android.view.Surface;
			public configure(param0: android.media.MediaFormat, param1: android.view.Surface, param2: android.media.MediaCrypto, param3: number): void;
			public setInputSurface(param0: android.view.Surface): void;
			public getOutputFormat(): android.media.MediaFormat;
			public getOutputImage(param0: number): android.media.Image;
			public getInputBuffer(param0: number): java.nio.ByteBuffer;
			public getInputFormat(): android.media.MediaFormat;
			public getOutputFormat(param0: number): android.media.MediaFormat;
			/** @deprecated */
			public getInputBuffers(): native.Array<java.nio.ByteBuffer>;
			public setCallback(param0: android.media.MediaCodec.Callback, param1: android.os.Handler): void;
			public stop(): void;
			/** @deprecated */
			public getOutputBuffers(): native.Array<java.nio.ByteBuffer>;
			public static createDecoderByType(param0: string): android.media.MediaCodec;
			public reset(): void;
			public setOnFrameRenderedListener(param0: android.media.MediaCodec.OnFrameRenderedListener, param1: android.os.Handler): void;
			public queueInputBuffer(param0: number, param1: number, param2: number, param3: number, param4: number): void;
			public dequeueOutputBuffer(param0: android.media.MediaCodec.BufferInfo, param1: number): number;
			public start(): void;
			public finalize(): void;
			public release(): void;
			public releaseOutputBuffer(param0: number, param1: number): void;
			public flush(): void;
			public setParameters(param0: android.os.Bundle): void;
			public queueSecureInputBuffer(param0: number, param1: number, param2: android.media.MediaCodec.CryptoInfo, param3: number, param4: number): void;
			public setVideoScalingMode(param0: number): void;
			public dequeueInputBuffer(param0: number): number;
			public getName(): string;
			public static createEncoderByType(param0: string): android.media.MediaCodec;
			public getCodecInfo(): android.media.MediaCodecInfo;
			public releaseOutputBuffer(param0: number, param1: boolean): void;
			public getOutputBuffer(param0: number): java.nio.ByteBuffer;
			public getMetrics(): any;
			public setOutputSurface(param0: android.view.Surface): void;
			public getInputImage(param0: number): android.media.Image;
		}
		export module MediaCodec {
			export class BufferInfo extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaCodec.BufferInfo>;
				public flags: number;
				public offset: number;
				public presentationTimeUs: number;
				public size: number;
				public set(param0: number, param1: number, param2: number, param3: number): void;
				public constructor();
			}
			export abstract class Callback extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaCodec.Callback>;
				public onOutputBufferAvailable(param0: android.media.MediaCodec, param1: number, param2: android.media.MediaCodec.BufferInfo): void;
				public onInputBufferAvailable(param0: android.media.MediaCodec, param1: number): void;
				public onOutputFormatChanged(param0: android.media.MediaCodec, param1: android.media.MediaFormat): void;
				public onError(param0: android.media.MediaCodec, param1: android.media.MediaCodec.CodecException): void;
				public constructor();
			}
			export class CodecException extends java.lang.IllegalStateException {
				public static class: java.lang.Class<android.media.MediaCodec.CodecException>;
				public static ERROR_INSUFFICIENT_RESOURCE: number;
				public static ERROR_RECLAIMED: number;
				public getDiagnosticInfo(): string;
				public isRecoverable(): boolean;
				public getErrorCode(): number;
				public isTransient(): boolean;
			}
			export class CryptoException extends java.lang.RuntimeException {
				public static class: java.lang.Class<android.media.MediaCodec.CryptoException>;
				public static ERROR_INSUFFICIENT_OUTPUT_PROTECTION: number;
				public static ERROR_KEY_EXPIRED: number;
				public static ERROR_NO_KEY: number;
				public static ERROR_RESOURCE_BUSY: number;
				public static ERROR_SESSION_NOT_OPENED: number;
				public static ERROR_UNSUPPORTED_OPERATION: number;
				public constructor(param0: number, param1: string);
				public constructor(param0: string, param1: java.lang.Throwable);
				public getErrorCode(): number;
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
			export class CryptoInfo extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaCodec.CryptoInfo>;
				public iv: native.Array<number>;
				public key: native.Array<number>;
				public mode: number;
				public numBytesOfClearData: native.Array<number>;
				public numBytesOfEncryptedData: native.Array<number>;
				public numSubSamples: number;
				public set(param0: number, param1: native.Array<number>, param2: native.Array<number>, param3: native.Array<number>, param4: native.Array<number>, param5: number): void;
				public toString(): string;
				public constructor();
				public setPattern(param0: android.media.MediaCodec.CryptoInfo.Pattern): void;
			}
			export module CryptoInfo {
				export class Pattern extends java.lang.Object {
					public static class: java.lang.Class<android.media.MediaCodec.CryptoInfo.Pattern>;
					public getEncryptBlocks(): number;
					public getSkipBlocks(): number;
					public set(param0: number, param1: number): void;
					public constructor(param0: number, param1: number);
				}
			}
			export class MetricsConstants extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaCodec.MetricsConstants>;
				public static CODEC: string;
				public static ENCODER: string;
				public static HEIGHT: string;
				public static MIME_TYPE: string;
				public static MODE: string;
				public static MODE_AUDIO: string;
				public static MODE_VIDEO: string;
				public static ROTATION: string;
				public static SECURE: string;
				public static WIDTH: string;
			}
			export class OnFrameRenderedListener extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaCodec.OnFrameRenderedListener>;
				/**
				 * Constructs a new instance of the android.media.MediaCodec$OnFrameRenderedListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onFrameRendered(param0: android.media.MediaCodec, param1: number, param2: number): void;
				});
				public constructor();
				public onFrameRendered(param0: android.media.MediaCodec, param1: number, param2: number): void;
			}
		}
	}
}

declare module android {
	export module media {
		export class MediaCodecInfo extends java.lang.Object {
			public static class: java.lang.Class<android.media.MediaCodecInfo>;
			public getSupportedTypes(): native.Array<string>;
			public isEncoder(): boolean;
			public getName(): string;
			public getCapabilitiesForType(param0: string): android.media.MediaCodecInfo.CodecCapabilities;
		}
		export module MediaCodecInfo {
			export class AudioCapabilities extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaCodecInfo.AudioCapabilities>;
				public getSupportedSampleRateRanges(): native.Array<android.util.Range<java.lang.Integer>>;
				public isSampleRateSupported(param0: number): boolean;
				public getMaxInputChannelCount(): number;
				public getBitrateRange(): android.util.Range<java.lang.Integer>;
				public getSupportedSampleRates(): native.Array<number>;
			}
			export class CodecCapabilities extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaCodecInfo.CodecCapabilities>;
				public static COLOR_Format12bitRGB444: number;
				public static COLOR_Format16bitARGB1555: number;
				public static COLOR_Format16bitARGB4444: number;
				public static COLOR_Format16bitBGR565: number;
				public static COLOR_Format16bitRGB565: number;
				public static COLOR_Format18BitBGR666: number;
				public static COLOR_Format18bitARGB1665: number;
				public static COLOR_Format18bitRGB666: number;
				public static COLOR_Format19bitARGB1666: number;
				public static COLOR_Format24BitABGR6666: number;
				public static COLOR_Format24BitARGB6666: number;
				public static COLOR_Format24bitARGB1887: number;
				public static COLOR_Format24bitBGR888: number;
				public static COLOR_Format24bitRGB888: number;
				public static COLOR_Format25bitARGB1888: number;
				public static COLOR_Format32bitABGR8888: number;
				public static COLOR_Format32bitARGB8888: number;
				public static COLOR_Format32bitBGRA8888: number;
				public static COLOR_Format8bitRGB332: number;
				public static COLOR_FormatCbYCrY: number;
				public static COLOR_FormatCrYCbY: number;
				public static COLOR_FormatL16: number;
				public static COLOR_FormatL2: number;
				public static COLOR_FormatL24: number;
				public static COLOR_FormatL32: number;
				public static COLOR_FormatL4: number;
				public static COLOR_FormatL8: number;
				public static COLOR_FormatMonochrome: number;
				public static COLOR_FormatRGBAFlexible: number;
				public static COLOR_FormatRGBFlexible: number;
				public static COLOR_FormatRawBayer10bit: number;
				public static COLOR_FormatRawBayer8bit: number;
				public static COLOR_FormatRawBayer8bitcompressed: number;
				public static COLOR_FormatSurface: number;
				public static COLOR_FormatYCbYCr: number;
				public static COLOR_FormatYCrYCb: number;
				public static COLOR_FormatYUV411PackedPlanar: number;
				public static COLOR_FormatYUV411Planar: number;
				public static COLOR_FormatYUV420Flexible: number;
				public static COLOR_FormatYUV420PackedPlanar: number;
				public static COLOR_FormatYUV420PackedSemiPlanar: number;
				public static COLOR_FormatYUV420Planar: number;
				public static COLOR_FormatYUV420SemiPlanar: number;
				public static COLOR_FormatYUV422Flexible: number;
				public static COLOR_FormatYUV422PackedPlanar: number;
				public static COLOR_FormatYUV422PackedSemiPlanar: number;
				public static COLOR_FormatYUV422Planar: number;
				public static COLOR_FormatYUV422SemiPlanar: number;
				public static COLOR_FormatYUV444Flexible: number;
				public static COLOR_FormatYUV444Interleaved: number;
				public static COLOR_QCOM_FormatYUV420SemiPlanar: number;
				public static COLOR_TI_FormatYUV420PackedSemiPlanar: number;
				public static FEATURE_AdaptivePlayback: string;
				public static FEATURE_IntraRefresh: string;
				public static FEATURE_PartialFrame: string;
				public static FEATURE_SecurePlayback: string;
				public static FEATURE_TunneledPlayback: string;
				public colorFormats: native.Array<number>;
				public profileLevels: native.Array<android.media.MediaCodecInfo.CodecProfileLevel>;
				public isFeatureSupported(param0: string): boolean;
				public isFeatureRequired(param0: string): boolean;
				public getMaxSupportedInstances(): number;
				public isFormatSupported(param0: android.media.MediaFormat): boolean;
				public getDefaultFormat(): android.media.MediaFormat;
				public getMimeType(): string;
				public getAudioCapabilities(): android.media.MediaCodecInfo.AudioCapabilities;
				public static createFromProfileLevel(param0: string, param1: number, param2: number): android.media.MediaCodecInfo.CodecCapabilities;
				public getVideoCapabilities(): android.media.MediaCodecInfo.VideoCapabilities;
				public constructor();
				public getEncoderCapabilities(): android.media.MediaCodecInfo.EncoderCapabilities;
			}
			export class CodecProfileLevel extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaCodecInfo.CodecProfileLevel>;
				public static AACObjectELD: number;
				public static AACObjectERLC: number;
				public static AACObjectERScalable: number;
				public static AACObjectHE: number;
				public static AACObjectHE_PS: number;
				public static AACObjectLC: number;
				public static AACObjectLD: number;
				public static AACObjectLTP: number;
				public static AACObjectMain: number;
				public static AACObjectSSR: number;
				public static AACObjectScalable: number;
				public static AACObjectXHE: number;
				public static AVCLevel1: number;
				public static AVCLevel11: number;
				public static AVCLevel12: number;
				public static AVCLevel13: number;
				public static AVCLevel1b: number;
				public static AVCLevel2: number;
				public static AVCLevel21: number;
				public static AVCLevel22: number;
				public static AVCLevel3: number;
				public static AVCLevel31: number;
				public static AVCLevel32: number;
				public static AVCLevel4: number;
				public static AVCLevel41: number;
				public static AVCLevel42: number;
				public static AVCLevel5: number;
				public static AVCLevel51: number;
				public static AVCLevel52: number;
				public static AVCProfileBaseline: number;
				public static AVCProfileConstrainedBaseline: number;
				public static AVCProfileConstrainedHigh: number;
				public static AVCProfileExtended: number;
				public static AVCProfileHigh: number;
				public static AVCProfileHigh10: number;
				public static AVCProfileHigh422: number;
				public static AVCProfileHigh444: number;
				public static AVCProfileMain: number;
				public static DolbyVisionLevelFhd24: number;
				public static DolbyVisionLevelFhd30: number;
				public static DolbyVisionLevelFhd60: number;
				public static DolbyVisionLevelHd24: number;
				public static DolbyVisionLevelHd30: number;
				public static DolbyVisionLevelUhd24: number;
				public static DolbyVisionLevelUhd30: number;
				public static DolbyVisionLevelUhd48: number;
				public static DolbyVisionLevelUhd60: number;
				public static DolbyVisionProfileDvavPen: number;
				public static DolbyVisionProfileDvavPer: number;
				public static DolbyVisionProfileDvavSe: number;
				public static DolbyVisionProfileDvheDen: number;
				public static DolbyVisionProfileDvheDer: number;
				public static DolbyVisionProfileDvheDtb: number;
				public static DolbyVisionProfileDvheDth: number;
				public static DolbyVisionProfileDvheDtr: number;
				public static DolbyVisionProfileDvheSt: number;
				public static DolbyVisionProfileDvheStn: number;
				public static H263Level10: number;
				public static H263Level20: number;
				public static H263Level30: number;
				public static H263Level40: number;
				public static H263Level45: number;
				public static H263Level50: number;
				public static H263Level60: number;
				public static H263Level70: number;
				public static H263ProfileBackwardCompatible: number;
				public static H263ProfileBaseline: number;
				public static H263ProfileH320Coding: number;
				public static H263ProfileHighCompression: number;
				public static H263ProfileHighLatency: number;
				public static H263ProfileISWV2: number;
				public static H263ProfileISWV3: number;
				public static H263ProfileInterlace: number;
				public static H263ProfileInternet: number;
				public static HEVCHighTierLevel1: number;
				public static HEVCHighTierLevel2: number;
				public static HEVCHighTierLevel21: number;
				public static HEVCHighTierLevel3: number;
				public static HEVCHighTierLevel31: number;
				public static HEVCHighTierLevel4: number;
				public static HEVCHighTierLevel41: number;
				public static HEVCHighTierLevel5: number;
				public static HEVCHighTierLevel51: number;
				public static HEVCHighTierLevel52: number;
				public static HEVCHighTierLevel6: number;
				public static HEVCHighTierLevel61: number;
				public static HEVCHighTierLevel62: number;
				public static HEVCMainTierLevel1: number;
				public static HEVCMainTierLevel2: number;
				public static HEVCMainTierLevel21: number;
				public static HEVCMainTierLevel3: number;
				public static HEVCMainTierLevel31: number;
				public static HEVCMainTierLevel4: number;
				public static HEVCMainTierLevel41: number;
				public static HEVCMainTierLevel5: number;
				public static HEVCMainTierLevel51: number;
				public static HEVCMainTierLevel52: number;
				public static HEVCMainTierLevel6: number;
				public static HEVCMainTierLevel61: number;
				public static HEVCMainTierLevel62: number;
				public static HEVCProfileMain: number;
				public static HEVCProfileMain10: number;
				public static HEVCProfileMain10HDR10: number;
				public static HEVCProfileMainStill: number;
				public static MPEG2LevelH14: number;
				public static MPEG2LevelHL: number;
				public static MPEG2LevelHP: number;
				public static MPEG2LevelLL: number;
				public static MPEG2LevelML: number;
				public static MPEG2Profile422: number;
				public static MPEG2ProfileHigh: number;
				public static MPEG2ProfileMain: number;
				public static MPEG2ProfileSNR: number;
				public static MPEG2ProfileSimple: number;
				public static MPEG2ProfileSpatial: number;
				public static MPEG4Level0: number;
				public static MPEG4Level0b: number;
				public static MPEG4Level1: number;
				public static MPEG4Level2: number;
				public static MPEG4Level3: number;
				public static MPEG4Level3b: number;
				public static MPEG4Level4: number;
				public static MPEG4Level4a: number;
				public static MPEG4Level5: number;
				public static MPEG4Level6: number;
				public static MPEG4ProfileAdvancedCoding: number;
				public static MPEG4ProfileAdvancedCore: number;
				public static MPEG4ProfileAdvancedRealTime: number;
				public static MPEG4ProfileAdvancedScalable: number;
				public static MPEG4ProfileAdvancedSimple: number;
				public static MPEG4ProfileBasicAnimated: number;
				public static MPEG4ProfileCore: number;
				public static MPEG4ProfileCoreScalable: number;
				public static MPEG4ProfileHybrid: number;
				public static MPEG4ProfileMain: number;
				public static MPEG4ProfileNbit: number;
				public static MPEG4ProfileScalableTexture: number;
				public static MPEG4ProfileSimple: number;
				public static MPEG4ProfileSimpleFBA: number;
				public static MPEG4ProfileSimpleFace: number;
				public static MPEG4ProfileSimpleScalable: number;
				public static VP8Level_Version0: number;
				public static VP8Level_Version1: number;
				public static VP8Level_Version2: number;
				public static VP8Level_Version3: number;
				public static VP8ProfileMain: number;
				public static VP9Level1: number;
				public static VP9Level11: number;
				public static VP9Level2: number;
				public static VP9Level21: number;
				public static VP9Level3: number;
				public static VP9Level31: number;
				public static VP9Level4: number;
				public static VP9Level41: number;
				public static VP9Level5: number;
				public static VP9Level51: number;
				public static VP9Level52: number;
				public static VP9Level6: number;
				public static VP9Level61: number;
				public static VP9Level62: number;
				public static VP9Profile0: number;
				public static VP9Profile1: number;
				public static VP9Profile2: number;
				public static VP9Profile2HDR: number;
				public static VP9Profile3: number;
				public static VP9Profile3HDR: number;
				public level: number;
				public profile: number;
				public hashCode(): number;
				public equals(param0: any): boolean;
				public constructor();
			}
			export class EncoderCapabilities extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaCodecInfo.EncoderCapabilities>;
				public static BITRATE_MODE_CBR: number;
				public static BITRATE_MODE_CQ: number;
				public static BITRATE_MODE_VBR: number;
				public getComplexityRange(): android.util.Range<java.lang.Integer>;
				public isBitrateModeSupported(param0: number): boolean;
				public getQualityRange(): android.util.Range<java.lang.Integer>;
			}
			export class VideoCapabilities extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaCodecInfo.VideoCapabilities>;
				public getAchievableFrameRatesFor(param0: number, param1: number): android.util.Range<java.lang.Double>;
				public getSupportedWidthsFor(param0: number): android.util.Range<java.lang.Integer>;
				public areSizeAndRateSupported(param0: number, param1: number, param2: number): boolean;
				public getSupportedHeightsFor(param0: number): android.util.Range<java.lang.Integer>;
				public isSizeSupported(param0: number, param1: number): boolean;
				public getSupportedFrameRatesFor(param0: number, param1: number): android.util.Range<java.lang.Double>;
				public getSupportedWidths(): android.util.Range<java.lang.Integer>;
				public getHeightAlignment(): number;
				public getBitrateRange(): android.util.Range<java.lang.Integer>;
				public getWidthAlignment(): number;
				public getSupportedHeights(): android.util.Range<java.lang.Integer>;
				public getSupportedFrameRates(): android.util.Range<java.lang.Integer>;
			}
		}
	}
}

declare module android {
	export module media {
		export class MediaCodecList extends java.lang.Object {
			public static class: java.lang.Class<android.media.MediaCodecList>;
			public static ALL_CODECS: number;
			public static REGULAR_CODECS: number;
			public getCodecInfos(): native.Array<android.media.MediaCodecInfo>;
			public findDecoderForFormat(param0: android.media.MediaFormat): string;
			public findEncoderForFormat(param0: android.media.MediaFormat): string;
			public constructor(param0: number);
			/** @deprecated */
			public static getCodecInfoAt(param0: number): android.media.MediaCodecInfo;
			/** @deprecated */
			public static getCodecCount(): number;
		}
	}
}

declare module android {
	export module media {
		export class MediaCrypto extends java.lang.Object {
			public static class: java.lang.Class<android.media.MediaCrypto>;
			public static isCryptoSchemeSupported(param0: java.util.UUID): boolean;
			public requiresSecureDecoderComponent(param0: string): boolean;
			public constructor(param0: java.util.UUID, param1: native.Array<number>);
			public setMediaDrmSession(param0: native.Array<number>): void;
			public finalize(): void;
			public release(): void;
		}
	}
}

declare module android {
	export module media {
		export class MediaCryptoException extends java.lang.Exception {
			public static class: java.lang.Class<android.media.MediaCryptoException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module android {
	export module media {
		export abstract class MediaDataSource extends java.lang.Object implements java.io.Closeable {
			public static class: java.lang.Class<android.media.MediaDataSource>;
			public constructor();
			public readAt(param0: number, param1: native.Array<number>, param2: number, param3: number): number;
			public getSize(): number;
			public close(): void;
		}
	}
}

declare module android {
	export module media {
		export class MediaDescrambler extends java.lang.Object implements java.lang.AutoCloseable {
			public static class: java.lang.Class<android.media.MediaDescrambler>;
			public static SCRAMBLE_CONTROL_EVEN_KEY: number;
			public static SCRAMBLE_CONTROL_ODD_KEY: number;
			public static SCRAMBLE_CONTROL_RESERVED: number;
			public static SCRAMBLE_CONTROL_UNSCRAMBLED: number;
			public static SCRAMBLE_FLAG_PES_HEADER: number;
			public setMediaCasSession(param0: android.media.MediaCas.Session): void;
			public requiresSecureDecoderComponent(param0: string): boolean;
			public descramble(param0: java.nio.ByteBuffer, param1: java.nio.ByteBuffer, param2: android.media.MediaCodec.CryptoInfo): number;
			public constructor(param0: number);
			public close(): void;
			public finalize(): void;
		}
	}
}

declare module android {
	export module media {
		export class MediaDescription extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.media.MediaDescription>;
			public static BT_FOLDER_TYPE_ALBUMS: number;
			public static BT_FOLDER_TYPE_ARTISTS: number;
			public static BT_FOLDER_TYPE_GENRES: number;
			public static BT_FOLDER_TYPE_MIXED: number;
			public static BT_FOLDER_TYPE_PLAYLISTS: number;
			public static BT_FOLDER_TYPE_TITLES: number;
			public static BT_FOLDER_TYPE_YEARS: number;
			public static CREATOR: android.os.Parcelable.Creator<android.media.MediaDescription>;
			public static EXTRA_BT_FOLDER_TYPE: string;
			public getTitle(): string;
			public equals(param0: any): boolean;
			public getSubtitle(): string;
			public toString(): string;
			public getMediaUri(): android.net.Uri;
			public getMediaId(): string;
			public getIconUri(): android.net.Uri;
			public describeContents(): number;
			public getIconBitmap(): android.graphics.Bitmap;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getDescription(): string;
			public getExtras(): android.os.Bundle;
		}
		export module MediaDescription {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaDescription.Builder>;
				public setIconUri(param0: android.net.Uri): android.media.MediaDescription.Builder;
				public setMediaId(param0: string): android.media.MediaDescription.Builder;
				public setTitle(param0: string): android.media.MediaDescription.Builder;
				public setDescription(param0: string): android.media.MediaDescription.Builder;
				public build(): android.media.MediaDescription;
				public setSubtitle(param0: string): android.media.MediaDescription.Builder;
				public setExtras(param0: android.os.Bundle): android.media.MediaDescription.Builder;
				public constructor();
				public setIconBitmap(param0: android.graphics.Bitmap): android.media.MediaDescription.Builder;
				public setMediaUri(param0: android.net.Uri): android.media.MediaDescription.Builder;
			}
		}
	}
}

declare module android {
	export module media {
		export class MediaDrm extends java.lang.Object implements java.lang.AutoCloseable {
			public static class: java.lang.Class<android.media.MediaDrm>;
			public static EVENT_KEY_EXPIRED: number;
			public static EVENT_KEY_REQUIRED: number;
			public static EVENT_PROVISION_REQUIRED: number;
			public static EVENT_SESSION_RECLAIMED: number;
			public static EVENT_VENDOR_DEFINED: number;
			public static HDCP_LEVEL_UNKNOWN: number;
			public static HDCP_NONE: number;
			public static HDCP_NO_DIGITAL_OUTPUT: number;
			public static HDCP_V1: number;
			public static HDCP_V2: number;
			public static HDCP_V2_1: number;
			public static HDCP_V2_2: number;
			public static KEY_TYPE_OFFLINE: number;
			public static KEY_TYPE_RELEASE: number;
			public static KEY_TYPE_STREAMING: number;
			public static PROPERTY_ALGORITHMS: string;
			public static PROPERTY_DESCRIPTION: string;
			public static PROPERTY_DEVICE_UNIQUE_ID: string;
			public static PROPERTY_VENDOR: string;
			public static PROPERTY_VERSION: string;
			public static SECURITY_LEVEL_HW_SECURE_ALL: number;
			public static SECURITY_LEVEL_HW_SECURE_CRYPTO: number;
			public static SECURITY_LEVEL_HW_SECURE_DECODE: number;
			public static SECURITY_LEVEL_SW_SECURE_CRYPTO: number;
			public static SECURITY_LEVEL_SW_SECURE_DECODE: number;
			public static SECURITY_LEVEL_UNKNOWN: number;
			public getConnectedHdcpLevel(): number;
			/** @deprecated */
			public releaseAllSecureStops(): void;
			public removeSecureStop(param0: native.Array<number>): void;
			public getPropertyByteArray(param0: string): native.Array<number>;
			public static getMaxSecurityLevel(): number;
			public setOnExpirationUpdateListener(param0: android.media.MediaDrm.OnExpirationUpdateListener, param1: android.os.Handler): void;
			public getPropertyString(param0: string): string;
			public releaseSecureStops(param0: native.Array<number>): void;
			public getCryptoSession(param0: native.Array<number>, param1: string, param2: string): android.media.MediaDrm.CryptoSession;
			public provideKeyResponse(param0: native.Array<number>, param1: native.Array<number>): native.Array<number>;
			public constructor(param0: java.util.UUID);
			public getSecurityLevel(param0: native.Array<number>): number;
			public getMaxSessionCount(): number;
			public getProvisionRequest(): android.media.MediaDrm.ProvisionRequest;
			public removeAllSecureStops(): void;
			public getSecureStopIds(): java.util.List<native.Array<number>>;
			public provideProvisionResponse(param0: native.Array<number>): void;
			public getKeyRequest(param0: native.Array<number>, param1: native.Array<number>, param2: string, param3: number, param4: java.util.HashMap<string,string>): android.media.MediaDrm.KeyRequest;
			public close(): void;
			public static isCryptoSchemeSupported(param0: java.util.UUID, param1: string): boolean;
			public getSecureStop(param0: native.Array<number>): native.Array<number>;
			public finalize(): void;
			public static isCryptoSchemeSupported(param0: java.util.UUID): boolean;
			public queryKeyStatus(param0: native.Array<number>): java.util.HashMap<string,string>;
			public setPropertyString(param0: string, param1: string): void;
			public restoreKeys(param0: native.Array<number>, param1: native.Array<number>): void;
			public closeSession(param0: native.Array<number>): void;
			public getMaxHdcpLevel(): number;
			public getSecureStops(): java.util.List<native.Array<number>>;
			/** @deprecated */
			public release(): void;
			public openSession(): native.Array<number>;
			public setPropertyByteArray(param0: string, param1: native.Array<number>): void;
			public setOnEventListener(param0: android.media.MediaDrm.OnEventListener): void;
			public removeKeys(param0: native.Array<number>): void;
			public getOpenSessionCount(): number;
			public getMetrics(): any;
			public setOnKeyStatusChangeListener(param0: android.media.MediaDrm.OnKeyStatusChangeListener, param1: android.os.Handler): void;
			public openSession(param0: number): native.Array<number>;
		}
		export module MediaDrm {
			export class CryptoSession extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaDrm.CryptoSession>;
				public sign(param0: native.Array<number>, param1: native.Array<number>): native.Array<number>;
				public verify(param0: native.Array<number>, param1: native.Array<number>, param2: native.Array<number>): boolean;
				public encrypt(param0: native.Array<number>, param1: native.Array<number>, param2: native.Array<number>): native.Array<number>;
				public decrypt(param0: native.Array<number>, param1: native.Array<number>, param2: native.Array<number>): native.Array<number>;
			}
			export class HdcpLevel extends java.lang.Object implements java.lang.annotation.Annotation {
				public static class: java.lang.Class<android.media.MediaDrm.HdcpLevel>;
				/**
				 * Constructs a new instance of the android.media.MediaDrm$HdcpLevel interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					equals(param0: any): boolean;
					hashCode(): number;
					toString(): string;
					annotationType(): java.lang.Class<any>;
				});
				public constructor();
				public hashCode(): number;
				public equals(param0: any): boolean;
				public annotationType(): java.lang.Class<any>;
				public toString(): string;
			}
			export class KeyRequest extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaDrm.KeyRequest>;
				public static REQUEST_TYPE_INITIAL: number;
				public static REQUEST_TYPE_NONE: number;
				public static REQUEST_TYPE_RELEASE: number;
				public static REQUEST_TYPE_RENEWAL: number;
				public static REQUEST_TYPE_UPDATE: number;
				public getData(): native.Array<number>;
				public getRequestType(): number;
				public getDefaultUrl(): string;
			}
			export class KeyStatus extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaDrm.KeyStatus>;
				public static STATUS_EXPIRED: number;
				public static STATUS_INTERNAL_ERROR: number;
				public static STATUS_OUTPUT_NOT_ALLOWED: number;
				public static STATUS_PENDING: number;
				public static STATUS_USABLE: number;
				public getKeyId(): native.Array<number>;
				public getStatusCode(): number;
			}
			export class MediaDrmStateException extends java.lang.IllegalStateException {
				public static class: java.lang.Class<android.media.MediaDrm.MediaDrmStateException>;
				public getDiagnosticInfo(): string;
			}
			export class MetricsConstants extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaDrm.MetricsConstants>;
				public static CLOSE_SESSION_ERROR_COUNT: string;
				public static CLOSE_SESSION_ERROR_LIST: string;
				public static CLOSE_SESSION_OK_COUNT: string;
				public static EVENT_KEY_EXPIRED_COUNT: string;
				public static EVENT_KEY_NEEDED_COUNT: string;
				public static EVENT_PROVISION_REQUIRED_COUNT: string;
				public static EVENT_SESSION_RECLAIMED_COUNT: string;
				public static EVENT_VENDOR_DEFINED_COUNT: string;
				public static GET_DEVICE_UNIQUE_ID_ERROR_COUNT: string;
				public static GET_DEVICE_UNIQUE_ID_ERROR_LIST: string;
				public static GET_DEVICE_UNIQUE_ID_OK_COUNT: string;
				public static GET_KEY_REQUEST_ERROR_COUNT: string;
				public static GET_KEY_REQUEST_ERROR_LIST: string;
				public static GET_KEY_REQUEST_OK_COUNT: string;
				public static GET_KEY_REQUEST_OK_TIME_MICROS: string;
				public static GET_PROVISION_REQUEST_ERROR_COUNT: string;
				public static GET_PROVISION_REQUEST_ERROR_LIST: string;
				public static GET_PROVISION_REQUEST_OK_COUNT: string;
				public static KEY_STATUS_EXPIRED_COUNT: string;
				public static KEY_STATUS_INTERNAL_ERROR_COUNT: string;
				public static KEY_STATUS_OUTPUT_NOT_ALLOWED_COUNT: string;
				public static KEY_STATUS_PENDING_COUNT: string;
				public static KEY_STATUS_USABLE_COUNT: string;
				public static OPEN_SESSION_ERROR_COUNT: string;
				public static OPEN_SESSION_ERROR_LIST: string;
				public static OPEN_SESSION_OK_COUNT: string;
				public static PROVIDE_KEY_RESPONSE_ERROR_COUNT: string;
				public static PROVIDE_KEY_RESPONSE_ERROR_LIST: string;
				public static PROVIDE_KEY_RESPONSE_OK_COUNT: string;
				public static PROVIDE_KEY_RESPONSE_OK_TIME_MICROS: string;
				public static PROVIDE_PROVISION_RESPONSE_ERROR_COUNT: string;
				public static PROVIDE_PROVISION_RESPONSE_ERROR_LIST: string;
				public static PROVIDE_PROVISION_RESPONSE_OK_COUNT: string;
				public static SESSION_END_TIMES_MS: string;
				public static SESSION_START_TIMES_MS: string;
			}
			export class OnEventListener extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaDrm.OnEventListener>;
				/**
				 * Constructs a new instance of the android.media.MediaDrm$OnEventListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onEvent(param0: android.media.MediaDrm, param1: native.Array<number>, param2: number, param3: number, param4: native.Array<number>): void;
				});
				public constructor();
				public onEvent(param0: android.media.MediaDrm, param1: native.Array<number>, param2: number, param3: number, param4: native.Array<number>): void;
			}
			export class OnExpirationUpdateListener extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaDrm.OnExpirationUpdateListener>;
				/**
				 * Constructs a new instance of the android.media.MediaDrm$OnExpirationUpdateListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onExpirationUpdate(param0: android.media.MediaDrm, param1: native.Array<number>, param2: number): void;
				});
				public constructor();
				public onExpirationUpdate(param0: android.media.MediaDrm, param1: native.Array<number>, param2: number): void;
			}
			export class OnKeyStatusChangeListener extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaDrm.OnKeyStatusChangeListener>;
				/**
				 * Constructs a new instance of the android.media.MediaDrm$OnKeyStatusChangeListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onKeyStatusChange(param0: android.media.MediaDrm, param1: native.Array<number>, param2: java.util.List<android.media.MediaDrm.KeyStatus>, param3: boolean): void;
				});
				public constructor();
				public onKeyStatusChange(param0: android.media.MediaDrm, param1: native.Array<number>, param2: java.util.List<android.media.MediaDrm.KeyStatus>, param3: boolean): void;
			}
			export class ProvisionRequest extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaDrm.ProvisionRequest>;
				public getData(): native.Array<number>;
				public getDefaultUrl(): string;
			}
			export class SecurityLevel extends java.lang.Object implements java.lang.annotation.Annotation {
				public static class: java.lang.Class<android.media.MediaDrm.SecurityLevel>;
				/**
				 * Constructs a new instance of the android.media.MediaDrm$SecurityLevel interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					equals(param0: any): boolean;
					hashCode(): number;
					toString(): string;
					annotationType(): java.lang.Class<any>;
				});
				public constructor();
				public hashCode(): number;
				public equals(param0: any): boolean;
				public annotationType(): java.lang.Class<any>;
				public toString(): string;
			}
		}
	}
}

declare module android {
	export module media {
		export class MediaDrmException extends java.lang.Exception {
			public static class: java.lang.Class<android.media.MediaDrmException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module android {
	export module media {
		export class MediaDrmResetException extends java.lang.IllegalStateException {
			public static class: java.lang.Class<android.media.MediaDrmResetException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module android {
	export module media {
		export class MediaExtractor extends java.lang.Object {
			public static class: java.lang.Class<android.media.MediaExtractor>;
			public static SAMPLE_FLAG_ENCRYPTED: number;
			public static SAMPLE_FLAG_PARTIAL_FRAME: number;
			public static SAMPLE_FLAG_SYNC: number;
			public static SEEK_TO_CLOSEST_SYNC: number;
			public static SEEK_TO_NEXT_SYNC: number;
			public static SEEK_TO_PREVIOUS_SYNC: number;
			public setDataSource(param0: java.io.FileDescriptor, param1: number, param2: number): void;
			public getPsshInfo(): java.util.Map<java.util.UUID,native.Array<number>>;
			public getTrackFormat(param0: number): android.media.MediaFormat;
			public selectTrack(param0: number): void;
			public advance(): boolean;
			public setDataSource(param0: android.content.res.AssetFileDescriptor): void;
			public setMediaCas(param0: android.media.MediaCas): void;
			public setDataSource(param0: java.io.FileDescriptor): void;
			public seekTo(param0: number, param1: number): void;
			public unselectTrack(param0: number): void;
			public setDataSource(param0: android.media.MediaDataSource): void;
			public getAudioPresentations(param0: number): java.util.List<android.media.AudioPresentation>;
			public getCasInfo(param0: number): android.media.MediaExtractor.CasInfo;
			public getDrmInitData(): android.media.DrmInitData;
			public setDataSource(param0: string, param1: java.util.Map<string,string>): void;
			public finalize(): void;
			public release(): void;
			public readSampleData(param0: java.nio.ByteBuffer, param1: number): number;
			public hasCacheReachedEndOfStream(): boolean;
			public getSampleTime(): number;
			public getSampleCryptoInfo(param0: android.media.MediaCodec.CryptoInfo): boolean;
			public constructor();
			public getSampleSize(): number;
			public setDataSource(param0: android.content.Context, param1: android.net.Uri, param2: java.util.Map<string,string>): void;
			public setDataSource(param0: string): void;
			public getSampleFlags(): number;
			public getTrackCount(): number;
			public getMetrics(): any;
			public getSampleTrackIndex(): number;
			public getCachedDuration(): number;
		}
		export module MediaExtractor {
			export class CasInfo extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaExtractor.CasInfo>;
				public getSession(): android.media.MediaCas.Session;
				public getSystemId(): number;
			}
			export class MetricsConstants extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaExtractor.MetricsConstants>;
				public static FORMAT: string;
				public static MIME_TYPE: string;
				public static TRACKS: string;
			}
		}
	}
}

declare module android {
	export module media {
		export class MediaFormat extends java.lang.Object {
			public static class: java.lang.Class<android.media.MediaFormat>;
			public static COLOR_RANGE_FULL: number;
			public static COLOR_RANGE_LIMITED: number;
			public static COLOR_STANDARD_BT2020: number;
			public static COLOR_STANDARD_BT601_NTSC: number;
			public static COLOR_STANDARD_BT601_PAL: number;
			public static COLOR_STANDARD_BT709: number;
			public static COLOR_TRANSFER_HLG: number;
			public static COLOR_TRANSFER_LINEAR: number;
			public static COLOR_TRANSFER_SDR_VIDEO: number;
			public static COLOR_TRANSFER_ST2084: number;
			public static KEY_AAC_DRC_ATTENUATION_FACTOR: string;
			public static KEY_AAC_DRC_BOOST_FACTOR: string;
			public static KEY_AAC_DRC_EFFECT_TYPE: string;
			public static KEY_AAC_DRC_HEAVY_COMPRESSION: string;
			public static KEY_AAC_DRC_TARGET_REFERENCE_LEVEL: string;
			public static KEY_AAC_ENCODED_TARGET_LEVEL: string;
			public static KEY_AAC_MAX_OUTPUT_CHANNEL_COUNT: string;
			public static KEY_AAC_PROFILE: string;
			public static KEY_AAC_SBR_MODE: string;
			public static KEY_AUDIO_SESSION_ID: string;
			public static KEY_BITRATE_MODE: string;
			public static KEY_BIT_RATE: string;
			public static KEY_CAPTURE_RATE: string;
			public static KEY_CHANNEL_COUNT: string;
			public static KEY_CHANNEL_MASK: string;
			public static KEY_COLOR_FORMAT: string;
			public static KEY_COLOR_RANGE: string;
			public static KEY_COLOR_STANDARD: string;
			public static KEY_COLOR_TRANSFER: string;
			public static KEY_COMPLEXITY: string;
			public static KEY_DURATION: string;
			public static KEY_FLAC_COMPRESSION_LEVEL: string;
			public static KEY_FRAME_RATE: string;
			public static KEY_GRID_COLUMNS: string;
			public static KEY_GRID_ROWS: string;
			public static KEY_HDR_STATIC_INFO: string;
			public static KEY_HEIGHT: string;
			public static KEY_INTRA_REFRESH_PERIOD: string;
			public static KEY_IS_ADTS: string;
			public static KEY_IS_AUTOSELECT: string;
			public static KEY_IS_DEFAULT: string;
			public static KEY_IS_FORCED_SUBTITLE: string;
			public static KEY_I_FRAME_INTERVAL: string;
			public static KEY_LANGUAGE: string;
			public static KEY_LATENCY: string;
			public static KEY_LEVEL: string;
			public static KEY_MAX_HEIGHT: string;
			public static KEY_MAX_INPUT_SIZE: string;
			public static KEY_MAX_WIDTH: string;
			public static KEY_MIME: string;
			public static KEY_OPERATING_RATE: string;
			public static KEY_OUTPUT_REORDER_DEPTH: string;
			public static KEY_PCM_ENCODING: string;
			public static KEY_PRIORITY: string;
			public static KEY_PROFILE: string;
			public static KEY_PUSH_BLANK_BUFFERS_ON_STOP: string;
			public static KEY_QUALITY: string;
			public static KEY_REPEAT_PREVIOUS_FRAME_AFTER: string;
			public static KEY_ROTATION: string;
			public static KEY_SAMPLE_RATE: string;
			public static KEY_SLICE_HEIGHT: string;
			public static KEY_STRIDE: string;
			public static KEY_TEMPORAL_LAYERING: string;
			public static KEY_TILE_HEIGHT: string;
			public static KEY_TILE_WIDTH: string;
			public static KEY_TRACK_ID: string;
			public static KEY_WIDTH: string;
			public static MIMETYPE_AUDIO_AAC: string;
			public static MIMETYPE_AUDIO_AC3: string;
			public static MIMETYPE_AUDIO_AMR_NB: string;
			public static MIMETYPE_AUDIO_AMR_WB: string;
			public static MIMETYPE_AUDIO_EAC3: string;
			public static MIMETYPE_AUDIO_FLAC: string;
			public static MIMETYPE_AUDIO_G711_ALAW: string;
			public static MIMETYPE_AUDIO_G711_MLAW: string;
			public static MIMETYPE_AUDIO_MPEG: string;
			public static MIMETYPE_AUDIO_MSGSM: string;
			public static MIMETYPE_AUDIO_OPUS: string;
			public static MIMETYPE_AUDIO_QCELP: string;
			public static MIMETYPE_AUDIO_RAW: string;
			public static MIMETYPE_AUDIO_SCRAMBLED: string;
			public static MIMETYPE_AUDIO_VORBIS: string;
			public static MIMETYPE_IMAGE_ANDROID_HEIC: string;
			public static MIMETYPE_TEXT_CEA_608: string;
			public static MIMETYPE_TEXT_CEA_708: string;
			public static MIMETYPE_TEXT_SUBRIP: string;
			public static MIMETYPE_TEXT_VTT: string;
			public static MIMETYPE_VIDEO_AVC: string;
			public static MIMETYPE_VIDEO_DOLBY_VISION: string;
			public static MIMETYPE_VIDEO_H263: string;
			public static MIMETYPE_VIDEO_HEVC: string;
			public static MIMETYPE_VIDEO_MPEG2: string;
			public static MIMETYPE_VIDEO_MPEG4: string;
			public static MIMETYPE_VIDEO_RAW: string;
			public static MIMETYPE_VIDEO_SCRAMBLED: string;
			public static MIMETYPE_VIDEO_VP8: string;
			public static MIMETYPE_VIDEO_VP9: string;
			public getLong(param0: string): number;
			public getString(param0: string): string;
			public getByteBuffer(param0: string): java.nio.ByteBuffer;
			public setString(param0: string, param1: string): void;
			public constructor();
			public getFeatureEnabled(param0: string): boolean;
			public setByteBuffer(param0: string, param1: java.nio.ByteBuffer): void;
			public static createVideoFormat(param0: string, param1: number, param2: number): android.media.MediaFormat;
			public getFloat(param0: string): number;
			public toString(): string;
			public setFeatureEnabled(param0: string, param1: boolean): void;
			public getInteger(param0: string): number;
			public static createAudioFormat(param0: string, param1: number, param2: number): android.media.MediaFormat;
			public setInteger(param0: string, param1: number): void;
			public containsKey(param0: string): boolean;
			public setLong(param0: string, param1: number): void;
			public setFloat(param0: string, param1: number): void;
			public static createSubtitleFormat(param0: string, param1: string): android.media.MediaFormat;
		}
	}
}

declare module android {
	export module media {
		export class MediaMetadata extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<any>;
			public static CREATOR: android.os.Parcelable.Creator<any>;
			public static METADATA_KEY_ALBUM: string;
			public static METADATA_KEY_ALBUM_ART: string;
			public static METADATA_KEY_ALBUM_ARTIST: string;
			public static METADATA_KEY_ALBUM_ART_URI: string;
			public static METADATA_KEY_ART: string;
			public static METADATA_KEY_ARTIST: string;
			public static METADATA_KEY_ART_URI: string;
			public static METADATA_KEY_AUTHOR: string;
			public static METADATA_KEY_BT_FOLDER_TYPE: string;
			public static METADATA_KEY_COMPILATION: string;
			public static METADATA_KEY_COMPOSER: string;
			public static METADATA_KEY_DATE: string;
			public static METADATA_KEY_DISC_NUMBER: string;
			public static METADATA_KEY_DISPLAY_DESCRIPTION: string;
			public static METADATA_KEY_DISPLAY_ICON: string;
			public static METADATA_KEY_DISPLAY_ICON_URI: string;
			public static METADATA_KEY_DISPLAY_SUBTITLE: string;
			public static METADATA_KEY_DISPLAY_TITLE: string;
			public static METADATA_KEY_DURATION: string;
			public static METADATA_KEY_GENRE: string;
			public static METADATA_KEY_MEDIA_ID: string;
			public static METADATA_KEY_MEDIA_URI: string;
			public static METADATA_KEY_NUM_TRACKS: string;
			public static METADATA_KEY_RATING: string;
			public static METADATA_KEY_TITLE: string;
			public static METADATA_KEY_TRACK_NUMBER: string;
			public static METADATA_KEY_USER_RATING: string;
			public static METADATA_KEY_WRITER: string;
			public static METADATA_KEY_YEAR: string;
			public keySet(): java.util.Set<string>;
			public getLong(param0: string): number;
			public equals(param0: any): boolean;
			public size(): number;
			public getString(param0: string): string;
			public getRating(param0: string): any;
			public getDescription(): android.media.MediaDescription;
			public getText(param0: string): string;
			public describeContents(): number;
			public getBitmap(param0: string): android.graphics.Bitmap;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public containsKey(param0: string): boolean;
			public hashCode(): number;
		}
		export module MediaMetadata {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<any>;
				public putText(param0: string, param1: string): any;
				public putRating(param0: string, param1: any): any;
				public putLong(param0: string, param1: number): any;
				public constructor(param0: any);
				public build(): any;
				public putBitmap(param0: string, param1: android.graphics.Bitmap): any;
				public constructor();
				public putString(param0: string, param1: string): any;
			}
		}
	}
}

declare module android {
	export module media {
		export abstract class MediaMetadataEditor extends java.lang.Object {
			public static class: java.lang.Class<android.media.MediaMetadataEditor>;
			public static BITMAP_KEY_ARTWORK: number;
			public static RATING_KEY_BY_OTHERS: number;
			public static RATING_KEY_BY_USER: number;
			public clear(): void;
			public removeEditableKeys(): void;
			public apply(): void;
			public getEditableKeys(): native.Array<number>;
			public getLong(param0: number, param1: number): number;
			public putObject(param0: number, param1: any): android.media.MediaMetadataEditor;
			public addEditableKey(param0: number): void;
			public getObject(param0: number, param1: any): any;
			public getBitmap(param0: number, param1: android.graphics.Bitmap): android.graphics.Bitmap;
			public putLong(param0: number, param1: number): android.media.MediaMetadataEditor;
			public putBitmap(param0: number, param1: android.graphics.Bitmap): android.media.MediaMetadataEditor;
			public putString(param0: number, param1: string): android.media.MediaMetadataEditor;
			public getString(param0: number, param1: string): string;
		}
	}
}

declare module android {
	export module media {
		export class MediaMetadataRetriever extends java.lang.Object {
			public static class: java.lang.Class<android.media.MediaMetadataRetriever>;
			public static METADATA_KEY_ALBUM: number;
			public static METADATA_KEY_ALBUMARTIST: number;
			public static METADATA_KEY_ARTIST: number;
			public static METADATA_KEY_AUTHOR: number;
			public static METADATA_KEY_BITRATE: number;
			public static METADATA_KEY_CAPTURE_FRAMERATE: number;
			public static METADATA_KEY_CD_TRACK_NUMBER: number;
			public static METADATA_KEY_COMPILATION: number;
			public static METADATA_KEY_COMPOSER: number;
			public static METADATA_KEY_DATE: number;
			public static METADATA_KEY_DISC_NUMBER: number;
			public static METADATA_KEY_DURATION: number;
			public static METADATA_KEY_GENRE: number;
			public static METADATA_KEY_HAS_AUDIO: number;
			public static METADATA_KEY_HAS_IMAGE: number;
			public static METADATA_KEY_HAS_VIDEO: number;
			public static METADATA_KEY_IMAGE_COUNT: number;
			public static METADATA_KEY_IMAGE_HEIGHT: number;
			public static METADATA_KEY_IMAGE_PRIMARY: number;
			public static METADATA_KEY_IMAGE_ROTATION: number;
			public static METADATA_KEY_IMAGE_WIDTH: number;
			public static METADATA_KEY_LOCATION: number;
			public static METADATA_KEY_MIMETYPE: number;
			public static METADATA_KEY_NUM_TRACKS: number;
			public static METADATA_KEY_TITLE: number;
			public static METADATA_KEY_VIDEO_FRAME_COUNT: number;
			public static METADATA_KEY_VIDEO_HEIGHT: number;
			public static METADATA_KEY_VIDEO_ROTATION: number;
			public static METADATA_KEY_VIDEO_WIDTH: number;
			public static METADATA_KEY_WRITER: number;
			public static METADATA_KEY_YEAR: number;
			public static OPTION_CLOSEST: number;
			public static OPTION_CLOSEST_SYNC: number;
			public static OPTION_NEXT_SYNC: number;
			public static OPTION_PREVIOUS_SYNC: number;
			public getPrimaryImage(param0: android.media.MediaMetadataRetriever.BitmapParams): android.graphics.Bitmap;
			public setDataSource(param0: java.io.FileDescriptor, param1: number, param2: number): void;
			public getImageAtIndex(param0: number): android.graphics.Bitmap;
			public getFrameAtTime(param0: number, param1: number): android.graphics.Bitmap;
			public getFrameAtIndex(param0: number, param1: android.media.MediaMetadataRetriever.BitmapParams): android.graphics.Bitmap;
			public getScaledFrameAtTime(param0: number, param1: number, param2: number, param3: number): android.graphics.Bitmap;
			public setDataSource(param0: java.io.FileDescriptor): void;
			public getImageAtIndex(param0: number, param1: android.media.MediaMetadataRetriever.BitmapParams): android.graphics.Bitmap;
			public setDataSource(param0: android.content.Context, param1: android.net.Uri): void;
			public extractMetadata(param0: number): string;
			public constructor();
			public setDataSource(param0: android.media.MediaDataSource): void;
			public getFramesAtIndex(param0: number, param1: number, param2: android.media.MediaMetadataRetriever.BitmapParams): java.util.List<android.graphics.Bitmap>;
			public setDataSource(param0: string): void;
			public getFrameAtIndex(param0: number): android.graphics.Bitmap;
			public setDataSource(param0: string, param1: java.util.Map<string,string>): void;
			public getEmbeddedPicture(): native.Array<number>;
			public getFrameAtTime(): android.graphics.Bitmap;
			public getFramesAtIndex(param0: number, param1: number): java.util.List<android.graphics.Bitmap>;
			public getPrimaryImage(): android.graphics.Bitmap;
			public getFrameAtTime(param0: number): android.graphics.Bitmap;
			public release(): void;
			public finalize(): void;
		}
		export module MediaMetadataRetriever {
			export class BitmapParams extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaMetadataRetriever.BitmapParams>;
				public getPreferredConfig(): android.graphics.Bitmap.Config;
				public setPreferredConfig(param0: android.graphics.Bitmap.Config): void;
				public getActualConfig(): android.graphics.Bitmap.Config;
				public constructor();
			}
		}
	}
}

declare module android {
	export module media {
		export class MediaMuxer extends java.lang.Object {
			public static class: java.lang.Class<android.media.MediaMuxer>;
			public constructor(param0: java.io.FileDescriptor, param1: number);
			public writeSampleData(param0: number, param1: java.nio.ByteBuffer, param2: android.media.MediaCodec.BufferInfo): void;
			public constructor(param0: string, param1: number);
			public stop(): void;
			public setOrientationHint(param0: number): void;
			public start(): void;
			public setLocation(param0: number, param1: number): void;
			public finalize(): void;
			public release(): void;
			public addTrack(param0: android.media.MediaFormat): number;
		}
		export module MediaMuxer {
			export class OutputFormat extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaMuxer.OutputFormat>;
				public static MUXER_OUTPUT_3GPP: number;
				public static MUXER_OUTPUT_HEIF: number;
				public static MUXER_OUTPUT_MPEG_4: number;
				public static MUXER_OUTPUT_WEBM: number;
			}
		}
	}
}

declare module android {
	export module media {
		export class MediaPlayer extends java.lang.Object implements android.media.VolumeAutomation, android.media.AudioRouting {
			public static class: java.lang.Class<android.media.MediaPlayer>;
			public static MEDIA_ERROR_IO: number;
			public static MEDIA_ERROR_MALFORMED: number;
			public static MEDIA_ERROR_NOT_VALID_FOR_PROGRESSIVE_PLAYBACK: number;
			public static MEDIA_ERROR_SERVER_DIED: number;
			public static MEDIA_ERROR_TIMED_OUT: number;
			public static MEDIA_ERROR_UNKNOWN: number;
			public static MEDIA_ERROR_UNSUPPORTED: number;
			public static MEDIA_INFO_AUDIO_NOT_PLAYING: number;
			public static MEDIA_INFO_BAD_INTERLEAVING: number;
			public static MEDIA_INFO_BUFFERING_END: number;
			public static MEDIA_INFO_BUFFERING_START: number;
			public static MEDIA_INFO_METADATA_UPDATE: number;
			public static MEDIA_INFO_NOT_SEEKABLE: number;
			public static MEDIA_INFO_STARTED_AS_NEXT: number;
			public static MEDIA_INFO_SUBTITLE_TIMED_OUT: number;
			public static MEDIA_INFO_UNKNOWN: number;
			public static MEDIA_INFO_UNSUPPORTED_SUBTITLE: number;
			public static MEDIA_INFO_VIDEO_NOT_PLAYING: number;
			public static MEDIA_INFO_VIDEO_RENDERING_START: number;
			public static MEDIA_INFO_VIDEO_TRACK_LAGGING: number;
			public static MEDIA_MIMETYPE_TEXT_SUBRIP: string;
			public static PREPARE_DRM_STATUS_PREPARATION_ERROR: number;
			public static PREPARE_DRM_STATUS_PROVISIONING_NETWORK_ERROR: number;
			public static PREPARE_DRM_STATUS_PROVISIONING_SERVER_ERROR: number;
			public static PREPARE_DRM_STATUS_SUCCESS: number;
			public static SEEK_CLOSEST: number;
			public static SEEK_CLOSEST_SYNC: number;
			public static SEEK_NEXT_SYNC: number;
			public static SEEK_PREVIOUS_SYNC: number;
			public static VIDEO_SCALING_MODE_SCALE_TO_FIT: number;
			public static VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING: number;
			public setDataSource(param0: java.io.FileDescriptor, param1: number, param2: number): void;
			public prepare(): void;
			public setLooping(param0: boolean): void;
			public selectTrack(param0: number): void;
			public setDataSource(param0: android.content.res.AssetFileDescriptor): void;
			public seekTo(param0: number, param1: number): void;
			public setDataSource(param0: android.content.Context, param1: android.net.Uri): void;
			public setAudioAttributes(param0: any): void;
			public getSelectedTrack(param0: number): number;
			public setSurface(param0: android.view.Surface): void;
			public setOnSeekCompleteListener(param0: android.media.MediaPlayer.OnSeekCompleteListener): void;
			public setOnSubtitleDataListener(param0: android.media.MediaPlayer.OnSubtitleDataListener): void;
			public setDataSource(param0: android.media.MediaDataSource): void;
			public setOnBufferingUpdateListener(param0: android.media.MediaPlayer.OnBufferingUpdateListener): void;
			public setOnErrorListener(param0: android.media.MediaPlayer.OnErrorListener): void;
			public getDrmInfo(): android.media.MediaPlayer.DrmInfo;
			public setNextMediaPlayer(param0: android.media.MediaPlayer): void;
			public createVolumeShaper(param0: android.media.VolumeShaper.Configuration): android.media.VolumeShaper;
			public stop(): void;
			public getKeyRequest(param0: native.Array<number>, param1: native.Array<number>, param2: string, param3: number, param4: java.util.Map<string,string>): android.media.MediaDrm.KeyRequest;
			public prepareDrm(param0: java.util.UUID): void;
			public start(): void;
			public getPlaybackParams(): android.media.PlaybackParams;
			public static create(param0: android.content.Context, param1: android.net.Uri, param2: android.view.SurfaceHolder, param3: any, param4: number): android.media.MediaPlayer;
			public getVideoHeight(): number;
			public setOnMediaTimeDiscontinuityListener(param0: android.media.MediaPlayer.OnMediaTimeDiscontinuityListener): void;
			public getPreferredDevice(): android.media.AudioDeviceInfo;
			public addTimedTextSource(param0: android.content.Context, param1: android.net.Uri, param2: string): void;
			public seekTo(param0: number): void;
			public getCurrentPosition(): number;
			public addOnRoutingChangedListener(param0: android.media.AudioRouting.OnRoutingChangedListener, param1: android.os.Handler): void;
			public constructor();
			public getTimestamp(): android.media.MediaTimestamp;
			public setOnSubtitleDataListener(param0: android.media.MediaPlayer.OnSubtitleDataListener, param1: android.os.Handler): void;
			public setDataSource(param0: android.content.Context, param1: android.net.Uri, param2: java.util.Map<string,string>, param3: java.util.List<java.net.HttpCookie>): void;
			public setDataSource(param0: android.content.Context, param1: android.net.Uri, param2: java.util.Map<string,string>): void;
			public addTimedTextSource(param0: java.io.FileDescriptor, param1: number, param2: number, param3: string): void;
			public setVideoScalingMode(param0: number): void;
			public getDrmPropertyString(param0: string): string;
			public isLooping(): boolean;
			public setDataSource(param0: string): void;
			public setPlaybackParams(param0: android.media.PlaybackParams): void;
			public setAuxEffectSendLevel(param0: number): void;
			public removeOnRoutingChangedListener(param0: android.media.AudioRouting.OnRoutingChangedListener): void;
			public setVolume(param0: number, param1: number): void;
			public getVideoWidth(): number;
			public deselectTrack(param0: number): void;
			public setDisplay(param0: android.view.SurfaceHolder): void;
			public getDuration(): number;
			public setOnDrmPreparedListener(param0: android.media.MediaPlayer.OnDrmPreparedListener): void;
			public getRoutedDevice(): android.media.AudioDeviceInfo;
			public setDataSource(param0: java.io.FileDescriptor): void;
			public setWakeMode(param0: android.content.Context, param1: number): void;
			public setPreferredDevice(param0: android.media.AudioDeviceInfo): boolean;
			public setOnDrmInfoListener(param0: android.media.MediaPlayer.OnDrmInfoListener, param1: android.os.Handler): void;
			public setDrmPropertyString(param0: string, param1: string): void;
			public isPlaying(): boolean;
			public pause(): void;
			public static create(param0: android.content.Context, param1: android.net.Uri): android.media.MediaPlayer;
			public setOnDrmConfigHelper(param0: android.media.MediaPlayer.OnDrmConfigHelper): void;
			public provideKeyResponse(param0: native.Array<number>, param1: native.Array<number>): native.Array<number>;
			public attachAuxEffect(param0: number): void;
			public setOnPreparedListener(param0: android.media.MediaPlayer.OnPreparedListener): void;
			public getSyncParams(): android.media.SyncParams;
			public addTimedTextSource(param0: java.io.FileDescriptor, param1: string): void;
			public reset(): void;
			public release(): void;
			public finalize(): void;
			public clearOnSubtitleDataListener(): void;
			public restoreKeys(param0: native.Array<number>): void;
			public clearOnMediaTimeDiscontinuityListener(): void;
			public prepareAsync(): void;
			public setAudioSessionId(param0: number): void;
			public setOnDrmInfoListener(param0: android.media.MediaPlayer.OnDrmInfoListener): void;
			public setScreenOnWhilePlaying(param0: boolean): void;
			public setOnTimedTextListener(param0: android.media.MediaPlayer.OnTimedTextListener): void;
			public setOnVideoSizeChangedListener(param0: android.media.MediaPlayer.OnVideoSizeChangedListener): void;
			public setOnDrmPreparedListener(param0: android.media.MediaPlayer.OnDrmPreparedListener, param1: android.os.Handler): void;
			public static create(param0: android.content.Context, param1: android.net.Uri, param2: android.view.SurfaceHolder): android.media.MediaPlayer;
			public getAudioSessionId(): number;
			public releaseDrm(): void;
			public static create(param0: android.content.Context, param1: number, param2: any, param3: number): android.media.MediaPlayer;
			public static create(param0: android.content.Context, param1: number): android.media.MediaPlayer;
			public setOnTimedMetaDataAvailableListener(param0: android.media.MediaPlayer.OnTimedMetaDataAvailableListener): void;
			public setSyncParams(param0: android.media.SyncParams): void;
			public getMetrics(): any;
			public setOnInfoListener(param0: android.media.MediaPlayer.OnInfoListener): void;
			public getTrackInfo(): native.Array<android.media.MediaPlayer.TrackInfo>;
			public addTimedTextSource(param0: string, param1: string): void;
			/** @deprecated */
			public setAudioStreamType(param0: number): void;
			public setOnMediaTimeDiscontinuityListener(param0: android.media.MediaPlayer.OnMediaTimeDiscontinuityListener, param1: android.os.Handler): void;
			public setOnCompletionListener(param0: android.media.MediaPlayer.OnCompletionListener): void;
		}
		export module MediaPlayer {
			export class DrmInfo extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaPlayer.DrmInfo>;
				public getPssh(): java.util.Map<java.util.UUID,native.Array<number>>;
				public getSupportedSchemes(): native.Array<java.util.UUID>;
			}
			export class MetricsConstants extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaPlayer.MetricsConstants>;
				public static CODEC_AUDIO: string;
				public static CODEC_VIDEO: string;
				public static DURATION: string;
				public static ERRORS: string;
				public static ERROR_CODE: string;
				public static FRAMES: string;
				public static FRAMES_DROPPED: string;
				public static HEIGHT: string;
				public static MIME_TYPE_AUDIO: string;
				public static MIME_TYPE_VIDEO: string;
				public static PLAYING: string;
				public static WIDTH: string;
			}
			export class NoDrmSchemeException extends android.media.MediaDrmException {
				public static class: java.lang.Class<android.media.MediaPlayer.NoDrmSchemeException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
			export class OnBufferingUpdateListener extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaPlayer.OnBufferingUpdateListener>;
				/**
				 * Constructs a new instance of the android.media.MediaPlayer$OnBufferingUpdateListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onBufferingUpdate(param0: android.media.MediaPlayer, param1: number): void;
				});
				public constructor();
				public onBufferingUpdate(param0: android.media.MediaPlayer, param1: number): void;
			}
			export class OnCompletionListener extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaPlayer.OnCompletionListener>;
				/**
				 * Constructs a new instance of the android.media.MediaPlayer$OnCompletionListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onCompletion(param0: android.media.MediaPlayer): void;
				});
				public constructor();
				public onCompletion(param0: android.media.MediaPlayer): void;
			}
			export class OnDrmConfigHelper extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaPlayer.OnDrmConfigHelper>;
				/**
				 * Constructs a new instance of the android.media.MediaPlayer$OnDrmConfigHelper interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onDrmConfig(param0: android.media.MediaPlayer): void;
				});
				public constructor();
				public onDrmConfig(param0: android.media.MediaPlayer): void;
			}
			export class OnDrmInfoListener extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaPlayer.OnDrmInfoListener>;
				/**
				 * Constructs a new instance of the android.media.MediaPlayer$OnDrmInfoListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onDrmInfo(param0: android.media.MediaPlayer, param1: android.media.MediaPlayer.DrmInfo): void;
				});
				public constructor();
				public onDrmInfo(param0: android.media.MediaPlayer, param1: android.media.MediaPlayer.DrmInfo): void;
			}
			export class OnDrmPreparedListener extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaPlayer.OnDrmPreparedListener>;
				/**
				 * Constructs a new instance of the android.media.MediaPlayer$OnDrmPreparedListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onDrmPrepared(param0: android.media.MediaPlayer, param1: number): void;
				});
				public constructor();
				public onDrmPrepared(param0: android.media.MediaPlayer, param1: number): void;
			}
			export class OnErrorListener extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaPlayer.OnErrorListener>;
				/**
				 * Constructs a new instance of the android.media.MediaPlayer$OnErrorListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onError(param0: android.media.MediaPlayer, param1: number, param2: number): boolean;
				});
				public constructor();
				public onError(param0: android.media.MediaPlayer, param1: number, param2: number): boolean;
			}
			export class OnInfoListener extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaPlayer.OnInfoListener>;
				/**
				 * Constructs a new instance of the android.media.MediaPlayer$OnInfoListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onInfo(param0: android.media.MediaPlayer, param1: number, param2: number): boolean;
				});
				public constructor();
				public onInfo(param0: android.media.MediaPlayer, param1: number, param2: number): boolean;
			}
			export class OnMediaTimeDiscontinuityListener extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaPlayer.OnMediaTimeDiscontinuityListener>;
				/**
				 * Constructs a new instance of the android.media.MediaPlayer$OnMediaTimeDiscontinuityListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onMediaTimeDiscontinuity(param0: android.media.MediaPlayer, param1: android.media.MediaTimestamp): void;
				});
				public constructor();
				public onMediaTimeDiscontinuity(param0: android.media.MediaPlayer, param1: android.media.MediaTimestamp): void;
			}
			export class OnPreparedListener extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaPlayer.OnPreparedListener>;
				/**
				 * Constructs a new instance of the android.media.MediaPlayer$OnPreparedListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onPrepared(param0: android.media.MediaPlayer): void;
				});
				public constructor();
				public onPrepared(param0: android.media.MediaPlayer): void;
			}
			export class OnSeekCompleteListener extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaPlayer.OnSeekCompleteListener>;
				/**
				 * Constructs a new instance of the android.media.MediaPlayer$OnSeekCompleteListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onSeekComplete(param0: android.media.MediaPlayer): void;
				});
				public constructor();
				public onSeekComplete(param0: android.media.MediaPlayer): void;
			}
			export class OnSubtitleDataListener extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaPlayer.OnSubtitleDataListener>;
				/**
				 * Constructs a new instance of the android.media.MediaPlayer$OnSubtitleDataListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onSubtitleData(param0: android.media.MediaPlayer, param1: android.media.SubtitleData): void;
				});
				public constructor();
				public onSubtitleData(param0: android.media.MediaPlayer, param1: android.media.SubtitleData): void;
			}
			export class OnTimedMetaDataAvailableListener extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaPlayer.OnTimedMetaDataAvailableListener>;
				/**
				 * Constructs a new instance of the android.media.MediaPlayer$OnTimedMetaDataAvailableListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onTimedMetaDataAvailable(param0: android.media.MediaPlayer, param1: android.media.TimedMetaData): void;
				});
				public constructor();
				public onTimedMetaDataAvailable(param0: android.media.MediaPlayer, param1: android.media.TimedMetaData): void;
			}
			export class OnTimedTextListener extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaPlayer.OnTimedTextListener>;
				/**
				 * Constructs a new instance of the android.media.MediaPlayer$OnTimedTextListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onTimedText(param0: android.media.MediaPlayer, param1: android.media.TimedText): void;
				});
				public constructor();
				public onTimedText(param0: android.media.MediaPlayer, param1: android.media.TimedText): void;
			}
			export class OnVideoSizeChangedListener extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaPlayer.OnVideoSizeChangedListener>;
				/**
				 * Constructs a new instance of the android.media.MediaPlayer$OnVideoSizeChangedListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onVideoSizeChanged(param0: android.media.MediaPlayer, param1: number, param2: number): void;
				});
				public constructor();
				public onVideoSizeChanged(param0: android.media.MediaPlayer, param1: number, param2: number): void;
			}
			export class ProvisioningNetworkErrorException extends android.media.MediaDrmException {
				public static class: java.lang.Class<android.media.MediaPlayer.ProvisioningNetworkErrorException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
			export class ProvisioningServerErrorException extends android.media.MediaDrmException {
				public static class: java.lang.Class<android.media.MediaPlayer.ProvisioningServerErrorException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
			export class TrackInfo extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.media.MediaPlayer.TrackInfo>;
				public static MEDIA_TRACK_TYPE_AUDIO: number;
				public static MEDIA_TRACK_TYPE_METADATA: number;
				public static MEDIA_TRACK_TYPE_SUBTITLE: number;
				public static MEDIA_TRACK_TYPE_TIMEDTEXT: number;
				public static MEDIA_TRACK_TYPE_UNKNOWN: number;
				public static MEDIA_TRACK_TYPE_VIDEO: number;
				public getLanguage(): string;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getTrackType(): number;
				public describeContents(): number;
				public getFormat(): android.media.MediaFormat;
				public toString(): string;
			}
		}
	}
}

declare module android {
	export module media {
		export class MediaRecorder extends java.lang.Object implements android.media.AudioRouting {
			public static class: java.lang.Class<android.media.MediaRecorder>;
			public static MEDIA_ERROR_SERVER_DIED: number;
			public static MEDIA_RECORDER_ERROR_UNKNOWN: number;
			public static MEDIA_RECORDER_INFO_MAX_DURATION_REACHED: number;
			public static MEDIA_RECORDER_INFO_MAX_FILESIZE_APPROACHING: number;
			public static MEDIA_RECORDER_INFO_MAX_FILESIZE_REACHED: number;
			public static MEDIA_RECORDER_INFO_NEXT_OUTPUT_FILE_STARTED: number;
			public static MEDIA_RECORDER_INFO_UNKNOWN: number;
			public prepare(): void;
			public setVideoSource(param0: number): void;
			public setVideoEncodingBitRate(param0: number): void;
			public setVideoSize(param0: number, param1: number): void;
			public setPreviewDisplay(param0: android.view.Surface): void;
			public setAudioChannels(param0: number): void;
			public setNextOutputFile(param0: java.io.FileDescriptor): void;
			public setOutputFormat(param0: number): void;
			public getRoutedDevice(): android.media.AudioDeviceInfo;
			public setPreferredDevice(param0: android.media.AudioDeviceInfo): boolean;
			public setVideoEncoder(param0: number): void;
			public setInputSurface(param0: android.view.Surface): void;
			public setMaxDuration(param0: number): void;
			public setAudioEncodingBitRate(param0: number): void;
			public pause(): void;
			public resume(): void;
			public setMaxFileSize(param0: number): void;
			public setOutputFile(param0: java.io.File): void;
			public setOnInfoListener(param0: android.media.MediaRecorder.OnInfoListener): void;
			public stop(): void;
			public reset(): void;
			public start(): void;
			public release(): void;
			public finalize(): void;
			public setCaptureRate(param0: number): void;
			public setVideoFrameRate(param0: number): void;
			public setAudioSource(param0: number): void;
			public setAudioSamplingRate(param0: number): void;
			public getPreferredDevice(): android.media.AudioDeviceInfo;
			public setProfile(param0: android.media.CamcorderProfile): void;
			/** @deprecated */
			public setCamera(param0: android.hardware.Camera): void;
			public addOnRoutingChangedListener(param0: android.media.AudioRouting.OnRoutingChangedListener, param1: android.os.Handler): void;
			public setOrientationHint(param0: number): void;
			public setOnErrorListener(param0: android.media.MediaRecorder.OnErrorListener): void;
			public constructor();
			public setNextOutputFile(param0: java.io.File): void;
			public setVideoEncodingProfileLevel(param0: number, param1: number): void;
			public getSurface(): android.view.Surface;
			public setLocation(param0: number, param1: number): void;
			public static getAudioSourceMax(): number;
			public setOutputFile(param0: string): void;
			public removeOnRoutingChangedListener(param0: android.media.AudioRouting.OnRoutingChangedListener): void;
			public setOutputFile(param0: java.io.FileDescriptor): void;
			public getMetrics(): any;
			public getMaxAmplitude(): number;
			public getActiveMicrophones(): java.util.List<android.media.MicrophoneInfo>;
			public setAudioEncoder(param0: number): void;
		}
		export module MediaRecorder {
			export class AudioEncoder extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaRecorder.AudioEncoder>;
				public static AAC: number;
				public static AAC_ELD: number;
				public static AMR_NB: number;
				public static AMR_WB: number;
				public static DEFAULT: number;
				public static HE_AAC: number;
				public static VORBIS: number;
			}
			export class AudioSource extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaRecorder.AudioSource>;
				public static CAMCORDER: number;
				public static DEFAULT: number;
				public static MIC: number;
				public static REMOTE_SUBMIX: number;
				public static UNPROCESSED: number;
				public static VOICE_CALL: number;
				public static VOICE_COMMUNICATION: number;
				public static VOICE_DOWNLINK: number;
				public static VOICE_RECOGNITION: number;
				public static VOICE_UPLINK: number;
			}
			export class MetricsConstants extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaRecorder.MetricsConstants>;
				public static AUDIO_BITRATE: string;
				public static AUDIO_CHANNELS: string;
				public static AUDIO_SAMPLERATE: string;
				public static AUDIO_TIMESCALE: string;
				public static CAPTURE_FPS: string;
				public static CAPTURE_FPS_ENABLE: string;
				public static FRAMERATE: string;
				public static HEIGHT: string;
				public static MOVIE_TIMESCALE: string;
				public static ROTATION: string;
				public static VIDEO_BITRATE: string;
				public static VIDEO_IFRAME_INTERVAL: string;
				public static VIDEO_LEVEL: string;
				public static VIDEO_PROFILE: string;
				public static VIDEO_TIMESCALE: string;
				public static WIDTH: string;
			}
			export class OnErrorListener extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaRecorder.OnErrorListener>;
				/**
				 * Constructs a new instance of the android.media.MediaRecorder$OnErrorListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onError(param0: android.media.MediaRecorder, param1: number, param2: number): void;
				});
				public constructor();
				public onError(param0: android.media.MediaRecorder, param1: number, param2: number): void;
			}
			export class OnInfoListener extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaRecorder.OnInfoListener>;
				/**
				 * Constructs a new instance of the android.media.MediaRecorder$OnInfoListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onInfo(param0: android.media.MediaRecorder, param1: number, param2: number): void;
				});
				public constructor();
				public onInfo(param0: android.media.MediaRecorder, param1: number, param2: number): void;
			}
			export class OutputFormat extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaRecorder.OutputFormat>;
				public static AAC_ADTS: number;
				public static AMR_NB: number;
				public static AMR_WB: number;
				public static DEFAULT: number;
				public static MPEG_2_TS: number;
				public static MPEG_4: number;
				public static RAW_AMR: number;
				public static THREE_GPP: number;
				public static WEBM: number;
			}
			export class VideoEncoder extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaRecorder.VideoEncoder>;
				public static DEFAULT: number;
				public static H263: number;
				public static H264: number;
				public static HEVC: number;
				public static MPEG_4_SP: number;
				public static VP8: number;
			}
			export class VideoSource extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaRecorder.VideoSource>;
				public static CAMERA: number;
				public static DEFAULT: number;
				public static SURFACE: number;
			}
		}
	}
}

declare module android {
	export module media {
		export class MediaRouter extends java.lang.Object {
			public static class: java.lang.Class<android.media.MediaRouter>;
			public static CALLBACK_FLAG_PERFORM_ACTIVE_SCAN: number;
			public static CALLBACK_FLAG_UNFILTERED_EVENTS: number;
			public static ROUTE_TYPE_LIVE_AUDIO: number;
			public static ROUTE_TYPE_LIVE_VIDEO: number;
			public static ROUTE_TYPE_USER: number;
			public getCategoryAt(param0: number): android.media.MediaRouter.RouteCategory;
			public getDefaultRoute(): android.media.MediaRouter.RouteInfo;
			public clearUserRoutes(): void;
			public getCategoryCount(): number;
			public addCallback(param0: number, param1: android.media.MediaRouter.Callback): void;
			public selectRoute(param0: number, param1: android.media.MediaRouter.RouteInfo): void;
			public getRouteCount(): number;
			public getRouteAt(param0: number): android.media.MediaRouter.RouteInfo;
			public createUserRoute(param0: android.media.MediaRouter.RouteCategory): android.media.MediaRouter.UserRouteInfo;
			public removeCallback(param0: android.media.MediaRouter.Callback): void;
			public createRouteCategory(param0: number, param1: boolean): android.media.MediaRouter.RouteCategory;
			public removeUserRoute(param0: android.media.MediaRouter.UserRouteInfo): void;
			public addCallback(param0: number, param1: android.media.MediaRouter.Callback, param2: number): void;
			public getSelectedRoute(param0: number): android.media.MediaRouter.RouteInfo;
			public addUserRoute(param0: android.media.MediaRouter.UserRouteInfo): void;
			public createRouteCategory(param0: string, param1: boolean): android.media.MediaRouter.RouteCategory;
		}
		export module MediaRouter {
			export abstract class Callback extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaRouter.Callback>;
				public onRouteVolumeChanged(param0: android.media.MediaRouter, param1: android.media.MediaRouter.RouteInfo): void;
				public onRouteGrouped(param0: android.media.MediaRouter, param1: android.media.MediaRouter.RouteInfo, param2: android.media.MediaRouter.RouteGroup, param3: number): void;
				public onRouteChanged(param0: android.media.MediaRouter, param1: android.media.MediaRouter.RouteInfo): void;
				public onRouteUngrouped(param0: android.media.MediaRouter, param1: android.media.MediaRouter.RouteInfo, param2: android.media.MediaRouter.RouteGroup): void;
				public onRouteAdded(param0: android.media.MediaRouter, param1: android.media.MediaRouter.RouteInfo): void;
				public onRouteUnselected(param0: android.media.MediaRouter, param1: number, param2: android.media.MediaRouter.RouteInfo): void;
				public onRouteRemoved(param0: android.media.MediaRouter, param1: android.media.MediaRouter.RouteInfo): void;
				public onRouteSelected(param0: android.media.MediaRouter, param1: number, param2: android.media.MediaRouter.RouteInfo): void;
				public constructor();
				public onRoutePresentationDisplayChanged(param0: android.media.MediaRouter, param1: android.media.MediaRouter.RouteInfo): void;
			}
			export class RouteCategory extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaRouter.RouteCategory>;
				public getName(param0: android.content.Context): string;
				public getRoutes(param0: java.util.List<android.media.MediaRouter.RouteInfo>): java.util.List<android.media.MediaRouter.RouteInfo>;
				public isGroupable(): boolean;
				public getName(): string;
				public getSupportedTypes(): number;
				public toString(): string;
			}
			export class RouteGroup extends android.media.MediaRouter.RouteInfo {
				public static class: java.lang.Class<android.media.MediaRouter.RouteGroup>;
				public removeRoute(param0: android.media.MediaRouter.RouteInfo): void;
				public removeRoute(param0: number): void;
				public setIconDrawable(param0: android.graphics.drawable.Drawable): void;
				public requestUpdateVolume(param0: number): void;
				public getRouteCount(): number;
				public setIconResource(param0: number): void;
				public requestSetVolume(param0: number): void;
				public addRoute(param0: android.media.MediaRouter.RouteInfo): void;
				public addRoute(param0: android.media.MediaRouter.RouteInfo, param1: number): void;
				public toString(): string;
				public getRouteAt(param0: number): android.media.MediaRouter.RouteInfo;
			}
			export class RouteInfo extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaRouter.RouteInfo>;
				public static DEVICE_TYPE_BLUETOOTH: number;
				public static DEVICE_TYPE_SPEAKER: number;
				public static DEVICE_TYPE_TV: number;
				public static DEVICE_TYPE_UNKNOWN: number;
				public static PLAYBACK_TYPE_LOCAL: number;
				public static PLAYBACK_TYPE_REMOTE: number;
				public static PLAYBACK_VOLUME_FIXED: number;
				public static PLAYBACK_VOLUME_VARIABLE: number;
				public getCategory(): android.media.MediaRouter.RouteCategory;
				public getStatus(): string;
				public requestUpdateVolume(param0: number): void;
				public getIconDrawable(): android.graphics.drawable.Drawable;
				public getVolumeMax(): number;
				public getPresentationDisplay(): android.view.Display;
				public getPlaybackStream(): number;
				public getName(): string;
				public getDescription(): string;
				public getPlaybackType(): number;
				public toString(): string;
				public isConnecting(): boolean;
				public getVolume(): number;
				public getName(param0: android.content.Context): string;
				public requestSetVolume(param0: number): void;
				public getGroup(): android.media.MediaRouter.RouteGroup;
				public getDeviceType(): number;
				public getTag(): any;
				public isEnabled(): boolean;
				public getSupportedTypes(): number;
				public setTag(param0: any): void;
				public getVolumeHandling(): number;
			}
			export class SimpleCallback extends android.media.MediaRouter.Callback {
				public static class: java.lang.Class<android.media.MediaRouter.SimpleCallback>;
				public onRouteVolumeChanged(param0: android.media.MediaRouter, param1: android.media.MediaRouter.RouteInfo): void;
				public onRouteGrouped(param0: android.media.MediaRouter, param1: android.media.MediaRouter.RouteInfo, param2: android.media.MediaRouter.RouteGroup, param3: number): void;
				public onRouteChanged(param0: android.media.MediaRouter, param1: android.media.MediaRouter.RouteInfo): void;
				public onRouteUngrouped(param0: android.media.MediaRouter, param1: android.media.MediaRouter.RouteInfo, param2: android.media.MediaRouter.RouteGroup): void;
				public onRouteAdded(param0: android.media.MediaRouter, param1: android.media.MediaRouter.RouteInfo): void;
				public onRouteUnselected(param0: android.media.MediaRouter, param1: number, param2: android.media.MediaRouter.RouteInfo): void;
				public onRouteRemoved(param0: android.media.MediaRouter, param1: android.media.MediaRouter.RouteInfo): void;
				public onRouteSelected(param0: android.media.MediaRouter, param1: number, param2: android.media.MediaRouter.RouteInfo): void;
				public constructor();
			}
			export class UserRouteInfo extends android.media.MediaRouter.RouteInfo {
				public static class: java.lang.Class<android.media.MediaRouter.UserRouteInfo>;
				public setName(param0: string): void;
				public setPlaybackStream(param0: number): void;
				public requestUpdateVolume(param0: number): void;
				public setVolumeHandling(param0: number): void;
				public setIconResource(param0: number): void;
				public setVolumeCallback(param0: android.media.MediaRouter.VolumeCallback): void;
				public setName(param0: number): void;
				public getRemoteControlClient(): android.media.RemoteControlClient;
				public setStatus(param0: string): void;
				public setIconDrawable(param0: android.graphics.drawable.Drawable): void;
				public setPlaybackType(param0: number): void;
				public setDescription(param0: string): void;
				public setVolume(param0: number): void;
				public requestSetVolume(param0: number): void;
				public setVolumeMax(param0: number): void;
				public setRemoteControlClient(param0: android.media.RemoteControlClient): void;
			}
			export abstract class VolumeCallback extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaRouter.VolumeCallback>;
				public onVolumeUpdateRequest(param0: android.media.MediaRouter.RouteInfo, param1: number): void;
				public onVolumeSetRequest(param0: android.media.MediaRouter.RouteInfo, param1: number): void;
				public constructor();
			}
		}
	}
}

declare module android {
	export module media {
		export class MediaScannerConnection extends java.lang.Object implements android.content.ServiceConnection {
			public static class: java.lang.Class<android.media.MediaScannerConnection>;
			public constructor(param0: android.content.Context, param1: android.media.MediaScannerConnection.MediaScannerConnectionClient);
			public onBindingDied(param0: android.content.ComponentName): void;
			public scanFile(param0: string, param1: string): void;
			public isConnected(): boolean;
			public onServiceDisconnected(param0: android.content.ComponentName): void;
			public static scanFile(param0: android.content.Context, param1: native.Array<string>, param2: native.Array<string>, param3: android.media.MediaScannerConnection.OnScanCompletedListener): void;
			public connect(): void;
			public onNullBinding(param0: android.content.ComponentName): void;
			public disconnect(): void;
			public onServiceConnected(param0: android.content.ComponentName, param1: android.os.IBinder): void;
		}
		export module MediaScannerConnection {
			export class MediaScannerConnectionClient extends java.lang.Object implements android.media.MediaScannerConnection.OnScanCompletedListener {
				public static class: java.lang.Class<android.media.MediaScannerConnection.MediaScannerConnectionClient>;
				/**
				 * Constructs a new instance of the android.media.MediaScannerConnection$MediaScannerConnectionClient interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onMediaScannerConnected(): void;
					onScanCompleted(param0: string, param1: android.net.Uri): void;
					onScanCompleted(param0: string, param1: android.net.Uri): void;
				});
				public constructor();
				public onScanCompleted(param0: string, param1: android.net.Uri): void;
				public onMediaScannerConnected(): void;
			}
			export class OnScanCompletedListener extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaScannerConnection.OnScanCompletedListener>;
				/**
				 * Constructs a new instance of the android.media.MediaScannerConnection$OnScanCompletedListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onScanCompleted(param0: string, param1: android.net.Uri): void;
				});
				public constructor();
				public onScanCompleted(param0: string, param1: android.net.Uri): void;
			}
		}
	}
}

declare module android {
	export module media {
		export class MediaSync extends java.lang.Object {
			public static class: java.lang.Class<android.media.MediaSync>;
			public static MEDIASYNC_ERROR_AUDIOTRACK_FAIL: number;
			public static MEDIASYNC_ERROR_SURFACE_FAIL: number;
			public flush(): void;
			public setOnErrorListener(param0: android.media.MediaSync.OnErrorListener, param1: android.os.Handler): void;
			public createInputSurface(): android.view.Surface;
			public constructor();
			public setSurface(param0: android.view.Surface): void;
			public setAudioTrack(param0: android.media.AudioTrack): void;
			public getTimestamp(): android.media.MediaTimestamp;
			public queueAudio(param0: java.nio.ByteBuffer, param1: number, param2: number): void;
			public getSyncParams(): android.media.SyncParams;
			public setPlaybackParams(param0: android.media.PlaybackParams): void;
			public setSyncParams(param0: android.media.SyncParams): void;
			public setCallback(param0: android.media.MediaSync.Callback, param1: android.os.Handler): void;
			public getPlaybackParams(): android.media.PlaybackParams;
			public finalize(): void;
			public release(): void;
		}
		export module MediaSync {
			export abstract class Callback extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaSync.Callback>;
				public onAudioBufferConsumed(param0: android.media.MediaSync, param1: java.nio.ByteBuffer, param2: number): void;
				public constructor();
			}
			export class OnErrorListener extends java.lang.Object {
				public static class: java.lang.Class<android.media.MediaSync.OnErrorListener>;
				/**
				 * Constructs a new instance of the android.media.MediaSync$OnErrorListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onError(param0: android.media.MediaSync, param1: number, param2: number): void;
				});
				public constructor();
				public onError(param0: android.media.MediaSync, param1: number, param2: number): void;
			}
		}
	}
}

declare module android {
	export module media {
		export class MediaSyncEvent extends java.lang.Object {
			public static class: java.lang.Class<android.media.MediaSyncEvent>;
			public static SYNC_EVENT_NONE: number;
			public static SYNC_EVENT_PRESENTATION_COMPLETE: number;
			public static createEvent(param0: number): android.media.MediaSyncEvent;
			public getAudioSessionId(): number;
			public getType(): number;
			public setAudioSessionId(param0: number): android.media.MediaSyncEvent;
		}
	}
}

declare module android {
	export module media {
		export class MediaTimestamp extends java.lang.Object {
			public static class: java.lang.Class<android.media.MediaTimestamp>;
			public static TIMESTAMP_UNKNOWN: android.media.MediaTimestamp;
			public getAnchorMediaTimeUs(): number;
			public equals(param0: any): boolean;
			public toString(): string;
			public getAnchorSytemNanoTime(): number;
			public getMediaClockRate(): number;
		}
	}
}

declare module android {
	export module media {
		export class MicrophoneInfo extends java.lang.Object {
			public static class: java.lang.Class<android.media.MicrophoneInfo>;
			public static CHANNEL_MAPPING_DIRECT: number;
			public static CHANNEL_MAPPING_PROCESSED: number;
			public static DIRECTIONALITY_BI_DIRECTIONAL: number;
			public static DIRECTIONALITY_CARDIOID: number;
			public static DIRECTIONALITY_HYPER_CARDIOID: number;
			public static DIRECTIONALITY_OMNI: number;
			public static DIRECTIONALITY_SUPER_CARDIOID: number;
			public static DIRECTIONALITY_UNKNOWN: number;
			public static GROUP_UNKNOWN: number;
			public static INDEX_IN_THE_GROUP_UNKNOWN: number;
			public static LOCATION_MAINBODY: number;
			public static LOCATION_MAINBODY_MOVABLE: number;
			public static LOCATION_PERIPHERAL: number;
			public static LOCATION_UNKNOWN: number;
			public static ORIENTATION_UNKNOWN: android.media.MicrophoneInfo.Coordinate3F;
			public static POSITION_UNKNOWN: android.media.MicrophoneInfo.Coordinate3F;
			public static SENSITIVITY_UNKNOWN: number;
			public static SPL_UNKNOWN: number;
			public getType(): number;
			public getGroup(): number;
			public getPosition(): android.media.MicrophoneInfo.Coordinate3F;
			public getAddress(): string;
			public getDirectionality(): number;
			public getOrientation(): android.media.MicrophoneInfo.Coordinate3F;
			public getMaxSpl(): number;
			public getIndexInTheGroup(): number;
			public getChannelMapping(): java.util.List<android.util.Pair<java.lang.Integer,java.lang.Integer>>;
			public getLocation(): number;
			public getId(): number;
			public getMinSpl(): number;
			public getFrequencyResponse(): java.util.List<android.util.Pair<java.lang.Float,java.lang.Float>>;
			public getDescription(): string;
			public getSensitivity(): number;
		}
		export module MicrophoneInfo {
			export class Coordinate3F extends java.lang.Object {
				public static class: java.lang.Class<android.media.MicrophoneInfo.Coordinate3F>;
				public x: number;
				public y: number;
				public z: number;
				public equals(param0: any): boolean;
			}
		}
	}
}

declare module android {
	export module media {
		export class NotProvisionedException extends android.media.MediaDrmException {
			public static class: java.lang.Class<android.media.NotProvisionedException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module android {
	export module media {
		export class PlaybackParams extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.media.PlaybackParams>;
			public static AUDIO_FALLBACK_MODE_DEFAULT: number;
			public static AUDIO_FALLBACK_MODE_FAIL: number;
			public static AUDIO_FALLBACK_MODE_MUTE: number;
			public static CREATOR: android.os.Parcelable.Creator<android.media.PlaybackParams>;
			public setAudioFallbackMode(param0: number): android.media.PlaybackParams;
			public allowDefaults(): android.media.PlaybackParams;
			public getPitch(): number;
			public describeContents(): number;
			public setPitch(param0: number): android.media.PlaybackParams;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getSpeed(): number;
			public constructor();
			public getAudioFallbackMode(): number;
			public setSpeed(param0: number): android.media.PlaybackParams;
		}
	}
}

declare module android {
	export module media {
		export class Rating extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<any>;
			public static CREATOR: android.os.Parcelable.Creator<any>;
			public static RATING_3_STARS: number;
			public static RATING_4_STARS: number;
			public static RATING_5_STARS: number;
			public static RATING_HEART: number;
			public static RATING_NONE: number;
			public static RATING_PERCENTAGE: number;
			public static RATING_THUMB_UP_DOWN: number;
			public getRatingStyle(): number;
			public isRated(): boolean;
			public static newHeartRating(param0: boolean): any;
			public getStarRating(): number;
			public static newPercentageRating(param0: number): any;
			public static newUnratedRating(param0: number): any;
			public static newThumbRating(param0: boolean): any;
			public toString(): string;
			public static newStarRating(param0: number, param1: number): any;
			public isThumbUp(): boolean;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public hasHeart(): boolean;
			public getPercentRating(): number;
		}
	}
}

declare module android {
	export module media {
		export class RemoteControlClient extends java.lang.Object {
			public static class: java.lang.Class<android.media.RemoteControlClient>;
			public static FLAG_KEY_MEDIA_FAST_FORWARD: number;
			public static FLAG_KEY_MEDIA_NEXT: number;
			public static FLAG_KEY_MEDIA_PAUSE: number;
			public static FLAG_KEY_MEDIA_PLAY: number;
			public static FLAG_KEY_MEDIA_PLAY_PAUSE: number;
			public static FLAG_KEY_MEDIA_POSITION_UPDATE: number;
			public static FLAG_KEY_MEDIA_PREVIOUS: number;
			public static FLAG_KEY_MEDIA_RATING: number;
			public static FLAG_KEY_MEDIA_REWIND: number;
			public static FLAG_KEY_MEDIA_STOP: number;
			public static PLAYSTATE_BUFFERING: number;
			public static PLAYSTATE_ERROR: number;
			public static PLAYSTATE_FAST_FORWARDING: number;
			public static PLAYSTATE_PAUSED: number;
			public static PLAYSTATE_PLAYING: number;
			public static PLAYSTATE_REWINDING: number;
			public static PLAYSTATE_SKIPPING_BACKWARDS: number;
			public static PLAYSTATE_SKIPPING_FORWARDS: number;
			public static PLAYSTATE_STOPPED: number;
			public setTransportControlFlags(param0: number): void;
			public setMetadataUpdateListener(param0: android.media.RemoteControlClient.OnMetadataUpdateListener): void;
			public setPlaybackPositionUpdateListener(param0: android.media.RemoteControlClient.OnPlaybackPositionUpdateListener): void;
			public constructor(param0: android.app.PendingIntent);
			public constructor(param0: android.app.PendingIntent, param1: android.os.Looper);
			public setPlaybackState(param0: number, param1: number, param2: number): void;
			public getMediaSession(): any;
			public editMetadata(param0: boolean): android.media.RemoteControlClient.MetadataEditor;
			public setPlaybackState(param0: number): void;
			public setOnGetPlaybackPositionListener(param0: android.media.RemoteControlClient.OnGetPlaybackPositionListener): void;
		}
		export module RemoteControlClient {
			export class MetadataEditor extends android.media.MediaMetadataEditor {
				public static class: java.lang.Class<android.media.RemoteControlClient.MetadataEditor>;
				public static BITMAP_KEY_ARTWORK: number;
				public putObject(param0: number, param1: any): android.media.RemoteControlClient.MetadataEditor;
				public apply(): void;
				public putLong(param0: number, param1: number): android.media.RemoteControlClient.MetadataEditor;
				public putBitmap(param0: number, param1: android.graphics.Bitmap): android.media.MediaMetadataEditor;
				public putBitmap(param0: number, param1: android.graphics.Bitmap): android.media.RemoteControlClient.MetadataEditor;
				public putLong(param0: number, param1: number): android.media.MediaMetadataEditor;
				public clone(): any;
				public clear(): void;
				public putString(param0: number, param1: string): android.media.MediaMetadataEditor;
				public putObject(param0: number, param1: any): android.media.MediaMetadataEditor;
				public putString(param0: number, param1: string): android.media.RemoteControlClient.MetadataEditor;
			}
			export class OnGetPlaybackPositionListener extends java.lang.Object {
				public static class: java.lang.Class<android.media.RemoteControlClient.OnGetPlaybackPositionListener>;
				/**
				 * Constructs a new instance of the android.media.RemoteControlClient$OnGetPlaybackPositionListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onGetPlaybackPosition(): number;
				});
				public constructor();
				public onGetPlaybackPosition(): number;
			}
			export class OnMetadataUpdateListener extends java.lang.Object {
				public static class: java.lang.Class<android.media.RemoteControlClient.OnMetadataUpdateListener>;
				/**
				 * Constructs a new instance of the android.media.RemoteControlClient$OnMetadataUpdateListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onMetadataUpdate(param0: number, param1: any): void;
				});
				public constructor();
				public onMetadataUpdate(param0: number, param1: any): void;
			}
			export class OnPlaybackPositionUpdateListener extends java.lang.Object {
				public static class: java.lang.Class<android.media.RemoteControlClient.OnPlaybackPositionUpdateListener>;
				/**
				 * Constructs a new instance of the android.media.RemoteControlClient$OnPlaybackPositionUpdateListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onPlaybackPositionUpdate(param0: number): void;
				});
				public constructor();
				public onPlaybackPositionUpdate(param0: number): void;
			}
		}
	}
}

declare module android {
	export module media {
		export class RemoteController extends java.lang.Object {
			public static class: java.lang.Class<android.media.RemoteController>;
			public static POSITION_SYNCHRONIZATION_CHECK: number;
			public static POSITION_SYNCHRONIZATION_NONE: number;
			public sendMediaKeyEvent(param0: android.view.KeyEvent): boolean;
			public getEstimatedMediaPosition(): number;
			public setArtworkConfiguration(param0: number, param1: number): boolean;
			public constructor(param0: android.content.Context, param1: android.media.RemoteController.OnClientUpdateListener);
			public seekTo(param0: number): boolean;
			public clearArtworkConfiguration(): boolean;
			public editMetadata(): android.media.RemoteController.MetadataEditor;
			public setSynchronizationMode(param0: number): boolean;
			public constructor(param0: android.content.Context, param1: android.media.RemoteController.OnClientUpdateListener, param2: android.os.Looper);
		}
		export module RemoteController {
			export class MetadataEditor extends android.media.MediaMetadataEditor {
				public static class: java.lang.Class<android.media.RemoteController.MetadataEditor>;
				public apply(): void;
			}
			export class OnClientUpdateListener extends java.lang.Object {
				public static class: java.lang.Class<android.media.RemoteController.OnClientUpdateListener>;
				/**
				 * Constructs a new instance of the android.media.RemoteController$OnClientUpdateListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onClientChange(param0: boolean): void;
					onClientPlaybackStateUpdate(param0: number): void;
					onClientPlaybackStateUpdate(param0: number, param1: number, param2: number, param3: number): void;
					onClientTransportControlUpdate(param0: number): void;
					onClientMetadataUpdate(param0: android.media.RemoteController.MetadataEditor): void;
				});
				public constructor();
				public onClientPlaybackStateUpdate(param0: number): void;
				public onClientChange(param0: boolean): void;
				public onClientMetadataUpdate(param0: android.media.RemoteController.MetadataEditor): void;
				public onClientPlaybackStateUpdate(param0: number, param1: number, param2: number, param3: number): void;
				public onClientTransportControlUpdate(param0: number): void;
			}
		}
	}
}

declare module android {
	export module media {
		export class ResourceBusyException extends android.media.MediaDrmException {
			public static class: java.lang.Class<android.media.ResourceBusyException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module android {
	export module media {
		export class Ringtone extends java.lang.Object {
			public static class: java.lang.Class<android.media.Ringtone>;
			public setLooping(param0: boolean): void;
			public getTitle(param0: android.content.Context): string;
			public getVolume(): number;
			public setVolume(param0: number): void;
			public setAudioAttributes(param0: any): void;
			public isPlaying(): boolean;
			/** @deprecated */
			public getStreamType(): number;
			public isLooping(): boolean;
			/** @deprecated */
			public setStreamType(param0: number): void;
			public stop(): void;
			public play(): void;
			public getAudioAttributes(): any;
			public finalize(): void;
		}
	}
}

declare module android {
	export module media {
		export class RingtoneManager extends java.lang.Object {
			public static class: java.lang.Class<android.media.RingtoneManager>;
			public static ACTION_RINGTONE_PICKER: string;
			public static EXTRA_RINGTONE_DEFAULT_URI: string;
			public static EXTRA_RINGTONE_EXISTING_URI: string;
			public static EXTRA_RINGTONE_INCLUDE_DRM: string;
			public static EXTRA_RINGTONE_PICKED_URI: string;
			public static EXTRA_RINGTONE_SHOW_DEFAULT: string;
			public static EXTRA_RINGTONE_SHOW_SILENT: string;
			public static EXTRA_RINGTONE_TITLE: string;
			public static EXTRA_RINGTONE_TYPE: string;
			public static ID_COLUMN_INDEX: number;
			public static TITLE_COLUMN_INDEX: number;
			public static TYPE_ALARM: number;
			public static TYPE_ALL: number;
			public static TYPE_NOTIFICATION: number;
			public static TYPE_RINGTONE: number;
			public static URI_COLUMN_INDEX: number;
			public getRingtonePosition(param0: android.net.Uri): number;
			public inferStreamType(): number;
			public static isDefault(param0: android.net.Uri): boolean;
			public getRingtoneUri(param0: number): android.net.Uri;
			public setType(param0: number): void;
			/** @deprecated */
			public getIncludeDrm(): boolean;
			public static getRingtone(param0: android.content.Context, param1: android.net.Uri): android.media.Ringtone;
			public constructor(param0: android.app.Activity);
			/** @deprecated */
			public setIncludeDrm(param0: boolean): void;
			public getRingtone(param0: number): android.media.Ringtone;
			public stopPreviousRingtone(): void;
			public getCursor(): android.database.Cursor;
			public constructor(param0: android.content.Context);
			public setStopPreviousRingtone(param0: boolean): void;
			public getStopPreviousRingtone(): boolean;
			public static getDefaultType(param0: android.net.Uri): number;
			public static getDefaultUri(param0: number): android.net.Uri;
			public static setActualDefaultRingtoneUri(param0: android.content.Context, param1: number, param2: android.net.Uri): void;
			public static getActualDefaultRingtoneUri(param0: android.content.Context, param1: number): android.net.Uri;
			public static getValidRingtoneUri(param0: android.content.Context): android.net.Uri;
		}
	}
}

declare module android {
	export module media {
		export class SoundPool extends java.lang.Object {
			public static class: java.lang.Class<android.media.SoundPool>;
			public play(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number): number;
			public setVolume(param0: number, param1: number, param2: number): void;
			public setRate(param0: number, param1: number): void;
			public load(param0: android.content.res.AssetFileDescriptor, param1: number): number;
			public unload(param0: number): boolean;
			public stop(param0: number): void;
			public setPriority(param0: number, param1: number): void;
			public load(param0: string, param1: number): number;
			public autoPause(): void;
			/** @deprecated */
			public constructor(param0: number, param1: number, param2: number);
			public load(param0: java.io.FileDescriptor, param1: number, param2: number, param3: number): number;
			public resume(param0: number): void;
			public pause(param0: number): void;
			public setLoop(param0: number, param1: number): void;
			public autoResume(): void;
			public load(param0: android.content.Context, param1: number, param2: number): number;
			public setOnLoadCompleteListener(param0: android.media.SoundPool.OnLoadCompleteListener): void;
			public release(): void;
			public finalize(): void;
		}
		export module SoundPool {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.media.SoundPool.Builder>;
				public setAudioAttributes(param0: any): android.media.SoundPool.Builder;
				public setMaxStreams(param0: number): android.media.SoundPool.Builder;
				public build(): android.media.SoundPool;
				public constructor();
			}
			export class OnLoadCompleteListener extends java.lang.Object {
				public static class: java.lang.Class<android.media.SoundPool.OnLoadCompleteListener>;
				/**
				 * Constructs a new instance of the android.media.SoundPool$OnLoadCompleteListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onLoadComplete(param0: android.media.SoundPool, param1: number, param2: number): void;
				});
				public constructor();
				public onLoadComplete(param0: android.media.SoundPool, param1: number, param2: number): void;
			}
		}
	}
}

declare module android {
	export module media {
		export class SubtitleData extends java.lang.Object {
			public static class: java.lang.Class<android.media.SubtitleData>;
			public getData(): native.Array<number>;
			public getTrackIndex(): number;
			public getStartTimeUs(): number;
			public getDurationUs(): number;
		}
	}
}

declare module android {
	export module media {
		export class SyncParams extends java.lang.Object {
			public static class: java.lang.Class<android.media.SyncParams>;
			public static AUDIO_ADJUST_MODE_DEFAULT: number;
			public static AUDIO_ADJUST_MODE_RESAMPLE: number;
			public static AUDIO_ADJUST_MODE_STRETCH: number;
			public static SYNC_SOURCE_AUDIO: number;
			public static SYNC_SOURCE_DEFAULT: number;
			public static SYNC_SOURCE_SYSTEM_CLOCK: number;
			public static SYNC_SOURCE_VSYNC: number;
			public allowDefaults(): android.media.SyncParams;
			public getSyncSource(): number;
			public getAudioAdjustMode(): number;
			public getTolerance(): number;
			public setTolerance(param0: number): android.media.SyncParams;
			public getFrameRate(): number;
			public constructor();
			public setAudioAdjustMode(param0: number): android.media.SyncParams;
			public setSyncSource(param0: number): android.media.SyncParams;
			public setFrameRate(param0: number): android.media.SyncParams;
		}
	}
}

declare module android {
	export module media {
		export class ThumbnailUtils extends java.lang.Object {
			public static class: java.lang.Class<android.media.ThumbnailUtils>;
			public static OPTIONS_RECYCLE_INPUT: number;
			public static createVideoThumbnail(param0: string, param1: number): android.graphics.Bitmap;
			public static extractThumbnail(param0: android.graphics.Bitmap, param1: number, param2: number, param3: number): android.graphics.Bitmap;
			public static extractThumbnail(param0: android.graphics.Bitmap, param1: number, param2: number): android.graphics.Bitmap;
			public constructor();
		}
	}
}

declare module android {
	export module media {
		export class TimedMetaData extends java.lang.Object {
			public static class: java.lang.Class<android.media.TimedMetaData>;
			public getTimestamp(): number;
			public getMetaData(): native.Array<number>;
		}
	}
}

declare module android {
	export module media {
		export class TimedText extends java.lang.Object {
			public static class: java.lang.Class<android.media.TimedText>;
			public getText(): string;
			public getBounds(): android.graphics.Rect;
		}
	}
}

declare module android {
	export module media {
		export class ToneGenerator extends java.lang.Object {
			public static class: java.lang.Class<android.media.ToneGenerator>;
			public static MAX_VOLUME: number;
			public static MIN_VOLUME: number;
			public static TONE_CDMA_ABBR_ALERT: number;
			public static TONE_CDMA_ABBR_INTERCEPT: number;
			public static TONE_CDMA_ABBR_REORDER: number;
			public static TONE_CDMA_ALERT_AUTOREDIAL_LITE: number;
			public static TONE_CDMA_ALERT_CALL_GUARD: number;
			public static TONE_CDMA_ALERT_INCALL_LITE: number;
			public static TONE_CDMA_ALERT_NETWORK_LITE: number;
			public static TONE_CDMA_ANSWER: number;
			public static TONE_CDMA_CALLDROP_LITE: number;
			public static TONE_CDMA_CALL_SIGNAL_ISDN_INTERGROUP: number;
			public static TONE_CDMA_CALL_SIGNAL_ISDN_NORMAL: number;
			public static TONE_CDMA_CALL_SIGNAL_ISDN_PAT3: number;
			public static TONE_CDMA_CALL_SIGNAL_ISDN_PAT5: number;
			public static TONE_CDMA_CALL_SIGNAL_ISDN_PAT6: number;
			public static TONE_CDMA_CALL_SIGNAL_ISDN_PAT7: number;
			public static TONE_CDMA_CALL_SIGNAL_ISDN_PING_RING: number;
			public static TONE_CDMA_CALL_SIGNAL_ISDN_SP_PRI: number;
			public static TONE_CDMA_CONFIRM: number;
			public static TONE_CDMA_DIAL_TONE_LITE: number;
			public static TONE_CDMA_EMERGENCY_RINGBACK: number;
			public static TONE_CDMA_HIGH_L: number;
			public static TONE_CDMA_HIGH_PBX_L: number;
			public static TONE_CDMA_HIGH_PBX_SLS: number;
			public static TONE_CDMA_HIGH_PBX_SS: number;
			public static TONE_CDMA_HIGH_PBX_SSL: number;
			public static TONE_CDMA_HIGH_PBX_S_X4: number;
			public static TONE_CDMA_HIGH_SLS: number;
			public static TONE_CDMA_HIGH_SS: number;
			public static TONE_CDMA_HIGH_SSL: number;
			public static TONE_CDMA_HIGH_SS_2: number;
			public static TONE_CDMA_HIGH_S_X4: number;
			public static TONE_CDMA_INTERCEPT: number;
			public static TONE_CDMA_KEYPAD_VOLUME_KEY_LITE: number;
			public static TONE_CDMA_LOW_L: number;
			public static TONE_CDMA_LOW_PBX_L: number;
			public static TONE_CDMA_LOW_PBX_SLS: number;
			public static TONE_CDMA_LOW_PBX_SS: number;
			public static TONE_CDMA_LOW_PBX_SSL: number;
			public static TONE_CDMA_LOW_PBX_S_X4: number;
			public static TONE_CDMA_LOW_SLS: number;
			public static TONE_CDMA_LOW_SS: number;
			public static TONE_CDMA_LOW_SSL: number;
			public static TONE_CDMA_LOW_SS_2: number;
			public static TONE_CDMA_LOW_S_X4: number;
			public static TONE_CDMA_MED_L: number;
			public static TONE_CDMA_MED_PBX_L: number;
			public static TONE_CDMA_MED_PBX_SLS: number;
			public static TONE_CDMA_MED_PBX_SS: number;
			public static TONE_CDMA_MED_PBX_SSL: number;
			public static TONE_CDMA_MED_PBX_S_X4: number;
			public static TONE_CDMA_MED_SLS: number;
			public static TONE_CDMA_MED_SS: number;
			public static TONE_CDMA_MED_SSL: number;
			public static TONE_CDMA_MED_SS_2: number;
			public static TONE_CDMA_MED_S_X4: number;
			public static TONE_CDMA_NETWORK_BUSY: number;
			public static TONE_CDMA_NETWORK_BUSY_ONE_SHOT: number;
			public static TONE_CDMA_NETWORK_CALLWAITING: number;
			public static TONE_CDMA_NETWORK_USA_RINGBACK: number;
			public static TONE_CDMA_ONE_MIN_BEEP: number;
			public static TONE_CDMA_PIP: number;
			public static TONE_CDMA_PRESSHOLDKEY_LITE: number;
			public static TONE_CDMA_REORDER: number;
			public static TONE_CDMA_SIGNAL_OFF: number;
			public static TONE_CDMA_SOFT_ERROR_LITE: number;
			public static TONE_DTMF_0: number;
			public static TONE_DTMF_1: number;
			public static TONE_DTMF_2: number;
			public static TONE_DTMF_3: number;
			public static TONE_DTMF_4: number;
			public static TONE_DTMF_5: number;
			public static TONE_DTMF_6: number;
			public static TONE_DTMF_7: number;
			public static TONE_DTMF_8: number;
			public static TONE_DTMF_9: number;
			public static TONE_DTMF_A: number;
			public static TONE_DTMF_B: number;
			public static TONE_DTMF_C: number;
			public static TONE_DTMF_D: number;
			public static TONE_DTMF_P: number;
			public static TONE_DTMF_S: number;
			public static TONE_PROP_ACK: number;
			public static TONE_PROP_BEEP: number;
			public static TONE_PROP_BEEP2: number;
			public static TONE_PROP_NACK: number;
			public static TONE_PROP_PROMPT: number;
			public static TONE_SUP_BUSY: number;
			public static TONE_SUP_CALL_WAITING: number;
			public static TONE_SUP_CONFIRM: number;
			public static TONE_SUP_CONGESTION: number;
			public static TONE_SUP_CONGESTION_ABBREV: number;
			public static TONE_SUP_DIAL: number;
			public static TONE_SUP_ERROR: number;
			public static TONE_SUP_INTERCEPT: number;
			public static TONE_SUP_INTERCEPT_ABBREV: number;
			public static TONE_SUP_PIP: number;
			public static TONE_SUP_RADIO_ACK: number;
			public static TONE_SUP_RADIO_NOTAVAIL: number;
			public static TONE_SUP_RINGTONE: number;
			public getAudioSessionId(): number;
			public startTone(param0: number): boolean;
			public startTone(param0: number, param1: number): boolean;
			public stopTone(): void;
			public constructor(param0: number, param1: number);
			public release(): void;
			public finalize(): void;
		}
	}
}

declare module android {
	export module media {
		export class UnsupportedSchemeException extends android.media.MediaDrmException {
			public static class: java.lang.Class<android.media.UnsupportedSchemeException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module android {
	export module media {
		export class VolumeAutomation extends java.lang.Object {
			public static class: java.lang.Class<android.media.VolumeAutomation>;
			/**
			 * Constructs a new instance of the android.media.VolumeAutomation interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				createVolumeShaper(param0: android.media.VolumeShaper.Configuration): android.media.VolumeShaper;
			});
			public constructor();
			public createVolumeShaper(param0: android.media.VolumeShaper.Configuration): android.media.VolumeShaper;
		}
	}
}

declare module android {
	export module media {
		export abstract class VolumeProvider extends java.lang.Object {
			public static class: java.lang.Class<android.media.VolumeProvider>;
			public static VOLUME_CONTROL_ABSOLUTE: number;
			public static VOLUME_CONTROL_FIXED: number;
			public static VOLUME_CONTROL_RELATIVE: number;
			public constructor(param0: number, param1: number, param2: number);
			public onSetVolumeTo(param0: number): void;
			public setCurrentVolume(param0: number): void;
			public getVolumeControl(): number;
			public onAdjustVolume(param0: number): void;
			public getMaxVolume(): number;
			public getCurrentVolume(): number;
		}
	}
}

declare module android {
	export module media {
		export class VolumeShaper extends java.lang.Object implements java.lang.AutoCloseable {
			public static class: java.lang.Class<android.media.VolumeShaper>;
			public replace(param0: android.media.VolumeShaper.Configuration, param1: android.media.VolumeShaper.Operation, param2: boolean): void;
			public getVolume(): number;
			public close(): void;
			public apply(param0: android.media.VolumeShaper.Operation): void;
			public finalize(): void;
		}
		export module VolumeShaper {
			export class Configuration extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.media.VolumeShaper.Configuration>;
				public static CREATOR: android.os.Parcelable.Creator<android.media.VolumeShaper.Configuration>;
				public static CUBIC_RAMP: android.media.VolumeShaper.Configuration;
				public static INTERPOLATOR_TYPE_CUBIC: number;
				public static INTERPOLATOR_TYPE_CUBIC_MONOTONIC: number;
				public static INTERPOLATOR_TYPE_LINEAR: number;
				public static INTERPOLATOR_TYPE_STEP: number;
				public static LINEAR_RAMP: android.media.VolumeShaper.Configuration;
				public static SCURVE_RAMP: android.media.VolumeShaper.Configuration;
				public static SINE_RAMP: android.media.VolumeShaper.Configuration;
				public getInterpolatorType(): number;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getDuration(): number;
				public equals(param0: any): boolean;
				public describeContents(): number;
				public static getMaximumCurvePoints(): number;
				public toString(): string;
				public getTimes(): native.Array<number>;
				public getVolumes(): native.Array<number>;
			}
			export module Configuration {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.media.VolumeShaper.Configuration.Builder>;
					public invertVolumes(): android.media.VolumeShaper.Configuration.Builder;
					public build(): android.media.VolumeShaper.Configuration;
					public setDuration(param0: number): android.media.VolumeShaper.Configuration.Builder;
					public constructor();
					public constructor(param0: android.media.VolumeShaper.Configuration);
					public setCurve(param0: native.Array<number>, param1: native.Array<number>): android.media.VolumeShaper.Configuration.Builder;
					public scaleToStartVolume(param0: number): android.media.VolumeShaper.Configuration.Builder;
					public setInterpolatorType(param0: number): android.media.VolumeShaper.Configuration.Builder;
					public reflectTimes(): android.media.VolumeShaper.Configuration.Builder;
					public scaleToEndVolume(param0: number): android.media.VolumeShaper.Configuration.Builder;
				}
			}
			export class Operation extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.media.VolumeShaper.Operation>;
				public static CREATOR: android.os.Parcelable.Creator<android.media.VolumeShaper.Operation>;
				public static PLAY: android.media.VolumeShaper.Operation;
				public static REVERSE: android.media.VolumeShaper.Operation;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public equals(param0: any): boolean;
				public describeContents(): number;
				public toString(): string;
			}
		}
	}
}

declare module android {
	export module media {
		export module audiofx {
			export class AcousticEchoCanceler extends android.media.audiofx.AudioEffect {
				public static class: java.lang.Class<android.media.audiofx.AcousticEchoCanceler>;
				public static create(param0: number): android.media.audiofx.AcousticEchoCanceler;
				public static isAvailable(): boolean;
			}
		}
	}
}

declare module android {
	export module media {
		export module audiofx {
			export class AudioEffect extends java.lang.Object {
				public static class: java.lang.Class<android.media.audiofx.AudioEffect>;
				public static ACTION_CLOSE_AUDIO_EFFECT_CONTROL_SESSION: string;
				public static ACTION_DISPLAY_AUDIO_EFFECT_CONTROL_PANEL: string;
				public static ACTION_OPEN_AUDIO_EFFECT_CONTROL_SESSION: string;
				public static ALREADY_EXISTS: number;
				public static CONTENT_TYPE_GAME: number;
				public static CONTENT_TYPE_MOVIE: number;
				public static CONTENT_TYPE_MUSIC: number;
				public static CONTENT_TYPE_VOICE: number;
				public static EFFECT_AUXILIARY: string;
				public static EFFECT_INSERT: string;
				public static EFFECT_TYPE_AEC: java.util.UUID;
				public static EFFECT_TYPE_AGC: java.util.UUID;
				public static EFFECT_TYPE_BASS_BOOST: java.util.UUID;
				public static EFFECT_TYPE_DYNAMICS_PROCESSING: java.util.UUID;
				public static EFFECT_TYPE_ENV_REVERB: java.util.UUID;
				public static EFFECT_TYPE_EQUALIZER: java.util.UUID;
				public static EFFECT_TYPE_LOUDNESS_ENHANCER: java.util.UUID;
				public static EFFECT_TYPE_NS: java.util.UUID;
				public static EFFECT_TYPE_PRESET_REVERB: java.util.UUID;
				public static EFFECT_TYPE_VIRTUALIZER: java.util.UUID;
				public static ERROR: number;
				public static ERROR_BAD_VALUE: number;
				public static ERROR_DEAD_OBJECT: number;
				public static ERROR_INVALID_OPERATION: number;
				public static ERROR_NO_INIT: number;
				public static ERROR_NO_MEMORY: number;
				public static EXTRA_AUDIO_SESSION: string;
				public static EXTRA_CONTENT_TYPE: string;
				public static EXTRA_PACKAGE_NAME: string;
				public static SUCCESS: number;
				public static queryEffects(): native.Array<android.media.audiofx.AudioEffect.Descriptor>;
				public release(): void;
				public hasControl(): boolean;
				public getId(): number;
				public getEnabled(): boolean;
				public setControlStatusListener(param0: android.media.audiofx.AudioEffect.OnControlStatusChangeListener): void;
				public finalize(): void;
				public setEnableStatusListener(param0: android.media.audiofx.AudioEffect.OnEnableStatusChangeListener): void;
				public getDescriptor(): android.media.audiofx.AudioEffect.Descriptor;
				public setEnabled(param0: boolean): number;
			}
			export module AudioEffect {
				export class Descriptor extends java.lang.Object {
					public static class: java.lang.Class<android.media.audiofx.AudioEffect.Descriptor>;
					public connectMode: string;
					public implementor: string;
					public name: string;
					public type: java.util.UUID;
					public uuid: java.util.UUID;
					public constructor(param0: string, param1: string, param2: string, param3: string, param4: string);
					public constructor();
				}
				export class OnControlStatusChangeListener extends java.lang.Object {
					public static class: java.lang.Class<android.media.audiofx.AudioEffect.OnControlStatusChangeListener>;
					/**
					 * Constructs a new instance of the android.media.audiofx.AudioEffect$OnControlStatusChangeListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						onControlStatusChange(param0: android.media.audiofx.AudioEffect, param1: boolean): void;
					});
					public constructor();
					public onControlStatusChange(param0: android.media.audiofx.AudioEffect, param1: boolean): void;
				}
				export class OnEnableStatusChangeListener extends java.lang.Object {
					public static class: java.lang.Class<android.media.audiofx.AudioEffect.OnEnableStatusChangeListener>;
					/**
					 * Constructs a new instance of the android.media.audiofx.AudioEffect$OnEnableStatusChangeListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						onEnableStatusChange(param0: android.media.audiofx.AudioEffect, param1: boolean): void;
					});
					public constructor();
					public onEnableStatusChange(param0: android.media.audiofx.AudioEffect, param1: boolean): void;
				}
			}
		}
	}
}

declare module android {
	export module media {
		export module audiofx {
			export class AutomaticGainControl extends android.media.audiofx.AudioEffect {
				public static class: java.lang.Class<android.media.audiofx.AutomaticGainControl>;
				public static isAvailable(): boolean;
				public static create(param0: number): android.media.audiofx.AutomaticGainControl;
			}
		}
	}
}

declare module android {
	export module media {
		export module audiofx {
			export class BassBoost extends android.media.audiofx.AudioEffect {
				public static class: java.lang.Class<android.media.audiofx.BassBoost>;
				public static PARAM_STRENGTH: number;
				public static PARAM_STRENGTH_SUPPORTED: number;
				public constructor(param0: number, param1: number);
				public setProperties(param0: android.media.audiofx.BassBoost.Settings): void;
				public getProperties(): android.media.audiofx.BassBoost.Settings;
				public getRoundedStrength(): number;
				public setStrength(param0: number): void;
				public setParameterListener(param0: android.media.audiofx.BassBoost.OnParameterChangeListener): void;
				public getStrengthSupported(): boolean;
			}
			export module BassBoost {
				export class OnParameterChangeListener extends java.lang.Object {
					public static class: java.lang.Class<android.media.audiofx.BassBoost.OnParameterChangeListener>;
					/**
					 * Constructs a new instance of the android.media.audiofx.BassBoost$OnParameterChangeListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						onParameterChange(param0: android.media.audiofx.BassBoost, param1: number, param2: number, param3: number): void;
					});
					public constructor();
					public onParameterChange(param0: android.media.audiofx.BassBoost, param1: number, param2: number, param3: number): void;
				}
				export class Settings extends java.lang.Object {
					public static class: java.lang.Class<android.media.audiofx.BassBoost.Settings>;
					public strength: number;
					public toString(): string;
					public constructor(param0: string);
					public constructor();
				}
			}
		}
	}
}

declare module android {
	export module media {
		export module audiofx {
			export class DynamicsProcessing extends android.media.audiofx.AudioEffect {
				public static class: java.lang.Class<android.media.audiofx.DynamicsProcessing>;
				public static VARIANT_FAVOR_FREQUENCY_RESOLUTION: number;
				public static VARIANT_FAVOR_TIME_RESOLUTION: number;
				public getMbcByChannelIndex(param0: number): android.media.audiofx.DynamicsProcessing.Mbc;
				public setMbcAllChannelsTo(param0: android.media.audiofx.DynamicsProcessing.Mbc): void;
				public getChannelByChannelIndex(param0: number): android.media.audiofx.DynamicsProcessing.Channel;
				public setAllChannelsTo(param0: android.media.audiofx.DynamicsProcessing.Channel): void;
				public setInputGainbyChannel(param0: number, param1: number): void;
				public getMbcBandByChannelIndex(param0: number, param1: number): android.media.audiofx.DynamicsProcessing.MbcBand;
				public setPostEqBandByChannelIndex(param0: number, param1: number, param2: android.media.audiofx.DynamicsProcessing.EqBand): void;
				public setInputGainAllChannelsTo(param0: number): void;
				public constructor(param0: number, param1: number, param2: android.media.audiofx.DynamicsProcessing.Config);
				public setPreEqBandByChannelIndex(param0: number, param1: number, param2: android.media.audiofx.DynamicsProcessing.EqBand): void;
				public getPostEqBandByChannelIndex(param0: number, param1: number): android.media.audiofx.DynamicsProcessing.EqBand;
				public setLimiterByChannelIndex(param0: number, param1: android.media.audiofx.DynamicsProcessing.Limiter): void;
				public getPreEqByChannelIndex(param0: number): android.media.audiofx.DynamicsProcessing.Eq;
				public getConfig(): android.media.audiofx.DynamicsProcessing.Config;
				public setPostEqByChannelIndex(param0: number, param1: android.media.audiofx.DynamicsProcessing.Eq): void;
				public setLimiterAllChannelsTo(param0: android.media.audiofx.DynamicsProcessing.Limiter): void;
				public getInputGainByChannelIndex(param0: number): number;
				public setPreEqAllChannelsTo(param0: android.media.audiofx.DynamicsProcessing.Eq): void;
				public getLimiterByChannelIndex(param0: number): android.media.audiofx.DynamicsProcessing.Limiter;
				public setMbcBandByChannelIndex(param0: number, param1: number, param2: android.media.audiofx.DynamicsProcessing.MbcBand): void;
				public getChannelCount(): number;
				public getPreEqBandByChannelIndex(param0: number, param1: number): android.media.audiofx.DynamicsProcessing.EqBand;
				public setPostEqBandAllChannelsTo(param0: number, param1: android.media.audiofx.DynamicsProcessing.EqBand): void;
				public setMbcByChannelIndex(param0: number, param1: android.media.audiofx.DynamicsProcessing.Mbc): void;
				public getPostEqByChannelIndex(param0: number): android.media.audiofx.DynamicsProcessing.Eq;
				public constructor(param0: number);
				public setPostEqAllChannelsTo(param0: android.media.audiofx.DynamicsProcessing.Eq): void;
				public setPreEqByChannelIndex(param0: number, param1: android.media.audiofx.DynamicsProcessing.Eq): void;
				public setMbcBandAllChannelsTo(param0: number, param1: android.media.audiofx.DynamicsProcessing.MbcBand): void;
				public setPreEqBandAllChannelsTo(param0: number, param1: android.media.audiofx.DynamicsProcessing.EqBand): void;
				public setChannelTo(param0: number, param1: android.media.audiofx.DynamicsProcessing.Channel): void;
			}
			export module DynamicsProcessing {
				export class BandBase extends java.lang.Object {
					public static class: java.lang.Class<android.media.audiofx.DynamicsProcessing.BandBase>;
					public setEnabled(param0: boolean): void;
					public toString(): string;
					public constructor(param0: boolean, param1: number);
					public setCutoffFrequency(param0: number): void;
					public isEnabled(): boolean;
					public getCutoffFrequency(): number;
				}
				export class BandStage extends android.media.audiofx.DynamicsProcessing.Stage {
					public static class: java.lang.Class<android.media.audiofx.DynamicsProcessing.BandStage>;
					public constructor(param0: boolean, param1: boolean);
					public toString(): string;
					public constructor(param0: boolean, param1: boolean, param2: number);
					public getBandCount(): number;
				}
				export class Channel extends java.lang.Object {
					public static class: java.lang.Class<android.media.audiofx.DynamicsProcessing.Channel>;
					public constructor(param0: number, param1: boolean, param2: number, param3: boolean, param4: number, param5: boolean, param6: number, param7: boolean);
					public getPreEq(): android.media.audiofx.DynamicsProcessing.Eq;
					public getMbc(): android.media.audiofx.DynamicsProcessing.Mbc;
					public getLimiter(): android.media.audiofx.DynamicsProcessing.Limiter;
					public getInputGain(): number;
					public constructor(param0: android.media.audiofx.DynamicsProcessing.Channel);
					public setPreEqBand(param0: number, param1: android.media.audiofx.DynamicsProcessing.EqBand): void;
					public setInputGain(param0: number): void;
					public setPostEqBand(param0: number, param1: android.media.audiofx.DynamicsProcessing.EqBand): void;
					public setPostEq(param0: android.media.audiofx.DynamicsProcessing.Eq): void;
					public setMbc(param0: android.media.audiofx.DynamicsProcessing.Mbc): void;
					public toString(): string;
					public getPostEqBand(param0: number): android.media.audiofx.DynamicsProcessing.EqBand;
					public getPostEq(): android.media.audiofx.DynamicsProcessing.Eq;
					public setMbcBand(param0: number, param1: android.media.audiofx.DynamicsProcessing.MbcBand): void;
					public setLimiter(param0: android.media.audiofx.DynamicsProcessing.Limiter): void;
					public setPreEq(param0: android.media.audiofx.DynamicsProcessing.Eq): void;
					public getMbcBand(param0: number): android.media.audiofx.DynamicsProcessing.MbcBand;
					public getPreEqBand(param0: number): android.media.audiofx.DynamicsProcessing.EqBand;
				}
				export class Config extends java.lang.Object {
					public static class: java.lang.Class<android.media.audiofx.DynamicsProcessing.Config>;
					public setMbcAllChannelsTo(param0: android.media.audiofx.DynamicsProcessing.Mbc): void;
					public setAllChannelsTo(param0: android.media.audiofx.DynamicsProcessing.Channel): void;
					public getPreferredFrameDuration(): number;
					public setLimiterByChannelIndex(param0: number, param1: android.media.audiofx.DynamicsProcessing.Limiter): void;
					public setPreEqBandAllChannelsTo(param0: number, param1: android.media.audiofx.DynamicsProcessing.EqBand): void;
					public setPostEqBandAllChannelsTo(param0: number, param1: android.media.audiofx.DynamicsProcessing.EqBand): void;
					public setPreEqBandByChannelIndex(param0: number, param1: number, param2: android.media.audiofx.DynamicsProcessing.EqBand): void;
					public setPostEqByChannelIndex(param0: number, param1: android.media.audiofx.DynamicsProcessing.Eq): void;
					public setPostEqBandByChannelIndex(param0: number, param1: number, param2: android.media.audiofx.DynamicsProcessing.EqBand): void;
					public getMbcBandByChannelIndex(param0: number, param1: number): android.media.audiofx.DynamicsProcessing.MbcBand;
					public isMbcInUse(): boolean;
					public toString(): string;
					public isPostEqInUse(): boolean;
					public setInputGainByChannelIndex(param0: number, param1: number): void;
					public getLimiterByChannelIndex(param0: number): android.media.audiofx.DynamicsProcessing.Limiter;
					public setMbcBandAllChannelsTo(param0: number, param1: android.media.audiofx.DynamicsProcessing.MbcBand): void;
					public isPreEqInUse(): boolean;
					public setPreEqAllChannelsTo(param0: android.media.audiofx.DynamicsProcessing.Eq): void;
					public setPreEqByChannelIndex(param0: number, param1: android.media.audiofx.DynamicsProcessing.Eq): void;
					public getInputGainByChannelIndex(param0: number): number;
					public isLimiterInUse(): boolean;
					public setMbcBandByChannelIndex(param0: number, param1: number, param2: android.media.audiofx.DynamicsProcessing.MbcBand): void;
					public getPreEqBandCount(): number;
					public getPreEqBandByChannelIndex(param0: number, param1: number): android.media.audiofx.DynamicsProcessing.EqBand;
					public setInputGainAllChannelsTo(param0: number): void;
					public setPostEqAllChannelsTo(param0: android.media.audiofx.DynamicsProcessing.Eq): void;
					public setChannelTo(param0: number, param1: android.media.audiofx.DynamicsProcessing.Channel): void;
					public getPreEqByChannelIndex(param0: number): android.media.audiofx.DynamicsProcessing.Eq;
					public getChannelByChannelIndex(param0: number): android.media.audiofx.DynamicsProcessing.Channel;
					public getVariant(): number;
					public getMbcByChannelIndex(param0: number): android.media.audiofx.DynamicsProcessing.Mbc;
					public getPostEqBandCount(): number;
					public getPostEqBandByChannelIndex(param0: number, param1: number): android.media.audiofx.DynamicsProcessing.EqBand;
					public getMbcBandCount(): number;
					public getPostEqByChannelIndex(param0: number): android.media.audiofx.DynamicsProcessing.Eq;
					public setLimiterAllChannelsTo(param0: android.media.audiofx.DynamicsProcessing.Limiter): void;
					public setMbcByChannelIndex(param0: number, param1: android.media.audiofx.DynamicsProcessing.Mbc): void;
				}
				export module Config {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.media.audiofx.DynamicsProcessing.Config.Builder>;
						public setLimiterAllChannelsTo(param0: android.media.audiofx.DynamicsProcessing.Limiter): android.media.audiofx.DynamicsProcessing.Config.Builder;
						public setPreEqByChannelIndex(param0: number, param1: android.media.audiofx.DynamicsProcessing.Eq): android.media.audiofx.DynamicsProcessing.Config.Builder;
						public setPostEqByChannelIndex(param0: number, param1: android.media.audiofx.DynamicsProcessing.Eq): android.media.audiofx.DynamicsProcessing.Config.Builder;
						public setPostEqAllChannelsTo(param0: android.media.audiofx.DynamicsProcessing.Eq): android.media.audiofx.DynamicsProcessing.Config.Builder;
						public setMbcByChannelIndex(param0: number, param1: android.media.audiofx.DynamicsProcessing.Mbc): android.media.audiofx.DynamicsProcessing.Config.Builder;
						public setAllChannelsTo(param0: android.media.audiofx.DynamicsProcessing.Channel): android.media.audiofx.DynamicsProcessing.Config.Builder;
						public setPreferredFrameDuration(param0: number): android.media.audiofx.DynamicsProcessing.Config.Builder;
						public setInputGainAllChannelsTo(param0: number): android.media.audiofx.DynamicsProcessing.Config.Builder;
						public setChannelTo(param0: number, param1: android.media.audiofx.DynamicsProcessing.Channel): android.media.audiofx.DynamicsProcessing.Config.Builder;
						public setMbcAllChannelsTo(param0: android.media.audiofx.DynamicsProcessing.Mbc): android.media.audiofx.DynamicsProcessing.Config.Builder;
						public setLimiterByChannelIndex(param0: number, param1: android.media.audiofx.DynamicsProcessing.Limiter): android.media.audiofx.DynamicsProcessing.Config.Builder;
						public setInputGainByChannelIndex(param0: number, param1: number): android.media.audiofx.DynamicsProcessing.Config.Builder;
						public constructor(param0: number, param1: number, param2: boolean, param3: number, param4: boolean, param5: number, param6: boolean, param7: number, param8: boolean);
						public build(): android.media.audiofx.DynamicsProcessing.Config;
						public setPreEqAllChannelsTo(param0: android.media.audiofx.DynamicsProcessing.Eq): android.media.audiofx.DynamicsProcessing.Config.Builder;
					}
				}
				export class Eq extends android.media.audiofx.DynamicsProcessing.BandStage {
					public static class: java.lang.Class<android.media.audiofx.DynamicsProcessing.Eq>;
					public constructor(param0: boolean, param1: boolean);
					public setBand(param0: number, param1: android.media.audiofx.DynamicsProcessing.EqBand): void;
					public toString(): string;
					public constructor(param0: android.media.audiofx.DynamicsProcessing.Eq);
					public constructor(param0: boolean, param1: boolean, param2: number);
					public getBand(param0: number): android.media.audiofx.DynamicsProcessing.EqBand;
				}
				export class EqBand extends android.media.audiofx.DynamicsProcessing.BandBase {
					public static class: java.lang.Class<android.media.audiofx.DynamicsProcessing.EqBand>;
					public getGain(): number;
					public constructor(param0: boolean, param1: number, param2: number);
					public toString(): string;
					public constructor(param0: boolean, param1: number);
					public setGain(param0: number): void;
					public constructor(param0: android.media.audiofx.DynamicsProcessing.EqBand);
				}
				export class Limiter extends android.media.audiofx.DynamicsProcessing.Stage {
					public static class: java.lang.Class<android.media.audiofx.DynamicsProcessing.Limiter>;
					public constructor(param0: boolean, param1: boolean);
					public constructor(param0: android.media.audiofx.DynamicsProcessing.Limiter);
					public setLinkGroup(param0: number): void;
					public setReleaseTime(param0: number): void;
					public setThreshold(param0: number): void;
					public getReleaseTime(): number;
					public setAttackTime(param0: number): void;
					public getRatio(): number;
					public setRatio(param0: number): void;
					public getThreshold(): number;
					public toString(): string;
					public constructor(param0: boolean, param1: boolean, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number);
					public setPostGain(param0: number): void;
					public getLinkGroup(): number;
					public getPostGain(): number;
					public getAttackTime(): number;
				}
				export class Mbc extends android.media.audiofx.DynamicsProcessing.BandStage {
					public static class: java.lang.Class<android.media.audiofx.DynamicsProcessing.Mbc>;
					public constructor(param0: boolean, param1: boolean);
					public toString(): string;
					public setBand(param0: number, param1: android.media.audiofx.DynamicsProcessing.MbcBand): void;
					public constructor(param0: android.media.audiofx.DynamicsProcessing.Mbc);
					public getBand(param0: number): android.media.audiofx.DynamicsProcessing.MbcBand;
					public constructor(param0: boolean, param1: boolean, param2: number);
				}
				export class MbcBand extends android.media.audiofx.DynamicsProcessing.BandBase {
					public static class: java.lang.Class<android.media.audiofx.DynamicsProcessing.MbcBand>;
					public getPreGain(): number;
					public constructor(param0: boolean, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number, param8: number, param9: number, param10: number);
					public setPreGain(param0: number): void;
					public setExpanderRatio(param0: number): void;
					public getExpanderRatio(): number;
					public setReleaseTime(param0: number): void;
					public setThreshold(param0: number): void;
					public constructor(param0: android.media.audiofx.DynamicsProcessing.MbcBand);
					public getReleaseTime(): number;
					public getKneeWidth(): number;
					public setAttackTime(param0: number): void;
					public getRatio(): number;
					public setRatio(param0: number): void;
					public getThreshold(): number;
					public toString(): string;
					public setNoiseGateThreshold(param0: number): void;
					public constructor(param0: boolean, param1: number);
					public setKneeWidth(param0: number): void;
					public setPostGain(param0: number): void;
					public getNoiseGateThreshold(): number;
					public getPostGain(): number;
					public getAttackTime(): number;
				}
				export class Stage extends java.lang.Object {
					public static class: java.lang.Class<android.media.audiofx.DynamicsProcessing.Stage>;
					public setEnabled(param0: boolean): void;
					public constructor(param0: boolean, param1: boolean);
					public isInUse(): boolean;
					public toString(): string;
					public isEnabled(): boolean;
				}
			}
		}
	}
}

declare module android {
	export module media {
		export module audiofx {
			export class EnvironmentalReverb extends android.media.audiofx.AudioEffect {
				public static class: java.lang.Class<android.media.audiofx.EnvironmentalReverb>;
				public static PARAM_DECAY_HF_RATIO: number;
				public static PARAM_DECAY_TIME: number;
				public static PARAM_DENSITY: number;
				public static PARAM_DIFFUSION: number;
				public static PARAM_REFLECTIONS_DELAY: number;
				public static PARAM_REFLECTIONS_LEVEL: number;
				public static PARAM_REVERB_DELAY: number;
				public static PARAM_REVERB_LEVEL: number;
				public static PARAM_ROOM_HF_LEVEL: number;
				public static PARAM_ROOM_LEVEL: number;
				public constructor(param0: number, param1: number);
				public setDecayHFRatio(param0: number): void;
				public getRoomHFLevel(): number;
				public setDecayTime(param0: number): void;
				public setReflectionsLevel(param0: number): void;
				public setProperties(param0: android.media.audiofx.EnvironmentalReverb.Settings): void;
				public setRoomLevel(param0: number): void;
				public setReverbDelay(param0: number): void;
				public setParameterListener(param0: android.media.audiofx.EnvironmentalReverb.OnParameterChangeListener): void;
				public getReflectionsLevel(): number;
				public getReflectionsDelay(): number;
				public getDensity(): number;
				public setDiffusion(param0: number): void;
				public getDecayTime(): number;
				public getProperties(): android.media.audiofx.EnvironmentalReverb.Settings;
				public setReverbLevel(param0: number): void;
				public getRoomLevel(): number;
				public getDiffusion(): number;
				public setReflectionsDelay(param0: number): void;
				public getReverbLevel(): number;
				public setDensity(param0: number): void;
				public setRoomHFLevel(param0: number): void;
				public getReverbDelay(): number;
				public getDecayHFRatio(): number;
			}
			export module EnvironmentalReverb {
				export class OnParameterChangeListener extends java.lang.Object {
					public static class: java.lang.Class<android.media.audiofx.EnvironmentalReverb.OnParameterChangeListener>;
					/**
					 * Constructs a new instance of the android.media.audiofx.EnvironmentalReverb$OnParameterChangeListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						onParameterChange(param0: android.media.audiofx.EnvironmentalReverb, param1: number, param2: number, param3: number): void;
					});
					public constructor();
					public onParameterChange(param0: android.media.audiofx.EnvironmentalReverb, param1: number, param2: number, param3: number): void;
				}
				export class Settings extends java.lang.Object {
					public static class: java.lang.Class<android.media.audiofx.EnvironmentalReverb.Settings>;
					public decayHFRatio: number;
					public decayTime: number;
					public density: number;
					public diffusion: number;
					public reflectionsDelay: number;
					public reflectionsLevel: number;
					public reverbDelay: number;
					public reverbLevel: number;
					public roomHFLevel: number;
					public roomLevel: number;
					public toString(): string;
					public constructor(param0: string);
					public constructor();
				}
			}
		}
	}
}

declare module android {
	export module media {
		export module audiofx {
			export class Equalizer extends android.media.audiofx.AudioEffect {
				public static class: java.lang.Class<android.media.audiofx.Equalizer>;
				public static PARAM_BAND_FREQ_RANGE: number;
				public static PARAM_BAND_LEVEL: number;
				public static PARAM_CENTER_FREQ: number;
				public static PARAM_CURRENT_PRESET: number;
				public static PARAM_GET_BAND: number;
				public static PARAM_GET_NUM_OF_PRESETS: number;
				public static PARAM_GET_PRESET_NAME: number;
				public static PARAM_LEVEL_RANGE: number;
				public static PARAM_NUM_BANDS: number;
				public static PARAM_STRING_SIZE_MAX: number;
				public constructor(param0: number, param1: number);
				public getBandLevel(param0: number): number;
				public getProperties(): android.media.audiofx.Equalizer.Settings;
				public getBand(param0: number): number;
				public getPresetName(param0: number): string;
				public getNumberOfBands(): number;
				public getBandFreqRange(param0: number): native.Array<number>;
				public getNumberOfPresets(): number;
				public setBandLevel(param0: number, param1: number): void;
				public setParameterListener(param0: android.media.audiofx.Equalizer.OnParameterChangeListener): void;
				public usePreset(param0: number): void;
				public getCurrentPreset(): number;
				public getCenterFreq(param0: number): number;
				public setProperties(param0: android.media.audiofx.Equalizer.Settings): void;
				public getBandLevelRange(): native.Array<number>;
			}
			export module Equalizer {
				export class OnParameterChangeListener extends java.lang.Object {
					public static class: java.lang.Class<android.media.audiofx.Equalizer.OnParameterChangeListener>;
					/**
					 * Constructs a new instance of the android.media.audiofx.Equalizer$OnParameterChangeListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						onParameterChange(param0: android.media.audiofx.Equalizer, param1: number, param2: number, param3: number, param4: number): void;
					});
					public constructor();
					public onParameterChange(param0: android.media.audiofx.Equalizer, param1: number, param2: number, param3: number, param4: number): void;
				}
				export class Settings extends java.lang.Object {
					public static class: java.lang.Class<android.media.audiofx.Equalizer.Settings>;
					public bandLevels: native.Array<number>;
					public curPreset: number;
					public numBands: number;
					public toString(): string;
					public constructor(param0: string);
					public constructor();
				}
			}
		}
	}
}

declare module android {
	export module media {
		export module audiofx {
			export class LoudnessEnhancer extends android.media.audiofx.AudioEffect {
				public static class: java.lang.Class<android.media.audiofx.LoudnessEnhancer>;
				public static PARAM_TARGET_GAIN_MB: number;
				public getTargetGain(): number;
				public constructor(param0: number);
				public setTargetGain(param0: number): void;
			}
		}
	}
}

declare module android {
	export module media {
		export module audiofx {
			export class NoiseSuppressor extends android.media.audiofx.AudioEffect {
				public static class: java.lang.Class<android.media.audiofx.NoiseSuppressor>;
				public static create(param0: number): android.media.audiofx.NoiseSuppressor;
				public static isAvailable(): boolean;
			}
		}
	}
}

declare module android {
	export module media {
		export module audiofx {
			export class PresetReverb extends android.media.audiofx.AudioEffect {
				public static class: java.lang.Class<android.media.audiofx.PresetReverb>;
				public static PARAM_PRESET: number;
				public static PRESET_LARGEHALL: number;
				public static PRESET_LARGEROOM: number;
				public static PRESET_MEDIUMHALL: number;
				public static PRESET_MEDIUMROOM: number;
				public static PRESET_NONE: number;
				public static PRESET_PLATE: number;
				public static PRESET_SMALLROOM: number;
				public constructor(param0: number, param1: number);
				public setPreset(param0: number): void;
				public getPreset(): number;
				public setParameterListener(param0: android.media.audiofx.PresetReverb.OnParameterChangeListener): void;
				public getProperties(): android.media.audiofx.PresetReverb.Settings;
				public setProperties(param0: android.media.audiofx.PresetReverb.Settings): void;
			}
			export module PresetReverb {
				export class OnParameterChangeListener extends java.lang.Object {
					public static class: java.lang.Class<android.media.audiofx.PresetReverb.OnParameterChangeListener>;
					/**
					 * Constructs a new instance of the android.media.audiofx.PresetReverb$OnParameterChangeListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						onParameterChange(param0: android.media.audiofx.PresetReverb, param1: number, param2: number, param3: number): void;
					});
					public constructor();
					public onParameterChange(param0: android.media.audiofx.PresetReverb, param1: number, param2: number, param3: number): void;
				}
				export class Settings extends java.lang.Object {
					public static class: java.lang.Class<android.media.audiofx.PresetReverb.Settings>;
					public preset: number;
					public toString(): string;
					public constructor(param0: string);
					public constructor();
				}
			}
		}
	}
}

declare module android {
	export module media {
		export module audiofx {
			export class Virtualizer extends android.media.audiofx.AudioEffect {
				public static class: java.lang.Class<android.media.audiofx.Virtualizer>;
				public static PARAM_STRENGTH: number;
				public static PARAM_STRENGTH_SUPPORTED: number;
				public static VIRTUALIZATION_MODE_AUTO: number;
				public static VIRTUALIZATION_MODE_BINAURAL: number;
				public static VIRTUALIZATION_MODE_OFF: number;
				public static VIRTUALIZATION_MODE_TRANSAURAL: number;
				public constructor(param0: number, param1: number);
				public forceVirtualizationMode(param0: number): boolean;
				public canVirtualize(param0: number, param1: number): boolean;
				public setParameterListener(param0: android.media.audiofx.Virtualizer.OnParameterChangeListener): void;
				public getProperties(): android.media.audiofx.Virtualizer.Settings;
				public setProperties(param0: android.media.audiofx.Virtualizer.Settings): void;
				public getRoundedStrength(): number;
				public getVirtualizationMode(): number;
				public setStrength(param0: number): void;
				public getSpeakerAngles(param0: number, param1: number, param2: native.Array<number>): boolean;
				public getStrengthSupported(): boolean;
			}
			export module Virtualizer {
				export class OnParameterChangeListener extends java.lang.Object {
					public static class: java.lang.Class<android.media.audiofx.Virtualizer.OnParameterChangeListener>;
					/**
					 * Constructs a new instance of the android.media.audiofx.Virtualizer$OnParameterChangeListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						onParameterChange(param0: android.media.audiofx.Virtualizer, param1: number, param2: number, param3: number): void;
					});
					public constructor();
					public onParameterChange(param0: android.media.audiofx.Virtualizer, param1: number, param2: number, param3: number): void;
				}
				export class Settings extends java.lang.Object {
					public static class: java.lang.Class<android.media.audiofx.Virtualizer.Settings>;
					public strength: number;
					public toString(): string;
					public constructor(param0: string);
					public constructor();
				}
			}
		}
	}
}

declare module android {
	export module media {
		export module audiofx {
			export class Visualizer extends java.lang.Object {
				public static class: java.lang.Class<android.media.audiofx.Visualizer>;
				public static ALREADY_EXISTS: number;
				public static ERROR: number;
				public static ERROR_BAD_VALUE: number;
				public static ERROR_DEAD_OBJECT: number;
				public static ERROR_INVALID_OPERATION: number;
				public static ERROR_NO_INIT: number;
				public static ERROR_NO_MEMORY: number;
				public static MEASUREMENT_MODE_NONE: number;
				public static MEASUREMENT_MODE_PEAK_RMS: number;
				public static SCALING_MODE_AS_PLAYED: number;
				public static SCALING_MODE_NORMALIZED: number;
				public static STATE_ENABLED: number;
				public static STATE_INITIALIZED: number;
				public static STATE_UNINITIALIZED: number;
				public static SUCCESS: number;
				public static getCaptureSizeRange(): native.Array<number>;
				public release(): void;
				public static getMaxCaptureRate(): number;
				public getMeasurementMode(): number;
				public finalize(): void;
				public getWaveForm(param0: native.Array<number>): number;
				public setDataCaptureListener(param0: android.media.audiofx.Visualizer.OnDataCaptureListener, param1: number, param2: boolean, param3: boolean): number;
				public setEnabled(param0: boolean): number;
				public getScalingMode(): number;
				public getFft(param0: native.Array<number>): number;
				public setMeasurementMode(param0: number): number;
				public getMeasurementPeakRms(param0: android.media.audiofx.Visualizer.MeasurementPeakRms): number;
				public getSamplingRate(): number;
				public getEnabled(): boolean;
				public setScalingMode(param0: number): number;
				public constructor(param0: number);
				public setCaptureSize(param0: number): number;
				public getCaptureSize(): number;
			}
			export module Visualizer {
				export class MeasurementPeakRms extends java.lang.Object {
					public static class: java.lang.Class<android.media.audiofx.Visualizer.MeasurementPeakRms>;
					public mPeak: number;
					public mRms: number;
					public constructor();
				}
				export class OnDataCaptureListener extends java.lang.Object {
					public static class: java.lang.Class<android.media.audiofx.Visualizer.OnDataCaptureListener>;
					/**
					 * Constructs a new instance of the android.media.audiofx.Visualizer$OnDataCaptureListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						onWaveFormDataCapture(param0: android.media.audiofx.Visualizer, param1: native.Array<number>, param2: number): void;
						onFftDataCapture(param0: android.media.audiofx.Visualizer, param1: native.Array<number>, param2: number): void;
					});
					public constructor();
					public onWaveFormDataCapture(param0: android.media.audiofx.Visualizer, param1: native.Array<number>, param2: number): void;
					public onFftDataCapture(param0: android.media.audiofx.Visualizer, param1: native.Array<number>, param2: number): void;
				}
			}
		}
	}
}


declare module android {
	export module media {
		export module effect {
			export abstract class Effect extends java.lang.Object {
				public static class: java.lang.Class<android.media.effect.Effect>;
				public release(): void;
				public setUpdateListener(param0: android.media.effect.EffectUpdateListener): void;
				public apply(param0: number, param1: number, param2: number, param3: number): void;
				public getName(): string;
				public setParameter(param0: string, param1: any): void;
				public constructor();
			}
		}
	}
}

declare module android {
	export module media {
		export module effect {
			export class EffectContext extends java.lang.Object {
				public static class: java.lang.Class<android.media.effect.EffectContext>;
				public release(): void;
				public getFactory(): android.media.effect.EffectFactory;
				public static createWithCurrentGlContext(): android.media.effect.EffectContext;
			}
		}
	}
}

declare module android {
	export module media {
		export module effect {
			export class EffectFactory extends java.lang.Object {
				public static class: java.lang.Class<android.media.effect.EffectFactory>;
				public static EFFECT_AUTOFIX: string;
				public static EFFECT_BACKDROPPER: string;
				public static EFFECT_BITMAPOVERLAY: string;
				public static EFFECT_BLACKWHITE: string;
				public static EFFECT_BRIGHTNESS: string;
				public static EFFECT_CONTRAST: string;
				public static EFFECT_CROP: string;
				public static EFFECT_CROSSPROCESS: string;
				public static EFFECT_DOCUMENTARY: string;
				public static EFFECT_DUOTONE: string;
				public static EFFECT_FILLLIGHT: string;
				public static EFFECT_FISHEYE: string;
				public static EFFECT_FLIP: string;
				public static EFFECT_GRAIN: string;
				public static EFFECT_GRAYSCALE: string;
				public static EFFECT_LOMOISH: string;
				public static EFFECT_NEGATIVE: string;
				public static EFFECT_POSTERIZE: string;
				public static EFFECT_REDEYE: string;
				public static EFFECT_ROTATE: string;
				public static EFFECT_SATURATE: string;
				public static EFFECT_SEPIA: string;
				public static EFFECT_SHARPEN: string;
				public static EFFECT_STRAIGHTEN: string;
				public static EFFECT_TEMPERATURE: string;
				public static EFFECT_TINT: string;
				public static EFFECT_VIGNETTE: string;
				public static isEffectSupported(param0: string): boolean;
				public createEffect(param0: string): android.media.effect.Effect;
			}
		}
	}
}

declare module android {
	export module media {
		export module effect {
			export class EffectUpdateListener extends java.lang.Object {
				public static class: java.lang.Class<android.media.effect.EffectUpdateListener>;
				/**
				 * Constructs a new instance of the android.media.effect.EffectUpdateListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onEffectUpdated(param0: android.media.effect.Effect, param1: any): void;
				});
				public constructor();
				public onEffectUpdated(param0: android.media.effect.Effect, param1: any): void;
			}
		}
	}
}

declare module android {
	export module media {
		export module midi {
			export class MidiDevice extends java.lang.Object implements java.io.Closeable {
				public static class: java.lang.Class<android.media.midi.MidiDevice>;
				public close(): void;
				public finalize(): void;
				public getInfo(): android.media.midi.MidiDeviceInfo;
				public connectPorts(param0: android.media.midi.MidiInputPort, param1: number): android.media.midi.MidiDevice.MidiConnection;
				public openInputPort(param0: number): android.media.midi.MidiInputPort;
				public openOutputPort(param0: number): android.media.midi.MidiOutputPort;
				public toString(): string;
			}
			export module MidiDevice {
				export class MidiConnection extends java.lang.Object implements java.io.Closeable {
					public static class: java.lang.Class<android.media.midi.MidiDevice.MidiConnection>;
					public finalize(): void;
					public close(): void;
				}
			}
		}
	}
}

declare module android {
	export module media {
		export module midi {
			export class MidiDeviceInfo extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.media.midi.MidiDeviceInfo>;
				public static CREATOR: android.os.Parcelable.Creator<android.media.midi.MidiDeviceInfo>;
				public static PROPERTY_BLUETOOTH_DEVICE: string;
				public static PROPERTY_MANUFACTURER: string;
				public static PROPERTY_NAME: string;
				public static PROPERTY_PRODUCT: string;
				public static PROPERTY_SERIAL_NUMBER: string;
				public static PROPERTY_USB_DEVICE: string;
				public static PROPERTY_VERSION: string;
				public static TYPE_BLUETOOTH: number;
				public static TYPE_USB: number;
				public static TYPE_VIRTUAL: number;
				public getInputPortCount(): number;
				public getType(): number;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getId(): number;
				public equals(param0: any): boolean;
				public describeContents(): number;
				public getProperties(): android.os.Bundle;
				public isPrivate(): boolean;
				public getPorts(): native.Array<android.media.midi.MidiDeviceInfo.PortInfo>;
				public toString(): string;
				public getOutputPortCount(): number;
			}
			export module MidiDeviceInfo {
				export class PortInfo extends java.lang.Object {
					public static class: java.lang.Class<android.media.midi.MidiDeviceInfo.PortInfo>;
					public static TYPE_INPUT: number;
					public static TYPE_OUTPUT: number;
					public getType(): number;
					public getPortNumber(): number;
					public getName(): string;
				}
			}
		}
	}
}

declare module android {
	export module media {
		export module midi {
			export abstract class MidiDeviceService extends android.app.Service {
				public static class: java.lang.Class<android.media.midi.MidiDeviceService>;
				public static SERVICE_INTERFACE: string;
				public onGetInputPortReceivers(): native.Array<android.media.midi.MidiReceiver>;
				public onBind(param0: android.content.Intent): android.os.IBinder;
				public onDeviceStatusChanged(param0: android.media.midi.MidiDeviceStatus): void;
				public onClose(): void;
				public getOutputPortReceivers(): native.Array<android.media.midi.MidiReceiver>;
				public constructor(param0: android.content.Context);
				public onCreate(): void;
				public onTrimMemory(param0: number): void;
				public constructor();
				public getDeviceInfo(): android.media.midi.MidiDeviceInfo;
			}
		}
	}
}

declare module android {
	export module media {
		export module midi {
			export class MidiDeviceStatus extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.media.midi.MidiDeviceStatus>;
				public static CREATOR: android.os.Parcelable.Creator<android.media.midi.MidiDeviceStatus>;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getOutputPortOpenCount(param0: number): number;
				public toString(): string;
				public isInputPortOpen(param0: number): boolean;
				public getDeviceInfo(): android.media.midi.MidiDeviceInfo;
			}
		}
	}
}

declare module android {
	export module media {
		export module midi {
			export class MidiInputPort extends android.media.midi.MidiReceiver implements java.io.Closeable {
				public static class: java.lang.Class<android.media.midi.MidiInputPort>;
				public close(): void;
				public getPortNumber(): number;
				public onFlush(): void;
				public finalize(): void;
				public onSend(param0: native.Array<number>, param1: number, param2: number, param3: number): void;
			}
		}
	}
}

declare module android {
	export module media {
		export module midi {
			export class MidiManager extends java.lang.Object {
				public static class: java.lang.Class<android.media.midi.MidiManager>;
				public registerDeviceCallback(param0: android.media.midi.MidiManager.DeviceCallback, param1: android.os.Handler): void;
				public getDevices(): native.Array<android.media.midi.MidiDeviceInfo>;
				public openBluetoothDevice(param0: android.bluetooth.BluetoothDevice, param1: android.media.midi.MidiManager.OnDeviceOpenedListener, param2: android.os.Handler): void;
				public openDevice(param0: android.media.midi.MidiDeviceInfo, param1: android.media.midi.MidiManager.OnDeviceOpenedListener, param2: android.os.Handler): void;
				public unregisterDeviceCallback(param0: android.media.midi.MidiManager.DeviceCallback): void;
			}
			export module MidiManager {
				export class DeviceCallback extends java.lang.Object {
					public static class: java.lang.Class<android.media.midi.MidiManager.DeviceCallback>;
					public onDeviceAdded(param0: android.media.midi.MidiDeviceInfo): void;
					public constructor();
					public onDeviceRemoved(param0: android.media.midi.MidiDeviceInfo): void;
					public onDeviceStatusChanged(param0: android.media.midi.MidiDeviceStatus): void;
				}
				export class OnDeviceOpenedListener extends java.lang.Object {
					public static class: java.lang.Class<android.media.midi.MidiManager.OnDeviceOpenedListener>;
					/**
					 * Constructs a new instance of the android.media.midi.MidiManager$OnDeviceOpenedListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						onDeviceOpened(param0: android.media.midi.MidiDevice): void;
					});
					public constructor();
					public onDeviceOpened(param0: android.media.midi.MidiDevice): void;
				}
			}
		}
	}
}

declare module android {
	export module media {
		export module midi {
			export class MidiOutputPort extends android.media.midi.MidiSender implements java.io.Closeable {
				public static class: java.lang.Class<android.media.midi.MidiOutputPort>;
				public close(): void;
				public getPortNumber(): number;
				public onDisconnect(param0: android.media.midi.MidiReceiver): void;
				public finalize(): void;
				public onConnect(param0: android.media.midi.MidiReceiver): void;
			}
		}
	}
}

declare module android {
	export module media {
		export module midi {
			export abstract class MidiReceiver extends java.lang.Object {
				public static class: java.lang.Class<android.media.midi.MidiReceiver>;
				public getMaxMessageSize(): number;
				public send(param0: native.Array<number>, param1: number, param2: number): void;
				public onFlush(): void;
				public constructor(param0: number);
				public send(param0: native.Array<number>, param1: number, param2: number, param3: number): void;
				public constructor();
				public onSend(param0: native.Array<number>, param1: number, param2: number, param3: number): void;
				public flush(): void;
			}
		}
	}
}

declare module android {
	export module media {
		export module midi {
			export abstract class MidiSender extends java.lang.Object {
				public static class: java.lang.Class<android.media.midi.MidiSender>;
				public disconnect(param0: android.media.midi.MidiReceiver): void;
				public onDisconnect(param0: android.media.midi.MidiReceiver): void;
				public connect(param0: android.media.midi.MidiReceiver): void;
				public onConnect(param0: android.media.midi.MidiReceiver): void;
				public constructor();
			}
		}
	}
}

declare module android {
	export module media {
		export module projection {
			export class MediaProjection extends java.lang.Object {
				public static class: java.lang.Class<android.media.projection.MediaProjection>;
				public stop(): void;
				public registerCallback(param0: android.media.projection.MediaProjection.Callback, param1: android.os.Handler): void;
				public createVirtualDisplay(param0: string, param1: number, param2: number, param3: number, param4: number, param5: android.view.Surface, param6: android.hardware.display.VirtualDisplay.Callback, param7: android.os.Handler): android.hardware.display.VirtualDisplay;
				public unregisterCallback(param0: android.media.projection.MediaProjection.Callback): void;
			}
			export module MediaProjection {
				export abstract class Callback extends java.lang.Object {
					public static class: java.lang.Class<android.media.projection.MediaProjection.Callback>;
					public constructor();
					public onStop(): void;
				}
			}
		}
	}
}

declare module android {
	export module media {
		export module projection {
			export class MediaProjectionManager extends java.lang.Object {
				public static class: java.lang.Class<android.media.projection.MediaProjectionManager>;
				public createScreenCaptureIntent(): android.content.Intent;
				public getMediaProjection(param0: number, param1: android.content.Intent): android.media.projection.MediaProjection;
			}
		}
	}
}





declare module android {
	export module media {
		export module tv {
			export class TvContentRating extends java.lang.Object {
				public static class: java.lang.Class<android.media.tv.TvContentRating>;
				public static UNRATED: android.media.tv.TvContentRating;
				public static createRating(param0: string, param1: string, param2: string, param3: native.Array<string>): android.media.tv.TvContentRating;
				public getSubRatings(): java.util.List<string>;
				public getRatingSystem(): string;
				public hashCode(): number;
				public static unflattenFromString(param0: string): android.media.tv.TvContentRating;
				public equals(param0: any): boolean;
				public getDomain(): string;
				public getMainRating(): string;
				public contains(param0: android.media.tv.TvContentRating): boolean;
				public flattenToString(): string;
			}
		}
	}
}

declare module android {
	export module media {
		export module tv {
			export class TvContract extends java.lang.Object {
				public static class: java.lang.Class<android.media.tv.TvContract>;
				public static ACTION_INITIALIZE_PROGRAMS: string;
				public static ACTION_PREVIEW_PROGRAM_ADDED_TO_WATCH_NEXT: string;
				public static ACTION_PREVIEW_PROGRAM_BROWSABLE_DISABLED: string;
				public static ACTION_REQUEST_CHANNEL_BROWSABLE: string;
				public static ACTION_WATCH_NEXT_PROGRAM_BROWSABLE_DISABLED: string;
				public static AUTHORITY: string;
				public static EXTRA_CHANNEL_ID: string;
				public static EXTRA_PREVIEW_PROGRAM_ID: string;
				public static EXTRA_WATCH_NEXT_PROGRAM_ID: string;
				public static buildChannelsUriForInput(param0: string): android.net.Uri;
				public static buildWatchNextProgramUri(param0: number): android.net.Uri;
				public static buildChannelUri(param0: number): android.net.Uri;
				public static buildProgramsUriForChannel(param0: number): android.net.Uri;
				public static requestChannelBrowsable(param0: android.content.Context, param1: number): void;
				public static buildPreviewProgramsUriForChannel(param0: android.net.Uri): android.net.Uri;
				public static buildChannelLogoUri(param0: android.net.Uri): android.net.Uri;
				public static buildChannelUriForPassthroughInput(param0: string): android.net.Uri;
				public static buildProgramsUriForChannel(param0: android.net.Uri): android.net.Uri;
				public static isChannelUriForPassthroughInput(param0: android.net.Uri): boolean;
				public static buildInputId(param0: android.content.ComponentName): string;
				public static isChannelUriForTunerInput(param0: android.net.Uri): boolean;
				public static isChannelUri(param0: android.net.Uri): boolean;
				public static buildChannelLogoUri(param0: number): android.net.Uri;
				public static isProgramUri(param0: android.net.Uri): boolean;
				public static isRecordedProgramUri(param0: android.net.Uri): boolean;
				public static buildProgramsUriForChannel(param0: number, param1: number, param2: number): android.net.Uri;
				public static buildProgramUri(param0: number): android.net.Uri;
				public static buildProgramsUriForChannel(param0: android.net.Uri, param1: number, param2: number): android.net.Uri;
				public static buildRecordedProgramUri(param0: number): android.net.Uri;
				public static buildPreviewProgramUri(param0: number): android.net.Uri;
				public static buildPreviewProgramsUriForChannel(param0: number): android.net.Uri;
			}
			export module TvContract {
				export class BaseTvColumns extends java.lang.Object implements android.provider.BaseColumns {
					public static class: java.lang.Class<android.media.tv.TvContract.BaseTvColumns>;
					/**
					 * Constructs a new instance of the android.media.tv.TvContract$BaseTvColumns interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
					});
					public constructor();
					public static _COUNT: string;
					public static COLUMN_PACKAGE_NAME: string;
					public static _ID: string;
				}
				export class Channels extends java.lang.Object implements android.media.tv.TvContract.BaseTvColumns {
					public static class: java.lang.Class<android.media.tv.TvContract.Channels>;
					public static COLUMN_APP_LINK_COLOR: string;
					public static COLUMN_APP_LINK_ICON_URI: string;
					public static COLUMN_APP_LINK_INTENT_URI: string;
					public static COLUMN_APP_LINK_POSTER_ART_URI: string;
					public static COLUMN_APP_LINK_TEXT: string;
					public static COLUMN_BROWSABLE: string;
					public static COLUMN_DESCRIPTION: string;
					public static COLUMN_DISPLAY_NAME: string;
					public static COLUMN_DISPLAY_NUMBER: string;
					public static COLUMN_INPUT_ID: string;
					public static COLUMN_INTERNAL_PROVIDER_DATA: string;
					public static COLUMN_INTERNAL_PROVIDER_FLAG1: string;
					public static COLUMN_INTERNAL_PROVIDER_FLAG2: string;
					public static COLUMN_INTERNAL_PROVIDER_FLAG3: string;
					public static COLUMN_INTERNAL_PROVIDER_FLAG4: string;
					public static COLUMN_INTERNAL_PROVIDER_ID: string;
					public static COLUMN_LOCKED: string;
					public static COLUMN_NETWORK_AFFILIATION: string;
					public static COLUMN_ORIGINAL_NETWORK_ID: string;
					public static COLUMN_SEARCHABLE: string;
					public static COLUMN_SERVICE_ID: string;
					public static COLUMN_SERVICE_TYPE: string;
					public static COLUMN_TRANSIENT: string;
					public static COLUMN_TRANSPORT_STREAM_ID: string;
					public static COLUMN_TYPE: string;
					public static COLUMN_VERSION_NUMBER: string;
					public static COLUMN_VIDEO_FORMAT: string;
					public static CONTENT_ITEM_TYPE: string;
					public static CONTENT_TYPE: string;
					public static CONTENT_URI: android.net.Uri;
					public static SERVICE_TYPE_AUDIO: string;
					public static SERVICE_TYPE_AUDIO_VIDEO: string;
					public static SERVICE_TYPE_OTHER: string;
					public static TYPE_1SEG: string;
					public static TYPE_ATSC_C: string;
					public static TYPE_ATSC_M_H: string;
					public static TYPE_ATSC_T: string;
					public static TYPE_CMMB: string;
					public static TYPE_DTMB: string;
					public static TYPE_DVB_C: string;
					public static TYPE_DVB_C2: string;
					public static TYPE_DVB_H: string;
					public static TYPE_DVB_S: string;
					public static TYPE_DVB_S2: string;
					public static TYPE_DVB_SH: string;
					public static TYPE_DVB_T: string;
					public static TYPE_DVB_T2: string;
					public static TYPE_ISDB_C: string;
					public static TYPE_ISDB_S: string;
					public static TYPE_ISDB_T: string;
					public static TYPE_ISDB_TB: string;
					public static TYPE_NTSC: string;
					public static TYPE_OTHER: string;
					public static TYPE_PAL: string;
					public static TYPE_PREVIEW: string;
					public static TYPE_SECAM: string;
					public static TYPE_S_DMB: string;
					public static TYPE_T_DMB: string;
					public static VIDEO_FORMAT_1080I: string;
					public static VIDEO_FORMAT_1080P: string;
					public static VIDEO_FORMAT_2160P: string;
					public static VIDEO_FORMAT_240P: string;
					public static VIDEO_FORMAT_360P: string;
					public static VIDEO_FORMAT_4320P: string;
					public static VIDEO_FORMAT_480I: string;
					public static VIDEO_FORMAT_480P: string;
					public static VIDEO_FORMAT_576I: string;
					public static VIDEO_FORMAT_576P: string;
					public static VIDEO_FORMAT_720P: string;
					public static VIDEO_RESOLUTION_ED: string;
					public static VIDEO_RESOLUTION_FHD: string;
					public static VIDEO_RESOLUTION_HD: string;
					public static VIDEO_RESOLUTION_SD: string;
					public static VIDEO_RESOLUTION_UHD: string;
					public static getVideoResolution(param0: string): string;
				}
				export module Channels {
					export class Logo extends java.lang.Object {
						public static class: java.lang.Class<android.media.tv.TvContract.Channels.Logo>;
						public static CONTENT_DIRECTORY: string;
					}
				}
				export class PreviewPrograms extends java.lang.Object implements android.media.tv.TvContract.BaseTvColumns {
					public static class: java.lang.Class<android.media.tv.TvContract.PreviewPrograms>;
					public static ASPECT_RATIO_16_9: number;
					public static ASPECT_RATIO_1_1: number;
					public static ASPECT_RATIO_2_3: number;
					public static ASPECT_RATIO_3_2: number;
					public static ASPECT_RATIO_4_3: number;
					public static AVAILABILITY_AVAILABLE: number;
					public static AVAILABILITY_FREE_WITH_SUBSCRIPTION: number;
					public static AVAILABILITY_PAID_CONTENT: number;
					public static COLUMN_AUDIO_LANGUAGE: string;
					public static COLUMN_AUTHOR: string;
					public static COLUMN_AVAILABILITY: string;
					public static COLUMN_BROWSABLE: string;
					public static COLUMN_CANONICAL_GENRE: string;
					public static COLUMN_CHANNEL_ID: string;
					public static COLUMN_CONTENT_ID: string;
					public static COLUMN_CONTENT_RATING: string;
					public static COLUMN_DURATION_MILLIS: string;
					public static COLUMN_EPISODE_DISPLAY_NUMBER: string;
					public static COLUMN_EPISODE_TITLE: string;
					public static COLUMN_INTENT_URI: string;
					public static COLUMN_INTERACTION_COUNT: string;
					public static COLUMN_INTERACTION_TYPE: string;
					public static COLUMN_INTERNAL_PROVIDER_DATA: string;
					public static COLUMN_INTERNAL_PROVIDER_FLAG1: string;
					public static COLUMN_INTERNAL_PROVIDER_FLAG2: string;
					public static COLUMN_INTERNAL_PROVIDER_FLAG3: string;
					public static COLUMN_INTERNAL_PROVIDER_FLAG4: string;
					public static COLUMN_INTERNAL_PROVIDER_ID: string;
					public static COLUMN_ITEM_COUNT: string;
					public static COLUMN_LAST_PLAYBACK_POSITION_MILLIS: string;
					public static COLUMN_LIVE: string;
					public static COLUMN_LOGO_URI: string;
					public static COLUMN_LONG_DESCRIPTION: string;
					public static COLUMN_OFFER_PRICE: string;
					public static COLUMN_POSTER_ART_ASPECT_RATIO: string;
					public static COLUMN_POSTER_ART_URI: string;
					public static COLUMN_PREVIEW_VIDEO_URI: string;
					public static COLUMN_RELEASE_DATE: string;
					public static COLUMN_REVIEW_RATING: string;
					public static COLUMN_REVIEW_RATING_STYLE: string;
					public static COLUMN_SEARCHABLE: string;
					public static COLUMN_SEASON_DISPLAY_NUMBER: string;
					public static COLUMN_SEASON_TITLE: string;
					public static COLUMN_SHORT_DESCRIPTION: string;
					public static COLUMN_STARTING_PRICE: string;
					public static COLUMN_THUMBNAIL_ASPECT_RATIO: string;
					public static COLUMN_THUMBNAIL_URI: string;
					public static COLUMN_TITLE: string;
					public static COLUMN_TRANSIENT: string;
					public static COLUMN_TYPE: string;
					public static COLUMN_VERSION_NUMBER: string;
					public static COLUMN_VIDEO_HEIGHT: string;
					public static COLUMN_VIDEO_WIDTH: string;
					public static COLUMN_WEIGHT: string;
					public static CONTENT_ITEM_TYPE: string;
					public static CONTENT_TYPE: string;
					public static CONTENT_URI: android.net.Uri;
					public static INTERACTION_TYPE_FANS: number;
					public static INTERACTION_TYPE_FOLLOWERS: number;
					public static INTERACTION_TYPE_LIKES: number;
					public static INTERACTION_TYPE_LISTENS: number;
					public static INTERACTION_TYPE_THUMBS: number;
					public static INTERACTION_TYPE_VIEWERS: number;
					public static INTERACTION_TYPE_VIEWS: number;
					public static REVIEW_RATING_STYLE_PERCENTAGE: number;
					public static REVIEW_RATING_STYLE_STARS: number;
					public static REVIEW_RATING_STYLE_THUMBS_UP_DOWN: number;
					public static TYPE_ALBUM: number;
					public static TYPE_ARTIST: number;
					public static TYPE_CHANNEL: number;
					public static TYPE_CLIP: number;
					public static TYPE_EVENT: number;
					public static TYPE_MOVIE: number;
					public static TYPE_PLAYLIST: number;
					public static TYPE_STATION: number;
					public static TYPE_TRACK: number;
					public static TYPE_TV_EPISODE: number;
					public static TYPE_TV_SEASON: number;
					public static TYPE_TV_SERIES: number;
				}
				export class Programs extends java.lang.Object implements android.media.tv.TvContract.BaseTvColumns {
					public static class: java.lang.Class<android.media.tv.TvContract.Programs>;
					public static COLUMN_AUDIO_LANGUAGE: string;
					public static COLUMN_BROADCAST_GENRE: string;
					public static COLUMN_CANONICAL_GENRE: string;
					public static COLUMN_CHANNEL_ID: string;
					public static COLUMN_CONTENT_RATING: string;
					public static COLUMN_END_TIME_UTC_MILLIS: string;
					public static COLUMN_EPISODE_DISPLAY_NUMBER: string;
					public static COLUMN_EPISODE_NUMBER: string;
					public static COLUMN_EPISODE_TITLE: string;
					public static COLUMN_INTERNAL_PROVIDER_DATA: string;
					public static COLUMN_INTERNAL_PROVIDER_FLAG1: string;
					public static COLUMN_INTERNAL_PROVIDER_FLAG2: string;
					public static COLUMN_INTERNAL_PROVIDER_FLAG3: string;
					public static COLUMN_INTERNAL_PROVIDER_FLAG4: string;
					public static COLUMN_LONG_DESCRIPTION: string;
					public static COLUMN_POSTER_ART_URI: string;
					public static COLUMN_RECORDING_PROHIBITED: string;
					public static COLUMN_REVIEW_RATING: string;
					public static COLUMN_REVIEW_RATING_STYLE: string;
					public static COLUMN_SEARCHABLE: string;
					public static COLUMN_SEASON_DISPLAY_NUMBER: string;
					public static COLUMN_SEASON_NUMBER: string;
					public static COLUMN_SEASON_TITLE: string;
					public static COLUMN_SHORT_DESCRIPTION: string;
					public static COLUMN_START_TIME_UTC_MILLIS: string;
					public static COLUMN_THUMBNAIL_URI: string;
					public static COLUMN_TITLE: string;
					public static COLUMN_VERSION_NUMBER: string;
					public static COLUMN_VIDEO_HEIGHT: string;
					public static COLUMN_VIDEO_WIDTH: string;
					public static CONTENT_ITEM_TYPE: string;
					public static CONTENT_TYPE: string;
					public static CONTENT_URI: android.net.Uri;
					public static REVIEW_RATING_STYLE_PERCENTAGE: number;
					public static REVIEW_RATING_STYLE_STARS: number;
					public static REVIEW_RATING_STYLE_THUMBS_UP_DOWN: number;
				}
				export module Programs {
					export class Genres extends java.lang.Object {
						public static class: java.lang.Class<android.media.tv.TvContract.Programs.Genres>;
						public static ANIMAL_WILDLIFE: string;
						public static ARTS: string;
						public static COMEDY: string;
						public static DRAMA: string;
						public static EDUCATION: string;
						public static ENTERTAINMENT: string;
						public static FAMILY_KIDS: string;
						public static GAMING: string;
						public static LIFE_STYLE: string;
						public static MOVIES: string;
						public static MUSIC: string;
						public static NEWS: string;
						public static PREMIER: string;
						public static SHOPPING: string;
						public static SPORTS: string;
						public static TECH_SCIENCE: string;
						public static TRAVEL: string;
						public static encode(param0: native.Array<string>): string;
						public static decode(param0: string): native.Array<string>;
						public static isCanonical(param0: string): boolean;
					}
				}
				export class RecordedPrograms extends java.lang.Object implements android.media.tv.TvContract.BaseTvColumns {
					public static class: java.lang.Class<android.media.tv.TvContract.RecordedPrograms>;
					public static COLUMN_AUDIO_LANGUAGE: string;
					public static COLUMN_BROADCAST_GENRE: string;
					public static COLUMN_CANONICAL_GENRE: string;
					public static COLUMN_CHANNEL_ID: string;
					public static COLUMN_CONTENT_RATING: string;
					public static COLUMN_END_TIME_UTC_MILLIS: string;
					public static COLUMN_EPISODE_DISPLAY_NUMBER: string;
					public static COLUMN_EPISODE_TITLE: string;
					public static COLUMN_INPUT_ID: string;
					public static COLUMN_INTERNAL_PROVIDER_DATA: string;
					public static COLUMN_INTERNAL_PROVIDER_FLAG1: string;
					public static COLUMN_INTERNAL_PROVIDER_FLAG2: string;
					public static COLUMN_INTERNAL_PROVIDER_FLAG3: string;
					public static COLUMN_INTERNAL_PROVIDER_FLAG4: string;
					public static COLUMN_LONG_DESCRIPTION: string;
					public static COLUMN_POSTER_ART_URI: string;
					public static COLUMN_RECORDING_DATA_BYTES: string;
					public static COLUMN_RECORDING_DATA_URI: string;
					public static COLUMN_RECORDING_DURATION_MILLIS: string;
					public static COLUMN_RECORDING_EXPIRE_TIME_UTC_MILLIS: string;
					public static COLUMN_REVIEW_RATING: string;
					public static COLUMN_REVIEW_RATING_STYLE: string;
					public static COLUMN_SEARCHABLE: string;
					public static COLUMN_SEASON_DISPLAY_NUMBER: string;
					public static COLUMN_SEASON_TITLE: string;
					public static COLUMN_SHORT_DESCRIPTION: string;
					public static COLUMN_START_TIME_UTC_MILLIS: string;
					public static COLUMN_THUMBNAIL_URI: string;
					public static COLUMN_TITLE: string;
					public static COLUMN_VERSION_NUMBER: string;
					public static COLUMN_VIDEO_HEIGHT: string;
					public static COLUMN_VIDEO_WIDTH: string;
					public static CONTENT_ITEM_TYPE: string;
					public static CONTENT_TYPE: string;
					public static CONTENT_URI: android.net.Uri;
					public static REVIEW_RATING_STYLE_PERCENTAGE: number;
					public static REVIEW_RATING_STYLE_STARS: number;
					public static REVIEW_RATING_STYLE_THUMBS_UP_DOWN: number;
				}
				export class WatchNextPrograms extends java.lang.Object implements android.media.tv.TvContract.BaseTvColumns {
					public static class: java.lang.Class<android.media.tv.TvContract.WatchNextPrograms>;
					public static ASPECT_RATIO_16_9: number;
					public static ASPECT_RATIO_1_1: number;
					public static ASPECT_RATIO_2_3: number;
					public static ASPECT_RATIO_3_2: number;
					public static ASPECT_RATIO_4_3: number;
					public static AVAILABILITY_AVAILABLE: number;
					public static AVAILABILITY_FREE_WITH_SUBSCRIPTION: number;
					public static AVAILABILITY_PAID_CONTENT: number;
					public static COLUMN_AUDIO_LANGUAGE: string;
					public static COLUMN_AUTHOR: string;
					public static COLUMN_AVAILABILITY: string;
					public static COLUMN_BROWSABLE: string;
					public static COLUMN_CANONICAL_GENRE: string;
					public static COLUMN_CONTENT_ID: string;
					public static COLUMN_CONTENT_RATING: string;
					public static COLUMN_DURATION_MILLIS: string;
					public static COLUMN_EPISODE_DISPLAY_NUMBER: string;
					public static COLUMN_EPISODE_TITLE: string;
					public static COLUMN_INTENT_URI: string;
					public static COLUMN_INTERACTION_COUNT: string;
					public static COLUMN_INTERACTION_TYPE: string;
					public static COLUMN_INTERNAL_PROVIDER_DATA: string;
					public static COLUMN_INTERNAL_PROVIDER_FLAG1: string;
					public static COLUMN_INTERNAL_PROVIDER_FLAG2: string;
					public static COLUMN_INTERNAL_PROVIDER_FLAG3: string;
					public static COLUMN_INTERNAL_PROVIDER_FLAG4: string;
					public static COLUMN_INTERNAL_PROVIDER_ID: string;
					public static COLUMN_ITEM_COUNT: string;
					public static COLUMN_LAST_ENGAGEMENT_TIME_UTC_MILLIS: string;
					public static COLUMN_LAST_PLAYBACK_POSITION_MILLIS: string;
					public static COLUMN_LIVE: string;
					public static COLUMN_LOGO_URI: string;
					public static COLUMN_LONG_DESCRIPTION: string;
					public static COLUMN_OFFER_PRICE: string;
					public static COLUMN_POSTER_ART_ASPECT_RATIO: string;
					public static COLUMN_POSTER_ART_URI: string;
					public static COLUMN_PREVIEW_VIDEO_URI: string;
					public static COLUMN_RELEASE_DATE: string;
					public static COLUMN_REVIEW_RATING: string;
					public static COLUMN_REVIEW_RATING_STYLE: string;
					public static COLUMN_SEARCHABLE: string;
					public static COLUMN_SEASON_DISPLAY_NUMBER: string;
					public static COLUMN_SEASON_TITLE: string;
					public static COLUMN_SHORT_DESCRIPTION: string;
					public static COLUMN_STARTING_PRICE: string;
					public static COLUMN_THUMBNAIL_ASPECT_RATIO: string;
					public static COLUMN_THUMBNAIL_URI: string;
					public static COLUMN_TITLE: string;
					public static COLUMN_TRANSIENT: string;
					public static COLUMN_TYPE: string;
					public static COLUMN_VERSION_NUMBER: string;
					public static COLUMN_VIDEO_HEIGHT: string;
					public static COLUMN_VIDEO_WIDTH: string;
					public static COLUMN_WATCH_NEXT_TYPE: string;
					public static CONTENT_ITEM_TYPE: string;
					public static CONTENT_TYPE: string;
					public static CONTENT_URI: android.net.Uri;
					public static INTERACTION_TYPE_FANS: number;
					public static INTERACTION_TYPE_FOLLOWERS: number;
					public static INTERACTION_TYPE_LIKES: number;
					public static INTERACTION_TYPE_LISTENS: number;
					public static INTERACTION_TYPE_THUMBS: number;
					public static INTERACTION_TYPE_VIEWERS: number;
					public static INTERACTION_TYPE_VIEWS: number;
					public static REVIEW_RATING_STYLE_PERCENTAGE: number;
					public static REVIEW_RATING_STYLE_STARS: number;
					public static REVIEW_RATING_STYLE_THUMBS_UP_DOWN: number;
					public static TYPE_ALBUM: number;
					public static TYPE_ARTIST: number;
					public static TYPE_CHANNEL: number;
					public static TYPE_CLIP: number;
					public static TYPE_EVENT: number;
					public static TYPE_MOVIE: number;
					public static TYPE_PLAYLIST: number;
					public static TYPE_STATION: number;
					public static TYPE_TRACK: number;
					public static TYPE_TV_EPISODE: number;
					public static TYPE_TV_SEASON: number;
					public static TYPE_TV_SERIES: number;
					public static WATCH_NEXT_TYPE_CONTINUE: number;
					public static WATCH_NEXT_TYPE_NEW: number;
					public static WATCH_NEXT_TYPE_NEXT: number;
					public static WATCH_NEXT_TYPE_WATCHLIST: number;
				}
			}
		}
	}
}

declare module android {
	export module media {
		export module tv {
			export class TvInputInfo extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.media.tv.TvInputInfo>;
				public static CREATOR: android.os.Parcelable.Creator<android.media.tv.TvInputInfo>;
				public static EXTRA_INPUT_ID: string;
				public static TYPE_COMPONENT: number;
				public static TYPE_COMPOSITE: number;
				public static TYPE_DISPLAY_PORT: number;
				public static TYPE_DVI: number;
				public static TYPE_HDMI: number;
				public static TYPE_OTHER: number;
				public static TYPE_SCART: number;
				public static TYPE_SVIDEO: number;
				public static TYPE_TUNER: number;
				public static TYPE_VGA: number;
				public getId(): string;
				public getType(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public isHidden(param0: android.content.Context): boolean;
				public getTunerCount(): number;
				public getServiceInfo(): android.content.pm.ServiceInfo;
				public toString(): string;
				/** @deprecated */
				public createSettingsIntent(): android.content.Intent;
				public loadLabel(param0: android.content.Context): string;
				public getParentId(): string;
				public loadIcon(param0: android.content.Context): android.graphics.drawable.Drawable;
				public createSetupIntent(): android.content.Intent;
				public isPassthroughInput(): boolean;
				public canRecord(): boolean;
				public hashCode(): number;
				public loadCustomLabel(param0: android.content.Context): string;
				public describeContents(): number;
				public equals(param0: any): boolean;
				public getExtras(): android.os.Bundle;
			}
			export module TvInputInfo {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.media.tv.TvInputInfo.Builder>;
					public setCanRecord(param0: boolean): android.media.tv.TvInputInfo.Builder;
					public setExtras(param0: android.os.Bundle): android.media.tv.TvInputInfo.Builder;
					public constructor(param0: android.content.Context, param1: android.content.ComponentName);
					public setTunerCount(param0: number): android.media.tv.TvInputInfo.Builder;
					public build(): android.media.tv.TvInputInfo;
				}
			}
		}
	}
}

declare module android {
	export module media {
		export module tv {
			export class TvInputManager extends java.lang.Object {
				public static class: java.lang.Class<android.media.tv.TvInputManager>;
				public static ACTION_BLOCKED_RATINGS_CHANGED: string;
				public static ACTION_PARENTAL_CONTROLS_ENABLED_CHANGED: string;
				public static ACTION_QUERY_CONTENT_RATING_SYSTEMS: string;
				public static ACTION_SETUP_INPUTS: string;
				public static ACTION_VIEW_RECORDING_SCHEDULES: string;
				public static INPUT_STATE_CONNECTED: number;
				public static INPUT_STATE_CONNECTED_STANDBY: number;
				public static INPUT_STATE_DISCONNECTED: number;
				public static META_DATA_CONTENT_RATING_SYSTEMS: string;
				public static RECORDING_ERROR_INSUFFICIENT_SPACE: number;
				public static RECORDING_ERROR_RESOURCE_BUSY: number;
				public static RECORDING_ERROR_UNKNOWN: number;
				public static TIME_SHIFT_INVALID_TIME: number;
				public static TIME_SHIFT_STATUS_AVAILABLE: number;
				public static TIME_SHIFT_STATUS_UNAVAILABLE: number;
				public static TIME_SHIFT_STATUS_UNKNOWN: number;
				public static TIME_SHIFT_STATUS_UNSUPPORTED: number;
				public static VIDEO_UNAVAILABLE_REASON_AUDIO_ONLY: number;
				public static VIDEO_UNAVAILABLE_REASON_BUFFERING: number;
				public static VIDEO_UNAVAILABLE_REASON_TUNING: number;
				public static VIDEO_UNAVAILABLE_REASON_UNKNOWN: number;
				public static VIDEO_UNAVAILABLE_REASON_WEAK_SIGNAL: number;
				public isRatingBlocked(param0: android.media.tv.TvContentRating): boolean;
				public getTvInputList(): java.util.List<android.media.tv.TvInputInfo>;
				public updateTvInputInfo(param0: android.media.tv.TvInputInfo): void;
				public unregisterCallback(param0: android.media.tv.TvInputManager.TvInputCallback): void;
				public getBlockedRatings(): java.util.List<android.media.tv.TvContentRating>;
				public isParentalControlsEnabled(): boolean;
				public getTvInputInfo(param0: string): android.media.tv.TvInputInfo;
				public getInputState(param0: string): number;
				public registerCallback(param0: android.media.tv.TvInputManager.TvInputCallback, param1: android.os.Handler): void;
			}
			export module TvInputManager {
				export abstract class TvInputCallback extends java.lang.Object {
					public static class: java.lang.Class<android.media.tv.TvInputManager.TvInputCallback>;
					public constructor();
					public onTvInputInfoUpdated(param0: android.media.tv.TvInputInfo): void;
					public onInputAdded(param0: string): void;
					public onInputUpdated(param0: string): void;
					public onInputRemoved(param0: string): void;
					public onInputStateChanged(param0: string, param1: number): void;
				}
			}
		}
	}
}

declare module android {
	export module media {
		export module tv {
			export abstract class TvInputService extends android.app.Service {
				public static class: java.lang.Class<android.media.tv.TvInputService>;
				public static SERVICE_INTERFACE: string;
				public static SERVICE_META_DATA: string;
				public onBind(param0: android.content.Intent): android.os.IBinder;
				public constructor(param0: android.content.Context);
				public onCreateRecordingSession(param0: string): android.media.tv.TvInputService.RecordingSession;
				public onTrimMemory(param0: number): void;
				public constructor();
				public onCreateSession(param0: string): android.media.tv.TvInputService.Session;
			}
			export module TvInputService {
				export abstract class HardwareSession extends android.media.tv.TvInputService.Session {
					public static class: java.lang.Class<android.media.tv.TvInputService.HardwareSession>;
					public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
					public onHardwareVideoUnavailable(param0: number): void;
					public onHardwareVideoAvailable(): void;
					public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
					public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
					public constructor(param0: android.content.Context);
					public getHardwareInputId(): string;
					public onSetSurface(param0: android.view.Surface): boolean;
					public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
				}
				export abstract class RecordingSession extends java.lang.Object {
					public static class: java.lang.Class<android.media.tv.TvInputService.RecordingSession>;
					public notifyError(param0: number): void;
					public onAppPrivateCommand(param0: string, param1: android.os.Bundle): void;
					public constructor(param0: android.content.Context);
					public notifyTuned(param0: android.net.Uri): void;
					public onStartRecording(param0: android.net.Uri): void;
					public onStopRecording(): void;
					public notifyRecordingStopped(param0: android.net.Uri): void;
					public onTune(param0: android.net.Uri, param1: android.os.Bundle): void;
					public onRelease(): void;
					public onTune(param0: android.net.Uri): void;
				}
				export abstract class Session extends java.lang.Object implements android.view.KeyEvent.Callback {
					public static class: java.lang.Class<android.media.tv.TvInputService.Session>;
					public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
					public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
					public onSurfaceChanged(param0: number, param1: number, param2: number): void;
					public notifyVideoAvailable(): void;
					public onTimeShiftSeekTo(param0: number): void;
					public onOverlayViewSizeChanged(param0: number, param1: number): void;
					public onTune(param0: android.net.Uri, param1: android.os.Bundle): boolean;
					public notifyTrackSelected(param0: number, param1: string): void;
					public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
					public setOverlayViewEnabled(param0: boolean): void;
					public onTrackballEvent(param0: android.view.MotionEvent): boolean;
					public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
					public notifyChannelRetuned(param0: android.net.Uri): void;
					public notifyContentBlocked(param0: android.media.tv.TvContentRating): void;
					public onSetCaptionEnabled(param0: boolean): void;
					public onTouchEvent(param0: android.view.MotionEvent): boolean;
					public notifyTracksChanged(param0: java.util.List<android.media.tv.TvTrackInfo>): void;
					public notifyContentAllowed(): void;
					public notifyTimeShiftStatusChanged(param0: number): void;
					public onAppPrivateCommand(param0: string, param1: android.os.Bundle): void;
					public onSetStreamVolume(param0: number): void;
					public onSetSurface(param0: android.view.Surface): boolean;
					public onTimeShiftGetStartPosition(): number;
					public onTimeShiftResume(): void;
					public onTimeShiftPause(): void;
					public constructor(param0: android.content.Context);
					public onTimeShiftSetPlaybackParams(param0: android.media.PlaybackParams): void;
					public onTimeShiftGetCurrentPosition(): number;
					public onCreateOverlayView(): android.view.View;
					public onTimeShiftPlay(param0: android.net.Uri): void;
					public onUnblockContent(param0: android.media.tv.TvContentRating): void;
					public notifyVideoUnavailable(param0: number): void;
					public onRelease(): void;
					public onSelectTrack(param0: number, param1: string): boolean;
					public onGenericMotionEvent(param0: android.view.MotionEvent): boolean;
					public layoutSurface(param0: number, param1: number, param2: number, param3: number): void;
					public onTune(param0: android.net.Uri): boolean;
				}
			}
		}
	}
}

declare module android {
	export module media {
		export module tv {
			export class TvRecordingClient extends java.lang.Object {
				public static class: java.lang.Class<android.media.tv.TvRecordingClient>;
				public release(): void;
				public startRecording(param0: android.net.Uri): void;
				public constructor(param0: android.content.Context, param1: string, param2: android.media.tv.TvRecordingClient.RecordingCallback, param3: android.os.Handler);
				public tune(param0: string, param1: android.net.Uri): void;
				public tune(param0: string, param1: android.net.Uri, param2: android.os.Bundle): void;
				public sendAppPrivateCommand(param0: string, param1: android.os.Bundle): void;
				public stopRecording(): void;
			}
			export module TvRecordingClient {
				export abstract class RecordingCallback extends java.lang.Object {
					public static class: java.lang.Class<android.media.tv.TvRecordingClient.RecordingCallback>;
					public onConnectionFailed(param0: string): void;
					public onDisconnected(param0: string): void;
					public onTuned(param0: android.net.Uri): void;
					public onRecordingStopped(param0: android.net.Uri): void;
					public constructor();
					public onError(param0: number): void;
				}
			}
		}
	}
}

declare module android {
	export module media {
		export module tv {
			export class TvTrackInfo extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.media.tv.TvTrackInfo>;
				public static CREATOR: android.os.Parcelable.Creator<android.media.tv.TvTrackInfo>;
				public static TYPE_AUDIO: number;
				public static TYPE_SUBTITLE: number;
				public static TYPE_VIDEO: number;
				public getVideoHeight(): number;
				public getId(): string;
				public getType(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getDescription(): string;
				public getVideoActiveFormatDescription(): number;
				public getAudioSampleRate(): number;
				public getVideoPixelAspectRatio(): number;
				public getAudioChannelCount(): number;
				public getLanguage(): string;
				public getVideoWidth(): number;
				public hashCode(): number;
				public getVideoFrameRate(): number;
				public describeContents(): number;
				public equals(param0: any): boolean;
				public getExtra(): android.os.Bundle;
			}
			export module TvTrackInfo {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.media.tv.TvTrackInfo.Builder>;
					public setLanguage(param0: string): android.media.tv.TvTrackInfo.Builder;
					public setVideoPixelAspectRatio(param0: number): android.media.tv.TvTrackInfo.Builder;
					public setDescription(param0: string): android.media.tv.TvTrackInfo.Builder;
					public setExtra(param0: android.os.Bundle): android.media.tv.TvTrackInfo.Builder;
					public setAudioSampleRate(param0: number): android.media.tv.TvTrackInfo.Builder;
					public build(): android.media.tv.TvTrackInfo;
					public constructor(param0: number, param1: string);
					public setVideoHeight(param0: number): android.media.tv.TvTrackInfo.Builder;
					public setVideoFrameRate(param0: number): android.media.tv.TvTrackInfo.Builder;
					public setVideoWidth(param0: number): android.media.tv.TvTrackInfo.Builder;
					public setVideoActiveFormatDescription(param0: number): android.media.tv.TvTrackInfo.Builder;
					public setAudioChannelCount(param0: number): android.media.tv.TvTrackInfo.Builder;
				}
			}
		}
	}
}

declare module android {
	export module media {
		export module tv {
			export class TvView extends android.view.ViewGroup {
				public static class: java.lang.Class<android.media.tv.TvView>;
				public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback): android.view.ActionMode;
				public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
				public setCaptionEnabled(param0: boolean): void;
				public onNestedScroll(param0: android.view.View, param1: number, param2: number, param3: number, param4: number): void;
				public isLayoutRequested(): boolean;
				public sendAccessibilityEvent(param0: number): void;
				/** @deprecated */
				public invalidateChildInParent(param0: native.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
				public onStartNestedScroll(param0: android.view.View, param1: android.view.View, param2: number): boolean;
				public getTextDirection(): number;
				public onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
				public tune(param0: string, param1: android.net.Uri, param2: android.os.Bundle): void;
				public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
				public createContextMenu(param0: android.view.ContextMenu): void;
				public removeView(param0: android.view.View): void;
				public isTextDirectionResolved(): boolean;
				public getSelectedTrack(param0: number): string;
				public constructor(param0: android.content.Context);
				public dispatchKeyEvent(param0: android.view.KeyEvent): boolean;
				public setZOrderMediaOverlay(param0: boolean): void;
				public setZOrderOnTop(param0: boolean): void;
				/** @deprecated */
				public invalidateChild(param0: android.view.View, param1: android.graphics.Rect): void;
				public isLayoutDirectionResolved(): boolean;
				public dispatchUnhandledInputEvent(param0: android.view.InputEvent): boolean;
				public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
				public setOnUnhandledInputEventListener(param0: android.media.tv.TvView.OnUnhandledInputEventListener): void;
				public showContextMenuForChild(param0: android.view.View): boolean;
				public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
				public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
				public setStreamVolume(param0: number): void;
				public onNestedScrollAccepted(param0: android.view.View, param1: android.view.View, param2: number): void;
				public notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
				public selectTrack(param0: number, param1: string): void;
				/** @deprecated */
				public requestFitSystemWindows(): void;
				public getParentForAccessibility(): android.view.ViewParent;
				public draw(param0: android.graphics.Canvas): void;
				public bringChildToFront(param0: android.view.View): void;
				public tune(param0: string, param1: android.net.Uri): void;
				public addView(param0: android.view.View): void;
				public getTracks(param0: number): java.util.List<android.media.tv.TvTrackInfo>;
				public setTimeShiftPositionCallback(param0: android.media.tv.TvView.TimeShiftPositionCallback): void;
				public addView(param0: android.view.View, param1: number, param2: number): void;
				public timeShiftPlay(param0: string, param1: android.net.Uri): void;
				public recomputeViewAttributes(param0: android.view.View): void;
				public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
				public onAttachedToWindow(): void;
				public clearChildFocus(param0: android.view.View): void;
				public requestDisallowInterceptTouchEvent(param0: boolean): void;
				public focusSearch(param0: number): android.view.View;
				public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
				public dispatchWindowFocusChanged(param0: boolean): void;
				public requestFitSystemWindows(): void;
				public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
				public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
				public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
				public getParent(): android.view.ViewParent;
				public addView(param0: android.view.View, param1: number, param2: android.view.ViewGroup.LayoutParams): void;
				public getTextAlignment(): number;
				public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
				public addView(param0: android.view.View, param1: number): void;
				public onUnhandledInputEvent(param0: android.view.InputEvent): boolean;
				public dispatchTrackballEvent(param0: android.view.MotionEvent): boolean;
				public gatherTransparentRegion(param0: android.graphics.Region): boolean;
				public focusSearch(param0: android.view.View, param1: number): android.view.View;
				public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
				public keyboardNavigationClusterSearch(param0: android.view.View, param1: number): android.view.View;
				public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
				public setCallback(param0: android.media.tv.TvView.TvInputCallback): void;
				public requestTransparentRegion(param0: android.view.View): void;
				public focusableViewAvailable(param0: android.view.View): void;
				public onDetachedFromWindow(): void;
				public dispatchTouchEvent(param0: android.view.MotionEvent): boolean;
				public requestChildRectangleOnScreen(param0: android.view.View, param1: android.graphics.Rect, param2: boolean): boolean;
				public timeShiftSeekTo(param0: number): void;
				public dispatchGenericMotionEvent(param0: android.view.MotionEvent): boolean;
				public isTextAlignmentResolved(): boolean;
				public getLayoutDirection(): number;
				public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
				public canResolveTextDirection(): boolean;
				public canResolveTextAlignment(): boolean;
				public dispatchDraw(param0: android.graphics.Canvas): void;
				public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
				public reset(): void;
				public requestLayout(): void;
				public childDrawableStateChanged(param0: android.view.View): void;
				public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: native.Array<number>): void;
				public onVisibilityChanged(param0: android.view.View, param1: number): void;
				public childHasTransientStateChanged(param0: android.view.View, param1: boolean): void;
				public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
				public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
				public onLayout(param0: boolean, param1: number, param2: number, param3: number, param4: number): void;
				public onStopNestedScroll(param0: android.view.View): void;
				public timeShiftResume(): void;
				public onDescendantInvalidated(param0: android.view.View, param1: android.view.View): void;
				public timeShiftSetPlaybackParams(param0: android.media.PlaybackParams): void;
				public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
				public requestChildFocus(param0: android.view.View, param1: android.view.View): void;
				public onNestedFling(param0: android.view.View, param1: number, param2: number, param3: boolean): boolean;
				public canResolveLayoutDirection(): boolean;
				public requestSendAccessibilityEvent(param0: android.view.View, param1: android.view.accessibility.AccessibilityEvent): boolean;
				public onMeasure(param0: number, param1: number): void;
				public sendAppPrivateCommand(param0: string, param1: android.os.Bundle): void;
				public timeShiftPause(): void;
			}
			export module TvView {
				export class OnUnhandledInputEventListener extends java.lang.Object {
					public static class: java.lang.Class<android.media.tv.TvView.OnUnhandledInputEventListener>;
					/**
					 * Constructs a new instance of the android.media.tv.TvView$OnUnhandledInputEventListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						onUnhandledInputEvent(param0: android.view.InputEvent): boolean;
					});
					public constructor();
					public onUnhandledInputEvent(param0: android.view.InputEvent): boolean;
				}
				export abstract class TimeShiftPositionCallback extends java.lang.Object {
					public static class: java.lang.Class<android.media.tv.TvView.TimeShiftPositionCallback>;
					public constructor();
					public onTimeShiftCurrentPositionChanged(param0: string, param1: number): void;
					public onTimeShiftStartPositionChanged(param0: string, param1: number): void;
				}
				export abstract class TvInputCallback extends java.lang.Object {
					public static class: java.lang.Class<android.media.tv.TvView.TvInputCallback>;
					public onConnectionFailed(param0: string): void;
					public onDisconnected(param0: string): void;
					public onVideoUnavailable(param0: string, param1: number): void;
					public onChannelRetuned(param0: string, param1: android.net.Uri): void;
					public onVideoAvailable(param0: string): void;
					public constructor();
					public onContentAllowed(param0: string): void;
					public onTracksChanged(param0: string, param1: java.util.List<android.media.tv.TvTrackInfo>): void;
					public onContentBlocked(param0: string, param1: android.media.tv.TvContentRating): void;
					public onTimeShiftStatusChanged(param0: string, param1: number): void;
					public onVideoSizeChanged(param0: string, param1: number, param2: number): void;
					public onTrackSelected(param0: string, param1: number, param2: string): void;
				}
			}
		}
	}
}

declare module android {
	export module mtp {
		export class MtpConstants extends java.lang.Object {
			public static class: java.lang.Class<android.mtp.MtpConstants>;
			public static ASSOCIATION_TYPE_GENERIC_FOLDER: number;
			public static FORMAT_3GP_CONTAINER: number;
			public static FORMAT_AAC: number;
			public static FORMAT_ABSTRACT_AUDIO_ALBUM: number;
			public static FORMAT_ABSTRACT_AUDIO_PLAYLIST: number;
			public static FORMAT_ABSTRACT_AV_PLAYLIST: number;
			public static FORMAT_ABSTRACT_DOCUMENT: number;
			public static FORMAT_ABSTRACT_IMAGE_ALBUM: number;
			public static FORMAT_ABSTRACT_MEDIACAST: number;
			public static FORMAT_ABSTRACT_MULTIMEDIA_ALBUM: number;
			public static FORMAT_ABSTRACT_VIDEO_ALBUM: number;
			public static FORMAT_ABSTRACT_VIDEO_PLAYLIST: number;
			public static FORMAT_AIFF: number;
			public static FORMAT_ASF: number;
			public static FORMAT_ASSOCIATION: number;
			public static FORMAT_ASX_PLAYLIST: number;
			public static FORMAT_AUDIBLE: number;
			public static FORMAT_AVI: number;
			public static FORMAT_BMP: number;
			public static FORMAT_DEFINED: number;
			public static FORMAT_DNG: number;
			public static FORMAT_DPOF: number;
			public static FORMAT_EXECUTABLE: number;
			public static FORMAT_EXIF_JPEG: number;
			public static FORMAT_FLAC: number;
			public static FORMAT_GIF: number;
			public static FORMAT_HTML: number;
			public static FORMAT_JFIF: number;
			public static FORMAT_JP2: number;
			public static FORMAT_JPX: number;
			public static FORMAT_M3U_PLAYLIST: number;
			public static FORMAT_MP2: number;
			public static FORMAT_MP3: number;
			public static FORMAT_MP4_CONTAINER: number;
			public static FORMAT_MPEG: number;
			public static FORMAT_MPL_PLAYLIST: number;
			public static FORMAT_MS_EXCEL_SPREADSHEET: number;
			public static FORMAT_MS_POWERPOINT_PRESENTATION: number;
			public static FORMAT_MS_WORD_DOCUMENT: number;
			public static FORMAT_OGG: number;
			public static FORMAT_PICT: number;
			public static FORMAT_PLS_PLAYLIST: number;
			public static FORMAT_PNG: number;
			public static FORMAT_SCRIPT: number;
			public static FORMAT_TEXT: number;
			public static FORMAT_TIFF: number;
			public static FORMAT_TIFF_EP: number;
			public static FORMAT_UNDEFINED: number;
			public static FORMAT_UNDEFINED_AUDIO: number;
			public static FORMAT_UNDEFINED_COLLECTION: number;
			public static FORMAT_UNDEFINED_DOCUMENT: number;
			public static FORMAT_UNDEFINED_FIRMWARE: number;
			public static FORMAT_UNDEFINED_VIDEO: number;
			public static FORMAT_WAV: number;
			public static FORMAT_WINDOWS_IMAGE_FORMAT: number;
			public static FORMAT_WMA: number;
			public static FORMAT_WMV: number;
			public static FORMAT_WPL_PLAYLIST: number;
			public static FORMAT_XML_DOCUMENT: number;
			public static OPERATION_CLOSE_SESSION: number;
			public static OPERATION_COPY_OBJECT: number;
			public static OPERATION_DELETE_OBJECT: number;
			public static OPERATION_FORMAT_STORE: number;
			public static OPERATION_GET_DEVICE_INFO: number;
			public static OPERATION_GET_DEVICE_PROP_DESC: number;
			public static OPERATION_GET_DEVICE_PROP_VALUE: number;
			public static OPERATION_GET_NUM_OBJECTS: number;
			public static OPERATION_GET_OBJECT: number;
			public static OPERATION_GET_OBJECT_HANDLES: number;
			public static OPERATION_GET_OBJECT_INFO: number;
			public static OPERATION_GET_OBJECT_PROPS_SUPPORTED: number;
			public static OPERATION_GET_OBJECT_PROP_DESC: number;
			public static OPERATION_GET_OBJECT_PROP_VALUE: number;
			public static OPERATION_GET_OBJECT_REFERENCES: number;
			public static OPERATION_GET_PARTIAL_OBJECT: number;
			public static OPERATION_GET_PARTIAL_OBJECT_64: number;
			public static OPERATION_GET_STORAGE_INFO: number;
			public static OPERATION_GET_STORAGE_I_DS: number;
			public static OPERATION_GET_THUMB: number;
			public static OPERATION_INITIATE_CAPTURE: number;
			public static OPERATION_INITIATE_OPEN_CAPTURE: number;
			public static OPERATION_MOVE_OBJECT: number;
			public static OPERATION_OPEN_SESSION: number;
			public static OPERATION_POWER_DOWN: number;
			public static OPERATION_RESET_DEVICE: number;
			public static OPERATION_RESET_DEVICE_PROP_VALUE: number;
			public static OPERATION_SELF_TEST: number;
			public static OPERATION_SEND_OBJECT: number;
			public static OPERATION_SEND_OBJECT_INFO: number;
			public static OPERATION_SET_DEVICE_PROP_VALUE: number;
			public static OPERATION_SET_OBJECT_PROP_VALUE: number;
			public static OPERATION_SET_OBJECT_PROTECTION: number;
			public static OPERATION_SET_OBJECT_REFERENCES: number;
			public static OPERATION_SKIP: number;
			public static OPERATION_TERMINATE_OPEN_CAPTURE: number;
			public static PROTECTION_STATUS_NONE: number;
			public static PROTECTION_STATUS_NON_TRANSFERABLE_DATA: number;
			public static PROTECTION_STATUS_READ_ONLY: number;
			public static PROTECTION_STATUS_READ_ONLY_DATA: number;
			public constructor();
			public static isAbstractObject(param0: number): boolean;
		}
	}
}

declare module android {
	export module mtp {
		export class MtpDevice extends java.lang.Object {
			public static class: java.lang.Class<android.mtp.MtpDevice>;
			public getObjectHandles(param0: number, param1: number, param2: number): native.Array<number>;
			public getPartialObject64(param0: number, param1: number, param2: number, param3: native.Array<number>): number;
			public importFile(param0: number, param1: string): boolean;
			public readEvent(param0: android.os.CancellationSignal): android.mtp.MtpEvent;
			public importFile(param0: number, param1: android.os.ParcelFileDescriptor): boolean;
			public open(param0: android.hardware.usb.UsbDeviceConnection): boolean;
			public sendObject(param0: number, param1: number, param2: android.os.ParcelFileDescriptor): boolean;
			public getDeviceId(): number;
			public sendObjectInfo(param0: android.mtp.MtpObjectInfo): android.mtp.MtpObjectInfo;
			public getStorageIds(): native.Array<number>;
			public getParent(param0: number): number;
			public constructor(param0: android.hardware.usb.UsbDevice);
			public getThumbnail(param0: number): native.Array<number>;
			public getObject(param0: number, param1: number): native.Array<number>;
			public getPartialObject(param0: number, param1: number, param2: number, param3: native.Array<number>): number;
			public getObjectInfo(param0: number): android.mtp.MtpObjectInfo;
			public getDeviceInfo(): android.mtp.MtpDeviceInfo;
			public getStorageInfo(param0: number): android.mtp.MtpStorageInfo;
			public deleteObject(param0: number): boolean;
			public toString(): string;
			public getDeviceName(): string;
			public getStorageId(param0: number): number;
			public close(): void;
			public finalize(): void;
		}
	}
}

declare module android {
	export module mtp {
		export class MtpDeviceInfo extends java.lang.Object {
			public static class: java.lang.Class<android.mtp.MtpDeviceInfo>;
			public getModel(): string;
			public isOperationSupported(param0: number): boolean;
			public isEventSupported(param0: number): boolean;
			public getManufacturer(): string;
			public getOperationsSupported(): native.Array<number>;
			public getEventsSupported(): native.Array<number>;
			public getVersion(): string;
			public getSerialNumber(): string;
		}
	}
}

declare module android {
	export module mtp {
		export class MtpEvent extends java.lang.Object {
			public static class: java.lang.Class<android.mtp.MtpEvent>;
			public static EVENT_CANCEL_TRANSACTION: number;
			public static EVENT_CAPTURE_COMPLETE: number;
			public static EVENT_DEVICE_INFO_CHANGED: number;
			public static EVENT_DEVICE_PROP_CHANGED: number;
			public static EVENT_DEVICE_RESET: number;
			public static EVENT_OBJECT_ADDED: number;
			public static EVENT_OBJECT_INFO_CHANGED: number;
			public static EVENT_OBJECT_PROP_CHANGED: number;
			public static EVENT_OBJECT_PROP_DESC_CHANGED: number;
			public static EVENT_OBJECT_REFERENCES_CHANGED: number;
			public static EVENT_OBJECT_REMOVED: number;
			public static EVENT_REQUEST_OBJECT_TRANSFER: number;
			public static EVENT_STORAGE_INFO_CHANGED: number;
			public static EVENT_STORE_ADDED: number;
			public static EVENT_STORE_FULL: number;
			public static EVENT_STORE_REMOVED: number;
			public static EVENT_UNDEFINED: number;
			public static EVENT_UNREPORTED_STATUS: number;
			public getObjectFormatCode(): number;
			public getObjectPropCode(): number;
			public getParameter1(): number;
			public getTransactionId(): number;
			public getEventCode(): number;
			public getParameter2(): number;
			public getDevicePropCode(): number;
			public getParameter3(): number;
			public getStorageId(): number;
			public getObjectHandle(): number;
		}
	}
}

declare module android {
	export module mtp {
		export class MtpObjectInfo extends java.lang.Object {
			public static class: java.lang.Class<android.mtp.MtpObjectInfo>;
			public getThumbPixWidth(): number;
			public getKeywords(): string;
			public getThumbCompressedSize(): number;
			public getProtectionStatus(): number;
			public getThumbPixWidthLong(): number;
			public getObjectHandle(): number;
			public getThumbFormat(): number;
			public getSequenceNumberLong(): number;
			public getImagePixHeightLong(): number;
			public getSequenceNumber(): number;
			public getCompressedSizeLong(): number;
			public getCompressedSize(): number;
			public getImagePixDepthLong(): number;
			public getImagePixWidthLong(): number;
			public getFormat(): number;
			public getThumbPixHeightLong(): number;
			public getImagePixWidth(): number;
			public getImagePixDepth(): number;
			public getStorageId(): number;
			public getAssociationType(): number;
			public getDateModified(): number;
			public getAssociationDesc(): number;
			public getName(): string;
			public getParent(): number;
			public getThumbCompressedSizeLong(): number;
			public getDateCreated(): number;
			public getThumbPixHeight(): number;
			public getImagePixHeight(): number;
		}
		export module MtpObjectInfo {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.mtp.MtpObjectInfo.Builder>;
				public setKeywords(param0: string): android.mtp.MtpObjectInfo.Builder;
				public setThumbFormat(param0: number): android.mtp.MtpObjectInfo.Builder;
				public setThumbPixWidth(param0: number): android.mtp.MtpObjectInfo.Builder;
				public setObjectHandle(param0: number): android.mtp.MtpObjectInfo.Builder;
				public setFormat(param0: number): android.mtp.MtpObjectInfo.Builder;
				public setParent(param0: number): android.mtp.MtpObjectInfo.Builder;
				public setThumbCompressedSize(param0: number): android.mtp.MtpObjectInfo.Builder;
				public constructor(param0: android.mtp.MtpObjectInfo);
				public setProtectionStatus(param0: number): android.mtp.MtpObjectInfo.Builder;
				public setThumbPixHeight(param0: number): android.mtp.MtpObjectInfo.Builder;
				public constructor();
				public setStorageId(param0: number): android.mtp.MtpObjectInfo.Builder;
				public setDateModified(param0: number): android.mtp.MtpObjectInfo.Builder;
				public setSequenceNumber(param0: number): android.mtp.MtpObjectInfo.Builder;
				public build(): android.mtp.MtpObjectInfo;
				public setImagePixWidth(param0: number): android.mtp.MtpObjectInfo.Builder;
				public setAssociationDesc(param0: number): android.mtp.MtpObjectInfo.Builder;
				public setImagePixDepth(param0: number): android.mtp.MtpObjectInfo.Builder;
				public setName(param0: string): android.mtp.MtpObjectInfo.Builder;
				public setDateCreated(param0: number): android.mtp.MtpObjectInfo.Builder;
				public setImagePixHeight(param0: number): android.mtp.MtpObjectInfo.Builder;
				public setCompressedSize(param0: number): android.mtp.MtpObjectInfo.Builder;
				public setAssociationType(param0: number): android.mtp.MtpObjectInfo.Builder;
			}
		}
	}
}

declare module android {
	export module mtp {
		export class MtpStorageInfo extends java.lang.Object {
			public static class: java.lang.Class<android.mtp.MtpStorageInfo>;
			public getVolumeIdentifier(): string;
			public getMaxCapacity(): number;
			public getDescription(): string;
			public getStorageId(): number;
			public getFreeSpace(): number;
		}
	}
}

declare module android {
	export module net {
		export class CaptivePortal extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.net.CaptivePortal>;
			public static CREATOR: android.os.Parcelable.Creator<android.net.CaptivePortal>;
			public ignoreNetwork(): void;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public reportCaptivePortalDismissed(): void;
		}
	}
}

declare module android {
	export module net {
		export class ConnectivityManager extends java.lang.Object {
			public static class: java.lang.Class<android.net.ConnectivityManager>;
			public static ACTION_BACKGROUND_DATA_SETTING_CHANGED: string;
			public static ACTION_CAPTIVE_PORTAL_SIGN_IN: string;
			public static ACTION_RESTRICT_BACKGROUND_CHANGED: string;
			public static CONNECTIVITY_ACTION: string;
			public static DEFAULT_NETWORK_PREFERENCE: number;
			public static EXTRA_CAPTIVE_PORTAL: string;
			public static EXTRA_CAPTIVE_PORTAL_URL: string;
			public static EXTRA_EXTRA_INFO: string;
			public static EXTRA_IS_FAILOVER: string;
			public static EXTRA_NETWORK: string;
			public static EXTRA_NETWORK_INFO: string;
			public static EXTRA_NETWORK_REQUEST: string;
			public static EXTRA_NETWORK_TYPE: string;
			public static EXTRA_NO_CONNECTIVITY: string;
			public static EXTRA_OTHER_NETWORK_INFO: string;
			public static EXTRA_REASON: string;
			public static MULTIPATH_PREFERENCE_HANDOVER: number;
			public static MULTIPATH_PREFERENCE_PERFORMANCE: number;
			public static MULTIPATH_PREFERENCE_RELIABILITY: number;
			public static RESTRICT_BACKGROUND_STATUS_DISABLED: number;
			public static RESTRICT_BACKGROUND_STATUS_ENABLED: number;
			public static RESTRICT_BACKGROUND_STATUS_WHITELISTED: number;
			public static TYPE_BLUETOOTH: number;
			public static TYPE_DUMMY: number;
			public static TYPE_ETHERNET: number;
			public static TYPE_MOBILE: number;
			public static TYPE_MOBILE_DUN: number;
			public static TYPE_MOBILE_HIPRI: number;
			public static TYPE_MOBILE_MMS: number;
			public static TYPE_MOBILE_SUPL: number;
			public static TYPE_VPN: number;
			public static TYPE_WIFI: number;
			public static TYPE_WIMAX: number;
			public getRestrictBackgroundStatus(): number;
			public getNetworkWatchlistConfigHash(): native.Array<number>;
			/** @deprecated */
			public static setProcessDefaultNetwork(param0: android.net.Network): boolean;
			public getDefaultProxy(): android.net.ProxyInfo;
			/** @deprecated */
			public getNetworkPreference(): number;
			public getAllNetworks(): native.Array<android.net.Network>;
			public requestNetwork(param0: android.net.NetworkRequest, param1: android.net.ConnectivityManager.NetworkCallback): void;
			public requestNetwork(param0: android.net.NetworkRequest, param1: android.net.ConnectivityManager.NetworkCallback, param2: number): void;
			/** @deprecated */
			public static isNetworkTypeValid(param0: number): boolean;
			public getActiveNetworkInfo(): android.net.NetworkInfo;
			/** @deprecated */
			public getNetworkInfo(param0: number): android.net.NetworkInfo;
			public registerDefaultNetworkCallback(param0: android.net.ConnectivityManager.NetworkCallback): void;
			public requestNetwork(param0: android.net.NetworkRequest, param1: android.net.ConnectivityManager.NetworkCallback, param2: android.os.Handler): void;
			public releaseNetworkRequest(param0: android.app.PendingIntent): void;
			public requestNetwork(param0: android.net.NetworkRequest, param1: android.net.ConnectivityManager.NetworkCallback, param2: android.os.Handler, param3: number): void;
			public getMultipathPreference(param0: android.net.Network): number;
			public getLinkProperties(param0: android.net.Network): android.net.LinkProperties;
			public getNetworkCapabilities(param0: android.net.Network): android.net.NetworkCapabilities;
			/** @deprecated */
			public setNetworkPreference(param0: number): void;
			public bindProcessToNetwork(param0: android.net.Network): boolean;
			/** @deprecated */
			public getAllNetworkInfo(): native.Array<android.net.NetworkInfo>;
			public requestBandwidthUpdate(param0: android.net.Network): boolean;
			public removeDefaultNetworkActiveListener(param0: android.net.ConnectivityManager.OnNetworkActiveListener): void;
			public getNetworkInfo(param0: android.net.Network): android.net.NetworkInfo;
			public isActiveNetworkMetered(): boolean;
			public requestNetwork(param0: android.net.NetworkRequest, param1: android.app.PendingIntent): void;
			public getActiveNetwork(): android.net.Network;
			/** @deprecated */
			public reportBadNetwork(param0: android.net.Network): void;
			public getBoundNetworkForProcess(): android.net.Network;
			/** @deprecated */
			public static getProcessDefaultNetwork(): android.net.Network;
			public addDefaultNetworkActiveListener(param0: android.net.ConnectivityManager.OnNetworkActiveListener): void;
			public unregisterNetworkCallback(param0: android.net.ConnectivityManager.NetworkCallback): void;
			public registerNetworkCallback(param0: android.net.NetworkRequest, param1: android.net.ConnectivityManager.NetworkCallback): void;
			public reportNetworkConnectivity(param0: android.net.Network, param1: boolean): void;
			public registerNetworkCallback(param0: android.net.NetworkRequest, param1: android.app.PendingIntent): void;
			/** @deprecated */
			public getBackgroundDataSetting(): boolean;
			public isDefaultNetworkActive(): boolean;
			public registerDefaultNetworkCallback(param0: android.net.ConnectivityManager.NetworkCallback, param1: android.os.Handler): void;
			public registerNetworkCallback(param0: android.net.NetworkRequest, param1: android.net.ConnectivityManager.NetworkCallback, param2: android.os.Handler): void;
			public unregisterNetworkCallback(param0: android.app.PendingIntent): void;
		}
		export module ConnectivityManager {
			export class NetworkCallback extends java.lang.Object {
				public static class: java.lang.Class<android.net.ConnectivityManager.NetworkCallback>;
				public onLinkPropertiesChanged(param0: android.net.Network, param1: android.net.LinkProperties): void;
				public onLosing(param0: android.net.Network, param1: number): void;
				public onAvailable(param0: android.net.Network): void;
				public onLost(param0: android.net.Network): void;
				public onCapabilitiesChanged(param0: android.net.Network, param1: android.net.NetworkCapabilities): void;
				public onUnavailable(): void;
				public constructor();
			}
			export class OnNetworkActiveListener extends java.lang.Object {
				public static class: java.lang.Class<android.net.ConnectivityManager.OnNetworkActiveListener>;
				/**
				 * Constructs a new instance of the android.net.ConnectivityManager$OnNetworkActiveListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onNetworkActive(): void;
				});
				public constructor();
				public onNetworkActive(): void;
			}
		}
	}
}

declare module android {
	export module net {
		export class Credentials extends java.lang.Object {
			public static class: java.lang.Class<android.net.Credentials>;
			public constructor(param0: number, param1: number, param2: number);
			public getUid(): number;
			public getGid(): number;
			public getPid(): number;
		}
	}
}

declare module android {
	export module net {
		export class DhcpInfo extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.net.DhcpInfo>;
			public dns1: number;
			public dns2: number;
			public gateway: number;
			public ipAddress: number;
			public leaseDuration: number;
			public netmask: number;
			public serverAddress: number;
			public toString(): string;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public constructor();
		}
	}
}

declare module android {
	export module net {
		export class IpPrefix extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.net.IpPrefix>;
			public static CREATOR: android.os.Parcelable.Creator<android.net.IpPrefix>;
			public equals(param0: any): boolean;
			public toString(): string;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getPrefixLength(): number;
			public getAddress(): java.net.InetAddress;
			public contains(param0: java.net.InetAddress): boolean;
			public getRawAddress(): native.Array<number>;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module net {
		export class IpSecAlgorithm extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.net.IpSecAlgorithm>;
			public static AUTH_CRYPT_AES_GCM: string;
			public static AUTH_HMAC_MD5: string;
			public static AUTH_HMAC_SHA1: string;
			public static AUTH_HMAC_SHA256: string;
			public static AUTH_HMAC_SHA384: string;
			public static AUTH_HMAC_SHA512: string;
			public static CREATOR: android.os.Parcelable.Creator<android.net.IpSecAlgorithm>;
			public static CRYPT_AES_CBC: string;
			public toString(): string;
			public constructor(param0: string, param1: native.Array<number>);
			public constructor(param0: string, param1: native.Array<number>, param2: number);
			public getName(): string;
			public getKey(): native.Array<number>;
			public describeContents(): number;
			public getTruncationLengthBits(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
		}
	}
}

declare module android {
	export module net {
		export class IpSecManager extends java.lang.Object {
			public static class: java.lang.Class<android.net.IpSecManager>;
			public static DIRECTION_IN: number;
			public static DIRECTION_OUT: number;
			public allocateSecurityParameterIndex(param0: java.net.InetAddress): android.net.IpSecManager.SecurityParameterIndex;
			public applyTransportModeTransform(param0: java.io.FileDescriptor, param1: number, param2: android.net.IpSecTransform): void;
			public openUdpEncapsulationSocket(): android.net.IpSecManager.UdpEncapsulationSocket;
			public allocateSecurityParameterIndex(param0: java.net.InetAddress, param1: number): android.net.IpSecManager.SecurityParameterIndex;
			public applyTransportModeTransform(param0: java.net.Socket, param1: number, param2: android.net.IpSecTransform): void;
			public removeTransportModeTransforms(param0: java.net.Socket): void;
			public applyTransportModeTransform(param0: java.net.DatagramSocket, param1: number, param2: android.net.IpSecTransform): void;
			public removeTransportModeTransforms(param0: java.net.DatagramSocket): void;
			public removeTransportModeTransforms(param0: java.io.FileDescriptor): void;
			public openUdpEncapsulationSocket(param0: number): android.net.IpSecManager.UdpEncapsulationSocket;
		}
		export module IpSecManager {
			export class ResourceUnavailableException extends android.util.AndroidException {
				public static class: java.lang.Class<android.net.IpSecManager.ResourceUnavailableException>;
			}
			export class SecurityParameterIndex extends java.lang.Object implements java.lang.AutoCloseable {
				public static class: java.lang.Class<android.net.IpSecManager.SecurityParameterIndex>;
				public getSpi(): number;
				public close(): void;
				public finalize(): void;
				public toString(): string;
			}
			export class SpiUnavailableException extends android.util.AndroidException {
				public static class: java.lang.Class<android.net.IpSecManager.SpiUnavailableException>;
				public getSpi(): number;
			}
			export class UdpEncapsulationSocket extends java.lang.Object implements java.lang.AutoCloseable {
				public static class: java.lang.Class<android.net.IpSecManager.UdpEncapsulationSocket>;
				public close(): void;
				public getFileDescriptor(): java.io.FileDescriptor;
				public getPort(): number;
				public finalize(): void;
				public toString(): string;
			}
		}
	}
}

declare module android {
	export module net {
		export class IpSecTransform extends java.lang.Object implements java.lang.AutoCloseable {
			public static class: java.lang.Class<android.net.IpSecTransform>;
			public toString(): string;
			public close(): void;
			public finalize(): void;
		}
		export module IpSecTransform {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.net.IpSecTransform.Builder>;
				public setAuthentication(param0: android.net.IpSecAlgorithm): android.net.IpSecTransform.Builder;
				public buildTransportModeTransform(param0: java.net.InetAddress, param1: android.net.IpSecManager.SecurityParameterIndex): android.net.IpSecTransform;
				public setEncryption(param0: android.net.IpSecAlgorithm): android.net.IpSecTransform.Builder;
				public constructor(param0: android.content.Context);
				public setIpv4Encapsulation(param0: android.net.IpSecManager.UdpEncapsulationSocket, param1: number): android.net.IpSecTransform.Builder;
				public setAuthenticatedEncryption(param0: android.net.IpSecAlgorithm): android.net.IpSecTransform.Builder;
			}
		}
	}
}

declare module android {
	export module net {
		export class LinkAddress extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.net.LinkAddress>;
			public static CREATOR: android.os.Parcelable.Creator<android.net.LinkAddress>;
			public getScope(): number;
			public equals(param0: any): boolean;
			public toString(): string;
			public getFlags(): number;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getPrefixLength(): number;
			public getAddress(): java.net.InetAddress;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module net {
		export class LinkProperties extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.net.LinkProperties>;
			public static CREATOR: android.os.Parcelable.Creator<android.net.LinkProperties>;
			public equals(param0: any): boolean;
			public getDomains(): string;
			public getInterfaceName(): string;
			public getDnsServers(): java.util.List<java.net.InetAddress>;
			public getHttpProxy(): android.net.ProxyInfo;
			public getRoutes(): java.util.List<android.net.RouteInfo>;
			public toString(): string;
			public describeContents(): number;
			public getLinkAddresses(): java.util.List<android.net.LinkAddress>;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getPrivateDnsServerName(): string;
			public isPrivateDnsActive(): boolean;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module net {
		export class LocalServerSocket extends java.lang.Object implements java.io.Closeable {
			public static class: java.lang.Class<android.net.LocalServerSocket>;
			public getLocalSocketAddress(): android.net.LocalSocketAddress;
			public constructor(param0: java.io.FileDescriptor);
			public accept(): android.net.LocalSocket;
			public getFileDescriptor(): java.io.FileDescriptor;
			public close(): void;
			public constructor(param0: string);
		}
	}
}

declare module android {
	export module net {
		export class LocalSocket extends java.lang.Object implements java.io.Closeable {
			public static class: java.lang.Class<android.net.LocalSocket>;
			public static SOCKET_DGRAM: number;
			public static SOCKET_SEQPACKET: number;
			public static SOCKET_STREAM: number;
			public shutdownOutput(): void;
			public isClosed(): boolean;
			public connect(param0: android.net.LocalSocketAddress, param1: number): void;
			public setSendBufferSize(param0: number): void;
			public connect(param0: android.net.LocalSocketAddress): void;
			public setFileDescriptorsForSend(param0: native.Array<java.io.FileDescriptor>): void;
			public getLocalSocketAddress(): android.net.LocalSocketAddress;
			public isInputShutdown(): boolean;
			public setReceiveBufferSize(param0: number): void;
			public bind(param0: android.net.LocalSocketAddress): void;
			public setSoTimeout(param0: number): void;
			public isConnected(): boolean;
			public getOutputStream(): java.io.OutputStream;
			public getFileDescriptor(): java.io.FileDescriptor;
			public close(): void;
			public isOutputShutdown(): boolean;
			public getPeerCredentials(): android.net.Credentials;
			public getSoTimeout(): number;
			public getSendBufferSize(): number;
			public isBound(): boolean;
			public constructor(param0: number);
			public getReceiveBufferSize(): number;
			public constructor();
			public shutdownInput(): void;
			public toString(): string;
			public getAncillaryFileDescriptors(): native.Array<java.io.FileDescriptor>;
			public getInputStream(): java.io.InputStream;
			public getRemoteSocketAddress(): android.net.LocalSocketAddress;
		}
	}
}

declare module android {
	export module net {
		export class LocalSocketAddress extends java.lang.Object {
			public static class: java.lang.Class<android.net.LocalSocketAddress>;
			public getName(): string;
			public getNamespace(): android.net.LocalSocketAddress.Namespace;
			public constructor(param0: string, param1: android.net.LocalSocketAddress.Namespace);
			public constructor(param0: string);
		}
		export module LocalSocketAddress {
			export class Namespace {
				public static class: java.lang.Class<android.net.LocalSocketAddress.Namespace>;
				public static ABSTRACT: android.net.LocalSocketAddress.Namespace;
				public static RESERVED: android.net.LocalSocketAddress.Namespace;
				public static FILESYSTEM: android.net.LocalSocketAddress.Namespace;
				public static values(): native.Array<android.net.LocalSocketAddress.Namespace>;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
				public static valueOf(param0: string): android.net.LocalSocketAddress.Namespace;
			}
		}
	}
}

declare module android {
	export module net {
		export class MacAddress extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.net.MacAddress>;
			public static BROADCAST_ADDRESS: android.net.MacAddress;
			public static CREATOR: android.os.Parcelable.Creator<android.net.MacAddress>;
			public static TYPE_BROADCAST: number;
			public static TYPE_MULTICAST: number;
			public static TYPE_UNICAST: number;
			public equals(param0: any): boolean;
			public toString(): string;
			public toByteArray(): native.Array<number>;
			public describeContents(): number;
			public static fromString(param0: string): android.net.MacAddress;
			public toOuiString(): string;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public static fromBytes(param0: native.Array<number>): android.net.MacAddress;
			public isLocallyAssigned(): boolean;
			public getAddressType(): number;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module net {
		export class MailTo extends java.lang.Object {
			public static class: java.lang.Class<android.net.MailTo>;
			public static MAILTO_SCHEME: string;
			public getHeaders(): java.util.Map<string,string>;
			public toString(): string;
			public getTo(): string;
			public getSubject(): string;
			public getCc(): string;
			public static isMailTo(param0: string): boolean;
			public static parse(param0: string): android.net.MailTo;
			public getBody(): string;
		}
	}
}

declare module android {
	export module net {
		export class Network extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.net.Network>;
			public static CREATOR: android.os.Parcelable.Creator<android.net.Network>;
			public getSocketFactory(): javax.net.SocketFactory;
			public equals(param0: any): boolean;
			public bindSocket(param0: java.io.FileDescriptor): void;
			public bindSocket(param0: java.net.Socket): void;
			public getNetworkHandle(): number;
			public openConnection(param0: java.net.URL): java.net.URLConnection;
			public bindSocket(param0: java.net.DatagramSocket): void;
			public getByName(param0: string): java.net.InetAddress;
			public static fromNetworkHandle(param0: number): android.net.Network;
			public getAllByName(param0: string): native.Array<java.net.InetAddress>;
			public toString(): string;
			public openConnection(param0: java.net.URL, param1: java.net.Proxy): java.net.URLConnection;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module net {
		export class NetworkCapabilities extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.net.NetworkCapabilities>;
			public static CREATOR: android.os.Parcelable.Creator<android.net.NetworkCapabilities>;
			public static NET_CAPABILITY_CAPTIVE_PORTAL: number;
			public static NET_CAPABILITY_CBS: number;
			public static NET_CAPABILITY_DUN: number;
			public static NET_CAPABILITY_EIMS: number;
			public static NET_CAPABILITY_FOREGROUND: number;
			public static NET_CAPABILITY_FOTA: number;
			public static NET_CAPABILITY_IA: number;
			public static NET_CAPABILITY_IMS: number;
			public static NET_CAPABILITY_INTERNET: number;
			public static NET_CAPABILITY_MMS: number;
			public static NET_CAPABILITY_NOT_CONGESTED: number;
			public static NET_CAPABILITY_NOT_METERED: number;
			public static NET_CAPABILITY_NOT_RESTRICTED: number;
			public static NET_CAPABILITY_NOT_ROAMING: number;
			public static NET_CAPABILITY_NOT_SUSPENDED: number;
			public static NET_CAPABILITY_NOT_VPN: number;
			public static NET_CAPABILITY_RCS: number;
			public static NET_CAPABILITY_SUPL: number;
			public static NET_CAPABILITY_TRUSTED: number;
			public static NET_CAPABILITY_VALIDATED: number;
			public static NET_CAPABILITY_WIFI_P2P: number;
			public static NET_CAPABILITY_XCAP: number;
			public static TRANSPORT_BLUETOOTH: number;
			public static TRANSPORT_CELLULAR: number;
			public static TRANSPORT_ETHERNET: number;
			public static TRANSPORT_LOWPAN: number;
			public static TRANSPORT_VPN: number;
			public static TRANSPORT_WIFI: number;
			public static TRANSPORT_WIFI_AWARE: number;
			public equals(param0: any): boolean;
			public hasCapability(param0: number): boolean;
			public toString(): string;
			public getLinkUpstreamBandwidthKbps(): number;
			public constructor(param0: android.net.NetworkCapabilities);
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public hasTransport(param0: number): boolean;
			public getLinkDownstreamBandwidthKbps(): number;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module net {
		export class NetworkInfo extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.net.NetworkInfo>;
			public static CREATOR: android.os.Parcelable.Creator<android.net.NetworkInfo>;
			public getSubtype(): number;
			public getDetailedState(): android.net.NetworkInfo.DetailedState;
			public getSubtypeName(): string;
			/** @deprecated */
			public getType(): number;
			/** @deprecated */
			public isFailover(): boolean;
			/** @deprecated */
			public getReason(): string;
			public getExtraInfo(): string;
			/** @deprecated */
			public isRoaming(): boolean;
			/** @deprecated */
			public getTypeName(): string;
			public toString(): string;
			/** @deprecated */
			public isConnectedOrConnecting(): boolean;
			/** @deprecated */
			public isAvailable(): boolean;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public isConnected(): boolean;
			/** @deprecated */
			public getState(): android.net.NetworkInfo.State;
		}
		export module NetworkInfo {
			export class DetailedState {
				public static class: java.lang.Class<android.net.NetworkInfo.DetailedState>;
				public static IDLE: android.net.NetworkInfo.DetailedState;
				public static SCANNING: android.net.NetworkInfo.DetailedState;
				public static CONNECTING: android.net.NetworkInfo.DetailedState;
				public static AUTHENTICATING: android.net.NetworkInfo.DetailedState;
				public static OBTAINING_IPADDR: android.net.NetworkInfo.DetailedState;
				public static CONNECTED: android.net.NetworkInfo.DetailedState;
				public static SUSPENDED: android.net.NetworkInfo.DetailedState;
				public static DISCONNECTING: android.net.NetworkInfo.DetailedState;
				public static DISCONNECTED: android.net.NetworkInfo.DetailedState;
				public static FAILED: android.net.NetworkInfo.DetailedState;
				public static BLOCKED: android.net.NetworkInfo.DetailedState;
				public static VERIFYING_POOR_LINK: android.net.NetworkInfo.DetailedState;
				public static CAPTIVE_PORTAL_CHECK: android.net.NetworkInfo.DetailedState;
				public static values(): native.Array<android.net.NetworkInfo.DetailedState>;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
				public static valueOf(param0: string): android.net.NetworkInfo.DetailedState;
			}
			export class State {
				public static class: java.lang.Class<android.net.NetworkInfo.State>;
				public static CONNECTING: android.net.NetworkInfo.State;
				public static CONNECTED: android.net.NetworkInfo.State;
				public static SUSPENDED: android.net.NetworkInfo.State;
				public static DISCONNECTING: android.net.NetworkInfo.State;
				public static DISCONNECTED: android.net.NetworkInfo.State;
				public static UNKNOWN: android.net.NetworkInfo.State;
				public static values(): native.Array<android.net.NetworkInfo.State>;
				public static valueOf(param0: string): android.net.NetworkInfo.State;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			}
		}
	}
}

declare module android {
	export module net {
		export class NetworkRequest extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.net.NetworkRequest>;
			public static CREATOR: android.os.Parcelable.Creator<android.net.NetworkRequest>;
			public equals(param0: any): boolean;
			public hasCapability(param0: number): boolean;
			public toString(): string;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public hasTransport(param0: number): boolean;
			public hashCode(): number;
		}
		export module NetworkRequest {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.net.NetworkRequest.Builder>;
				public addTransportType(param0: number): android.net.NetworkRequest.Builder;
				public removeTransportType(param0: number): android.net.NetworkRequest.Builder;
				public build(): android.net.NetworkRequest;
				public addCapability(param0: number): android.net.NetworkRequest.Builder;
				public removeCapability(param0: number): android.net.NetworkRequest.Builder;
				public setNetworkSpecifier(param0: string): android.net.NetworkRequest.Builder;
				public setNetworkSpecifier(param0: android.net.NetworkSpecifier): android.net.NetworkRequest.Builder;
				public constructor();
			}
		}
	}
}

declare module android {
	export module net {
		export abstract class NetworkSpecifier extends java.lang.Object {
			public static class: java.lang.Class<android.net.NetworkSpecifier>;
		}
	}
}

declare module android {
	export module net {
		export class ParseException extends java.lang.RuntimeException {
			public static class: java.lang.Class<android.net.ParseException>;
			public response: string;
		}
	}
}

declare module android {
	export module net {
		export class Proxy extends java.lang.Object {
			public static class: java.lang.Class<android.net.Proxy>;
			public static EXTRA_PROXY_INFO: string;
			public static PROXY_CHANGE_ACTION: string;
			/** @deprecated */
			public static getPort(param0: android.content.Context): number;
			/** @deprecated */
			public static getDefaultHost(): string;
			/** @deprecated */
			public static getDefaultPort(): number;
			public constructor();
			/** @deprecated */
			public static getHost(param0: android.content.Context): string;
		}
	}
}

declare module android {
	export module net {
		export class ProxyInfo extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.net.ProxyInfo>;
			public static CREATOR: android.os.Parcelable.Creator<android.net.ProxyInfo>;
			public static buildDirectProxy(param0: string, param1: number, param2: java.util.List<string>): android.net.ProxyInfo;
			public equals(param0: any): boolean;
			public toString(): string;
			public getExclusionList(): native.Array<string>;
			public static buildDirectProxy(param0: string, param1: number): android.net.ProxyInfo;
			public describeContents(): number;
			public getHost(): string;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getPacFileUrl(): android.net.Uri;
			public getPort(): number;
			public static buildPacProxy(param0: android.net.Uri): android.net.ProxyInfo;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module net {
		export class RouteInfo extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.net.RouteInfo>;
			public static CREATOR: android.os.Parcelable.Creator<android.net.RouteInfo>;
			public equals(param0: any): boolean;
			public toString(): string;
			public isDefaultRoute(): boolean;
			public matches(param0: java.net.InetAddress): boolean;
			public getGateway(): java.net.InetAddress;
			public describeContents(): number;
			public getInterface(): string;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getDestination(): android.net.IpPrefix;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module net {
		export class SSLCertificateSocketFactory extends javax.net.ssl.SSLSocketFactory {
			public static class: java.lang.Class<android.net.SSLCertificateSocketFactory>;
			public static getInsecure(param0: number, param1: android.net.SSLSessionCache): javax.net.ssl.SSLSocketFactory;
			public createSocket(param0: string, param1: number): java.net.Socket;
			public createSocket(param0: java.net.InetAddress, param1: number): java.net.Socket;
			public setNpnProtocols(param0: native.Array<native.Array<number>>): void;
			public setTrustManagers(param0: native.Array<javax.net.ssl.TrustManager>): void;
			public getSupportedCipherSuites(): native.Array<string>;
			public getNpnSelectedProtocol(param0: java.net.Socket): native.Array<number>;
			public getDefaultCipherSuites(): native.Array<string>;
			public static getDefault(param0: number, param1: android.net.SSLSessionCache): javax.net.ssl.SSLSocketFactory;
			public constructor();
			public setHostname(param0: java.net.Socket, param1: string): void;
			/** @deprecated */
			public constructor(param0: number);
			public createSocket(param0: java.net.Socket, param1: string, param2: number, param3: boolean): java.net.Socket;
			public static getDefault(): javax.net.SocketFactory;
			public static getDefault(param0: number): javax.net.SocketFactory;
			public setUseSessionTickets(param0: java.net.Socket, param1: boolean): void;
			public createSocket(): java.net.Socket;
			public createSocket(param0: java.net.InetAddress, param1: number, param2: java.net.InetAddress, param3: number): java.net.Socket;
			public setKeyManagers(param0: native.Array<javax.net.ssl.KeyManager>): void;
			public createSocket(param0: string, param1: number, param2: java.net.InetAddress, param3: number): java.net.Socket;
		}
	}
}

declare module android {
	export module net {
		export class SSLSessionCache extends java.lang.Object {
			public static class: java.lang.Class<android.net.SSLSessionCache>;
			public constructor(param0: android.content.Context);
			public constructor(param0: java.io.File);
		}
	}
}

declare module android {
	export module net {
		export class TrafficStats extends java.lang.Object {
			public static class: java.lang.Class<android.net.TrafficStats>;
			public static UNSUPPORTED: number;
			/** @deprecated */
			public static getUidUdpRxPackets(param0: number): number;
			public static incrementOperationCount(param0: number, param1: number): void;
			public static setThreadStatsUid(param0: number): void;
			public static tagSocket(param0: java.net.Socket): void;
			/** @deprecated */
			public static getUidTcpRxSegments(param0: number): number;
			public static untagFileDescriptor(param0: java.io.FileDescriptor): void;
			public static tagFileDescriptor(param0: java.io.FileDescriptor): void;
			public static getUidTxBytes(param0: number): number;
			public static setThreadStatsTag(param0: number): void;
			/** @deprecated */
			public static getUidUdpTxPackets(param0: number): number;
			public static getThreadStatsTag(): number;
			public static getTotalRxBytes(): number;
			/** @deprecated */
			public static getUidTcpTxBytes(param0: number): number;
			public static getAndSetThreadStatsTag(param0: number): number;
			public static clearThreadStatsTag(): void;
			public static clearThreadStatsUid(): void;
			public static untagDatagramSocket(param0: java.net.DatagramSocket): void;
			public static untagSocket(param0: java.net.Socket): void;
			public static tagDatagramSocket(param0: java.net.DatagramSocket): void;
			/** @deprecated */
			public static getUidUdpRxBytes(param0: number): number;
			/** @deprecated */
			public static getUidTcpTxSegments(param0: number): number;
			public static getMobileTxPackets(): number;
			public static getUidRxPackets(param0: number): number;
			public static getMobileRxBytes(): number;
			public static getTotalTxBytes(): number;
			public static getUidTxPackets(param0: number): number;
			public static getUidRxBytes(param0: number): number;
			public constructor();
			public static incrementOperationCount(param0: number): void;
			public static getMobileRxPackets(): number;
			/** @deprecated */
			public static getUidTcpRxBytes(param0: number): number;
			public static getMobileTxBytes(): number;
			public static getThreadStatsUid(): number;
			public static getTotalRxPackets(): number;
			public static getTotalTxPackets(): number;
			/** @deprecated */
			public static getUidUdpTxBytes(param0: number): number;
		}
	}
}

declare module android {
	export module net {
		export abstract class Uri extends java.lang.Object {
			public static class: java.lang.Class<android.net.Uri>;
			public static CREATOR: android.os.Parcelable.Creator<android.net.Uri>;
			public static EMPTY: android.net.Uri;
			public static decode(param0: string): string;
			public equals(param0: any): boolean;
			public getFragment(): string;
			public static encode(param0: string, param1: string): string;
			public getEncodedPath(): string;
			public getUserInfo(): string;
			public getHost(): string;
			public getEncodedAuthority(): string;
			public isHierarchical(): boolean;
			public getQueryParameter(param0: string): string;
			public getSchemeSpecificPart(): string;
			public getAuthority(): string;
			public getScheme(): string;
			public getEncodedSchemeSpecificPart(): string;
			public buildUpon(): android.net.Uri.Builder;
			public getQueryParameterNames(): java.util.Set<string>;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getQuery(): string;
			public getBooleanQueryParameter(param0: string, param1: boolean): boolean;
			public isOpaque(): boolean;
			public normalizeScheme(): android.net.Uri;
			public static writeToParcel(param0: android.os.Parcel, param1: android.net.Uri): void;
			public getEncodedUserInfo(): string;
			public getEncodedQuery(): string;
			public static encode(param0: string): string;
			public getPathSegments(): java.util.List<string>;
			public getLastPathSegment(): string;
			public static fromFile(param0: java.io.File): android.net.Uri;
			public isRelative(): boolean;
			public getEncodedFragment(): string;
			public static withAppendedPath(param0: android.net.Uri, param1: string): android.net.Uri;
			public getPath(): string;
			public toString(): string;
			public static parse(param0: string): android.net.Uri;
			public isAbsolute(): boolean;
			public compareTo(param0: android.net.Uri): number;
			public static fromParts(param0: string, param1: string, param2: string): android.net.Uri;
			public describeContents(): number;
			public getPort(): number;
			public getQueryParameters(param0: string): java.util.List<string>;
			public hashCode(): number;
		}
		export module Uri {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.net.Uri.Builder>;
				public build(): android.net.Uri;
				public scheme(param0: string): android.net.Uri.Builder;
				public appendEncodedPath(param0: string): android.net.Uri.Builder;
				public appendQueryParameter(param0: string, param1: string): android.net.Uri.Builder;
				public encodedOpaquePart(param0: string): android.net.Uri.Builder;
				public encodedFragment(param0: string): android.net.Uri.Builder;
				public encodedQuery(param0: string): android.net.Uri.Builder;
				public appendPath(param0: string): android.net.Uri.Builder;
				public toString(): string;
				public fragment(param0: string): android.net.Uri.Builder;
				public constructor();
				public encodedPath(param0: string): android.net.Uri.Builder;
				public clearQuery(): android.net.Uri.Builder;
				public authority(param0: string): android.net.Uri.Builder;
				public path(param0: string): android.net.Uri.Builder;
				public query(param0: string): android.net.Uri.Builder;
				public opaquePart(param0: string): android.net.Uri.Builder;
				public encodedAuthority(param0: string): android.net.Uri.Builder;
			}
		}
	}
}

declare module android {
	export module net {
		export class UrlQuerySanitizer extends java.lang.Object {
			public static class: java.lang.Class<android.net.UrlQuerySanitizer>;
			public static getAllButNulAndAngleBracketsLegal(): android.net.UrlQuerySanitizer.ValueSanitizer;
			public parseQuery(param0: string): void;
			public static getAmpLegal(): android.net.UrlQuerySanitizer.ValueSanitizer;
			public getEffectiveValueSanitizer(param0: string): android.net.UrlQuerySanitizer.ValueSanitizer;
			public parseEntry(param0: string, param1: string): void;
			public static getAmpAndSpaceLegal(): android.net.UrlQuerySanitizer.ValueSanitizer;
			public static getSpaceLegal(): android.net.UrlQuerySanitizer.ValueSanitizer;
			public getAllowUnregisteredParamaters(): boolean;
			public setPreferFirstRepeatedParameter(param0: boolean): void;
			public constructor(param0: string);
			public parseUrl(param0: string): void;
			public getValueSanitizer(param0: string): android.net.UrlQuerySanitizer.ValueSanitizer;
			public getPreferFirstRepeatedParameter(): boolean;
			public clear(): void;
			public static getAllButWhitespaceLegal(): android.net.UrlQuerySanitizer.ValueSanitizer;
			public static getAllButNulLegal(): android.net.UrlQuerySanitizer.ValueSanitizer;
			public static getUrlAndSpaceLegal(): android.net.UrlQuerySanitizer.ValueSanitizer;
			public isHexDigit(param0: string): boolean;
			public unescape(param0: string): string;
			public getParameterList(): java.util.List<android.net.UrlQuerySanitizer.ParameterValuePair>;
			public static getUrlLegal(): android.net.UrlQuerySanitizer.ValueSanitizer;
			public addSanitizedEntry(param0: string, param1: string): void;
			public decodeHexDigit(param0: string): number;
			public constructor();
			public setUnregisteredParameterValueSanitizer(param0: android.net.UrlQuerySanitizer.ValueSanitizer): void;
			public getValue(param0: string): string;
			public hasParameter(param0: string): boolean;
			public getUnregisteredParameterValueSanitizer(): android.net.UrlQuerySanitizer.ValueSanitizer;
			public registerParameter(param0: string, param1: android.net.UrlQuerySanitizer.ValueSanitizer): void;
			public static getAllIllegal(): android.net.UrlQuerySanitizer.ValueSanitizer;
			public registerParameters(param0: native.Array<string>, param1: android.net.UrlQuerySanitizer.ValueSanitizer): void;
			public setAllowUnregisteredParamaters(param0: boolean): void;
			public getParameterSet(): java.util.Set<string>;
		}
		export module UrlQuerySanitizer {
			export class IllegalCharacterValueSanitizer extends java.lang.Object implements android.net.UrlQuerySanitizer.ValueSanitizer {
				public static class: java.lang.Class<android.net.UrlQuerySanitizer.IllegalCharacterValueSanitizer>;
				public static ALL_BUT_NUL_AND_ANGLE_BRACKETS_LEGAL: number;
				public static ALL_BUT_NUL_LEGAL: number;
				public static ALL_BUT_WHITESPACE_LEGAL: number;
				public static ALL_ILLEGAL: number;
				public static ALL_OK: number;
				public static ALL_WHITESPACE_OK: number;
				public static AMP_AND_SPACE_LEGAL: number;
				public static AMP_LEGAL: number;
				public static AMP_OK: number;
				public static DQUOTE_OK: number;
				public static GT_OK: number;
				public static LT_OK: number;
				public static NON_7_BIT_ASCII_OK: number;
				public static NUL_OK: number;
				public static OTHER_WHITESPACE_OK: number;
				public static PCT_OK: number;
				public static SCRIPT_URL_OK: number;
				public static SPACE_LEGAL: number;
				public static SPACE_OK: number;
				public static SQUOTE_OK: number;
				public static URL_AND_SPACE_LEGAL: number;
				public static URL_LEGAL: number;
				public sanitize(param0: string): string;
				public constructor(param0: number);
			}
			export class ParameterValuePair extends java.lang.Object {
				public static class: java.lang.Class<android.net.UrlQuerySanitizer.ParameterValuePair>;
				public mParameter: string;
				public mValue: string;
				public constructor(param0: android.net.UrlQuerySanitizer, param1: string, param2: string);
			}
			export class ValueSanitizer extends java.lang.Object {
				public static class: java.lang.Class<android.net.UrlQuerySanitizer.ValueSanitizer>;
				/**
				 * Constructs a new instance of the android.net.UrlQuerySanitizer$ValueSanitizer interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					sanitize(param0: string): string;
				});
				public constructor();
				public sanitize(param0: string): string;
			}
		}
	}
}

declare module android {
	export module net {
		export class VpnService extends android.app.Service {
			public static class: java.lang.Class<android.net.VpnService>;
			public static SERVICE_INTERFACE: string;
			public static SERVICE_META_DATA_SUPPORTS_ALWAYS_ON: string;
			public static prepare(param0: android.content.Context): android.content.Intent;
			public protect(param0: number): boolean;
			public onTrimMemory(param0: number): void;
			public onBind(param0: android.content.Intent): android.os.IBinder;
			public protect(param0: java.net.Socket): boolean;
			public constructor(param0: android.content.Context);
			public onRevoke(): void;
			public setUnderlyingNetworks(param0: native.Array<android.net.Network>): boolean;
			public constructor();
			public protect(param0: java.net.DatagramSocket): boolean;
		}
		export module VpnService {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.net.VpnService.Builder>;
				public addRoute(param0: java.net.InetAddress, param1: number): android.net.VpnService.Builder;
				public addSearchDomain(param0: string): android.net.VpnService.Builder;
				public allowFamily(param0: number): android.net.VpnService.Builder;
				public setMtu(param0: number): android.net.VpnService.Builder;
				public addDisallowedApplication(param0: string): android.net.VpnService.Builder;
				public setUnderlyingNetworks(param0: native.Array<android.net.Network>): android.net.VpnService.Builder;
				public addAddress(param0: string, param1: number): android.net.VpnService.Builder;
				public setSession(param0: string): android.net.VpnService.Builder;
				public addAddress(param0: java.net.InetAddress, param1: number): android.net.VpnService.Builder;
				public setBlocking(param0: boolean): android.net.VpnService.Builder;
				public setConfigureIntent(param0: android.app.PendingIntent): android.net.VpnService.Builder;
				public addDnsServer(param0: string): android.net.VpnService.Builder;
				public allowBypass(): android.net.VpnService.Builder;
				public addDnsServer(param0: java.net.InetAddress): android.net.VpnService.Builder;
				public addRoute(param0: string, param1: number): android.net.VpnService.Builder;
				public addAllowedApplication(param0: string): android.net.VpnService.Builder;
				public constructor(param0: android.net.VpnService);
				public establish(): android.os.ParcelFileDescriptor;
			}
		}
	}
}

declare module android {
	export module net {
		export module http {
			export class HttpResponseCache extends java.net.ResponseCache implements java.io.Closeable {
				public static class: java.lang.Class<android.net.http.HttpResponseCache>;
				public getRequestCount(): number;
				public put(param0: java.net.URI, param1: java.net.URLConnection): java.net.CacheRequest;
				public getHitCount(): number;
				public close(): void;
				public static getInstalled(): android.net.http.HttpResponseCache;
				public maxSize(): number;
				public delete(): void;
				public static install(param0: java.io.File, param1: number): android.net.http.HttpResponseCache;
				public getNetworkCount(): number;
				public get(param0: java.net.URI, param1: string, param2: java.util.Map<string,java.util.List<string>>): java.net.CacheResponse;
				public size(): number;
				public flush(): void;
			}
		}
	}
}

declare module android {
	export module net {
		export module http {
			export class SslCertificate extends java.lang.Object {
				public static class: java.lang.Class<android.net.http.SslCertificate>;
				public getValidNotBeforeDate(): java.util.Date;
				/** @deprecated */
				public constructor(param0: string, param1: string, param2: string, param3: string);
				public constructor(param0: java.security.cert.X509Certificate);
				public getIssuedTo(): android.net.http.SslCertificate.DName;
				/** @deprecated */
				public getValidNotAfter(): string;
				public getIssuedBy(): android.net.http.SslCertificate.DName;
				public getValidNotAfterDate(): java.util.Date;
				public static restoreState(param0: android.os.Bundle): android.net.http.SslCertificate;
				/** @deprecated */
				public constructor(param0: string, param1: string, param2: java.util.Date, param3: java.util.Date);
				public toString(): string;
				public static saveState(param0: android.net.http.SslCertificate): android.os.Bundle;
				/** @deprecated */
				public getValidNotBefore(): string;
			}
			export module SslCertificate {
				export class DName extends java.lang.Object {
					public static class: java.lang.Class<android.net.http.SslCertificate.DName>;
					public getCName(): string;
					public getDName(): string;
					public getOName(): string;
					public getUName(): string;
					public constructor(param0: android.net.http.SslCertificate, param1: string);
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module http {
			export class SslError extends java.lang.Object {
				public static class: java.lang.Class<android.net.http.SslError>;
				public static SSL_DATE_INVALID: number;
				public static SSL_EXPIRED: number;
				public static SSL_IDMISMATCH: number;
				public static SSL_INVALID: number;
				public static SSL_MAX_ERROR: number;
				public static SSL_NOTYETVALID: number;
				public static SSL_UNTRUSTED: number;
				public hasError(param0: number): boolean;
				public addError(param0: number): boolean;
				public getCertificate(): android.net.http.SslCertificate;
				public getPrimaryError(): number;
				public constructor(param0: number, param1: android.net.http.SslCertificate, param2: string);
				public getUrl(): string;
				/** @deprecated */
				public constructor(param0: number, param1: java.security.cert.X509Certificate);
				public constructor(param0: number, param1: java.security.cert.X509Certificate, param2: string);
				public toString(): string;
				/** @deprecated */
				public constructor(param0: number, param1: android.net.http.SslCertificate);
			}
		}
	}
}

declare module android {
	export module net {
		export module http {
			export class X509TrustManagerExtensions extends java.lang.Object {
				public static class: java.lang.Class<android.net.http.X509TrustManagerExtensions>;
				public constructor(param0: javax.net.ssl.X509TrustManager);
				public isUserAddedCertificate(param0: java.security.cert.X509Certificate): boolean;
				public isSameTrustConfiguration(param0: string, param1: string): boolean;
				public checkServerTrusted(param0: native.Array<java.security.cert.X509Certificate>, param1: string, param2: string): java.util.List<java.security.cert.X509Certificate>;
			}
		}
	}
}

declare module android {
	export module net {
		export module nsd {
			export class NsdManager extends java.lang.Object {
				public static class: java.lang.Class<android.net.nsd.NsdManager>;
				public static ACTION_NSD_STATE_CHANGED: string;
				public static EXTRA_NSD_STATE: string;
				public static FAILURE_ALREADY_ACTIVE: number;
				public static FAILURE_INTERNAL_ERROR: number;
				public static FAILURE_MAX_LIMIT: number;
				public static NSD_STATE_DISABLED: number;
				public static NSD_STATE_ENABLED: number;
				public static PROTOCOL_DNS_SD: number;
				public discoverServices(param0: string, param1: number, param2: android.net.nsd.NsdManager.DiscoveryListener): void;
				public stopServiceDiscovery(param0: android.net.nsd.NsdManager.DiscoveryListener): void;
				public resolveService(param0: android.net.nsd.NsdServiceInfo, param1: android.net.nsd.NsdManager.ResolveListener): void;
				public unregisterService(param0: android.net.nsd.NsdManager.RegistrationListener): void;
				public registerService(param0: android.net.nsd.NsdServiceInfo, param1: number, param2: android.net.nsd.NsdManager.RegistrationListener): void;
			}
			export module NsdManager {
				export class DiscoveryListener extends java.lang.Object {
					public static class: java.lang.Class<android.net.nsd.NsdManager.DiscoveryListener>;
					/**
					 * Constructs a new instance of the android.net.nsd.NsdManager$DiscoveryListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						onStartDiscoveryFailed(param0: string, param1: number): void;
						onStopDiscoveryFailed(param0: string, param1: number): void;
						onDiscoveryStarted(param0: string): void;
						onDiscoveryStopped(param0: string): void;
						onServiceFound(param0: android.net.nsd.NsdServiceInfo): void;
						onServiceLost(param0: android.net.nsd.NsdServiceInfo): void;
					});
					public constructor();
					public onServiceLost(param0: android.net.nsd.NsdServiceInfo): void;
					public onServiceFound(param0: android.net.nsd.NsdServiceInfo): void;
					public onStartDiscoveryFailed(param0: string, param1: number): void;
					public onDiscoveryStarted(param0: string): void;
					public onDiscoveryStopped(param0: string): void;
					public onStopDiscoveryFailed(param0: string, param1: number): void;
				}
				export class RegistrationListener extends java.lang.Object {
					public static class: java.lang.Class<android.net.nsd.NsdManager.RegistrationListener>;
					/**
					 * Constructs a new instance of the android.net.nsd.NsdManager$RegistrationListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						onRegistrationFailed(param0: android.net.nsd.NsdServiceInfo, param1: number): void;
						onUnregistrationFailed(param0: android.net.nsd.NsdServiceInfo, param1: number): void;
						onServiceRegistered(param0: android.net.nsd.NsdServiceInfo): void;
						onServiceUnregistered(param0: android.net.nsd.NsdServiceInfo): void;
					});
					public constructor();
					public onRegistrationFailed(param0: android.net.nsd.NsdServiceInfo, param1: number): void;
					public onUnregistrationFailed(param0: android.net.nsd.NsdServiceInfo, param1: number): void;
					public onServiceRegistered(param0: android.net.nsd.NsdServiceInfo): void;
					public onServiceUnregistered(param0: android.net.nsd.NsdServiceInfo): void;
				}
				export class ResolveListener extends java.lang.Object {
					public static class: java.lang.Class<android.net.nsd.NsdManager.ResolveListener>;
					/**
					 * Constructs a new instance of the android.net.nsd.NsdManager$ResolveListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						onResolveFailed(param0: android.net.nsd.NsdServiceInfo, param1: number): void;
						onServiceResolved(param0: android.net.nsd.NsdServiceInfo): void;
					});
					public constructor();
					public onResolveFailed(param0: android.net.nsd.NsdServiceInfo, param1: number): void;
					public onServiceResolved(param0: android.net.nsd.NsdServiceInfo): void;
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module nsd {
			export class NsdServiceInfo extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.net.nsd.NsdServiceInfo>;
				public static CREATOR: android.os.Parcelable.Creator<android.net.nsd.NsdServiceInfo>;
				public setServiceType(param0: string): void;
				public getServiceName(): string;
				public setPort(param0: number): void;
				public getPort(): number;
				public getHost(): java.net.InetAddress;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getAttributes(): java.util.Map<string,native.Array<number>>;
				public getServiceType(): string;
				public toString(): string;
				public constructor();
				public removeAttribute(param0: string): void;
				public setHost(param0: java.net.InetAddress): void;
				public setAttribute(param0: string, param1: string): void;
				public describeContents(): number;
				public setServiceName(param0: string): void;
			}
		}
	}
}

declare module android {
	export module net {
		export module rtp {
			export class AudioCodec extends java.lang.Object {
				public static class: java.lang.Class<android.net.rtp.AudioCodec>;
				public static AMR: android.net.rtp.AudioCodec;
				public static GSM: android.net.rtp.AudioCodec;
				public static GSM_EFR: android.net.rtp.AudioCodec;
				public static PCMA: android.net.rtp.AudioCodec;
				public static PCMU: android.net.rtp.AudioCodec;
				public fmtp: string;
				public rtpmap: string;
				public type: number;
				public static getCodec(param0: number, param1: string, param2: string): android.net.rtp.AudioCodec;
				public static getCodecs(): native.Array<android.net.rtp.AudioCodec>;
			}
		}
	}
}

declare module android {
	export module net {
		export module rtp {
			export class AudioGroup extends java.lang.Object {
				public static class: java.lang.Class<android.net.rtp.AudioGroup>;
				public static MODE_ECHO_SUPPRESSION: number;
				public static MODE_MUTED: number;
				public static MODE_NORMAL: number;
				public static MODE_ON_HOLD: number;
				public getMode(): number;
				public setMode(param0: number): void;
				public sendDtmf(param0: number): void;
				public clear(): void;
				public finalize(): void;
				public getStreams(): native.Array<android.net.rtp.AudioStream>;
				public constructor();
			}
		}
	}
}

declare module android {
	export module net {
		export module rtp {
			export class AudioStream extends android.net.rtp.RtpStream {
				public static class: java.lang.Class<android.net.rtp.AudioStream>;
				public setCodec(param0: android.net.rtp.AudioCodec): void;
				public getGroup(): android.net.rtp.AudioGroup;
				public getDtmfType(): number;
				public isBusy(): boolean;
				public join(param0: android.net.rtp.AudioGroup): void;
				public getCodec(): android.net.rtp.AudioCodec;
				public setDtmfType(param0: number): void;
				public constructor(param0: java.net.InetAddress);
			}
		}
	}
}

declare module android {
	export module net {
		export module rtp {
			export class RtpStream extends java.lang.Object {
				public static class: java.lang.Class<android.net.rtp.RtpStream>;
				public static MODE_NORMAL: number;
				public static MODE_RECEIVE_ONLY: number;
				public static MODE_SEND_ONLY: number;
				public getMode(): number;
				public setMode(param0: number): void;
				public getLocalPort(): number;
				public release(): void;
				public isBusy(): boolean;
				public getRemotePort(): number;
				public finalize(): void;
				public getLocalAddress(): java.net.InetAddress;
				public associate(param0: java.net.InetAddress, param1: number): void;
				public getRemoteAddress(): java.net.InetAddress;
			}
		}
	}
}

declare module android {
	export module net {
		export module sip {
			export class SipAudioCall extends java.lang.Object {
				public static class: java.lang.Class<android.net.sip.SipAudioCall>;
				public close(): void;
				public toggleMute(): void;
				public constructor(param0: android.content.Context, param1: android.net.sip.SipProfile);
				public setListener(param0: android.net.sip.SipAudioCall.Listener): void;
				public startAudio(): void;
				public setSpeakerMode(param0: boolean): void;
				public isInCall(): boolean;
				public isMuted(): boolean;
				public endCall(): void;
				public getLocalProfile(): android.net.sip.SipProfile;
				public sendDtmf(param0: number, param1: android.os.Message): void;
				public sendDtmf(param0: number): void;
				public getState(): number;
				public getPeerProfile(): android.net.sip.SipProfile;
				public attachCall(param0: android.net.sip.SipSession, param1: string): void;
				public makeCall(param0: android.net.sip.SipProfile, param1: android.net.sip.SipSession, param2: number): void;
				public setListener(param0: android.net.sip.SipAudioCall.Listener, param1: boolean): void;
				public isOnHold(): boolean;
				public holdCall(param0: number): void;
				public answerCall(param0: number): void;
				public continueCall(param0: number): void;
			}
			export module SipAudioCall {
				export class Listener extends java.lang.Object {
					public static class: java.lang.Class<android.net.sip.SipAudioCall.Listener>;
					public onReadyToCall(param0: android.net.sip.SipAudioCall): void;
					public onRingingBack(param0: android.net.sip.SipAudioCall): void;
					public onCallEnded(param0: android.net.sip.SipAudioCall): void;
					public constructor();
					public onCalling(param0: android.net.sip.SipAudioCall): void;
					public onCallEstablished(param0: android.net.sip.SipAudioCall): void;
					public onChanged(param0: android.net.sip.SipAudioCall): void;
					public onError(param0: android.net.sip.SipAudioCall, param1: number, param2: string): void;
					public onRinging(param0: android.net.sip.SipAudioCall, param1: android.net.sip.SipProfile): void;
					public onCallBusy(param0: android.net.sip.SipAudioCall): void;
					public onCallHeld(param0: android.net.sip.SipAudioCall): void;
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module sip {
			export class SipErrorCode extends java.lang.Object {
				public static class: java.lang.Class<android.net.sip.SipErrorCode>;
				public static CLIENT_ERROR: number;
				public static CROSS_DOMAIN_AUTHENTICATION: number;
				public static DATA_CONNECTION_LOST: number;
				public static INVALID_CREDENTIALS: number;
				public static INVALID_REMOTE_URI: number;
				public static IN_PROGRESS: number;
				public static NO_ERROR: number;
				public static PEER_NOT_REACHABLE: number;
				public static SERVER_ERROR: number;
				public static SERVER_UNREACHABLE: number;
				public static SOCKET_ERROR: number;
				public static TIME_OUT: number;
				public static TRANSACTION_TERMINTED: number;
				public static toString(param0: number): string;
				public toString(): string;
			}
		}
	}
}

declare module android {
	export module net {
		export module sip {
			export class SipException extends java.lang.Exception {
				public static class: java.lang.Class<android.net.sip.SipException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module android {
	export module net {
		export module sip {
			export class SipManager extends java.lang.Object {
				public static class: java.lang.Class<android.net.sip.SipManager>;
				public static EXTRA_CALL_ID: string;
				public static EXTRA_OFFER_SD: string;
				public static INCOMING_CALL_RESULT_CODE: number;
				public close(param0: string): void;
				public isRegistered(param0: string): boolean;
				public getSessionFor(param0: android.content.Intent): android.net.sip.SipSession;
				public static isVoipSupported(param0: android.content.Context): boolean;
				public createSipSession(param0: android.net.sip.SipProfile, param1: android.net.sip.SipSession.Listener): android.net.sip.SipSession;
				public static isSipWifiOnly(param0: android.content.Context): boolean;
				public isOpened(param0: string): boolean;
				public makeAudioCall(param0: android.net.sip.SipProfile, param1: android.net.sip.SipProfile, param2: android.net.sip.SipAudioCall.Listener, param3: number): android.net.sip.SipAudioCall;
				public static isApiSupported(param0: android.content.Context): boolean;
				public static newInstance(param0: android.content.Context): android.net.sip.SipManager;
				public static isIncomingCallIntent(param0: android.content.Intent): boolean;
				public static getOfferSessionDescription(param0: android.content.Intent): string;
				public makeAudioCall(param0: string, param1: string, param2: android.net.sip.SipAudioCall.Listener, param3: number): android.net.sip.SipAudioCall;
				public takeAudioCall(param0: android.content.Intent, param1: android.net.sip.SipAudioCall.Listener): android.net.sip.SipAudioCall;
				public open(param0: android.net.sip.SipProfile, param1: android.app.PendingIntent, param2: android.net.sip.SipRegistrationListener): void;
				public static getCallId(param0: android.content.Intent): string;
				public setRegistrationListener(param0: string, param1: android.net.sip.SipRegistrationListener): void;
				public open(param0: android.net.sip.SipProfile): void;
				public unregister(param0: android.net.sip.SipProfile, param1: android.net.sip.SipRegistrationListener): void;
				public register(param0: android.net.sip.SipProfile, param1: number, param2: android.net.sip.SipRegistrationListener): void;
			}
		}
	}
}

declare module android {
	export module net {
		export module sip {
			export class SipProfile extends java.lang.Object implements android.os.Parcelable, java.io.Serializable, java.lang.Cloneable {
				public static class: java.lang.Class<android.net.sip.SipProfile>;
				public static CREATOR: android.os.Parcelable.Creator<android.net.sip.SipProfile>;
				public getUserName(): string;
				public getPort(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getDisplayName(): string;
				public getProxyAddress(): string;
				public getAuthUserName(): string;
				public getProfileName(): string;
				public getSipDomain(): string;
				public getSendKeepAlive(): boolean;
				public getAutoRegistration(): boolean;
				public getUriString(): string;
				public describeContents(): number;
				public getPassword(): string;
				public getProtocol(): string;
			}
			export module SipProfile {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.net.sip.SipProfile.Builder>;
					public setPort(param0: number): android.net.sip.SipProfile.Builder;
					public constructor(param0: string);
					public build(): android.net.sip.SipProfile;
					public setPassword(param0: string): android.net.sip.SipProfile.Builder;
					public setOutboundProxy(param0: string): android.net.sip.SipProfile.Builder;
					public setAuthUserName(param0: string): android.net.sip.SipProfile.Builder;
					public setProfileName(param0: string): android.net.sip.SipProfile.Builder;
					public setDisplayName(param0: string): android.net.sip.SipProfile.Builder;
					public constructor(param0: string, param1: string);
					public setAutoRegistration(param0: boolean): android.net.sip.SipProfile.Builder;
					public setSendKeepAlive(param0: boolean): android.net.sip.SipProfile.Builder;
					public constructor(param0: android.net.sip.SipProfile);
					public setProtocol(param0: string): android.net.sip.SipProfile.Builder;
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module sip {
			export class SipRegistrationListener extends java.lang.Object {
				public static class: java.lang.Class<android.net.sip.SipRegistrationListener>;
				/**
				 * Constructs a new instance of the android.net.sip.SipRegistrationListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onRegistering(param0: string): void;
					onRegistrationDone(param0: string, param1: number): void;
					onRegistrationFailed(param0: string, param1: number, param2: string): void;
				});
				public constructor();
				public onRegistering(param0: string): void;
				public onRegistrationFailed(param0: string, param1: number, param2: string): void;
				public onRegistrationDone(param0: string, param1: number): void;
			}
		}
	}
}

declare module android {
	export module net {
		export module sip {
			export class SipSession extends java.lang.Object {
				public static class: java.lang.Class<android.net.sip.SipSession>;
				public isInCall(): boolean;
				public getLocalIp(): string;
				public makeCall(param0: android.net.sip.SipProfile, param1: string, param2: number): void;
				public answerCall(param0: string, param1: number): void;
				public unregister(): void;
				public endCall(): void;
				public getLocalProfile(): android.net.sip.SipProfile;
				public changeCall(param0: string, param1: number): void;
				public getState(): number;
				public register(param0: number): void;
				public getPeerProfile(): android.net.sip.SipProfile;
				public setListener(param0: android.net.sip.SipSession.Listener): void;
				public getCallId(): string;
			}
			export module SipSession {
				export class Listener extends java.lang.Object {
					public static class: java.lang.Class<android.net.sip.SipSession.Listener>;
					public onCalling(param0: android.net.sip.SipSession): void;
					public onCallBusy(param0: android.net.sip.SipSession): void;
					public onRinging(param0: android.net.sip.SipSession, param1: android.net.sip.SipProfile, param2: string): void;
					public onError(param0: android.net.sip.SipSession, param1: number, param2: string): void;
					public onCallChangeFailed(param0: android.net.sip.SipSession, param1: number, param2: string): void;
					public onRegistrationDone(param0: android.net.sip.SipSession, param1: number): void;
					public onRegistrationFailed(param0: android.net.sip.SipSession, param1: number, param2: string): void;
					public onCallEstablished(param0: android.net.sip.SipSession, param1: string): void;
					public onRegistrationTimeout(param0: android.net.sip.SipSession): void;
					public constructor();
					public onRingingBack(param0: android.net.sip.SipSession): void;
					public onCallEnded(param0: android.net.sip.SipSession): void;
					public onRegistering(param0: android.net.sip.SipSession): void;
				}
				export class State extends java.lang.Object {
					public static class: java.lang.Class<android.net.sip.SipSession.State>;
					public static DEREGISTERING: number;
					public static INCOMING_CALL: number;
					public static INCOMING_CALL_ANSWERING: number;
					public static IN_CALL: number;
					public static NOT_DEFINED: number;
					public static OUTGOING_CALL: number;
					public static OUTGOING_CALL_CANCELING: number;
					public static OUTGOING_CALL_RING_BACK: number;
					public static PINGING: number;
					public static READY_TO_CALL: number;
					public static REGISTERING: number;
					public toString(): string;
					public static toString(param0: number): string;
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module wifi {
			export class ScanResult extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.net.wifi.ScanResult>;
				public BSSID: string;
				public static CHANNEL_WIDTH_160MHZ: number;
				public static CHANNEL_WIDTH_20MHZ: number;
				public static CHANNEL_WIDTH_40MHZ: number;
				public static CHANNEL_WIDTH_80MHZ: number;
				public static CHANNEL_WIDTH_80MHZ_PLUS_MHZ: number;
				public SSID: string;
				public capabilities: string;
				public centerFreq0: number;
				public centerFreq1: number;
				public channelWidth: number;
				public frequency: number;
				public level: number;
				public operatorFriendlyName: string;
				public timestamp: number;
				public venueName: string;
				public isPasspointNetwork(): boolean;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public toString(): string;
				public is80211mcResponder(): boolean;
			}
		}
	}
}

declare module android {
	export module net {
		export module wifi {
			export class SupplicantState extends android.os.Parcelable {
				public static class: java.lang.Class<android.net.wifi.SupplicantState>;
				public static DISCONNECTED: android.net.wifi.SupplicantState;
				public static INTERFACE_DISABLED: android.net.wifi.SupplicantState;
				public static INACTIVE: android.net.wifi.SupplicantState;
				public static SCANNING: android.net.wifi.SupplicantState;
				public static AUTHENTICATING: android.net.wifi.SupplicantState;
				public static ASSOCIATING: android.net.wifi.SupplicantState;
				public static ASSOCIATED: android.net.wifi.SupplicantState;
				public static FOUR_WAY_HANDSHAKE: android.net.wifi.SupplicantState;
				public static GROUP_HANDSHAKE: android.net.wifi.SupplicantState;
				public static COMPLETED: android.net.wifi.SupplicantState;
				public static DORMANT: android.net.wifi.SupplicantState;
				public static UNINITIALIZED: android.net.wifi.SupplicantState;
				public static INVALID: android.net.wifi.SupplicantState;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public static isValidState(param0: android.net.wifi.SupplicantState): boolean;
				public static values(): native.Array<android.net.wifi.SupplicantState>;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
				public static valueOf(param0: string): android.net.wifi.SupplicantState;
			}
		}
	}
}

declare module android {
	export module net {
		export module wifi {
			export class WifiConfiguration extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.net.wifi.WifiConfiguration>;
				public BSSID: string;
				public FQDN: string;
				public SSID: string;
				public allowedAuthAlgorithms: java.util.BitSet;
				public allowedGroupCiphers: java.util.BitSet;
				public allowedKeyManagement: java.util.BitSet;
				public allowedPairwiseCiphers: java.util.BitSet;
				public allowedProtocols: java.util.BitSet;
				public enterpriseConfig: android.net.wifi.WifiEnterpriseConfig;
				public hiddenSSID: boolean;
				public isHomeProviderNetwork: boolean;
				public networkId: number;
				public preSharedKey: string;
				public priority: number;
				public providerFriendlyName: string;
				public roamingConsortiumIds: native.Array<number>;
				public status: number;
				public wepKeys: native.Array<string>;
				public wepTxKeyIndex: number;
				public setHttpProxy(param0: android.net.ProxyInfo): void;
				public isPasspoint(): boolean;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public toString(): string;
				public getHttpProxy(): android.net.ProxyInfo;
				public constructor();
			}
			export module WifiConfiguration {
				export class AuthAlgorithm extends java.lang.Object {
					public static class: java.lang.Class<android.net.wifi.WifiConfiguration.AuthAlgorithm>;
					public static LEAP: number;
					public static OPEN: number;
					public static SHARED: number;
					public static strings: native.Array<string>;
					public static varName: string;
				}
				export class GroupCipher extends java.lang.Object {
					public static class: java.lang.Class<android.net.wifi.WifiConfiguration.GroupCipher>;
					public static CCMP: number;
					public static TKIP: number;
					public static WEP104: number;
					public static WEP40: number;
					public static strings: native.Array<string>;
					public static varName: string;
				}
				export class KeyMgmt extends java.lang.Object {
					public static class: java.lang.Class<android.net.wifi.WifiConfiguration.KeyMgmt>;
					public static IEEE8021X: number;
					public static NONE: number;
					public static WPA_EAP: number;
					public static WPA_PSK: number;
					public static strings: native.Array<string>;
					public static varName: string;
				}
				export class PairwiseCipher extends java.lang.Object {
					public static class: java.lang.Class<android.net.wifi.WifiConfiguration.PairwiseCipher>;
					public static CCMP: number;
					public static NONE: number;
					public static TKIP: number;
					public static strings: native.Array<string>;
					public static varName: string;
				}
				export class Protocol extends java.lang.Object {
					public static class: java.lang.Class<android.net.wifi.WifiConfiguration.Protocol>;
					public static RSN: number;
					public static WPA: number;
					public static strings: native.Array<string>;
					public static varName: string;
				}
				export class Status extends java.lang.Object {
					public static class: java.lang.Class<android.net.wifi.WifiConfiguration.Status>;
					public static CURRENT: number;
					public static DISABLED: number;
					public static ENABLED: number;
					public static strings: native.Array<string>;
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module wifi {
			export class WifiEnterpriseConfig extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.net.wifi.WifiEnterpriseConfig>;
				public static CREATOR: android.os.Parcelable.Creator<android.net.wifi.WifiEnterpriseConfig>;
				public getClientCertificateChain(): native.Array<java.security.cert.X509Certificate>;
				/** @deprecated */
				public getSubjectMatch(): string;
				/** @deprecated */
				public setSubjectMatch(param0: string): void;
				public getCaCertificates(): native.Array<java.security.cert.X509Certificate>;
				public setPhase2Method(param0: number): void;
				public constructor(param0: android.net.wifi.WifiEnterpriseConfig);
				public setPassword(param0: string): void;
				public constructor();
				public setClientKeyEntryWithCertificateChain(param0: java.security.PrivateKey, param1: native.Array<java.security.cert.X509Certificate>): void;
				public setIdentity(param0: string): void;
				public getRealm(): string;
				public getAnonymousIdentity(): string;
				public setPlmn(param0: string): void;
				public getClientCertificate(): java.security.cert.X509Certificate;
				public setAltSubjectMatch(param0: string): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public setClientKeyEntry(param0: java.security.PrivateKey, param1: java.security.cert.X509Certificate): void;
				public getDomainSuffixMatch(): string;
				public toString(): string;
				public setCaCertificate(param0: java.security.cert.X509Certificate): void;
				public setCaCertificates(param0: native.Array<java.security.cert.X509Certificate>): void;
				public setEapMethod(param0: number): void;
				public setAnonymousIdentity(param0: string): void;
				public getIdentity(): string;
				public getPlmn(): string;
				public describeContents(): number;
				public getEapMethod(): number;
				public getPassword(): string;
				public getCaCertificate(): java.security.cert.X509Certificate;
				public setDomainSuffixMatch(param0: string): void;
				public getPhase2Method(): number;
				public getAltSubjectMatch(): string;
				public setRealm(param0: string): void;
			}
			export module WifiEnterpriseConfig {
				export class Eap extends java.lang.Object {
					public static class: java.lang.Class<android.net.wifi.WifiEnterpriseConfig.Eap>;
					public static AKA: number;
					public static AKA_PRIME: number;
					public static NONE: number;
					public static PEAP: number;
					public static PWD: number;
					public static SIM: number;
					public static TLS: number;
					public static TTLS: number;
					public static UNAUTH_TLS: number;
				}
				export class Phase2 extends java.lang.Object {
					public static class: java.lang.Class<android.net.wifi.WifiEnterpriseConfig.Phase2>;
					public static AKA: number;
					public static AKA_PRIME: number;
					public static GTC: number;
					public static MSCHAP: number;
					public static MSCHAPV2: number;
					public static NONE: number;
					public static PAP: number;
					public static SIM: number;
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module wifi {
			export class WifiInfo extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.net.wifi.WifiInfo>;
				public static FREQUENCY_UNITS: string;
				public static LINK_SPEED_UNITS: string;
				public getSSID(): string;
				public getIpAddress(): number;
				public getMacAddress(): string;
				public getSupplicantState(): android.net.wifi.SupplicantState;
				public getBSSID(): string;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getRssi(): number;
				public toString(): string;
				public getFrequency(): number;
				public getNetworkId(): number;
				public getLinkSpeed(): number;
				public getHiddenSSID(): boolean;
				public describeContents(): number;
				public static getDetailedStateOf(param0: android.net.wifi.SupplicantState): android.net.NetworkInfo.DetailedState;
			}
		}
	}
}

declare module android {
	export module net {
		export module wifi {
			export class WifiManager extends java.lang.Object {
				public static class: java.lang.Class<android.net.wifi.WifiManager>;
				public static ACTION_PICK_WIFI_NETWORK: string;
				public static ACTION_REQUEST_SCAN_ALWAYS_AVAILABLE: string;
				public static ERROR_AUTHENTICATING: number;
				public static EXTRA_BSSID: string;
				public static EXTRA_NETWORK_INFO: string;
				public static EXTRA_NEW_RSSI: string;
				public static EXTRA_NEW_STATE: string;
				public static EXTRA_PREVIOUS_WIFI_STATE: string;
				public static EXTRA_RESULTS_UPDATED: string;
				public static EXTRA_SUPPLICANT_CONNECTED: string;
				public static EXTRA_SUPPLICANT_ERROR: string;
				public static EXTRA_WIFI_INFO: string;
				public static EXTRA_WIFI_STATE: string;
				public static NETWORK_IDS_CHANGED_ACTION: string;
				public static NETWORK_STATE_CHANGED_ACTION: string;
				public static RSSI_CHANGED_ACTION: string;
				public static SCAN_RESULTS_AVAILABLE_ACTION: string;
				public static SUPPLICANT_CONNECTION_CHANGE_ACTION: string;
				public static SUPPLICANT_STATE_CHANGED_ACTION: string;
				public static WIFI_MODE_FULL: number;
				public static WIFI_MODE_FULL_HIGH_PERF: number;
				public static WIFI_MODE_SCAN_ONLY: number;
				public static WIFI_STATE_CHANGED_ACTION: string;
				public static WIFI_STATE_DISABLED: number;
				public static WIFI_STATE_DISABLING: number;
				public static WIFI_STATE_ENABLED: number;
				public static WIFI_STATE_ENABLING: number;
				public static WIFI_STATE_UNKNOWN: number;
				public static WPS_AUTH_FAILURE: number;
				public static WPS_OVERLAP_ERROR: number;
				public static WPS_TIMED_OUT: number;
				public static WPS_TKIP_ONLY_PROHIBITED: number;
				public static WPS_WEP_PROHIBITED: number;
				public is5GHzBandSupported(): boolean;
				public setTdlsEnabledWithMacAddress(param0: string, param1: boolean): void;
				public finalize(): void;
				public addNetwork(param0: android.net.wifi.WifiConfiguration): number;
				public static calculateSignalLevel(param0: number, param1: number): number;
				public updateNetwork(param0: android.net.wifi.WifiConfiguration): number;
				public isPreferredNetworkOffloadSupported(): boolean;
				public isScanAlwaysAvailable(): boolean;
				public addOrUpdatePasspointConfiguration(param0: android.net.wifi.hotspot2.PasspointConfiguration): void;
				/** @deprecated */
				public pingSupplicant(): boolean;
				public getScanResults(): java.util.List<android.net.wifi.ScanResult>;
				public createMulticastLock(param0: string): android.net.wifi.WifiManager.MulticastLock;
				public disconnect(): boolean;
				public setTdlsEnabled(param0: java.net.InetAddress, param1: boolean): void;
				public setWifiEnabled(param0: boolean): boolean;
				/** @deprecated */
				public startScan(): boolean;
				public reconnect(): boolean;
				/** @deprecated */
				public cancelWps(param0: android.net.wifi.WifiManager.WpsCallback): void;
				public createWifiLock(param0: string): android.net.wifi.WifiManager.WifiLock;
				public reassociate(): boolean;
				public disableNetwork(param0: number): boolean;
				public createWifiLock(param0: number, param1: string): android.net.wifi.WifiManager.WifiLock;
				public enableNetwork(param0: number, param1: boolean): boolean;
				public removeNetwork(param0: number): boolean;
				public isP2pSupported(): boolean;
				public getConfiguredNetworks(): java.util.List<android.net.wifi.WifiConfiguration>;
				public isEnhancedPowerReportingSupported(): boolean;
				public getConnectionInfo(): android.net.wifi.WifiInfo;
				public static compareSignalLevel(param0: number, param1: number): number;
				public getPasspointConfigurations(): java.util.List<android.net.wifi.hotspot2.PasspointConfiguration>;
				/** @deprecated */
				public saveConfiguration(): boolean;
				/** @deprecated */
				public startWps(param0: android.net.wifi.WpsInfo, param1: android.net.wifi.WifiManager.WpsCallback): void;
				public isDeviceToApRttSupported(): boolean;
				public isTdlsSupported(): boolean;
				public startLocalOnlyHotspot(param0: android.net.wifi.WifiManager.LocalOnlyHotspotCallback, param1: android.os.Handler): void;
				public removePasspointConfiguration(param0: string): void;
				public getDhcpInfo(): android.net.DhcpInfo;
				public isWifiEnabled(): boolean;
				public getWifiState(): number;
			}
			export module WifiManager {
				export class LocalOnlyHotspotCallback extends java.lang.Object {
					public static class: java.lang.Class<android.net.wifi.WifiManager.LocalOnlyHotspotCallback>;
					public static ERROR_GENERIC: number;
					public static ERROR_INCOMPATIBLE_MODE: number;
					public static ERROR_NO_CHANNEL: number;
					public static ERROR_TETHERING_DISALLOWED: number;
					public onStopped(): void;
					public constructor();
					public onFailed(param0: number): void;
					public onStarted(param0: android.net.wifi.WifiManager.LocalOnlyHotspotReservation): void;
				}
				export class LocalOnlyHotspotReservation extends java.lang.Object implements java.lang.AutoCloseable {
					public static class: java.lang.Class<android.net.wifi.WifiManager.LocalOnlyHotspotReservation>;
					public getWifiConfiguration(): android.net.wifi.WifiConfiguration;
					public finalize(): void;
					public close(): void;
				}
				export class MulticastLock extends java.lang.Object {
					public static class: java.lang.Class<android.net.wifi.WifiManager.MulticastLock>;
					public isHeld(): boolean;
					public toString(): string;
					public finalize(): void;
					public acquire(): void;
					public release(): void;
					public setReferenceCounted(param0: boolean): void;
				}
				export class WifiLock extends java.lang.Object {
					public static class: java.lang.Class<android.net.wifi.WifiManager.WifiLock>;
					public isHeld(): boolean;
					public toString(): string;
					public setWorkSource(param0: android.os.WorkSource): void;
					public finalize(): void;
					public acquire(): void;
					public release(): void;
					public setReferenceCounted(param0: boolean): void;
				}
				export abstract class WpsCallback extends java.lang.Object {
					public static class: java.lang.Class<android.net.wifi.WifiManager.WpsCallback>;
					/** @deprecated */
					public onFailed(param0: number): void;
					public constructor();
					/** @deprecated */
					public onStarted(param0: string): void;
					/** @deprecated */
					public onSucceeded(): void;
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module wifi {
			export class WpsInfo extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.net.wifi.WpsInfo>;
				public BSSID: string;
				public static CREATOR: android.os.Parcelable.Creator<android.net.wifi.WpsInfo>;
				public static DISPLAY: number;
				public static INVALID: number;
				public static KEYPAD: number;
				public static LABEL: number;
				public static PBC: number;
				public pin: string;
				public setup: number;
				/** @deprecated */
				public constructor();
				/** @deprecated */
				public constructor(param0: android.net.wifi.WpsInfo);
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				/** @deprecated */
				public toString(): string;
				/** @deprecated */
				public describeContents(): number;
				public toString(): string;
				/** @deprecated */
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
			}
		}
	}
}

declare module android {
	export module net {
		export module wifi {
			export module aware {
				export class AttachCallback extends java.lang.Object {
					public static class: java.lang.Class<android.net.wifi.aware.AttachCallback>;
					public onAttached(param0: android.net.wifi.aware.WifiAwareSession): void;
					public constructor();
					public onAttachFailed(): void;
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module wifi {
			export module aware {
				export class Characteristics extends java.lang.Object implements android.os.Parcelable {
					public static class: java.lang.Class<android.net.wifi.aware.Characteristics>;
					public static CREATOR: android.os.Parcelable.Creator<android.net.wifi.aware.Characteristics>;
					public getMaxServiceSpecificInfoLength(): number;
					public describeContents(): number;
					public getMaxMatchFilterLength(): number;
					public getMaxServiceNameLength(): number;
					public writeToParcel(param0: android.os.Parcel, param1: number): void;
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module wifi {
			export module aware {
				export class DiscoverySession extends java.lang.Object implements java.lang.AutoCloseable {
					public static class: java.lang.Class<android.net.wifi.aware.DiscoverySession>;
					public createNetworkSpecifierOpen(param0: android.net.wifi.aware.PeerHandle): android.net.NetworkSpecifier;
					public sendMessage(param0: android.net.wifi.aware.PeerHandle, param1: number, param2: native.Array<number>): void;
					public createNetworkSpecifierPassphrase(param0: android.net.wifi.aware.PeerHandle, param1: string): android.net.NetworkSpecifier;
					public finalize(): void;
					public close(): void;
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module wifi {
			export module aware {
				export class DiscoverySessionCallback extends java.lang.Object {
					public static class: java.lang.Class<android.net.wifi.aware.DiscoverySessionCallback>;
					public onServiceDiscovered(param0: android.net.wifi.aware.PeerHandle, param1: native.Array<number>, param2: java.util.List<native.Array<number>>): void;
					public onMessageReceived(param0: android.net.wifi.aware.PeerHandle, param1: native.Array<number>): void;
					public onMessageSendSucceeded(param0: number): void;
					public onMessageSendFailed(param0: number): void;
					public constructor();
					public onSubscribeStarted(param0: android.net.wifi.aware.SubscribeDiscoverySession): void;
					public onPublishStarted(param0: android.net.wifi.aware.PublishDiscoverySession): void;
					public onSessionConfigUpdated(): void;
					public onSessionConfigFailed(): void;
					public onServiceDiscoveredWithinRange(param0: android.net.wifi.aware.PeerHandle, param1: native.Array<number>, param2: java.util.List<native.Array<number>>, param3: number): void;
					public onSessionTerminated(): void;
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module wifi {
			export module aware {
				export class IdentityChangedListener extends java.lang.Object {
					public static class: java.lang.Class<android.net.wifi.aware.IdentityChangedListener>;
					public constructor();
					public onIdentityChanged(param0: native.Array<number>): void;
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module wifi {
			export module aware {
				export class PeerHandle extends java.lang.Object {
					public static class: java.lang.Class<android.net.wifi.aware.PeerHandle>;
					public equals(param0: any): boolean;
					public hashCode(): number;
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module wifi {
			export module aware {
				export class PublishConfig extends java.lang.Object implements android.os.Parcelable {
					public static class: java.lang.Class<android.net.wifi.aware.PublishConfig>;
					public static CREATOR: android.os.Parcelable.Creator<android.net.wifi.aware.PublishConfig>;
					public static PUBLISH_TYPE_SOLICITED: number;
					public static PUBLISH_TYPE_UNSOLICITED: number;
					public equals(param0: any): boolean;
					public toString(): string;
					public describeContents(): number;
					public hashCode(): number;
					public writeToParcel(param0: android.os.Parcel, param1: number): void;
				}
				export module PublishConfig {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.net.wifi.aware.PublishConfig.Builder>;
						public constructor();
						public build(): android.net.wifi.aware.PublishConfig;
						public setServiceSpecificInfo(param0: native.Array<number>): android.net.wifi.aware.PublishConfig.Builder;
						public setServiceName(param0: string): android.net.wifi.aware.PublishConfig.Builder;
						public setTtlSec(param0: number): android.net.wifi.aware.PublishConfig.Builder;
						public setRangingEnabled(param0: boolean): android.net.wifi.aware.PublishConfig.Builder;
						public setPublishType(param0: number): android.net.wifi.aware.PublishConfig.Builder;
						public setTerminateNotificationEnabled(param0: boolean): android.net.wifi.aware.PublishConfig.Builder;
						public setMatchFilter(param0: java.util.List<native.Array<number>>): android.net.wifi.aware.PublishConfig.Builder;
					}
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module wifi {
			export module aware {
				export class PublishDiscoverySession extends android.net.wifi.aware.DiscoverySession {
					public static class: java.lang.Class<android.net.wifi.aware.PublishDiscoverySession>;
					public updatePublish(param0: android.net.wifi.aware.PublishConfig): void;
					public close(): void;
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module wifi {
			export module aware {
				export class SubscribeConfig extends java.lang.Object implements android.os.Parcelable {
					public static class: java.lang.Class<android.net.wifi.aware.SubscribeConfig>;
					public static CREATOR: android.os.Parcelable.Creator<android.net.wifi.aware.SubscribeConfig>;
					public static SUBSCRIBE_TYPE_ACTIVE: number;
					public static SUBSCRIBE_TYPE_PASSIVE: number;
					public equals(param0: any): boolean;
					public toString(): string;
					public describeContents(): number;
					public hashCode(): number;
					public writeToParcel(param0: android.os.Parcel, param1: number): void;
				}
				export module SubscribeConfig {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.net.wifi.aware.SubscribeConfig.Builder>;
						public constructor();
						public setServiceName(param0: string): android.net.wifi.aware.SubscribeConfig.Builder;
						public build(): android.net.wifi.aware.SubscribeConfig;
						public setTtlSec(param0: number): android.net.wifi.aware.SubscribeConfig.Builder;
						public setMinDistanceMm(param0: number): android.net.wifi.aware.SubscribeConfig.Builder;
						public setTerminateNotificationEnabled(param0: boolean): android.net.wifi.aware.SubscribeConfig.Builder;
						public setMaxDistanceMm(param0: number): android.net.wifi.aware.SubscribeConfig.Builder;
						public setServiceSpecificInfo(param0: native.Array<number>): android.net.wifi.aware.SubscribeConfig.Builder;
						public setMatchFilter(param0: java.util.List<native.Array<number>>): android.net.wifi.aware.SubscribeConfig.Builder;
						public setSubscribeType(param0: number): android.net.wifi.aware.SubscribeConfig.Builder;
					}
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module wifi {
			export module aware {
				export class SubscribeDiscoverySession extends android.net.wifi.aware.DiscoverySession {
					public static class: java.lang.Class<android.net.wifi.aware.SubscribeDiscoverySession>;
					public close(): void;
					public updateSubscribe(param0: android.net.wifi.aware.SubscribeConfig): void;
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module wifi {
			export module aware {
				export class WifiAwareManager extends java.lang.Object {
					public static class: java.lang.Class<android.net.wifi.aware.WifiAwareManager>;
					public static ACTION_WIFI_AWARE_STATE_CHANGED: string;
					public static WIFI_AWARE_DATA_PATH_ROLE_INITIATOR: number;
					public static WIFI_AWARE_DATA_PATH_ROLE_RESPONDER: number;
					public getCharacteristics(): android.net.wifi.aware.Characteristics;
					public attach(param0: android.net.wifi.aware.AttachCallback, param1: android.os.Handler): void;
					public attach(param0: android.net.wifi.aware.AttachCallback, param1: android.net.wifi.aware.IdentityChangedListener, param2: android.os.Handler): void;
					public isAvailable(): boolean;
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module wifi {
			export module aware {
				export class WifiAwareSession extends java.lang.Object implements java.lang.AutoCloseable {
					public static class: java.lang.Class<android.net.wifi.aware.WifiAwareSession>;
					public finalize(): void;
					public close(): void;
					public publish(param0: android.net.wifi.aware.PublishConfig, param1: android.net.wifi.aware.DiscoverySessionCallback, param2: android.os.Handler): void;
					public subscribe(param0: android.net.wifi.aware.SubscribeConfig, param1: android.net.wifi.aware.DiscoverySessionCallback, param2: android.os.Handler): void;
					public createNetworkSpecifierOpen(param0: number, param1: native.Array<number>): android.net.NetworkSpecifier;
					public createNetworkSpecifierPassphrase(param0: number, param1: native.Array<number>, param2: string): android.net.NetworkSpecifier;
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module wifi {
			export module hotspot2 {
				export class ConfigParser extends java.lang.Object {
					public static class: java.lang.Class<android.net.wifi.hotspot2.ConfigParser>;
					public static parsePasspointConfig(param0: string, param1: native.Array<number>): android.net.wifi.hotspot2.PasspointConfiguration;
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module wifi {
			export module hotspot2 {
				export class PasspointConfiguration extends java.lang.Object implements android.os.Parcelable {
					public static class: java.lang.Class<android.net.wifi.hotspot2.PasspointConfiguration>;
					public static CREATOR: android.os.Parcelable.Creator<android.net.wifi.hotspot2.PasspointConfiguration>;
					public setHomeSp(param0: android.net.wifi.hotspot2.pps.HomeSp): void;
					public equals(param0: any): boolean;
					public toString(): string;
					public getHomeSp(): android.net.wifi.hotspot2.pps.HomeSp;
					public constructor();
					public constructor(param0: android.net.wifi.hotspot2.PasspointConfiguration);
					public describeContents(): number;
					public setCredential(param0: android.net.wifi.hotspot2.pps.Credential): void;
					public getCredential(): android.net.wifi.hotspot2.pps.Credential;
					public hashCode(): number;
					public writeToParcel(param0: android.os.Parcel, param1: number): void;
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module wifi {
			export module hotspot2 {
				export module omadm {
					export class PpsMoParser extends java.lang.Object {
						public static class: java.lang.Class<android.net.wifi.hotspot2.omadm.PpsMoParser>;
						public static parseMoText(param0: string): android.net.wifi.hotspot2.PasspointConfiguration;
					}
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module wifi {
			export module hotspot2 {
				export module pps {
					export class Credential extends java.lang.Object implements android.os.Parcelable {
						public static class: java.lang.Class<android.net.wifi.hotspot2.pps.Credential>;
						public static CREATOR: android.os.Parcelable.Creator<android.net.wifi.hotspot2.pps.Credential>;
						public constructor();
						public describeContents(): number;
						public getSimCredential(): android.net.wifi.hotspot2.pps.Credential.SimCredential;
						public getCaCertificate(): java.security.cert.X509Certificate;
						public getClientPrivateKey(): java.security.PrivateKey;
						public equals(param0: any): boolean;
						public hashCode(): number;
						public getUserCredential(): android.net.wifi.hotspot2.pps.Credential.UserCredential;
						public setCaCertificate(param0: java.security.cert.X509Certificate): void;
						public toString(): string;
						public setUserCredential(param0: android.net.wifi.hotspot2.pps.Credential.UserCredential): void;
						public setClientCertificateChain(param0: native.Array<java.security.cert.X509Certificate>): void;
						public setCertCredential(param0: android.net.wifi.hotspot2.pps.Credential.CertificateCredential): void;
						public constructor(param0: android.net.wifi.hotspot2.pps.Credential);
						public setRealm(param0: string): void;
						public setClientPrivateKey(param0: java.security.PrivateKey): void;
						public writeToParcel(param0: android.os.Parcel, param1: number): void;
						public getRealm(): string;
						public getCertCredential(): android.net.wifi.hotspot2.pps.Credential.CertificateCredential;
						public getClientCertificateChain(): native.Array<java.security.cert.X509Certificate>;
						public setSimCredential(param0: android.net.wifi.hotspot2.pps.Credential.SimCredential): void;
					}
					export module Credential {
						export class CertificateCredential extends java.lang.Object implements android.os.Parcelable {
							public static class: java.lang.Class<android.net.wifi.hotspot2.pps.Credential.CertificateCredential>;
							public static CREATOR: android.os.Parcelable.Creator<android.net.wifi.hotspot2.pps.Credential.CertificateCredential>;
							public constructor();
							public setCertSha256Fingerprint(param0: native.Array<number>): void;
							public constructor(param0: android.net.wifi.hotspot2.pps.Credential.CertificateCredential);
							public hashCode(): number;
							public describeContents(): number;
							public getCertSha256Fingerprint(): native.Array<number>;
							public getCertType(): string;
							public toString(): string;
							public setCertType(param0: string): void;
							public writeToParcel(param0: android.os.Parcel, param1: number): void;
							public equals(param0: any): boolean;
						}
						export class SimCredential extends java.lang.Object implements android.os.Parcelable {
							public static class: java.lang.Class<android.net.wifi.hotspot2.pps.Credential.SimCredential>;
							public static CREATOR: android.os.Parcelable.Creator<android.net.wifi.hotspot2.pps.Credential.SimCredential>;
							public constructor();
							public hashCode(): number;
							public describeContents(): number;
							public getEapType(): number;
							public getImsi(): string;
							public toString(): string;
							public constructor(param0: android.net.wifi.hotspot2.pps.Credential.SimCredential);
							public equals(param0: any): boolean;
							public writeToParcel(param0: android.os.Parcel, param1: number): void;
							public setEapType(param0: number): void;
							public setImsi(param0: string): void;
						}
						export class UserCredential extends java.lang.Object implements android.os.Parcelable {
							public static class: java.lang.Class<android.net.wifi.hotspot2.pps.Credential.UserCredential>;
							public static CREATOR: android.os.Parcelable.Creator<android.net.wifi.hotspot2.pps.Credential.UserCredential>;
							public constructor();
							public hashCode(): number;
							public getUsername(): string;
							public getPassword(): string;
							public getEapType(): number;
							public toString(): string;
							public getNonEapInnerMethod(): string;
							public writeToParcel(param0: android.os.Parcel, param1: number): void;
							public setPassword(param0: string): void;
							public describeContents(): number;
							public setNonEapInnerMethod(param0: string): void;
							public equals(param0: any): boolean;
							public setUsername(param0: string): void;
							public setEapType(param0: number): void;
							public constructor(param0: android.net.wifi.hotspot2.pps.Credential.UserCredential);
						}
					}
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module wifi {
			export module hotspot2 {
				export module pps {
					export class HomeSp extends java.lang.Object implements android.os.Parcelable {
						public static class: java.lang.Class<android.net.wifi.hotspot2.pps.HomeSp>;
						public static CREATOR: android.os.Parcelable.Creator<android.net.wifi.hotspot2.pps.HomeSp>;
						public constructor();
						public describeContents(): number;
						public equals(param0: any): boolean;
						public hashCode(): number;
						public getFriendlyName(): string;
						public toString(): string;
						public constructor(param0: android.net.wifi.hotspot2.pps.HomeSp);
						public setFqdn(param0: string): void;
						public getFqdn(): string;
						public writeToParcel(param0: android.os.Parcel, param1: number): void;
						public setRoamingConsortiumOis(param0: native.Array<number>): void;
						public setFriendlyName(param0: string): void;
						public getRoamingConsortiumOis(): native.Array<number>;
					}
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module wifi {
			export module p2p {
				export class WifiP2pConfig extends java.lang.Object implements android.os.Parcelable {
					public static class: java.lang.Class<android.net.wifi.p2p.WifiP2pConfig>;
					public static CREATOR: android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pConfig>;
					public deviceAddress: string;
					public groupOwnerIntent: number;
					public wps: android.net.wifi.WpsInfo;
					public toString(): string;
					public constructor();
					public constructor(param0: android.net.wifi.p2p.WifiP2pConfig);
					public describeContents(): number;
					public writeToParcel(param0: android.os.Parcel, param1: number): void;
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module wifi {
			export module p2p {
				export class WifiP2pDevice extends java.lang.Object implements android.os.Parcelable {
					public static class: java.lang.Class<android.net.wifi.p2p.WifiP2pDevice>;
					public static AVAILABLE: number;
					public static CONNECTED: number;
					public static CREATOR: android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pDevice>;
					public static FAILED: number;
					public static INVITED: number;
					public static UNAVAILABLE: number;
					public deviceAddress: string;
					public deviceName: string;
					public primaryDeviceType: string;
					public secondaryDeviceType: string;
					public status: number;
					public isGroupOwner(): boolean;
					public equals(param0: any): boolean;
					public wpsPbcSupported(): boolean;
					public constructor(param0: android.net.wifi.p2p.WifiP2pDevice);
					public toString(): string;
					public constructor();
					public wpsKeypadSupported(): boolean;
					public isServiceDiscoveryCapable(): boolean;
					public describeContents(): number;
					public wpsDisplaySupported(): boolean;
					public writeToParcel(param0: android.os.Parcel, param1: number): void;
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module wifi {
			export module p2p {
				export class WifiP2pDeviceList extends java.lang.Object implements android.os.Parcelable {
					public static class: java.lang.Class<android.net.wifi.p2p.WifiP2pDeviceList>;
					public static CREATOR: android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pDeviceList>;
					public getDeviceList(): java.util.Collection<android.net.wifi.p2p.WifiP2pDevice>;
					public toString(): string;
					public constructor();
					public describeContents(): number;
					public get(param0: string): android.net.wifi.p2p.WifiP2pDevice;
					public constructor(param0: android.net.wifi.p2p.WifiP2pDeviceList);
					public writeToParcel(param0: android.os.Parcel, param1: number): void;
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module wifi {
			export module p2p {
				export class WifiP2pGroup extends java.lang.Object implements android.os.Parcelable {
					public static class: java.lang.Class<android.net.wifi.p2p.WifiP2pGroup>;
					public static CREATOR: android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pGroup>;
					public isGroupOwner(): boolean;
					public constructor(param0: android.net.wifi.p2p.WifiP2pGroup);
					public getNetworkName(): string;
					public toString(): string;
					public getPassphrase(): string;
					public constructor();
					public getInterface(): string;
					public describeContents(): number;
					public getClientList(): java.util.Collection<android.net.wifi.p2p.WifiP2pDevice>;
					public getOwner(): android.net.wifi.p2p.WifiP2pDevice;
					public writeToParcel(param0: android.os.Parcel, param1: number): void;
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module wifi {
			export module p2p {
				export class WifiP2pInfo extends java.lang.Object implements android.os.Parcelable {
					public static class: java.lang.Class<android.net.wifi.p2p.WifiP2pInfo>;
					public static CREATOR: android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pInfo>;
					public groupFormed: boolean;
					public groupOwnerAddress: java.net.InetAddress;
					public isGroupOwner: boolean;
					public constructor(param0: android.net.wifi.p2p.WifiP2pInfo);
					public toString(): string;
					public constructor();
					public describeContents(): number;
					public writeToParcel(param0: android.os.Parcel, param1: number): void;
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module wifi {
			export module p2p {
				export class WifiP2pManager extends java.lang.Object {
					public static class: java.lang.Class<android.net.wifi.p2p.WifiP2pManager>;
					public static BUSY: number;
					public static ERROR: number;
					public static EXTRA_DISCOVERY_STATE: string;
					public static EXTRA_NETWORK_INFO: string;
					public static EXTRA_P2P_DEVICE_LIST: string;
					public static EXTRA_WIFI_P2P_DEVICE: string;
					public static EXTRA_WIFI_P2P_GROUP: string;
					public static EXTRA_WIFI_P2P_INFO: string;
					public static EXTRA_WIFI_STATE: string;
					public static NO_SERVICE_REQUESTS: number;
					public static P2P_UNSUPPORTED: number;
					public static WIFI_P2P_CONNECTION_CHANGED_ACTION: string;
					public static WIFI_P2P_DISCOVERY_CHANGED_ACTION: string;
					public static WIFI_P2P_DISCOVERY_STARTED: number;
					public static WIFI_P2P_DISCOVERY_STOPPED: number;
					public static WIFI_P2P_PEERS_CHANGED_ACTION: string;
					public static WIFI_P2P_STATE_CHANGED_ACTION: string;
					public static WIFI_P2P_STATE_DISABLED: number;
					public static WIFI_P2P_STATE_ENABLED: number;
					public static WIFI_P2P_THIS_DEVICE_CHANGED_ACTION: string;
					public cancelConnect(param0: android.net.wifi.p2p.WifiP2pManager.Channel, param1: android.net.wifi.p2p.WifiP2pManager.ActionListener): void;
					public addServiceRequest(param0: android.net.wifi.p2p.WifiP2pManager.Channel, param1: android.net.wifi.p2p.nsd.WifiP2pServiceRequest, param2: android.net.wifi.p2p.WifiP2pManager.ActionListener): void;
					public connect(param0: android.net.wifi.p2p.WifiP2pManager.Channel, param1: android.net.wifi.p2p.WifiP2pConfig, param2: android.net.wifi.p2p.WifiP2pManager.ActionListener): void;
					public setServiceResponseListener(param0: android.net.wifi.p2p.WifiP2pManager.Channel, param1: android.net.wifi.p2p.WifiP2pManager.ServiceResponseListener): void;
					public initialize(param0: android.content.Context, param1: android.os.Looper, param2: android.net.wifi.p2p.WifiP2pManager.ChannelListener): android.net.wifi.p2p.WifiP2pManager.Channel;
					public removeLocalService(param0: android.net.wifi.p2p.WifiP2pManager.Channel, param1: android.net.wifi.p2p.nsd.WifiP2pServiceInfo, param2: android.net.wifi.p2p.WifiP2pManager.ActionListener): void;
					public stopPeerDiscovery(param0: android.net.wifi.p2p.WifiP2pManager.Channel, param1: android.net.wifi.p2p.WifiP2pManager.ActionListener): void;
					public clearLocalServices(param0: android.net.wifi.p2p.WifiP2pManager.Channel, param1: android.net.wifi.p2p.WifiP2pManager.ActionListener): void;
					public discoverPeers(param0: android.net.wifi.p2p.WifiP2pManager.Channel, param1: android.net.wifi.p2p.WifiP2pManager.ActionListener): void;
					public addLocalService(param0: android.net.wifi.p2p.WifiP2pManager.Channel, param1: android.net.wifi.p2p.nsd.WifiP2pServiceInfo, param2: android.net.wifi.p2p.WifiP2pManager.ActionListener): void;
					public requestConnectionInfo(param0: android.net.wifi.p2p.WifiP2pManager.Channel, param1: android.net.wifi.p2p.WifiP2pManager.ConnectionInfoListener): void;
					public requestGroupInfo(param0: android.net.wifi.p2p.WifiP2pManager.Channel, param1: android.net.wifi.p2p.WifiP2pManager.GroupInfoListener): void;
					public createGroup(param0: android.net.wifi.p2p.WifiP2pManager.Channel, param1: android.net.wifi.p2p.WifiP2pManager.ActionListener): void;
					public discoverServices(param0: android.net.wifi.p2p.WifiP2pManager.Channel, param1: android.net.wifi.p2p.WifiP2pManager.ActionListener): void;
					public setDnsSdResponseListeners(param0: android.net.wifi.p2p.WifiP2pManager.Channel, param1: android.net.wifi.p2p.WifiP2pManager.DnsSdServiceResponseListener, param2: android.net.wifi.p2p.WifiP2pManager.DnsSdTxtRecordListener): void;
					public clearServiceRequests(param0: android.net.wifi.p2p.WifiP2pManager.Channel, param1: android.net.wifi.p2p.WifiP2pManager.ActionListener): void;
					public removeServiceRequest(param0: android.net.wifi.p2p.WifiP2pManager.Channel, param1: android.net.wifi.p2p.nsd.WifiP2pServiceRequest, param2: android.net.wifi.p2p.WifiP2pManager.ActionListener): void;
					public setUpnpServiceResponseListener(param0: android.net.wifi.p2p.WifiP2pManager.Channel, param1: android.net.wifi.p2p.WifiP2pManager.UpnpServiceResponseListener): void;
					public removeGroup(param0: android.net.wifi.p2p.WifiP2pManager.Channel, param1: android.net.wifi.p2p.WifiP2pManager.ActionListener): void;
					public requestPeers(param0: android.net.wifi.p2p.WifiP2pManager.Channel, param1: android.net.wifi.p2p.WifiP2pManager.PeerListListener): void;
				}
				export module WifiP2pManager {
					export class ActionListener extends java.lang.Object {
						public static class: java.lang.Class<android.net.wifi.p2p.WifiP2pManager.ActionListener>;
						/**
						 * Constructs a new instance of the android.net.wifi.p2p.WifiP2pManager$ActionListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
						 */
						public constructor(implementation: {
							onSuccess(): void;
							onFailure(param0: number): void;
						});
						public constructor();
						public onSuccess(): void;
						public onFailure(param0: number): void;
					}
					export class Channel extends java.lang.Object implements java.lang.AutoCloseable {
						public static class: java.lang.Class<android.net.wifi.p2p.WifiP2pManager.Channel>;
						public close(): void;
						public finalize(): void;
					}
					export class ChannelListener extends java.lang.Object {
						public static class: java.lang.Class<android.net.wifi.p2p.WifiP2pManager.ChannelListener>;
						/**
						 * Constructs a new instance of the android.net.wifi.p2p.WifiP2pManager$ChannelListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
						 */
						public constructor(implementation: {
							onChannelDisconnected(): void;
						});
						public constructor();
						public onChannelDisconnected(): void;
					}
					export class ConnectionInfoListener extends java.lang.Object {
						public static class: java.lang.Class<android.net.wifi.p2p.WifiP2pManager.ConnectionInfoListener>;
						/**
						 * Constructs a new instance of the android.net.wifi.p2p.WifiP2pManager$ConnectionInfoListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
						 */
						public constructor(implementation: {
							onConnectionInfoAvailable(param0: android.net.wifi.p2p.WifiP2pInfo): void;
						});
						public constructor();
						public onConnectionInfoAvailable(param0: android.net.wifi.p2p.WifiP2pInfo): void;
					}
					export class DnsSdServiceResponseListener extends java.lang.Object {
						public static class: java.lang.Class<android.net.wifi.p2p.WifiP2pManager.DnsSdServiceResponseListener>;
						/**
						 * Constructs a new instance of the android.net.wifi.p2p.WifiP2pManager$DnsSdServiceResponseListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
						 */
						public constructor(implementation: {
							onDnsSdServiceAvailable(param0: string, param1: string, param2: android.net.wifi.p2p.WifiP2pDevice): void;
						});
						public constructor();
						public onDnsSdServiceAvailable(param0: string, param1: string, param2: android.net.wifi.p2p.WifiP2pDevice): void;
					}
					export class DnsSdTxtRecordListener extends java.lang.Object {
						public static class: java.lang.Class<android.net.wifi.p2p.WifiP2pManager.DnsSdTxtRecordListener>;
						/**
						 * Constructs a new instance of the android.net.wifi.p2p.WifiP2pManager$DnsSdTxtRecordListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
						 */
						public constructor(implementation: {
							onDnsSdTxtRecordAvailable(param0: string, param1: java.util.Map<string,string>, param2: android.net.wifi.p2p.WifiP2pDevice): void;
						});
						public constructor();
						public onDnsSdTxtRecordAvailable(param0: string, param1: java.util.Map<string,string>, param2: android.net.wifi.p2p.WifiP2pDevice): void;
					}
					export class GroupInfoListener extends java.lang.Object {
						public static class: java.lang.Class<android.net.wifi.p2p.WifiP2pManager.GroupInfoListener>;
						/**
						 * Constructs a new instance of the android.net.wifi.p2p.WifiP2pManager$GroupInfoListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
						 */
						public constructor(implementation: {
							onGroupInfoAvailable(param0: android.net.wifi.p2p.WifiP2pGroup): void;
						});
						public constructor();
						public onGroupInfoAvailable(param0: android.net.wifi.p2p.WifiP2pGroup): void;
					}
					export class PeerListListener extends java.lang.Object {
						public static class: java.lang.Class<android.net.wifi.p2p.WifiP2pManager.PeerListListener>;
						/**
						 * Constructs a new instance of the android.net.wifi.p2p.WifiP2pManager$PeerListListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
						 */
						public constructor(implementation: {
							onPeersAvailable(param0: android.net.wifi.p2p.WifiP2pDeviceList): void;
						});
						public constructor();
						public onPeersAvailable(param0: android.net.wifi.p2p.WifiP2pDeviceList): void;
					}
					export class ServiceResponseListener extends java.lang.Object {
						public static class: java.lang.Class<android.net.wifi.p2p.WifiP2pManager.ServiceResponseListener>;
						/**
						 * Constructs a new instance of the android.net.wifi.p2p.WifiP2pManager$ServiceResponseListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
						 */
						public constructor(implementation: {
							onServiceAvailable(param0: number, param1: native.Array<number>, param2: android.net.wifi.p2p.WifiP2pDevice): void;
						});
						public constructor();
						public onServiceAvailable(param0: number, param1: native.Array<number>, param2: android.net.wifi.p2p.WifiP2pDevice): void;
					}
					export class UpnpServiceResponseListener extends java.lang.Object {
						public static class: java.lang.Class<android.net.wifi.p2p.WifiP2pManager.UpnpServiceResponseListener>;
						/**
						 * Constructs a new instance of the android.net.wifi.p2p.WifiP2pManager$UpnpServiceResponseListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
						 */
						public constructor(implementation: {
							onUpnpServiceAvailable(param0: java.util.List<string>, param1: android.net.wifi.p2p.WifiP2pDevice): void;
						});
						public constructor();
						public onUpnpServiceAvailable(param0: java.util.List<string>, param1: android.net.wifi.p2p.WifiP2pDevice): void;
					}
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module wifi {
			export module p2p {
				export module nsd {
					export class WifiP2pDnsSdServiceInfo extends android.net.wifi.p2p.nsd.WifiP2pServiceInfo {
						public static class: java.lang.Class<android.net.wifi.p2p.nsd.WifiP2pDnsSdServiceInfo>;
						public describeContents(): number;
						public static newInstance(param0: string, param1: string, param2: java.util.Map<string,string>): android.net.wifi.p2p.nsd.WifiP2pDnsSdServiceInfo;
						public writeToParcel(param0: android.os.Parcel, param1: number): void;
					}
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module wifi {
			export module p2p {
				export module nsd {
					export class WifiP2pDnsSdServiceRequest extends android.net.wifi.p2p.nsd.WifiP2pServiceRequest {
						public static class: java.lang.Class<android.net.wifi.p2p.nsd.WifiP2pDnsSdServiceRequest>;
						public describeContents(): number;
						public static newInstance(param0: string): android.net.wifi.p2p.nsd.WifiP2pDnsSdServiceRequest;
						public writeToParcel(param0: android.os.Parcel, param1: number): void;
						public static newInstance(param0: string, param1: string): android.net.wifi.p2p.nsd.WifiP2pDnsSdServiceRequest;
						public static newInstance(param0: number, param1: string): android.net.wifi.p2p.nsd.WifiP2pServiceRequest;
						public static newInstance(param0: number): android.net.wifi.p2p.nsd.WifiP2pServiceRequest;
						public static newInstance(): android.net.wifi.p2p.nsd.WifiP2pDnsSdServiceRequest;
					}
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module wifi {
			export module p2p {
				export module nsd {
					export class WifiP2pServiceInfo extends java.lang.Object implements android.os.Parcelable {
						public static class: java.lang.Class<android.net.wifi.p2p.nsd.WifiP2pServiceInfo>;
						public static SERVICE_TYPE_ALL: number;
						public static SERVICE_TYPE_BONJOUR: number;
						public static SERVICE_TYPE_UPNP: number;
						public static SERVICE_TYPE_VENDOR_SPECIFIC: number;
						public describeContents(): number;
						public writeToParcel(param0: android.os.Parcel, param1: number): void;
						public equals(param0: any): boolean;
						public hashCode(): number;
					}
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module wifi {
			export module p2p {
				export module nsd {
					export class WifiP2pServiceRequest extends java.lang.Object implements android.os.Parcelable {
						public static class: java.lang.Class<android.net.wifi.p2p.nsd.WifiP2pServiceRequest>;
						public describeContents(): number;
						public writeToParcel(param0: android.os.Parcel, param1: number): void;
						public static newInstance(param0: number, param1: string): android.net.wifi.p2p.nsd.WifiP2pServiceRequest;
						public equals(param0: any): boolean;
						public hashCode(): number;
						public static newInstance(param0: number): android.net.wifi.p2p.nsd.WifiP2pServiceRequest;
					}
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module wifi {
			export module p2p {
				export module nsd {
					export class WifiP2pUpnpServiceInfo extends android.net.wifi.p2p.nsd.WifiP2pServiceInfo {
						public static class: java.lang.Class<android.net.wifi.p2p.nsd.WifiP2pUpnpServiceInfo>;
						public static newInstance(param0: string, param1: string, param2: java.util.List<string>): android.net.wifi.p2p.nsd.WifiP2pUpnpServiceInfo;
						public describeContents(): number;
						public writeToParcel(param0: android.os.Parcel, param1: number): void;
					}
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module wifi {
			export module p2p {
				export module nsd {
					export class WifiP2pUpnpServiceRequest extends android.net.wifi.p2p.nsd.WifiP2pServiceRequest {
						public static class: java.lang.Class<android.net.wifi.p2p.nsd.WifiP2pUpnpServiceRequest>;
						public describeContents(): number;
						public static newInstance(): android.net.wifi.p2p.nsd.WifiP2pUpnpServiceRequest;
						public writeToParcel(param0: android.os.Parcel, param1: number): void;
						public static newInstance(param0: number, param1: string): android.net.wifi.p2p.nsd.WifiP2pServiceRequest;
						public static newInstance(param0: string): android.net.wifi.p2p.nsd.WifiP2pUpnpServiceRequest;
						public static newInstance(param0: number): android.net.wifi.p2p.nsd.WifiP2pServiceRequest;
					}
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module wifi {
			export module rtt {
				export class RangingRequest extends java.lang.Object implements android.os.Parcelable {
					public static class: java.lang.Class<android.net.wifi.rtt.RangingRequest>;
					public static CREATOR: android.os.Parcelable.Creator<android.net.wifi.rtt.RangingRequest>;
					public equals(param0: any): boolean;
					public toString(): string;
					public static getMaxPeers(): number;
					public describeContents(): number;
					public hashCode(): number;
					public writeToParcel(param0: android.os.Parcel, param1: number): void;
				}
				export module RangingRequest {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.net.wifi.rtt.RangingRequest.Builder>;
						public addWifiAwarePeer(param0: android.net.wifi.aware.PeerHandle): android.net.wifi.rtt.RangingRequest.Builder;
						public constructor();
						public build(): android.net.wifi.rtt.RangingRequest;
						public addWifiAwarePeer(param0: android.net.MacAddress): android.net.wifi.rtt.RangingRequest.Builder;
						public addAccessPoints(param0: java.util.List<android.net.wifi.ScanResult>): android.net.wifi.rtt.RangingRequest.Builder;
						public addAccessPoint(param0: android.net.wifi.ScanResult): android.net.wifi.rtt.RangingRequest.Builder;
					}
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module wifi {
			export module rtt {
				export class RangingResult extends java.lang.Object implements android.os.Parcelable {
					public static class: java.lang.Class<android.net.wifi.rtt.RangingResult>;
					public static CREATOR: android.os.Parcelable.Creator<android.net.wifi.rtt.RangingResult>;
					public static STATUS_FAIL: number;
					public static STATUS_RESPONDER_DOES_NOT_SUPPORT_IEEE80211MC: number;
					public static STATUS_SUCCESS: number;
					public getRssi(): number;
					public getDistanceStdDevMm(): number;
					public getPeerHandle(): android.net.wifi.aware.PeerHandle;
					public describeContents(): number;
					public getMacAddress(): android.net.MacAddress;
					public getNumAttemptedMeasurements(): number;
					public getDistanceMm(): number;
					public equals(param0: any): boolean;
					public toString(): string;
					public getRangingTimestampMillis(): number;
					public hashCode(): number;
					public getNumSuccessfulMeasurements(): number;
					public getStatus(): number;
					public writeToParcel(param0: android.os.Parcel, param1: number): void;
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module wifi {
			export module rtt {
				export abstract class RangingResultCallback extends java.lang.Object {
					public static class: java.lang.Class<android.net.wifi.rtt.RangingResultCallback>;
					public static STATUS_CODE_FAIL: number;
					public static STATUS_CODE_FAIL_RTT_NOT_AVAILABLE: number;
					public onRangingResults(param0: java.util.List<android.net.wifi.rtt.RangingResult>): void;
					public constructor();
					public onRangingFailure(param0: number): void;
				}
			}
		}
	}
}

declare module android {
	export module net {
		export module wifi {
			export module rtt {
				export class WifiRttManager extends java.lang.Object {
					public static class: java.lang.Class<android.net.wifi.rtt.WifiRttManager>;
					public static ACTION_WIFI_RTT_STATE_CHANGED: string;
					public startRanging(param0: android.net.wifi.rtt.RangingRequest, param1: java.util.concurrent.Executor, param2: android.net.wifi.rtt.RangingResultCallback): void;
					public isAvailable(): boolean;
				}
			}
		}
	}
}

declare module android {
	export module nfc {
		export class FormatException extends java.lang.Exception {
			public static class: java.lang.Class<android.nfc.FormatException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module android {
	export module nfc {
		export class NdefMessage extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.nfc.NdefMessage>;
			public static CREATOR: android.os.Parcelable.Creator<android.nfc.NdefMessage>;
			public constructor(param0: android.nfc.NdefRecord, param1: native.Array<android.nfc.NdefRecord>);
			public equals(param0: any): boolean;
			public getRecords(): native.Array<android.nfc.NdefRecord>;
			public toString(): string;
			public toByteArray(): native.Array<number>;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public constructor(param0: native.Array<number>);
			public getByteArrayLength(): number;
			public constructor(param0: native.Array<android.nfc.NdefRecord>);
			public hashCode(): number;
		}
	}
}

declare module android {
	export module nfc {
		export class NdefRecord extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.nfc.NdefRecord>;
			public static CREATOR: android.os.Parcelable.Creator<android.nfc.NdefRecord>;
			public static RTD_ALTERNATIVE_CARRIER: native.Array<number>;
			public static RTD_HANDOVER_CARRIER: native.Array<number>;
			public static RTD_HANDOVER_REQUEST: native.Array<number>;
			public static RTD_HANDOVER_SELECT: native.Array<number>;
			public static RTD_SMART_POSTER: native.Array<number>;
			public static RTD_TEXT: native.Array<number>;
			public static RTD_URI: native.Array<number>;
			public static TNF_ABSOLUTE_URI: number;
			public static TNF_EMPTY: number;
			public static TNF_EXTERNAL_TYPE: number;
			public static TNF_MIME_MEDIA: number;
			public static TNF_UNCHANGED: number;
			public static TNF_UNKNOWN: number;
			public static TNF_WELL_KNOWN: number;
			public equals(param0: any): boolean;
			public static createMime(param0: string, param1: native.Array<number>): android.nfc.NdefRecord;
			public static createExternal(param0: string, param1: string, param2: native.Array<number>): android.nfc.NdefRecord;
			public getPayload(): native.Array<number>;
			public constructor(param0: number, param1: native.Array<number>, param2: native.Array<number>, param3: native.Array<number>);
			public getId(): native.Array<number>;
			public static createApplicationRecord(param0: string): android.nfc.NdefRecord;
			public static createUri(param0: string): android.nfc.NdefRecord;
			public getTnf(): number;
			public toString(): string;
			public static createUri(param0: android.net.Uri): android.nfc.NdefRecord;
			public static createTextRecord(param0: string, param1: string): android.nfc.NdefRecord;
			public toUri(): android.net.Uri;
			/** @deprecated */
			public toByteArray(): native.Array<number>;
			public describeContents(): number;
			public toMimeType(): string;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getType(): native.Array<number>;
			/** @deprecated */
			public constructor(param0: native.Array<number>);
			public hashCode(): number;
		}
	}
}

declare module android {
	export module nfc {
		export class NfcAdapter extends java.lang.Object {
			public static class: java.lang.Class<android.nfc.NfcAdapter>;
			public static ACTION_ADAPTER_STATE_CHANGED: string;
			public static ACTION_NDEF_DISCOVERED: string;
			public static ACTION_TAG_DISCOVERED: string;
			public static ACTION_TECH_DISCOVERED: string;
			public static ACTION_TRANSACTION_DETECTED: string;
			public static EXTRA_ADAPTER_STATE: string;
			public static EXTRA_AID: string;
			public static EXTRA_DATA: string;
			public static EXTRA_ID: string;
			public static EXTRA_NDEF_MESSAGES: string;
			public static EXTRA_READER_PRESENCE_CHECK_DELAY: string;
			public static EXTRA_SECURE_ELEMENT_NAME: string;
			public static EXTRA_TAG: string;
			public static FLAG_READER_NFC_A: number;
			public static FLAG_READER_NFC_B: number;
			public static FLAG_READER_NFC_BARCODE: number;
			public static FLAG_READER_NFC_F: number;
			public static FLAG_READER_NFC_V: number;
			public static FLAG_READER_NO_PLATFORM_SOUNDS: number;
			public static FLAG_READER_SKIP_NDEF_CHECK: number;
			public static STATE_OFF: number;
			public static STATE_ON: number;
			public static STATE_TURNING_OFF: number;
			public static STATE_TURNING_ON: number;
			public enableForegroundDispatch(param0: android.app.Activity, param1: android.app.PendingIntent, param2: native.Array<android.content.IntentFilter>, param3: native.Array<native.Array<string>>): void;
			public setNdefPushMessage(param0: android.nfc.NdefMessage, param1: android.app.Activity, param2: native.Array<android.app.Activity>): void;
			/** @deprecated */
			public enableForegroundNdefPush(param0: android.app.Activity, param1: android.nfc.NdefMessage): void;
			public isNdefPushEnabled(): boolean;
			/** @deprecated */
			public disableForegroundNdefPush(param0: android.app.Activity): void;
			public setBeamPushUrisCallback(param0: android.nfc.NfcAdapter.CreateBeamUrisCallback, param1: android.app.Activity): void;
			public enableReaderMode(param0: android.app.Activity, param1: android.nfc.NfcAdapter.ReaderCallback, param2: number, param3: android.os.Bundle): void;
			public disableForegroundDispatch(param0: android.app.Activity): void;
			public static getDefaultAdapter(param0: android.content.Context): android.nfc.NfcAdapter;
			public isEnabled(): boolean;
			public setNdefPushMessageCallback(param0: android.nfc.NfcAdapter.CreateNdefMessageCallback, param1: android.app.Activity, param2: native.Array<android.app.Activity>): void;
			public setBeamPushUris(param0: native.Array<android.net.Uri>, param1: android.app.Activity): void;
			public disableReaderMode(param0: android.app.Activity): void;
			public invokeBeam(param0: android.app.Activity): boolean;
			public ignore(param0: android.nfc.Tag, param1: number, param2: android.nfc.NfcAdapter.OnTagRemovedListener, param3: android.os.Handler): boolean;
			public setOnNdefPushCompleteCallback(param0: android.nfc.NfcAdapter.OnNdefPushCompleteCallback, param1: android.app.Activity, param2: native.Array<android.app.Activity>): void;
		}
		export module NfcAdapter {
			export class CreateBeamUrisCallback extends java.lang.Object {
				public static class: java.lang.Class<android.nfc.NfcAdapter.CreateBeamUrisCallback>;
				/**
				 * Constructs a new instance of the android.nfc.NfcAdapter$CreateBeamUrisCallback interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					createBeamUris(param0: android.nfc.NfcEvent): native.Array<android.net.Uri>;
				});
				public constructor();
				public createBeamUris(param0: android.nfc.NfcEvent): native.Array<android.net.Uri>;
			}
			export class CreateNdefMessageCallback extends java.lang.Object {
				public static class: java.lang.Class<android.nfc.NfcAdapter.CreateNdefMessageCallback>;
				/**
				 * Constructs a new instance of the android.nfc.NfcAdapter$CreateNdefMessageCallback interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					createNdefMessage(param0: android.nfc.NfcEvent): android.nfc.NdefMessage;
				});
				public constructor();
				public createNdefMessage(param0: android.nfc.NfcEvent): android.nfc.NdefMessage;
			}
			export class OnNdefPushCompleteCallback extends java.lang.Object {
				public static class: java.lang.Class<android.nfc.NfcAdapter.OnNdefPushCompleteCallback>;
				/**
				 * Constructs a new instance of the android.nfc.NfcAdapter$OnNdefPushCompleteCallback interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onNdefPushComplete(param0: android.nfc.NfcEvent): void;
				});
				public constructor();
				public onNdefPushComplete(param0: android.nfc.NfcEvent): void;
			}
			export class OnTagRemovedListener extends java.lang.Object {
				public static class: java.lang.Class<android.nfc.NfcAdapter.OnTagRemovedListener>;
				/**
				 * Constructs a new instance of the android.nfc.NfcAdapter$OnTagRemovedListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onTagRemoved(): void;
				});
				public constructor();
				public onTagRemoved(): void;
			}
			export class ReaderCallback extends java.lang.Object {
				public static class: java.lang.Class<android.nfc.NfcAdapter.ReaderCallback>;
				/**
				 * Constructs a new instance of the android.nfc.NfcAdapter$ReaderCallback interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onTagDiscovered(param0: android.nfc.Tag): void;
				});
				public constructor();
				public onTagDiscovered(param0: android.nfc.Tag): void;
			}
		}
	}
}

declare module android {
	export module nfc {
		export class NfcEvent extends java.lang.Object {
			public static class: java.lang.Class<android.nfc.NfcEvent>;
			public nfcAdapter: android.nfc.NfcAdapter;
			public peerLlcpMajorVersion: number;
			public peerLlcpMinorVersion: number;
		}
	}
}

declare module android {
	export module nfc {
		export class NfcManager extends java.lang.Object {
			public static class: java.lang.Class<android.nfc.NfcManager>;
			public getDefaultAdapter(): android.nfc.NfcAdapter;
		}
	}
}

declare module android {
	export module nfc {
		export class Tag extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.nfc.Tag>;
			public static CREATOR: android.os.Parcelable.Creator<android.nfc.Tag>;
			public getTechList(): native.Array<string>;
			public toString(): string;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getId(): native.Array<number>;
		}
	}
}

declare module android {
	export module nfc {
		export class TagLostException extends java.io.IOException {
			public static class: java.lang.Class<android.nfc.TagLostException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module android {
	export module nfc {
		export module cardemulation {
			export class CardEmulation extends java.lang.Object {
				public static class: java.lang.Class<android.nfc.cardemulation.CardEmulation>;
				public static ACTION_CHANGE_DEFAULT: string;
				public static CATEGORY_OTHER: string;
				public static CATEGORY_PAYMENT: string;
				public static EXTRA_CATEGORY: string;
				public static EXTRA_SERVICE_COMPONENT: string;
				public static SELECTION_MODE_ALWAYS_ASK: number;
				public static SELECTION_MODE_ASK_IF_CONFLICT: number;
				public static SELECTION_MODE_PREFER_DEFAULT: number;
				public supportsAidPrefixRegistration(): boolean;
				public getAidsForService(param0: android.content.ComponentName, param1: string): java.util.List<string>;
				public removeAidsForService(param0: android.content.ComponentName, param1: string): boolean;
				public isDefaultServiceForCategory(param0: android.content.ComponentName, param1: string): boolean;
				public categoryAllowsForegroundPreference(param0: string): boolean;
				public isDefaultServiceForAid(param0: android.content.ComponentName, param1: string): boolean;
				public static getInstance(param0: android.nfc.NfcAdapter): android.nfc.cardemulation.CardEmulation;
				public unsetPreferredService(param0: android.app.Activity): boolean;
				public getSelectionModeForCategory(param0: string): number;
				public registerAidsForService(param0: android.content.ComponentName, param1: string, param2: java.util.List<string>): boolean;
				public setPreferredService(param0: android.app.Activity, param1: android.content.ComponentName): boolean;
			}
		}
	}
}

declare module android {
	export module nfc {
		export module cardemulation {
			export abstract class HostApduService extends android.app.Service {
				public static class: java.lang.Class<android.nfc.cardemulation.HostApduService>;
				public static DEACTIVATION_DESELECTED: number;
				public static DEACTIVATION_LINK_LOSS: number;
				public static SERVICE_INTERFACE: string;
				public static SERVICE_META_DATA: string;
				public onDeactivated(param0: number): void;
				public onBind(param0: android.content.Intent): android.os.IBinder;
				public notifyUnhandled(): void;
				public processCommandApdu(param0: native.Array<number>, param1: android.os.Bundle): native.Array<number>;
				public constructor(param0: android.content.Context);
				public sendResponseApdu(param0: native.Array<number>): void;
				public onTrimMemory(param0: number): void;
				public constructor();
			}
		}
	}
}

declare module android {
	export module nfc {
		export module cardemulation {
			export abstract class HostNfcFService extends android.app.Service {
				public static class: java.lang.Class<android.nfc.cardemulation.HostNfcFService>;
				public static DEACTIVATION_LINK_LOSS: number;
				public static SERVICE_INTERFACE: string;
				public static SERVICE_META_DATA: string;
				public onDeactivated(param0: number): void;
				public onBind(param0: android.content.Intent): android.os.IBinder;
				public constructor(param0: android.content.Context);
				public sendResponsePacket(param0: native.Array<number>): void;
				public processNfcFPacket(param0: native.Array<number>, param1: android.os.Bundle): native.Array<number>;
				public onTrimMemory(param0: number): void;
				public constructor();
			}
		}
	}
}

declare module android {
	export module nfc {
		export module cardemulation {
			export class NfcFCardEmulation extends java.lang.Object {
				public static class: java.lang.Class<android.nfc.cardemulation.NfcFCardEmulation>;
				public enableService(param0: android.app.Activity, param1: android.content.ComponentName): boolean;
				public unregisterSystemCodeForService(param0: android.content.ComponentName): boolean;
				public getSystemCodeForService(param0: android.content.ComponentName): string;
				public setNfcid2ForService(param0: android.content.ComponentName, param1: string): boolean;
				public getNfcid2ForService(param0: android.content.ComponentName): string;
				public disableService(param0: android.app.Activity): boolean;
				public registerSystemCodeForService(param0: android.content.ComponentName, param1: string): boolean;
				public static getInstance(param0: android.nfc.NfcAdapter): android.nfc.cardemulation.NfcFCardEmulation;
			}
		}
	}
}

declare module android {
	export module nfc {
		export module cardemulation {
			export abstract class OffHostApduService extends android.app.Service {
				public static class: java.lang.Class<android.nfc.cardemulation.OffHostApduService>;
				public static SERVICE_INTERFACE: string;
				public static SERVICE_META_DATA: string;
				public onBind(param0: android.content.Intent): android.os.IBinder;
				public constructor(param0: android.content.Context);
				public onTrimMemory(param0: number): void;
				public constructor();
			}
		}
	}
}

declare module android {
	export module nfc {
		export module tech {
			export class IsoDep extends java.lang.Object implements android.nfc.tech.TagTechnology {
				public static class: java.lang.Class<android.nfc.tech.IsoDep>;
				public transceive(param0: native.Array<number>): native.Array<number>;
				public getHiLayerResponse(): native.Array<number>;
				public isConnected(): boolean;
				public close(): void;
				public static get(param0: android.nfc.Tag): android.nfc.tech.IsoDep;
				public connect(): void;
				public getHistoricalBytes(): native.Array<number>;
				public getTimeout(): number;
				public getMaxTransceiveLength(): number;
				public isExtendedLengthApduSupported(): boolean;
				public setTimeout(param0: number): void;
				public getTag(): android.nfc.Tag;
			}
		}
	}
}

declare module android {
	export module nfc {
		export module tech {
			export class MifareClassic extends java.lang.Object implements android.nfc.tech.TagTechnology {
				public static class: java.lang.Class<android.nfc.tech.MifareClassic>;
				public static BLOCK_SIZE: number;
				public static KEY_DEFAULT: native.Array<number>;
				public static KEY_MIFARE_APPLICATION_DIRECTORY: native.Array<number>;
				public static KEY_NFC_FORUM: native.Array<number>;
				public static SIZE_1K: number;
				public static SIZE_2K: number;
				public static SIZE_4K: number;
				public static SIZE_MINI: number;
				public static TYPE_CLASSIC: number;
				public static TYPE_PLUS: number;
				public static TYPE_PRO: number;
				public static TYPE_UNKNOWN: number;
				public close(): void;
				public getType(): number;
				public getSectorCount(): number;
				public getBlockCount(): number;
				public sectorToBlock(param0: number): number;
				public readBlock(param0: number): native.Array<number>;
				public transfer(param0: number): void;
				public getTimeout(): number;
				public getMaxTransceiveLength(): number;
				public setTimeout(param0: number): void;
				public authenticateSectorWithKeyA(param0: number, param1: native.Array<number>): boolean;
				public restore(param0: number): void;
				public increment(param0: number, param1: number): void;
				public decrement(param0: number, param1: number): void;
				public authenticateSectorWithKeyB(param0: number, param1: native.Array<number>): boolean;
				public transceive(param0: native.Array<number>): native.Array<number>;
				public isConnected(): boolean;
				public connect(): void;
				public blockToSector(param0: number): number;
				public getSize(): number;
				public getBlockCountInSector(param0: number): number;
				public writeBlock(param0: number, param1: native.Array<number>): void;
				public getTag(): android.nfc.Tag;
				public static get(param0: android.nfc.Tag): android.nfc.tech.MifareClassic;
			}
		}
	}
}

declare module android {
	export module nfc {
		export module tech {
			export class MifareUltralight extends java.lang.Object implements android.nfc.tech.TagTechnology {
				public static class: java.lang.Class<android.nfc.tech.MifareUltralight>;
				public static PAGE_SIZE: number;
				public static TYPE_ULTRALIGHT: number;
				public static TYPE_ULTRALIGHT_C: number;
				public static TYPE_UNKNOWN: number;
				public transceive(param0: native.Array<number>): native.Array<number>;
				public isConnected(): boolean;
				public close(): void;
				public readPages(param0: number): native.Array<number>;
				public connect(): void;
				public static get(param0: android.nfc.Tag): android.nfc.tech.MifareUltralight;
				public getType(): number;
				public getTimeout(): number;
				public writePage(param0: number, param1: native.Array<number>): void;
				public getMaxTransceiveLength(): number;
				public setTimeout(param0: number): void;
				public getTag(): android.nfc.Tag;
			}
		}
	}
}

declare module android {
	export module nfc {
		export module tech {
			export class Ndef extends java.lang.Object implements android.nfc.tech.TagTechnology {
				public static class: java.lang.Class<android.nfc.tech.Ndef>;
				public static MIFARE_CLASSIC: string;
				public static NFC_FORUM_TYPE_1: string;
				public static NFC_FORUM_TYPE_2: string;
				public static NFC_FORUM_TYPE_3: string;
				public static NFC_FORUM_TYPE_4: string;
				public getType(): string;
				public getCachedNdefMessage(): android.nfc.NdefMessage;
				public close(): void;
				public static get(param0: android.nfc.Tag): android.nfc.tech.Ndef;
				public makeReadOnly(): boolean;
				public isConnected(): boolean;
				public connect(): void;
				public writeNdefMessage(param0: android.nfc.NdefMessage): void;
				public getNdefMessage(): android.nfc.NdefMessage;
				public isWritable(): boolean;
				public getMaxSize(): number;
				public getTag(): android.nfc.Tag;
				public canMakeReadOnly(): boolean;
			}
		}
	}
}

declare module android {
	export module nfc {
		export module tech {
			export class NdefFormatable extends java.lang.Object implements android.nfc.tech.TagTechnology {
				public static class: java.lang.Class<android.nfc.tech.NdefFormatable>;
				public format(param0: android.nfc.NdefMessage): void;
				public static get(param0: android.nfc.Tag): android.nfc.tech.NdefFormatable;
				public isConnected(): boolean;
				public close(): void;
				public connect(): void;
				public getTag(): android.nfc.Tag;
				public formatReadOnly(param0: android.nfc.NdefMessage): void;
			}
		}
	}
}

declare module android {
	export module nfc {
		export module tech {
			export class NfcA extends java.lang.Object implements android.nfc.tech.TagTechnology {
				public static class: java.lang.Class<android.nfc.tech.NfcA>;
				public transceive(param0: native.Array<number>): native.Array<number>;
				public isConnected(): boolean;
				public close(): void;
				public static get(param0: android.nfc.Tag): android.nfc.tech.NfcA;
				public connect(): void;
				public getAtqa(): native.Array<number>;
				public getSak(): number;
				public getTimeout(): number;
				public getMaxTransceiveLength(): number;
				public setTimeout(param0: number): void;
				public getTag(): android.nfc.Tag;
			}
		}
	}
}

declare module android {
	export module nfc {
		export module tech {
			export class NfcB extends java.lang.Object implements android.nfc.tech.TagTechnology {
				public static class: java.lang.Class<android.nfc.tech.NfcB>;
				public getProtocolInfo(): native.Array<number>;
				public transceive(param0: native.Array<number>): native.Array<number>;
				public isConnected(): boolean;
				public close(): void;
				public static get(param0: android.nfc.Tag): android.nfc.tech.NfcB;
				public connect(): void;
				public getApplicationData(): native.Array<number>;
				public getMaxTransceiveLength(): number;
				public getTag(): android.nfc.Tag;
			}
		}
	}
}

declare module android {
	export module nfc {
		export module tech {
			export class NfcBarcode extends java.lang.Object implements android.nfc.tech.TagTechnology {
				public static class: java.lang.Class<android.nfc.tech.NfcBarcode>;
				public static TYPE_KOVIO: number;
				public static TYPE_UNKNOWN: number;
				public isConnected(): boolean;
				public close(): void;
				public connect(): void;
				public getType(): number;
				public getBarcode(): native.Array<number>;
				public static get(param0: android.nfc.Tag): android.nfc.tech.NfcBarcode;
				public getTag(): android.nfc.Tag;
			}
		}
	}
}

declare module android {
	export module nfc {
		export module tech {
			export class NfcF extends java.lang.Object implements android.nfc.tech.TagTechnology {
				public static class: java.lang.Class<android.nfc.tech.NfcF>;
				public transceive(param0: native.Array<number>): native.Array<number>;
				public isConnected(): boolean;
				public close(): void;
				public getSystemCode(): native.Array<number>;
				public connect(): void;
				public getManufacturer(): native.Array<number>;
				public getTimeout(): number;
				public getMaxTransceiveLength(): number;
				public setTimeout(param0: number): void;
				public getTag(): android.nfc.Tag;
				public static get(param0: android.nfc.Tag): android.nfc.tech.NfcF;
			}
		}
	}
}

declare module android {
	export module nfc {
		export module tech {
			export class NfcV extends java.lang.Object implements android.nfc.tech.TagTechnology {
				public static class: java.lang.Class<android.nfc.tech.NfcV>;
				public getDsfId(): number;
				public transceive(param0: native.Array<number>): native.Array<number>;
				public isConnected(): boolean;
				public close(): void;
				public connect(): void;
				public getResponseFlags(): number;
				public getMaxTransceiveLength(): number;
				public getTag(): android.nfc.Tag;
				public static get(param0: android.nfc.Tag): android.nfc.tech.NfcV;
			}
		}
	}
}

declare module android {
	export module nfc {
		export module tech {
			export class TagTechnology extends java.lang.Object implements java.io.Closeable {
				public static class: java.lang.Class<android.nfc.tech.TagTechnology>;
				/**
				 * Constructs a new instance of the android.nfc.tech.TagTechnology interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getTag(): android.nfc.Tag;
					connect(): void;
					close(): void;
					isConnected(): boolean;
					close(): void;
					close(): void;
				});
				public constructor();
				public close(): void;
				public isConnected(): boolean;
				public connect(): void;
				public getTag(): android.nfc.Tag;
			}
		}
	}
}

declare module android {
	export module opengl {
		export class EGL14 extends java.lang.Object {
			public static class: java.lang.Class<android.opengl.EGL14>;
			public static EGL_ALPHA_MASK_SIZE: number;
			public static EGL_ALPHA_SIZE: number;
			public static EGL_BACK_BUFFER: number;
			public static EGL_BAD_ACCESS: number;
			public static EGL_BAD_ALLOC: number;
			public static EGL_BAD_ATTRIBUTE: number;
			public static EGL_BAD_CONFIG: number;
			public static EGL_BAD_CONTEXT: number;
			public static EGL_BAD_CURRENT_SURFACE: number;
			public static EGL_BAD_DISPLAY: number;
			public static EGL_BAD_MATCH: number;
			public static EGL_BAD_NATIVE_PIXMAP: number;
			public static EGL_BAD_NATIVE_WINDOW: number;
			public static EGL_BAD_PARAMETER: number;
			public static EGL_BAD_SURFACE: number;
			public static EGL_BIND_TO_TEXTURE_RGB: number;
			public static EGL_BIND_TO_TEXTURE_RGBA: number;
			public static EGL_BLUE_SIZE: number;
			public static EGL_BUFFER_DESTROYED: number;
			public static EGL_BUFFER_PRESERVED: number;
			public static EGL_BUFFER_SIZE: number;
			public static EGL_CLIENT_APIS: number;
			public static EGL_COLOR_BUFFER_TYPE: number;
			public static EGL_CONFIG_CAVEAT: number;
			public static EGL_CONFIG_ID: number;
			public static EGL_CONFORMANT: number;
			public static EGL_CONTEXT_CLIENT_TYPE: number;
			public static EGL_CONTEXT_CLIENT_VERSION: number;
			public static EGL_CONTEXT_LOST: number;
			public static EGL_CORE_NATIVE_ENGINE: number;
			public static EGL_DEFAULT_DISPLAY: number;
			public static EGL_DEPTH_SIZE: number;
			public static EGL_DISPLAY_SCALING: number;
			public static EGL_DRAW: number;
			public static EGL_EXTENSIONS: number;
			public static EGL_FALSE: number;
			public static EGL_GREEN_SIZE: number;
			public static EGL_HEIGHT: number;
			public static EGL_HORIZONTAL_RESOLUTION: number;
			public static EGL_LARGEST_PBUFFER: number;
			public static EGL_LEVEL: number;
			public static EGL_LUMINANCE_BUFFER: number;
			public static EGL_LUMINANCE_SIZE: number;
			public static EGL_MATCH_NATIVE_PIXMAP: number;
			public static EGL_MAX_PBUFFER_HEIGHT: number;
			public static EGL_MAX_PBUFFER_PIXELS: number;
			public static EGL_MAX_PBUFFER_WIDTH: number;
			public static EGL_MAX_SWAP_INTERVAL: number;
			public static EGL_MIN_SWAP_INTERVAL: number;
			public static EGL_MIPMAP_LEVEL: number;
			public static EGL_MIPMAP_TEXTURE: number;
			public static EGL_MULTISAMPLE_RESOLVE: number;
			public static EGL_MULTISAMPLE_RESOLVE_BOX: number;
			public static EGL_MULTISAMPLE_RESOLVE_BOX_BIT: number;
			public static EGL_MULTISAMPLE_RESOLVE_DEFAULT: number;
			public static EGL_NATIVE_RENDERABLE: number;
			public static EGL_NATIVE_VISUAL_ID: number;
			public static EGL_NATIVE_VISUAL_TYPE: number;
			public static EGL_NONE: number;
			public static EGL_NON_CONFORMANT_CONFIG: number;
			public static EGL_NOT_INITIALIZED: number;
			public static EGL_NO_CONTEXT: android.opengl.EGLContext;
			public static EGL_NO_DISPLAY: android.opengl.EGLDisplay;
			public static EGL_NO_SURFACE: android.opengl.EGLSurface;
			public static EGL_NO_TEXTURE: number;
			public static EGL_OPENGL_API: number;
			public static EGL_OPENGL_BIT: number;
			public static EGL_OPENGL_ES2_BIT: number;
			public static EGL_OPENGL_ES_API: number;
			public static EGL_OPENGL_ES_BIT: number;
			public static EGL_OPENVG_API: number;
			public static EGL_OPENVG_BIT: number;
			public static EGL_OPENVG_IMAGE: number;
			public static EGL_PBUFFER_BIT: number;
			public static EGL_PIXEL_ASPECT_RATIO: number;
			public static EGL_PIXMAP_BIT: number;
			public static EGL_READ: number;
			public static EGL_RED_SIZE: number;
			public static EGL_RENDERABLE_TYPE: number;
			public static EGL_RENDER_BUFFER: number;
			public static EGL_RGB_BUFFER: number;
			public static EGL_SAMPLES: number;
			public static EGL_SAMPLE_BUFFERS: number;
			public static EGL_SINGLE_BUFFER: number;
			public static EGL_SLOW_CONFIG: number;
			public static EGL_STENCIL_SIZE: number;
			public static EGL_SUCCESS: number;
			public static EGL_SURFACE_TYPE: number;
			public static EGL_SWAP_BEHAVIOR: number;
			public static EGL_SWAP_BEHAVIOR_PRESERVED_BIT: number;
			public static EGL_TEXTURE_2D: number;
			public static EGL_TEXTURE_FORMAT: number;
			public static EGL_TEXTURE_RGB: number;
			public static EGL_TEXTURE_RGBA: number;
			public static EGL_TEXTURE_TARGET: number;
			public static EGL_TRANSPARENT_BLUE_VALUE: number;
			public static EGL_TRANSPARENT_GREEN_VALUE: number;
			public static EGL_TRANSPARENT_RED_VALUE: number;
			public static EGL_TRANSPARENT_RGB: number;
			public static EGL_TRANSPARENT_TYPE: number;
			public static EGL_TRUE: number;
			public static EGL_VENDOR: number;
			public static EGL_VERSION: number;
			public static EGL_VERTICAL_RESOLUTION: number;
			public static EGL_VG_ALPHA_FORMAT: number;
			public static EGL_VG_ALPHA_FORMAT_NONPRE: number;
			public static EGL_VG_ALPHA_FORMAT_PRE: number;
			public static EGL_VG_ALPHA_FORMAT_PRE_BIT: number;
			public static EGL_VG_COLORSPACE: number;
			public static EGL_VG_COLORSPACE_LINEAR: number;
			public static EGL_VG_COLORSPACE_LINEAR_BIT: number;
			public static EGL_VG_COLORSPACE_sRGB: number;
			public static EGL_WIDTH: number;
			public static EGL_WINDOW_BIT: number;
			public static eglReleaseTexImage(param0: android.opengl.EGLDisplay, param1: android.opengl.EGLSurface, param2: number): boolean;
			public static eglTerminate(param0: android.opengl.EGLDisplay): boolean;
			public static eglCreateContext(param0: android.opengl.EGLDisplay, param1: android.opengl.EGLConfig, param2: android.opengl.EGLContext, param3: native.Array<number>, param4: number): android.opengl.EGLContext;
			public static eglWaitClient(): boolean;
			public static eglGetCurrentContext(): android.opengl.EGLContext;
			public static eglGetDisplay(param0: number): android.opengl.EGLDisplay;
			public static eglWaitGL(): boolean;
			public static eglGetCurrentSurface(param0: number): android.opengl.EGLSurface;
			public static eglCreateWindowSurface(param0: android.opengl.EGLDisplay, param1: android.opengl.EGLConfig, param2: any, param3: native.Array<number>, param4: number): android.opengl.EGLSurface;
			public static eglSwapInterval(param0: android.opengl.EGLDisplay, param1: number): boolean;
			public static eglSurfaceAttrib(param0: android.opengl.EGLDisplay, param1: android.opengl.EGLSurface, param2: number, param3: number): boolean;
			public static eglSwapBuffers(param0: android.opengl.EGLDisplay, param1: android.opengl.EGLSurface): boolean;
			public static eglDestroySurface(param0: android.opengl.EGLDisplay, param1: android.opengl.EGLSurface): boolean;
			public static eglMakeCurrent(param0: android.opengl.EGLDisplay, param1: android.opengl.EGLSurface, param2: android.opengl.EGLSurface, param3: android.opengl.EGLContext): boolean;
			public static eglQueryAPI(): number;
			public static eglCreatePbufferFromClientBuffer(param0: android.opengl.EGLDisplay, param1: number, param2: number, param3: android.opengl.EGLConfig, param4: native.Array<number>, param5: number): android.opengl.EGLSurface;
			public static eglQueryString(param0: android.opengl.EGLDisplay, param1: number): string;
			public static eglWaitNative(param0: number): boolean;
			public static eglCreatePbufferSurface(param0: android.opengl.EGLDisplay, param1: android.opengl.EGLConfig, param2: native.Array<number>, param3: number): android.opengl.EGLSurface;
			public constructor();
			public static eglBindAPI(param0: number): boolean;
			public static eglInitialize(param0: android.opengl.EGLDisplay, param1: native.Array<number>, param2: number, param3: native.Array<number>, param4: number): boolean;
			public static eglGetError(): number;
			public static eglReleaseThread(): boolean;
			public static eglChooseConfig(param0: android.opengl.EGLDisplay, param1: native.Array<number>, param2: number, param3: native.Array<android.opengl.EGLConfig>, param4: number, param5: number, param6: native.Array<number>, param7: number): boolean;
			public static eglBindTexImage(param0: android.opengl.EGLDisplay, param1: android.opengl.EGLSurface, param2: number): boolean;
			public static eglQueryContext(param0: android.opengl.EGLDisplay, param1: android.opengl.EGLContext, param2: number, param3: native.Array<number>, param4: number): boolean;
			public static eglCopyBuffers(param0: android.opengl.EGLDisplay, param1: android.opengl.EGLSurface, param2: number): boolean;
			public static eglGetConfigs(param0: android.opengl.EGLDisplay, param1: native.Array<android.opengl.EGLConfig>, param2: number, param3: number, param4: native.Array<number>, param5: number): boolean;
			/** @deprecated */
			public static eglCreatePixmapSurface(param0: android.opengl.EGLDisplay, param1: android.opengl.EGLConfig, param2: number, param3: native.Array<number>, param4: number): android.opengl.EGLSurface;
			public static eglDestroyContext(param0: android.opengl.EGLDisplay, param1: android.opengl.EGLContext): boolean;
			public static eglGetConfigAttrib(param0: android.opengl.EGLDisplay, param1: android.opengl.EGLConfig, param2: number, param3: native.Array<number>, param4: number): boolean;
			public static eglQuerySurface(param0: android.opengl.EGLDisplay, param1: android.opengl.EGLSurface, param2: number, param3: native.Array<number>, param4: number): boolean;
			public static eglGetCurrentDisplay(): android.opengl.EGLDisplay;
		}
	}
}

declare module android {
	export module opengl {
		export class EGLConfig extends android.opengl.EGLObjectHandle {
			public static class: java.lang.Class<android.opengl.EGLConfig>;
			public equals(param0: any): boolean;
		}
	}
}

declare module android {
	export module opengl {
		export class EGLContext extends android.opengl.EGLObjectHandle {
			public static class: java.lang.Class<android.opengl.EGLContext>;
			public equals(param0: any): boolean;
		}
	}
}

declare module android {
	export module opengl {
		export class EGLDisplay extends android.opengl.EGLObjectHandle {
			public static class: java.lang.Class<android.opengl.EGLDisplay>;
			public equals(param0: any): boolean;
		}
	}
}

declare module android {
	export module opengl {
		export class EGLExt extends java.lang.Object {
			public static class: java.lang.Class<android.opengl.EGLExt>;
			public static EGL_CONTEXT_FLAGS_KHR: number;
			public static EGL_CONTEXT_MAJOR_VERSION_KHR: number;
			public static EGL_CONTEXT_MINOR_VERSION_KHR: number;
			public static EGL_OPENGL_ES3_BIT_KHR: number;
			public static EGL_RECORDABLE_ANDROID: number;
			public static eglPresentationTimeANDROID(param0: android.opengl.EGLDisplay, param1: android.opengl.EGLSurface, param2: number): boolean;
			public constructor();
		}
	}
}

declare module android {
	export module opengl {
		export abstract class EGLObjectHandle extends java.lang.Object {
			public static class: java.lang.Class<android.opengl.EGLObjectHandle>;
			public getNativeHandle(): number;
			/** @deprecated */
			public constructor(param0: number);
			public constructor(param0: number);
			/** @deprecated */
			public getHandle(): number;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module opengl {
		export class EGLSurface extends android.opengl.EGLObjectHandle {
			public static class: java.lang.Class<android.opengl.EGLSurface>;
			public equals(param0: any): boolean;
		}
	}
}

declare module android {
	export module opengl {
		export class ETC1 extends java.lang.Object {
			public static class: java.lang.Class<android.opengl.ETC1>;
			public static DECODED_BLOCK_SIZE: number;
			public static ENCODED_BLOCK_SIZE: number;
			public static ETC1_RGB8_OES: number;
			public static ETC_PKM_HEADER_SIZE: number;
			public static encodeBlock(param0: java.nio.Buffer, param1: number, param2: java.nio.Buffer): void;
			public static formatHeader(param0: java.nio.Buffer, param1: number, param2: number): void;
			public static getEncodedDataSize(param0: number, param1: number): number;
			public static isValid(param0: java.nio.Buffer): boolean;
			public static getHeight(param0: java.nio.Buffer): number;
			public static decodeBlock(param0: java.nio.Buffer, param1: java.nio.Buffer): void;
			public static decodeImage(param0: java.nio.Buffer, param1: java.nio.Buffer, param2: number, param3: number, param4: number, param5: number): void;
			public static getWidth(param0: java.nio.Buffer): number;
			public constructor();
			public static encodeImage(param0: java.nio.Buffer, param1: number, param2: number, param3: number, param4: number, param5: java.nio.Buffer): void;
		}
	}
}

declare module android {
	export module opengl {
		export class ETC1Util extends java.lang.Object {
			public static class: java.lang.Class<android.opengl.ETC1Util>;
			public static isETC1Supported(): boolean;
			public static compressTexture(param0: java.nio.Buffer, param1: number, param2: number, param3: number, param4: number): android.opengl.ETC1Util.ETC1Texture;
			public static loadTexture(param0: number, param1: number, param2: number, param3: number, param4: number, param5: android.opengl.ETC1Util.ETC1Texture): void;
			public static createTexture(param0: java.io.InputStream): android.opengl.ETC1Util.ETC1Texture;
			public static writeTexture(param0: android.opengl.ETC1Util.ETC1Texture, param1: java.io.OutputStream): void;
			public constructor();
			public static loadTexture(param0: number, param1: number, param2: number, param3: number, param4: number, param5: java.io.InputStream): void;
		}
		export module ETC1Util {
			export class ETC1Texture extends java.lang.Object {
				public static class: java.lang.Class<android.opengl.ETC1Util.ETC1Texture>;
				public getWidth(): number;
				public getHeight(): number;
				public getData(): java.nio.ByteBuffer;
				public constructor(param0: number, param1: number, param2: java.nio.ByteBuffer);
			}
		}
	}
}

declare module android {
	export module opengl {
		export class GLDebugHelper extends java.lang.Object {
			public static class: java.lang.Class<android.opengl.GLDebugHelper>;
			public static CONFIG_CHECK_GL_ERROR: number;
			public static CONFIG_CHECK_THREAD: number;
			public static CONFIG_LOG_ARGUMENT_NAMES: number;
			public static ERROR_WRONG_THREAD: number;
			public static wrap(param0: javax.microedition.khronos.opengles.GL, param1: number, param2: java.io.Writer): javax.microedition.khronos.opengles.GL;
			public constructor();
			public static wrap(param0: javax.microedition.khronos.egl.EGL, param1: number, param2: java.io.Writer): javax.microedition.khronos.egl.EGL;
		}
	}
}

declare module android {
	export module opengl {
		export class GLES10 extends java.lang.Object {
			public static class: java.lang.Class<android.opengl.GLES10>;
			public static GL_ADD: number;
			public static GL_ALIASED_LINE_WIDTH_RANGE: number;
			public static GL_ALIASED_POINT_SIZE_RANGE: number;
			public static GL_ALPHA: number;
			public static GL_ALPHA_BITS: number;
			public static GL_ALPHA_TEST: number;
			public static GL_ALWAYS: number;
			public static GL_AMBIENT: number;
			public static GL_AMBIENT_AND_DIFFUSE: number;
			public static GL_AND: number;
			public static GL_AND_INVERTED: number;
			public static GL_AND_REVERSE: number;
			public static GL_BACK: number;
			public static GL_BLEND: number;
			public static GL_BLUE_BITS: number;
			public static GL_BYTE: number;
			public static GL_CCW: number;
			public static GL_CLAMP_TO_EDGE: number;
			public static GL_CLEAR: number;
			public static GL_COLOR_ARRAY: number;
			public static GL_COLOR_BUFFER_BIT: number;
			public static GL_COLOR_LOGIC_OP: number;
			public static GL_COLOR_MATERIAL: number;
			public static GL_COMPRESSED_TEXTURE_FORMATS: number;
			public static GL_CONSTANT_ATTENUATION: number;
			public static GL_COPY: number;
			public static GL_COPY_INVERTED: number;
			public static GL_CULL_FACE: number;
			public static GL_CW: number;
			public static GL_DECAL: number;
			public static GL_DECR: number;
			public static GL_DEPTH_BITS: number;
			public static GL_DEPTH_BUFFER_BIT: number;
			public static GL_DEPTH_TEST: number;
			public static GL_DIFFUSE: number;
			public static GL_DITHER: number;
			public static GL_DONT_CARE: number;
			public static GL_DST_ALPHA: number;
			public static GL_DST_COLOR: number;
			public static GL_EMISSION: number;
			public static GL_EQUAL: number;
			public static GL_EQUIV: number;
			public static GL_EXP: number;
			public static GL_EXP2: number;
			public static GL_EXTENSIONS: number;
			public static GL_FALSE: number;
			public static GL_FASTEST: number;
			public static GL_FIXED: number;
			public static GL_FLAT: number;
			public static GL_FLOAT: number;
			public static GL_FOG: number;
			public static GL_FOG_COLOR: number;
			public static GL_FOG_DENSITY: number;
			public static GL_FOG_END: number;
			public static GL_FOG_HINT: number;
			public static GL_FOG_MODE: number;
			public static GL_FOG_START: number;
			public static GL_FRONT: number;
			public static GL_FRONT_AND_BACK: number;
			public static GL_GEQUAL: number;
			public static GL_GREATER: number;
			public static GL_GREEN_BITS: number;
			public static GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES: number;
			public static GL_IMPLEMENTATION_COLOR_READ_TYPE_OES: number;
			public static GL_INCR: number;
			public static GL_INVALID_ENUM: number;
			public static GL_INVALID_OPERATION: number;
			public static GL_INVALID_VALUE: number;
			public static GL_INVERT: number;
			public static GL_KEEP: number;
			public static GL_LEQUAL: number;
			public static GL_LESS: number;
			public static GL_LIGHT0: number;
			public static GL_LIGHT1: number;
			public static GL_LIGHT2: number;
			public static GL_LIGHT3: number;
			public static GL_LIGHT4: number;
			public static GL_LIGHT5: number;
			public static GL_LIGHT6: number;
			public static GL_LIGHT7: number;
			public static GL_LIGHTING: number;
			public static GL_LIGHT_MODEL_AMBIENT: number;
			public static GL_LIGHT_MODEL_TWO_SIDE: number;
			public static GL_LINEAR: number;
			public static GL_LINEAR_ATTENUATION: number;
			public static GL_LINEAR_MIPMAP_LINEAR: number;
			public static GL_LINEAR_MIPMAP_NEAREST: number;
			public static GL_LINES: number;
			public static GL_LINE_LOOP: number;
			public static GL_LINE_SMOOTH: number;
			public static GL_LINE_SMOOTH_HINT: number;
			public static GL_LINE_STRIP: number;
			public static GL_LUMINANCE: number;
			public static GL_LUMINANCE_ALPHA: number;
			public static GL_MAX_ELEMENTS_INDICES: number;
			public static GL_MAX_ELEMENTS_VERTICES: number;
			public static GL_MAX_LIGHTS: number;
			public static GL_MAX_MODELVIEW_STACK_DEPTH: number;
			public static GL_MAX_PROJECTION_STACK_DEPTH: number;
			public static GL_MAX_TEXTURE_SIZE: number;
			public static GL_MAX_TEXTURE_STACK_DEPTH: number;
			public static GL_MAX_TEXTURE_UNITS: number;
			public static GL_MAX_VIEWPORT_DIMS: number;
			public static GL_MODELVIEW: number;
			public static GL_MODULATE: number;
			public static GL_MULTISAMPLE: number;
			public static GL_NAND: number;
			public static GL_NEAREST: number;
			public static GL_NEAREST_MIPMAP_LINEAR: number;
			public static GL_NEAREST_MIPMAP_NEAREST: number;
			public static GL_NEVER: number;
			public static GL_NICEST: number;
			public static GL_NOOP: number;
			public static GL_NOR: number;
			public static GL_NORMALIZE: number;
			public static GL_NORMAL_ARRAY: number;
			public static GL_NOTEQUAL: number;
			public static GL_NO_ERROR: number;
			public static GL_NUM_COMPRESSED_TEXTURE_FORMATS: number;
			public static GL_ONE: number;
			public static GL_ONE_MINUS_DST_ALPHA: number;
			public static GL_ONE_MINUS_DST_COLOR: number;
			public static GL_ONE_MINUS_SRC_ALPHA: number;
			public static GL_ONE_MINUS_SRC_COLOR: number;
			public static GL_OR: number;
			public static GL_OR_INVERTED: number;
			public static GL_OR_REVERSE: number;
			public static GL_OUT_OF_MEMORY: number;
			public static GL_PACK_ALIGNMENT: number;
			public static GL_PALETTE4_R5_G6_B5_OES: number;
			public static GL_PALETTE4_RGB5_A1_OES: number;
			public static GL_PALETTE4_RGB8_OES: number;
			public static GL_PALETTE4_RGBA4_OES: number;
			public static GL_PALETTE4_RGBA8_OES: number;
			public static GL_PALETTE8_R5_G6_B5_OES: number;
			public static GL_PALETTE8_RGB5_A1_OES: number;
			public static GL_PALETTE8_RGB8_OES: number;
			public static GL_PALETTE8_RGBA4_OES: number;
			public static GL_PALETTE8_RGBA8_OES: number;
			public static GL_PERSPECTIVE_CORRECTION_HINT: number;
			public static GL_POINTS: number;
			public static GL_POINT_FADE_THRESHOLD_SIZE: number;
			public static GL_POINT_SIZE: number;
			public static GL_POINT_SMOOTH: number;
			public static GL_POINT_SMOOTH_HINT: number;
			public static GL_POLYGON_OFFSET_FILL: number;
			public static GL_POLYGON_SMOOTH_HINT: number;
			public static GL_POSITION: number;
			public static GL_PROJECTION: number;
			public static GL_QUADRATIC_ATTENUATION: number;
			public static GL_RED_BITS: number;
			public static GL_RENDERER: number;
			public static GL_REPEAT: number;
			public static GL_REPLACE: number;
			public static GL_RESCALE_NORMAL: number;
			public static GL_RGB: number;
			public static GL_RGBA: number;
			public static GL_SAMPLE_ALPHA_TO_COVERAGE: number;
			public static GL_SAMPLE_ALPHA_TO_ONE: number;
			public static GL_SAMPLE_COVERAGE: number;
			public static GL_SCISSOR_TEST: number;
			public static GL_SET: number;
			public static GL_SHININESS: number;
			public static GL_SHORT: number;
			public static GL_SMOOTH: number;
			public static GL_SMOOTH_LINE_WIDTH_RANGE: number;
			public static GL_SMOOTH_POINT_SIZE_RANGE: number;
			public static GL_SPECULAR: number;
			public static GL_SPOT_CUTOFF: number;
			public static GL_SPOT_DIRECTION: number;
			public static GL_SPOT_EXPONENT: number;
			public static GL_SRC_ALPHA: number;
			public static GL_SRC_ALPHA_SATURATE: number;
			public static GL_SRC_COLOR: number;
			public static GL_STACK_OVERFLOW: number;
			public static GL_STACK_UNDERFLOW: number;
			public static GL_STENCIL_BITS: number;
			public static GL_STENCIL_BUFFER_BIT: number;
			public static GL_STENCIL_TEST: number;
			public static GL_SUBPIXEL_BITS: number;
			public static GL_TEXTURE: number;
			public static GL_TEXTURE0: number;
			public static GL_TEXTURE1: number;
			public static GL_TEXTURE10: number;
			public static GL_TEXTURE11: number;
			public static GL_TEXTURE12: number;
			public static GL_TEXTURE13: number;
			public static GL_TEXTURE14: number;
			public static GL_TEXTURE15: number;
			public static GL_TEXTURE16: number;
			public static GL_TEXTURE17: number;
			public static GL_TEXTURE18: number;
			public static GL_TEXTURE19: number;
			public static GL_TEXTURE2: number;
			public static GL_TEXTURE20: number;
			public static GL_TEXTURE21: number;
			public static GL_TEXTURE22: number;
			public static GL_TEXTURE23: number;
			public static GL_TEXTURE24: number;
			public static GL_TEXTURE25: number;
			public static GL_TEXTURE26: number;
			public static GL_TEXTURE27: number;
			public static GL_TEXTURE28: number;
			public static GL_TEXTURE29: number;
			public static GL_TEXTURE3: number;
			public static GL_TEXTURE30: number;
			public static GL_TEXTURE31: number;
			public static GL_TEXTURE4: number;
			public static GL_TEXTURE5: number;
			public static GL_TEXTURE6: number;
			public static GL_TEXTURE7: number;
			public static GL_TEXTURE8: number;
			public static GL_TEXTURE9: number;
			public static GL_TEXTURE_2D: number;
			public static GL_TEXTURE_COORD_ARRAY: number;
			public static GL_TEXTURE_ENV: number;
			public static GL_TEXTURE_ENV_COLOR: number;
			public static GL_TEXTURE_ENV_MODE: number;
			public static GL_TEXTURE_MAG_FILTER: number;
			public static GL_TEXTURE_MIN_FILTER: number;
			public static GL_TEXTURE_WRAP_S: number;
			public static GL_TEXTURE_WRAP_T: number;
			public static GL_TRIANGLES: number;
			public static GL_TRIANGLE_FAN: number;
			public static GL_TRIANGLE_STRIP: number;
			public static GL_TRUE: number;
			public static GL_UNPACK_ALIGNMENT: number;
			public static GL_UNSIGNED_BYTE: number;
			public static GL_UNSIGNED_SHORT: number;
			public static GL_UNSIGNED_SHORT_4_4_4_4: number;
			public static GL_UNSIGNED_SHORT_5_5_5_1: number;
			public static GL_UNSIGNED_SHORT_5_6_5: number;
			public static GL_VENDOR: number;
			public static GL_VERSION: number;
			public static GL_VERTEX_ARRAY: number;
			public static GL_XOR: number;
			public static GL_ZERO: number;
			public static glMultMatrixf(param0: java.nio.FloatBuffer): void;
			public static glOrthox(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number): void;
			public static glSampleCoveragex(param0: number, param1: boolean): void;
			public static glFogf(param0: number, param1: number): void;
			public static glPolygonOffsetx(param0: number, param1: number): void;
			public static glTexParameterf(param0: number, param1: number, param2: number): void;
			public static glGetString(param0: number): string;
			public static glTexEnvxv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glClientActiveTexture(param0: number): void;
			public static glCopyTexSubImage2D(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number): void;
			public static glGetError(): number;
			public static glStencilOp(param0: number, param1: number, param2: number): void;
			public static glColor4f(param0: number, param1: number, param2: number, param3: number): void;
			public static glPointSizex(param0: number): void;
			public static glStencilFunc(param0: number, param1: number, param2: number): void;
			public static glFrustumf(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number): void;
			public static glHint(param0: number, param1: number): void;
			public static glLoadIdentity(): void;
			public static glPixelStorei(param0: number, param1: number): void;
			public static glClearDepthx(param0: number): void;
			public constructor();
			public static glLoadMatrixf(param0: native.Array<number>, param1: number): void;
			public static glCompressedTexImage2D(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: java.nio.Buffer): void;
			public static glColorPointer(param0: number, param1: number, param2: number, param3: java.nio.Buffer): void;
			public static glMultMatrixx(param0: java.nio.IntBuffer): void;
			public static glClearColor(param0: number, param1: number, param2: number, param3: number): void;
			public static glLightx(param0: number, param1: number, param2: number): void;
			public static glTexEnvfv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glRotatex(param0: number, param1: number, param2: number, param3: number): void;
			public static glDepthFunc(param0: number): void;
			public static glGetIntegerv(param0: number, param1: native.Array<number>, param2: number): void;
			public static glTexEnvxv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glClear(param0: number): void;
			public static glLineWidth(param0: number): void;
			public static glPolygonOffset(param0: number, param1: number): void;
			public static glPointSize(param0: number): void;
			public static glTexEnvfv(param0: number, param1: number, param2: java.nio.FloatBuffer): void;
			public static glDisable(param0: number): void;
			public static glDepthRangef(param0: number, param1: number): void;
			public static glDepthRangex(param0: number, param1: number): void;
			public static glDrawArrays(param0: number, param1: number, param2: number): void;
			public static glMultMatrixx(param0: native.Array<number>, param1: number): void;
			public static glLightModelfv(param0: number, param1: java.nio.FloatBuffer): void;
			public static glBlendFunc(param0: number, param1: number): void;
			public static glSampleCoverage(param0: number, param1: boolean): void;
			public static glTranslatex(param0: number, param1: number, param2: number): void;
			public static glLightModelxv(param0: number, param1: native.Array<number>, param2: number): void;
			public static glFogfv(param0: number, param1: native.Array<number>, param2: number): void;
			public static glMaterialx(param0: number, param1: number, param2: number): void;
			public static glDeleteTextures(param0: number, param1: native.Array<number>, param2: number): void;
			public static glGenTextures(param0: number, param1: java.nio.IntBuffer): void;
			public static glLoadMatrixx(param0: native.Array<number>, param1: number): void;
			public static glLightModelxv(param0: number, param1: java.nio.IntBuffer): void;
			public static glLoadMatrixf(param0: java.nio.FloatBuffer): void;
			public static glNormal3f(param0: number, param1: number, param2: number): void;
			public static glCullFace(param0: number): void;
			public static glStencilMask(param0: number): void;
			public static glRotatef(param0: number, param1: number, param2: number, param3: number): void;
			public static glLightxv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glViewport(param0: number, param1: number, param2: number, param3: number): void;
			public static glNormalPointer(param0: number, param1: number, param2: java.nio.Buffer): void;
			public static glClearColorx(param0: number, param1: number, param2: number, param3: number): void;
			public static glFrontFace(param0: number): void;
			public static glColor4x(param0: number, param1: number, param2: number, param3: number): void;
			public static glLogicOp(param0: number): void;
			public static glEnableClientState(param0: number): void;
			public static glTexCoordPointer(param0: number, param1: number, param2: number, param3: java.nio.Buffer): void;
			public static glDisableClientState(param0: number): void;
			public static glShadeModel(param0: number): void;
			public static glTexEnvf(param0: number, param1: number, param2: number): void;
			public static glColorMask(param0: boolean, param1: boolean, param2: boolean, param3: boolean): void;
			public static glFogxv(param0: number, param1: native.Array<number>, param2: number): void;
			public static glFogxv(param0: number, param1: java.nio.IntBuffer): void;
			public static glScalex(param0: number, param1: number, param2: number): void;
			public static glMultiTexCoord4f(param0: number, param1: number, param2: number, param3: number, param4: number): void;
			public static glMultMatrixf(param0: native.Array<number>, param1: number): void;
			public static glMatrixMode(param0: number): void;
			public static glScalef(param0: number, param1: number, param2: number): void;
			public static glOrthof(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number): void;
			public static glReadPixels(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: java.nio.Buffer): void;
			public static glGenTextures(param0: number, param1: native.Array<number>, param2: number): void;
			public static glFogx(param0: number, param1: number): void;
			public static glLightf(param0: number, param1: number, param2: number): void;
			public static glMaterialxv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glBindTexture(param0: number, param1: number): void;
			public static glCompressedTexSubImage2D(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number, param8: java.nio.Buffer): void;
			public static glFrustumx(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number): void;
			public static glActiveTexture(param0: number): void;
			public static glDrawElements(param0: number, param1: number, param2: number, param3: java.nio.Buffer): void;
			public static glGetIntegerv(param0: number, param1: java.nio.IntBuffer): void;
			public static glDepthMask(param0: boolean): void;
			public static glPushMatrix(): void;
			public static glPopMatrix(): void;
			public static glAlphaFuncx(param0: number, param1: number): void;
			public static glCopyTexImage2D(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number): void;
			public static glLightModelx(param0: number, param1: number): void;
			public static glFinish(): void;
			public static glTexEnvx(param0: number, param1: number, param2: number): void;
			public static glTexParameterx(param0: number, param1: number, param2: number): void;
			public static glAlphaFunc(param0: number, param1: number): void;
			public static glMaterialfv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glLightxv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glVertexPointer(param0: number, param1: number, param2: number, param3: java.nio.Buffer): void;
			public static glFogfv(param0: number, param1: java.nio.FloatBuffer): void;
			public static glClearStencil(param0: number): void;
			public static glFlush(): void;
			public static glLightModelf(param0: number, param1: number): void;
			public static glDeleteTextures(param0: number, param1: java.nio.IntBuffer): void;
			public static glLineWidthx(param0: number): void;
			public static glTexImage2D(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number, param8: java.nio.Buffer): void;
			public static glMaterialxv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glTexSubImage2D(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number, param8: java.nio.Buffer): void;
			public static glLightfv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glLightModelfv(param0: number, param1: native.Array<number>, param2: number): void;
			public static glEnable(param0: number): void;
			public static glNormal3x(param0: number, param1: number, param2: number): void;
			public static glMultiTexCoord4x(param0: number, param1: number, param2: number, param3: number, param4: number): void;
			public static glMaterialf(param0: number, param1: number, param2: number): void;
			public static glTranslatef(param0: number, param1: number, param2: number): void;
			public static glScissor(param0: number, param1: number, param2: number, param3: number): void;
			public static glLoadMatrixx(param0: java.nio.IntBuffer): void;
			public static glMaterialfv(param0: number, param1: number, param2: java.nio.FloatBuffer): void;
			public static glClearDepthf(param0: number): void;
			public static glLightfv(param0: number, param1: number, param2: java.nio.FloatBuffer): void;
		}
	}
}

declare module android {
	export module opengl {
		export class GLES10Ext extends java.lang.Object {
			public static class: java.lang.Class<android.opengl.GLES10Ext>;
			public static glQueryMatrixxOES(param0: java.nio.IntBuffer, param1: java.nio.IntBuffer): number;
			public constructor();
			public static glQueryMatrixxOES(param0: native.Array<number>, param1: number, param2: native.Array<number>, param3: number): number;
		}
	}
}

declare module android {
	export module opengl {
		export class GLES11 extends android.opengl.GLES10 {
			public static class: java.lang.Class<android.opengl.GLES11>;
			public static GL_ACTIVE_TEXTURE: number;
			public static GL_ADD_SIGNED: number;
			public static GL_ALPHA_SCALE: number;
			public static GL_ALPHA_TEST_FUNC: number;
			public static GL_ALPHA_TEST_REF: number;
			public static GL_ARRAY_BUFFER: number;
			public static GL_ARRAY_BUFFER_BINDING: number;
			public static GL_BLEND_DST: number;
			public static GL_BLEND_SRC: number;
			public static GL_BUFFER_ACCESS: number;
			public static GL_BUFFER_SIZE: number;
			public static GL_BUFFER_USAGE: number;
			public static GL_CLIENT_ACTIVE_TEXTURE: number;
			public static GL_CLIP_PLANE0: number;
			public static GL_CLIP_PLANE1: number;
			public static GL_CLIP_PLANE2: number;
			public static GL_CLIP_PLANE3: number;
			public static GL_CLIP_PLANE4: number;
			public static GL_CLIP_PLANE5: number;
			public static GL_COLOR_ARRAY_BUFFER_BINDING: number;
			public static GL_COLOR_ARRAY_POINTER: number;
			public static GL_COLOR_ARRAY_SIZE: number;
			public static GL_COLOR_ARRAY_STRIDE: number;
			public static GL_COLOR_ARRAY_TYPE: number;
			public static GL_COLOR_CLEAR_VALUE: number;
			public static GL_COLOR_WRITEMASK: number;
			public static GL_COMBINE: number;
			public static GL_COMBINE_ALPHA: number;
			public static GL_COMBINE_RGB: number;
			public static GL_CONSTANT: number;
			public static GL_COORD_REPLACE_OES: number;
			public static GL_CULL_FACE_MODE: number;
			public static GL_CURRENT_COLOR: number;
			public static GL_CURRENT_NORMAL: number;
			public static GL_CURRENT_TEXTURE_COORDS: number;
			public static GL_DEPTH_CLEAR_VALUE: number;
			public static GL_DEPTH_FUNC: number;
			public static GL_DEPTH_RANGE: number;
			public static GL_DEPTH_WRITEMASK: number;
			public static GL_DOT3_RGB: number;
			public static GL_DOT3_RGBA: number;
			public static GL_DYNAMIC_DRAW: number;
			public static GL_ELEMENT_ARRAY_BUFFER: number;
			public static GL_ELEMENT_ARRAY_BUFFER_BINDING: number;
			public static GL_FRONT_FACE: number;
			public static GL_GENERATE_MIPMAP: number;
			public static GL_GENERATE_MIPMAP_HINT: number;
			public static GL_INTERPOLATE: number;
			public static GL_LINE_WIDTH: number;
			public static GL_LOGIC_OP_MODE: number;
			public static GL_MATRIX_MODE: number;
			public static GL_MAX_CLIP_PLANES: number;
			public static GL_MODELVIEW_MATRIX: number;
			public static GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES: number;
			public static GL_MODELVIEW_STACK_DEPTH: number;
			public static GL_NORMAL_ARRAY_BUFFER_BINDING: number;
			public static GL_NORMAL_ARRAY_POINTER: number;
			public static GL_NORMAL_ARRAY_STRIDE: number;
			public static GL_NORMAL_ARRAY_TYPE: number;
			public static GL_OPERAND0_ALPHA: number;
			public static GL_OPERAND0_RGB: number;
			public static GL_OPERAND1_ALPHA: number;
			public static GL_OPERAND1_RGB: number;
			public static GL_OPERAND2_ALPHA: number;
			public static GL_OPERAND2_RGB: number;
			public static GL_POINT_DISTANCE_ATTENUATION: number;
			public static GL_POINT_FADE_THRESHOLD_SIZE: number;
			public static GL_POINT_SIZE: number;
			public static GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES: number;
			public static GL_POINT_SIZE_ARRAY_OES: number;
			public static GL_POINT_SIZE_ARRAY_POINTER_OES: number;
			public static GL_POINT_SIZE_ARRAY_STRIDE_OES: number;
			public static GL_POINT_SIZE_ARRAY_TYPE_OES: number;
			public static GL_POINT_SIZE_MAX: number;
			public static GL_POINT_SIZE_MIN: number;
			public static GL_POINT_SPRITE_OES: number;
			public static GL_POLYGON_OFFSET_FACTOR: number;
			public static GL_POLYGON_OFFSET_UNITS: number;
			public static GL_PREVIOUS: number;
			public static GL_PRIMARY_COLOR: number;
			public static GL_PROJECTION_MATRIX: number;
			public static GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES: number;
			public static GL_PROJECTION_STACK_DEPTH: number;
			public static GL_RGB_SCALE: number;
			public static GL_SAMPLES: number;
			public static GL_SAMPLE_BUFFERS: number;
			public static GL_SAMPLE_COVERAGE_INVERT: number;
			public static GL_SAMPLE_COVERAGE_VALUE: number;
			public static GL_SCISSOR_BOX: number;
			public static GL_SHADE_MODEL: number;
			public static GL_SRC0_ALPHA: number;
			public static GL_SRC0_RGB: number;
			public static GL_SRC1_ALPHA: number;
			public static GL_SRC1_RGB: number;
			public static GL_SRC2_ALPHA: number;
			public static GL_SRC2_RGB: number;
			public static GL_STATIC_DRAW: number;
			public static GL_STENCIL_CLEAR_VALUE: number;
			public static GL_STENCIL_FAIL: number;
			public static GL_STENCIL_FUNC: number;
			public static GL_STENCIL_PASS_DEPTH_FAIL: number;
			public static GL_STENCIL_PASS_DEPTH_PASS: number;
			public static GL_STENCIL_REF: number;
			public static GL_STENCIL_VALUE_MASK: number;
			public static GL_STENCIL_WRITEMASK: number;
			public static GL_SUBTRACT: number;
			public static GL_TEXTURE_BINDING_2D: number;
			public static GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING: number;
			public static GL_TEXTURE_COORD_ARRAY_POINTER: number;
			public static GL_TEXTURE_COORD_ARRAY_SIZE: number;
			public static GL_TEXTURE_COORD_ARRAY_STRIDE: number;
			public static GL_TEXTURE_COORD_ARRAY_TYPE: number;
			public static GL_TEXTURE_MATRIX: number;
			public static GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES: number;
			public static GL_TEXTURE_STACK_DEPTH: number;
			public static GL_VERTEX_ARRAY_BUFFER_BINDING: number;
			public static GL_VERTEX_ARRAY_POINTER: number;
			public static GL_VERTEX_ARRAY_SIZE: number;
			public static GL_VERTEX_ARRAY_STRIDE: number;
			public static GL_VERTEX_ARRAY_TYPE: number;
			public static GL_VIEWPORT: number;
			public static GL_WRITE_ONLY: number;
			public static glGetBooleanv(param0: number, param1: native.Array<boolean>, param2: number): void;
			public static glGetMaterialfv(param0: number, param1: number, param2: java.nio.FloatBuffer): void;
			public static glIsTexture(param0: number): boolean;
			public static glNormalPointer(param0: number, param1: number, param2: java.nio.Buffer): void;
			public static glGetTexEnvfv(param0: number, param1: number, param2: java.nio.FloatBuffer): void;
			public static glTexEnviv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glBufferSubData(param0: number, param1: number, param2: number, param3: java.nio.Buffer): void;
			public static glTexParameterxv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glPointParameterxv(param0: number, param1: native.Array<number>, param2: number): void;
			public static glPointParameterfv(param0: number, param1: native.Array<number>, param2: number): void;
			public static glTexCoordPointer(param0: number, param1: number, param2: number, param3: java.nio.Buffer): void;
			public static glGetLightfv(param0: number, param1: number, param2: java.nio.FloatBuffer): void;
			public static glTexCoordPointer(param0: number, param1: number, param2: number, param3: number): void;
			public static glTexParameteri(param0: number, param1: number, param2: number): void;
			public static glIsBuffer(param0: number): boolean;
			public static glPointParameterf(param0: number, param1: number): void;
			public static glGetTexParameterfv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glTexParameterfv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glTexEnvi(param0: number, param1: number, param2: number): void;
			public static glGenBuffers(param0: number, param1: native.Array<number>, param2: number): void;
			public static glGenBuffers(param0: number, param1: java.nio.IntBuffer): void;
			public static glBufferData(param0: number, param1: number, param2: java.nio.Buffer, param3: number): void;
			public static glGetTexParameterxv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glColorPointer(param0: number, param1: number, param2: number, param3: number): void;
			public static glGetLightxv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glTexParameterxv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glTexParameteriv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public constructor();
			public static glNormalPointer(param0: number, param1: number, param2: number): void;
			public static glGetClipPlanef(param0: number, param1: native.Array<number>, param2: number): void;
			public static glClipPlanex(param0: number, param1: native.Array<number>, param2: number): void;
			public static glColorPointer(param0: number, param1: number, param2: number, param3: java.nio.Buffer): void;
			public static glGetFloatv(param0: number, param1: native.Array<number>, param2: number): void;
			public static glGetTexEnviv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glGetTexParameteriv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glGetTexEnviv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glDeleteBuffers(param0: number, param1: native.Array<number>, param2: number): void;
			public static glClipPlanef(param0: number, param1: java.nio.FloatBuffer): void;
			public static glGetClipPlanef(param0: number, param1: java.nio.FloatBuffer): void;
			public static glGetTexParameteriv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glDrawElements(param0: number, param1: number, param2: number, param3: java.nio.Buffer): void;
			public static glGetBufferParameteriv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glGetClipPlanex(param0: number, param1: java.nio.IntBuffer): void;
			public static glGetLightxv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glGetMaterialxv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glGetMaterialxv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glGetTexParameterfv(param0: number, param1: number, param2: java.nio.FloatBuffer): void;
			public static glPointParameterfv(param0: number, param1: java.nio.FloatBuffer): void;
			public static glBindBuffer(param0: number, param1: number): void;
			public static glGetTexEnvfv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glGetFixedv(param0: number, param1: java.nio.IntBuffer): void;
			public static glGetLightfv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glClipPlanef(param0: number, param1: native.Array<number>, param2: number): void;
			public static glTexEnviv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glVertexPointer(param0: number, param1: number, param2: number, param3: java.nio.Buffer): void;
			public static glGetClipPlanex(param0: number, param1: native.Array<number>, param2: number): void;
			public static glPointParameterx(param0: number, param1: number): void;
			public static glPointSizePointerOES(param0: number, param1: number, param2: java.nio.Buffer): void;
			public static glGetBooleanv(param0: number, param1: java.nio.IntBuffer): void;
			public static glGetFloatv(param0: number, param1: java.nio.FloatBuffer): void;
			public static glPointParameterxv(param0: number, param1: java.nio.IntBuffer): void;
			public static glGetFixedv(param0: number, param1: native.Array<number>, param2: number): void;
			public static glTexParameteriv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glGetBufferParameteriv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glGetTexEnvxv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glGetTexParameterxv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glTexParameterfv(param0: number, param1: number, param2: java.nio.FloatBuffer): void;
			public static glIsEnabled(param0: number): boolean;
			public static glClipPlanex(param0: number, param1: java.nio.IntBuffer): void;
			public static glDeleteBuffers(param0: number, param1: java.nio.IntBuffer): void;
			public static glGetMaterialfv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glGetTexEnvxv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glVertexPointer(param0: number, param1: number, param2: number, param3: number): void;
			public static glDrawElements(param0: number, param1: number, param2: number, param3: number): void;
			public static glColor4ub(param0: number, param1: number, param2: number, param3: number): void;
		}
	}
}

declare module android {
	export module opengl {
		export class GLES11Ext extends java.lang.Object {
			public static class: java.lang.Class<android.opengl.GLES11Ext>;
			public static GL_3DC_XY_AMD: number;
			public static GL_3DC_X_AMD: number;
			public static GL_ATC_RGBA_EXPLICIT_ALPHA_AMD: number;
			public static GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD: number;
			public static GL_ATC_RGB_AMD: number;
			public static GL_BGRA: number;
			public static GL_BLEND_DST_ALPHA_OES: number;
			public static GL_BLEND_DST_RGB_OES: number;
			public static GL_BLEND_EQUATION_ALPHA_OES: number;
			public static GL_BLEND_EQUATION_OES: number;
			public static GL_BLEND_EQUATION_RGB_OES: number;
			public static GL_BLEND_SRC_ALPHA_OES: number;
			public static GL_BLEND_SRC_RGB_OES: number;
			public static GL_BUFFER_ACCESS_OES: number;
			public static GL_BUFFER_MAPPED_OES: number;
			public static GL_BUFFER_MAP_POINTER_OES: number;
			public static GL_COLOR_ATTACHMENT0_OES: number;
			public static GL_CURRENT_PALETTE_MATRIX_OES: number;
			public static GL_DECR_WRAP_OES: number;
			public static GL_DEPTH24_STENCIL8_OES: number;
			public static GL_DEPTH_ATTACHMENT_OES: number;
			public static GL_DEPTH_COMPONENT16_OES: number;
			public static GL_DEPTH_COMPONENT24_OES: number;
			public static GL_DEPTH_COMPONENT32_OES: number;
			public static GL_DEPTH_STENCIL_OES: number;
			public static GL_ETC1_RGB8_OES: number;
			public static GL_FIXED_OES: number;
			public static GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES: number;
			public static GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES: number;
			public static GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES: number;
			public static GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES: number;
			public static GL_FRAMEBUFFER_BINDING_OES: number;
			public static GL_FRAMEBUFFER_COMPLETE_OES: number;
			public static GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES: number;
			public static GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES: number;
			public static GL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES: number;
			public static GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES: number;
			public static GL_FRAMEBUFFER_OES: number;
			public static GL_FRAMEBUFFER_UNSUPPORTED_OES: number;
			public static GL_FUNC_ADD_OES: number;
			public static GL_FUNC_REVERSE_SUBTRACT_OES: number;
			public static GL_FUNC_SUBTRACT_OES: number;
			public static GL_INCR_WRAP_OES: number;
			public static GL_INVALID_FRAMEBUFFER_OPERATION_OES: number;
			public static GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES: number;
			public static GL_MATRIX_INDEX_ARRAY_OES: number;
			public static GL_MATRIX_INDEX_ARRAY_POINTER_OES: number;
			public static GL_MATRIX_INDEX_ARRAY_SIZE_OES: number;
			public static GL_MATRIX_INDEX_ARRAY_STRIDE_OES: number;
			public static GL_MATRIX_INDEX_ARRAY_TYPE_OES: number;
			public static GL_MATRIX_PALETTE_OES: number;
			public static GL_MAX_CUBE_MAP_TEXTURE_SIZE_OES: number;
			public static GL_MAX_PALETTE_MATRICES_OES: number;
			public static GL_MAX_RENDERBUFFER_SIZE_OES: number;
			public static GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT: number;
			public static GL_MAX_VERTEX_UNITS_OES: number;
			public static GL_MIRRORED_REPEAT_OES: number;
			public static GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES: number;
			public static GL_NONE_OES: number;
			public static GL_NORMAL_MAP_OES: number;
			public static GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES: number;
			public static GL_REFLECTION_MAP_OES: number;
			public static GL_RENDERBUFFER_ALPHA_SIZE_OES: number;
			public static GL_RENDERBUFFER_BINDING_OES: number;
			public static GL_RENDERBUFFER_BLUE_SIZE_OES: number;
			public static GL_RENDERBUFFER_DEPTH_SIZE_OES: number;
			public static GL_RENDERBUFFER_GREEN_SIZE_OES: number;
			public static GL_RENDERBUFFER_HEIGHT_OES: number;
			public static GL_RENDERBUFFER_INTERNAL_FORMAT_OES: number;
			public static GL_RENDERBUFFER_OES: number;
			public static GL_RENDERBUFFER_RED_SIZE_OES: number;
			public static GL_RENDERBUFFER_STENCIL_SIZE_OES: number;
			public static GL_RENDERBUFFER_WIDTH_OES: number;
			public static GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES: number;
			public static GL_RGB565_OES: number;
			public static GL_RGB5_A1_OES: number;
			public static GL_RGB8_OES: number;
			public static GL_RGBA4_OES: number;
			public static GL_RGBA8_OES: number;
			public static GL_SAMPLER_EXTERNAL_OES: number;
			public static GL_STENCIL_ATTACHMENT_OES: number;
			public static GL_STENCIL_INDEX1_OES: number;
			public static GL_STENCIL_INDEX4_OES: number;
			public static GL_STENCIL_INDEX8_OES: number;
			public static GL_TEXTURE_BINDING_CUBE_MAP_OES: number;
			public static GL_TEXTURE_BINDING_EXTERNAL_OES: number;
			public static GL_TEXTURE_CROP_RECT_OES: number;
			public static GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES: number;
			public static GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES: number;
			public static GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES: number;
			public static GL_TEXTURE_CUBE_MAP_OES: number;
			public static GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES: number;
			public static GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES: number;
			public static GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES: number;
			public static GL_TEXTURE_EXTERNAL_OES: number;
			public static GL_TEXTURE_GEN_MODE_OES: number;
			public static GL_TEXTURE_GEN_STR_OES: number;
			public static GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES: number;
			public static GL_TEXTURE_MAX_ANISOTROPY_EXT: number;
			public static GL_UNSIGNED_INT_24_8_OES: number;
			public static GL_WEIGHT_ARRAY_BUFFER_BINDING_OES: number;
			public static GL_WEIGHT_ARRAY_OES: number;
			public static GL_WEIGHT_ARRAY_POINTER_OES: number;
			public static GL_WEIGHT_ARRAY_SIZE_OES: number;
			public static GL_WEIGHT_ARRAY_STRIDE_OES: number;
			public static GL_WEIGHT_ARRAY_TYPE_OES: number;
			public static GL_WRITE_ONLY_OES: number;
			public static glDrawTexsOES(param0: number, param1: number, param2: number, param3: number, param4: number): void;
			public static glClipPlanexOES(param0: number, param1: java.nio.IntBuffer): void;
			public static glIsFramebufferOES(param0: number): boolean;
			public static glAlphaFuncxOES(param0: number, param1: number): void;
			public static glOrthofOES(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number): void;
			public static glFogxvOES(param0: number, param1: java.nio.IntBuffer): void;
			public static glGenerateMipmapOES(param0: number): void;
			public static glPointParameterxOES(param0: number, param1: number): void;
			public static glDeleteRenderbuffersOES(param0: number, param1: java.nio.IntBuffer): void;
			public static glRotatexOES(param0: number, param1: number, param2: number, param3: number): void;
			public static glDrawTexxvOES(param0: java.nio.IntBuffer): void;
			public static glGetMaterialxvOES(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glGetFramebufferAttachmentParameterivOES(param0: number, param1: number, param2: number, param3: java.nio.IntBuffer): void;
			public static glGetTexParameterxvOES(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glDepthRangefOES(param0: number, param1: number): void;
			public static glBlendFuncSeparateOES(param0: number, param1: number, param2: number, param3: number): void;
			public static glLightModelxvOES(param0: number, param1: native.Array<number>, param2: number): void;
			public static glPointParameterxvOES(param0: number, param1: java.nio.IntBuffer): void;
			public static glMatrixIndexPointerOES(param0: number, param1: number, param2: number, param3: java.nio.Buffer): void;
			public static glTexEnvxOES(param0: number, param1: number, param2: number): void;
			public static glGetRenderbufferParameterivOES(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glBindFramebufferOES(param0: number, param1: number): void;
			public static glTexEnvxvOES(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public constructor();
			public static glTexGenfvOES(param0: number, param1: number, param2: java.nio.FloatBuffer): void;
			public static glGetClipPlanexOES(param0: number, param1: native.Array<number>, param2: number): void;
			public static glDrawTexxOES(param0: number, param1: number, param2: number, param3: number, param4: number): void;
			public static glDrawTexfvOES(param0: java.nio.FloatBuffer): void;
			public static glGetTexGenfvOES(param0: number, param1: number, param2: java.nio.FloatBuffer): void;
			public static glScalexOES(param0: number, param1: number, param2: number): void;
			public static glGetClipPlanefOES(param0: number, param1: native.Array<number>, param2: number): void;
			public static glDrawTexxvOES(param0: native.Array<number>, param1: number): void;
			public static glDeleteFramebuffersOES(param0: number, param1: java.nio.IntBuffer): void;
			public static glSampleCoveragexOES(param0: number, param1: boolean): void;
			public static glTexGenivOES(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glFrustumxOES(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number): void;
			public static glMultMatrixxOES(param0: native.Array<number>, param1: number): void;
			public static glGetRenderbufferParameterivOES(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glTexGeniOES(param0: number, param1: number, param2: number): void;
			public static glLineWidthxOES(param0: number): void;
			public static glGetFixedvOES(param0: number, param1: java.nio.IntBuffer): void;
			public static glIsRenderbufferOES(param0: number): boolean;
			public static glEGLImageTargetTexture2DOES(param0: number, param1: java.nio.Buffer): void;
			public static glDrawTexfvOES(param0: native.Array<number>, param1: number): void;
			public static glGetTexEnvxvOES(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glGetLightxvOES(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glCheckFramebufferStatusOES(param0: number): number;
			public static glTexGenfOES(param0: number, param1: number, param2: number): void;
			public static glPointParameterxvOES(param0: number, param1: native.Array<number>, param2: number): void;
			public static glEGLImageTargetRenderbufferStorageOES(param0: number, param1: java.nio.Buffer): void;
			public static glDrawTexiOES(param0: number, param1: number, param2: number, param3: number, param4: number): void;
			public static glGenRenderbuffersOES(param0: number, param1: java.nio.IntBuffer): void;
			public static glDeleteFramebuffersOES(param0: number, param1: native.Array<number>, param2: number): void;
			public static glGenFramebuffersOES(param0: number, param1: native.Array<number>, param2: number): void;
			public static glMaterialxvOES(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glMultMatrixxOES(param0: java.nio.IntBuffer): void;
			public static glLightModelxOES(param0: number, param1: number): void;
			public static glLoadMatrixxOES(param0: java.nio.IntBuffer): void;
			public static glMaterialxvOES(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glDrawTexivOES(param0: java.nio.IntBuffer): void;
			public static glDepthRangexOES(param0: number, param1: number): void;
			public static glFogxvOES(param0: number, param1: native.Array<number>, param2: number): void;
			public static glBlendEquationOES(param0: number): void;
			public static glDrawTexivOES(param0: native.Array<number>, param1: number): void;
			public static glFogxOES(param0: number, param1: number): void;
			public static glLightxOES(param0: number, param1: number, param2: number): void;
			public static glFramebufferTexture2DOES(param0: number, param1: number, param2: number, param3: number, param4: number): void;
			public static glBindRenderbufferOES(param0: number, param1: number): void;
			public static glGetMaterialxvOES(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glClearColorxOES(param0: number, param1: number, param2: number, param3: number): void;
			public static glMultiTexCoord4xOES(param0: number, param1: number, param2: number, param3: number, param4: number): void;
			public static glTexEnvxvOES(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glTexGenxvOES(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glGetFramebufferAttachmentParameterivOES(param0: number, param1: number, param2: number, param3: native.Array<number>, param4: number): void;
			public static glTexParameterxvOES(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glDrawTexsvOES(param0: java.nio.ShortBuffer): void;
			public static glNormal3xOES(param0: number, param1: number, param2: number): void;
			public static glWeightPointerOES(param0: number, param1: number, param2: number, param3: java.nio.Buffer): void;
			public static glGetTexGenivOES(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glTexGenxvOES(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glLoadMatrixxOES(param0: native.Array<number>, param1: number): void;
			public static glTexGenxOES(param0: number, param1: number, param2: number): void;
			public static glDrawTexfOES(param0: number, param1: number, param2: number, param3: number, param4: number): void;
			public static glGetFixedvOES(param0: number, param1: native.Array<number>, param2: number): void;
			public static glMaterialxOES(param0: number, param1: number, param2: number): void;
			public static glTexParameterxvOES(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glLightxvOES(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glClearDepthxOES(param0: number): void;
			public static glGetTexEnvxvOES(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glLightModelxvOES(param0: number, param1: java.nio.IntBuffer): void;
			public static glFramebufferRenderbufferOES(param0: number, param1: number, param2: number, param3: number): void;
			public static glLoadPaletteFromModelViewMatrixOES(): void;
			public static glOrthoxOES(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number): void;
			public static glGetLightxvOES(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glTexGenfvOES(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glGenFramebuffersOES(param0: number, param1: java.nio.IntBuffer): void;
			public static glTexGenivOES(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glGetTexGenivOES(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glColor4xOES(param0: number, param1: number, param2: number, param3: number): void;
			public static glTranslatexOES(param0: number, param1: number, param2: number): void;
			public static glTexParameterxOES(param0: number, param1: number, param2: number): void;
			public static glFrustumfOES(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number): void;
			public static glGetClipPlanefOES(param0: number, param1: java.nio.FloatBuffer): void;
			public static glGetTexGenfvOES(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glClipPlanexOES(param0: number, param1: native.Array<number>, param2: number): void;
			public static glClipPlanefOES(param0: number, param1: java.nio.FloatBuffer): void;
			public static glGetTexGenxvOES(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glCurrentPaletteMatrixOES(param0: number): void;
			public static glGetTexParameterxvOES(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glPolygonOffsetxOES(param0: number, param1: number): void;
			public static glPointSizexOES(param0: number): void;
			public static glClipPlanefOES(param0: number, param1: native.Array<number>, param2: number): void;
			public static glRenderbufferStorageOES(param0: number, param1: number, param2: number, param3: number): void;
			public static glGenRenderbuffersOES(param0: number, param1: native.Array<number>, param2: number): void;
			public static glDrawTexsvOES(param0: native.Array<number>, param1: number): void;
			public static glClearDepthfOES(param0: number): void;
			public static glDeleteRenderbuffersOES(param0: number, param1: native.Array<number>, param2: number): void;
			public static glGetTexGenxvOES(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glBlendEquationSeparateOES(param0: number, param1: number): void;
			public static glGetClipPlanexOES(param0: number, param1: java.nio.IntBuffer): void;
			public static glLightxvOES(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
		}
	}
}

declare module android {
	export module opengl {
		export class GLES20 extends java.lang.Object {
			public static class: java.lang.Class<android.opengl.GLES20>;
			public static GL_ACTIVE_ATTRIBUTES: number;
			public static GL_ACTIVE_ATTRIBUTE_MAX_LENGTH: number;
			public static GL_ACTIVE_TEXTURE: number;
			public static GL_ACTIVE_UNIFORMS: number;
			public static GL_ACTIVE_UNIFORM_MAX_LENGTH: number;
			public static GL_ALIASED_LINE_WIDTH_RANGE: number;
			public static GL_ALIASED_POINT_SIZE_RANGE: number;
			public static GL_ALPHA: number;
			public static GL_ALPHA_BITS: number;
			public static GL_ALWAYS: number;
			public static GL_ARRAY_BUFFER: number;
			public static GL_ARRAY_BUFFER_BINDING: number;
			public static GL_ATTACHED_SHADERS: number;
			public static GL_BACK: number;
			public static GL_BLEND: number;
			public static GL_BLEND_COLOR: number;
			public static GL_BLEND_DST_ALPHA: number;
			public static GL_BLEND_DST_RGB: number;
			public static GL_BLEND_EQUATION: number;
			public static GL_BLEND_EQUATION_ALPHA: number;
			public static GL_BLEND_EQUATION_RGB: number;
			public static GL_BLEND_SRC_ALPHA: number;
			public static GL_BLEND_SRC_RGB: number;
			public static GL_BLUE_BITS: number;
			public static GL_BOOL: number;
			public static GL_BOOL_VEC2: number;
			public static GL_BOOL_VEC3: number;
			public static GL_BOOL_VEC4: number;
			public static GL_BUFFER_SIZE: number;
			public static GL_BUFFER_USAGE: number;
			public static GL_BYTE: number;
			public static GL_CCW: number;
			public static GL_CLAMP_TO_EDGE: number;
			public static GL_COLOR_ATTACHMENT0: number;
			public static GL_COLOR_BUFFER_BIT: number;
			public static GL_COLOR_CLEAR_VALUE: number;
			public static GL_COLOR_WRITEMASK: number;
			public static GL_COMPILE_STATUS: number;
			public static GL_COMPRESSED_TEXTURE_FORMATS: number;
			public static GL_CONSTANT_ALPHA: number;
			public static GL_CONSTANT_COLOR: number;
			public static GL_CULL_FACE: number;
			public static GL_CULL_FACE_MODE: number;
			public static GL_CURRENT_PROGRAM: number;
			public static GL_CURRENT_VERTEX_ATTRIB: number;
			public static GL_CW: number;
			public static GL_DECR: number;
			public static GL_DECR_WRAP: number;
			public static GL_DELETE_STATUS: number;
			public static GL_DEPTH_ATTACHMENT: number;
			public static GL_DEPTH_BITS: number;
			public static GL_DEPTH_BUFFER_BIT: number;
			public static GL_DEPTH_CLEAR_VALUE: number;
			public static GL_DEPTH_COMPONENT: number;
			public static GL_DEPTH_COMPONENT16: number;
			public static GL_DEPTH_FUNC: number;
			public static GL_DEPTH_RANGE: number;
			public static GL_DEPTH_TEST: number;
			public static GL_DEPTH_WRITEMASK: number;
			public static GL_DITHER: number;
			public static GL_DONT_CARE: number;
			public static GL_DST_ALPHA: number;
			public static GL_DST_COLOR: number;
			public static GL_DYNAMIC_DRAW: number;
			public static GL_ELEMENT_ARRAY_BUFFER: number;
			public static GL_ELEMENT_ARRAY_BUFFER_BINDING: number;
			public static GL_EQUAL: number;
			public static GL_EXTENSIONS: number;
			public static GL_FALSE: number;
			public static GL_FASTEST: number;
			public static GL_FIXED: number;
			public static GL_FLOAT: number;
			public static GL_FLOAT_MAT2: number;
			public static GL_FLOAT_MAT3: number;
			public static GL_FLOAT_MAT4: number;
			public static GL_FLOAT_VEC2: number;
			public static GL_FLOAT_VEC3: number;
			public static GL_FLOAT_VEC4: number;
			public static GL_FRAGMENT_SHADER: number;
			public static GL_FRAMEBUFFER: number;
			public static GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: number;
			public static GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: number;
			public static GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: number;
			public static GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: number;
			public static GL_FRAMEBUFFER_BINDING: number;
			public static GL_FRAMEBUFFER_COMPLETE: number;
			public static GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT: number;
			public static GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS: number;
			public static GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: number;
			public static GL_FRAMEBUFFER_UNSUPPORTED: number;
			public static GL_FRONT: number;
			public static GL_FRONT_AND_BACK: number;
			public static GL_FRONT_FACE: number;
			public static GL_FUNC_ADD: number;
			public static GL_FUNC_REVERSE_SUBTRACT: number;
			public static GL_FUNC_SUBTRACT: number;
			public static GL_GENERATE_MIPMAP_HINT: number;
			public static GL_GEQUAL: number;
			public static GL_GREATER: number;
			public static GL_GREEN_BITS: number;
			public static GL_HIGH_FLOAT: number;
			public static GL_HIGH_INT: number;
			public static GL_IMPLEMENTATION_COLOR_READ_FORMAT: number;
			public static GL_IMPLEMENTATION_COLOR_READ_TYPE: number;
			public static GL_INCR: number;
			public static GL_INCR_WRAP: number;
			public static GL_INFO_LOG_LENGTH: number;
			public static GL_INT: number;
			public static GL_INT_VEC2: number;
			public static GL_INT_VEC3: number;
			public static GL_INT_VEC4: number;
			public static GL_INVALID_ENUM: number;
			public static GL_INVALID_FRAMEBUFFER_OPERATION: number;
			public static GL_INVALID_OPERATION: number;
			public static GL_INVALID_VALUE: number;
			public static GL_INVERT: number;
			public static GL_KEEP: number;
			public static GL_LEQUAL: number;
			public static GL_LESS: number;
			public static GL_LINEAR: number;
			public static GL_LINEAR_MIPMAP_LINEAR: number;
			public static GL_LINEAR_MIPMAP_NEAREST: number;
			public static GL_LINES: number;
			public static GL_LINE_LOOP: number;
			public static GL_LINE_STRIP: number;
			public static GL_LINE_WIDTH: number;
			public static GL_LINK_STATUS: number;
			public static GL_LOW_FLOAT: number;
			public static GL_LOW_INT: number;
			public static GL_LUMINANCE: number;
			public static GL_LUMINANCE_ALPHA: number;
			public static GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS: number;
			public static GL_MAX_CUBE_MAP_TEXTURE_SIZE: number;
			public static GL_MAX_FRAGMENT_UNIFORM_VECTORS: number;
			public static GL_MAX_RENDERBUFFER_SIZE: number;
			public static GL_MAX_TEXTURE_IMAGE_UNITS: number;
			public static GL_MAX_TEXTURE_SIZE: number;
			public static GL_MAX_VARYING_VECTORS: number;
			public static GL_MAX_VERTEX_ATTRIBS: number;
			public static GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS: number;
			public static GL_MAX_VERTEX_UNIFORM_VECTORS: number;
			public static GL_MAX_VIEWPORT_DIMS: number;
			public static GL_MEDIUM_FLOAT: number;
			public static GL_MEDIUM_INT: number;
			public static GL_MIRRORED_REPEAT: number;
			public static GL_NEAREST: number;
			public static GL_NEAREST_MIPMAP_LINEAR: number;
			public static GL_NEAREST_MIPMAP_NEAREST: number;
			public static GL_NEVER: number;
			public static GL_NICEST: number;
			public static GL_NONE: number;
			public static GL_NOTEQUAL: number;
			public static GL_NO_ERROR: number;
			public static GL_NUM_COMPRESSED_TEXTURE_FORMATS: number;
			public static GL_NUM_SHADER_BINARY_FORMATS: number;
			public static GL_ONE: number;
			public static GL_ONE_MINUS_CONSTANT_ALPHA: number;
			public static GL_ONE_MINUS_CONSTANT_COLOR: number;
			public static GL_ONE_MINUS_DST_ALPHA: number;
			public static GL_ONE_MINUS_DST_COLOR: number;
			public static GL_ONE_MINUS_SRC_ALPHA: number;
			public static GL_ONE_MINUS_SRC_COLOR: number;
			public static GL_OUT_OF_MEMORY: number;
			public static GL_PACK_ALIGNMENT: number;
			public static GL_POINTS: number;
			public static GL_POLYGON_OFFSET_FACTOR: number;
			public static GL_POLYGON_OFFSET_FILL: number;
			public static GL_POLYGON_OFFSET_UNITS: number;
			public static GL_RED_BITS: number;
			public static GL_RENDERBUFFER: number;
			public static GL_RENDERBUFFER_ALPHA_SIZE: number;
			public static GL_RENDERBUFFER_BINDING: number;
			public static GL_RENDERBUFFER_BLUE_SIZE: number;
			public static GL_RENDERBUFFER_DEPTH_SIZE: number;
			public static GL_RENDERBUFFER_GREEN_SIZE: number;
			public static GL_RENDERBUFFER_HEIGHT: number;
			public static GL_RENDERBUFFER_INTERNAL_FORMAT: number;
			public static GL_RENDERBUFFER_RED_SIZE: number;
			public static GL_RENDERBUFFER_STENCIL_SIZE: number;
			public static GL_RENDERBUFFER_WIDTH: number;
			public static GL_RENDERER: number;
			public static GL_REPEAT: number;
			public static GL_REPLACE: number;
			public static GL_RGB: number;
			public static GL_RGB565: number;
			public static GL_RGB5_A1: number;
			public static GL_RGBA: number;
			public static GL_RGBA4: number;
			public static GL_SAMPLER_2D: number;
			public static GL_SAMPLER_CUBE: number;
			public static GL_SAMPLES: number;
			public static GL_SAMPLE_ALPHA_TO_COVERAGE: number;
			public static GL_SAMPLE_BUFFERS: number;
			public static GL_SAMPLE_COVERAGE: number;
			public static GL_SAMPLE_COVERAGE_INVERT: number;
			public static GL_SAMPLE_COVERAGE_VALUE: number;
			public static GL_SCISSOR_BOX: number;
			public static GL_SCISSOR_TEST: number;
			public static GL_SHADER_BINARY_FORMATS: number;
			public static GL_SHADER_COMPILER: number;
			public static GL_SHADER_SOURCE_LENGTH: number;
			public static GL_SHADER_TYPE: number;
			public static GL_SHADING_LANGUAGE_VERSION: number;
			public static GL_SHORT: number;
			public static GL_SRC_ALPHA: number;
			public static GL_SRC_ALPHA_SATURATE: number;
			public static GL_SRC_COLOR: number;
			public static GL_STATIC_DRAW: number;
			public static GL_STENCIL_ATTACHMENT: number;
			public static GL_STENCIL_BACK_FAIL: number;
			public static GL_STENCIL_BACK_FUNC: number;
			public static GL_STENCIL_BACK_PASS_DEPTH_FAIL: number;
			public static GL_STENCIL_BACK_PASS_DEPTH_PASS: number;
			public static GL_STENCIL_BACK_REF: number;
			public static GL_STENCIL_BACK_VALUE_MASK: number;
			public static GL_STENCIL_BACK_WRITEMASK: number;
			public static GL_STENCIL_BITS: number;
			public static GL_STENCIL_BUFFER_BIT: number;
			public static GL_STENCIL_CLEAR_VALUE: number;
			public static GL_STENCIL_FAIL: number;
			public static GL_STENCIL_FUNC: number;
			public static GL_STENCIL_INDEX: number;
			public static GL_STENCIL_INDEX8: number;
			public static GL_STENCIL_PASS_DEPTH_FAIL: number;
			public static GL_STENCIL_PASS_DEPTH_PASS: number;
			public static GL_STENCIL_REF: number;
			public static GL_STENCIL_TEST: number;
			public static GL_STENCIL_VALUE_MASK: number;
			public static GL_STENCIL_WRITEMASK: number;
			public static GL_STREAM_DRAW: number;
			public static GL_SUBPIXEL_BITS: number;
			public static GL_TEXTURE: number;
			public static GL_TEXTURE0: number;
			public static GL_TEXTURE1: number;
			public static GL_TEXTURE10: number;
			public static GL_TEXTURE11: number;
			public static GL_TEXTURE12: number;
			public static GL_TEXTURE13: number;
			public static GL_TEXTURE14: number;
			public static GL_TEXTURE15: number;
			public static GL_TEXTURE16: number;
			public static GL_TEXTURE17: number;
			public static GL_TEXTURE18: number;
			public static GL_TEXTURE19: number;
			public static GL_TEXTURE2: number;
			public static GL_TEXTURE20: number;
			public static GL_TEXTURE21: number;
			public static GL_TEXTURE22: number;
			public static GL_TEXTURE23: number;
			public static GL_TEXTURE24: number;
			public static GL_TEXTURE25: number;
			public static GL_TEXTURE26: number;
			public static GL_TEXTURE27: number;
			public static GL_TEXTURE28: number;
			public static GL_TEXTURE29: number;
			public static GL_TEXTURE3: number;
			public static GL_TEXTURE30: number;
			public static GL_TEXTURE31: number;
			public static GL_TEXTURE4: number;
			public static GL_TEXTURE5: number;
			public static GL_TEXTURE6: number;
			public static GL_TEXTURE7: number;
			public static GL_TEXTURE8: number;
			public static GL_TEXTURE9: number;
			public static GL_TEXTURE_2D: number;
			public static GL_TEXTURE_BINDING_2D: number;
			public static GL_TEXTURE_BINDING_CUBE_MAP: number;
			public static GL_TEXTURE_CUBE_MAP: number;
			public static GL_TEXTURE_CUBE_MAP_NEGATIVE_X: number;
			public static GL_TEXTURE_CUBE_MAP_NEGATIVE_Y: number;
			public static GL_TEXTURE_CUBE_MAP_NEGATIVE_Z: number;
			public static GL_TEXTURE_CUBE_MAP_POSITIVE_X: number;
			public static GL_TEXTURE_CUBE_MAP_POSITIVE_Y: number;
			public static GL_TEXTURE_CUBE_MAP_POSITIVE_Z: number;
			public static GL_TEXTURE_MAG_FILTER: number;
			public static GL_TEXTURE_MIN_FILTER: number;
			public static GL_TEXTURE_WRAP_S: number;
			public static GL_TEXTURE_WRAP_T: number;
			public static GL_TRIANGLES: number;
			public static GL_TRIANGLE_FAN: number;
			public static GL_TRIANGLE_STRIP: number;
			public static GL_TRUE: number;
			public static GL_UNPACK_ALIGNMENT: number;
			public static GL_UNSIGNED_BYTE: number;
			public static GL_UNSIGNED_INT: number;
			public static GL_UNSIGNED_SHORT: number;
			public static GL_UNSIGNED_SHORT_4_4_4_4: number;
			public static GL_UNSIGNED_SHORT_5_5_5_1: number;
			public static GL_UNSIGNED_SHORT_5_6_5: number;
			public static GL_VALIDATE_STATUS: number;
			public static GL_VENDOR: number;
			public static GL_VERSION: number;
			public static GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: number;
			public static GL_VERTEX_ATTRIB_ARRAY_ENABLED: number;
			public static GL_VERTEX_ATTRIB_ARRAY_NORMALIZED: number;
			public static GL_VERTEX_ATTRIB_ARRAY_POINTER: number;
			public static GL_VERTEX_ATTRIB_ARRAY_SIZE: number;
			public static GL_VERTEX_ATTRIB_ARRAY_STRIDE: number;
			public static GL_VERTEX_ATTRIB_ARRAY_TYPE: number;
			public static GL_VERTEX_SHADER: number;
			public static GL_VIEWPORT: number;
			public static GL_ZERO: number;
			public static glGetBooleanv(param0: number, param1: native.Array<boolean>, param2: number): void;
			public static glGenFramebuffers(param0: number, param1: native.Array<number>, param2: number): void;
			public static glUniform3i(param0: number, param1: number, param2: number, param3: number): void;
			public static glVertexAttrib2fv(param0: number, param1: native.Array<number>, param2: number): void;
			public static glGetVertexAttribiv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glVertexAttrib4f(param0: number, param1: number, param2: number, param3: number, param4: number): void;
			public static glIsTexture(param0: number): boolean;
			public static glUniform2fv(param0: number, param1: number, param2: java.nio.FloatBuffer): void;
			public static glTexParameterf(param0: number, param1: number, param2: number): void;
			public static glGetShaderiv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glShaderBinary(param0: number, param1: java.nio.IntBuffer, param2: number, param3: java.nio.Buffer, param4: number): void;
			public static glUniformMatrix4fv(param0: number, param1: number, param2: boolean, param3: native.Array<number>, param4: number): void;
			public static glBufferSubData(param0: number, param1: number, param2: number, param3: java.nio.Buffer): void;
			public static glGetShaderSource(param0: number, param1: number, param2: native.Array<number>, param3: number, param4: native.Array<number>, param5: number): void;
			public static glGetString(param0: number): string;
			public static glShaderBinary(param0: number, param1: native.Array<number>, param2: number, param3: number, param4: java.nio.Buffer, param5: number): void;
			public static glTexParameteri(param0: number, param1: number, param2: number): void;
			public static glUniformMatrix2fv(param0: number, param1: number, param2: boolean, param3: native.Array<number>, param4: number): void;
			public static glCopyTexSubImage2D(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number): void;
			public static glUniformMatrix2fv(param0: number, param1: number, param2: boolean, param3: java.nio.FloatBuffer): void;
			public static glGenRenderbuffers(param0: number, param1: java.nio.IntBuffer): void;
			public static glGetAttribLocation(param0: number, param1: string): number;
			public static glTexParameterfv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glGetShaderSource(param0: number): string;
			public static glGenBuffers(param0: number, param1: native.Array<number>, param2: number): void;
			public static glGetError(): number;
			public static glStencilOp(param0: number, param1: number, param2: number): void;
			public static glUseProgram(param0: number): void;
			public static glStencilFunc(param0: number, param1: number, param2: number): void;
			public static glBlendFuncSeparate(param0: number, param1: number, param2: number, param3: number): void;
			public static glBufferData(param0: number, param1: number, param2: java.nio.Buffer, param3: number): void;
			public static glHint(param0: number, param1: number): void;
			public static glCreateProgram(): number;
			public static glGetProgramiv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glGetUniformiv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glPixelStorei(param0: number, param1: number): void;
			public static glFramebufferTexture2D(param0: number, param1: number, param2: number, param3: number, param4: number): void;
			public static glUniformMatrix4fv(param0: number, param1: number, param2: boolean, param3: java.nio.FloatBuffer): void;
			public static glBindAttribLocation(param0: number, param1: number, param2: string): void;
			public static glCompileShader(param0: number): void;
			public static glTexParameteriv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public constructor();
			public static glUniform3iv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glGetRenderbufferParameteriv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glUniform1iv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glDeleteRenderbuffers(param0: number, param1: java.nio.IntBuffer): void;
			public static glUniform2iv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glUniformMatrix3fv(param0: number, param1: number, param2: boolean, param3: java.nio.FloatBuffer): void;
			public static glCompressedTexImage2D(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: java.nio.Buffer): void;
			public static glUniform4fv(param0: number, param1: number, param2: java.nio.FloatBuffer): void;
			public static glGetTexParameteriv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glDeleteBuffers(param0: number, param1: native.Array<number>, param2: number): void;
			public static glDisableVertexAttribArray(param0: number): void;
			public static glGetActiveUniform(param0: number, param1: number, param2: number, param3: native.Array<number>, param4: number, param5: native.Array<number>, param6: number, param7: native.Array<number>, param8: number, param9: native.Array<number>, param10: number): void;
			public static glClearColor(param0: number, param1: number, param2: number, param3: number): void;
			public static glDeleteRenderbuffers(param0: number, param1: native.Array<number>, param2: number): void;
			public static glReleaseShaderCompiler(): void;
			public static glUniform4i(param0: number, param1: number, param2: number, param3: number, param4: number): void;
			public static glUniform1iv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glDepthFunc(param0: number): void;
			public static glGetActiveAttrib(param0: number, param1: number, param2: java.nio.IntBuffer, param3: java.nio.IntBuffer): string;
			public static glVertexAttrib2fv(param0: number, param1: java.nio.FloatBuffer): void;
			public static glGetIntegerv(param0: number, param1: native.Array<number>, param2: number): void;
			public static glClear(param0: number): void;
			public static glIsRenderbuffer(param0: number): boolean;
			public static glLineWidth(param0: number): void;
			public static glGetTexParameterfv(param0: number, param1: number, param2: java.nio.FloatBuffer): void;
			public static glLinkProgram(param0: number): void;
			public static glPolygonOffset(param0: number, param1: number): void;
			public static glBlendColor(param0: number, param1: number, param2: number, param3: number): void;
			public static glBindBuffer(param0: number, param1: number): void;
			public static glVertexAttribPointer(param0: number, param1: number, param2: number, param3: boolean, param4: number, param5: number): void;
			public static glGetAttachedShaders(param0: number, param1: number, param2: java.nio.IntBuffer, param3: java.nio.IntBuffer): void;
			public static glDisable(param0: number): void;
			public static glGetShaderInfoLog(param0: number): string;
			public static glIsProgram(param0: number): boolean;
			public static glUniform2fv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glGetShaderPrecisionFormat(param0: number, param1: number, param2: native.Array<number>, param3: number, param4: native.Array<number>, param5: number): void;
			public static glGetAttachedShaders(param0: number, param1: number, param2: native.Array<number>, param3: number, param4: native.Array<number>, param5: number): void;
			public static glDepthRangef(param0: number, param1: number): void;
			public static glDrawArrays(param0: number, param1: number, param2: number): void;
			public static glGetUniformLocation(param0: number, param1: string): number;
			public static glUniform4iv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glGetBooleanv(param0: number, param1: java.nio.IntBuffer): void;
			public static glGetFloatv(param0: number, param1: java.nio.FloatBuffer): void;
			public static glGetFramebufferAttachmentParameteriv(param0: number, param1: number, param2: number, param3: java.nio.IntBuffer): void;
			public static glVertexAttrib3f(param0: number, param1: number, param2: number, param3: number): void;
			public static glGetBufferParameteriv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glVertexAttrib4fv(param0: number, param1: native.Array<number>, param2: number): void;
			public static glBlendFunc(param0: number, param1: number): void;
			public static glSampleCoverage(param0: number, param1: boolean): void;
			public static glUniform1fv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glDeleteTextures(param0: number, param1: native.Array<number>, param2: number): void;
			public static glGenTextures(param0: number, param1: java.nio.IntBuffer): void;
			public static glGetVertexAttribfv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glUniform3fv(param0: number, param1: number, param2: java.nio.FloatBuffer): void;
			public static glIsFramebuffer(param0: number): boolean;
			public static glIsEnabled(param0: number): boolean;
			public static glVertexAttrib3fv(param0: number, param1: java.nio.FloatBuffer): void;
			public static glDeleteBuffers(param0: number, param1: java.nio.IntBuffer): void;
			public static glGetProgramiv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glRenderbufferStorage(param0: number, param1: number, param2: number, param3: number): void;
			public static glGetVertexAttribfv(param0: number, param1: number, param2: java.nio.FloatBuffer): void;
			public static glCullFace(param0: number): void;
			public static glBlendEquation(param0: number): void;
			public static glDeleteProgram(param0: number): void;
			public static glStencilMask(param0: number): void;
			public static glCreateShader(param0: number): number;
			public static glDrawElements(param0: number, param1: number, param2: number, param3: number): void;
			public static glGetShaderiv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glViewport(param0: number, param1: number, param2: number, param3: number): void;
			public static glFrontFace(param0: number): void;
			public static glEnableVertexAttribArray(param0: number): void;
			public static glStencilOpSeparate(param0: number, param1: number, param2: number, param3: number): void;
			public static glGetShaderPrecisionFormat(param0: number, param1: number, param2: java.nio.IntBuffer, param3: java.nio.IntBuffer): void;
			public static glIsBuffer(param0: number): boolean;
			public static glVertexAttrib1f(param0: number, param1: number): void;
			public static glVertexAttrib4fv(param0: number, param1: java.nio.FloatBuffer): void;
			public static glUniformMatrix3fv(param0: number, param1: number, param2: boolean, param3: native.Array<number>, param4: number): void;
			public static glVertexAttrib1fv(param0: number, param1: java.nio.FloatBuffer): void;
			public static glColorMask(param0: boolean, param1: boolean, param2: boolean, param3: boolean): void;
			public static glUniform1f(param0: number, param1: number): void;
			public static glGenerateMipmap(param0: number): void;
			public static glGetTexParameterfv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glGetUniformfv(param0: number, param1: number, param2: java.nio.FloatBuffer): void;
			public static glStencilFuncSeparate(param0: number, param1: number, param2: number, param3: number): void;
			public static glBindRenderbuffer(param0: number, param1: number): void;
			public static glGenBuffers(param0: number, param1: java.nio.IntBuffer): void;
			public static glFramebufferRenderbuffer(param0: number, param1: number, param2: number, param3: number): void;
			public static glReadPixels(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: java.nio.Buffer): void;
			public static glUniform3iv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glBlendEquationSeparate(param0: number, param1: number): void;
			public static glGetActiveUniform(param0: number, param1: number, param2: native.Array<number>, param3: number, param4: native.Array<number>, param5: number): string;
			public static glGenTextures(param0: number, param1: native.Array<number>, param2: number): void;
			public static glVertexAttribPointer(param0: number, param1: number, param2: number, param3: boolean, param4: number, param5: java.nio.Buffer): void;
			public static glIsShader(param0: number): boolean;
			public static glGetUniformfv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glUniform4iv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glVertexAttrib3fv(param0: number, param1: native.Array<number>, param2: number): void;
			public static glValidateProgram(param0: number): void;
			public static glGetFloatv(param0: number, param1: native.Array<number>, param2: number): void;
			public static glBindTexture(param0: number, param1: number): void;
			public static glGetActiveAttrib(param0: number, param1: number, param2: native.Array<number>, param3: number, param4: native.Array<number>, param5: number): string;
			public static glAttachShader(param0: number, param1: number): void;
			public static glCompressedTexSubImage2D(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number, param8: java.nio.Buffer): void;
			public static glBindFramebuffer(param0: number, param1: number): void;
			public static glActiveTexture(param0: number): void;
			public static glGenFramebuffers(param0: number, param1: java.nio.IntBuffer): void;
			public static glUniform1fv(param0: number, param1: number, param2: java.nio.FloatBuffer): void;
			public static glGetTexParameteriv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glDrawElements(param0: number, param1: number, param2: number, param3: java.nio.Buffer): void;
			public static glGetActiveUniform(param0: number, param1: number, param2: java.nio.IntBuffer, param3: java.nio.IntBuffer): string;
			public static glGetBufferParameteriv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glGetIntegerv(param0: number, param1: java.nio.IntBuffer): void;
			public static glUniform3f(param0: number, param1: number, param2: number, param3: number): void;
			public static glDepthMask(param0: boolean): void;
			public static glUniform1i(param0: number, param1: number): void;
			public static glCopyTexImage2D(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number): void;
			public static glUniform4fv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glFinish(): void;
			public static glUniform3fv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glGetFramebufferAttachmentParameteriv(param0: number, param1: number, param2: number, param3: native.Array<number>, param4: number): void;
			public static glStencilMaskSeparate(param0: number, param1: number): void;
			public static glUniform2i(param0: number, param1: number, param2: number): void;
			public static glDetachShader(param0: number, param1: number): void;
			public static glGetVertexAttribiv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glCheckFramebufferStatus(param0: number): number;
			public static glClearStencil(param0: number): void;
			public static glFlush(): void;
			public static glUniform2f(param0: number, param1: number, param2: number): void;
			public static glDeleteTextures(param0: number, param1: java.nio.IntBuffer): void;
			public static glTexImage2D(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number, param8: java.nio.Buffer): void;
			public static glTexParameteriv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glVertexAttrib2f(param0: number, param1: number, param2: number): void;
			public static glTexSubImage2D(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number, param8: java.nio.Buffer): void;
			public static glGetProgramInfoLog(param0: number): string;
			public static glTexParameterfv(param0: number, param1: number, param2: java.nio.FloatBuffer): void;
			public static glVertexAttrib1fv(param0: number, param1: native.Array<number>, param2: number): void;
			public static glShaderSource(param0: number, param1: string): void;
			public static glUniform4f(param0: number, param1: number, param2: number, param3: number, param4: number): void;
			public static glGenRenderbuffers(param0: number, param1: native.Array<number>, param2: number): void;
			public static glEnable(param0: number): void;
			public static glDeleteFramebuffers(param0: number, param1: java.nio.IntBuffer): void;
			public static glGetRenderbufferParameteriv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glGetUniformiv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glScissor(param0: number, param1: number, param2: number, param3: number): void;
			public static glUniform2iv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glGetActiveAttrib(param0: number, param1: number, param2: number, param3: native.Array<number>, param4: number, param5: native.Array<number>, param6: number, param7: native.Array<number>, param8: number, param9: native.Array<number>, param10: number): void;
			public static glDeleteShader(param0: number): void;
			public static glDeleteFramebuffers(param0: number, param1: native.Array<number>, param2: number): void;
			public static glClearDepthf(param0: number): void;
		}
	}
}

declare module android {
	export module opengl {
		export class GLES30 extends android.opengl.GLES20 {
			public static class: java.lang.Class<android.opengl.GLES30>;
			public static GL_ACTIVE_UNIFORM_BLOCKS: number;
			public static GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH: number;
			public static GL_ALREADY_SIGNALED: number;
			public static GL_ANY_SAMPLES_PASSED: number;
			public static GL_ANY_SAMPLES_PASSED_CONSERVATIVE: number;
			public static GL_BLUE: number;
			public static GL_BUFFER_ACCESS_FLAGS: number;
			public static GL_BUFFER_MAPPED: number;
			public static GL_BUFFER_MAP_LENGTH: number;
			public static GL_BUFFER_MAP_OFFSET: number;
			public static GL_BUFFER_MAP_POINTER: number;
			public static GL_COLOR: number;
			public static GL_COLOR_ATTACHMENT1: number;
			public static GL_COLOR_ATTACHMENT10: number;
			public static GL_COLOR_ATTACHMENT11: number;
			public static GL_COLOR_ATTACHMENT12: number;
			public static GL_COLOR_ATTACHMENT13: number;
			public static GL_COLOR_ATTACHMENT14: number;
			public static GL_COLOR_ATTACHMENT15: number;
			public static GL_COLOR_ATTACHMENT2: number;
			public static GL_COLOR_ATTACHMENT3: number;
			public static GL_COLOR_ATTACHMENT4: number;
			public static GL_COLOR_ATTACHMENT5: number;
			public static GL_COLOR_ATTACHMENT6: number;
			public static GL_COLOR_ATTACHMENT7: number;
			public static GL_COLOR_ATTACHMENT8: number;
			public static GL_COLOR_ATTACHMENT9: number;
			public static GL_COMPARE_REF_TO_TEXTURE: number;
			public static GL_COMPRESSED_R11_EAC: number;
			public static GL_COMPRESSED_RG11_EAC: number;
			public static GL_COMPRESSED_RGB8_ETC2: number;
			public static GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2: number;
			public static GL_COMPRESSED_RGBA8_ETC2_EAC: number;
			public static GL_COMPRESSED_SIGNED_R11_EAC: number;
			public static GL_COMPRESSED_SIGNED_RG11_EAC: number;
			public static GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC: number;
			public static GL_COMPRESSED_SRGB8_ETC2: number;
			public static GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2: number;
			public static GL_CONDITION_SATISFIED: number;
			public static GL_COPY_READ_BUFFER: number;
			public static GL_COPY_READ_BUFFER_BINDING: number;
			public static GL_COPY_WRITE_BUFFER: number;
			public static GL_COPY_WRITE_BUFFER_BINDING: number;
			public static GL_CURRENT_QUERY: number;
			public static GL_DEPTH: number;
			public static GL_DEPTH24_STENCIL8: number;
			public static GL_DEPTH32F_STENCIL8: number;
			public static GL_DEPTH_COMPONENT24: number;
			public static GL_DEPTH_COMPONENT32F: number;
			public static GL_DEPTH_STENCIL: number;
			public static GL_DEPTH_STENCIL_ATTACHMENT: number;
			public static GL_DRAW_BUFFER0: number;
			public static GL_DRAW_BUFFER1: number;
			public static GL_DRAW_BUFFER10: number;
			public static GL_DRAW_BUFFER11: number;
			public static GL_DRAW_BUFFER12: number;
			public static GL_DRAW_BUFFER13: number;
			public static GL_DRAW_BUFFER14: number;
			public static GL_DRAW_BUFFER15: number;
			public static GL_DRAW_BUFFER2: number;
			public static GL_DRAW_BUFFER3: number;
			public static GL_DRAW_BUFFER4: number;
			public static GL_DRAW_BUFFER5: number;
			public static GL_DRAW_BUFFER6: number;
			public static GL_DRAW_BUFFER7: number;
			public static GL_DRAW_BUFFER8: number;
			public static GL_DRAW_BUFFER9: number;
			public static GL_DRAW_FRAMEBUFFER: number;
			public static GL_DRAW_FRAMEBUFFER_BINDING: number;
			public static GL_DYNAMIC_COPY: number;
			public static GL_DYNAMIC_READ: number;
			public static GL_FLOAT_32_UNSIGNED_INT_24_8_REV: number;
			public static GL_FLOAT_MAT2x3: number;
			public static GL_FLOAT_MAT2x4: number;
			public static GL_FLOAT_MAT3x2: number;
			public static GL_FLOAT_MAT3x4: number;
			public static GL_FLOAT_MAT4x2: number;
			public static GL_FLOAT_MAT4x3: number;
			public static GL_FRAGMENT_SHADER_DERIVATIVE_HINT: number;
			public static GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE: number;
			public static GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE: number;
			public static GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING: number;
			public static GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE: number;
			public static GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE: number;
			public static GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE: number;
			public static GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE: number;
			public static GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE: number;
			public static GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER: number;
			public static GL_FRAMEBUFFER_DEFAULT: number;
			public static GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE: number;
			public static GL_FRAMEBUFFER_UNDEFINED: number;
			public static GL_GREEN: number;
			public static GL_HALF_FLOAT: number;
			public static GL_INTERLEAVED_ATTRIBS: number;
			public static GL_INT_2_10_10_10_REV: number;
			public static GL_INT_SAMPLER_2D: number;
			public static GL_INT_SAMPLER_2D_ARRAY: number;
			public static GL_INT_SAMPLER_3D: number;
			public static GL_INT_SAMPLER_CUBE: number;
			public static GL_INVALID_INDEX: number;
			public static GL_MAJOR_VERSION: number;
			public static GL_MAP_FLUSH_EXPLICIT_BIT: number;
			public static GL_MAP_INVALIDATE_BUFFER_BIT: number;
			public static GL_MAP_INVALIDATE_RANGE_BIT: number;
			public static GL_MAP_READ_BIT: number;
			public static GL_MAP_UNSYNCHRONIZED_BIT: number;
			public static GL_MAP_WRITE_BIT: number;
			public static GL_MAX: number;
			public static GL_MAX_3D_TEXTURE_SIZE: number;
			public static GL_MAX_ARRAY_TEXTURE_LAYERS: number;
			public static GL_MAX_COLOR_ATTACHMENTS: number;
			public static GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS: number;
			public static GL_MAX_COMBINED_UNIFORM_BLOCKS: number;
			public static GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS: number;
			public static GL_MAX_DRAW_BUFFERS: number;
			public static GL_MAX_ELEMENTS_INDICES: number;
			public static GL_MAX_ELEMENTS_VERTICES: number;
			public static GL_MAX_ELEMENT_INDEX: number;
			public static GL_MAX_FRAGMENT_INPUT_COMPONENTS: number;
			public static GL_MAX_FRAGMENT_UNIFORM_BLOCKS: number;
			public static GL_MAX_FRAGMENT_UNIFORM_COMPONENTS: number;
			public static GL_MAX_PROGRAM_TEXEL_OFFSET: number;
			public static GL_MAX_SAMPLES: number;
			public static GL_MAX_SERVER_WAIT_TIMEOUT: number;
			public static GL_MAX_TEXTURE_LOD_BIAS: number;
			public static GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS: number;
			public static GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS: number;
			public static GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS: number;
			public static GL_MAX_UNIFORM_BLOCK_SIZE: number;
			public static GL_MAX_UNIFORM_BUFFER_BINDINGS: number;
			public static GL_MAX_VARYING_COMPONENTS: number;
			public static GL_MAX_VERTEX_OUTPUT_COMPONENTS: number;
			public static GL_MAX_VERTEX_UNIFORM_BLOCKS: number;
			public static GL_MAX_VERTEX_UNIFORM_COMPONENTS: number;
			public static GL_MIN: number;
			public static GL_MINOR_VERSION: number;
			public static GL_MIN_PROGRAM_TEXEL_OFFSET: number;
			public static GL_NUM_EXTENSIONS: number;
			public static GL_NUM_PROGRAM_BINARY_FORMATS: number;
			public static GL_NUM_SAMPLE_COUNTS: number;
			public static GL_OBJECT_TYPE: number;
			public static GL_PACK_ROW_LENGTH: number;
			public static GL_PACK_SKIP_PIXELS: number;
			public static GL_PACK_SKIP_ROWS: number;
			public static GL_PIXEL_PACK_BUFFER: number;
			public static GL_PIXEL_PACK_BUFFER_BINDING: number;
			public static GL_PIXEL_UNPACK_BUFFER: number;
			public static GL_PIXEL_UNPACK_BUFFER_BINDING: number;
			public static GL_PRIMITIVE_RESTART_FIXED_INDEX: number;
			public static GL_PROGRAM_BINARY_FORMATS: number;
			public static GL_PROGRAM_BINARY_LENGTH: number;
			public static GL_PROGRAM_BINARY_RETRIEVABLE_HINT: number;
			public static GL_QUERY_RESULT: number;
			public static GL_QUERY_RESULT_AVAILABLE: number;
			public static GL_R11F_G11F_B10F: number;
			public static GL_R16F: number;
			public static GL_R16I: number;
			public static GL_R16UI: number;
			public static GL_R32F: number;
			public static GL_R32I: number;
			public static GL_R32UI: number;
			public static GL_R8: number;
			public static GL_R8I: number;
			public static GL_R8UI: number;
			public static GL_R8_SNORM: number;
			public static GL_RASTERIZER_DISCARD: number;
			public static GL_READ_BUFFER: number;
			public static GL_READ_FRAMEBUFFER: number;
			public static GL_READ_FRAMEBUFFER_BINDING: number;
			public static GL_RED: number;
			public static GL_RED_INTEGER: number;
			public static GL_RENDERBUFFER_SAMPLES: number;
			public static GL_RG: number;
			public static GL_RG16F: number;
			public static GL_RG16I: number;
			public static GL_RG16UI: number;
			public static GL_RG32F: number;
			public static GL_RG32I: number;
			public static GL_RG32UI: number;
			public static GL_RG8: number;
			public static GL_RG8I: number;
			public static GL_RG8UI: number;
			public static GL_RG8_SNORM: number;
			public static GL_RGB10_A2: number;
			public static GL_RGB10_A2UI: number;
			public static GL_RGB16F: number;
			public static GL_RGB16I: number;
			public static GL_RGB16UI: number;
			public static GL_RGB32F: number;
			public static GL_RGB32I: number;
			public static GL_RGB32UI: number;
			public static GL_RGB8: number;
			public static GL_RGB8I: number;
			public static GL_RGB8UI: number;
			public static GL_RGB8_SNORM: number;
			public static GL_RGB9_E5: number;
			public static GL_RGBA16F: number;
			public static GL_RGBA16I: number;
			public static GL_RGBA16UI: number;
			public static GL_RGBA32F: number;
			public static GL_RGBA32I: number;
			public static GL_RGBA32UI: number;
			public static GL_RGBA8: number;
			public static GL_RGBA8I: number;
			public static GL_RGBA8UI: number;
			public static GL_RGBA8_SNORM: number;
			public static GL_RGBA_INTEGER: number;
			public static GL_RGB_INTEGER: number;
			public static GL_RG_INTEGER: number;
			public static GL_SAMPLER_2D_ARRAY: number;
			public static GL_SAMPLER_2D_ARRAY_SHADOW: number;
			public static GL_SAMPLER_2D_SHADOW: number;
			public static GL_SAMPLER_3D: number;
			public static GL_SAMPLER_BINDING: number;
			public static GL_SAMPLER_CUBE_SHADOW: number;
			public static GL_SEPARATE_ATTRIBS: number;
			public static GL_SIGNALED: number;
			public static GL_SIGNED_NORMALIZED: number;
			public static GL_SRGB: number;
			public static GL_SRGB8: number;
			public static GL_SRGB8_ALPHA8: number;
			public static GL_STATIC_COPY: number;
			public static GL_STATIC_READ: number;
			public static GL_STENCIL: number;
			public static GL_STREAM_COPY: number;
			public static GL_STREAM_READ: number;
			public static GL_SYNC_CONDITION: number;
			public static GL_SYNC_FENCE: number;
			public static GL_SYNC_FLAGS: number;
			public static GL_SYNC_FLUSH_COMMANDS_BIT: number;
			public static GL_SYNC_GPU_COMMANDS_COMPLETE: number;
			public static GL_SYNC_STATUS: number;
			public static GL_TEXTURE_2D_ARRAY: number;
			public static GL_TEXTURE_3D: number;
			public static GL_TEXTURE_BASE_LEVEL: number;
			public static GL_TEXTURE_BINDING_2D_ARRAY: number;
			public static GL_TEXTURE_BINDING_3D: number;
			public static GL_TEXTURE_COMPARE_FUNC: number;
			public static GL_TEXTURE_COMPARE_MODE: number;
			public static GL_TEXTURE_IMMUTABLE_FORMAT: number;
			public static GL_TEXTURE_IMMUTABLE_LEVELS: number;
			public static GL_TEXTURE_MAX_LEVEL: number;
			public static GL_TEXTURE_MAX_LOD: number;
			public static GL_TEXTURE_MIN_LOD: number;
			public static GL_TEXTURE_SWIZZLE_A: number;
			public static GL_TEXTURE_SWIZZLE_B: number;
			public static GL_TEXTURE_SWIZZLE_G: number;
			public static GL_TEXTURE_SWIZZLE_R: number;
			public static GL_TEXTURE_WRAP_R: number;
			public static GL_TIMEOUT_EXPIRED: number;
			public static GL_TIMEOUT_IGNORED: number;
			public static GL_TRANSFORM_FEEDBACK: number;
			public static GL_TRANSFORM_FEEDBACK_ACTIVE: number;
			public static GL_TRANSFORM_FEEDBACK_BINDING: number;
			public static GL_TRANSFORM_FEEDBACK_BUFFER: number;
			public static GL_TRANSFORM_FEEDBACK_BUFFER_BINDING: number;
			public static GL_TRANSFORM_FEEDBACK_BUFFER_MODE: number;
			public static GL_TRANSFORM_FEEDBACK_BUFFER_SIZE: number;
			public static GL_TRANSFORM_FEEDBACK_BUFFER_START: number;
			public static GL_TRANSFORM_FEEDBACK_PAUSED: number;
			public static GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN: number;
			public static GL_TRANSFORM_FEEDBACK_VARYINGS: number;
			public static GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH: number;
			public static GL_UNIFORM_ARRAY_STRIDE: number;
			public static GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS: number;
			public static GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES: number;
			public static GL_UNIFORM_BLOCK_BINDING: number;
			public static GL_UNIFORM_BLOCK_DATA_SIZE: number;
			public static GL_UNIFORM_BLOCK_INDEX: number;
			public static GL_UNIFORM_BLOCK_NAME_LENGTH: number;
			public static GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER: number;
			public static GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER: number;
			public static GL_UNIFORM_BUFFER: number;
			public static GL_UNIFORM_BUFFER_BINDING: number;
			public static GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT: number;
			public static GL_UNIFORM_BUFFER_SIZE: number;
			public static GL_UNIFORM_BUFFER_START: number;
			public static GL_UNIFORM_IS_ROW_MAJOR: number;
			public static GL_UNIFORM_MATRIX_STRIDE: number;
			public static GL_UNIFORM_NAME_LENGTH: number;
			public static GL_UNIFORM_OFFSET: number;
			public static GL_UNIFORM_SIZE: number;
			public static GL_UNIFORM_TYPE: number;
			public static GL_UNPACK_IMAGE_HEIGHT: number;
			public static GL_UNPACK_ROW_LENGTH: number;
			public static GL_UNPACK_SKIP_IMAGES: number;
			public static GL_UNPACK_SKIP_PIXELS: number;
			public static GL_UNPACK_SKIP_ROWS: number;
			public static GL_UNSIGNALED: number;
			public static GL_UNSIGNED_INT_10F_11F_11F_REV: number;
			public static GL_UNSIGNED_INT_24_8: number;
			public static GL_UNSIGNED_INT_2_10_10_10_REV: number;
			public static GL_UNSIGNED_INT_5_9_9_9_REV: number;
			public static GL_UNSIGNED_INT_SAMPLER_2D: number;
			public static GL_UNSIGNED_INT_SAMPLER_2D_ARRAY: number;
			public static GL_UNSIGNED_INT_SAMPLER_3D: number;
			public static GL_UNSIGNED_INT_SAMPLER_CUBE: number;
			public static GL_UNSIGNED_INT_VEC2: number;
			public static GL_UNSIGNED_INT_VEC3: number;
			public static GL_UNSIGNED_INT_VEC4: number;
			public static GL_UNSIGNED_NORMALIZED: number;
			public static GL_VERTEX_ARRAY_BINDING: number;
			public static GL_VERTEX_ATTRIB_ARRAY_DIVISOR: number;
			public static GL_VERTEX_ATTRIB_ARRAY_INTEGER: number;
			public static GL_WAIT_FAILED: number;
			public static glTexSubImage3D(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number, param8: number, param9: number, param10: number): void;
			public static glUniform3uiv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glClearBufferuiv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glClientWaitSync(param0: number, param1: number, param2: number): number;
			public static glInvalidateFramebuffer(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glVertexAttribI4ui(param0: number, param1: number, param2: number, param3: number, param4: number): void;
			public static glCopyBufferSubData(param0: number, param1: number, param2: number, param3: number, param4: number): void;
			public static glGetQueryiv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glFramebufferTextureLayer(param0: number, param1: number, param2: number, param3: number, param4: number): void;
			public static glGetSamplerParameteriv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glInvalidateSubFramebuffer(param0: number, param1: number, param2: java.nio.IntBuffer, param3: number, param4: number, param5: number, param6: number): void;
			public static glUniform2uiv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glDrawArraysInstanced(param0: number, param1: number, param2: number, param3: number): void;
			public static glRenderbufferStorageMultisample(param0: number, param1: number, param2: number, param3: number, param4: number): void;
			public static glGetProgramBinary(param0: number, param1: number, param2: java.nio.IntBuffer, param3: java.nio.IntBuffer, param4: java.nio.Buffer): void;
			public static glDeleteSamplers(param0: number, param1: java.nio.IntBuffer): void;
			public static glSamplerParameterf(param0: number, param1: number, param2: number): void;
			public static glDeleteSync(param0: number): void;
			public static glGetActiveUniformBlockName(param0: number, param1: number, param2: number, param3: native.Array<number>, param4: number, param5: native.Array<number>, param6: number): void;
			public static glSamplerParameteri(param0: number, param1: number, param2: number): void;
			public static glGenSamplers(param0: number, param1: native.Array<number>, param2: number): void;
			public static glUniformMatrix2x3fv(param0: number, param1: number, param2: boolean, param3: native.Array<number>, param4: number): void;
			public static glUniformMatrix3x4fv(param0: number, param1: number, param2: boolean, param3: native.Array<number>, param4: number): void;
			public static glVertexAttribI4i(param0: number, param1: number, param2: number, param3: number, param4: number): void;
			public static glGetSynciv(param0: number, param1: number, param2: number, param3: native.Array<number>, param4: number, param5: native.Array<number>, param6: number): void;
			public static glClearBufferuiv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glGetTransformFeedbackVarying(param0: number, param1: number, param2: java.nio.IntBuffer, param3: java.nio.IntBuffer): string;
			public static glUniform4uiv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glUniformMatrix3x2fv(param0: number, param1: number, param2: boolean, param3: native.Array<number>, param4: number): void;
			public static glUniformMatrix4x2fv(param0: number, param1: number, param2: boolean, param3: java.nio.FloatBuffer): void;
			public static glBeginQuery(param0: number, param1: number): void;
			public static glVertexAttribI4uiv(param0: number, param1: native.Array<number>, param2: number): void;
			public static glEndQuery(param0: number): void;
			public static glGetVertexAttribIiv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public constructor();
			public static glGenTransformFeedbacks(param0: number, param1: native.Array<number>, param2: number): void;
			public static glGetActiveUniformBlockiv(param0: number, param1: number, param2: number, param3: java.nio.IntBuffer): void;
			public static glBindSampler(param0: number, param1: number): void;
			public static glCompressedTexImage3D(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number, param8: java.nio.Buffer): void;
			public static glTexStorage3D(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number): void;
			public static glGenTransformFeedbacks(param0: number, param1: java.nio.IntBuffer): void;
			public static glCompressedTexImage3D(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number, param8: number): void;
			public static glDrawBuffers(param0: number, param1: native.Array<number>, param2: number): void;
			public static glUniformBlockBinding(param0: number, param1: number, param2: number): void;
			public static glUniformMatrix4x3fv(param0: number, param1: number, param2: boolean, param3: native.Array<number>, param4: number): void;
			public static glTexSubImage3D(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number, param8: number, param9: number, param10: java.nio.Buffer): void;
			public static glUniformMatrix4x3fv(param0: number, param1: number, param2: boolean, param3: java.nio.FloatBuffer): void;
			public static glIsQuery(param0: number): boolean;
			public static glUniform1ui(param0: number, param1: number): void;
			public static glIsSampler(param0: number): boolean;
			public static glUniformMatrix3x2fv(param0: number, param1: number, param2: boolean, param3: java.nio.FloatBuffer): void;
			public static glIsSync(param0: number): boolean;
			public static glUniform3uiv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glGetUniformIndices(param0: number, param1: native.Array<string>, param2: native.Array<number>, param3: number): void;
			public static glVertexAttribI4iv(param0: number, param1: java.nio.IntBuffer): void;
			public static glUniform4uiv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glUniformMatrix4x2fv(param0: number, param1: number, param2: boolean, param3: native.Array<number>, param4: number): void;
			public static glTexStorage2D(param0: number, param1: number, param2: number, param3: number, param4: number): void;
			public static glGetIntegeri_v(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glSamplerParameteriv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glGenVertexArrays(param0: number, param1: native.Array<number>, param2: number): void;
			public static glGenQueries(param0: number, param1: java.nio.IntBuffer): void;
			public static glGetFragDataLocation(param0: number, param1: string): number;
			public static glGetUniformBlockIndex(param0: number, param1: string): number;
			public static glGetVertexAttribIuiv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glGetSynciv(param0: number, param1: number, param2: number, param3: java.nio.IntBuffer, param4: java.nio.IntBuffer): void;
			public static glUniformMatrix3x4fv(param0: number, param1: number, param2: boolean, param3: java.nio.FloatBuffer): void;
			public static glDeleteVertexArrays(param0: number, param1: native.Array<number>, param2: number): void;
			public static glClearBufferfi(param0: number, param1: number, param2: number, param3: number): void;
			public static glUniformMatrix2x4fv(param0: number, param1: number, param2: boolean, param3: java.nio.FloatBuffer): void;
			public static glUniformMatrix2x3fv(param0: number, param1: number, param2: boolean, param3: java.nio.FloatBuffer): void;
			public static glGetActiveUniformBlockName(param0: number, param1: number): string;
			public static glFenceSync(param0: number, param1: number): number;
			public static glGetSamplerParameteriv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glGetTransformFeedbackVarying(param0: number, param1: number, param2: number, param3: java.nio.IntBuffer, param4: java.nio.IntBuffer, param5: java.nio.IntBuffer, param6: java.nio.ByteBuffer): void;
			public static glIsTransformFeedback(param0: number): boolean;
			public static glGetQueryObjectuiv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glClearBufferfv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glGetInternalformativ(param0: number, param1: number, param2: number, param3: number, param4: native.Array<number>, param5: number): void;
			public static glReadPixels(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number): void;
			public static glBindVertexArray(param0: number): void;
			public static glDeleteQueries(param0: number, param1: java.nio.IntBuffer): void;
			public static glGetVertexAttribIuiv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glGetInteger64i_v(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glCompressedTexSubImage3D(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number, param8: number, param9: number, param10: number): void;
			public static glGetInteger64i_v(param0: number, param1: number, param2: java.nio.LongBuffer): void;
			public static glFlushMappedBufferRange(param0: number, param1: number, param2: number): void;
			public static glReadBuffer(param0: number): void;
			public static glUniformMatrix2x4fv(param0: number, param1: number, param2: boolean, param3: native.Array<number>, param4: number): void;
			public static glGetBufferPointerv(param0: number, param1: number): java.nio.Buffer;
			public static glGetTransformFeedbackVarying(param0: number, param1: number, param2: native.Array<number>, param3: number, param4: native.Array<number>, param5: number): string;
			public static glGetActiveUniformBlockiv(param0: number, param1: number, param2: number, param3: native.Array<number>, param4: number): void;
			public static glVertexAttribI4uiv(param0: number, param1: java.nio.IntBuffer): void;
			public static glDrawBuffers(param0: number, param1: java.nio.IntBuffer): void;
			public static glSamplerParameterfv(param0: number, param1: number, param2: java.nio.FloatBuffer): void;
			public static glDeleteQueries(param0: number, param1: native.Array<number>, param2: number): void;
			public static glGetInternalformativ(param0: number, param1: number, param2: number, param3: number, param4: java.nio.IntBuffer): void;
			public static glTexImage3D(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number, param8: number, param9: java.nio.Buffer): void;
			public static glSamplerParameterfv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glInvalidateFramebuffer(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glGetActiveUniformsiv(param0: number, param1: number, param2: java.nio.IntBuffer, param3: number, param4: java.nio.IntBuffer): void;
			public static glGetTransformFeedbackVarying(param0: number, param1: number, param2: number, param3: native.Array<number>, param4: number, param5: native.Array<number>, param6: number, param7: native.Array<number>, param8: number, param9: native.Array<number>, param10: number): void;
			public static glClearBufferfv(param0: number, param1: number, param2: java.nio.FloatBuffer): void;
			public static glProgramParameteri(param0: number, param1: number, param2: number): void;
			public static glGetStringi(param0: number, param1: number): string;
			public static glInvalidateSubFramebuffer(param0: number, param1: number, param2: native.Array<number>, param3: number, param4: number, param5: number, param6: number, param7: number): void;
			public static glMapBufferRange(param0: number, param1: number, param2: number, param3: number): java.nio.Buffer;
			public static glGetUniformuiv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glDrawElementsInstanced(param0: number, param1: number, param2: number, param3: java.nio.Buffer, param4: number): void;
			public static glGetProgramBinary(param0: number, param1: number, param2: native.Array<number>, param3: number, param4: native.Array<number>, param5: number, param6: java.nio.Buffer): void;
			public static glReadPixels(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: java.nio.Buffer): void;
			public static glGetVertexAttribIiv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glGetQueryiv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glVertexAttribIPointer(param0: number, param1: number, param2: number, param3: number, param4: number): void;
			public static glGetInteger64v(param0: number, param1: native.Array<number>, param2: number): void;
			public static glDeleteSamplers(param0: number, param1: native.Array<number>, param2: number): void;
			public static glUniform1uiv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glBindBufferRange(param0: number, param1: number, param2: number, param3: number, param4: number): void;
			public static glGetActiveUniformBlockName(param0: number, param1: number, param2: java.nio.Buffer, param3: java.nio.Buffer): void;
			public static glTransformFeedbackVaryings(param0: number, param1: native.Array<string>, param2: number): void;
			public static glUniform2uiv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glDrawElementsInstanced(param0: number, param1: number, param2: number, param3: number, param4: number): void;
			public static glGetBufferParameteri64v(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glClearBufferiv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glUniform2ui(param0: number, param1: number, param2: number): void;
			public static glEndTransformFeedback(): void;
			public static glClearBufferiv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glGetSamplerParameterfv(param0: number, param1: number, param2: java.nio.FloatBuffer): void;
			public static glIsVertexArray(param0: number): boolean;
			public static glGetUniformuiv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glCopyTexSubImage3D(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number, param8: number): void;
			public static glDeleteTransformFeedbacks(param0: number, param1: native.Array<number>, param2: number): void;
			/** @deprecated */
			public static glGetTransformFeedbackVarying(param0: number, param1: number, param2: number, param3: java.nio.IntBuffer, param4: java.nio.IntBuffer, param5: java.nio.IntBuffer, param6: number): void;
			public static glBindTransformFeedback(param0: number, param1: number): void;
			public static glDrawRangeElements(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number): void;
			public static glResumeTransformFeedback(): void;
			public static glProgramBinary(param0: number, param1: number, param2: java.nio.Buffer, param3: number): void;
			public static glGenVertexArrays(param0: number, param1: java.nio.IntBuffer): void;
			public static glBeginTransformFeedback(param0: number): void;
			public static glDeleteVertexArrays(param0: number, param1: java.nio.IntBuffer): void;
			public static glPauseTransformFeedback(): void;
			public static glDeleteTransformFeedbacks(param0: number, param1: java.nio.IntBuffer): void;
			public static glGetQueryObjectuiv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glBindBufferBase(param0: number, param1: number, param2: number): void;
			public static glUniform3ui(param0: number, param1: number, param2: number, param3: number): void;
			public static glGetUniformIndices(param0: number, param1: native.Array<string>, param2: java.nio.IntBuffer): void;
			public static glGenSamplers(param0: number, param1: java.nio.IntBuffer): void;
			public static glBlitFramebuffer(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number, param8: number, param9: number): void;
			public static glGetInteger64v(param0: number, param1: java.nio.LongBuffer): void;
			public static glGetBufferParameteri64v(param0: number, param1: number, param2: java.nio.LongBuffer): void;
			public static glUnmapBuffer(param0: number): boolean;
			public static glVertexAttribDivisor(param0: number, param1: number): void;
			public static glGetIntegeri_v(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glGetSamplerParameterfv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glSamplerParameteriv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glDrawRangeElements(param0: number, param1: number, param2: number, param3: number, param4: number, param5: java.nio.Buffer): void;
			public static glUniform1uiv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glGetActiveUniformsiv(param0: number, param1: number, param2: native.Array<number>, param3: number, param4: number, param5: native.Array<number>, param6: number): void;
			public static glCompressedTexSubImage3D(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number, param8: number, param9: number, param10: java.nio.Buffer): void;
			public static glWaitSync(param0: number, param1: number, param2: number): void;
			public static glTexImage3D(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number, param8: number, param9: number): void;
			public static glUniform4ui(param0: number, param1: number, param2: number, param3: number, param4: number): void;
			public static glVertexAttribI4iv(param0: number, param1: native.Array<number>, param2: number): void;
			public static glGenQueries(param0: number, param1: native.Array<number>, param2: number): void;
			public static glVertexAttribIPointer(param0: number, param1: number, param2: number, param3: number, param4: java.nio.Buffer): void;
		}
	}
}

declare module android {
	export module opengl {
		export class GLES31 extends android.opengl.GLES30 {
			public static class: java.lang.Class<android.opengl.GLES31>;
			public static GL_ACTIVE_ATOMIC_COUNTER_BUFFERS: number;
			public static GL_ACTIVE_PROGRAM: number;
			public static GL_ACTIVE_RESOURCES: number;
			public static GL_ACTIVE_VARIABLES: number;
			public static GL_ALL_BARRIER_BITS: number;
			public static GL_ALL_SHADER_BITS: number;
			public static GL_ARRAY_SIZE: number;
			public static GL_ARRAY_STRIDE: number;
			public static GL_ATOMIC_COUNTER_BARRIER_BIT: number;
			public static GL_ATOMIC_COUNTER_BUFFER: number;
			public static GL_ATOMIC_COUNTER_BUFFER_BINDING: number;
			public static GL_ATOMIC_COUNTER_BUFFER_INDEX: number;
			public static GL_ATOMIC_COUNTER_BUFFER_SIZE: number;
			public static GL_ATOMIC_COUNTER_BUFFER_START: number;
			public static GL_BLOCK_INDEX: number;
			public static GL_BUFFER_BINDING: number;
			public static GL_BUFFER_DATA_SIZE: number;
			public static GL_BUFFER_UPDATE_BARRIER_BIT: number;
			public static GL_BUFFER_VARIABLE: number;
			public static GL_COMMAND_BARRIER_BIT: number;
			public static GL_COMPUTE_SHADER: number;
			public static GL_COMPUTE_SHADER_BIT: number;
			public static GL_COMPUTE_WORK_GROUP_SIZE: number;
			public static GL_DEPTH_STENCIL_TEXTURE_MODE: number;
			public static GL_DISPATCH_INDIRECT_BUFFER: number;
			public static GL_DISPATCH_INDIRECT_BUFFER_BINDING: number;
			public static GL_DRAW_INDIRECT_BUFFER: number;
			public static GL_DRAW_INDIRECT_BUFFER_BINDING: number;
			public static GL_ELEMENT_ARRAY_BARRIER_BIT: number;
			public static GL_FRAGMENT_SHADER_BIT: number;
			public static GL_FRAMEBUFFER_BARRIER_BIT: number;
			public static GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS: number;
			public static GL_FRAMEBUFFER_DEFAULT_HEIGHT: number;
			public static GL_FRAMEBUFFER_DEFAULT_SAMPLES: number;
			public static GL_FRAMEBUFFER_DEFAULT_WIDTH: number;
			public static GL_IMAGE_2D: number;
			public static GL_IMAGE_2D_ARRAY: number;
			public static GL_IMAGE_3D: number;
			public static GL_IMAGE_BINDING_ACCESS: number;
			public static GL_IMAGE_BINDING_FORMAT: number;
			public static GL_IMAGE_BINDING_LAYER: number;
			public static GL_IMAGE_BINDING_LAYERED: number;
			public static GL_IMAGE_BINDING_LEVEL: number;
			public static GL_IMAGE_BINDING_NAME: number;
			public static GL_IMAGE_CUBE: number;
			public static GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS: number;
			public static GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE: number;
			public static GL_IMAGE_FORMAT_COMPATIBILITY_TYPE: number;
			public static GL_INT_IMAGE_2D: number;
			public static GL_INT_IMAGE_2D_ARRAY: number;
			public static GL_INT_IMAGE_3D: number;
			public static GL_INT_IMAGE_CUBE: number;
			public static GL_INT_SAMPLER_2D_MULTISAMPLE: number;
			public static GL_IS_ROW_MAJOR: number;
			public static GL_LOCATION: number;
			public static GL_MATRIX_STRIDE: number;
			public static GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS: number;
			public static GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE: number;
			public static GL_MAX_COLOR_TEXTURE_SAMPLES: number;
			public static GL_MAX_COMBINED_ATOMIC_COUNTERS: number;
			public static GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS: number;
			public static GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS: number;
			public static GL_MAX_COMBINED_IMAGE_UNIFORMS: number;
			public static GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES: number;
			public static GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS: number;
			public static GL_MAX_COMPUTE_ATOMIC_COUNTERS: number;
			public static GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS: number;
			public static GL_MAX_COMPUTE_IMAGE_UNIFORMS: number;
			public static GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS: number;
			public static GL_MAX_COMPUTE_SHARED_MEMORY_SIZE: number;
			public static GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS: number;
			public static GL_MAX_COMPUTE_UNIFORM_BLOCKS: number;
			public static GL_MAX_COMPUTE_UNIFORM_COMPONENTS: number;
			public static GL_MAX_COMPUTE_WORK_GROUP_COUNT: number;
			public static GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS: number;
			public static GL_MAX_COMPUTE_WORK_GROUP_SIZE: number;
			public static GL_MAX_DEPTH_TEXTURE_SAMPLES: number;
			public static GL_MAX_FRAGMENT_ATOMIC_COUNTERS: number;
			public static GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS: number;
			public static GL_MAX_FRAGMENT_IMAGE_UNIFORMS: number;
			public static GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS: number;
			public static GL_MAX_FRAMEBUFFER_HEIGHT: number;
			public static GL_MAX_FRAMEBUFFER_SAMPLES: number;
			public static GL_MAX_FRAMEBUFFER_WIDTH: number;
			public static GL_MAX_IMAGE_UNITS: number;
			public static GL_MAX_INTEGER_SAMPLES: number;
			public static GL_MAX_NAME_LENGTH: number;
			public static GL_MAX_NUM_ACTIVE_VARIABLES: number;
			public static GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET: number;
			public static GL_MAX_SAMPLE_MASK_WORDS: number;
			public static GL_MAX_SHADER_STORAGE_BLOCK_SIZE: number;
			public static GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS: number;
			public static GL_MAX_UNIFORM_LOCATIONS: number;
			public static GL_MAX_VERTEX_ATOMIC_COUNTERS: number;
			public static GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS: number;
			public static GL_MAX_VERTEX_ATTRIB_BINDINGS: number;
			public static GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET: number;
			public static GL_MAX_VERTEX_ATTRIB_STRIDE: number;
			public static GL_MAX_VERTEX_IMAGE_UNIFORMS: number;
			public static GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS: number;
			public static GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET: number;
			public static GL_NAME_LENGTH: number;
			public static GL_NUM_ACTIVE_VARIABLES: number;
			public static GL_OFFSET: number;
			public static GL_PIXEL_BUFFER_BARRIER_BIT: number;
			public static GL_PROGRAM_INPUT: number;
			public static GL_PROGRAM_OUTPUT: number;
			public static GL_PROGRAM_PIPELINE_BINDING: number;
			public static GL_PROGRAM_SEPARABLE: number;
			public static GL_READ_ONLY: number;
			public static GL_READ_WRITE: number;
			public static GL_REFERENCED_BY_COMPUTE_SHADER: number;
			public static GL_REFERENCED_BY_FRAGMENT_SHADER: number;
			public static GL_REFERENCED_BY_VERTEX_SHADER: number;
			public static GL_SAMPLER_2D_MULTISAMPLE: number;
			public static GL_SAMPLE_MASK: number;
			public static GL_SAMPLE_MASK_VALUE: number;
			public static GL_SAMPLE_POSITION: number;
			public static GL_SHADER_IMAGE_ACCESS_BARRIER_BIT: number;
			public static GL_SHADER_STORAGE_BARRIER_BIT: number;
			public static GL_SHADER_STORAGE_BLOCK: number;
			public static GL_SHADER_STORAGE_BUFFER: number;
			public static GL_SHADER_STORAGE_BUFFER_BINDING: number;
			public static GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT: number;
			public static GL_SHADER_STORAGE_BUFFER_SIZE: number;
			public static GL_SHADER_STORAGE_BUFFER_START: number;
			public static GL_STENCIL_INDEX: number;
			public static GL_TEXTURE_2D_MULTISAMPLE: number;
			public static GL_TEXTURE_ALPHA_SIZE: number;
			public static GL_TEXTURE_ALPHA_TYPE: number;
			public static GL_TEXTURE_BINDING_2D_MULTISAMPLE: number;
			public static GL_TEXTURE_BLUE_SIZE: number;
			public static GL_TEXTURE_BLUE_TYPE: number;
			public static GL_TEXTURE_COMPRESSED: number;
			public static GL_TEXTURE_DEPTH: number;
			public static GL_TEXTURE_DEPTH_SIZE: number;
			public static GL_TEXTURE_DEPTH_TYPE: number;
			public static GL_TEXTURE_FETCH_BARRIER_BIT: number;
			public static GL_TEXTURE_FIXED_SAMPLE_LOCATIONS: number;
			public static GL_TEXTURE_GREEN_SIZE: number;
			public static GL_TEXTURE_GREEN_TYPE: number;
			public static GL_TEXTURE_HEIGHT: number;
			public static GL_TEXTURE_INTERNAL_FORMAT: number;
			public static GL_TEXTURE_RED_SIZE: number;
			public static GL_TEXTURE_RED_TYPE: number;
			public static GL_TEXTURE_SAMPLES: number;
			public static GL_TEXTURE_SHARED_SIZE: number;
			public static GL_TEXTURE_STENCIL_SIZE: number;
			public static GL_TEXTURE_UPDATE_BARRIER_BIT: number;
			public static GL_TEXTURE_WIDTH: number;
			public static GL_TOP_LEVEL_ARRAY_SIZE: number;
			public static GL_TOP_LEVEL_ARRAY_STRIDE: number;
			public static GL_TRANSFORM_FEEDBACK_BARRIER_BIT: number;
			public static GL_TRANSFORM_FEEDBACK_VARYING: number;
			public static GL_TYPE: number;
			public static GL_UNIFORM: number;
			public static GL_UNIFORM_BARRIER_BIT: number;
			public static GL_UNIFORM_BLOCK: number;
			public static GL_UNSIGNED_INT_ATOMIC_COUNTER: number;
			public static GL_UNSIGNED_INT_IMAGE_2D: number;
			public static GL_UNSIGNED_INT_IMAGE_2D_ARRAY: number;
			public static GL_UNSIGNED_INT_IMAGE_3D: number;
			public static GL_UNSIGNED_INT_IMAGE_CUBE: number;
			public static GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE: number;
			public static GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT: number;
			public static GL_VERTEX_ATTRIB_BINDING: number;
			public static GL_VERTEX_ATTRIB_RELATIVE_OFFSET: number;
			public static GL_VERTEX_BINDING_BUFFER: number;
			public static GL_VERTEX_BINDING_DIVISOR: number;
			public static GL_VERTEX_BINDING_OFFSET: number;
			public static GL_VERTEX_BINDING_STRIDE: number;
			public static GL_VERTEX_SHADER_BIT: number;
			public static GL_WRITE_ONLY: number;
			public static glProgramUniform4uiv(param0: number, param1: number, param2: number, param3: java.nio.IntBuffer): void;
			public static glProgramUniform1iv(param0: number, param1: number, param2: number, param3: java.nio.IntBuffer): void;
			public static glDrawElementsIndirect(param0: number, param1: number, param2: number): void;
			public static glGetProgramPipelineInfoLog(param0: number): string;
			public static glDispatchCompute(param0: number, param1: number, param2: number): void;
			public static glBindImageTexture(param0: number, param1: number, param2: number, param3: boolean, param4: number, param5: number, param6: number): void;
			public static glTexStorage2DMultisample(param0: number, param1: number, param2: number, param3: number, param4: number, param5: boolean): void;
			public static glProgramUniform3iv(param0: number, param1: number, param2: number, param3: java.nio.IntBuffer): void;
			public static glProgramUniform4iv(param0: number, param1: number, param2: number, param3: java.nio.IntBuffer): void;
			public static glGetBooleani_v(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glProgramUniform2iv(param0: number, param1: number, param2: number, param3: java.nio.IntBuffer): void;
			public static glGetBooleani_v(param0: number, param1: number, param2: native.Array<boolean>, param3: number): void;
			public static glGetFramebufferParameteriv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glProgramUniform4fv(param0: number, param1: number, param2: number, param3: java.nio.FloatBuffer): void;
			public static glProgramUniformMatrix2x3fv(param0: number, param1: number, param2: number, param3: boolean, param4: native.Array<number>, param5: number): void;
			public static glGetTexLevelParameterfv(param0: number, param1: number, param2: number, param3: native.Array<number>, param4: number): void;
			public static glVertexAttribFormat(param0: number, param1: number, param2: number, param3: boolean, param4: number): void;
			public static glDeleteProgramPipelines(param0: number, param1: java.nio.IntBuffer): void;
			public static glProgramUniform1iv(param0: number, param1: number, param2: number, param3: native.Array<number>, param4: number): void;
			public static glProgramUniform1uiv(param0: number, param1: number, param2: number, param3: java.nio.IntBuffer): void;
			public static glProgramUniform3fv(param0: number, param1: number, param2: number, param3: native.Array<number>, param4: number): void;
			public static glProgramUniformMatrix4x2fv(param0: number, param1: number, param2: number, param3: boolean, param4: java.nio.FloatBuffer): void;
			public static glDrawArraysIndirect(param0: number, param1: number): void;
			public static glProgramUniform2fv(param0: number, param1: number, param2: number, param3: java.nio.FloatBuffer): void;
			public static glProgramUniform2ui(param0: number, param1: number, param2: number, param3: number): void;
			public static glGetProgramResourceIndex(param0: number, param1: number, param2: string): number;
			public static glProgramUniform1uiv(param0: number, param1: number, param2: number, param3: native.Array<number>, param4: number): void;
			public static glGetFramebufferParameteriv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glProgramUniformMatrix4x3fv(param0: number, param1: number, param2: number, param3: boolean, param4: native.Array<number>, param5: number): void;
			public static glDispatchComputeIndirect(param0: number): void;
			public static glProgramUniform1fv(param0: number, param1: number, param2: number, param3: native.Array<number>, param4: number): void;
			public static glProgramUniformMatrix3x2fv(param0: number, param1: number, param2: number, param3: boolean, param4: native.Array<number>, param5: number): void;
			public static glGetTexLevelParameterfv(param0: number, param1: number, param2: number, param3: java.nio.FloatBuffer): void;
			public static glProgramUniform4i(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number): void;
			public static glGetTexLevelParameteriv(param0: number, param1: number, param2: number, param3: java.nio.IntBuffer): void;
			public static glProgramUniform1ui(param0: number, param1: number, param2: number): void;
			public static glProgramUniformMatrix3x4fv(param0: number, param1: number, param2: number, param3: boolean, param4: native.Array<number>, param5: number): void;
			public static glGetProgramInterfaceiv(param0: number, param1: number, param2: number, param3: native.Array<number>, param4: number): void;
			public static glProgramUniform1f(param0: number, param1: number, param2: number): void;
			public static glProgramUniformMatrix2fv(param0: number, param1: number, param2: number, param3: boolean, param4: native.Array<number>, param5: number): void;
			public static glProgramUniform2i(param0: number, param1: number, param2: number, param3: number): void;
			public static glProgramUniform4fv(param0: number, param1: number, param2: number, param3: native.Array<number>, param4: number): void;
			public static glGetProgramResourceLocation(param0: number, param1: number, param2: string): number;
			public static glProgramUniformMatrix2x4fv(param0: number, param1: number, param2: number, param3: boolean, param4: java.nio.FloatBuffer): void;
			public static glFramebufferParameteri(param0: number, param1: number, param2: number): void;
			public static glProgramUniform2uiv(param0: number, param1: number, param2: number, param3: java.nio.IntBuffer): void;
			public static glProgramUniform3uiv(param0: number, param1: number, param2: number, param3: native.Array<number>, param4: number): void;
			public static glBindVertexBuffer(param0: number, param1: number, param2: number, param3: number): void;
			public static glGetProgramResourceName(param0: number, param1: number, param2: number): string;
			public static glProgramUniform4iv(param0: number, param1: number, param2: number, param3: native.Array<number>, param4: number): void;
			public static glDeleteProgramPipelines(param0: number, param1: native.Array<number>, param2: number): void;
			public static glProgramUniform3fv(param0: number, param1: number, param2: number, param3: java.nio.FloatBuffer): void;
			public static glVertexAttribIFormat(param0: number, param1: number, param2: number, param3: number): void;
			public static glCreateShaderProgramv(param0: number, param1: native.Array<string>): number;
			public static glProgramUniformMatrix4fv(param0: number, param1: number, param2: number, param3: boolean, param4: native.Array<number>, param5: number): void;
			public static glProgramUniformMatrix4fv(param0: number, param1: number, param2: number, param3: boolean, param4: java.nio.FloatBuffer): void;
			public static glGenProgramPipelines(param0: number, param1: native.Array<number>, param2: number): void;
			public static glProgramUniformMatrix2x3fv(param0: number, param1: number, param2: number, param3: boolean, param4: java.nio.FloatBuffer): void;
			public static glSampleMaski(param0: number, param1: number): void;
			public static glVertexAttribBinding(param0: number, param1: number): void;
			public static glProgramUniformMatrix2fv(param0: number, param1: number, param2: number, param3: boolean, param4: java.nio.FloatBuffer): void;
			public static glGetMultisamplefv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glProgramUniform4ui(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number): void;
			public static glProgramUniformMatrix3x4fv(param0: number, param1: number, param2: number, param3: boolean, param4: java.nio.FloatBuffer): void;
			public static glVertexBindingDivisor(param0: number, param1: number): void;
			public static glGetProgramResourceiv(param0: number, param1: number, param2: number, param3: number, param4: java.nio.IntBuffer, param5: number, param6: java.nio.IntBuffer, param7: java.nio.IntBuffer): void;
			public static glMemoryBarrier(param0: number): void;
			public static glProgramUniform4f(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number): void;
			public static glProgramUniform1i(param0: number, param1: number, param2: number): void;
			public static glGetMultisamplefv(param0: number, param1: number, param2: java.nio.FloatBuffer): void;
			public static glGetProgramInterfaceiv(param0: number, param1: number, param2: number, param3: java.nio.IntBuffer): void;
			public static glProgramUniformMatrix3x2fv(param0: number, param1: number, param2: number, param3: boolean, param4: java.nio.FloatBuffer): void;
			public static glProgramUniformMatrix2x4fv(param0: number, param1: number, param2: number, param3: boolean, param4: native.Array<number>, param5: number): void;
			public static glUseProgramStages(param0: number, param1: number, param2: number): void;
			public static glValidateProgramPipeline(param0: number): void;
			public static glGenProgramPipelines(param0: number, param1: java.nio.IntBuffer): void;
			public static glProgramUniform3f(param0: number, param1: number, param2: number, param3: number, param4: number): void;
			public static glProgramUniform3uiv(param0: number, param1: number, param2: number, param3: java.nio.IntBuffer): void;
			public static glGetTexLevelParameteriv(param0: number, param1: number, param2: number, param3: native.Array<number>, param4: number): void;
			public static glMemoryBarrierByRegion(param0: number): void;
			public static glProgramUniformMatrix4x3fv(param0: number, param1: number, param2: number, param3: boolean, param4: java.nio.FloatBuffer): void;
			public static glIsProgramPipeline(param0: number): boolean;
			public static glProgramUniform3iv(param0: number, param1: number, param2: number, param3: native.Array<number>, param4: number): void;
			public static glGetProgramPipelineiv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glActiveShaderProgram(param0: number, param1: number): void;
			public static glProgramUniform2f(param0: number, param1: number, param2: number, param3: number): void;
			public static glProgramUniform3i(param0: number, param1: number, param2: number, param3: number, param4: number): void;
			public static glProgramUniform4uiv(param0: number, param1: number, param2: number, param3: native.Array<number>, param4: number): void;
			public static glProgramUniformMatrix3fv(param0: number, param1: number, param2: number, param3: boolean, param4: native.Array<number>, param5: number): void;
			public static glGetProgramPipelineiv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glGetProgramResourceiv(param0: number, param1: number, param2: number, param3: number, param4: native.Array<number>, param5: number, param6: number, param7: native.Array<number>, param8: number, param9: native.Array<number>, param10: number): void;
			public static glProgramUniform1fv(param0: number, param1: number, param2: number, param3: java.nio.FloatBuffer): void;
			public static glProgramUniform2iv(param0: number, param1: number, param2: number, param3: native.Array<number>, param4: number): void;
			public static glProgramUniformMatrix4x2fv(param0: number, param1: number, param2: number, param3: boolean, param4: native.Array<number>, param5: number): void;
			public static glBindProgramPipeline(param0: number): void;
			public static glProgramUniform3ui(param0: number, param1: number, param2: number, param3: number, param4: number): void;
			public static glProgramUniformMatrix3fv(param0: number, param1: number, param2: number, param3: boolean, param4: java.nio.FloatBuffer): void;
			public static glProgramUniform2uiv(param0: number, param1: number, param2: number, param3: native.Array<number>, param4: number): void;
			public static glProgramUniform2fv(param0: number, param1: number, param2: number, param3: native.Array<number>, param4: number): void;
		}
	}
}

declare module android {
	export module opengl {
		export class GLES31Ext extends java.lang.Object {
			public static class: java.lang.Class<android.opengl.GLES31Ext>;
			public static GL_BLEND_ADVANCED_COHERENT_KHR: number;
			public static GL_BUFFER_KHR: number;
			public static GL_CLAMP_TO_BORDER_EXT: number;
			public static GL_COLORBURN_KHR: number;
			public static GL_COLORDODGE_KHR: number;
			public static GL_COMPRESSED_RGBA_ASTC_10x10_KHR: number;
			public static GL_COMPRESSED_RGBA_ASTC_10x5_KHR: number;
			public static GL_COMPRESSED_RGBA_ASTC_10x6_KHR: number;
			public static GL_COMPRESSED_RGBA_ASTC_10x8_KHR: number;
			public static GL_COMPRESSED_RGBA_ASTC_12x10_KHR: number;
			public static GL_COMPRESSED_RGBA_ASTC_12x12_KHR: number;
			public static GL_COMPRESSED_RGBA_ASTC_4x4_KHR: number;
			public static GL_COMPRESSED_RGBA_ASTC_5x4_KHR: number;
			public static GL_COMPRESSED_RGBA_ASTC_5x5_KHR: number;
			public static GL_COMPRESSED_RGBA_ASTC_6x5_KHR: number;
			public static GL_COMPRESSED_RGBA_ASTC_6x6_KHR: number;
			public static GL_COMPRESSED_RGBA_ASTC_8x5_KHR: number;
			public static GL_COMPRESSED_RGBA_ASTC_8x6_KHR: number;
			public static GL_COMPRESSED_RGBA_ASTC_8x8_KHR: number;
			public static GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR: number;
			public static GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR: number;
			public static GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR: number;
			public static GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR: number;
			public static GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR: number;
			public static GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR: number;
			public static GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR: number;
			public static GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR: number;
			public static GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR: number;
			public static GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR: number;
			public static GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR: number;
			public static GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR: number;
			public static GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR: number;
			public static GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR: number;
			public static GL_CONTEXT_FLAG_DEBUG_BIT_KHR: number;
			public static GL_DARKEN_KHR: number;
			public static GL_DEBUG_CALLBACK_FUNCTION_KHR: number;
			public static GL_DEBUG_CALLBACK_USER_PARAM_KHR: number;
			public static GL_DEBUG_GROUP_STACK_DEPTH_KHR: number;
			public static GL_DEBUG_LOGGED_MESSAGES_KHR: number;
			public static GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_KHR: number;
			public static GL_DEBUG_OUTPUT_KHR: number;
			public static GL_DEBUG_OUTPUT_SYNCHRONOUS_KHR: number;
			public static GL_DEBUG_SEVERITY_HIGH_KHR: number;
			public static GL_DEBUG_SEVERITY_LOW_KHR: number;
			public static GL_DEBUG_SEVERITY_MEDIUM_KHR: number;
			public static GL_DEBUG_SEVERITY_NOTIFICATION_KHR: number;
			public static GL_DEBUG_SOURCE_API_KHR: number;
			public static GL_DEBUG_SOURCE_APPLICATION_KHR: number;
			public static GL_DEBUG_SOURCE_OTHER_KHR: number;
			public static GL_DEBUG_SOURCE_SHADER_COMPILER_KHR: number;
			public static GL_DEBUG_SOURCE_THIRD_PARTY_KHR: number;
			public static GL_DEBUG_SOURCE_WINDOW_SYSTEM_KHR: number;
			public static GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_KHR: number;
			public static GL_DEBUG_TYPE_ERROR_KHR: number;
			public static GL_DEBUG_TYPE_MARKER_KHR: number;
			public static GL_DEBUG_TYPE_OTHER_KHR: number;
			public static GL_DEBUG_TYPE_PERFORMANCE_KHR: number;
			public static GL_DEBUG_TYPE_POP_GROUP_KHR: number;
			public static GL_DEBUG_TYPE_PORTABILITY_KHR: number;
			public static GL_DEBUG_TYPE_PUSH_GROUP_KHR: number;
			public static GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_KHR: number;
			public static GL_DECODE_EXT: number;
			public static GL_DIFFERENCE_KHR: number;
			public static GL_EXCLUSION_KHR: number;
			public static GL_FIRST_VERTEX_CONVENTION_EXT: number;
			public static GL_FRACTIONAL_EVEN_EXT: number;
			public static GL_FRACTIONAL_ODD_EXT: number;
			public static GL_FRAGMENT_INTERPOLATION_OFFSET_BITS_OES: number;
			public static GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT: number;
			public static GL_FRAMEBUFFER_DEFAULT_LAYERS_EXT: number;
			public static GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT: number;
			public static GL_GEOMETRY_LINKED_INPUT_TYPE_EXT: number;
			public static GL_GEOMETRY_LINKED_OUTPUT_TYPE_EXT: number;
			public static GL_GEOMETRY_LINKED_VERTICES_OUT_EXT: number;
			public static GL_GEOMETRY_SHADER_BIT_EXT: number;
			public static GL_GEOMETRY_SHADER_EXT: number;
			public static GL_GEOMETRY_SHADER_INVOCATIONS_EXT: number;
			public static GL_HARDLIGHT_KHR: number;
			public static GL_HSL_COLOR_KHR: number;
			public static GL_HSL_HUE_KHR: number;
			public static GL_HSL_LUMINOSITY_KHR: number;
			public static GL_HSL_SATURATION_KHR: number;
			public static GL_IMAGE_BUFFER_EXT: number;
			public static GL_IMAGE_CUBE_MAP_ARRAY_EXT: number;
			public static GL_INT_IMAGE_BUFFER_EXT: number;
			public static GL_INT_IMAGE_CUBE_MAP_ARRAY_EXT: number;
			public static GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES: number;
			public static GL_INT_SAMPLER_BUFFER_EXT: number;
			public static GL_INT_SAMPLER_CUBE_MAP_ARRAY_EXT: number;
			public static GL_ISOLINES_EXT: number;
			public static GL_IS_PER_PATCH_EXT: number;
			public static GL_LAST_VERTEX_CONVENTION_EXT: number;
			public static GL_LAYER_PROVOKING_VERTEX_EXT: number;
			public static GL_LIGHTEN_KHR: number;
			public static GL_LINES_ADJACENCY_EXT: number;
			public static GL_LINE_STRIP_ADJACENCY_EXT: number;
			public static GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS_EXT: number;
			public static GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS_EXT: number;
			public static GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT: number;
			public static GL_MAX_DEBUG_GROUP_STACK_DEPTH_KHR: number;
			public static GL_MAX_DEBUG_LOGGED_MESSAGES_KHR: number;
			public static GL_MAX_DEBUG_MESSAGE_LENGTH_KHR: number;
			public static GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_OES: number;
			public static GL_MAX_FRAMEBUFFER_LAYERS_EXT: number;
			public static GL_MAX_GEOMETRY_ATOMIC_COUNTERS_EXT: number;
			public static GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS_EXT: number;
			public static GL_MAX_GEOMETRY_IMAGE_UNIFORMS_EXT: number;
			public static GL_MAX_GEOMETRY_INPUT_COMPONENTS_EXT: number;
			public static GL_MAX_GEOMETRY_OUTPUT_COMPONENTS_EXT: number;
			public static GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT: number;
			public static GL_MAX_GEOMETRY_SHADER_INVOCATIONS_EXT: number;
			public static GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS_EXT: number;
			public static GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT: number;
			public static GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT: number;
			public static GL_MAX_GEOMETRY_UNIFORM_BLOCKS_EXT: number;
			public static GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT: number;
			public static GL_MAX_LABEL_LENGTH_KHR: number;
			public static GL_MAX_PATCH_VERTICES_EXT: number;
			public static GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS_EXT: number;
			public static GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS_EXT: number;
			public static GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS_EXT: number;
			public static GL_MAX_TESS_CONTROL_INPUT_COMPONENTS_EXT: number;
			public static GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS_EXT: number;
			public static GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS_EXT: number;
			public static GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS_EXT: number;
			public static GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS_EXT: number;
			public static GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS_EXT: number;
			public static GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS_EXT: number;
			public static GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS_EXT: number;
			public static GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS_EXT: number;
			public static GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS_EXT: number;
			public static GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS_EXT: number;
			public static GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS_EXT: number;
			public static GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS_EXT: number;
			public static GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS_EXT: number;
			public static GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS_EXT: number;
			public static GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT: number;
			public static GL_MAX_TESS_GEN_LEVEL_EXT: number;
			public static GL_MAX_TESS_PATCH_COMPONENTS_EXT: number;
			public static GL_MAX_TEXTURE_BUFFER_SIZE_EXT: number;
			public static GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_OES: number;
			public static GL_MIN_SAMPLE_SHADING_VALUE_OES: number;
			public static GL_MULTIPLY_KHR: number;
			public static GL_OVERLAY_KHR: number;
			public static GL_PATCHES_EXT: number;
			public static GL_PATCH_VERTICES_EXT: number;
			public static GL_PRIMITIVES_GENERATED_EXT: number;
			public static GL_PRIMITIVE_BOUNDING_BOX_EXT: number;
			public static GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED: number;
			public static GL_PROGRAM_KHR: number;
			public static GL_QUADS_EXT: number;
			public static GL_QUERY_KHR: number;
			public static GL_REFERENCED_BY_GEOMETRY_SHADER_EXT: number;
			public static GL_REFERENCED_BY_TESS_CONTROL_SHADER_EXT: number;
			public static GL_REFERENCED_BY_TESS_EVALUATION_SHADER_EXT: number;
			public static GL_SAMPLER_2D_MULTISAMPLE_ARRAY_OES: number;
			public static GL_SAMPLER_BUFFER_EXT: number;
			public static GL_SAMPLER_CUBE_MAP_ARRAY_EXT: number;
			public static GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_EXT: number;
			public static GL_SAMPLER_KHR: number;
			public static GL_SAMPLE_SHADING_OES: number;
			public static GL_SCREEN_KHR: number;
			public static GL_SHADER_KHR: number;
			public static GL_SKIP_DECODE_EXT: number;
			public static GL_SOFTLIGHT_KHR: number;
			public static GL_STACK_OVERFLOW_KHR: number;
			public static GL_STACK_UNDERFLOW_KHR: number;
			public static GL_STENCIL_INDEX8_OES: number;
			public static GL_STENCIL_INDEX_OES: number;
			public static GL_TESS_CONTROL_OUTPUT_VERTICES_EXT: number;
			public static GL_TESS_CONTROL_SHADER_BIT_EXT: number;
			public static GL_TESS_CONTROL_SHADER_EXT: number;
			public static GL_TESS_EVALUATION_SHADER_BIT_EXT: number;
			public static GL_TESS_EVALUATION_SHADER_EXT: number;
			public static GL_TESS_GEN_MODE_EXT: number;
			public static GL_TESS_GEN_POINT_MODE_EXT: number;
			public static GL_TESS_GEN_SPACING_EXT: number;
			public static GL_TESS_GEN_VERTEX_ORDER_EXT: number;
			public static GL_TEXTURE_2D_MULTISAMPLE_ARRAY_OES: number;
			public static GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY_OES: number;
			public static GL_TEXTURE_BINDING_BUFFER_EXT: number;
			public static GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_EXT: number;
			public static GL_TEXTURE_BORDER_COLOR_EXT: number;
			public static GL_TEXTURE_BUFFER_BINDING_EXT: number;
			public static GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT: number;
			public static GL_TEXTURE_BUFFER_EXT: number;
			public static GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT_EXT: number;
			public static GL_TEXTURE_BUFFER_OFFSET_EXT: number;
			public static GL_TEXTURE_BUFFER_SIZE_EXT: number;
			public static GL_TEXTURE_CUBE_MAP_ARRAY_EXT: number;
			public static GL_TEXTURE_SRGB_DECODE_EXT: number;
			public static GL_TRIANGLES_ADJACENCY_EXT: number;
			public static GL_TRIANGLE_STRIP_ADJACENCY_EXT: number;
			public static GL_UNDEFINED_VERTEX_EXT: number;
			public static GL_UNSIGNED_INT_IMAGE_BUFFER_EXT: number;
			public static GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT: number;
			public static GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES: number;
			public static GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT: number;
			public static GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_EXT: number;
			public static GL_VERTEX_ARRAY_KHR: number;
			public static glGetDebugMessageLogKHR(param0: number, param1: number, param2: native.Array<number>, param3: number, param4: native.Array<number>, param5: number, param6: native.Array<number>, param7: number, param8: native.Array<number>, param9: number, param10: native.Array<number>, param11: number, param12: native.Array<number>, param13: number): number;
			public static glPatchParameteriEXT(param0: number, param1: number): void;
			public static glTexParameterIuivEXT(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glGetSamplerParameterIuivEXT(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glIsEnablediEXT(param0: number, param1: number): boolean;
			public static glGetTexParameterIivEXT(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glGetDebugMessageLogKHR(param0: number, param1: java.nio.IntBuffer, param2: java.nio.IntBuffer, param3: java.nio.IntBuffer, param4: java.nio.IntBuffer, param5: java.nio.IntBuffer, param6: java.nio.ByteBuffer): number;
			public static glSamplerParameterIivEXT(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glTexParameterIivEXT(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glSamplerParameterIivEXT(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glBlendBarrierKHR(): void;
			public static glTexParameterIivEXT(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glBlendEquationSeparateiEXT(param0: number, param1: number, param2: number): void;
			public static glMinSampleShadingOES(param0: number): void;
			public static glEnableiEXT(param0: number, param1: number): void;
			public static glFramebufferTextureEXT(param0: number, param1: number, param2: number, param3: number): void;
			public static glSamplerParameterIuivEXT(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glGetSamplerParameterIivEXT(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glGetDebugMessageCallbackKHR(): android.opengl.GLES31Ext.DebugProcKHR;
			public static glCopyImageSubDataEXT(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number, param8: number, param9: number, param10: number, param11: number, param12: number, param13: number, param14: number): void;
			public static glPrimitiveBoundingBoxEXT(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number): void;
			public static glObjectPtrLabelKHR(param0: number, param1: string): void;
			public static glDebugMessageInsertKHR(param0: number, param1: number, param2: number, param3: number, param4: string): void;
			public static glBlendFunciEXT(param0: number, param1: number, param2: number): void;
			public static glGetObjectLabelKHR(param0: number, param1: number): string;
			public static glObjectLabelKHR(param0: number, param1: number, param2: number, param3: string): void;
			public static glDisableiEXT(param0: number, param1: number): void;
			public static glGetTexParameterIuivEXT(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glGetSamplerParameterIuivEXT(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glTexStorage3DMultisampleOES(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: boolean): void;
			public static glTexBufferEXT(param0: number, param1: number, param2: number): void;
			public static glBlendEquationiEXT(param0: number, param1: number): void;
			public static glBlendFuncSeparateiEXT(param0: number, param1: number, param2: number, param3: number, param4: number): void;
			public static glDebugMessageControlKHR(param0: number, param1: number, param2: number, param3: number, param4: java.nio.IntBuffer, param5: boolean): void;
			public static glGetTexParameterIivEXT(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glTexBufferRangeEXT(param0: number, param1: number, param2: number, param3: number, param4: number): void;
			public static glGetSamplerParameterIivEXT(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glDebugMessageCallbackKHR(param0: android.opengl.GLES31Ext.DebugProcKHR): void;
			public static glPopDebugGroupKHR(): void;
			public static glColorMaskiEXT(param0: number, param1: boolean, param2: boolean, param3: boolean, param4: boolean): void;
			public static glDebugMessageControlKHR(param0: number, param1: number, param2: number, param3: number, param4: native.Array<number>, param5: number, param6: boolean): void;
			public static glGetObjectPtrLabelKHR(param0: number): string;
			public static glGetTexParameterIuivEXT(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glGetDebugMessageLogKHR(param0: number, param1: native.Array<number>, param2: number, param3: native.Array<number>, param4: number, param5: native.Array<number>, param6: number, param7: native.Array<number>, param8: number): native.Array<string>;
			public static glGetDebugMessageLogKHR(param0: number, param1: java.nio.IntBuffer, param2: java.nio.IntBuffer, param3: java.nio.IntBuffer, param4: java.nio.IntBuffer): native.Array<string>;
			public static glTexParameterIuivEXT(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glPushDebugGroupKHR(param0: number, param1: number, param2: number, param3: string): void;
			public static glSamplerParameterIuivEXT(param0: number, param1: number, param2: java.nio.IntBuffer): void;
		}
		export module GLES31Ext {
			export class DebugProcKHR extends java.lang.Object {
				public static class: java.lang.Class<android.opengl.GLES31Ext.DebugProcKHR>;
				/**
				 * Constructs a new instance of the android.opengl.GLES31Ext$DebugProcKHR interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onMessage(param0: number, param1: number, param2: number, param3: number, param4: string): void;
				});
				public constructor();
				public onMessage(param0: number, param1: number, param2: number, param3: number, param4: string): void;
			}
		}
	}
}

declare module android {
	export module opengl {
		export class GLES32 extends android.opengl.GLES31 {
			public static class: java.lang.Class<android.opengl.GLES32>;
			public static GL_BUFFER: number;
			public static GL_CLAMP_TO_BORDER: number;
			public static GL_COLORBURN: number;
			public static GL_COLORDODGE: number;
			public static GL_COMPRESSED_RGBA_ASTC_10x10: number;
			public static GL_COMPRESSED_RGBA_ASTC_10x5: number;
			public static GL_COMPRESSED_RGBA_ASTC_10x6: number;
			public static GL_COMPRESSED_RGBA_ASTC_10x8: number;
			public static GL_COMPRESSED_RGBA_ASTC_12x10: number;
			public static GL_COMPRESSED_RGBA_ASTC_12x12: number;
			public static GL_COMPRESSED_RGBA_ASTC_4x4: number;
			public static GL_COMPRESSED_RGBA_ASTC_5x4: number;
			public static GL_COMPRESSED_RGBA_ASTC_5x5: number;
			public static GL_COMPRESSED_RGBA_ASTC_6x5: number;
			public static GL_COMPRESSED_RGBA_ASTC_6x6: number;
			public static GL_COMPRESSED_RGBA_ASTC_8x5: number;
			public static GL_COMPRESSED_RGBA_ASTC_8x6: number;
			public static GL_COMPRESSED_RGBA_ASTC_8x8: number;
			public static GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10: number;
			public static GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5: number;
			public static GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6: number;
			public static GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8: number;
			public static GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10: number;
			public static GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12: number;
			public static GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4: number;
			public static GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4: number;
			public static GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5: number;
			public static GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5: number;
			public static GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6: number;
			public static GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5: number;
			public static GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6: number;
			public static GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8: number;
			public static GL_CONTEXT_FLAGS: number;
			public static GL_CONTEXT_FLAG_DEBUG_BIT: number;
			public static GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT: number;
			public static GL_CONTEXT_LOST: number;
			public static GL_DARKEN: number;
			public static GL_DEBUG_CALLBACK_FUNCTION: number;
			public static GL_DEBUG_CALLBACK_USER_PARAM: number;
			public static GL_DEBUG_GROUP_STACK_DEPTH: number;
			public static GL_DEBUG_LOGGED_MESSAGES: number;
			public static GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH: number;
			public static GL_DEBUG_OUTPUT: number;
			public static GL_DEBUG_OUTPUT_SYNCHRONOUS: number;
			public static GL_DEBUG_SEVERITY_HIGH: number;
			public static GL_DEBUG_SEVERITY_LOW: number;
			public static GL_DEBUG_SEVERITY_MEDIUM: number;
			public static GL_DEBUG_SEVERITY_NOTIFICATION: number;
			public static GL_DEBUG_SOURCE_API: number;
			public static GL_DEBUG_SOURCE_APPLICATION: number;
			public static GL_DEBUG_SOURCE_OTHER: number;
			public static GL_DEBUG_SOURCE_SHADER_COMPILER: number;
			public static GL_DEBUG_SOURCE_THIRD_PARTY: number;
			public static GL_DEBUG_SOURCE_WINDOW_SYSTEM: number;
			public static GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR: number;
			public static GL_DEBUG_TYPE_ERROR: number;
			public static GL_DEBUG_TYPE_MARKER: number;
			public static GL_DEBUG_TYPE_OTHER: number;
			public static GL_DEBUG_TYPE_PERFORMANCE: number;
			public static GL_DEBUG_TYPE_POP_GROUP: number;
			public static GL_DEBUG_TYPE_PORTABILITY: number;
			public static GL_DEBUG_TYPE_PUSH_GROUP: number;
			public static GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR: number;
			public static GL_DIFFERENCE: number;
			public static GL_EXCLUSION: number;
			public static GL_FIRST_VERTEX_CONVENTION: number;
			public static GL_FRACTIONAL_EVEN: number;
			public static GL_FRACTIONAL_ODD: number;
			public static GL_FRAGMENT_INTERPOLATION_OFFSET_BITS: number;
			public static GL_FRAMEBUFFER_ATTACHMENT_LAYERED: number;
			public static GL_FRAMEBUFFER_DEFAULT_LAYERS: number;
			public static GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS: number;
			public static GL_GEOMETRY_INPUT_TYPE: number;
			public static GL_GEOMETRY_OUTPUT_TYPE: number;
			public static GL_GEOMETRY_SHADER: number;
			public static GL_GEOMETRY_SHADER_BIT: number;
			public static GL_GEOMETRY_SHADER_INVOCATIONS: number;
			public static GL_GEOMETRY_VERTICES_OUT: number;
			public static GL_GUILTY_CONTEXT_RESET: number;
			public static GL_HARDLIGHT: number;
			public static GL_HSL_COLOR: number;
			public static GL_HSL_HUE: number;
			public static GL_HSL_LUMINOSITY: number;
			public static GL_HSL_SATURATION: number;
			public static GL_IMAGE_BUFFER: number;
			public static GL_IMAGE_CUBE_MAP_ARRAY: number;
			public static GL_INNOCENT_CONTEXT_RESET: number;
			public static GL_INT_IMAGE_BUFFER: number;
			public static GL_INT_IMAGE_CUBE_MAP_ARRAY: number;
			public static GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY: number;
			public static GL_INT_SAMPLER_BUFFER: number;
			public static GL_INT_SAMPLER_CUBE_MAP_ARRAY: number;
			public static GL_ISOLINES: number;
			public static GL_IS_PER_PATCH: number;
			public static GL_LAST_VERTEX_CONVENTION: number;
			public static GL_LAYER_PROVOKING_VERTEX: number;
			public static GL_LIGHTEN: number;
			public static GL_LINES_ADJACENCY: number;
			public static GL_LINE_STRIP_ADJACENCY: number;
			public static GL_LOSE_CONTEXT_ON_RESET: number;
			public static GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS: number;
			public static GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS: number;
			public static GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS: number;
			public static GL_MAX_DEBUG_GROUP_STACK_DEPTH: number;
			public static GL_MAX_DEBUG_LOGGED_MESSAGES: number;
			public static GL_MAX_DEBUG_MESSAGE_LENGTH: number;
			public static GL_MAX_FRAGMENT_INTERPOLATION_OFFSET: number;
			public static GL_MAX_FRAMEBUFFER_LAYERS: number;
			public static GL_MAX_GEOMETRY_ATOMIC_COUNTERS: number;
			public static GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS: number;
			public static GL_MAX_GEOMETRY_IMAGE_UNIFORMS: number;
			public static GL_MAX_GEOMETRY_INPUT_COMPONENTS: number;
			public static GL_MAX_GEOMETRY_OUTPUT_COMPONENTS: number;
			public static GL_MAX_GEOMETRY_OUTPUT_VERTICES: number;
			public static GL_MAX_GEOMETRY_SHADER_INVOCATIONS: number;
			public static GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS: number;
			public static GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS: number;
			public static GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS: number;
			public static GL_MAX_GEOMETRY_UNIFORM_BLOCKS: number;
			public static GL_MAX_GEOMETRY_UNIFORM_COMPONENTS: number;
			public static GL_MAX_LABEL_LENGTH: number;
			public static GL_MAX_PATCH_VERTICES: number;
			public static GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS: number;
			public static GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS: number;
			public static GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS: number;
			public static GL_MAX_TESS_CONTROL_INPUT_COMPONENTS: number;
			public static GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS: number;
			public static GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS: number;
			public static GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS: number;
			public static GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS: number;
			public static GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS: number;
			public static GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS: number;
			public static GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS: number;
			public static GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS: number;
			public static GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS: number;
			public static GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS: number;
			public static GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS: number;
			public static GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS: number;
			public static GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS: number;
			public static GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS: number;
			public static GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS: number;
			public static GL_MAX_TESS_GEN_LEVEL: number;
			public static GL_MAX_TESS_PATCH_COMPONENTS: number;
			public static GL_MAX_TEXTURE_BUFFER_SIZE: number;
			public static GL_MIN_FRAGMENT_INTERPOLATION_OFFSET: number;
			public static GL_MIN_SAMPLE_SHADING_VALUE: number;
			public static GL_MULTIPLY: number;
			public static GL_MULTISAMPLE_LINE_WIDTH_GRANULARITY: number;
			public static GL_MULTISAMPLE_LINE_WIDTH_RANGE: number;
			public static GL_NO_RESET_NOTIFICATION: number;
			public static GL_OVERLAY: number;
			public static GL_PATCHES: number;
			public static GL_PATCH_VERTICES: number;
			public static GL_PRIMITIVES_GENERATED: number;
			public static GL_PRIMITIVE_BOUNDING_BOX: number;
			public static GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED: number;
			public static GL_PROGRAM: number;
			public static GL_PROGRAM_PIPELINE: number;
			public static GL_QUADS: number;
			public static GL_QUERY: number;
			public static GL_REFERENCED_BY_GEOMETRY_SHADER: number;
			public static GL_REFERENCED_BY_TESS_CONTROL_SHADER: number;
			public static GL_REFERENCED_BY_TESS_EVALUATION_SHADER: number;
			public static GL_RESET_NOTIFICATION_STRATEGY: number;
			public static GL_SAMPLER: number;
			public static GL_SAMPLER_2D_MULTISAMPLE_ARRAY: number;
			public static GL_SAMPLER_BUFFER: number;
			public static GL_SAMPLER_CUBE_MAP_ARRAY: number;
			public static GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW: number;
			public static GL_SAMPLE_SHADING: number;
			public static GL_SCREEN: number;
			public static GL_SHADER: number;
			public static GL_SOFTLIGHT: number;
			public static GL_STACK_OVERFLOW: number;
			public static GL_STACK_UNDERFLOW: number;
			public static GL_TESS_CONTROL_OUTPUT_VERTICES: number;
			public static GL_TESS_CONTROL_SHADER: number;
			public static GL_TESS_CONTROL_SHADER_BIT: number;
			public static GL_TESS_EVALUATION_SHADER: number;
			public static GL_TESS_EVALUATION_SHADER_BIT: number;
			public static GL_TESS_GEN_MODE: number;
			public static GL_TESS_GEN_POINT_MODE: number;
			public static GL_TESS_GEN_SPACING: number;
			public static GL_TESS_GEN_VERTEX_ORDER: number;
			public static GL_TEXTURE_2D_MULTISAMPLE_ARRAY: number;
			public static GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY: number;
			public static GL_TEXTURE_BINDING_BUFFER: number;
			public static GL_TEXTURE_BINDING_CUBE_MAP_ARRAY: number;
			public static GL_TEXTURE_BORDER_COLOR: number;
			public static GL_TEXTURE_BUFFER: number;
			public static GL_TEXTURE_BUFFER_BINDING: number;
			public static GL_TEXTURE_BUFFER_DATA_STORE_BINDING: number;
			public static GL_TEXTURE_BUFFER_OFFSET: number;
			public static GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT: number;
			public static GL_TEXTURE_BUFFER_SIZE: number;
			public static GL_TEXTURE_CUBE_MAP_ARRAY: number;
			public static GL_TRIANGLES_ADJACENCY: number;
			public static GL_TRIANGLE_STRIP_ADJACENCY: number;
			public static GL_UNDEFINED_VERTEX: number;
			public static GL_UNKNOWN_CONTEXT_RESET: number;
			public static GL_UNSIGNED_INT_IMAGE_BUFFER: number;
			public static GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY: number;
			public static GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY: number;
			public static GL_UNSIGNED_INT_SAMPLER_BUFFER: number;
			public static GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY: number;
			public static GL_VERTEX_ARRAY: number;
			public static glMinSampleShading(param0: number): void;
			public static glEnablei(param0: number, param1: number): void;
			public static glTexStorage3DMultisample(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: boolean): void;
			public static glGetnUniformiv(param0: number, param1: number, param2: number, param3: native.Array<number>, param4: number): void;
			public static glGetTexParameterIuiv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glGetDebugMessageLog(param0: number, param1: number, param2: native.Array<number>, param3: number, param4: native.Array<number>, param5: number, param6: native.Array<number>, param7: number, param8: native.Array<number>, param9: number, param10: native.Array<number>, param11: number, param12: native.Array<number>, param13: number): number;
			public static glPushDebugGroup(param0: number, param1: number, param2: number, param3: string): void;
			public static glDebugMessageControl(param0: number, param1: number, param2: number, param3: number, param4: java.nio.IntBuffer, param5: boolean): void;
			public static glObjectLabel(param0: number, param1: number, param2: number, param3: string): void;
			public static glSamplerParameterIiv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glGetSamplerParameterIiv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glGetGraphicsResetStatus(): number;
			public static glTexBufferRange(param0: number, param1: number, param2: number, param3: number, param4: number): void;
			public static glGetDebugMessageLog(param0: number, param1: java.nio.IntBuffer, param2: java.nio.IntBuffer, param3: java.nio.IntBuffer, param4: java.nio.IntBuffer, param5: java.nio.IntBuffer, param6: java.nio.ByteBuffer): number;
			public static glPopDebugGroup(): void;
			public static glGetnUniformfv(param0: number, param1: number, param2: number, param3: native.Array<number>, param4: number): void;
			public static glGetnUniformfv(param0: number, param1: number, param2: number, param3: java.nio.FloatBuffer): void;
			public static glGetSamplerParameterIuiv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glGetSamplerParameterIiv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glSamplerParameterIuiv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glGetObjectPtrLabel(param0: number): string;
			public static glGetnUniformiv(param0: number, param1: number, param2: number, param3: java.nio.IntBuffer): void;
			public static glBlendFunci(param0: number, param1: number, param2: number): void;
			public static glBlendBarrier(): void;
			public static glDebugMessageInsert(param0: number, param1: number, param2: number, param3: number, param4: number, param5: string): void;
			public static glBlendEquationi(param0: number, param1: number): void;
			public static glPatchParameteri(param0: number, param1: number): void;
			public static glDebugMessageCallback(param0: android.opengl.GLES32.DebugProc): void;
			public static glGetPointerv(param0: number): number;
			public static glGetTexParameterIiv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glTexBuffer(param0: number, param1: number, param2: number): void;
			public static glTexParameterIiv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glDebugMessageControl(param0: number, param1: number, param2: number, param3: number, param4: native.Array<number>, param5: number, param6: boolean): void;
			public static glGetTexParameterIuiv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glColorMaski(param0: number, param1: boolean, param2: boolean, param3: boolean, param4: boolean): void;
			public static glDrawRangeElementsBaseVertex(param0: number, param1: number, param2: number, param3: number, param4: number, param5: java.nio.Buffer, param6: number): void;
			public static glTexParameterIuiv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glSamplerParameterIiv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glDrawElementsInstancedBaseVertex(param0: number, param1: number, param2: number, param3: java.nio.Buffer, param4: number, param5: number): void;
			public static glFramebufferTexture(param0: number, param1: number, param2: number, param3: number): void;
			public static glReadnPixels(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: java.nio.Buffer): void;
			public static glDisablei(param0: number, param1: number): void;
			public static glObjectPtrLabel(param0: number, param1: string): void;
			public static glIsEnabledi(param0: number, param1: number): boolean;
			public static glDrawElementsBaseVertex(param0: number, param1: number, param2: number, param3: java.nio.Buffer, param4: number): void;
			public static glBlendEquationSeparatei(param0: number, param1: number, param2: number): void;
			public static glGetDebugMessageLog(param0: number, param1: java.nio.IntBuffer, param2: java.nio.IntBuffer, param3: java.nio.IntBuffer, param4: java.nio.IntBuffer): native.Array<string>;
			public static glGetObjectLabel(param0: number, param1: number): string;
			public static glGetDebugMessageLog(param0: number, param1: native.Array<number>, param2: number, param3: native.Array<number>, param4: number, param5: native.Array<number>, param6: number, param7: native.Array<number>, param8: number): native.Array<string>;
			public static glGetSamplerParameterIuiv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glSamplerParameterIuiv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glGetTexParameterIiv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glGetnUniformuiv(param0: number, param1: number, param2: number, param3: java.nio.IntBuffer): void;
			public static glCopyImageSubData(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number, param8: number, param9: number, param10: number, param11: number, param12: number, param13: number, param14: number): void;
			public static glBlendFuncSeparatei(param0: number, param1: number, param2: number, param3: number, param4: number): void;
			public static glTexParameterIiv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
			public static glTexParameterIuiv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public static glDrawElementsInstancedBaseVertex(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number): void;
			public static glPrimitiveBoundingBox(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number): void;
			public static glGetnUniformuiv(param0: number, param1: number, param2: number, param3: native.Array<number>, param4: number): void;
		}
		export module GLES32 {
			export class DebugProc extends java.lang.Object {
				public static class: java.lang.Class<android.opengl.GLES32.DebugProc>;
				/**
				 * Constructs a new instance of the android.opengl.GLES32$DebugProc interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onMessage(param0: number, param1: number, param2: number, param3: number, param4: string): void;
				});
				public constructor();
				public onMessage(param0: number, param1: number, param2: number, param3: number, param4: string): void;
			}
		}
	}
}

declare module android {
	export module opengl {
		export class GLException extends java.lang.RuntimeException {
			public static class: java.lang.Class<android.opengl.GLException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: number);
			public constructor(param0: number, param1: string);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module android {
	export module opengl {
		export class GLSurfaceView extends android.view.SurfaceView implements android.view.SurfaceHolder.Callback2 {
			public static class: java.lang.Class<android.opengl.GLSurfaceView>;
			public static DEBUG_CHECK_GL_ERROR: number;
			public static DEBUG_LOG_GL_CALLS: number;
			public static RENDERMODE_CONTINUOUSLY: number;
			public static RENDERMODE_WHEN_DIRTY: number;
			public getDebugFlags(): number;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public setRenderer(param0: android.opengl.GLSurfaceView.Renderer): void;
			public getPreserveEGLContextOnPause(): boolean;
			public requestRender(): void;
			/** @deprecated */
			public surfaceRedrawNeeded(param0: android.view.SurfaceHolder): void;
			public surfaceDestroyed(param0: android.view.SurfaceHolder): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public queueEvent(param0: java.lang.Runnable): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public getRenderMode(): number;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public setEGLConfigChooser(param0: android.opengl.GLSurfaceView.EGLConfigChooser): void;
			public setEGLConfigChooser(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public onPause(): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public finalize(): void;
			public onDetachedFromWindow(): void;
			public sendAccessibilityEvent(param0: number): void;
			public surfaceRedrawNeededAsync(param0: android.view.SurfaceHolder, param1: java.lang.Runnable): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public surfaceCreated(param0: android.view.SurfaceHolder): void;
			public onResume(): void;
			public setEGLWindowSurfaceFactory(param0: android.opengl.GLSurfaceView.EGLWindowSurfaceFactory): void;
			public setPreserveEGLContextOnPause(param0: boolean): void;
			public setEGLContextFactory(param0: android.opengl.GLSurfaceView.EGLContextFactory): void;
			public setRenderMode(param0: number): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public setDebugFlags(param0: number): void;
			public surfaceChanged(param0: android.view.SurfaceHolder, param1: number, param2: number, param3: number): void;
			public setGLWrapper(param0: android.opengl.GLSurfaceView.GLWrapper): void;
			public surfaceRedrawNeeded(param0: android.view.SurfaceHolder): void;
			public constructor(param0: android.content.Context);
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public setEGLConfigChooser(param0: boolean): void;
			public setEGLContextClientVersion(param0: number): void;
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public onAttachedToWindow(): void;
		}
		export module GLSurfaceView {
			export class EGLConfigChooser extends java.lang.Object {
				public static class: java.lang.Class<android.opengl.GLSurfaceView.EGLConfigChooser>;
				/**
				 * Constructs a new instance of the android.opengl.GLSurfaceView$EGLConfigChooser interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					chooseConfig(param0: javax.microedition.khronos.egl.EGL10, param1: javax.microedition.khronos.egl.EGLDisplay): javax.microedition.khronos.egl.EGLConfig;
				});
				public constructor();
				public chooseConfig(param0: javax.microedition.khronos.egl.EGL10, param1: javax.microedition.khronos.egl.EGLDisplay): javax.microedition.khronos.egl.EGLConfig;
			}
			export class EGLContextFactory extends java.lang.Object {
				public static class: java.lang.Class<android.opengl.GLSurfaceView.EGLContextFactory>;
				/**
				 * Constructs a new instance of the android.opengl.GLSurfaceView$EGLContextFactory interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					createContext(param0: javax.microedition.khronos.egl.EGL10, param1: javax.microedition.khronos.egl.EGLDisplay, param2: javax.microedition.khronos.egl.EGLConfig): javax.microedition.khronos.egl.EGLContext;
					destroyContext(param0: javax.microedition.khronos.egl.EGL10, param1: javax.microedition.khronos.egl.EGLDisplay, param2: javax.microedition.khronos.egl.EGLContext): void;
				});
				public constructor();
				public destroyContext(param0: javax.microedition.khronos.egl.EGL10, param1: javax.microedition.khronos.egl.EGLDisplay, param2: javax.microedition.khronos.egl.EGLContext): void;
				public createContext(param0: javax.microedition.khronos.egl.EGL10, param1: javax.microedition.khronos.egl.EGLDisplay, param2: javax.microedition.khronos.egl.EGLConfig): javax.microedition.khronos.egl.EGLContext;
			}
			export class EGLWindowSurfaceFactory extends java.lang.Object {
				public static class: java.lang.Class<android.opengl.GLSurfaceView.EGLWindowSurfaceFactory>;
				/**
				 * Constructs a new instance of the android.opengl.GLSurfaceView$EGLWindowSurfaceFactory interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					createWindowSurface(param0: javax.microedition.khronos.egl.EGL10, param1: javax.microedition.khronos.egl.EGLDisplay, param2: javax.microedition.khronos.egl.EGLConfig, param3: any): javax.microedition.khronos.egl.EGLSurface;
					destroySurface(param0: javax.microedition.khronos.egl.EGL10, param1: javax.microedition.khronos.egl.EGLDisplay, param2: javax.microedition.khronos.egl.EGLSurface): void;
				});
				public constructor();
				public destroySurface(param0: javax.microedition.khronos.egl.EGL10, param1: javax.microedition.khronos.egl.EGLDisplay, param2: javax.microedition.khronos.egl.EGLSurface): void;
				public createWindowSurface(param0: javax.microedition.khronos.egl.EGL10, param1: javax.microedition.khronos.egl.EGLDisplay, param2: javax.microedition.khronos.egl.EGLConfig, param3: any): javax.microedition.khronos.egl.EGLSurface;
			}
			export class GLWrapper extends java.lang.Object {
				public static class: java.lang.Class<android.opengl.GLSurfaceView.GLWrapper>;
				/**
				 * Constructs a new instance of the android.opengl.GLSurfaceView$GLWrapper interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					wrap(param0: javax.microedition.khronos.opengles.GL): javax.microedition.khronos.opengles.GL;
				});
				public constructor();
				public wrap(param0: javax.microedition.khronos.opengles.GL): javax.microedition.khronos.opengles.GL;
			}
			export class Renderer extends java.lang.Object {
				public static class: java.lang.Class<android.opengl.GLSurfaceView.Renderer>;
				/**
				 * Constructs a new instance of the android.opengl.GLSurfaceView$Renderer interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onSurfaceCreated(param0: javax.microedition.khronos.opengles.GL10, param1: javax.microedition.khronos.egl.EGLConfig): void;
					onSurfaceChanged(param0: javax.microedition.khronos.opengles.GL10, param1: number, param2: number): void;
					onDrawFrame(param0: javax.microedition.khronos.opengles.GL10): void;
				});
				public constructor();
				public onSurfaceChanged(param0: javax.microedition.khronos.opengles.GL10, param1: number, param2: number): void;
				public onSurfaceCreated(param0: javax.microedition.khronos.opengles.GL10, param1: javax.microedition.khronos.egl.EGLConfig): void;
				public onDrawFrame(param0: javax.microedition.khronos.opengles.GL10): void;
			}
		}
	}
}

declare module android {
	export module opengl {
		export class GLU extends java.lang.Object {
			public static class: java.lang.Class<android.opengl.GLU>;
			public static gluOrtho2D(param0: javax.microedition.khronos.opengles.GL10, param1: number, param2: number, param3: number, param4: number): void;
			public static gluErrorString(param0: number): string;
			public constructor();
			public static gluProject(param0: number, param1: number, param2: number, param3: native.Array<number>, param4: number, param5: native.Array<number>, param6: number, param7: native.Array<number>, param8: number, param9: native.Array<number>, param10: number): number;
			public static gluLookAt(param0: javax.microedition.khronos.opengles.GL10, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number, param8: number, param9: number): void;
			public static gluPerspective(param0: javax.microedition.khronos.opengles.GL10, param1: number, param2: number, param3: number, param4: number): void;
			public static gluUnProject(param0: number, param1: number, param2: number, param3: native.Array<number>, param4: number, param5: native.Array<number>, param6: number, param7: native.Array<number>, param8: number, param9: native.Array<number>, param10: number): number;
		}
	}
}

declare module android {
	export module opengl {
		export class GLUtils extends java.lang.Object {
			public static class: java.lang.Class<android.opengl.GLUtils>;
			public static getEGLErrorString(param0: number): string;
			public static getInternalFormat(param0: android.graphics.Bitmap): number;
			public static texSubImage2D(param0: number, param1: number, param2: number, param3: number, param4: android.graphics.Bitmap): void;
			public static texImage2D(param0: number, param1: number, param2: android.graphics.Bitmap, param3: number): void;
			public static texSubImage2D(param0: number, param1: number, param2: number, param3: number, param4: android.graphics.Bitmap, param5: number, param6: number): void;
			public static texImage2D(param0: number, param1: number, param2: number, param3: android.graphics.Bitmap, param4: number): void;
			public static texImage2D(param0: number, param1: number, param2: number, param3: android.graphics.Bitmap, param4: number, param5: number): void;
			public static getType(param0: android.graphics.Bitmap): number;
		}
	}
}

declare module android {
	export module opengl {
		export class Matrix extends java.lang.Object {
			public static class: java.lang.Class<android.opengl.Matrix>;
			public static scaleM(param0: native.Array<number>, param1: number, param2: number, param3: number, param4: number): void;
			public static multiplyMM(param0: native.Array<number>, param1: number, param2: native.Array<number>, param3: number, param4: native.Array<number>, param5: number): void;
			public static invertM(param0: native.Array<number>, param1: number, param2: native.Array<number>, param3: number): boolean;
			public static setIdentityM(param0: native.Array<number>, param1: number): void;
			public static perspectiveM(param0: native.Array<number>, param1: number, param2: number, param3: number, param4: number, param5: number): void;
			public static rotateM(param0: native.Array<number>, param1: number, param2: number, param3: number, param4: number, param5: number): void;
			public static length(param0: number, param1: number, param2: number): number;
			public static multiplyMV(param0: native.Array<number>, param1: number, param2: native.Array<number>, param3: number, param4: native.Array<number>, param5: number): void;
			public static rotateM(param0: native.Array<number>, param1: number, param2: native.Array<number>, param3: number, param4: number, param5: number, param6: number, param7: number): void;
			public static scaleM(param0: native.Array<number>, param1: number, param2: native.Array<number>, param3: number, param4: number, param5: number, param6: number): void;
			public static setRotateM(param0: native.Array<number>, param1: number, param2: number, param3: number, param4: number, param5: number): void;
			public static frustumM(param0: native.Array<number>, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number): void;
			public static setLookAtM(param0: native.Array<number>, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number, param8: number, param9: number, param10: number): void;
			public static orthoM(param0: native.Array<number>, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number): void;
			/** @deprecated */
			public constructor();
			public static translateM(param0: native.Array<number>, param1: number, param2: native.Array<number>, param3: number, param4: number, param5: number, param6: number): void;
			public static transposeM(param0: native.Array<number>, param1: number, param2: native.Array<number>, param3: number): void;
			public static translateM(param0: native.Array<number>, param1: number, param2: number, param3: number, param4: number): void;
			public static setRotateEulerM(param0: native.Array<number>, param1: number, param2: number, param3: number, param4: number): void;
		}
	}
}

declare module android {
	export module opengl {
		export class Visibility extends java.lang.Object {
			public static class: java.lang.Class<android.opengl.Visibility>;
			public static visibilityTest(param0: native.Array<number>, param1: number, param2: native.Array<number>, param3: number, param4: native.Array<string>, param5: number, param6: number): number;
			public constructor();
			public static frustumCullSpheres(param0: native.Array<number>, param1: number, param2: native.Array<number>, param3: number, param4: number, param5: native.Array<number>, param6: number, param7: number): number;
			public static computeBoundingSphere(param0: native.Array<number>, param1: number, param2: number, param3: native.Array<number>, param4: number): void;
		}
	}
}

declare module android {
	export module os {
		export abstract class AsyncTask<Params, Progress, Result>  extends java.lang.Object {
			public static class: java.lang.Class<android.os.AsyncTask<any,any,any>>;
			public static SERIAL_EXECUTOR: java.util.concurrent.Executor;
			public static THREAD_POOL_EXECUTOR: java.util.concurrent.Executor;
			public publishProgress(param0: native.Array<Progress>): void;
			public onPostExecute(param0: Result): void;
			public onCancelled(param0: Result): void;
			public isCancelled(): boolean;
			public constructor();
			public onProgressUpdate(param0: native.Array<Progress>): void;
			public execute(param0: native.Array<Params>): android.os.AsyncTask<Params,Progress,Result>;
			public get(): Result;
			public cancel(param0: boolean): boolean;
			public get(param0: number, param1: java.util.concurrent.TimeUnit): Result;
			public onCancelled(): void;
			public executeOnExecutor(param0: java.util.concurrent.Executor, param1: native.Array<Params>): android.os.AsyncTask<Params,Progress,Result>;
			public getStatus(): android.os.AsyncTask.Status;
			public static execute(param0: java.lang.Runnable): void;
			public doInBackground(param0: native.Array<Params>): Result;
			public onPreExecute(): void;
		}
		export module AsyncTask {
			export class Status {
				public static class: java.lang.Class<android.os.AsyncTask.Status>;
				public static PENDING: android.os.AsyncTask.Status;
				public static RUNNING: android.os.AsyncTask.Status;
				public static FINISHED: android.os.AsyncTask.Status;
				public static values(): native.Array<android.os.AsyncTask.Status>;
				public static valueOf(param0: string): android.os.AsyncTask.Status;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			}
		}
	}
}

declare module android {
	export module os {
		export class BadParcelableException extends android.util.AndroidRuntimeException {
			public static class: java.lang.Class<android.os.BadParcelableException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
			public constructor(param0: java.lang.Exception);
		}
	}
}

declare module android {
	export module os {
		export class BaseBundle extends java.lang.Object {
			public static class: java.lang.Class<android.os.BaseBundle>;
			public keySet(): java.util.Set<string>;
			public getDoubleArray(param0: string): native.Array<number>;
			public putString(param0: string, param1: string): void;
			public getBoolean(param0: string): boolean;
			public getLongArray(param0: string): native.Array<number>;
			public getLong(param0: string, param1: number): number;
			public putBoolean(param0: string, param1: boolean): void;
			public putLong(param0: string, param1: number): void;
			public putDouble(param0: string, param1: number): void;
			public remove(param0: string): void;
			public getBooleanArray(param0: string): native.Array<boolean>;
			public getStringArray(param0: string): native.Array<string>;
			public putStringArray(param0: string, param1: native.Array<string>): void;
			public containsKey(param0: string): boolean;
			public clear(): void;
			public getLong(param0: string): number;
			public get(param0: string): any;
			public getInt(param0: string): number;
			public size(): number;
			public isEmpty(): boolean;
			public getInt(param0: string, param1: number): number;
			public putLongArray(param0: string, param1: native.Array<number>): void;
			public putIntArray(param0: string, param1: native.Array<number>): void;
			public getString(param0: string): string;
			public putBooleanArray(param0: string, param1: native.Array<boolean>): void;
			public putInt(param0: string, param1: number): void;
			public getIntArray(param0: string): native.Array<number>;
			public putAll(param0: any): void;
			public getDouble(param0: string, param1: number): number;
			public getDouble(param0: string): number;
			public getBoolean(param0: string, param1: boolean): boolean;
			public putDoubleArray(param0: string, param1: native.Array<number>): void;
			public getString(param0: string, param1: string): string;
		}
	}
}

declare module android {
	export module os {
		export class BatteryManager extends java.lang.Object {
			public static class: java.lang.Class<android.os.BatteryManager>;
			public static ACTION_CHARGING: string;
			public static ACTION_DISCHARGING: string;
			public static BATTERY_HEALTH_COLD: number;
			public static BATTERY_HEALTH_DEAD: number;
			public static BATTERY_HEALTH_GOOD: number;
			public static BATTERY_HEALTH_OVERHEAT: number;
			public static BATTERY_HEALTH_OVER_VOLTAGE: number;
			public static BATTERY_HEALTH_UNKNOWN: number;
			public static BATTERY_HEALTH_UNSPECIFIED_FAILURE: number;
			public static BATTERY_PLUGGED_AC: number;
			public static BATTERY_PLUGGED_USB: number;
			public static BATTERY_PLUGGED_WIRELESS: number;
			public static BATTERY_PROPERTY_CAPACITY: number;
			public static BATTERY_PROPERTY_CHARGE_COUNTER: number;
			public static BATTERY_PROPERTY_CURRENT_AVERAGE: number;
			public static BATTERY_PROPERTY_CURRENT_NOW: number;
			public static BATTERY_PROPERTY_ENERGY_COUNTER: number;
			public static BATTERY_PROPERTY_STATUS: number;
			public static BATTERY_STATUS_CHARGING: number;
			public static BATTERY_STATUS_DISCHARGING: number;
			public static BATTERY_STATUS_FULL: number;
			public static BATTERY_STATUS_NOT_CHARGING: number;
			public static BATTERY_STATUS_UNKNOWN: number;
			public static EXTRA_BATTERY_LOW: string;
			public static EXTRA_HEALTH: string;
			public static EXTRA_ICON_SMALL: string;
			public static EXTRA_LEVEL: string;
			public static EXTRA_PLUGGED: string;
			public static EXTRA_PRESENT: string;
			public static EXTRA_SCALE: string;
			public static EXTRA_STATUS: string;
			public static EXTRA_TECHNOLOGY: string;
			public static EXTRA_TEMPERATURE: string;
			public static EXTRA_VOLTAGE: string;
			public isCharging(): boolean;
			public getIntProperty(param0: number): number;
			public computeChargeTimeRemaining(): number;
			public getLongProperty(param0: number): number;
		}
	}
}

declare module android {
	export module os {
		export class Binder extends java.lang.Object implements android.os.IBinder {
			public static class: java.lang.Class<android.os.Binder>;
			public pingBinder(): boolean;
			public static joinThreadPool(): void;
			public isBinderAlive(): boolean;
			public queryLocalInterface(param0: string): android.os.IInterface;
			public dump(param0: java.io.FileDescriptor, param1: java.io.PrintWriter, param2: native.Array<string>): void;
			public constructor();
			public static clearCallingIdentity(): number;
			public static getCallingPid(): number;
			public static flushPendingCommands(): void;
			public static restoreCallingIdentity(param0: number): void;
			public transact(param0: number, param1: android.os.Parcel, param2: android.os.Parcel, param3: number): boolean;
			public static getCallingUserHandle(): android.os.UserHandle;
			public attachInterface(param0: android.os.IInterface, param1: string): void;
			public onTransact(param0: number, param1: android.os.Parcel, param2: android.os.Parcel, param3: number): boolean;
			public dumpAsync(param0: java.io.FileDescriptor, param1: native.Array<string>): void;
			public static getCallingUid(): number;
			public linkToDeath(param0: android.os.IBinder.DeathRecipient, param1: number): void;
			public dump(param0: java.io.FileDescriptor, param1: native.Array<string>): void;
			public getInterfaceDescriptor(): string;
			public unlinkToDeath(param0: android.os.IBinder.DeathRecipient, param1: number): boolean;
		}
	}
}

declare module android {
	export module os {
		export class Build extends java.lang.Object {
			public static class: java.lang.Class<android.os.Build>;
			public static BOARD: string;
			public static BOOTLOADER: string;
			public static BRAND: string;
			public static CPU_ABI: string;
			public static CPU_ABI2: string;
			public static DEVICE: string;
			public static DISPLAY: string;
			public static FINGERPRINT: string;
			public static HARDWARE: string;
			public static HOST: string;
			public static ID: string;
			public static MANUFACTURER: string;
			public static MODEL: string;
			public static PRODUCT: string;
			public static RADIO: string;
			public static SERIAL: string;
			public static SUPPORTED_32_BIT_ABIS: native.Array<string>;
			public static SUPPORTED_64_BIT_ABIS: native.Array<string>;
			public static SUPPORTED_ABIS: native.Array<string>;
			public static TAGS: string;
			public static TIME: number;
			public static TYPE: string;
			public static UNKNOWN: string;
			public static USER: string;
			public constructor();
			public static getSerial(): string;
			public static getRadioVersion(): string;
		}
		export module Build {
			export class VERSION extends java.lang.Object {
				public static class: java.lang.Class<android.os.Build.VERSION>;
				public static BASE_OS: string;
				public static CODENAME: string;
				public static INCREMENTAL: string;
				public static PREVIEW_SDK_INT: number;
				public static RELEASE: string;
				public static SDK: string;
				public static SDK_INT: number;
				public static SECURITY_PATCH: string;
				public constructor();
			}
			export class VERSION_CODES extends java.lang.Object {
				public static class: java.lang.Class<android.os.Build.VERSION_CODES>;
				public static BASE: number;
				public static BASE_1_1: number;
				public static CUPCAKE: number;
				public static CUR_DEVELOPMENT: number;
				public static DONUT: number;
				public static ECLAIR: number;
				public static ECLAIR_0_1: number;
				public static ECLAIR_MR1: number;
				public static FROYO: number;
				public static GINGERBREAD: number;
				public static GINGERBREAD_MR1: number;
				public static HONEYCOMB: number;
				public static HONEYCOMB_MR1: number;
				public static HONEYCOMB_MR2: number;
				public static ICE_CREAM_SANDWICH: number;
				public static ICE_CREAM_SANDWICH_MR1: number;
				public static JELLY_BEAN: number;
				public static JELLY_BEAN_MR1: number;
				public static JELLY_BEAN_MR2: number;
				public static KITKAT: number;
				public static KITKAT_WATCH: number;
				public static LOLLIPOP: number;
				public static LOLLIPOP_MR1: number;
				public static M: number;
				public static N: number;
				public static N_MR1: number;
				public static O: number;
				public static O_MR1: number;
				public static P: number;
				public constructor();
			}
		}
	}
}

declare module android {
	export module os {
		export class Bundle extends android.os.BaseBundle implements java.lang.Cloneable, android.os.Parcelable {
			public static class: java.lang.Class<android.os.Bundle>;
			public static CREATOR: android.os.Parcelable.Creator<android.os.Bundle>;
			public static EMPTY: android.os.Bundle;
			public getClassLoader(): java.lang.ClassLoader;
			public putShortArray(param0: string, param1: native.Array<number>): void;
			public constructor(param0: android.os.Bundle);
			public putBinder(param0: string, param1: android.os.IBinder): void;
			public putByte(param0: string, param1: number): void;
			public constructor(param0: java.lang.ClassLoader);
			public getStringArrayList(param0: string): java.util.ArrayList<string>;
			public getIntegerArrayList(param0: string): java.util.ArrayList<java.lang.Integer>;
			public constructor(param0: any);
			public putParcelableArrayList(param0: string, param1: java.util.ArrayList<any>): void;
			public readFromParcel(param0: android.os.Parcel): void;
			public remove(param0: string): void;
			public putFloat(param0: string, param1: number): void;
			public getByte(param0: string, param1: number): java.lang.Byte;
			public getShortArray(param0: string): native.Array<number>;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public putCharSequenceArray(param0: string, param1: native.Array<string>): void;
			public getParcelableArrayList(param0: string): java.util.ArrayList<any>;
			public getParcelableArray(param0: string): native.Array<android.os.Parcelable>;
			public clear(): void;
			public deepCopy(): android.os.Bundle;
			public constructor(param0: number);
			public getByte(param0: string): number;
			public getSize(param0: string): any;
			public constructor();
			public putAll(param0: any): void;
			public putSparseParcelableArray(param0: string, param1: android.util.SparseArray<any>): void;
			public getFloat(param0: string): number;
			public clone(): any;
			public setClassLoader(param0: java.lang.ClassLoader): void;
			public describeContents(): number;
			public getFloatArray(param0: string): native.Array<number>;
			public putCharSequence(param0: string, param1: string): void;
			public getParcelable(param0: string): android.os.Parcelable;
			public putSerializable(param0: string, param1: java.io.Serializable): void;
			public getChar(param0: string, param1: string): string;
			public putSizeF(param0: string, param1: any): void;
			public putSize(param0: string, param1: any): void;
			public getCharSequence(param0: string, param1: string): string;
			public putParcelableArray(param0: string, param1: native.Array<android.os.Parcelable>): void;
			public putShort(param0: string, param1: number): void;
			public putCharSequenceArrayList(param0: string, param1: java.util.ArrayList<string>): void;
			public hasFileDescriptors(): boolean;
			public putStringArrayList(param0: string, param1: java.util.ArrayList<string>): void;
			public getShort(param0: string, param1: number): number;
			public getBinder(param0: string): android.os.IBinder;
			public getSerializable(param0: string): java.io.Serializable;
			public putParcelable(param0: string, param1: android.os.Parcelable): void;
			public getSparseParcelableArray(param0: string): android.util.SparseArray<any>;
			public getCharSequenceArray(param0: string): native.Array<string>;
			public getBundle(param0: string): android.os.Bundle;
			public putByteArray(param0: string, param1: native.Array<number>): void;
			public getFloat(param0: string, param1: number): number;
			public putBundle(param0: string, param1: android.os.Bundle): void;
			public getCharArray(param0: string): native.Array<string>;
			public getByteArray(param0: string): native.Array<number>;
			public putChar(param0: string, param1: string): void;
			public getCharSequence(param0: string): string;
			public putAll(param0: android.os.Bundle): void;
			public putIntegerArrayList(param0: string, param1: java.util.ArrayList<java.lang.Integer>): void;
			public toString(): string;
			public putFloatArray(param0: string, param1: native.Array<number>): void;
			public putCharArray(param0: string, param1: native.Array<string>): void;
			public getChar(param0: string): string;
			public getShort(param0: string): number;
			public getSizeF(param0: string): any;
			public getCharSequenceArrayList(param0: string): java.util.ArrayList<string>;
		}
	}
}

declare module android {
	export module os {
		export class CancellationSignal extends java.lang.Object {
			public static class: java.lang.Class<android.os.CancellationSignal>;
			public cancel(): void;
			public constructor();
			public isCanceled(): boolean;
			public throwIfCanceled(): void;
			public setOnCancelListener(param0: android.os.CancellationSignal.OnCancelListener): void;
		}
		export module CancellationSignal {
			export class OnCancelListener extends java.lang.Object {
				public static class: java.lang.Class<android.os.CancellationSignal.OnCancelListener>;
				/**
				 * Constructs a new instance of the android.os.CancellationSignal$OnCancelListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onCancel(): void;
				});
				public constructor();
				public onCancel(): void;
			}
		}
	}
}

declare module android {
	export module os {
		export class ConditionVariable extends java.lang.Object {
			public static class: java.lang.Class<android.os.ConditionVariable>;
			public constructor(param0: boolean);
			public block(param0: number): boolean;
			public open(): void;
			public constructor();
			public block(): void;
			public close(): void;
		}
	}
}

declare module android {
	export module os {
		export abstract class CountDownTimer extends java.lang.Object {
			public static class: java.lang.Class<android.os.CountDownTimer>;
			public onFinish(): void;
			public start(): android.os.CountDownTimer;
			public cancel(): void;
			public constructor(param0: number, param1: number);
			public onTick(param0: number): void;
		}
	}
}

declare module android {
	export module os {
		export class CpuUsageInfo extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.os.CpuUsageInfo>;
			public static CREATOR: android.os.Parcelable.Creator<android.os.CpuUsageInfo>;
			public getTotal(): number;
			public getActive(): number;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
		}
	}
}

declare module android {
	export module os {
		export class DeadObjectException extends android.os.RemoteException {
			public static class: java.lang.Class<android.os.DeadObjectException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
			public constructor(param0: java.lang.Exception);
		}
	}
}

declare module android {
	export module os {
		export class DeadSystemException extends android.os.DeadObjectException {
			public static class: java.lang.Class<android.os.DeadSystemException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
			public constructor(param0: java.lang.Exception);
		}
	}
}

declare module android {
	export module os {
		export class Debug extends java.lang.Object {
			public static class: java.lang.Class<android.os.Debug>;
			public static SHOW_CLASSLOADER: number;
			public static SHOW_FULL_DETAIL: number;
			public static SHOW_INITIALIZED: number;
			public static TRACE_COUNT_ALLOCS: number;
			public static getBinderDeathObjectCount(): number;
			public static getBinderSentTransactions(): number;
			/** @deprecated */
			public static resetThreadGcInvocationCount(): void;
			/** @deprecated */
			public static resetGlobalExternalFreedCount(): void;
			/** @deprecated */
			public static resetAllCounts(): void;
			/** @deprecated */
			public static getGlobalExternalFreedSize(): number;
			/** @deprecated */
			public static getThreadExternalAllocCount(): number;
			/** @deprecated */
			public static getGlobalFreedCount(): number;
			/** @deprecated */
			public static getGlobalGcInvocationCount(): number;
			/** @deprecated */
			public static resetThreadAllocSize(): void;
			/** @deprecated */
			public static resetGlobalExternalAllocSize(): void;
			/** @deprecated */
			public static resetGlobalFreedCount(): void;
			/** @deprecated */
			public static getThreadExternalAllocSize(): number;
			public static startNativeTracing(): void;
			public static getNativeHeapSize(): number;
			public static getPss(): number;
			public static dumpService(param0: string, param1: java.io.FileDescriptor, param2: native.Array<string>): boolean;
			public static startMethodTracing(param0: string, param1: number): void;
			/** @deprecated */
			public static resetThreadAllocCount(): void;
			/** @deprecated */
			public static getThreadAllocCount(): number;
			/** @deprecated */
			public static changeDebugPort(param0: number): void;
			/** @deprecated */
			public static getThreadGcInvocationCount(): number;
			public static startMethodTracing(param0: string): void;
			public static getNativeHeapFreeSize(): number;
			public static getBinderLocalObjectCount(): number;
			/** @deprecated */
			public static resetGlobalExternalFreedSize(): void;
			public static waitingForDebugger(): boolean;
			/** @deprecated */
			public static resetGlobalGcInvocationCount(): void;
			public static getNativeHeapAllocatedSize(): number;
			/** @deprecated */
			public static getGlobalExternalAllocSize(): number;
			/** @deprecated */
			public static startAllocCounting(): void;
			/** @deprecated */
			public static resetGlobalFreedSize(): void;
			public static getRuntimeStats(): java.util.Map<string,string>;
			public static enableEmulatorTraceOutput(): void;
			/** @deprecated */
			public static resetThreadExternalAllocCount(): void;
			public static waitForDebugger(): void;
			public static startMethodTracing(param0: string, param1: number, param2: number): void;
			public static stopNativeTracing(): void;
			/** @deprecated */
			public static setAllocationLimit(param0: number): number;
			/** @deprecated */
			public static resetGlobalClassInitTime(): void;
			/** @deprecated */
			public static resetGlobalClassInitCount(): void;
			/** @deprecated */
			public static getGlobalExternalAllocCount(): number;
			/** @deprecated */
			public static getGlobalClassInitTime(): number;
			/** @deprecated */
			public static getGlobalAllocCount(): number;
			public static dumpHprofData(param0: string): void;
			public static stopMethodTracing(): void;
			/** @deprecated */
			public static resetGlobalAllocSize(): void;
			/** @deprecated */
			public static stopAllocCounting(): void;
			public static printLoadedClasses(param0: number): void;
			public static startMethodTracing(): void;
			/** @deprecated */
			public static setGlobalAllocationLimit(param0: number): number;
			/** @deprecated */
			public static resetGlobalAllocCount(): void;
			public static getBinderProxyObjectCount(): number;
			public static attachJvmtiAgent(param0: string, param1: string, param2: java.lang.ClassLoader): void;
			/** @deprecated */
			public static resetGlobalExternalAllocCount(): void;
			public static getMemoryInfo(param0: android.os.Debug.MemoryInfo): void;
			public static startMethodTracingSampling(param0: string, param1: number, param2: number): void;
			/** @deprecated */
			public static resetThreadExternalAllocSize(): void;
			public static getRuntimeStat(param0: string): string;
			/** @deprecated */
			public static getGlobalFreedSize(): number;
			/** @deprecated */
			public static getGlobalAllocSize(): number;
			public static getBinderReceivedTransactions(): number;
			public static isDebuggerConnected(): boolean;
			public static threadCpuTimeNanos(): number;
			/** @deprecated */
			public static getThreadAllocSize(): number;
			/** @deprecated */
			public static getGlobalClassInitCount(): number;
			/** @deprecated */
			public static getGlobalExternalFreedCount(): number;
			public static getLoadedClassCount(): number;
		}
		export module Debug {
			export class InstructionCount extends java.lang.Object {
				public static class: java.lang.Class<android.os.Debug.InstructionCount>;
				public globalMethodInvocations(): number;
				public collect(): boolean;
				public globalTotal(): number;
				public resetAndStart(): boolean;
				public constructor();
			}
			export class MemoryInfo extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.os.Debug.MemoryInfo>;
				public static CREATOR: android.os.Parcelable.Creator<android.os.Debug.MemoryInfo>;
				public dalvikPrivateDirty: number;
				public dalvikPss: number;
				public dalvikSharedDirty: number;
				public nativePrivateDirty: number;
				public nativePss: number;
				public nativeSharedDirty: number;
				public otherPrivateDirty: number;
				public otherPss: number;
				public otherSharedDirty: number;
				public getTotalSwappablePss(): number;
				public getMemoryStats(): java.util.Map<string,string>;
				public getTotalSharedClean(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getTotalPrivateClean(): number;
				public readFromParcel(param0: android.os.Parcel): void;
				public getTotalSharedDirty(): number;
				public getMemoryStat(param0: string): string;
				public getTotalPss(): number;
				public constructor();
				public getTotalPrivateDirty(): number;
			}
		}
	}
}

declare module android {
	export module os {
		export class DropBoxManager extends java.lang.Object {
			public static class: java.lang.Class<android.os.DropBoxManager>;
			public static ACTION_DROPBOX_ENTRY_ADDED: string;
			public static EXTRA_TAG: string;
			public static EXTRA_TIME: string;
			public static IS_EMPTY: number;
			public static IS_GZIPPED: number;
			public static IS_TEXT: number;
			public addText(param0: string, param1: string): void;
			public getNextEntry(param0: string, param1: number): android.os.DropBoxManager.Entry;
			public constructor();
			public isTagEnabled(param0: string): boolean;
			public addFile(param0: string, param1: java.io.File, param2: number): void;
			public addData(param0: string, param1: native.Array<number>, param2: number): void;
		}
		export module DropBoxManager {
			export class Entry extends java.lang.Object implements android.os.Parcelable, java.io.Closeable {
				public static class: java.lang.Class<android.os.DropBoxManager.Entry>;
				public static CREATOR: android.os.Parcelable.Creator<android.os.DropBoxManager.Entry>;
				public constructor(param0: string, param1: number, param2: android.os.ParcelFileDescriptor, param3: number);
				public constructor(param0: string, param1: number, param2: native.Array<number>, param3: number);
				public close(): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getTag(): string;
				public getInputStream(): java.io.InputStream;
				public constructor(param0: string, param1: number, param2: java.io.File, param3: number);
				public getTimeMillis(): number;
				public constructor(param0: string, param1: number, param2: string);
				public constructor(param0: string, param1: number);
				public describeContents(): number;
				public getFlags(): number;
				public getText(param0: number): string;
			}
		}
	}
}

declare module android {
	export module os {
		export class Environment extends java.lang.Object {
			public static class: java.lang.Class<android.os.Environment>;
			public static DIRECTORY_ALARMS: string;
			public static DIRECTORY_DCIM: string;
			public static DIRECTORY_DOCUMENTS: string;
			public static DIRECTORY_DOWNLOADS: string;
			public static DIRECTORY_MOVIES: string;
			public static DIRECTORY_MUSIC: string;
			public static DIRECTORY_NOTIFICATIONS: string;
			public static DIRECTORY_PICTURES: string;
			public static DIRECTORY_PODCASTS: string;
			public static DIRECTORY_RINGTONES: string;
			public static MEDIA_BAD_REMOVAL: string;
			public static MEDIA_CHECKING: string;
			public static MEDIA_EJECTING: string;
			public static MEDIA_MOUNTED: string;
			public static MEDIA_MOUNTED_READ_ONLY: string;
			public static MEDIA_NOFS: string;
			public static MEDIA_REMOVED: string;
			public static MEDIA_SHARED: string;
			public static MEDIA_UNKNOWN: string;
			public static MEDIA_UNMOUNTABLE: string;
			public static MEDIA_UNMOUNTED: string;
			/** @deprecated */
			public static getStorageState(param0: java.io.File): string;
			public static getExternalStorageState(): string;
			public static getExternalStorageState(param0: java.io.File): string;
			public static getExternalStorageDirectory(): java.io.File;
			public constructor();
			public static isExternalStorageEmulated(): boolean;
			public static isExternalStorageRemovable(): boolean;
			public static getDataDirectory(): java.io.File;
			public static getRootDirectory(): java.io.File;
			public static getExternalStoragePublicDirectory(param0: string): java.io.File;
			public static isExternalStorageEmulated(param0: java.io.File): boolean;
			public static getDownloadCacheDirectory(): java.io.File;
			public static isExternalStorageRemovable(param0: java.io.File): boolean;
		}
	}
}

declare module android {
	export module os {
		export abstract class FileObserver extends java.lang.Object {
			public static class: java.lang.Class<android.os.FileObserver>;
			public static ACCESS: number;
			public static ALL_EVENTS: number;
			public static ATTRIB: number;
			public static CLOSE_NOWRITE: number;
			public static CLOSE_WRITE: number;
			public static CREATE: number;
			public static DELETE: number;
			public static DELETE_SELF: number;
			public static MODIFY: number;
			public static MOVED_FROM: number;
			public static MOVED_TO: number;
			public static MOVE_SELF: number;
			public static OPEN: number;
			public stopWatching(): void;
			public onEvent(param0: number, param1: string): void;
			public constructor(param0: string, param1: number);
			public startWatching(): void;
			public constructor(param0: string);
			public finalize(): void;
		}
	}
}

declare module android {
	export module os {
		export class FileUriExposedException extends java.lang.RuntimeException {
			public static class: java.lang.Class<android.os.FileUriExposedException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module android {
	export module os {
		export class Handler extends java.lang.Object {
			public static class: java.lang.Class<android.os.Handler>;
			public obtainMessage(): android.os.Message;
			public postAtTime(param0: java.lang.Runnable, param1: any, param2: number): boolean;
			public constructor(param0: android.os.Looper, param1: android.os.Handler.Callback);
			public constructor(param0: android.os.Looper);
			public postDelayed(param0: java.lang.Runnable, param1: number): boolean;
			public postDelayed(param0: java.lang.Runnable, param1: any, param2: number): boolean;
			public sendMessageAtFrontOfQueue(param0: android.os.Message): boolean;
			public removeCallbacksAndMessages(param0: any): void;
			public post(param0: java.lang.Runnable): boolean;
			public sendEmptyMessageDelayed(param0: number, param1: number): boolean;
			public postAtTime(param0: java.lang.Runnable, param1: number): boolean;
			public hasMessages(param0: number): boolean;
			public hasMessages(param0: number, param1: any): boolean;
			public obtainMessage(param0: number, param1: number, param2: number, param3: any): android.os.Message;
			public postAtFrontOfQueue(param0: java.lang.Runnable): boolean;
			public obtainMessage(param0: number, param1: any): android.os.Message;
			public sendMessageDelayed(param0: android.os.Message, param1: number): boolean;
			public dispatchMessage(param0: android.os.Message): void;
			public getLooper(): android.os.Looper;
			public handleMessage(param0: android.os.Message): void;
			public sendMessage(param0: android.os.Message): boolean;
			public getMessageName(param0: android.os.Message): string;
			public obtainMessage(param0: number): android.os.Message;
			public removeMessages(param0: number): void;
			public obtainMessage(param0: number, param1: number, param2: number): android.os.Message;
			public sendEmptyMessage(param0: number): boolean;
			public constructor(param0: android.os.Handler.Callback);
			public static createAsync(param0: android.os.Looper): android.os.Handler;
			public constructor();
			public removeCallbacks(param0: java.lang.Runnable): void;
			public removeCallbacks(param0: java.lang.Runnable, param1: any): void;
			public toString(): string;
			public sendMessageAtTime(param0: android.os.Message, param1: number): boolean;
			public dump(param0: android.util.Printer, param1: string): void;
			public static createAsync(param0: android.os.Looper, param1: android.os.Handler.Callback): android.os.Handler;
			public sendEmptyMessageAtTime(param0: number, param1: number): boolean;
			public removeMessages(param0: number, param1: any): void;
		}
		export module Handler {
			export class Callback extends java.lang.Object {
				public static class: java.lang.Class<android.os.Handler.Callback>;
				/**
				 * Constructs a new instance of the android.os.Handler$Callback interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					handleMessage(param0: android.os.Message): boolean;
				});
				public constructor();
				public handleMessage(param0: android.os.Message): boolean;
			}
		}
	}
}

declare module android {
	export module os {
		export class HandlerThread extends java.lang.Thread {
			public static class: java.lang.Class<android.os.HandlerThread>;
			public constructor(param0: java.lang.Runnable);
			public constructor();
			public onLooperPrepared(): void;
			public quit(): boolean;
			public constructor(param0: java.lang.ThreadGroup, param1: java.lang.Runnable, param2: string);
			public getThreadId(): number;
			public constructor(param0: java.lang.Runnable, param1: string);
			public constructor(param0: java.lang.ThreadGroup, param1: java.lang.Runnable, param2: string, param3: number);
			public constructor(param0: string, param1: number);
			public quitSafely(): boolean;
			public getLooper(): android.os.Looper;
			public run(): void;
			public constructor(param0: java.lang.ThreadGroup, param1: java.lang.Runnable);
			public constructor(param0: java.lang.ThreadGroup, param1: string);
			public constructor(param0: string);
		}
	}
}

declare module android {
	export module os {
		export class HardwarePropertiesManager extends java.lang.Object {
			public static class: java.lang.Class<android.os.HardwarePropertiesManager>;
			public static DEVICE_TEMPERATURE_BATTERY: number;
			public static DEVICE_TEMPERATURE_CPU: number;
			public static DEVICE_TEMPERATURE_GPU: number;
			public static DEVICE_TEMPERATURE_SKIN: number;
			public static TEMPERATURE_CURRENT: number;
			public static TEMPERATURE_SHUTDOWN: number;
			public static TEMPERATURE_THROTTLING: number;
			public static TEMPERATURE_THROTTLING_BELOW_VR_MIN: number;
			public static UNDEFINED_TEMPERATURE: number;
			public getFanSpeeds(): native.Array<number>;
			public getDeviceTemperatures(param0: number, param1: number): native.Array<number>;
			public getCpuUsages(): native.Array<android.os.CpuUsageInfo>;
		}
	}
}

declare module android {
	export module os {
		export class IBinder extends java.lang.Object {
			public static class: java.lang.Class<android.os.IBinder>;
			/**
			 * Constructs a new instance of the android.os.IBinder interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				getInterfaceDescriptor(): string;
				pingBinder(): boolean;
				isBinderAlive(): boolean;
				queryLocalInterface(param0: string): android.os.IInterface;
				dump(param0: java.io.FileDescriptor, param1: native.Array<string>): void;
				dumpAsync(param0: java.io.FileDescriptor, param1: native.Array<string>): void;
				transact(param0: number, param1: android.os.Parcel, param2: android.os.Parcel, param3: number): boolean;
				linkToDeath(param0: android.os.IBinder.DeathRecipient, param1: number): void;
				unlinkToDeath(param0: android.os.IBinder.DeathRecipient, param1: number): boolean;
			});
			public constructor();
			public static TWEET_TRANSACTION: number;
			public static FLAG_ONEWAY: number;
			public static LIKE_TRANSACTION: number;
			public static INTERFACE_TRANSACTION: number;
			public static LAST_CALL_TRANSACTION: number;
			public static FIRST_CALL_TRANSACTION: number;
			public static PING_TRANSACTION: number;
			public static DUMP_TRANSACTION: number;
			public pingBinder(): boolean;
			public transact(param0: number, param1: android.os.Parcel, param2: android.os.Parcel, param3: number): boolean;
			public dumpAsync(param0: java.io.FileDescriptor, param1: native.Array<string>): void;
			public isBinderAlive(): boolean;
			public queryLocalInterface(param0: string): android.os.IInterface;
			public linkToDeath(param0: android.os.IBinder.DeathRecipient, param1: number): void;
			public dump(param0: java.io.FileDescriptor, param1: native.Array<string>): void;
			public getInterfaceDescriptor(): string;
			public unlinkToDeath(param0: android.os.IBinder.DeathRecipient, param1: number): boolean;
		}
		export module IBinder {
			export class DeathRecipient extends java.lang.Object {
				public static class: java.lang.Class<android.os.IBinder.DeathRecipient>;
				/**
				 * Constructs a new instance of the android.os.IBinder$DeathRecipient interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					binderDied(): void;
				});
				public constructor();
				public binderDied(): void;
			}
		}
	}
}

declare module android {
	export module os {
		export class IInterface extends java.lang.Object {
			public static class: java.lang.Class<android.os.IInterface>;
			/**
			 * Constructs a new instance of the android.os.IInterface interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				asBinder(): android.os.IBinder;
			});
			public constructor();
			public asBinder(): android.os.IBinder;
		}
	}
}

declare module android {
	export module os {
		export class LocaleList extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.os.LocaleList>;
			public static CREATOR: android.os.Parcelable.Creator<any>;
			public equals(param0: any): boolean;
			public get(param0: number): java.util.Locale;
			public getFirstMatch(param0: native.Array<string>): java.util.Locale;
			public isEmpty(): boolean;
			public size(): number;
			public static getDefault(): any;
			public static setDefault(param0: any): void;
			public toString(): string;
			public static getAdjustedDefault(): any;
			public toLanguageTags(): string;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public indexOf(param0: java.util.Locale): number;
			public constructor(param0: native.Array<java.util.Locale>);
			public static getEmptyLocaleList(): any;
			public static forLanguageTags(param0: string): any;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module os {
		export class Looper extends java.lang.Object {
			public static class: java.lang.Class<android.os.Looper>;
			public getQueue(): android.os.MessageQueue;
			public getThread(): java.lang.Thread;
			public static myQueue(): android.os.MessageQueue;
			public static loop(): void;
			public setMessageLogging(param0: android.util.Printer): void;
			public static myLooper(): android.os.Looper;
			public toString(): string;
			public static prepareMainLooper(): void;
			public static prepare(): void;
			public quitSafely(): void;
			public dump(param0: android.util.Printer, param1: string): void;
			public static getMainLooper(): android.os.Looper;
			public isCurrentThread(): boolean;
			public quit(): void;
		}
	}
}

declare module android {
	export module os {
		export class MemoryFile extends java.lang.Object {
			public static class: java.lang.Class<android.os.MemoryFile>;
			public readBytes(param0: native.Array<number>, param1: number, param2: number, param3: number): number;
			public getInputStream(): java.io.InputStream;
			/** @deprecated */
			public isPurgingAllowed(): boolean;
			public constructor(param0: string, param1: number);
			public length(): number;
			/** @deprecated */
			public allowPurging(param0: boolean): boolean;
			public getOutputStream(): java.io.OutputStream;
			public close(): void;
			public writeBytes(param0: native.Array<number>, param1: number, param2: number, param3: number): void;
		}
	}
}

declare module android {
	export module os {
		export class Message extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.os.Message>;
			public static CREATOR: android.os.Parcelable.Creator<android.os.Message>;
			public arg1: number;
			public arg2: number;
			public obj: any;
			public replyTo: android.os.Messenger;
			public sendingUid: number;
			public what: number;
			public static obtain(param0: android.os.Handler, param1: number, param2: any): android.os.Message;
			public sendToTarget(): void;
			public setTarget(param0: android.os.Handler): void;
			public static obtain(): android.os.Message;
			public static obtain(param0: android.os.Message): android.os.Message;
			public setData(param0: android.os.Bundle): void;
			public constructor();
			public getTarget(): android.os.Handler;
			public static obtain(param0: android.os.Handler, param1: number): android.os.Message;
			public getCallback(): java.lang.Runnable;
			public static obtain(param0: android.os.Handler, param1: number, param2: number, param3: number): android.os.Message;
			public toString(): string;
			public peekData(): android.os.Bundle;
			public recycle(): void;
			public getWhen(): number;
			public setAsynchronous(param0: boolean): void;
			public describeContents(): number;
			public getData(): android.os.Bundle;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public isAsynchronous(): boolean;
			public static obtain(param0: android.os.Handler): android.os.Message;
			public copyFrom(param0: android.os.Message): void;
			public static obtain(param0: android.os.Handler, param1: java.lang.Runnable): android.os.Message;
			public static obtain(param0: android.os.Handler, param1: number, param2: number, param3: number, param4: any): android.os.Message;
		}
	}
}

declare module android {
	export module os {
		export class MessageQueue extends java.lang.Object {
			public static class: java.lang.Class<android.os.MessageQueue>;
			public addOnFileDescriptorEventListener(param0: java.io.FileDescriptor, param1: number, param2: android.os.MessageQueue.OnFileDescriptorEventListener): void;
			public addIdleHandler(param0: android.os.MessageQueue.IdleHandler): void;
			public isIdle(): boolean;
			public removeIdleHandler(param0: android.os.MessageQueue.IdleHandler): void;
			public removeOnFileDescriptorEventListener(param0: java.io.FileDescriptor): void;
			public finalize(): void;
		}
		export module MessageQueue {
			export class IdleHandler extends java.lang.Object {
				public static class: java.lang.Class<android.os.MessageQueue.IdleHandler>;
				/**
				 * Constructs a new instance of the android.os.MessageQueue$IdleHandler interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					queueIdle(): boolean;
				});
				public constructor();
				public queueIdle(): boolean;
			}
			export class OnFileDescriptorEventListener extends java.lang.Object {
				public static class: java.lang.Class<android.os.MessageQueue.OnFileDescriptorEventListener>;
				/**
				 * Constructs a new instance of the android.os.MessageQueue$OnFileDescriptorEventListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onFileDescriptorEvents(param0: java.io.FileDescriptor, param1: number): number;
				});
				public constructor();
				public static EVENT_ERROR: number;
				public static EVENT_INPUT: number;
				public static EVENT_OUTPUT: number;
				public onFileDescriptorEvents(param0: java.io.FileDescriptor, param1: number): number;
			}
		}
	}
}

declare module android {
	export module os {
		export class Messenger extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.os.Messenger>;
			public static CREATOR: android.os.Parcelable.Creator<android.os.Messenger>;
			public static writeMessengerOrNullToParcel(param0: android.os.Messenger, param1: android.os.Parcel): void;
			public send(param0: android.os.Message): void;
			public equals(param0: any): boolean;
			public getBinder(): android.os.IBinder;
			public constructor(param0: android.os.Handler);
			public static readMessengerOrNullFromParcel(param0: android.os.Parcel): android.os.Messenger;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public constructor(param0: android.os.IBinder);
			public hashCode(): number;
		}
	}
}

declare module android {
	export module os {
		export class NetworkOnMainThreadException extends java.lang.RuntimeException {
			public static class: java.lang.Class<android.os.NetworkOnMainThreadException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module android {
	export module os {
		export class OperationCanceledException extends java.lang.RuntimeException {
			public static class: java.lang.Class<android.os.OperationCanceledException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module android {
	export module os {
		export class Parcel extends java.lang.Object {
			public static class: java.lang.Class<android.os.Parcel>;
			public static STRING_CREATOR: android.os.Parcelable.Creator<string>;
			public readFloatArray(param0: native.Array<number>): void;
			public readTypedArray(param0: native.Array<any>, param1: android.os.Parcelable.Creator<any>): void;
			public readBinderList(param0: java.util.List<android.os.IBinder>): void;
			public readString(): string;
			public readByteArray(param0: native.Array<number>): void;
			public writeTypedList(param0: java.util.List<any>): void;
			public readList(param0: java.util.List<any>, param1: java.lang.ClassLoader): void;
			public static obtain(): android.os.Parcel;
			public readTypedList(param0: java.util.List<any>, param1: android.os.Parcelable.Creator<any>): void;
			public createTypedArray(param0: android.os.Parcelable.Creator<any>): native.Array<any>;
			public writeFloat(param0: number): void;
			public setDataPosition(param0: number): void;
			public writeTypedArray(param0: native.Array<android.os.Parcelable>, param1: number): void;
			public readSize(): any;
			public recycle(): void;
			public createBinderArrayList(): java.util.ArrayList<android.os.IBinder>;
			public readInt(): number;
			public readFloat(): number;
			public readException(): void;
			public writeValue(param0: any): void;
			public writeBinderArray(param0: native.Array<android.os.IBinder>): void;
			public writeLong(param0: number): void;
			public setDataSize(param0: number): void;
			public writeCharArray(param0: native.Array<string>): void;
			public writeStrongInterface(param0: android.os.IInterface): void;
			public readSizeF(): any;
			public readLongArray(param0: native.Array<number>): void;
			public readBundle(param0: java.lang.ClassLoader): android.os.Bundle;
			public createCharArray(): native.Array<string>;
			public writeBooleanArray(param0: native.Array<boolean>): void;
			public readFileDescriptor(): android.os.ParcelFileDescriptor;
			public readException(param0: number, param1: string): void;
			public writeSerializable(param0: java.io.Serializable): void;
			public writeBinderList(param0: java.util.List<android.os.IBinder>): void;
			public unmarshall(param0: native.Array<number>, param1: number, param2: number): void;
			public writeParcelableArray(param0: native.Array<android.os.Parcelable>, param1: number): void;
			public dataCapacity(): number;
			public readTypedObject(param0: android.os.Parcelable.Creator<any>): any;
			public writeTypedObject(param0: android.os.Parcelable, param1: number): void;
			public readSerializable(): java.io.Serializable;
			public readByte(): number;
			public createDoubleArray(): native.Array<number>;
			public readParcelable(param0: java.lang.ClassLoader): android.os.Parcelable;
			public writeInterfaceToken(param0: string): void;
			public readBooleanArray(param0: native.Array<boolean>): void;
			public writeFileDescriptor(param0: java.io.FileDescriptor): void;
			public appendFrom(param0: android.os.Parcel, param1: number, param2: number): void;
			public readStrongBinder(): android.os.IBinder;
			public createStringArrayList(): java.util.ArrayList<string>;
			public dataPosition(): number;
			public writeSize(param0: any): void;
			public readPersistableBundle(param0: java.lang.ClassLoader): any;
			public readStringArray(param0: native.Array<string>): void;
			public writePersistableBundle(param0: any): void;
			public createIntArray(): native.Array<number>;
			public writeBundle(param0: android.os.Bundle): void;
			public enforceInterface(param0: string): void;
			public writeSizeF(param0: any): void;
			public readBundle(): android.os.Bundle;
			public writeIntArray(param0: native.Array<number>): void;
			public writeLongArray(param0: native.Array<number>): void;
			public writeFloatArray(param0: native.Array<number>): void;
			public writeStrongBinder(param0: android.os.IBinder): void;
			public dataSize(): number;
			public readIntArray(param0: native.Array<number>): void;
			public writeList(param0: java.util.List<any>): void;
			public writeByteArray(param0: native.Array<number>): void;
			public writeSparseArray(param0: android.util.SparseArray<any>): void;
			public createLongArray(): native.Array<number>;
			public writeParcelable(param0: android.os.Parcelable, param1: number): void;
			public writeStringList(param0: java.util.List<string>): void;
			public setDataCapacity(param0: number): void;
			public readSparseBooleanArray(): android.util.SparseBooleanArray;
			public writeStringArray(param0: native.Array<string>): void;
			public readMap(param0: java.util.Map<any,any>, param1: java.lang.ClassLoader): void;
			public createByteArray(): native.Array<number>;
			public readCharArray(param0: native.Array<string>): void;
			public readParcelableArray(param0: java.lang.ClassLoader): native.Array<android.os.Parcelable>;
			public readDoubleArray(param0: native.Array<number>): void;
			public readSparseArray(param0: java.lang.ClassLoader): android.util.SparseArray<any>;
			public writeMap(param0: java.util.Map<any,any>): void;
			public writeException(param0: java.lang.Exception): void;
			public createStringArray(): native.Array<string>;
			public writeByteArray(param0: native.Array<number>, param1: number, param2: number): void;
			public readArray(param0: java.lang.ClassLoader): native.Array<any>;
			public marshall(): native.Array<number>;
			public createFloatArray(): native.Array<number>;
			public writeString(param0: string): void;
			public readDouble(): number;
			public hasFileDescriptors(): boolean;
			public readValue(param0: java.lang.ClassLoader): any;
			public writeNoException(): void;
			public finalize(): void;
			public readStringList(param0: java.util.List<string>): void;
			public readPersistableBundle(): any;
			public writeInt(param0: number): void;
			public readLong(): number;
			public writeByte(param0: number): void;
			public readHashMap(param0: java.lang.ClassLoader): java.util.HashMap<any,any>;
			public writeDouble(param0: number): void;
			public createBooleanArray(): native.Array<boolean>;
			public readArrayList(param0: java.lang.ClassLoader): java.util.ArrayList<any>;
			public writeDoubleArray(param0: native.Array<number>): void;
			public createTypedArrayList(param0: android.os.Parcelable.Creator<any>): java.util.ArrayList<any>;
			public writeArray(param0: native.Array<any>): void;
			public createBinderArray(): native.Array<android.os.IBinder>;
			public dataAvail(): number;
			public readBinderArray(param0: native.Array<android.os.IBinder>): void;
			public writeSparseBooleanArray(param0: android.util.SparseBooleanArray): void;
		}
	}
}

declare module android {
	export module os {
		export class ParcelFileDescriptor extends java.lang.Object implements android.os.Parcelable, java.io.Closeable {
			public static class: java.lang.Class<android.os.ParcelFileDescriptor>;
			public static CREATOR: android.os.Parcelable.Creator<android.os.ParcelFileDescriptor>;
			public static MODE_APPEND: number;
			public static MODE_CREATE: number;
			public static MODE_READ_ONLY: number;
			public static MODE_READ_WRITE: number;
			public static MODE_TRUNCATE: number;
			public static MODE_WORLD_READABLE: number;
			public static MODE_WORLD_WRITEABLE: number;
			public static MODE_WRITE_ONLY: number;
			public dup(): android.os.ParcelFileDescriptor;
			public constructor(param0: android.os.ParcelFileDescriptor);
			public static open(param0: java.io.File, param1: number): android.os.ParcelFileDescriptor;
			public static fromSocket(param0: java.net.Socket): android.os.ParcelFileDescriptor;
			public canDetectErrors(): boolean;
			public static dup(param0: java.io.FileDescriptor): android.os.ParcelFileDescriptor;
			public static fromFd(param0: number): android.os.ParcelFileDescriptor;
			public getStatSize(): number;
			public getFd(): number;
			public static open(param0: java.io.File, param1: number, param2: android.os.Handler, param3: android.os.ParcelFileDescriptor.OnCloseListener): android.os.ParcelFileDescriptor;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getFileDescriptor(): java.io.FileDescriptor;
			public static parseMode(param0: string): number;
			public close(): void;
			public static adoptFd(param0: number): android.os.ParcelFileDescriptor;
			public finalize(): void;
			public static createReliableSocketPair(): native.Array<android.os.ParcelFileDescriptor>;
			public static createReliablePipe(): native.Array<android.os.ParcelFileDescriptor>;
			public static createSocketPair(): native.Array<android.os.ParcelFileDescriptor>;
			public static createPipe(): native.Array<android.os.ParcelFileDescriptor>;
			public toString(): string;
			public detachFd(): number;
			public static fromDatagramSocket(param0: java.net.DatagramSocket): android.os.ParcelFileDescriptor;
			public checkError(): void;
			public closeWithError(param0: string): void;
			public describeContents(): number;
		}
		export module ParcelFileDescriptor {
			export class AutoCloseInputStream extends java.io.FileInputStream {
				public static class: java.lang.Class<android.os.ParcelFileDescriptor.AutoCloseInputStream>;
				public close(): void;
				public read(): number;
				public read(param0: native.Array<number>): number;
				public constructor(param0: java.io.File);
				public constructor(param0: android.os.ParcelFileDescriptor);
				public constructor(param0: java.io.FileDescriptor);
				public read(param0: native.Array<number>, param1: number, param2: number): number;
				public constructor(param0: string);
				public constructor();
			}
			export class AutoCloseOutputStream extends java.io.FileOutputStream {
				public static class: java.lang.Class<android.os.ParcelFileDescriptor.AutoCloseOutputStream>;
				public close(): void;
				public constructor(param0: java.io.File, param1: boolean);
				public constructor(param0: string, param1: boolean);
				public constructor(param0: java.io.File);
				public constructor(param0: android.os.ParcelFileDescriptor);
				public constructor(param0: java.io.FileDescriptor);
				public constructor(param0: string);
				public constructor();
				public flush(): void;
			}
			export class FileDescriptorDetachedException extends java.io.IOException {
				public static class: java.lang.Class<android.os.ParcelFileDescriptor.FileDescriptorDetachedException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
			export class OnCloseListener extends java.lang.Object {
				public static class: java.lang.Class<android.os.ParcelFileDescriptor.OnCloseListener>;
				/**
				 * Constructs a new instance of the android.os.ParcelFileDescriptor$OnCloseListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onClose(param0: java.io.IOException): void;
				});
				public constructor();
				public onClose(param0: java.io.IOException): void;
			}
		}
	}
}

declare module android {
	export module os {
		export class ParcelFormatException extends java.lang.RuntimeException {
			public static class: java.lang.Class<android.os.ParcelFormatException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module android {
	export module os {
		export class ParcelUuid extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.os.ParcelUuid>;
			public static CREATOR: android.os.Parcelable.Creator<android.os.ParcelUuid>;
			public static fromString(param0: string): android.os.ParcelUuid;
			public equals(param0: any): boolean;
			public constructor(param0: java.util.UUID);
			public toString(): string;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getUuid(): java.util.UUID;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module os {
		export class Parcelable extends java.lang.Object {
			public static class: java.lang.Class<android.os.Parcelable>;
			/**
			 * Constructs a new instance of the android.os.Parcelable interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				describeContents(): number;
				writeToParcel(param0: android.os.Parcel, param1: number): void;
			});
			public constructor();
			public static PARCELABLE_WRITE_RETURN_VALUE: number;
			public static CONTENTS_FILE_DESCRIPTOR: number;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
		}
		export module Parcelable {
			export class ClassLoaderCreator<T>  extends android.os.Parcelable.Creator<any> {
				public static class: java.lang.Class<android.os.Parcelable.ClassLoaderCreator<any>>;
				/**
				 * Constructs a new instance of the android.os.Parcelable$ClassLoaderCreator interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					createFromParcel(param0: android.os.Parcel, param1: java.lang.ClassLoader): any;
					createFromParcel(param0: android.os.Parcel): any;
					newArray(param0: number): native.Array<any>;
				});
				public constructor();
				public newArray(param0: number): native.Array<any>;
				public createFromParcel(param0: android.os.Parcel, param1: java.lang.ClassLoader): any;
				public createFromParcel(param0: android.os.Parcel): any;
			}
			export class Creator<T>  extends java.lang.Object {
				public static class: java.lang.Class<android.os.Parcelable.Creator<any>>;
				/**
				 * Constructs a new instance of the android.os.Parcelable$Creator interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					createFromParcel(param0: android.os.Parcel): T;
					newArray(param0: number): native.Array<T>;
				});
				public constructor();
				public createFromParcel(param0: android.os.Parcel): T;
				public newArray(param0: number): native.Array<T>;
			}
		}
	}
}

declare module android {
	export module os {
		export class PatternMatcher extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.os.PatternMatcher>;
			public static CREATOR: android.os.Parcelable.Creator<android.os.PatternMatcher>;
			public static PATTERN_ADVANCED_GLOB: number;
			public static PATTERN_LITERAL: number;
			public static PATTERN_PREFIX: number;
			public static PATTERN_SIMPLE_GLOB: number;
			public getType(): number;
			public getPath(): string;
			public toString(): string;
			public match(param0: string): boolean;
			public constructor(param0: string, param1: number);
			public constructor(param0: android.os.Parcel);
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
		}
	}
}

declare module android {
	export module os {
		export class PersistableBundle extends android.os.BaseBundle implements java.lang.Cloneable, android.os.Parcelable {
			public static class: java.lang.Class<android.os.PersistableBundle>;
			public static CREATOR: android.os.Parcelable.Creator<any>;
			public static EMPTY: any;
			public putPersistableBundle(param0: string, param1: any): void;
			public clone(): any;
			public toString(): string;
			public getPersistableBundle(param0: string): any;
			public describeContents(): number;
			public constructor(param0: number);
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public constructor();
			public constructor(param0: any);
			public deepCopy(): any;
		}
	}
}

declare module android {
	export module os {
		export class PowerManager extends java.lang.Object {
			public static class: java.lang.Class<android.os.PowerManager>;
			public static ACQUIRE_CAUSES_WAKEUP: number;
			public static ACTION_DEVICE_IDLE_MODE_CHANGED: string;
			public static ACTION_POWER_SAVE_MODE_CHANGED: string;
			public static FULL_WAKE_LOCK: number;
			public static LOCATION_MODE_ALL_DISABLED_WHEN_SCREEN_OFF: number;
			public static LOCATION_MODE_FOREGROUND_ONLY: number;
			public static LOCATION_MODE_GPS_DISABLED_WHEN_SCREEN_OFF: number;
			public static LOCATION_MODE_NO_CHANGE: number;
			public static ON_AFTER_RELEASE: number;
			public static PARTIAL_WAKE_LOCK: number;
			public static PROXIMITY_SCREEN_OFF_WAKE_LOCK: number;
			public static RELEASE_FLAG_WAIT_FOR_NO_PROXIMITY: number;
			public static SCREEN_BRIGHT_WAKE_LOCK: number;
			public static SCREEN_DIM_WAKE_LOCK: number;
			public getLocationPowerSaveMode(): number;
			public isInteractive(): boolean;
			public reboot(param0: string): void;
			public isDeviceIdleMode(): boolean;
			public isWakeLockLevelSupported(param0: number): boolean;
			public isIgnoringBatteryOptimizations(param0: string): boolean;
			public newWakeLock(param0: number, param1: string): android.os.PowerManager.WakeLock;
			/** @deprecated */
			public isScreenOn(): boolean;
			public isPowerSaveMode(): boolean;
			public isSustainedPerformanceModeSupported(): boolean;
		}
		export module PowerManager {
			export class WakeLock extends java.lang.Object {
				public static class: java.lang.Class<android.os.PowerManager.WakeLock>;
				public release(): void;
				public isHeld(): boolean;
				public acquire(param0: number): void;
				public finalize(): void;
				public release(param0: number): void;
				public setWorkSource(param0: android.os.WorkSource): void;
				public acquire(): void;
				public toString(): string;
				public setReferenceCounted(param0: boolean): void;
			}
		}
	}
}

declare module android {
	export module os {
		export class Process extends java.lang.Object {
			public static class: java.lang.Class<android.os.Process>;
			public static FIRST_APPLICATION_UID: number;
			public static LAST_APPLICATION_UID: number;
			public static PHONE_UID: number;
			public static SIGNAL_KILL: number;
			public static SIGNAL_QUIT: number;
			public static SIGNAL_USR1: number;
			public static SYSTEM_UID: number;
			public static THREAD_PRIORITY_AUDIO: number;
			public static THREAD_PRIORITY_BACKGROUND: number;
			public static THREAD_PRIORITY_DEFAULT: number;
			public static THREAD_PRIORITY_DISPLAY: number;
			public static THREAD_PRIORITY_FOREGROUND: number;
			public static THREAD_PRIORITY_LESS_FAVORABLE: number;
			public static THREAD_PRIORITY_LOWEST: number;
			public static THREAD_PRIORITY_MORE_FAVORABLE: number;
			public static THREAD_PRIORITY_URGENT_AUDIO: number;
			public static THREAD_PRIORITY_URGENT_DISPLAY: number;
			public static THREAD_PRIORITY_VIDEO: number;
			/** @deprecated */
			public static supportsProcesses(): boolean;
			public static getStartUptimeMillis(): number;
			public static isApplicationUid(param0: number): boolean;
			public constructor();
			public static setThreadPriority(param0: number): void;
			public static myPid(): number;
			public static myUserHandle(): android.os.UserHandle;
			public static is64Bit(): boolean;
			public static getStartElapsedRealtime(): number;
			public static sendSignal(param0: number, param1: number): void;
			public static getElapsedCpuTime(): number;
			public static myTid(): number;
			public static getUidForName(param0: string): number;
			public static myUid(): number;
			public static getThreadPriority(param0: number): number;
			public static isIsolated(): boolean;
			public static getGidForName(param0: string): number;
			public static setThreadPriority(param0: number, param1: number): void;
			public static getExclusiveCores(): native.Array<number>;
			public static killProcess(param0: number): void;
		}
	}
}

declare module android {
	export module os {
		export abstract class ProxyFileDescriptorCallback extends java.lang.Object {
			public static class: java.lang.Class<android.os.ProxyFileDescriptorCallback>;
			public onGetSize(): number;
			public onRelease(): void;
			public onRead(param0: number, param1: number, param2: native.Array<number>): number;
			public onFsync(): void;
			public constructor();
			public onWrite(param0: number, param1: number, param2: native.Array<number>): number;
		}
	}
}

declare module android {
	export module os {
		export class RecoverySystem extends java.lang.Object {
			public static class: java.lang.Class<android.os.RecoverySystem>;
			public static rebootWipeUserData(param0: android.content.Context): void;
			public static installPackage(param0: android.content.Context, param1: java.io.File): void;
			public static verifyPackage(param0: java.io.File, param1: android.os.RecoverySystem.ProgressListener, param2: java.io.File): void;
			public static rebootWipeCache(param0: android.content.Context): void;
		}
		export module RecoverySystem {
			export class ProgressListener extends java.lang.Object {
				public static class: java.lang.Class<android.os.RecoverySystem.ProgressListener>;
				/**
				 * Constructs a new instance of the android.os.RecoverySystem$ProgressListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onProgress(param0: number): void;
				});
				public constructor();
				public onProgress(param0: number): void;
			}
		}
	}
}

declare module android {
	export module os {
		export class RemoteCallbackList<E>  extends java.lang.Object {
			public static class: java.lang.Class<android.os.RemoteCallbackList<any>>;
			public getRegisteredCallbackItem(param0: number): E;
			public getRegisteredCallbackCount(): number;
			public getBroadcastCookie(param0: number): any;
			public constructor();
			public getRegisteredCallbackCookie(param0: number): any;
			public kill(): void;
			public unregister(param0: E): boolean;
			public onCallbackDied(param0: E, param1: any): void;
			public register(param0: E): boolean;
			public register(param0: E, param1: any): boolean;
			public getBroadcastItem(param0: number): E;
			public finishBroadcast(): void;
			public onCallbackDied(param0: E): void;
			public beginBroadcast(): number;
		}
	}
}

declare module android {
	export module os {
		export class RemoteException extends android.util.AndroidException {
			public static class: java.lang.Class<android.os.RemoteException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
			public constructor(param0: java.lang.Exception);
		}
	}
}

declare module android {
	export module os {
		export class ResultReceiver extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.os.ResultReceiver>;
			public static CREATOR: android.os.Parcelable.Creator<android.os.ResultReceiver>;
			public onReceiveResult(param0: number, param1: android.os.Bundle): void;
			public constructor(param0: android.os.Handler);
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public send(param0: number, param1: android.os.Bundle): void;
		}
	}
}

declare module android {
	export module os {
		export class SharedMemory extends java.lang.Object implements android.os.Parcelable, java.io.Closeable {
			public static class: java.lang.Class<android.os.SharedMemory>;
			public static CREATOR: android.os.Parcelable.Creator<android.os.SharedMemory>;
			public mapReadWrite(): java.nio.ByteBuffer;
			public mapReadOnly(): java.nio.ByteBuffer;
			public static unmap(param0: java.nio.ByteBuffer): void;
			public setProtect(param0: number): boolean;
			public describeContents(): number;
			public static create(param0: string, param1: number): android.os.SharedMemory;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public map(param0: number, param1: number, param2: number): java.nio.ByteBuffer;
			public getSize(): number;
			public close(): void;
		}
	}
}

declare module android {
	export module os {
		export class StatFs extends java.lang.Object {
			public static class: java.lang.Class<android.os.StatFs>;
			/** @deprecated */
			public getBlockCount(): number;
			public getFreeBytes(): number;
			public getBlockSizeLong(): number;
			public restat(param0: string): void;
			public getAvailableBlocksLong(): number;
			public getFreeBlocksLong(): number;
			/** @deprecated */
			public getAvailableBlocks(): number;
			/** @deprecated */
			public getFreeBlocks(): number;
			public getAvailableBytes(): number;
			public constructor(param0: string);
			/** @deprecated */
			public getBlockSize(): number;
			public getBlockCountLong(): number;
			public getTotalBytes(): number;
		}
	}
}

declare module android {
	export module os {
		export class StrictMode extends java.lang.Object {
			public static class: java.lang.Class<android.os.StrictMode>;
			public static getThreadPolicy(): android.os.StrictMode.ThreadPolicy;
			public static allowThreadDiskWrites(): android.os.StrictMode.ThreadPolicy;
			public static enableDefaults(): void;
			public static noteSlowCall(param0: string): void;
			public static setThreadPolicy(param0: android.os.StrictMode.ThreadPolicy): void;
			public static getVmPolicy(): android.os.StrictMode.VmPolicy;
			public static allowThreadDiskReads(): android.os.StrictMode.ThreadPolicy;
			public static setVmPolicy(param0: android.os.StrictMode.VmPolicy): void;
		}
		export module StrictMode {
			export class OnThreadViolationListener extends java.lang.Object {
				public static class: java.lang.Class<android.os.StrictMode.OnThreadViolationListener>;
				/**
				 * Constructs a new instance of the android.os.StrictMode$OnThreadViolationListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onThreadViolation(param0: android.os.strictmode.Violation): void;
				});
				public constructor();
				public onThreadViolation(param0: android.os.strictmode.Violation): void;
			}
			export class OnVmViolationListener extends java.lang.Object {
				public static class: java.lang.Class<android.os.StrictMode.OnVmViolationListener>;
				/**
				 * Constructs a new instance of the android.os.StrictMode$OnVmViolationListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onVmViolation(param0: android.os.strictmode.Violation): void;
				});
				public constructor();
				public onVmViolation(param0: android.os.strictmode.Violation): void;
			}
			export class ThreadPolicy extends java.lang.Object {
				public static class: java.lang.Class<android.os.StrictMode.ThreadPolicy>;
				public static LAX: android.os.StrictMode.ThreadPolicy;
				public toString(): string;
			}
			export module ThreadPolicy {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.os.StrictMode.ThreadPolicy.Builder>;
					public penaltyLog(): android.os.StrictMode.ThreadPolicy.Builder;
					public detectNetwork(): android.os.StrictMode.ThreadPolicy.Builder;
					public detectResourceMismatches(): android.os.StrictMode.ThreadPolicy.Builder;
					public permitUnbufferedIo(): android.os.StrictMode.ThreadPolicy.Builder;
					public permitDiskReads(): android.os.StrictMode.ThreadPolicy.Builder;
					public detectDiskWrites(): android.os.StrictMode.ThreadPolicy.Builder;
					public penaltyDialog(): android.os.StrictMode.ThreadPolicy.Builder;
					public penaltyDeathOnNetwork(): android.os.StrictMode.ThreadPolicy.Builder;
					public detectCustomSlowCalls(): android.os.StrictMode.ThreadPolicy.Builder;
					public constructor(param0: android.os.StrictMode.ThreadPolicy);
					public penaltyListener(param0: java.util.concurrent.Executor, param1: android.os.StrictMode.OnThreadViolationListener): android.os.StrictMode.ThreadPolicy.Builder;
					public penaltyDropBox(): android.os.StrictMode.ThreadPolicy.Builder;
					public penaltyFlashScreen(): android.os.StrictMode.ThreadPolicy.Builder;
					public detectDiskReads(): android.os.StrictMode.ThreadPolicy.Builder;
					public permitAll(): android.os.StrictMode.ThreadPolicy.Builder;
					public permitDiskWrites(): android.os.StrictMode.ThreadPolicy.Builder;
					public penaltyDeath(): android.os.StrictMode.ThreadPolicy.Builder;
					public detectAll(): android.os.StrictMode.ThreadPolicy.Builder;
					public permitCustomSlowCalls(): android.os.StrictMode.ThreadPolicy.Builder;
					public constructor();
					public permitResourceMismatches(): android.os.StrictMode.ThreadPolicy.Builder;
					public detectUnbufferedIo(): android.os.StrictMode.ThreadPolicy.Builder;
					public build(): android.os.StrictMode.ThreadPolicy;
					public permitNetwork(): android.os.StrictMode.ThreadPolicy.Builder;
				}
			}
			export class VmPolicy extends java.lang.Object {
				public static class: java.lang.Class<android.os.StrictMode.VmPolicy>;
				public static LAX: android.os.StrictMode.VmPolicy;
				public toString(): string;
			}
			export module VmPolicy {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.os.StrictMode.VmPolicy.Builder>;
					public build(): android.os.StrictMode.VmPolicy;
					public setClassInstanceLimit(param0: java.lang.Class<any>, param1: number): android.os.StrictMode.VmPolicy.Builder;
					public detectActivityLeaks(): android.os.StrictMode.VmPolicy.Builder;
					public penaltyDeath(): android.os.StrictMode.VmPolicy.Builder;
					public penaltyDeathOnFileUriExposure(): android.os.StrictMode.VmPolicy.Builder;
					public detectCleartextNetwork(): android.os.StrictMode.VmPolicy.Builder;
					public detectContentUriWithoutPermission(): android.os.StrictMode.VmPolicy.Builder;
					public detectLeakedSqlLiteObjects(): android.os.StrictMode.VmPolicy.Builder;
					public penaltyLog(): android.os.StrictMode.VmPolicy.Builder;
					public detectNonSdkApiUsage(): android.os.StrictMode.VmPolicy.Builder;
					public detectFileUriExposure(): android.os.StrictMode.VmPolicy.Builder;
					public penaltyDropBox(): android.os.StrictMode.VmPolicy.Builder;
					public detectAll(): android.os.StrictMode.VmPolicy.Builder;
					public penaltyListener(param0: java.util.concurrent.Executor, param1: android.os.StrictMode.OnVmViolationListener): android.os.StrictMode.VmPolicy.Builder;
					public detectUntaggedSockets(): android.os.StrictMode.VmPolicy.Builder;
					public permitNonSdkApiUsage(): android.os.StrictMode.VmPolicy.Builder;
					public constructor();
					public detectLeakedClosableObjects(): android.os.StrictMode.VmPolicy.Builder;
					public detectLeakedRegistrationObjects(): android.os.StrictMode.VmPolicy.Builder;
					public penaltyDeathOnCleartextNetwork(): android.os.StrictMode.VmPolicy.Builder;
					public constructor(param0: android.os.StrictMode.VmPolicy);
				}
			}
		}
	}
}

declare module android {
	export module os {
		export class SystemClock extends java.lang.Object {
			public static class: java.lang.Class<android.os.SystemClock>;
			public static currentThreadTimeMillis(): number;
			public static uptimeMillis(): number;
			public static sleep(param0: number): void;
			public static setCurrentTimeMillis(param0: number): boolean;
			public static elapsedRealtimeNanos(): number;
			public static elapsedRealtime(): number;
		}
	}
}

declare module android {
	export module os {
		export class TestLooperManager extends java.lang.Object {
			public static class: java.lang.Class<android.os.TestLooperManager>;
			public getMessageQueue(): android.os.MessageQueue;
			public recycle(param0: android.os.Message): void;
			public hasMessages(param0: android.os.Handler, param1: any, param2: java.lang.Runnable): boolean;
			public execute(param0: android.os.Message): void;
			public next(): android.os.Message;
			public hasMessages(param0: android.os.Handler, param1: any, param2: number): boolean;
			public release(): void;
		}
	}
}

declare module android {
	export module os {
		export abstract class TokenWatcher extends java.lang.Object {
			public static class: java.lang.Class<android.os.TokenWatcher>;
			public dump(param0: java.io.PrintWriter): void;
			public cleanup(param0: android.os.IBinder, param1: boolean): void;
			public isAcquired(): boolean;
			public release(param0: android.os.IBinder): void;
			public constructor(param0: android.os.Handler, param1: string);
			public acquired(): void;
			public released(): void;
			public acquire(param0: android.os.IBinder, param1: string): void;
			public dump(): void;
		}
	}
}

declare module android {
	export module os {
		export class Trace extends java.lang.Object {
			public static class: java.lang.Class<android.os.Trace>;
			public static endSection(): void;
			public static beginSection(param0: string): void;
		}
	}
}

declare module android {
	export module os {
		export class TransactionTooLargeException extends android.os.RemoteException {
			public static class: java.lang.Class<android.os.TransactionTooLargeException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
			public constructor(param0: java.lang.Exception);
		}
	}
}

declare module android {
	export module os {
		export class UserHandle extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.os.UserHandle>;
			public static CREATOR: android.os.Parcelable.Creator<android.os.UserHandle>;
			public equals(param0: any): boolean;
			public toString(): string;
			public static writeToParcel(param0: android.os.UserHandle, param1: android.os.Parcel): void;
			public constructor(param0: android.os.Parcel);
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public static getUserHandleForUid(param0: number): android.os.UserHandle;
			public static readFromParcel(param0: android.os.Parcel): android.os.UserHandle;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module os {
		export class UserManager extends java.lang.Object {
			public static class: java.lang.Class<android.os.UserManager>;
			public static ALLOW_PARENT_PROFILE_APP_LINKING: string;
			public static DISALLOW_ADD_MANAGED_PROFILE: string;
			public static DISALLOW_ADD_USER: string;
			public static DISALLOW_ADJUST_VOLUME: string;
			public static DISALLOW_AIRPLANE_MODE: string;
			public static DISALLOW_AMBIENT_DISPLAY: string;
			public static DISALLOW_APPS_CONTROL: string;
			public static DISALLOW_AUTOFILL: string;
			public static DISALLOW_BLUETOOTH: string;
			public static DISALLOW_BLUETOOTH_SHARING: string;
			public static DISALLOW_CONFIG_BLUETOOTH: string;
			public static DISALLOW_CONFIG_BRIGHTNESS: string;
			public static DISALLOW_CONFIG_CELL_BROADCASTS: string;
			public static DISALLOW_CONFIG_CREDENTIALS: string;
			public static DISALLOW_CONFIG_DATE_TIME: string;
			public static DISALLOW_CONFIG_LOCALE: string;
			public static DISALLOW_CONFIG_LOCATION: string;
			public static DISALLOW_CONFIG_MOBILE_NETWORKS: string;
			public static DISALLOW_CONFIG_SCREEN_TIMEOUT: string;
			public static DISALLOW_CONFIG_TETHERING: string;
			public static DISALLOW_CONFIG_VPN: string;
			public static DISALLOW_CONFIG_WIFI: string;
			public static DISALLOW_CREATE_WINDOWS: string;
			public static DISALLOW_CROSS_PROFILE_COPY_PASTE: string;
			public static DISALLOW_DATA_ROAMING: string;
			public static DISALLOW_DEBUGGING_FEATURES: string;
			public static DISALLOW_FACTORY_RESET: string;
			public static DISALLOW_FUN: string;
			public static DISALLOW_INSTALL_APPS: string;
			public static DISALLOW_INSTALL_UNKNOWN_SOURCES: string;
			public static DISALLOW_MODIFY_ACCOUNTS: string;
			public static DISALLOW_MOUNT_PHYSICAL_MEDIA: string;
			public static DISALLOW_NETWORK_RESET: string;
			public static DISALLOW_OUTGOING_BEAM: string;
			public static DISALLOW_OUTGOING_CALLS: string;
			public static DISALLOW_PRINTING: string;
			public static DISALLOW_REMOVE_MANAGED_PROFILE: string;
			public static DISALLOW_REMOVE_USER: string;
			public static DISALLOW_SAFE_BOOT: string;
			public static DISALLOW_SET_USER_ICON: string;
			public static DISALLOW_SET_WALLPAPER: string;
			public static DISALLOW_SHARE_INTO_MANAGED_PROFILE: string;
			public static DISALLOW_SHARE_LOCATION: string;
			public static DISALLOW_SMS: string;
			public static DISALLOW_SYSTEM_ERROR_DIALOGS: string;
			public static DISALLOW_UNIFIED_PASSWORD: string;
			public static DISALLOW_UNINSTALL_APPS: string;
			public static DISALLOW_UNMUTE_MICROPHONE: string;
			public static DISALLOW_USB_FILE_TRANSFER: string;
			public static DISALLOW_USER_SWITCH: string;
			public static ENSURE_VERIFY_APPS: string;
			public static KEY_RESTRICTIONS_PENDING: string;
			public static USER_CREATION_FAILED_NOT_PERMITTED: number;
			public static USER_CREATION_FAILED_NO_MORE_USERS: number;
			public static USER_OPERATION_ERROR_CURRENT_USER: number;
			public static USER_OPERATION_ERROR_LOW_STORAGE: number;
			public static USER_OPERATION_ERROR_MANAGED_PROFILE: number;
			public static USER_OPERATION_ERROR_MAX_RUNNING_USERS: number;
			public static USER_OPERATION_ERROR_MAX_USERS: number;
			public static USER_OPERATION_ERROR_UNKNOWN: number;
			public static USER_OPERATION_SUCCESS: number;
			/** @deprecated */
			public setUserRestrictions(param0: android.os.Bundle, param1: android.os.UserHandle): void;
			public isUserRunningOrStopping(param0: android.os.UserHandle): boolean;
			public getUserCount(): number;
			public isUserUnlocked(): boolean;
			public getUserRestrictions(): android.os.Bundle;
			public static createUserCreationIntent(param0: string, param1: string, param2: string, param3: any): android.content.Intent;
			public getSerialNumberForUser(param0: android.os.UserHandle): number;
			/** @deprecated */
			public setRestrictionsChallenge(param0: string): boolean;
			/** @deprecated */
			public setUserRestrictions(param0: android.os.Bundle): void;
			public getUserRestrictions(param0: android.os.UserHandle): android.os.Bundle;
			public isUserUnlocked(param0: android.os.UserHandle): boolean;
			public hasUserRestriction(param0: string): boolean;
			public getApplicationRestrictions(param0: string): android.os.Bundle;
			public isUserRunning(param0: android.os.UserHandle): boolean;
			public static supportsMultipleUsers(): boolean;
			/** @deprecated */
			public setUserRestriction(param0: string, param1: boolean): void;
			public getUserCreationTime(param0: android.os.UserHandle): number;
			public isDemoUser(): boolean;
			public isUserAGoat(): boolean;
			public isSystemUser(): boolean;
			public getUserName(): string;
			public getUserForSerialNumber(param0: number): android.os.UserHandle;
			public getUserProfiles(): java.util.List<android.os.UserHandle>;
			public requestQuietModeEnabled(param0: boolean, param1: android.os.UserHandle): boolean;
			public isQuietModeEnabled(param0: android.os.UserHandle): boolean;
		}
		export module UserManager {
			export class UserOperationException extends java.lang.RuntimeException {
				public static class: java.lang.Class<android.os.UserManager.UserOperationException>;
				public getUserOperationResult(): number;
			}
		}
	}
}

declare module android {
	export module os {
		export abstract class VibrationEffect extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.os.VibrationEffect>;
			public static CREATOR: android.os.Parcelable.Creator<android.os.VibrationEffect>;
			public static DEFAULT_AMPLITUDE: number;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public static createWaveform(param0: native.Array<number>, param1: native.Array<number>, param2: number): android.os.VibrationEffect;
			public static createWaveform(param0: native.Array<number>, param1: number): android.os.VibrationEffect;
			public static createOneShot(param0: number, param1: number): android.os.VibrationEffect;
		}
	}
}

declare module android {
	export module os {
		export abstract class Vibrator extends java.lang.Object {
			public static class: java.lang.Class<android.os.Vibrator>;
			/** @deprecated */
			public vibrate(param0: number): void;
			/** @deprecated */
			public vibrate(param0: native.Array<number>, param1: number): void;
			public vibrate(param0: android.os.VibrationEffect): void;
			/** @deprecated */
			public vibrate(param0: number, param1: any): void;
			/** @deprecated */
			public vibrate(param0: native.Array<number>, param1: number, param2: any): void;
			public cancel(): void;
			public vibrate(param0: android.os.VibrationEffect, param1: any): void;
			public hasVibrator(): boolean;
			public hasAmplitudeControl(): boolean;
		}
	}
}

declare module android {
	export module os {
		export class WorkSource extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.os.WorkSource>;
			public static CREATOR: android.os.Parcelable.Creator<android.os.WorkSource>;
			public clear(): void;
			public equals(param0: any): boolean;
			public diff(param0: android.os.WorkSource): boolean;
			public toString(): string;
			public add(param0: android.os.WorkSource): boolean;
			public describeContents(): number;
			public constructor(param0: android.os.WorkSource);
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public constructor();
			public set(param0: android.os.WorkSource): void;
			public remove(param0: android.os.WorkSource): boolean;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module os {
		export module health {
			export class HealthStats extends java.lang.Object {
				public static class: java.lang.Class<android.os.health.HealthStats>;
				public getMeasurement(param0: number): number;
				public getTimerTime(param0: number): number;
				public hasMeasurements(param0: number): boolean;
				public getTimer(param0: number): android.os.health.TimerStat;
				public getTimersKeyAt(param0: number): number;
				public hasStats(param0: number): boolean;
				public getStatsKeyCount(): number;
				public getTimerCount(param0: number): number;
				public hasMeasurement(param0: number): boolean;
				public getTimers(param0: number): java.util.Map<string,android.os.health.TimerStat>;
				public getDataType(): string;
				public getMeasurementKeyAt(param0: number): number;
				public getMeasurementsKeyAt(param0: number): number;
				public getTimerKeyCount(): number;
				public getMeasurementKeyCount(): number;
				public getTimersKeyCount(): number;
				public getMeasurementsKeyCount(): number;
				public getStats(param0: number): java.util.Map<string,android.os.health.HealthStats>;
				public getTimerKeyAt(param0: number): number;
				public hasTimer(param0: number): boolean;
				public getStatsKeyAt(param0: number): number;
				public hasTimers(param0: number): boolean;
				public getMeasurements(param0: number): java.util.Map<string,java.lang.Long>;
			}
		}
	}
}

declare module android {
	export module os {
		export module health {
			export class PackageHealthStats extends java.lang.Object {
				public static class: java.lang.Class<android.os.health.PackageHealthStats>;
				public static MEASUREMENTS_WAKEUP_ALARMS_COUNT: number;
				public static STATS_SERVICES: number;
			}
		}
	}
}

declare module android {
	export module os {
		export module health {
			export class PidHealthStats extends java.lang.Object {
				public static class: java.lang.Class<android.os.health.PidHealthStats>;
				public static MEASUREMENT_WAKE_NESTING_COUNT: number;
				public static MEASUREMENT_WAKE_START_MS: number;
				public static MEASUREMENT_WAKE_SUM_MS: number;
			}
		}
	}
}

declare module android {
	export module os {
		export module health {
			export class ProcessHealthStats extends java.lang.Object {
				public static class: java.lang.Class<android.os.health.ProcessHealthStats>;
				public static MEASUREMENT_ANR_COUNT: number;
				public static MEASUREMENT_CRASHES_COUNT: number;
				public static MEASUREMENT_FOREGROUND_MS: number;
				public static MEASUREMENT_STARTS_COUNT: number;
				public static MEASUREMENT_SYSTEM_TIME_MS: number;
				public static MEASUREMENT_USER_TIME_MS: number;
			}
		}
	}
}

declare module android {
	export module os {
		export module health {
			export class ServiceHealthStats extends java.lang.Object {
				public static class: java.lang.Class<android.os.health.ServiceHealthStats>;
				public static MEASUREMENT_LAUNCH_COUNT: number;
				public static MEASUREMENT_START_SERVICE_COUNT: number;
			}
		}
	}
}

declare module android {
	export module os {
		export module health {
			export class SystemHealthManager extends java.lang.Object {
				public static class: java.lang.Class<android.os.health.SystemHealthManager>;
				public takeMyUidSnapshot(): android.os.health.HealthStats;
				public takeUidSnapshots(param0: native.Array<number>): native.Array<android.os.health.HealthStats>;
				public takeUidSnapshot(param0: number): android.os.health.HealthStats;
			}
		}
	}
}

declare module android {
	export module os {
		export module health {
			export class TimerStat extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.os.health.TimerStat>;
				public static CREATOR: android.os.Parcelable.Creator<android.os.health.TimerStat>;
				public constructor(param0: number, param1: number);
				public constructor(param0: android.os.Parcel);
				public setCount(param0: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getCount(): number;
				public setTime(param0: number): void;
				public getTime(): number;
				public constructor();
			}
		}
	}
}

declare module android {
	export module os {
		export module health {
			export class UidHealthStats extends java.lang.Object {
				public static class: java.lang.Class<android.os.health.UidHealthStats>;
				public static MEASUREMENT_BLUETOOTH_IDLE_MS: number;
				public static MEASUREMENT_BLUETOOTH_POWER_MAMS: number;
				public static MEASUREMENT_BLUETOOTH_RX_BYTES: number;
				public static MEASUREMENT_BLUETOOTH_RX_MS: number;
				public static MEASUREMENT_BLUETOOTH_RX_PACKETS: number;
				public static MEASUREMENT_BLUETOOTH_TX_BYTES: number;
				public static MEASUREMENT_BLUETOOTH_TX_MS: number;
				public static MEASUREMENT_BLUETOOTH_TX_PACKETS: number;
				public static MEASUREMENT_BUTTON_USER_ACTIVITY_COUNT: number;
				public static MEASUREMENT_CPU_POWER_MAMS: number;
				public static MEASUREMENT_MOBILE_IDLE_MS: number;
				public static MEASUREMENT_MOBILE_POWER_MAMS: number;
				public static MEASUREMENT_MOBILE_RX_BYTES: number;
				public static MEASUREMENT_MOBILE_RX_MS: number;
				public static MEASUREMENT_MOBILE_RX_PACKETS: number;
				public static MEASUREMENT_MOBILE_TX_BYTES: number;
				public static MEASUREMENT_MOBILE_TX_MS: number;
				public static MEASUREMENT_MOBILE_TX_PACKETS: number;
				public static MEASUREMENT_OTHER_USER_ACTIVITY_COUNT: number;
				public static MEASUREMENT_REALTIME_BATTERY_MS: number;
				public static MEASUREMENT_REALTIME_SCREEN_OFF_BATTERY_MS: number;
				public static MEASUREMENT_SYSTEM_CPU_TIME_MS: number;
				public static MEASUREMENT_TOUCH_USER_ACTIVITY_COUNT: number;
				public static MEASUREMENT_UPTIME_BATTERY_MS: number;
				public static MEASUREMENT_UPTIME_SCREEN_OFF_BATTERY_MS: number;
				public static MEASUREMENT_USER_CPU_TIME_MS: number;
				public static MEASUREMENT_WIFI_FULL_LOCK_MS: number;
				public static MEASUREMENT_WIFI_IDLE_MS: number;
				public static MEASUREMENT_WIFI_MULTICAST_MS: number;
				public static MEASUREMENT_WIFI_POWER_MAMS: number;
				public static MEASUREMENT_WIFI_RUNNING_MS: number;
				public static MEASUREMENT_WIFI_RX_BYTES: number;
				public static MEASUREMENT_WIFI_RX_MS: number;
				public static MEASUREMENT_WIFI_RX_PACKETS: number;
				public static MEASUREMENT_WIFI_TX_BYTES: number;
				public static MEASUREMENT_WIFI_TX_MS: number;
				public static MEASUREMENT_WIFI_TX_PACKETS: number;
				public static STATS_PACKAGES: number;
				public static STATS_PIDS: number;
				public static STATS_PROCESSES: number;
				public static TIMERS_JOBS: number;
				public static TIMERS_SENSORS: number;
				public static TIMERS_SYNCS: number;
				public static TIMERS_WAKELOCKS_DRAW: number;
				public static TIMERS_WAKELOCKS_FULL: number;
				public static TIMERS_WAKELOCKS_PARTIAL: number;
				public static TIMERS_WAKELOCKS_WINDOW: number;
				public static TIMER_AUDIO: number;
				public static TIMER_BLUETOOTH_SCAN: number;
				public static TIMER_CAMERA: number;
				public static TIMER_FLASHLIGHT: number;
				public static TIMER_FOREGROUND_ACTIVITY: number;
				public static TIMER_GPS_SENSOR: number;
				public static TIMER_MOBILE_RADIO_ACTIVE: number;
				public static TIMER_PROCESS_STATE_BACKGROUND_MS: number;
				public static TIMER_PROCESS_STATE_CACHED_MS: number;
				public static TIMER_PROCESS_STATE_FOREGROUND_MS: number;
				public static TIMER_PROCESS_STATE_FOREGROUND_SERVICE_MS: number;
				public static TIMER_PROCESS_STATE_TOP_MS: number;
				public static TIMER_PROCESS_STATE_TOP_SLEEPING_MS: number;
				public static TIMER_VIBRATOR: number;
				public static TIMER_VIDEO: number;
				public static TIMER_WIFI_SCAN: number;
			}
		}
	}
}

declare module android {
	export module os {
		export module storage {
			export abstract class OnObbStateChangeListener extends java.lang.Object {
				public static class: java.lang.Class<android.os.storage.OnObbStateChangeListener>;
				public static ERROR_ALREADY_MOUNTED: number;
				public static ERROR_COULD_NOT_MOUNT: number;
				public static ERROR_COULD_NOT_UNMOUNT: number;
				public static ERROR_INTERNAL: number;
				public static ERROR_NOT_MOUNTED: number;
				public static ERROR_PERMISSION_DENIED: number;
				public static MOUNTED: number;
				public static UNMOUNTED: number;
				public onObbStateChange(param0: string, param1: number): void;
				public constructor();
			}
		}
	}
}

declare module android {
	export module os {
		export module storage {
			export class StorageManager extends java.lang.Object {
				public static class: java.lang.Class<android.os.storage.StorageManager>;
				public static ACTION_MANAGE_STORAGE: string;
				public static EXTRA_REQUESTED_BYTES: string;
				public static EXTRA_UUID: string;
				public static UUID_DEFAULT: java.util.UUID;
				public getCacheSizeBytes(param0: java.util.UUID): number;
				public isAllocationSupported(param0: java.io.FileDescriptor): boolean;
				public allocateBytes(param0: java.util.UUID, param1: number): void;
				public isCacheBehaviorGroup(param0: java.io.File): boolean;
				public setCacheBehaviorTombstone(param0: java.io.File, param1: boolean): void;
				public openProxyFileDescriptor(param0: number, param1: android.os.ProxyFileDescriptorCallback, param2: android.os.Handler): android.os.ParcelFileDescriptor;
				public getStorageVolumes(): java.util.List<android.os.storage.StorageVolume>;
				public setCacheBehaviorGroup(param0: java.io.File, param1: boolean): void;
				public mountObb(param0: string, param1: string, param2: android.os.storage.OnObbStateChangeListener): boolean;
				public getMountedObbPath(param0: string): string;
				public isEncrypted(param0: java.io.File): boolean;
				public allocateBytes(param0: java.io.FileDescriptor, param1: number): void;
				public getPrimaryStorageVolume(): android.os.storage.StorageVolume;
				public getCacheQuotaBytes(param0: java.util.UUID): number;
				public isObbMounted(param0: string): boolean;
				public getStorageVolume(param0: java.io.File): android.os.storage.StorageVolume;
				public getAllocatableBytes(param0: java.util.UUID): number;
				public isCacheBehaviorTombstone(param0: java.io.File): boolean;
				public unmountObb(param0: string, param1: boolean, param2: android.os.storage.OnObbStateChangeListener): boolean;
				public getUuidForPath(param0: java.io.File): java.util.UUID;
			}
		}
	}
}

declare module android {
	export module os {
		export module storage {
			export class StorageVolume extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.os.storage.StorageVolume>;
				public static CREATOR: android.os.Parcelable.Creator<android.os.storage.StorageVolume>;
				public static EXTRA_STORAGE_VOLUME: string;
				public getUuid(): string;
				public isRemovable(): boolean;
				public getDescription(param0: android.content.Context): string;
				public getState(): string;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public equals(param0: any): boolean;
				public describeContents(): number;
				public isEmulated(): boolean;
				public toString(): string;
				public isPrimary(): boolean;
				public createAccessIntent(param0: string): android.content.Intent;
			}
		}
	}
}

declare module android {
	export module os {
		export module strictmode {
			export class CleartextNetworkViolation extends android.os.strictmode.Violation {
				public static class: java.lang.Class<android.os.strictmode.CleartextNetworkViolation>;
			}
		}
	}
}

declare module android {
	export module os {
		export module strictmode {
			export class ContentUriWithoutPermissionViolation extends android.os.strictmode.Violation {
				public static class: java.lang.Class<android.os.strictmode.ContentUriWithoutPermissionViolation>;
			}
		}
	}
}

declare module android {
	export module os {
		export module strictmode {
			export class CustomViolation extends android.os.strictmode.Violation {
				public static class: java.lang.Class<android.os.strictmode.CustomViolation>;
			}
		}
	}
}

declare module android {
	export module os {
		export module strictmode {
			export class DiskReadViolation extends android.os.strictmode.Violation {
				public static class: java.lang.Class<android.os.strictmode.DiskReadViolation>;
			}
		}
	}
}

declare module android {
	export module os {
		export module strictmode {
			export class DiskWriteViolation extends android.os.strictmode.Violation {
				public static class: java.lang.Class<android.os.strictmode.DiskWriteViolation>;
			}
		}
	}
}

declare module android {
	export module os {
		export module strictmode {
			export class FileUriExposedViolation extends android.os.strictmode.Violation {
				public static class: java.lang.Class<android.os.strictmode.FileUriExposedViolation>;
			}
		}
	}
}

declare module android {
	export module os {
		export module strictmode {
			export class InstanceCountViolation extends android.os.strictmode.Violation {
				public static class: java.lang.Class<android.os.strictmode.InstanceCountViolation>;
				public getNumberOfInstances(): number;
			}
		}
	}
}

declare module android {
	export module os {
		export module strictmode {
			export class IntentReceiverLeakedViolation extends android.os.strictmode.Violation {
				public static class: java.lang.Class<android.os.strictmode.IntentReceiverLeakedViolation>;
			}
		}
	}
}

declare module android {
	export module os {
		export module strictmode {
			export class LeakedClosableViolation extends android.os.strictmode.Violation {
				public static class: java.lang.Class<android.os.strictmode.LeakedClosableViolation>;
			}
		}
	}
}

declare module android {
	export module os {
		export module strictmode {
			export class NetworkViolation extends android.os.strictmode.Violation {
				public static class: java.lang.Class<android.os.strictmode.NetworkViolation>;
			}
		}
	}
}

declare module android {
	export module os {
		export module strictmode {
			export class NonSdkApiUsedViolation extends android.os.strictmode.Violation {
				public static class: java.lang.Class<android.os.strictmode.NonSdkApiUsedViolation>;
			}
		}
	}
}

declare module android {
	export module os {
		export module strictmode {
			export class ResourceMismatchViolation extends android.os.strictmode.Violation {
				public static class: java.lang.Class<android.os.strictmode.ResourceMismatchViolation>;
			}
		}
	}
}

declare module android {
	export module os {
		export module strictmode {
			export class ServiceConnectionLeakedViolation extends android.os.strictmode.Violation {
				public static class: java.lang.Class<android.os.strictmode.ServiceConnectionLeakedViolation>;
			}
		}
	}
}

declare module android {
	export module os {
		export module strictmode {
			export class SqliteObjectLeakedViolation extends android.os.strictmode.Violation {
				public static class: java.lang.Class<android.os.strictmode.SqliteObjectLeakedViolation>;
			}
		}
	}
}

declare module android {
	export module os {
		export module strictmode {
			export class UnbufferedIoViolation extends android.os.strictmode.Violation {
				public static class: java.lang.Class<android.os.strictmode.UnbufferedIoViolation>;
			}
		}
	}
}

declare module android {
	export module os {
		export module strictmode {
			export class UntaggedSocketViolation extends android.os.strictmode.Violation {
				public static class: java.lang.Class<android.os.strictmode.UntaggedSocketViolation>;
			}
		}
	}
}

declare module android {
	export module os {
		export module strictmode {
			export abstract class Violation extends java.lang.Throwable {
				public static class: java.lang.Class<android.os.strictmode.Violation>;
			}
		}
	}
}

declare module android {
	export module os {
		export module strictmode {
			export class WebViewMethodCalledOnWrongThreadViolation extends android.os.strictmode.Violation {
				public static class: java.lang.Class<android.os.strictmode.WebViewMethodCalledOnWrongThreadViolation>;
			}
		}
	}
}

declare module android {
	export module preference {
		export class CheckBoxPreference extends android.preference.TwoStatePreference {
			public static class: java.lang.Class<android.preference.CheckBoxPreference>;
			public onBindView(param0: android.view.View): void;
			public constructor(param0: android.content.Context);
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
		}
	}
}

declare module android {
	export module preference {
		export abstract class DialogPreference extends android.preference.Preference implements android.content.DialogInterface.OnClickListener, android.content.DialogInterface.OnDismissListener, android.preference.PreferenceManager.OnActivityDestroyListener {
			public static class: java.lang.Class<android.preference.DialogPreference>;
			public onClick(): void;
			public onClick(param0: android.content.DialogInterface, param1: number): void;
			public setDialogMessage(param0: number): void;
			public setDialogTitle(param0: string): void;
			public setNegativeButtonText(param0: string): void;
			public onBindDialogView(param0: android.view.View): void;
			public onDismiss(param0: android.content.DialogInterface): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public getNegativeButtonText(): string;
			public onPrepareDialogBuilder(param0: android.app.AlertDialog.Builder): void;
			public getDialogTitle(): string;
			public getDialogMessage(): string;
			public onDialogClosed(param0: boolean): void;
			public getDialog(): android.app.Dialog;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public showDialog(param0: android.os.Bundle): void;
			public setDialogIcon(param0: android.graphics.drawable.Drawable): void;
			public getDialogLayoutResource(): number;
			public onRestoreInstanceState(param0: android.os.Parcelable): void;
			public onCreateDialogView(): android.view.View;
			public getDialogIcon(): android.graphics.drawable.Drawable;
			public setDialogLayoutResource(param0: number): void;
			public setPositiveButtonText(param0: string): void;
			public setNegativeButtonText(param0: number): void;
			public setDialogIcon(param0: number): void;
			public constructor(param0: android.content.Context);
			public setPositiveButtonText(param0: number): void;
			public setDialogTitle(param0: number): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public setDialogMessage(param0: string): void;
			public getPositiveButtonText(): string;
			public onActivityDestroy(): void;
			public onSaveInstanceState(): android.os.Parcelable;
		}
	}
}

declare module android {
	export module preference {
		export class EditTextPreference extends android.preference.DialogPreference {
			public static class: java.lang.Class<android.preference.EditTextPreference>;
			public onRestoreInstanceState(param0: android.os.Parcelable): void;
			public onClick(): void;
			public onClick(param0: android.content.DialogInterface, param1: number): void;
			public setText(param0: string): void;
			public getText(): string;
			public onBindDialogView(param0: android.view.View): void;
			public onDismiss(param0: android.content.DialogInterface): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public shouldDisableDependents(): boolean;
			public onGetDefaultValue(param0: android.content.res.TypedArray, param1: number): any;
			public getEditText(): android.widget.EditText;
			public onAddEditTextToDialogView(param0: android.view.View, param1: android.widget.EditText): void;
			public onDialogClosed(param0: boolean): void;
			public onSetInitialValue(param0: boolean, param1: any): void;
			public constructor(param0: android.content.Context);
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public onSaveInstanceState(): android.os.Parcelable;
			public onActivityDestroy(): void;
		}
	}
}

declare module android {
	export module preference {
		export class ListPreference extends android.preference.DialogPreference {
			public static class: java.lang.Class<android.preference.ListPreference>;
			public onClick(): void;
			public onClick(param0: android.content.DialogInterface, param1: number): void;
			public setEntries(param0: native.Array<string>): void;
			public setEntryValues(param0: native.Array<string>): void;
			public onDismiss(param0: android.content.DialogInterface): void;
			public setValue(param0: string): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public findIndexOfValue(param0: string): number;
			public onPrepareDialogBuilder(param0: android.app.AlertDialog.Builder): void;
			public onGetDefaultValue(param0: android.content.res.TypedArray, param1: number): any;
			public getSummary(): string;
			public onDialogClosed(param0: boolean): void;
			public onSetInitialValue(param0: boolean, param1: any): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public getEntryValues(): native.Array<string>;
			public getEntry(): string;
			public setValueIndex(param0: number): void;
			public onRestoreInstanceState(param0: android.os.Parcelable): void;
			public setSummary(param0: string): void;
			public setSummary(param0: number): void;
			public constructor(param0: android.content.Context);
			public setEntries(param0: number): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public getEntries(): native.Array<string>;
			public getValue(): string;
			public onSaveInstanceState(): android.os.Parcelable;
			public onActivityDestroy(): void;
			public setEntryValues(param0: number): void;
		}
	}
}

declare module android {
	export module preference {
		export class MultiSelectListPreference extends android.preference.DialogPreference {
			public static class: java.lang.Class<android.preference.MultiSelectListPreference>;
			public onClick(): void;
			public setValues(param0: java.util.Set<string>): void;
			public onClick(param0: android.content.DialogInterface, param1: number): void;
			public setEntries(param0: native.Array<string>): void;
			public getValues(): java.util.Set<string>;
			public setEntryValues(param0: native.Array<string>): void;
			public onDismiss(param0: android.content.DialogInterface): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public findIndexOfValue(param0: string): number;
			public onPrepareDialogBuilder(param0: android.app.AlertDialog.Builder): void;
			public onGetDefaultValue(param0: android.content.res.TypedArray, param1: number): any;
			public onDialogClosed(param0: boolean): void;
			public onSetInitialValue(param0: boolean, param1: any): void;
			public constructor(param0: android.content.Context);
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public setEntries(param0: number): void;
			public getEntryValues(): native.Array<string>;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public getEntries(): native.Array<string>;
			public onSaveInstanceState(): android.os.Parcelable;
			public onActivityDestroy(): void;
			public setEntryValues(param0: number): void;
		}
	}
}

declare module android {
	export module preference {
		export class Preference extends java.lang.Comparable<android.preference.Preference> {
			public static class: java.lang.Class<android.preference.Preference>;
			public static DEFAULT_ORDER: number;
			public onBindView(param0: android.view.View): void;
			public onClick(): void;
			public findPreferenceInHierarchy(param0: string): android.preference.Preference;
			public setTitle(param0: string): void;
			public isSingleLineTitle(): boolean;
			public isSelectable(): boolean;
			public onPrepareForRemoval(): void;
			public setSelectable(param0: boolean): void;
			public onAttachedToHierarchy(param0: android.preference.PreferenceManager): void;
			public setPreferenceDataStore(param0: android.preference.PreferenceDataStore): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public setDefaultValue(param0: any): void;
			public onGetDefaultValue(param0: android.content.res.TypedArray, param1: number): any;
			public getLayoutResource(): number;
			public hasKey(): boolean;
			public getSummary(): string;
			public setPersistent(param0: boolean): void;
			public getKey(): string;
			public persistStringSet(param0: java.util.Set<string>): boolean;
			public getContext(): android.content.Context;
			public setEnabled(param0: boolean): void;
			public onAttachedToActivity(): void;
			public getPersistedInt(param0: number): number;
			public onRestoreInstanceState(param0: android.os.Parcelable): void;
			public getTitle(): string;
			public isPersistent(): boolean;
			public saveHierarchyState(param0: android.os.Bundle): void;
			public getShouldDisableView(): boolean;
			public persistBoolean(param0: boolean): boolean;
			public setOnPreferenceChangeListener(param0: android.preference.Preference.OnPreferenceChangeListener): void;
			public getOnPreferenceClickListener(): android.preference.Preference.OnPreferenceClickListener;
			public isIconSpaceReserved(): boolean;
			public getOrder(): number;
			public restoreHierarchyState(param0: android.os.Bundle): void;
			public setSummary(param0: string): void;
			public setKey(param0: string): void;
			public setRecycleEnabled(param0: boolean): void;
			public setSummary(param0: number): void;
			public getTitleRes(): number;
			public getSharedPreferences(): android.content.SharedPreferences;
			public shouldPersist(): boolean;
			public onSaveInstanceState(): android.os.Parcelable;
			public getExtras(): android.os.Bundle;
			public persistLong(param0: number): boolean;
			public shouldCommit(): boolean;
			public getPreferenceDataStore(): android.preference.PreferenceDataStore;
			public getPersistedLong(param0: number): number;
			public getIntent(): android.content.Intent;
			public getFragment(): string;
			public getPreferenceManager(): android.preference.PreferenceManager;
			public setOrder(param0: number): void;
			public shouldDisableDependents(): boolean;
			public notifyChanged(): void;
			public onParentChanged(param0: android.preference.Preference, param1: boolean): void;
			public onSetInitialValue(param0: boolean, param1: any): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public setIconSpaceReserved(param0: boolean): void;
			public getWidgetLayoutResource(): number;
			public onCreateView(param0: android.view.ViewGroup): android.view.View;
			public getOnPreferenceChangeListener(): android.preference.Preference.OnPreferenceChangeListener;
			public setWidgetLayoutResource(param0: number): void;
			public peekExtras(): android.os.Bundle;
			public getDependency(): string;
			public setIcon(param0: number): void;
			public getEditor(): android.content.SharedPreferences.Editor;
			public setSingleLineTitle(param0: boolean): void;
			public callChangeListener(param0: any): boolean;
			public getView(param0: android.view.View, param1: android.view.ViewGroup): android.view.View;
			public persistString(param0: string): boolean;
			public setTitle(param0: number): void;
			public notifyDependencyChange(param0: boolean): void;
			public onDependencyChanged(param0: android.preference.Preference, param1: boolean): void;
			public setFragment(param0: string): void;
			public persistFloat(param0: number): boolean;
			public setLayoutResource(param0: number): void;
			public getPersistedBoolean(param0: boolean): boolean;
			public setIntent(param0: android.content.Intent): void;
			public getIcon(): android.graphics.drawable.Drawable;
			public isEnabled(): boolean;
			public setOnPreferenceClickListener(param0: android.preference.Preference.OnPreferenceClickListener): void;
			public toString(): string;
			public getPersistedString(param0: string): string;
			public getParent(): android.preference.PreferenceGroup;
			public constructor(param0: android.content.Context);
			public notifyHierarchyChanged(): void;
			public persistInt(param0: number): boolean;
			public getPersistedFloat(param0: number): number;
			public isRecycleEnabled(): boolean;
			public compareTo(param0: android.preference.Preference): number;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public setDependency(param0: string): void;
			public setShouldDisableView(param0: boolean): void;
			public setIcon(param0: android.graphics.drawable.Drawable): void;
			public getPersistedStringSet(param0: java.util.Set<string>): java.util.Set<string>;
		}
		export module Preference {
			export class BaseSavedState extends android.view.AbsSavedState {
				public static class: java.lang.Class<android.preference.Preference.BaseSavedState>;
				public static CREATOR: android.os.Parcelable.Creator<android.preference.Preference.BaseSavedState>;
				public constructor(param0: android.os.Parcel, param1: java.lang.ClassLoader);
				public constructor(param0: android.os.Parcel);
				public constructor(param0: android.os.Parcelable);
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
			}
			export class OnPreferenceChangeListener extends java.lang.Object {
				public static class: java.lang.Class<android.preference.Preference.OnPreferenceChangeListener>;
				/**
				 * Constructs a new instance of the android.preference.Preference$OnPreferenceChangeListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onPreferenceChange(param0: android.preference.Preference, param1: any): boolean;
				});
				public constructor();
				public onPreferenceChange(param0: android.preference.Preference, param1: any): boolean;
			}
			export class OnPreferenceClickListener extends java.lang.Object {
				public static class: java.lang.Class<android.preference.Preference.OnPreferenceClickListener>;
				/**
				 * Constructs a new instance of the android.preference.Preference$OnPreferenceClickListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onPreferenceClick(param0: android.preference.Preference): boolean;
				});
				public constructor();
				public onPreferenceClick(param0: android.preference.Preference): boolean;
			}
		}
	}
}

declare module android {
	export module preference {
		export abstract class PreferenceActivity extends android.app.ListActivity implements android.preference.PreferenceFragment.OnPreferenceStartFragmentCallback {
			public static class: java.lang.Class<android.preference.PreferenceActivity>;
			public static EXTRA_NO_HEADERS: string;
			public static EXTRA_SHOW_FRAGMENT: string;
			public static EXTRA_SHOW_FRAGMENT_ARGUMENTS: string;
			public static EXTRA_SHOW_FRAGMENT_SHORT_TITLE: string;
			public static EXTRA_SHOW_FRAGMENT_TITLE: string;
			public static HEADER_ID_UNDEFINED: number;
			public onCreatePanelMenu(param0: number, param1: android.view.Menu): boolean;
			public loadHeadersFromResource(param0: number, param1: java.util.List<android.preference.PreferenceActivity.Header>): void;
			public isMultiPane(): boolean;
			public isValidFragment(param0: string): boolean;
			public startPreferenceFragment(param0: android.app.Fragment, param1: boolean): void;
			public onSearchRequested(): boolean;
			public onActivityResult(param0: number, param1: number, param2: android.content.Intent): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			/** @deprecated */
			public getPreferenceManager(): android.preference.PreferenceManager;
			public onCreatePanelView(param0: number): android.view.View;
			public switchToHeader(param0: android.preference.PreferenceActivity.Header): void;
			public showBreadCrumbs(param0: string, param1: string): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public dispatchGenericMotionEvent(param0: android.view.MotionEvent): boolean;
			public onDetachedFromWindow(): void;
			public onBuildStartFragmentIntent(param0: string, param1: android.os.Bundle, param2: number, param3: number): android.content.Intent;
			public onCreateView(param0: android.view.View, param1: string, param2: android.content.Context, param3: android.util.AttributeSet): android.view.View;
			public onPointerCaptureChanged(param0: boolean): void;
			public onCreate(param0: android.os.Bundle, param1: any): void;
			public onGetInitialHeader(): android.preference.PreferenceActivity.Header;
			/** @deprecated */
			public addPreferencesFromResource(param0: number): void;
			public onSaveInstanceState(param0: android.os.Bundle, param1: any): void;
			public constructor();
			public onRestoreInstanceState(param0: android.os.Bundle): void;
			public onCreateView(param0: string, param1: android.content.Context, param2: android.util.AttributeSet): android.view.View;
			public constructor(param0: android.content.Context, param1: number);
			/** @deprecated */
			public findPreference(param0: string): android.preference.Preference;
			public onNewIntent(param0: android.content.Intent): void;
			public onCreateContextMenu(param0: android.view.ContextMenu, param1: android.view.View, param2: android.view.ContextMenu.ContextMenuInfo): void;
			public dispatchTouchEvent(param0: android.view.MotionEvent): boolean;
			public onPreparePanel(param0: number, param1: android.view.View, param2: android.view.Menu): boolean;
			public onWindowFocusChanged(param0: boolean): void;
			public onCreate(param0: android.os.Bundle): void;
			public hasHeaders(): boolean;
			public startWithFragment(param0: string, param1: android.os.Bundle, param2: android.app.Fragment, param3: number): void;
			public onContentChanged(): void;
			public onWindowStartingActionMode(param0: android.view.ActionMode.Callback): android.view.ActionMode;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public setParentTitle(param0: string, param1: string, param2: android.view.View.OnClickListener): void;
			public onWindowStartingActionMode(param0: android.view.ActionMode.Callback, param1: number): android.view.ActionMode;
			public onDestroy(): void;
			/** @deprecated */
			public setPreferenceScreen(param0: android.preference.PreferenceScreen): void;
			public onProvideKeyboardShortcuts(param0: java.util.List<any>, param1: android.view.Menu, param2: number): void;
			public onPanelClosed(param0: number, param1: android.view.Menu): void;
			public onIsHidingHeaders(): boolean;
			public onTrimMemory(param0: number): void;
			public onBackPressed(): void;
			public onActionModeFinished(param0: android.view.ActionMode): void;
			public constructor(param0: android.content.Context, param1: android.content.res.Resources.Theme);
			public onOptionsItemSelected(param0: android.view.MenuItem): boolean;
			public startPreferencePanel(param0: string, param1: android.os.Bundle, param2: number, param3: string, param4: android.app.Fragment, param5: number): void;
			/** @deprecated */
			public onPreferenceTreeClick(param0: android.preference.PreferenceScreen, param1: android.preference.Preference): boolean;
			public onStop(): void;
			public onActionModeStarted(param0: android.view.ActionMode): void;
			public startWithFragment(param0: string, param1: android.os.Bundle, param2: android.app.Fragment, param3: number, param4: number, param5: number): void;
			public dispatchKeyShortcutEvent(param0: android.view.KeyEvent): boolean;
			public onMenuItemSelected(param0: number, param1: android.view.MenuItem): boolean;
			public onMenuOpened(param0: number, param1: android.view.Menu): boolean;
			public onListItemClick(param0: android.widget.ListView, param1: android.view.View, param2: number, param3: number): void;
			public onPreferenceStartFragment(param0: android.preference.PreferenceFragment, param1: android.preference.Preference): boolean;
			/** @deprecated */
			public getPreferenceScreen(): android.preference.PreferenceScreen;
			public onSearchRequested(param0: any): boolean;
			public finishPreferencePanel(param0: android.app.Fragment, param1: number, param2: android.content.Intent): void;
			public onGetNewHeader(): android.preference.PreferenceActivity.Header;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public onRestoreInstanceState(param0: android.os.Bundle, param1: any): void;
			public dispatchTrackballEvent(param0: android.view.MotionEvent): boolean;
			public onIsMultiPane(): boolean;
			public onHeaderClick(param0: android.preference.PreferenceActivity.Header, param1: number): void;
			public onSaveInstanceState(param0: android.os.Bundle): void;
			public switchToHeader(param0: string, param1: android.os.Bundle): void;
			/** @deprecated */
			public addPreferencesFromIntent(param0: android.content.Intent): void;
			public constructor(param0: android.content.Context);
			public dispatchKeyEvent(param0: android.view.KeyEvent): boolean;
			public onBuildHeaders(param0: java.util.List<android.preference.PreferenceActivity.Header>): void;
			public dispatchPopulateAccessibilityEvent(param0: android.view.accessibility.AccessibilityEvent): boolean;
			public onAttachedToWindow(): void;
			public setListFooter(param0: android.view.View): void;
			public invalidateHeaders(): void;
			public onWindowAttributesChanged(param0: android.view.WindowManager.LayoutParams): void;
		}
		export module PreferenceActivity {
			export class Header extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.preference.PreferenceActivity.Header>;
				public static CREATOR: android.os.Parcelable.Creator<android.preference.PreferenceActivity.Header>;
				public breadCrumbShortTitle: string;
				public breadCrumbShortTitleRes: number;
				public breadCrumbTitle: string;
				public breadCrumbTitleRes: number;
				public extras: android.os.Bundle;
				public fragment: string;
				public fragmentArguments: android.os.Bundle;
				public iconRes: number;
				public id: number;
				public intent: android.content.Intent;
				public summary: string;
				public summaryRes: number;
				public title: string;
				public titleRes: number;
				public getBreadCrumbTitle(param0: android.content.res.Resources): string;
				public getSummary(param0: android.content.res.Resources): string;
				public getTitle(param0: android.content.res.Resources): string;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getBreadCrumbShortTitle(param0: android.content.res.Resources): string;
				public describeContents(): number;
				public readFromParcel(param0: android.os.Parcel): void;
				public constructor();
			}
		}
	}
}

declare module android {
	export module preference {
		export class PreferenceCategory extends android.preference.PreferenceGroup {
			public static class: java.lang.Class<android.preference.PreferenceCategory>;
			public shouldDisableDependents(): boolean;
			public isEnabled(): boolean;
			public onPrepareAddPreference(param0: android.preference.Preference): boolean;
			public constructor(param0: android.content.Context);
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
		}
	}
}

declare module android {
	export module preference {
		export class PreferenceDataStore extends java.lang.Object {
			public static class: java.lang.Class<android.preference.PreferenceDataStore>;
			/**
			 * Constructs a new instance of the android.preference.PreferenceDataStore interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				putString(param0: string, param1: string): void;
				putStringSet(param0: string, param1: java.util.Set<string>): void;
				putInt(param0: string, param1: number): void;
				putLong(param0: string, param1: number): void;
				putFloat(param0: string, param1: number): void;
				putBoolean(param0: string, param1: boolean): void;
				getString(param0: string, param1: string): string;
				getStringSet(param0: string, param1: java.util.Set<string>): java.util.Set<string>;
				getInt(param0: string, param1: number): number;
				getLong(param0: string, param1: number): number;
				getFloat(param0: string, param1: number): number;
				getBoolean(param0: string, param1: boolean): boolean;
			});
			public constructor();
			public putLong(param0: string, param1: number): void;
			public putFloat(param0: string, param1: number): void;
			public getInt(param0: string, param1: number): number;
			public putString(param0: string, param1: string): void;
			public getFloat(param0: string, param1: number): number;
			public getBoolean(param0: string, param1: boolean): boolean;
			public putStringSet(param0: string, param1: java.util.Set<string>): void;
			public getStringSet(param0: string, param1: java.util.Set<string>): java.util.Set<string>;
			public getLong(param0: string, param1: number): number;
			public getString(param0: string, param1: string): string;
			public putInt(param0: string, param1: number): void;
			public putBoolean(param0: string, param1: boolean): void;
		}
	}
}

declare module android {
	export module preference {
		export abstract class PreferenceFragment extends android.app.Fragment {
			public static class: java.lang.Class<android.preference.PreferenceFragment>;
			public findPreference(param0: string): android.preference.Preference;
			public onStart(): void;
			public onCreateView(param0: android.view.LayoutInflater, param1: android.view.ViewGroup, param2: android.os.Bundle): android.view.View;
			public addPreferencesFromIntent(param0: android.content.Intent): void;
			public onViewCreated(param0: android.view.View, param1: android.os.Bundle): void;
			public getPreferenceManager(): android.preference.PreferenceManager;
			public getPreferenceScreen(): android.preference.PreferenceScreen;
			public constructor();
			public onDestroy(): void;
			public onActivityCreated(param0: android.os.Bundle): void;
			public onPreferenceTreeClick(param0: android.preference.PreferenceScreen, param1: android.preference.Preference): boolean;
			public setPreferenceScreen(param0: android.preference.PreferenceScreen): void;
			public onCreateContextMenu(param0: android.view.ContextMenu, param1: android.view.View, param2: android.view.ContextMenu.ContextMenuInfo): void;
			public onTrimMemory(param0: number): void;
			public onActivityResult(param0: number, param1: number, param2: android.content.Intent): void;
			public onSaveInstanceState(param0: android.os.Bundle): void;
			public onDestroyView(): void;
			public onCreate(param0: android.os.Bundle): void;
			public onStop(): void;
			public addPreferencesFromResource(param0: number): void;
		}
		export module PreferenceFragment {
			export class OnPreferenceStartFragmentCallback extends java.lang.Object {
				public static class: java.lang.Class<android.preference.PreferenceFragment.OnPreferenceStartFragmentCallback>;
				/**
				 * Constructs a new instance of the android.preference.PreferenceFragment$OnPreferenceStartFragmentCallback interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onPreferenceStartFragment(param0: android.preference.PreferenceFragment, param1: android.preference.Preference): boolean;
				});
				public constructor();
				public onPreferenceStartFragment(param0: android.preference.PreferenceFragment, param1: android.preference.Preference): boolean;
			}
		}
	}
}

declare module android {
	export module preference {
		export abstract class PreferenceGroup extends android.preference.Preference {
			public static class: java.lang.Class<android.preference.PreferenceGroup>;
			public findPreference(param0: string): android.preference.Preference;
			public setOrderingAsAdded(param0: boolean): void;
			public getPreference(param0: number): android.preference.Preference;
			public onPrepareAddPreference(param0: android.preference.Preference): boolean;
			public onPrepareForRemoval(): void;
			public notifyDependencyChange(param0: boolean): void;
			public removePreference(param0: android.preference.Preference): boolean;
			public addItemFromInflater(param0: android.preference.Preference): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public dispatchSaveInstanceState(param0: android.os.Bundle): void;
			public addPreference(param0: android.preference.Preference): boolean;
			public dispatchRestoreInstanceState(param0: android.os.Bundle): void;
			public isOnSameScreenAsChildren(): boolean;
			public isOrderingAsAdded(): boolean;
			public constructor(param0: android.content.Context);
			public removeAll(): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public getPreferenceCount(): number;
			public onAttachedToActivity(): void;
		}
	}
}

declare module android {
	export module preference {
		export class PreferenceManager extends java.lang.Object {
			public static class: java.lang.Class<android.preference.PreferenceManager>;
			public static KEY_HAS_SET_DEFAULT_VALUES: string;
			public static METADATA_KEY_PREFERENCES: string;
			public isStorageDeviceProtected(): boolean;
			public findPreference(param0: string): android.preference.Preference;
			public getPreferenceDataStore(): android.preference.PreferenceDataStore;
			public setSharedPreferencesMode(param0: number): void;
			public setStorageDeviceProtected(): void;
			public static setDefaultValues(param0: android.content.Context, param1: number, param2: boolean): void;
			public static getDefaultSharedPreferencesName(param0: android.content.Context): string;
			public static getDefaultSharedPreferences(param0: android.content.Context): android.content.SharedPreferences;
			public setPreferenceDataStore(param0: android.preference.PreferenceDataStore): void;
			public getSharedPreferencesMode(): number;
			public createPreferenceScreen(param0: android.content.Context): android.preference.PreferenceScreen;
			public setSharedPreferencesName(param0: string): void;
			public setStorageDefault(): void;
			public static setDefaultValues(param0: android.content.Context, param1: string, param2: number, param3: number, param4: boolean): void;
			public isStorageDefault(): boolean;
			public getSharedPreferencesName(): string;
			public getSharedPreferences(): android.content.SharedPreferences;
		}
		export module PreferenceManager {
			export class OnActivityDestroyListener extends java.lang.Object {
				public static class: java.lang.Class<android.preference.PreferenceManager.OnActivityDestroyListener>;
				/**
				 * Constructs a new instance of the android.preference.PreferenceManager$OnActivityDestroyListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onActivityDestroy(): void;
				});
				public constructor();
				public onActivityDestroy(): void;
			}
			export class OnActivityResultListener extends java.lang.Object {
				public static class: java.lang.Class<android.preference.PreferenceManager.OnActivityResultListener>;
				/**
				 * Constructs a new instance of the android.preference.PreferenceManager$OnActivityResultListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onActivityResult(param0: number, param1: number, param2: android.content.Intent): boolean;
				});
				public constructor();
				public onActivityResult(param0: number, param1: number, param2: android.content.Intent): boolean;
			}
			export class OnActivityStopListener extends java.lang.Object {
				public static class: java.lang.Class<android.preference.PreferenceManager.OnActivityStopListener>;
				/**
				 * Constructs a new instance of the android.preference.PreferenceManager$OnActivityStopListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onActivityStop(): void;
				});
				public constructor();
				public onActivityStop(): void;
			}
		}
	}
}

declare module android {
	export module preference {
		export class PreferenceScreen extends android.preference.PreferenceGroup implements android.widget.AdapterView.OnItemClickListener, android.content.DialogInterface.OnDismissListener {
			public static class: java.lang.Class<android.preference.PreferenceScreen>;
			public onClick(): void;
			public onRestoreInstanceState(param0: android.os.Parcelable): void;
			public getRootAdapter(): android.widget.ListAdapter;
			public onItemClick(param0: android.widget.AdapterView<any>, param1: android.view.View, param2: number, param3: number): void;
			public isOnSameScreenAsChildren(): boolean;
			public getDialog(): android.app.Dialog;
			public onDismiss(param0: android.content.DialogInterface): void;
			public onCreateRootAdapter(): android.widget.ListAdapter;
			public bind(param0: android.widget.ListView): void;
			public onItemClick(param0: android.widget.AdapterView<any>, param1: android.view.View, param2: number, param3: number): void;
			public onSaveInstanceState(): android.os.Parcelable;
		}
	}
}

declare module android {
	export module preference {
		export class RingtonePreference extends android.preference.Preference implements android.preference.PreferenceManager.OnActivityResultListener {
			public static class: java.lang.Class<android.preference.RingtonePreference>;
			public onClick(): void;
			public onPrepareRingtonePickerIntent(param0: android.content.Intent): void;
			public getRingtoneType(): number;
			public setRingtoneType(param0: number): void;
			public onSaveRingtone(param0: android.net.Uri): void;
			public onRestoreRingtone(): android.net.Uri;
			public onAttachedToHierarchy(param0: android.preference.PreferenceManager): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public setShowDefault(param0: boolean): void;
			public onGetDefaultValue(param0: android.content.res.TypedArray, param1: number): any;
			public setShowSilent(param0: boolean): void;
			public onSetInitialValue(param0: boolean, param1: any): void;
			public onActivityResult(param0: number, param1: number, param2: android.content.Intent): boolean;
			public constructor(param0: android.content.Context);
			public getShowDefault(): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public getShowSilent(): boolean;
		}
	}
}

declare module android {
	export module preference {
		export class SwitchPreference extends android.preference.TwoStatePreference {
			public static class: java.lang.Class<android.preference.SwitchPreference>;
			public onBindView(param0: android.view.View): void;
			public setSwitchTextOn(param0: string): void;
			public getSwitchTextOff(): string;
			public setSwitchTextOff(param0: number): void;
			public constructor(param0: android.content.Context);
			public setSwitchTextOn(param0: number): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public setSwitchTextOff(param0: string): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public getSwitchTextOn(): string;
		}
	}
}

declare module android {
	export module preference {
		export abstract class TwoStatePreference extends android.preference.Preference {
			public static class: java.lang.Class<android.preference.TwoStatePreference>;
			public onClick(): void;
			public onRestoreInstanceState(param0: android.os.Parcelable): void;
			public setChecked(param0: boolean): void;
			public getSummaryOff(): string;
			public isChecked(): boolean;
			public setSummaryOn(param0: string): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public setSummaryOff(param0: number): void;
			public shouldDisableDependents(): boolean;
			public onGetDefaultValue(param0: android.content.res.TypedArray, param1: number): any;
			public setSummaryOff(param0: string): void;
			public onSetInitialValue(param0: boolean, param1: any): void;
			public constructor(param0: android.content.Context);
			public getDisableDependentsState(): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public setDisableDependentsState(param0: boolean): void;
			public getSummaryOn(): string;
			public onSaveInstanceState(): android.os.Parcelable;
			public setSummaryOn(param0: number): void;
		}
	}
}













declare module android {
	export module printservice {
		export class CustomPrinterIconCallback extends java.lang.Object {
			public static class: java.lang.Class<android.printservice.CustomPrinterIconCallback>;
			public onCustomPrinterIconLoaded(param0: any): boolean;
		}
	}
}

declare module android {
	export module printservice {
		export class PrintDocument extends java.lang.Object {
			public static class: java.lang.Class<android.printservice.PrintDocument>;
			public getData(): android.os.ParcelFileDescriptor;
			public getInfo(): any;
		}
	}
}

declare module android {
	export module printservice {
		export class PrintJob extends java.lang.Object {
			public static class: java.lang.Class<android.printservice.PrintJob>;
			public isBlocked(): boolean;
			public getDocument(): android.printservice.PrintDocument;
			public equals(param0: any): boolean;
			public setTag(param0: string): boolean;
			public isStarted(): boolean;
			public getAdvancedStringOption(param0: string): string;
			public fail(param0: string): boolean;
			public getTag(): string;
			public isCancelled(): boolean;
			public hasAdvancedOption(param0: string): boolean;
			public getAdvancedIntOption(param0: string): number;
			public complete(): boolean;
			public getId(): any;
			public setStatus(param0: string): void;
			public isQueued(): boolean;
			public isFailed(): boolean;
			public cancel(): boolean;
			public setProgress(param0: number): void;
			public getInfo(): any;
			public isCompleted(): boolean;
			public start(): boolean;
			public setStatus(param0: number): void;
			public block(param0: string): boolean;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module printservice {
		export abstract class PrintService extends android.app.Service {
			public static class: java.lang.Class<android.printservice.PrintService>;
			public static EXTRA_CAN_SELECT_PRINTER: string;
			public static EXTRA_PRINTER_INFO: string;
			public static EXTRA_PRINT_DOCUMENT_INFO: string;
			public static EXTRA_PRINT_JOB_INFO: string;
			public static EXTRA_SELECT_PRINTER: string;
			public static SERVICE_INTERFACE: string;
			public static SERVICE_META_DATA: string;
			public onDisconnected(): void;
			public getActivePrintJobs(): java.util.List<android.printservice.PrintJob>;
			public onTrimMemory(param0: number): void;
			public onCreatePrinterDiscoverySession(): android.printservice.PrinterDiscoverySession;
			public onBind(param0: android.content.Intent): android.os.IBinder;
			public attachBaseContext(param0: android.content.Context): void;
			public constructor(param0: android.content.Context);
			public onConnected(): void;
			public onRequestCancelPrintJob(param0: android.printservice.PrintJob): void;
			public generatePrinterId(param0: string): any;
			public constructor();
			public onPrintJobQueued(param0: android.printservice.PrintJob): void;
		}
	}
}

declare module android {
	export module printservice {
		export abstract class PrinterDiscoverySession extends java.lang.Object {
			public static class: java.lang.Class<android.printservice.PrinterDiscoverySession>;
			public getTrackedPrinters(): java.util.List<any>;
			public onStopPrinterStateTracking(param0: any): void;
			public isDestroyed(): boolean;
			public onValidatePrinters(param0: java.util.List<any>): void;
			public removePrinters(param0: java.util.List<any>): void;
			public getPrinters(): java.util.List<any>;
			public onStartPrinterDiscovery(param0: java.util.List<any>): void;
			public constructor();
			public onDestroy(): void;
			public onRequestCustomPrinterIcon(param0: any, param1: android.os.CancellationSignal, param2: android.printservice.CustomPrinterIconCallback): void;
			public addPrinters(param0: java.util.List<any>): void;
			public onStartPrinterStateTracking(param0: any): void;
			public isPrinterDiscoveryStarted(): boolean;
			public onStopPrinterDiscovery(): void;
		}
	}
}

declare module android {
	export module provider {
		export class AlarmClock extends java.lang.Object {
			public static class: java.lang.Class<android.provider.AlarmClock>;
			public static ACTION_DISMISS_ALARM: string;
			public static ACTION_DISMISS_TIMER: string;
			public static ACTION_SET_ALARM: string;
			public static ACTION_SET_TIMER: string;
			public static ACTION_SHOW_ALARMS: string;
			public static ACTION_SHOW_TIMERS: string;
			public static ACTION_SNOOZE_ALARM: string;
			public static ALARM_SEARCH_MODE_ALL: string;
			public static ALARM_SEARCH_MODE_LABEL: string;
			public static ALARM_SEARCH_MODE_NEXT: string;
			public static ALARM_SEARCH_MODE_TIME: string;
			public static EXTRA_ALARM_SEARCH_MODE: string;
			public static EXTRA_ALARM_SNOOZE_DURATION: string;
			public static EXTRA_DAYS: string;
			public static EXTRA_HOUR: string;
			public static EXTRA_IS_PM: string;
			public static EXTRA_LENGTH: string;
			public static EXTRA_MESSAGE: string;
			public static EXTRA_MINUTES: string;
			public static EXTRA_RINGTONE: string;
			public static EXTRA_SKIP_UI: string;
			public static EXTRA_VIBRATE: string;
			public static VALUE_RINGTONE_SILENT: string;
			public constructor();
		}
	}
}

declare module android {
	export module provider {
		export class BaseColumns extends java.lang.Object {
			public static class: java.lang.Class<android.provider.BaseColumns>;
			/**
			 * Constructs a new instance of the android.provider.BaseColumns interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
			});
			public constructor();
			public static _COUNT: string;
			public static _ID: string;
		}
	}
}

declare module android {
	export module provider {
		export class BlockedNumberContract extends java.lang.Object {
			public static class: java.lang.Class<android.provider.BlockedNumberContract>;
			public static AUTHORITY: string;
			public static AUTHORITY_URI: android.net.Uri;
			public static isBlocked(param0: android.content.Context, param1: string): boolean;
			public static canCurrentUserBlockNumbers(param0: android.content.Context): boolean;
			public static unblock(param0: android.content.Context, param1: string): number;
		}
		export module BlockedNumberContract {
			export class BlockedNumbers extends java.lang.Object {
				public static class: java.lang.Class<android.provider.BlockedNumberContract.BlockedNumbers>;
				public static COLUMN_E164_NUMBER: string;
				public static COLUMN_ID: string;
				public static COLUMN_ORIGINAL_NUMBER: string;
				public static CONTENT_ITEM_TYPE: string;
				public static CONTENT_TYPE: string;
				public static CONTENT_URI: android.net.Uri;
			}
		}
	}
}

declare module android {
	export module provider {
		export class Browser extends java.lang.Object {
			public static class: java.lang.Class<android.provider.Browser>;
			public static EXTRA_APPLICATION_ID: string;
			public static EXTRA_CREATE_NEW_TAB: string;
			public static EXTRA_HEADERS: string;
			public static INITIAL_ZOOM_LEVEL: string;
			public static sendString(param0: android.content.Context, param1: string): void;
			public constructor();
		}
	}
}

declare module android {
	export module provider {
		export class CalendarContract extends java.lang.Object {
			public static class: java.lang.Class<android.provider.CalendarContract>;
			public static ACCOUNT_TYPE_LOCAL: string;
			public static ACTION_EVENT_REMINDER: string;
			public static ACTION_HANDLE_CUSTOM_EVENT: string;
			public static AUTHORITY: string;
			public static CALLER_IS_SYNCADAPTER: string;
			public static CONTENT_URI: android.net.Uri;
			public static EXTRA_CUSTOM_APP_URI: string;
			public static EXTRA_EVENT_ALL_DAY: string;
			public static EXTRA_EVENT_BEGIN_TIME: string;
			public static EXTRA_EVENT_END_TIME: string;
		}
		export module CalendarContract {
			export class Attendees extends java.lang.Object implements android.provider.BaseColumns, android.provider.CalendarContract.AttendeesColumns, android.provider.CalendarContract.EventsColumns {
				public static class: java.lang.Class<android.provider.CalendarContract.Attendees>;
				public static CONTENT_URI: android.net.Uri;
				public static query(param0: android.content.ContentResolver, param1: number, param2: native.Array<string>): android.database.Cursor;
			}
			export class AttendeesColumns extends java.lang.Object {
				public static class: java.lang.Class<android.provider.CalendarContract.AttendeesColumns>;
				/**
				 * Constructs a new instance of the android.provider.CalendarContract$AttendeesColumns interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
				});
				public constructor();
				public static RELATIONSHIP_NONE: number;
				public static TYPE_RESOURCE: number;
				public static ATTENDEE_STATUS_ACCEPTED: number;
				public static ATTENDEE_STATUS: string;
				public static ATTENDEE_STATUS_DECLINED: number;
				public static EVENT_ID: string;
				public static TYPE_REQUIRED: number;
				public static ATTENDEE_EMAIL: string;
				public static RELATIONSHIP_SPEAKER: number;
				public static ATTENDEE_IDENTITY: string;
				public static ATTENDEE_STATUS_NONE: number;
				public static ATTENDEE_TYPE: string;
				public static ATTENDEE_ID_NAMESPACE: string;
				public static RELATIONSHIP_ATTENDEE: number;
				public static ATTENDEE_RELATIONSHIP: string;
				public static TYPE_OPTIONAL: number;
				public static TYPE_NONE: number;
				public static ATTENDEE_NAME: string;
				public static RELATIONSHIP_PERFORMER: number;
				public static RELATIONSHIP_ORGANIZER: number;
				public static ATTENDEE_STATUS_INVITED: number;
				public static ATTENDEE_STATUS_TENTATIVE: number;
			}
			export class CalendarAlerts extends java.lang.Object implements android.provider.BaseColumns, android.provider.CalendarContract.CalendarAlertsColumns, android.provider.CalendarContract.EventsColumns, android.provider.CalendarContract.CalendarColumns {
				public static class: java.lang.Class<android.provider.CalendarContract.CalendarAlerts>;
				public static CONTENT_URI: android.net.Uri;
				public static CONTENT_URI_BY_INSTANCE: android.net.Uri;
			}
			export class CalendarAlertsColumns extends java.lang.Object {
				public static class: java.lang.Class<android.provider.CalendarContract.CalendarAlertsColumns>;
				/**
				 * Constructs a new instance of the android.provider.CalendarContract$CalendarAlertsColumns interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
				});
				public constructor();
				public static STATE_FIRED: number;
				public static ALARM_TIME: string;
				public static STATE_DISMISSED: number;
				public static MINUTES: string;
				public static NOTIFY_TIME: string;
				public static END: string;
				public static EVENT_ID: string;
				public static CREATION_TIME: string;
				public static DEFAULT_SORT_ORDER: string;
				public static STATE_SCHEDULED: number;
				public static RECEIVED_TIME: string;
				public static STATE: string;
				public static BEGIN: string;
			}
			export class CalendarCache extends java.lang.Object implements android.provider.CalendarContract.CalendarCacheColumns {
				public static class: java.lang.Class<android.provider.CalendarContract.CalendarCache>;
				public static KEY_TIMEZONE_INSTANCES: string;
				public static KEY_TIMEZONE_INSTANCES_PREVIOUS: string;
				public static KEY_TIMEZONE_TYPE: string;
				public static TIMEZONE_TYPE_AUTO: string;
				public static TIMEZONE_TYPE_HOME: string;
				public static URI: android.net.Uri;
			}
			export class CalendarCacheColumns extends java.lang.Object {
				public static class: java.lang.Class<android.provider.CalendarContract.CalendarCacheColumns>;
				/**
				 * Constructs a new instance of the android.provider.CalendarContract$CalendarCacheColumns interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
				});
				public constructor();
				public static VALUE: string;
				public static KEY: string;
			}
			export class CalendarColumns extends java.lang.Object {
				public static class: java.lang.Class<android.provider.CalendarContract.CalendarColumns>;
				/**
				 * Constructs a new instance of the android.provider.CalendarContract$CalendarColumns interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
				});
				public constructor();
				public static CALENDAR_TIME_ZONE: string;
				public static CAL_ACCESS_CONTRIBUTOR: number;
				public static CAN_MODIFY_TIME_ZONE: string;
				public static CALENDAR_ACCESS_LEVEL: string;
				public static IS_PRIMARY: string;
				public static CAL_ACCESS_EDITOR: number;
				public static CAL_ACCESS_OVERRIDE: number;
				public static CAL_ACCESS_RESPOND: number;
				public static MAX_REMINDERS: string;
				public static SYNC_EVENTS: string;
				public static ALLOWED_ATTENDEE_TYPES: string;
				public static CALENDAR_COLOR_KEY: string;
				public static CALENDAR_COLOR: string;
				public static CAL_ACCESS_NONE: number;
				public static CAL_ACCESS_READ: number;
				public static OWNER_ACCOUNT: string;
				public static CAL_ACCESS_FREEBUSY: number;
				public static CALENDAR_DISPLAY_NAME: string;
				public static ALLOWED_AVAILABILITY: string;
				public static CAN_ORGANIZER_RESPOND: string;
				public static CAL_ACCESS_ROOT: number;
				public static ALLOWED_REMINDERS: string;
				public static VISIBLE: string;
				public static CAL_ACCESS_OWNER: number;
			}
			export class CalendarEntity extends java.lang.Object implements android.provider.BaseColumns, android.provider.CalendarContract.SyncColumns, android.provider.CalendarContract.CalendarColumns {
				public static class: java.lang.Class<android.provider.CalendarContract.CalendarEntity>;
				public static CONTENT_URI: android.net.Uri;
				public static newEntityIterator(param0: android.database.Cursor): android.content.EntityIterator;
			}
			export class CalendarSyncColumns extends java.lang.Object {
				public static class: java.lang.Class<android.provider.CalendarContract.CalendarSyncColumns>;
				/**
				 * Constructs a new instance of the android.provider.CalendarContract$CalendarSyncColumns interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
				});
				public constructor();
				public static CAL_SYNC3: string;
				public static CAL_SYNC2: string;
				public static CAL_SYNC1: string;
				public static CAL_SYNC10: string;
				public static CAL_SYNC9: string;
				public static CAL_SYNC8: string;
				public static CAL_SYNC7: string;
				public static CAL_SYNC6: string;
				public static CAL_SYNC5: string;
				public static CAL_SYNC4: string;
			}
			export class Calendars extends java.lang.Object implements android.provider.BaseColumns, android.provider.CalendarContract.SyncColumns, android.provider.CalendarContract.CalendarColumns {
				public static class: java.lang.Class<android.provider.CalendarContract.Calendars>;
				public static CALENDAR_LOCATION: string;
				public static CONTENT_URI: android.net.Uri;
				public static DEFAULT_SORT_ORDER: string;
				public static NAME: string;
			}
			export class Colors extends java.lang.Object implements android.provider.CalendarContract.ColorsColumns {
				public static class: java.lang.Class<android.provider.CalendarContract.Colors>;
				public static CONTENT_URI: android.net.Uri;
			}
			export class ColorsColumns extends java.lang.Object implements android.provider.SyncStateContract.Columns {
				public static class: java.lang.Class<android.provider.CalendarContract.ColorsColumns>;
				/**
				 * Constructs a new instance of the android.provider.CalendarContract$ColorsColumns interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
				});
				public constructor();
				public static ACCOUNT_NAME: string;
				public static _COUNT: string;
				public static ACCOUNT_TYPE: string;
				public static TYPE_CALENDAR: number;
				public static DATA: string;
				public static COLOR: string;
				public static _ID: string;
				public static COLOR_TYPE: string;
				public static COLOR_KEY: string;
				public static TYPE_EVENT: number;
			}
			export class EventDays extends java.lang.Object implements android.provider.CalendarContract.EventDaysColumns {
				public static class: java.lang.Class<android.provider.CalendarContract.EventDays>;
				public static CONTENT_URI: android.net.Uri;
				public static query(param0: android.content.ContentResolver, param1: number, param2: number, param3: native.Array<string>): android.database.Cursor;
			}
			export class EventDaysColumns extends java.lang.Object {
				public static class: java.lang.Class<android.provider.CalendarContract.EventDaysColumns>;
				/**
				 * Constructs a new instance of the android.provider.CalendarContract$EventDaysColumns interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
				});
				public constructor();
				public static ENDDAY: string;
				public static STARTDAY: string;
			}
			export class Events extends java.lang.Object implements android.provider.BaseColumns, android.provider.CalendarContract.SyncColumns, android.provider.CalendarContract.EventsColumns, android.provider.CalendarContract.CalendarColumns {
				public static class: java.lang.Class<android.provider.CalendarContract.Events>;
				public static CONTENT_EXCEPTION_URI: android.net.Uri;
				public static CONTENT_URI: android.net.Uri;
			}
			export class EventsColumns extends java.lang.Object {
				public static class: java.lang.Class<android.provider.CalendarContract.EventsColumns>;
				/**
				 * Constructs a new instance of the android.provider.CalendarContract$EventsColumns interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
				});
				public constructor();
				public static HAS_EXTENDED_PROPERTIES: string;
				public static UID_2445: string;
				public static IS_ORGANIZER: string;
				public static ALL_DAY: string;
				public static EVENT_TIMEZONE: string;
				public static STATUS_TENTATIVE: number;
				public static RDATE: string;
				public static ACCESS_PRIVATE: number;
				public static AVAILABILITY_TENTATIVE: number;
				public static ACCESS_DEFAULT: number;
				public static EXRULE: string;
				public static STATUS: string;
				public static EVENT_LOCATION: string;
				public static EVENT_COLOR_KEY: string;
				public static CAN_INVITE_OTHERS: string;
				public static DTSTART: string;
				public static ACCESS_PUBLIC: number;
				public static AVAILABILITY: string;
				public static GUESTS_CAN_INVITE_OTHERS: string;
				public static LAST_SYNCED: string;
				public static ACCESS_LEVEL: string;
				public static TITLE: string;
				public static HAS_ATTENDEE_DATA: string;
				public static ORIGINAL_SYNC_ID: string;
				public static DURATION: string;
				public static ORGANIZER: string;
				public static ACCESS_CONFIDENTIAL: number;
				public static AVAILABILITY_FREE: number;
				public static LAST_DATE: string;
				public static EVENT_COLOR: string;
				public static RRULE: string;
				public static EVENT_END_TIMEZONE: string;
				public static SELF_ATTENDEE_STATUS: string;
				public static AVAILABILITY_BUSY: number;
				public static STATUS_CONFIRMED: number;
				public static DISPLAY_COLOR: string;
				public static ORIGINAL_ALL_DAY: string;
				public static CALENDAR_ID: string;
				public static ORIGINAL_INSTANCE_TIME: string;
				public static SYNC_DATA1: string;
				public static DESCRIPTION: string;
				public static STATUS_CANCELED: number;
				public static SYNC_DATA3: string;
				public static SYNC_DATA2: string;
				public static CUSTOM_APP_PACKAGE: string;
				public static EXDATE: string;
				public static SYNC_DATA5: string;
				public static SYNC_DATA4: string;
				public static SYNC_DATA7: string;
				public static SYNC_DATA6: string;
				public static SYNC_DATA9: string;
				public static SYNC_DATA8: string;
				public static ORIGINAL_ID: string;
				public static GUESTS_CAN_MODIFY: string;
				public static GUESTS_CAN_SEE_GUESTS: string;
				public static SYNC_DATA10: string;
				public static HAS_ALARM: string;
				public static CUSTOM_APP_URI: string;
				public static DTEND: string;
			}
			export class EventsEntity extends java.lang.Object implements android.provider.BaseColumns, android.provider.CalendarContract.SyncColumns, android.provider.CalendarContract.EventsColumns {
				public static class: java.lang.Class<android.provider.CalendarContract.EventsEntity>;
				public static CONTENT_URI: android.net.Uri;
				public static newEntityIterator(param0: android.database.Cursor, param1: android.content.ContentProviderClient): android.content.EntityIterator;
				public static newEntityIterator(param0: android.database.Cursor, param1: android.content.ContentResolver): android.content.EntityIterator;
			}
			export class ExtendedProperties extends java.lang.Object implements android.provider.BaseColumns, android.provider.CalendarContract.ExtendedPropertiesColumns, android.provider.CalendarContract.EventsColumns {
				public static class: java.lang.Class<android.provider.CalendarContract.ExtendedProperties>;
				public static CONTENT_URI: android.net.Uri;
			}
			export class ExtendedPropertiesColumns extends java.lang.Object {
				public static class: java.lang.Class<android.provider.CalendarContract.ExtendedPropertiesColumns>;
				/**
				 * Constructs a new instance of the android.provider.CalendarContract$ExtendedPropertiesColumns interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
				});
				public constructor();
				public static VALUE: string;
				public static EVENT_ID: string;
				public static NAME: string;
			}
			export class Instances extends java.lang.Object implements android.provider.BaseColumns, android.provider.CalendarContract.EventsColumns, android.provider.CalendarContract.CalendarColumns {
				public static class: java.lang.Class<android.provider.CalendarContract.Instances>;
				public static BEGIN: string;
				public static CONTENT_BY_DAY_URI: android.net.Uri;
				public static CONTENT_SEARCH_BY_DAY_URI: android.net.Uri;
				public static CONTENT_SEARCH_URI: android.net.Uri;
				public static CONTENT_URI: android.net.Uri;
				public static END: string;
				public static END_DAY: string;
				public static END_MINUTE: string;
				public static EVENT_ID: string;
				public static START_DAY: string;
				public static START_MINUTE: string;
				public static query(param0: android.content.ContentResolver, param1: native.Array<string>, param2: number, param3: number, param4: string): android.database.Cursor;
				public static query(param0: android.content.ContentResolver, param1: native.Array<string>, param2: number, param3: number): android.database.Cursor;
			}
			export class Reminders extends java.lang.Object implements android.provider.BaseColumns, android.provider.CalendarContract.RemindersColumns, android.provider.CalendarContract.EventsColumns {
				public static class: java.lang.Class<android.provider.CalendarContract.Reminders>;
				public static CONTENT_URI: android.net.Uri;
				public static query(param0: android.content.ContentResolver, param1: number, param2: native.Array<string>): android.database.Cursor;
			}
			export class RemindersColumns extends java.lang.Object {
				public static class: java.lang.Class<android.provider.CalendarContract.RemindersColumns>;
				/**
				 * Constructs a new instance of the android.provider.CalendarContract$RemindersColumns interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
				});
				public constructor();
				public static MINUTES_DEFAULT: number;
				public static METHOD_DEFAULT: number;
				public static METHOD_ALERT: number;
				public static METHOD_SMS: number;
				public static METHOD: string;
				public static METHOD_ALARM: number;
				public static MINUTES: string;
				public static EVENT_ID: string;
				public static METHOD_EMAIL: number;
			}
			export class SyncColumns extends java.lang.Object implements android.provider.CalendarContract.CalendarSyncColumns {
				public static class: java.lang.Class<android.provider.CalendarContract.SyncColumns>;
				/**
				 * Constructs a new instance of the android.provider.CalendarContract$SyncColumns interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
				});
				public constructor();
				public static ACCOUNT_NAME: string;
				public static DIRTY: string;
				public static CAN_PARTIALLY_UPDATE: string;
				public static _SYNC_ID: string;
				public static CAL_SYNC3: string;
				public static CAL_SYNC2: string;
				public static ACCOUNT_TYPE: string;
				public static CAL_SYNC1: string;
				public static CAL_SYNC10: string;
				public static CAL_SYNC9: string;
				public static CAL_SYNC8: string;
				public static CAL_SYNC7: string;
				public static DELETED: string;
				public static CAL_SYNC6: string;
				public static MUTATORS: string;
				public static CAL_SYNC5: string;
				public static CAL_SYNC4: string;
			}
			export class SyncState extends java.lang.Object implements android.provider.SyncStateContract.Columns {
				public static class: java.lang.Class<android.provider.CalendarContract.SyncState>;
				public static CONTENT_URI: android.net.Uri;
			}
		}
	}
}

declare module android {
	export module provider {
		export class CallLog extends java.lang.Object {
			public static class: java.lang.Class<android.provider.CallLog>;
			public static AUTHORITY: string;
			public static CONTENT_URI: android.net.Uri;
			public constructor();
		}
		export module CallLog {
			export class Calls extends java.lang.Object implements android.provider.BaseColumns {
				public static class: java.lang.Class<android.provider.CallLog.Calls>;
				public static ANSWERED_EXTERNALLY_TYPE: number;
				public static BLOCKED_TYPE: number;
				public static CACHED_FORMATTED_NUMBER: string;
				public static CACHED_LOOKUP_URI: string;
				public static CACHED_MATCHED_NUMBER: string;
				public static CACHED_NAME: string;
				public static CACHED_NORMALIZED_NUMBER: string;
				public static CACHED_NUMBER_LABEL: string;
				public static CACHED_NUMBER_TYPE: string;
				public static CACHED_PHOTO_ID: string;
				public static CACHED_PHOTO_URI: string;
				public static CONTENT_FILTER_URI: android.net.Uri;
				public static CONTENT_ITEM_TYPE: string;
				public static CONTENT_TYPE: string;
				public static CONTENT_URI: android.net.Uri;
				public static CONTENT_URI_WITH_VOICEMAIL: android.net.Uri;
				public static COUNTRY_ISO: string;
				public static DATA_USAGE: string;
				public static DATE: string;
				public static DEFAULT_SORT_ORDER: string;
				public static DURATION: string;
				public static EXTRA_CALL_TYPE_FILTER: string;
				public static FEATURES: string;
				public static FEATURES_HD_CALL: number;
				public static FEATURES_PULLED_EXTERNALLY: number;
				public static FEATURES_RTT: number;
				public static FEATURES_VIDEO: number;
				public static FEATURES_WIFI: number;
				public static GEOCODED_LOCATION: string;
				public static INCOMING_TYPE: number;
				public static IS_READ: string;
				public static LAST_MODIFIED: string;
				public static LIMIT_PARAM_KEY: string;
				public static MISSED_TYPE: number;
				public static NEW: string;
				public static NUMBER: string;
				public static NUMBER_PRESENTATION: string;
				public static OFFSET_PARAM_KEY: string;
				public static OUTGOING_TYPE: number;
				public static PHONE_ACCOUNT_COMPONENT_NAME: string;
				public static PHONE_ACCOUNT_ID: string;
				public static POST_DIAL_DIGITS: string;
				public static PRESENTATION_ALLOWED: number;
				public static PRESENTATION_PAYPHONE: number;
				public static PRESENTATION_RESTRICTED: number;
				public static PRESENTATION_UNKNOWN: number;
				public static REJECTED_TYPE: number;
				public static TRANSCRIPTION: string;
				public static TYPE: string;
				public static VIA_NUMBER: string;
				public static VOICEMAIL_TYPE: number;
				public static VOICEMAIL_URI: string;
				public static getLastOutgoingCall(param0: android.content.Context): string;
				public constructor();
			}
		}
	}
}

declare module android {
	export module provider {
		export class Contacts extends java.lang.Object {
			public static class: java.lang.Class<android.provider.Contacts>;
			public static AUTHORITY: string;
			public static CONTENT_URI: android.net.Uri;
			public static KIND_EMAIL: number;
			public static KIND_IM: number;
			public static KIND_ORGANIZATION: number;
			public static KIND_PHONE: number;
			public static KIND_POSTAL: number;
		}
		export module Contacts {
			export class ContactMethods extends java.lang.Object implements android.provider.BaseColumns, android.provider.Contacts.ContactMethodsColumns, android.provider.Contacts.PeopleColumns {
				public static class: java.lang.Class<android.provider.Contacts.ContactMethods>;
				public static CONTENT_EMAIL_ITEM_TYPE: string;
				public static CONTENT_EMAIL_TYPE: string;
				public static CONTENT_EMAIL_URI: android.net.Uri;
				public static CONTENT_IM_ITEM_TYPE: string;
				public static CONTENT_POSTAL_ITEM_TYPE: string;
				public static CONTENT_POSTAL_TYPE: string;
				public static CONTENT_TYPE: string;
				public static CONTENT_URI: android.net.Uri;
				public static DEFAULT_SORT_ORDER: string;
				public static PERSON_ID: string;
				public static POSTAL_LOCATION_LATITUDE: string;
				public static POSTAL_LOCATION_LONGITUDE: string;
				public static PROTOCOL_AIM: number;
				public static PROTOCOL_GOOGLE_TALK: number;
				public static PROTOCOL_ICQ: number;
				public static PROTOCOL_JABBER: number;
				public static PROTOCOL_MSN: number;
				public static PROTOCOL_QQ: number;
				public static PROTOCOL_SKYPE: number;
				public static PROTOCOL_YAHOO: number;
				/** @deprecated */
				public static encodePredefinedImProtocol(param0: number): string;
				/** @deprecated */
				public static getDisplayLabel(param0: android.content.Context, param1: number, param2: number, param3: string): string;
				/** @deprecated */
				public static decodeImProtocol(param0: string): any;
				/** @deprecated */
				public addPostalLocation(param0: android.content.Context, param1: number, param2: number, param3: number): void;
				/** @deprecated */
				public static encodeCustomImProtocol(param0: string): string;
			}
			export class ContactMethodsColumns extends java.lang.Object {
				public static class: java.lang.Class<android.provider.Contacts.ContactMethodsColumns>;
				/**
				 * Constructs a new instance of the android.provider.Contacts$ContactMethodsColumns interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
				});
				public constructor();
				public static DATA: string;
				public static ISPRIMARY: string;
				public static KIND: string;
				public static AUX_DATA: string;
				public static TYPE_HOME: number;
				public static LABEL: string;
				public static TYPE: string;
				public static TYPE_OTHER: number;
				public static TYPE_WORK: number;
				public static TYPE_CUSTOM: number;
			}
			export class Extensions extends java.lang.Object implements android.provider.BaseColumns, android.provider.Contacts.ExtensionsColumns {
				public static class: java.lang.Class<android.provider.Contacts.Extensions>;
				public static CONTENT_ITEM_TYPE: string;
				public static CONTENT_TYPE: string;
				public static CONTENT_URI: android.net.Uri;
				public static DEFAULT_SORT_ORDER: string;
				public static PERSON_ID: string;
			}
			export class ExtensionsColumns extends java.lang.Object {
				public static class: java.lang.Class<android.provider.Contacts.ExtensionsColumns>;
				/**
				 * Constructs a new instance of the android.provider.Contacts$ExtensionsColumns interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
				});
				public constructor();
				public static VALUE: string;
				public static NAME: string;
			}
			export class GroupMembership extends java.lang.Object implements android.provider.BaseColumns, android.provider.Contacts.GroupsColumns {
				public static class: java.lang.Class<android.provider.Contacts.GroupMembership>;
				public static CONTENT_DIRECTORY: string;
				public static CONTENT_ITEM_TYPE: string;
				public static CONTENT_TYPE: string;
				public static CONTENT_URI: android.net.Uri;
				public static DEFAULT_SORT_ORDER: string;
				public static GROUP_ID: string;
				public static GROUP_SYNC_ACCOUNT: string;
				public static GROUP_SYNC_ACCOUNT_TYPE: string;
				public static GROUP_SYNC_ID: string;
				public static PERSON_ID: string;
				public static RAW_CONTENT_URI: android.net.Uri;
			}
			export class Groups extends java.lang.Object implements android.provider.BaseColumns, android.provider.Contacts.GroupsColumns {
				public static class: java.lang.Class<android.provider.Contacts.Groups>;
				public static CONTENT_ITEM_TYPE: string;
				public static CONTENT_TYPE: string;
				public static CONTENT_URI: android.net.Uri;
				public static DEFAULT_SORT_ORDER: string;
				public static DELETED_CONTENT_URI: android.net.Uri;
				public static GROUP_ANDROID_STARRED: string;
				public static GROUP_MY_CONTACTS: string;
			}
			export class GroupsColumns extends java.lang.Object {
				public static class: java.lang.Class<android.provider.Contacts.GroupsColumns>;
				/**
				 * Constructs a new instance of the android.provider.Contacts$GroupsColumns interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
				});
				public constructor();
				public static NOTES: string;
				public static SHOULD_SYNC: string;
				public static NAME: string;
				public static SYSTEM_ID: string;
			}
			export class Intents extends java.lang.Object {
				public static class: java.lang.Class<android.provider.Contacts.Intents>;
				public static ATTACH_IMAGE: string;
				public static EXTRA_CREATE_DESCRIPTION: string;
				public static EXTRA_FORCE_CREATE: string;
				public static SEARCH_SUGGESTION_CLICKED: string;
				public static SEARCH_SUGGESTION_CREATE_CONTACT_CLICKED: string;
				public static SEARCH_SUGGESTION_DIAL_NUMBER_CLICKED: string;
				public static SHOW_OR_CREATE_CONTACT: string;
				/** @deprecated */
				public constructor();
			}
			export module Intents {
				export class Insert extends java.lang.Object {
					public static class: java.lang.Class<android.provider.Contacts.Intents.Insert>;
					public static ACTION: string;
					public static COMPANY: string;
					public static EMAIL: string;
					public static EMAIL_ISPRIMARY: string;
					public static EMAIL_TYPE: string;
					public static FULL_MODE: string;
					public static IM_HANDLE: string;
					public static IM_ISPRIMARY: string;
					public static IM_PROTOCOL: string;
					public static JOB_TITLE: string;
					public static NAME: string;
					public static NOTES: string;
					public static PHONE: string;
					public static PHONETIC_NAME: string;
					public static PHONE_ISPRIMARY: string;
					public static PHONE_TYPE: string;
					public static POSTAL: string;
					public static POSTAL_ISPRIMARY: string;
					public static POSTAL_TYPE: string;
					public static SECONDARY_EMAIL: string;
					public static SECONDARY_EMAIL_TYPE: string;
					public static SECONDARY_PHONE: string;
					public static SECONDARY_PHONE_TYPE: string;
					public static TERTIARY_EMAIL: string;
					public static TERTIARY_EMAIL_TYPE: string;
					public static TERTIARY_PHONE: string;
					public static TERTIARY_PHONE_TYPE: string;
					/** @deprecated */
					public constructor();
				}
				export class UI extends java.lang.Object {
					public static class: java.lang.Class<android.provider.Contacts.Intents.UI>;
					public static FILTER_CONTACTS_ACTION: string;
					public static FILTER_TEXT_EXTRA_KEY: string;
					public static GROUP_NAME_EXTRA_KEY: string;
					public static LIST_ALL_CONTACTS_ACTION: string;
					public static LIST_CONTACTS_WITH_PHONES_ACTION: string;
					public static LIST_DEFAULT: string;
					public static LIST_FREQUENT_ACTION: string;
					public static LIST_GROUP_ACTION: string;
					public static LIST_STARRED_ACTION: string;
					public static LIST_STREQUENT_ACTION: string;
					public static TITLE_EXTRA_KEY: string;
					/** @deprecated */
					public constructor();
				}
			}
			export class OrganizationColumns extends java.lang.Object {
				public static class: java.lang.Class<android.provider.Contacts.OrganizationColumns>;
				/**
				 * Constructs a new instance of the android.provider.Contacts$OrganizationColumns interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
				});
				public constructor();
				public static ISPRIMARY: string;
				public static PERSON_ID: string;
				public static LABEL: string;
				public static TITLE: string;
				public static TYPE: string;
				public static COMPANY: string;
				public static TYPE_OTHER: number;
				public static TYPE_WORK: number;
				public static TYPE_CUSTOM: number;
			}
			export class Organizations extends java.lang.Object implements android.provider.BaseColumns, android.provider.Contacts.OrganizationColumns {
				public static class: java.lang.Class<android.provider.Contacts.Organizations>;
				public static CONTENT_DIRECTORY: string;
				public static CONTENT_URI: android.net.Uri;
				public static DEFAULT_SORT_ORDER: string;
				/** @deprecated */
				public static getDisplayLabel(param0: android.content.Context, param1: number, param2: string): string;
			}
			export class People extends java.lang.Object implements android.provider.BaseColumns, android.provider.Contacts.PeopleColumns, android.provider.Contacts.PhonesColumns, android.provider.Contacts.PresenceColumns {
				public static class: java.lang.Class<android.provider.Contacts.People>;
				public static CONTENT_FILTER_URI: android.net.Uri;
				public static CONTENT_ITEM_TYPE: string;
				public static CONTENT_TYPE: string;
				public static CONTENT_URI: android.net.Uri;
				public static DEFAULT_SORT_ORDER: string;
				public static DELETED_CONTENT_URI: android.net.Uri;
				public static PRIMARY_EMAIL_ID: string;
				public static PRIMARY_ORGANIZATION_ID: string;
				public static PRIMARY_PHONE_ID: string;
				/** @deprecated */
				public static addToGroup(param0: android.content.ContentResolver, param1: number, param2: string): android.net.Uri;
				/** @deprecated */
				public static markAsContacted(param0: android.content.ContentResolver, param1: number): void;
				/** @deprecated */
				public static openContactPhotoInputStream(param0: android.content.ContentResolver, param1: android.net.Uri): java.io.InputStream;
				/** @deprecated */
				public static addToMyContactsGroup(param0: android.content.ContentResolver, param1: number): android.net.Uri;
				/** @deprecated */
				public static setPhotoData(param0: android.content.ContentResolver, param1: android.net.Uri, param2: native.Array<number>): void;
				/** @deprecated */
				public static queryGroups(param0: android.content.ContentResolver, param1: number): android.database.Cursor;
				/** @deprecated */
				public static loadContactPhoto(param0: android.content.Context, param1: android.net.Uri, param2: number, param3: android.graphics.BitmapFactory.Options): android.graphics.Bitmap;
				/** @deprecated */
				public static addToGroup(param0: android.content.ContentResolver, param1: number, param2: number): android.net.Uri;
				/** @deprecated */
				public static createPersonInMyContactsGroup(param0: android.content.ContentResolver, param1: android.content.ContentValues): android.net.Uri;
			}
			export module People {
				export class ContactMethods extends java.lang.Object implements android.provider.BaseColumns, android.provider.Contacts.ContactMethodsColumns, android.provider.Contacts.PeopleColumns {
					public static class: java.lang.Class<android.provider.Contacts.People.ContactMethods>;
					public static CONTENT_DIRECTORY: string;
					public static DEFAULT_SORT_ORDER: string;
				}
				export class Extensions extends java.lang.Object implements android.provider.BaseColumns, android.provider.Contacts.ExtensionsColumns {
					public static class: java.lang.Class<android.provider.Contacts.People.Extensions>;
					public static CONTENT_DIRECTORY: string;
					public static DEFAULT_SORT_ORDER: string;
					public static PERSON_ID: string;
				}
				export class Phones extends java.lang.Object implements android.provider.BaseColumns, android.provider.Contacts.PhonesColumns, android.provider.Contacts.PeopleColumns {
					public static class: java.lang.Class<android.provider.Contacts.People.Phones>;
					public static CONTENT_DIRECTORY: string;
					public static DEFAULT_SORT_ORDER: string;
				}
			}
			export class PeopleColumns extends java.lang.Object {
				public static class: java.lang.Class<android.provider.Contacts.PeopleColumns>;
				/**
				 * Constructs a new instance of the android.provider.Contacts$PeopleColumns interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
				});
				public constructor();
				public static NOTES: string;
				public static PHONETIC_NAME: string;
				public static TIMES_CONTACTED: string;
				public static SEND_TO_VOICEMAIL: string;
				public static CUSTOM_RINGTONE: string;
				public static STARRED: string;
				public static PHOTO_VERSION: string;
				public static LAST_TIME_CONTACTED: string;
				public static NAME: string;
				public static DISPLAY_NAME: string;
			}
			export class Phones extends java.lang.Object implements android.provider.BaseColumns, android.provider.Contacts.PhonesColumns, android.provider.Contacts.PeopleColumns {
				public static class: java.lang.Class<android.provider.Contacts.Phones>;
				public static CONTENT_FILTER_URL: android.net.Uri;
				public static CONTENT_ITEM_TYPE: string;
				public static CONTENT_TYPE: string;
				public static CONTENT_URI: android.net.Uri;
				public static DEFAULT_SORT_ORDER: string;
				public static PERSON_ID: string;
				/** @deprecated */
				public static getDisplayLabel(param0: android.content.Context, param1: number, param2: string, param3: native.Array<string>): string;
				/** @deprecated */
				public static getDisplayLabel(param0: android.content.Context, param1: number, param2: string): string;
			}
			export class PhonesColumns extends java.lang.Object {
				public static class: java.lang.Class<android.provider.Contacts.PhonesColumns>;
				/**
				 * Constructs a new instance of the android.provider.Contacts$PhonesColumns interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
				});
				public constructor();
				public static ISPRIMARY: string;
				public static NUMBER_KEY: string;
				public static TYPE_PAGER: number;
				public static TYPE_HOME: number;
				public static LABEL: string;
				public static TYPE: string;
				public static TYPE_OTHER: number;
				public static TYPE_WORK: number;
				public static TYPE_FAX_WORK: number;
				public static NUMBER: string;
				public static TYPE_FAX_HOME: number;
				public static TYPE_MOBILE: number;
				public static TYPE_CUSTOM: number;
			}
			export class Photos extends java.lang.Object implements android.provider.BaseColumns, android.provider.Contacts.PhotosColumns {
				public static class: java.lang.Class<android.provider.Contacts.Photos>;
				public static CONTENT_DIRECTORY: string;
				public static CONTENT_URI: android.net.Uri;
				public static DEFAULT_SORT_ORDER: string;
			}
			export class PhotosColumns extends java.lang.Object {
				public static class: java.lang.Class<android.provider.Contacts.PhotosColumns>;
				/**
				 * Constructs a new instance of the android.provider.Contacts$PhotosColumns interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
				});
				public constructor();
				public static SYNC_ERROR: string;
				public static DATA: string;
				public static EXISTS_ON_SERVER: string;
				public static PERSON_ID: string;
				public static DOWNLOAD_REQUIRED: string;
				public static LOCAL_VERSION: string;
			}
			export class PresenceColumns extends java.lang.Object {
				public static class: java.lang.Class<android.provider.Contacts.PresenceColumns>;
				/**
				 * Constructs a new instance of the android.provider.Contacts$PresenceColumns interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
				});
				public constructor();
				public static IM_HANDLE: string;
				public static IM_PROTOCOL: string;
				public static PRESENCE_STATUS: string;
				public static DO_NOT_DISTURB: number;
				public static IM_ACCOUNT: string;
				public static OFFLINE: number;
				public static INVISIBLE: number;
				public static AVAILABLE: number;
				public static AWAY: number;
				public static PRESENCE_CUSTOM_STATUS: string;
				public static PRIORITY: string;
				public static IDLE: number;
			}
			export class Settings extends java.lang.Object implements android.provider.BaseColumns, android.provider.Contacts.SettingsColumns {
				public static class: java.lang.Class<android.provider.Contacts.Settings>;
				public static CONTENT_DIRECTORY: string;
				public static CONTENT_URI: android.net.Uri;
				public static DEFAULT_SORT_ORDER: string;
				public static SYNC_EVERYTHING: string;
				/** @deprecated */
				public static setSetting(param0: android.content.ContentResolver, param1: string, param2: string, param3: string): void;
				/** @deprecated */
				public static getSetting(param0: android.content.ContentResolver, param1: string, param2: string): string;
			}
			export class SettingsColumns extends java.lang.Object {
				public static class: java.lang.Class<android.provider.Contacts.SettingsColumns>;
				/**
				 * Constructs a new instance of the android.provider.Contacts$SettingsColumns interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
				});
				public constructor();
				public static _SYNC_ACCOUNT_TYPE: string;
				public static VALUE: string;
				public static _SYNC_ACCOUNT: string;
				public static KEY: string;
			}
		}
	}
}

declare module android {
	export module provider {
		export class ContactsContract extends java.lang.Object {
			public static class: java.lang.Class<android.provider.ContactsContract>;
			public static AUTHORITY: string;
			public static AUTHORITY_URI: android.net.Uri;
			public static CALLER_IS_SYNCADAPTER: string;
			public static DEFERRED_SNIPPETING: string;
			public static DEFERRED_SNIPPETING_QUERY: string;
			public static DIRECTORY_PARAM_KEY: string;
			public static LIMIT_PARAM_KEY: string;
			public static PRIMARY_ACCOUNT_NAME: string;
			public static PRIMARY_ACCOUNT_TYPE: string;
			public static REMOVE_DUPLICATE_ENTRIES: string;
			public static STREQUENT_PHONE_ONLY: string;
			public static isProfileId(param0: number): boolean;
			public constructor();
		}
		export module ContactsContract {
			export class AggregationExceptions extends java.lang.Object implements android.provider.BaseColumns {
				public static class: java.lang.Class<android.provider.ContactsContract.AggregationExceptions>;
				public static CONTENT_ITEM_TYPE: string;
				public static CONTENT_TYPE: string;
				public static CONTENT_URI: android.net.Uri;
				public static RAW_CONTACT_ID1: string;
				public static RAW_CONTACT_ID2: string;
				public static TYPE: string;
				public static TYPE_AUTOMATIC: number;
				public static TYPE_KEEP_SEPARATE: number;
				public static TYPE_KEEP_TOGETHER: number;
			}
			export class BaseSyncColumns extends java.lang.Object {
				public static class: java.lang.Class<android.provider.ContactsContract.BaseSyncColumns>;
				/**
				 * Constructs a new instance of the android.provider.ContactsContract$BaseSyncColumns interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
				});
				public constructor();
				public static SYNC3: string;
				public static SYNC4: string;
				public static SYNC1: string;
				public static SYNC2: string;
			}
			export class CommonDataKinds extends java.lang.Object {
				public static class: java.lang.Class<android.provider.ContactsContract.CommonDataKinds>;
			}
			export module CommonDataKinds {
				export class BaseTypes extends java.lang.Object {
					public static class: java.lang.Class<android.provider.ContactsContract.CommonDataKinds.BaseTypes>;
					/**
					 * Constructs a new instance of the android.provider.ContactsContract$CommonDataKinds$BaseTypes interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
					});
					public constructor();
					public static TYPE_CUSTOM: number;
				}
				export class Callable extends java.lang.Object implements android.provider.ContactsContract.DataColumnsWithJoins, android.provider.ContactsContract.CommonDataKinds.CommonColumns {
					public static class: java.lang.Class<android.provider.ContactsContract.CommonDataKinds.Callable>;
					public static CONTENT_FILTER_URI: android.net.Uri;
					public static CONTENT_URI: android.net.Uri;
					public static ENTERPRISE_CONTENT_FILTER_URI: android.net.Uri;
					public static EXTRA_ADDRESS_BOOK_INDEX: string;
					public static EXTRA_ADDRESS_BOOK_INDEX_COUNTS: string;
					public static EXTRA_ADDRESS_BOOK_INDEX_TITLES: string;
					public constructor();
				}
				export class CommonColumns extends java.lang.Object implements android.provider.ContactsContract.CommonDataKinds.BaseTypes {
					public static class: java.lang.Class<android.provider.ContactsContract.CommonDataKinds.CommonColumns>;
					/**
					 * Constructs a new instance of the android.provider.ContactsContract$CommonDataKinds$CommonColumns interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
					});
					public constructor();
					public static DATA: string;
					public static LABEL: string;
					public static TYPE: string;
					public static TYPE_CUSTOM: number;
				}
				export class Contactables extends java.lang.Object implements android.provider.ContactsContract.DataColumnsWithJoins, android.provider.ContactsContract.CommonDataKinds.CommonColumns {
					public static class: java.lang.Class<android.provider.ContactsContract.CommonDataKinds.Contactables>;
					public static CONTENT_FILTER_URI: android.net.Uri;
					public static CONTENT_URI: android.net.Uri;
					public static EXTRA_ADDRESS_BOOK_INDEX: string;
					public static EXTRA_ADDRESS_BOOK_INDEX_COUNTS: string;
					public static EXTRA_ADDRESS_BOOK_INDEX_TITLES: string;
					public static VISIBLE_CONTACTS_ONLY: string;
					public constructor();
				}
				export class Email extends java.lang.Object implements android.provider.ContactsContract.DataColumnsWithJoins, android.provider.ContactsContract.CommonDataKinds.CommonColumns {
					public static class: java.lang.Class<android.provider.ContactsContract.CommonDataKinds.Email>;
					public static ADDRESS: string;
					public static CONTENT_FILTER_URI: android.net.Uri;
					public static CONTENT_ITEM_TYPE: string;
					public static CONTENT_LOOKUP_URI: android.net.Uri;
					public static CONTENT_TYPE: string;
					public static CONTENT_URI: android.net.Uri;
					public static DISPLAY_NAME: string;
					public static ENTERPRISE_CONTENT_FILTER_URI: android.net.Uri;
					public static ENTERPRISE_CONTENT_LOOKUP_URI: android.net.Uri;
					public static EXTRA_ADDRESS_BOOK_INDEX: string;
					public static EXTRA_ADDRESS_BOOK_INDEX_COUNTS: string;
					public static EXTRA_ADDRESS_BOOK_INDEX_TITLES: string;
					public static TYPE_HOME: number;
					public static TYPE_MOBILE: number;
					public static TYPE_OTHER: number;
					public static TYPE_WORK: number;
					public static getTypeLabel(param0: android.content.res.Resources, param1: number, param2: string): string;
					public static getTypeLabelResource(param0: number): number;
				}
				export class Event extends java.lang.Object implements android.provider.ContactsContract.DataColumnsWithJoins, android.provider.ContactsContract.CommonDataKinds.CommonColumns {
					public static class: java.lang.Class<android.provider.ContactsContract.CommonDataKinds.Event>;
					public static CONTENT_ITEM_TYPE: string;
					public static EXTRA_ADDRESS_BOOK_INDEX: string;
					public static EXTRA_ADDRESS_BOOK_INDEX_COUNTS: string;
					public static EXTRA_ADDRESS_BOOK_INDEX_TITLES: string;
					public static START_DATE: string;
					public static TYPE_ANNIVERSARY: number;
					public static TYPE_BIRTHDAY: number;
					public static TYPE_OTHER: number;
					public static getTypeResource(param0: java.lang.Integer): number;
					public static getTypeLabel(param0: android.content.res.Resources, param1: number, param2: string): string;
				}
				export class GroupMembership extends java.lang.Object implements android.provider.ContactsContract.DataColumnsWithJoins {
					public static class: java.lang.Class<android.provider.ContactsContract.CommonDataKinds.GroupMembership>;
					public static CONTENT_ITEM_TYPE: string;
					public static EXTRA_ADDRESS_BOOK_INDEX: string;
					public static EXTRA_ADDRESS_BOOK_INDEX_COUNTS: string;
					public static EXTRA_ADDRESS_BOOK_INDEX_TITLES: string;
					public static GROUP_ROW_ID: string;
					public static GROUP_SOURCE_ID: string;
				}
				export class Identity extends java.lang.Object implements android.provider.ContactsContract.DataColumnsWithJoins {
					public static class: java.lang.Class<android.provider.ContactsContract.CommonDataKinds.Identity>;
					public static CONTENT_ITEM_TYPE: string;
					public static EXTRA_ADDRESS_BOOK_INDEX: string;
					public static EXTRA_ADDRESS_BOOK_INDEX_COUNTS: string;
					public static EXTRA_ADDRESS_BOOK_INDEX_TITLES: string;
					public static IDENTITY: string;
					public static NAMESPACE: string;
				}
				export class Im extends java.lang.Object implements android.provider.ContactsContract.DataColumnsWithJoins, android.provider.ContactsContract.CommonDataKinds.CommonColumns {
					public static class: java.lang.Class<android.provider.ContactsContract.CommonDataKinds.Im>;
					public static CONTENT_ITEM_TYPE: string;
					public static CUSTOM_PROTOCOL: string;
					public static EXTRA_ADDRESS_BOOK_INDEX: string;
					public static EXTRA_ADDRESS_BOOK_INDEX_COUNTS: string;
					public static EXTRA_ADDRESS_BOOK_INDEX_TITLES: string;
					public static PROTOCOL: string;
					public static PROTOCOL_AIM: number;
					public static PROTOCOL_CUSTOM: number;
					public static PROTOCOL_GOOGLE_TALK: number;
					public static PROTOCOL_ICQ: number;
					public static PROTOCOL_JABBER: number;
					public static PROTOCOL_MSN: number;
					public static PROTOCOL_NETMEETING: number;
					public static PROTOCOL_QQ: number;
					public static PROTOCOL_SKYPE: number;
					public static PROTOCOL_YAHOO: number;
					public static TYPE_HOME: number;
					public static TYPE_OTHER: number;
					public static TYPE_WORK: number;
					public static getProtocolLabelResource(param0: number): number;
					public static getTypeLabel(param0: android.content.res.Resources, param1: number, param2: string): string;
					public static getProtocolLabel(param0: android.content.res.Resources, param1: number, param2: string): string;
					public static getTypeLabelResource(param0: number): number;
				}
				export class Nickname extends java.lang.Object implements android.provider.ContactsContract.DataColumnsWithJoins, android.provider.ContactsContract.CommonDataKinds.CommonColumns {
					public static class: java.lang.Class<android.provider.ContactsContract.CommonDataKinds.Nickname>;
					public static CONTENT_ITEM_TYPE: string;
					public static EXTRA_ADDRESS_BOOK_INDEX: string;
					public static EXTRA_ADDRESS_BOOK_INDEX_COUNTS: string;
					public static EXTRA_ADDRESS_BOOK_INDEX_TITLES: string;
					public static NAME: string;
					public static TYPE_DEFAULT: number;
					public static TYPE_INITIALS: number;
					public static TYPE_MAIDEN_NAME: number;
					public static TYPE_MAINDEN_NAME: number;
					public static TYPE_OTHER_NAME: number;
					public static TYPE_SHORT_NAME: number;
				}
				export class Note extends java.lang.Object implements android.provider.ContactsContract.DataColumnsWithJoins {
					public static class: java.lang.Class<android.provider.ContactsContract.CommonDataKinds.Note>;
					public static CONTENT_ITEM_TYPE: string;
					public static EXTRA_ADDRESS_BOOK_INDEX: string;
					public static EXTRA_ADDRESS_BOOK_INDEX_COUNTS: string;
					public static EXTRA_ADDRESS_BOOK_INDEX_TITLES: string;
					public static NOTE: string;
				}
				export class Organization extends java.lang.Object implements android.provider.ContactsContract.DataColumnsWithJoins, android.provider.ContactsContract.CommonDataKinds.CommonColumns {
					public static class: java.lang.Class<android.provider.ContactsContract.CommonDataKinds.Organization>;
					public static COMPANY: string;
					public static CONTENT_ITEM_TYPE: string;
					public static DEPARTMENT: string;
					public static EXTRA_ADDRESS_BOOK_INDEX: string;
					public static EXTRA_ADDRESS_BOOK_INDEX_COUNTS: string;
					public static EXTRA_ADDRESS_BOOK_INDEX_TITLES: string;
					public static JOB_DESCRIPTION: string;
					public static OFFICE_LOCATION: string;
					public static PHONETIC_NAME: string;
					public static PHONETIC_NAME_STYLE: string;
					public static SYMBOL: string;
					public static TITLE: string;
					public static TYPE_OTHER: number;
					public static TYPE_WORK: number;
					public static getTypeLabel(param0: android.content.res.Resources, param1: number, param2: string): string;
					public static getTypeLabelResource(param0: number): number;
				}
				export class Phone extends java.lang.Object implements android.provider.ContactsContract.DataColumnsWithJoins, android.provider.ContactsContract.CommonDataKinds.CommonColumns {
					public static class: java.lang.Class<android.provider.ContactsContract.CommonDataKinds.Phone>;
					public static CONTENT_FILTER_URI: android.net.Uri;
					public static CONTENT_ITEM_TYPE: string;
					public static CONTENT_TYPE: string;
					public static CONTENT_URI: android.net.Uri;
					public static ENTERPRISE_CONTENT_FILTER_URI: android.net.Uri;
					public static EXTRA_ADDRESS_BOOK_INDEX: string;
					public static EXTRA_ADDRESS_BOOK_INDEX_COUNTS: string;
					public static EXTRA_ADDRESS_BOOK_INDEX_TITLES: string;
					public static NORMALIZED_NUMBER: string;
					public static NUMBER: string;
					public static SEARCH_DISPLAY_NAME_KEY: string;
					public static SEARCH_PHONE_NUMBER_KEY: string;
					public static TYPE_ASSISTANT: number;
					public static TYPE_CALLBACK: number;
					public static TYPE_CAR: number;
					public static TYPE_COMPANY_MAIN: number;
					public static TYPE_FAX_HOME: number;
					public static TYPE_FAX_WORK: number;
					public static TYPE_HOME: number;
					public static TYPE_ISDN: number;
					public static TYPE_MAIN: number;
					public static TYPE_MMS: number;
					public static TYPE_MOBILE: number;
					public static TYPE_OTHER: number;
					public static TYPE_OTHER_FAX: number;
					public static TYPE_PAGER: number;
					public static TYPE_RADIO: number;
					public static TYPE_TELEX: number;
					public static TYPE_TTY_TDD: number;
					public static TYPE_WORK: number;
					public static TYPE_WORK_MOBILE: number;
					public static TYPE_WORK_PAGER: number;
					public static getTypeLabel(param0: android.content.res.Resources, param1: number, param2: string): string;
					public static getTypeLabelResource(param0: number): number;
				}
				export class Photo extends java.lang.Object implements android.provider.ContactsContract.DataColumnsWithJoins {
					public static class: java.lang.Class<android.provider.ContactsContract.CommonDataKinds.Photo>;
					public static CONTENT_ITEM_TYPE: string;
					public static EXTRA_ADDRESS_BOOK_INDEX: string;
					public static EXTRA_ADDRESS_BOOK_INDEX_COUNTS: string;
					public static EXTRA_ADDRESS_BOOK_INDEX_TITLES: string;
					public static PHOTO: string;
					public static PHOTO_FILE_ID: string;
				}
				export class Relation extends java.lang.Object implements android.provider.ContactsContract.DataColumnsWithJoins, android.provider.ContactsContract.CommonDataKinds.CommonColumns {
					public static class: java.lang.Class<android.provider.ContactsContract.CommonDataKinds.Relation>;
					public static CONTENT_ITEM_TYPE: string;
					public static EXTRA_ADDRESS_BOOK_INDEX: string;
					public static EXTRA_ADDRESS_BOOK_INDEX_COUNTS: string;
					public static EXTRA_ADDRESS_BOOK_INDEX_TITLES: string;
					public static NAME: string;
					public static TYPE_ASSISTANT: number;
					public static TYPE_BROTHER: number;
					public static TYPE_CHILD: number;
					public static TYPE_DOMESTIC_PARTNER: number;
					public static TYPE_FATHER: number;
					public static TYPE_FRIEND: number;
					public static TYPE_MANAGER: number;
					public static TYPE_MOTHER: number;
					public static TYPE_PARENT: number;
					public static TYPE_PARTNER: number;
					public static TYPE_REFERRED_BY: number;
					public static TYPE_RELATIVE: number;
					public static TYPE_SISTER: number;
					public static TYPE_SPOUSE: number;
					public static getTypeLabel(param0: android.content.res.Resources, param1: number, param2: string): string;
					public static getTypeLabelResource(param0: number): number;
				}
				export class SipAddress extends java.lang.Object implements android.provider.ContactsContract.DataColumnsWithJoins, android.provider.ContactsContract.CommonDataKinds.CommonColumns {
					public static class: java.lang.Class<android.provider.ContactsContract.CommonDataKinds.SipAddress>;
					public static CONTENT_ITEM_TYPE: string;
					public static EXTRA_ADDRESS_BOOK_INDEX: string;
					public static EXTRA_ADDRESS_BOOK_INDEX_COUNTS: string;
					public static EXTRA_ADDRESS_BOOK_INDEX_TITLES: string;
					public static SIP_ADDRESS: string;
					public static TYPE_HOME: number;
					public static TYPE_OTHER: number;
					public static TYPE_WORK: number;
					public static getTypeLabel(param0: android.content.res.Resources, param1: number, param2: string): string;
					public static getTypeLabelResource(param0: number): number;
				}
				export class StructuredName extends java.lang.Object implements android.provider.ContactsContract.DataColumnsWithJoins {
					public static class: java.lang.Class<android.provider.ContactsContract.CommonDataKinds.StructuredName>;
					public static CONTENT_ITEM_TYPE: string;
					public static DISPLAY_NAME: string;
					public static EXTRA_ADDRESS_BOOK_INDEX: string;
					public static EXTRA_ADDRESS_BOOK_INDEX_COUNTS: string;
					public static EXTRA_ADDRESS_BOOK_INDEX_TITLES: string;
					public static FAMILY_NAME: string;
					public static FULL_NAME_STYLE: string;
					public static GIVEN_NAME: string;
					public static MIDDLE_NAME: string;
					public static PHONETIC_FAMILY_NAME: string;
					public static PHONETIC_GIVEN_NAME: string;
					public static PHONETIC_MIDDLE_NAME: string;
					public static PHONETIC_NAME_STYLE: string;
					public static PREFIX: string;
					public static SUFFIX: string;
				}
				export class StructuredPostal extends java.lang.Object implements android.provider.ContactsContract.DataColumnsWithJoins, android.provider.ContactsContract.CommonDataKinds.CommonColumns {
					public static class: java.lang.Class<android.provider.ContactsContract.CommonDataKinds.StructuredPostal>;
					public static CITY: string;
					public static CONTENT_ITEM_TYPE: string;
					public static CONTENT_TYPE: string;
					public static CONTENT_URI: android.net.Uri;
					public static COUNTRY: string;
					public static EXTRA_ADDRESS_BOOK_INDEX: string;
					public static EXTRA_ADDRESS_BOOK_INDEX_COUNTS: string;
					public static EXTRA_ADDRESS_BOOK_INDEX_TITLES: string;
					public static FORMATTED_ADDRESS: string;
					public static NEIGHBORHOOD: string;
					public static POBOX: string;
					public static POSTCODE: string;
					public static REGION: string;
					public static STREET: string;
					public static TYPE_HOME: number;
					public static TYPE_OTHER: number;
					public static TYPE_WORK: number;
					public static getTypeLabel(param0: android.content.res.Resources, param1: number, param2: string): string;
					public static getTypeLabelResource(param0: number): number;
				}
				export class Website extends java.lang.Object implements android.provider.ContactsContract.DataColumnsWithJoins, android.provider.ContactsContract.CommonDataKinds.CommonColumns {
					public static class: java.lang.Class<android.provider.ContactsContract.CommonDataKinds.Website>;
					public static CONTENT_ITEM_TYPE: string;
					public static EXTRA_ADDRESS_BOOK_INDEX: string;
					public static EXTRA_ADDRESS_BOOK_INDEX_COUNTS: string;
					public static EXTRA_ADDRESS_BOOK_INDEX_TITLES: string;
					public static TYPE_BLOG: number;
					public static TYPE_FTP: number;
					public static TYPE_HOME: number;
					public static TYPE_HOMEPAGE: number;
					public static TYPE_OTHER: number;
					public static TYPE_PROFILE: number;
					public static TYPE_WORK: number;
					public static URL: string;
				}
			}
			export class ContactNameColumns extends java.lang.Object {
				public static class: java.lang.Class<android.provider.ContactsContract.ContactNameColumns>;
				/**
				 * Constructs a new instance of the android.provider.ContactsContract$ContactNameColumns interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
				});
				public constructor();
				public static PHONETIC_NAME: string;
				public static SORT_KEY_PRIMARY: string;
				public static PHONETIC_NAME_STYLE: string;
				public static SORT_KEY_ALTERNATIVE: string;
				public static DISPLAY_NAME_SOURCE: string;
				public static DISPLAY_NAME_ALTERNATIVE: string;
				public static DISPLAY_NAME_PRIMARY: string;
			}
			export class ContactOptionsColumns extends java.lang.Object {
				public static class: java.lang.Class<android.provider.ContactsContract.ContactOptionsColumns>;
				/**
				 * Constructs a new instance of the android.provider.ContactsContract$ContactOptionsColumns interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
				});
				public constructor();
				public static TIMES_CONTACTED: string;
				public static PINNED: string;
				public static SEND_TO_VOICEMAIL: string;
				public static CUSTOM_RINGTONE: string;
				public static STARRED: string;
				public static LAST_TIME_CONTACTED: string;
			}
			export class ContactStatusColumns extends java.lang.Object {
				public static class: java.lang.Class<android.provider.ContactsContract.ContactStatusColumns>;
				/**
				 * Constructs a new instance of the android.provider.ContactsContract$ContactStatusColumns interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
				});
				public constructor();
				public static CONTACT_STATUS_TIMESTAMP: string;
				public static CONTACT_CHAT_CAPABILITY: string;
				public static CONTACT_STATUS: string;
				public static CONTACT_STATUS_RES_PACKAGE: string;
				public static CONTACT_STATUS_LABEL: string;
				public static CONTACT_PRESENCE: string;
				public static CONTACT_STATUS_ICON: string;
			}
			export class Contacts extends java.lang.Object implements android.provider.BaseColumns, android.provider.ContactsContract.ContactsColumns, android.provider.ContactsContract.ContactOptionsColumns, android.provider.ContactsContract.ContactNameColumns, android.provider.ContactsContract.ContactStatusColumns {
				public static class: java.lang.Class<android.provider.ContactsContract.Contacts>;
				public static CONTENT_FILTER_URI: android.net.Uri;
				public static CONTENT_FREQUENT_URI: android.net.Uri;
				public static CONTENT_GROUP_URI: android.net.Uri;
				public static CONTENT_ITEM_TYPE: string;
				public static CONTENT_LOOKUP_URI: android.net.Uri;
				public static CONTENT_MULTI_VCARD_URI: android.net.Uri;
				public static CONTENT_STREQUENT_FILTER_URI: android.net.Uri;
				public static CONTENT_STREQUENT_URI: android.net.Uri;
				public static CONTENT_TYPE: string;
				public static CONTENT_URI: android.net.Uri;
				public static CONTENT_VCARD_TYPE: string;
				public static CONTENT_VCARD_URI: android.net.Uri;
				public static ENTERPRISE_CONTENT_FILTER_URI: android.net.Uri;
				public static EXTRA_ADDRESS_BOOK_INDEX: string;
				public static EXTRA_ADDRESS_BOOK_INDEX_COUNTS: string;
				public static EXTRA_ADDRESS_BOOK_INDEX_TITLES: string;
				public static QUERY_PARAMETER_VCARD_NO_PHOTO: string;
				public static getLookupUri(param0: android.content.ContentResolver, param1: android.net.Uri): android.net.Uri;
				/** @deprecated */
				public static markAsContacted(param0: android.content.ContentResolver, param1: number): void;
				public static openContactPhotoInputStream(param0: android.content.ContentResolver, param1: android.net.Uri): java.io.InputStream;
				public static getLookupUri(param0: number, param1: string): android.net.Uri;
				public static openContactPhotoInputStream(param0: android.content.ContentResolver, param1: android.net.Uri, param2: boolean): java.io.InputStream;
				public static lookupContact(param0: android.content.ContentResolver, param1: android.net.Uri): android.net.Uri;
				public static isEnterpriseContactId(param0: number): boolean;
			}
			export module Contacts {
				export class AggregationSuggestions extends java.lang.Object implements android.provider.BaseColumns, android.provider.ContactsContract.ContactsColumns, android.provider.ContactsContract.ContactOptionsColumns, android.provider.ContactsContract.ContactStatusColumns {
					public static class: java.lang.Class<android.provider.ContactsContract.Contacts.AggregationSuggestions>;
					public static CONTENT_DIRECTORY: string;
				}
				export module AggregationSuggestions {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<android.provider.ContactsContract.Contacts.AggregationSuggestions.Builder>;
						public addNameParameter(param0: string): android.provider.ContactsContract.Contacts.AggregationSuggestions.Builder;
						public constructor();
						public setLimit(param0: number): android.provider.ContactsContract.Contacts.AggregationSuggestions.Builder;
						public build(): android.net.Uri;
						public setContactId(param0: number): android.provider.ContactsContract.Contacts.AggregationSuggestions.Builder;
					}
				}
				export class Data extends java.lang.Object implements android.provider.BaseColumns, android.provider.ContactsContract.DataColumns {
					public static class: java.lang.Class<android.provider.ContactsContract.Contacts.Data>;
					public static CONTENT_DIRECTORY: string;
				}
				export class Entity extends java.lang.Object implements android.provider.BaseColumns, android.provider.ContactsContract.ContactsColumns, android.provider.ContactsContract.ContactNameColumns, android.provider.ContactsContract.RawContactsColumns, android.provider.ContactsContract.BaseSyncColumns, android.provider.ContactsContract.SyncColumns, android.provider.ContactsContract.DataColumns, android.provider.ContactsContract.StatusColumns, android.provider.ContactsContract.ContactOptionsColumns, android.provider.ContactsContract.ContactStatusColumns, android.provider.ContactsContract.DataUsageStatColumns {
					public static class: java.lang.Class<android.provider.ContactsContract.Contacts.Entity>;
					public static CONTENT_DIRECTORY: string;
					public static DATA_ID: string;
					public static RAW_CONTACT_ID: string;
				}
				export class Photo extends java.lang.Object implements android.provider.BaseColumns, android.provider.ContactsContract.DataColumnsWithJoins {
					public static class: java.lang.Class<android.provider.ContactsContract.Contacts.Photo>;
					public static CONTENT_DIRECTORY: string;
					public static DISPLAY_PHOTO: string;
					public static PHOTO: string;
					public static PHOTO_FILE_ID: string;
				}
			}
			export class ContactsColumns extends java.lang.Object {
				public static class: java.lang.Class<android.provider.ContactsContract.ContactsColumns>;
				/**
				 * Constructs a new instance of the android.provider.ContactsContract$ContactsColumns interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
				});
				public constructor();
				public static IS_USER_PROFILE: string;
				public static LOOKUP_KEY: string;
				public static IN_VISIBLE_GROUP: string;
				public static NAME_RAW_CONTACT_ID: string;
				public static PHOTO_THUMBNAIL_URI: string;
				public static HAS_PHONE_NUMBER: string;
				public static IN_DEFAULT_DIRECTORY: string;
				public static PHOTO_FILE_ID: string;
				public static CONTACT_LAST_UPDATED_TIMESTAMP: string;
				public static PHOTO_ID: string;
				public static PHOTO_URI: string;
				public static DISPLAY_NAME: string;
			}
			export class Data extends java.lang.Object implements android.provider.ContactsContract.DataColumnsWithJoins {
				public static class: java.lang.Class<android.provider.ContactsContract.Data>;
				public static CONTENT_TYPE: string;
				public static CONTENT_URI: android.net.Uri;
				public static EXTRA_ADDRESS_BOOK_INDEX: string;
				public static EXTRA_ADDRESS_BOOK_INDEX_COUNTS: string;
				public static EXTRA_ADDRESS_BOOK_INDEX_TITLES: string;
				public static VISIBLE_CONTACTS_ONLY: string;
				public static getContactLookupUri(param0: android.content.ContentResolver, param1: android.net.Uri): android.net.Uri;
			}
			export class DataColumns extends java.lang.Object {
				public static class: java.lang.Class<android.provider.ContactsContract.DataColumns>;
				/**
				 * Constructs a new instance of the android.provider.ContactsContract$DataColumns interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
				});
				public constructor();
				public static IS_PRIMARY: string;
				public static CARRIER_PRESENCE: string;
				public static DATA_VERSION: string;
				public static IS_READ_ONLY: string;
				public static IS_SUPER_PRIMARY: string;
				public static DATA6: string;
				public static DATA7: string;
				public static DATA8: string;
				public static DATA9: string;
				public static DATA2: string;
				public static DATA3: string;
				public static MIMETYPE: string;
				public static DATA4: string;
				public static DATA5: string;
				public static PREFERRED_PHONE_ACCOUNT_ID: string;
				public static PREFERRED_PHONE_ACCOUNT_COMPONENT_NAME: string;
				public static DATA1: string;
				public static RES_PACKAGE: string;
				public static CARRIER_PRESENCE_VT_CAPABLE: number;
				public static RAW_CONTACT_ID: string;
				public static SYNC3: string;
				public static SYNC4: string;
				public static DATA14: string;
				public static DATA13: string;
				public static DATA15: string;
				public static DATA10: string;
				public static SYNC1: string;
				public static SYNC2: string;
				public static DATA12: string;
				public static DATA11: string;
			}
			export class DataColumnsWithJoins extends java.lang.Object implements android.provider.BaseColumns, android.provider.ContactsContract.DataColumns, android.provider.ContactsContract.StatusColumns, android.provider.ContactsContract.RawContactsColumns, android.provider.ContactsContract.ContactsColumns, android.provider.ContactsContract.ContactNameColumns, android.provider.ContactsContract.ContactOptionsColumns, android.provider.ContactsContract.ContactStatusColumns, android.provider.ContactsContract.DataUsageStatColumns {
				public static class: java.lang.Class<android.provider.ContactsContract.DataColumnsWithJoins>;
				/**
				 * Constructs a new instance of the android.provider.ContactsContract$DataColumnsWithJoins interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
				});
				public constructor();
				public static CHAT_CAPABILITY: string;
				public static STATUS_TIMESTAMP: string;
				public static PHONETIC_NAME_STYLE: string;
				public static _ID: string;
				public static METADATA_DIRTY: string;
				public static CAPABILITY_HAS_CAMERA: number;
				public static PRESENCE_CUSTOM_STATUS: string;
				public static PHOTO_URI: string;
				public static CONTACT_STATUS_ICON: string;
				public static IN_VISIBLE_GROUP: string;
				public static IN_DEFAULT_DIRECTORY: string;
				public static CARRIER_PRESENCE: string;
				public static DATA_VERSION: string;
				public static SORT_KEY_ALTERNATIVE: string;
				public static DISPLAY_NAME_SOURCE: string;
				public static CONTACT_STATUS_LABEL: string;
				public static CONTACT_PRESENCE: string;
				public static DISPLAY_NAME_ALTERNATIVE: string;
				public static DISPLAY_NAME: string;
				public static DISPLAY_NAME_PRIMARY: string;
				public static DATA6: string;
				public static DATA7: string;
				public static DATA8: string;
				public static NAME_RAW_CONTACT_ID: string;
				public static DATA9: string;
				public static STATUS: string;
				public static CONTACT_CHAT_CAPABILITY: string;
				public static DATA2: string;
				public static DATA3: string;
				public static DATA4: string;
				public static SEND_TO_VOICEMAIL: string;
				public static DATA5: string;
				public static PREFERRED_PHONE_ACCOUNT_COMPONENT_NAME: string;
				public static DATA1: string;
				public static RES_PACKAGE: string;
				public static RAW_CONTACT_ID: string;
				public static _COUNT: string;
				public static LOOKUP_KEY: string;
				public static PHONETIC_NAME: string;
				public static STATUS_RES_PACKAGE: string;
				public static AGGREGATION_MODE: string;
				public static DATA14: string;
				public static PHOTO_FILE_ID: string;
				public static DATA13: string;
				public static AVAILABLE: number;
				public static AWAY: number;
				public static DATA15: string;
				public static DATA10: string;
				public static LAST_TIME_USED: string;
				public static CAPABILITY_HAS_VOICE: number;
				public static DATA12: string;
				public static DATA11: string;
				public static IDLE: number;
				public static DATA_SET: string;
				public static PINNED: string;
				public static IS_PRIMARY: string;
				public static DO_NOT_DISTURB: number;
				public static PRESENCE: string;
				public static CONTACT_STATUS: string;
				public static CONTACT_ID: string;
				public static LAST_TIME_CONTACTED: string;
				public static SORT_KEY_PRIMARY: string;
				public static CUSTOM_RINGTONE: string;
				public static STARRED: string;
				public static IS_READ_ONLY: string;
				public static ACCOUNT_TYPE_AND_DATA_SET: string;
				public static IS_SUPER_PRIMARY: string;
				public static IS_USER_PROFILE: string;
				public static CONTACT_STATUS_TIMESTAMP: string;
				public static HAS_PHONE_NUMBER: string;
				public static MIMETYPE: string;
				public static STATUS_ICON: string;
				public static STATUS_LABEL: string;
				public static RAW_CONTACT_IS_USER_PROFILE: string;
				public static PREFERRED_PHONE_ACCOUNT_ID: string;
				public static BACKUP_ID: string;
				public static CAPABILITY_HAS_VIDEO: number;
				public static PHOTO_ID: string;
				public static CARRIER_PRESENCE_VT_CAPABLE: number;
				public static TIMES_USED: string;
				public static SYNC3: string;
				public static PHOTO_THUMBNAIL_URI: string;
				public static TIMES_CONTACTED: string;
				public static SYNC4: string;
				public static PRESENCE_STATUS: string;
				public static RAW_CONTACT_IS_READ_ONLY: string;
				public static OFFLINE: number;
				public static INVISIBLE: number;
				public static CONTACT_LAST_UPDATED_TIMESTAMP: string;
				public static CONTACT_STATUS_RES_PACKAGE: string;
				public static SYNC1: string;
				public static SYNC2: string;
				public static DELETED: string;
			}
			export class DataUsageFeedback extends java.lang.Object {
				public static class: java.lang.Class<android.provider.ContactsContract.DataUsageFeedback>;
				public static DELETE_USAGE_URI: android.net.Uri;
				public static FEEDBACK_URI: android.net.Uri;
				public static USAGE_TYPE: string;
				public static USAGE_TYPE_CALL: string;
				public static USAGE_TYPE_LONG_TEXT: string;
				public static USAGE_TYPE_SHORT_TEXT: string;
				public constructor();
			}
			export class DataUsageStatColumns extends java.lang.Object {
				public static class: java.lang.Class<android.provider.ContactsContract.DataUsageStatColumns>;
				/**
				 * Constructs a new instance of the android.provider.ContactsContract$DataUsageStatColumns interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
				});
				public constructor();
				public static LAST_TIME_USED: string;
				public static TIMES_USED: string;
			}
			export class DeletedContacts extends java.lang.Object implements android.provider.ContactsContract.DeletedContactsColumns {
				public static class: java.lang.Class<android.provider.ContactsContract.DeletedContacts>;
				public static CONTENT_URI: android.net.Uri;
				public static DAYS_KEPT_MILLISECONDS: number;
			}
			export class DeletedContactsColumns extends java.lang.Object {
				public static class: java.lang.Class<android.provider.ContactsContract.DeletedContactsColumns>;
				/**
				 * Constructs a new instance of the android.provider.ContactsContract$DeletedContactsColumns interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
				});
				public constructor();
				public static CONTACT_DELETED_TIMESTAMP: string;
				public static CONTACT_ID: string;
			}
			export class Directory extends java.lang.Object implements android.provider.BaseColumns {
				public static class: java.lang.Class<android.provider.ContactsContract.Directory>;
				public static ACCOUNT_NAME: string;
				public static ACCOUNT_TYPE: string;
				public static CALLER_PACKAGE_PARAM_KEY: string;
				public static CONTENT_ITEM_TYPE: string;
				public static CONTENT_TYPE: string;
				public static CONTENT_URI: android.net.Uri;
				public static DEFAULT: number;
				public static DIRECTORY_AUTHORITY: string;
				public static DISPLAY_NAME: string;
				public static ENTERPRISE_CONTENT_URI: android.net.Uri;
				public static ENTERPRISE_DEFAULT: number;
				public static ENTERPRISE_LOCAL_INVISIBLE: number;
				public static EXPORT_SUPPORT: string;
				public static EXPORT_SUPPORT_ANY_ACCOUNT: number;
				public static EXPORT_SUPPORT_NONE: number;
				public static EXPORT_SUPPORT_SAME_ACCOUNT_ONLY: number;
				public static LOCAL_INVISIBLE: number;
				public static PACKAGE_NAME: string;
				public static PHOTO_SUPPORT: string;
				public static PHOTO_SUPPORT_FULL: number;
				public static PHOTO_SUPPORT_FULL_SIZE_ONLY: number;
				public static PHOTO_SUPPORT_NONE: number;
				public static PHOTO_SUPPORT_THUMBNAIL_ONLY: number;
				public static SHORTCUT_SUPPORT: string;
				public static SHORTCUT_SUPPORT_DATA_ITEMS_ONLY: number;
				public static SHORTCUT_SUPPORT_FULL: number;
				public static SHORTCUT_SUPPORT_NONE: number;
				public static TYPE_RESOURCE_ID: string;
				public static isEnterpriseDirectoryId(param0: number): boolean;
				public static isRemoteDirectoryId(param0: number): boolean;
				public static notifyDirectoryChange(param0: android.content.ContentResolver): void;
			}
			export class DisplayNameSources extends java.lang.Object {
				public static class: java.lang.Class<android.provider.ContactsContract.DisplayNameSources>;
				/**
				 * Constructs a new instance of the android.provider.ContactsContract$DisplayNameSources interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
				});
				public constructor();
				public static STRUCTURED_PHONETIC_NAME: number;
				public static STRUCTURED_NAME: number;
				public static EMAIL: number;
				public static ORGANIZATION: number;
				public static NICKNAME: number;
				public static PHONE: number;
				public static UNDEFINED: number;
			}
			export class DisplayPhoto extends java.lang.Object {
				public static class: java.lang.Class<android.provider.ContactsContract.DisplayPhoto>;
				public static CONTENT_MAX_DIMENSIONS_URI: android.net.Uri;
				public static CONTENT_URI: android.net.Uri;
				public static DISPLAY_MAX_DIM: string;
				public static THUMBNAIL_MAX_DIM: string;
			}
			export class FullNameStyle extends java.lang.Object {
				public static class: java.lang.Class<android.provider.ContactsContract.FullNameStyle>;
				/**
				 * Constructs a new instance of the android.provider.ContactsContract$FullNameStyle interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
				});
				public constructor();
				public static JAPANESE: number;
				public static CHINESE: number;
				public static KOREAN: number;
				public static CJK: number;
				public static UNDEFINED: number;
				public static WESTERN: number;
			}
			export class Groups extends java.lang.Object implements android.provider.BaseColumns, android.provider.ContactsContract.GroupsColumns, android.provider.ContactsContract.SyncColumns {
				public static class: java.lang.Class<android.provider.ContactsContract.Groups>;
				public static CONTENT_ITEM_TYPE: string;
				public static CONTENT_SUMMARY_URI: android.net.Uri;
				public static CONTENT_TYPE: string;
				public static CONTENT_URI: android.net.Uri;
				public static newEntityIterator(param0: android.database.Cursor): android.content.EntityIterator;
			}
			export class GroupsColumns extends java.lang.Object {
				public static class: java.lang.Class<android.provider.ContactsContract.GroupsColumns>;
				/**
				 * Constructs a new instance of the android.provider.ContactsContract$GroupsColumns interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
				});
				public constructor();
				public static DATA_SET: string;
				public static GROUP_VISIBLE: string;
				public static NOTES: string;
				public static SHOULD_SYNC: string;
				public static GROUP_IS_READ_ONLY: string;
				public static FAVORITES: string;
				public static RES_PACKAGE: string;
				public static TITLE: string;
				public static SUMMARY_COUNT: string;
				public static SUMMARY_WITH_PHONES: string;
				public static TITLE_RES: string;
				public static AUTO_ADD: string;
				public static DELETED: string;
				public static SYSTEM_ID: string;
			}
			export class Intents extends java.lang.Object {
				public static class: java.lang.Class<android.provider.ContactsContract.Intents>;
				public static ACTION_VOICE_SEND_MESSAGE_TO_CONTACTS: string;
				public static ATTACH_IMAGE: string;
				public static CONTACTS_DATABASE_CREATED: string;
				public static EXTRA_CREATE_DESCRIPTION: string;
				public static EXTRA_FORCE_CREATE: string;
				public static EXTRA_RECIPIENT_CONTACT_CHAT_ID: string;
				public static EXTRA_RECIPIENT_CONTACT_NAME: string;
				public static EXTRA_RECIPIENT_CONTACT_URI: string;
				public static INVITE_CONTACT: string;
				public static METADATA_ACCOUNT_TYPE: string;
				public static METADATA_MIMETYPE: string;
				public static SEARCH_SUGGESTION_CLICKED: string;
				public static SEARCH_SUGGESTION_CREATE_CONTACT_CLICKED: string;
				public static SEARCH_SUGGESTION_DIAL_NUMBER_CLICKED: string;
				public static SHOW_OR_CREATE_CONTACT: string;
				public constructor();
			}
			export module Intents {
				export class Insert extends java.lang.Object {
					public static class: java.lang.Class<android.provider.ContactsContract.Intents.Insert>;
					public static ACTION: string;
					public static COMPANY: string;
					public static DATA: string;
					public static EMAIL: string;
					public static EMAIL_ISPRIMARY: string;
					public static EMAIL_TYPE: string;
					public static EXTRA_ACCOUNT: string;
					public static EXTRA_DATA_SET: string;
					public static FULL_MODE: string;
					public static IM_HANDLE: string;
					public static IM_ISPRIMARY: string;
					public static IM_PROTOCOL: string;
					public static JOB_TITLE: string;
					public static NAME: string;
					public static NOTES: string;
					public static PHONE: string;
					public static PHONETIC_NAME: string;
					public static PHONE_ISPRIMARY: string;
					public static PHONE_TYPE: string;
					public static POSTAL: string;
					public static POSTAL_ISPRIMARY: string;
					public static POSTAL_TYPE: string;
					public static SECONDARY_EMAIL: string;
					public static SECONDARY_EMAIL_TYPE: string;
					public static SECONDARY_PHONE: string;
					public static SECONDARY_PHONE_TYPE: string;
					public static TERTIARY_EMAIL: string;
					public static TERTIARY_EMAIL_TYPE: string;
					public static TERTIARY_PHONE: string;
					public static TERTIARY_PHONE_TYPE: string;
					public constructor();
				}
			}
			export class PhoneLookup extends java.lang.Object implements android.provider.BaseColumns, android.provider.ContactsContract.PhoneLookupColumns, android.provider.ContactsContract.ContactsColumns, android.provider.ContactsContract.ContactOptionsColumns, android.provider.ContactsContract.ContactNameColumns {
				public static class: java.lang.Class<android.provider.ContactsContract.PhoneLookup>;
				public static CONTENT_FILTER_URI: android.net.Uri;
				public static ENTERPRISE_CONTENT_FILTER_URI: android.net.Uri;
				public static QUERY_PARAMETER_SIP_ADDRESS: string;
			}
			export class PhoneLookupColumns extends java.lang.Object {
				public static class: java.lang.Class<android.provider.ContactsContract.PhoneLookupColumns>;
				/**
				 * Constructs a new instance of the android.provider.ContactsContract$PhoneLookupColumns interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
				});
				public constructor();
				public static DATA_ID: string;
				public static NUMBER: string;
				public static LABEL: string;
				public static NORMALIZED_NUMBER: string;
				public static CONTACT_ID: string;
				public static TYPE: string;
			}
			export class PhoneticNameStyle extends java.lang.Object {
				public static class: java.lang.Class<android.provider.ContactsContract.PhoneticNameStyle>;
				/**
				 * Constructs a new instance of the android.provider.ContactsContract$PhoneticNameStyle interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
				});
				public constructor();
				public static JAPANESE: number;
				public static KOREAN: number;
				public static PINYIN: number;
				public static UNDEFINED: number;
			}
			export class PinnedPositions extends java.lang.Object {
				public static class: java.lang.Class<android.provider.ContactsContract.PinnedPositions>;
				public static DEMOTED: number;
				public static UNPINNED: number;
				public static undemote(param0: android.content.ContentResolver, param1: number): void;
				public static pin(param0: android.content.ContentResolver, param1: number, param2: number): void;
				public constructor();
			}
			export class Presence extends android.provider.ContactsContract.StatusUpdates {
				public static class: java.lang.Class<android.provider.ContactsContract.Presence>;
				public constructor();
			}
			export class PresenceColumns extends java.lang.Object {
				public static class: java.lang.Class<android.provider.ContactsContract.PresenceColumns>;
				/**
				 * Constructs a new instance of the android.provider.ContactsContract$PresenceColumns interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
				});
				public constructor();
				public static DATA_ID: string;
				public static IM_HANDLE: string;
				public static CUSTOM_PROTOCOL: string;
				public static IM_ACCOUNT: string;
				public static PROTOCOL: string;
			}
			export class Profile extends java.lang.Object implements android.provider.BaseColumns, android.provider.ContactsContract.ContactsColumns, android.provider.ContactsContract.ContactOptionsColumns, android.provider.ContactsContract.ContactNameColumns, android.provider.ContactsContract.ContactStatusColumns {
				public static class: java.lang.Class<android.provider.ContactsContract.Profile>;
				public static CONTENT_RAW_CONTACTS_URI: android.net.Uri;
				public static CONTENT_URI: android.net.Uri;
				public static CONTENT_VCARD_URI: android.net.Uri;
				public static MIN_ID: number;
			}
			export class ProfileSyncState extends java.lang.Object implements android.provider.SyncStateContract.Columns {
				public static class: java.lang.Class<android.provider.ContactsContract.ProfileSyncState>;
				public static CONTENT_DIRECTORY: string;
				public static CONTENT_URI: android.net.Uri;
				public static newSetOperation(param0: android.accounts.Account, param1: native.Array<number>): android.content.ContentProviderOperation;
				public static set(param0: android.content.ContentProviderClient, param1: android.accounts.Account, param2: native.Array<number>): void;
				public static get(param0: android.content.ContentProviderClient, param1: android.accounts.Account): native.Array<number>;
				public static getWithUri(param0: android.content.ContentProviderClient, param1: android.accounts.Account): android.util.Pair<android.net.Uri,native.Array<number>>;
			}
			export class ProviderStatus extends java.lang.Object {
				public static class: java.lang.Class<android.provider.ContactsContract.ProviderStatus>;
				public static CONTENT_TYPE: string;
				public static CONTENT_URI: android.net.Uri;
				public static DATABASE_CREATION_TIMESTAMP: string;
				public static STATUS: string;
				public static STATUS_BUSY: number;
				public static STATUS_EMPTY: number;
				public static STATUS_NORMAL: number;
			}
			export class QuickContact extends java.lang.Object {
				public static class: java.lang.Class<android.provider.ContactsContract.QuickContact>;
				public static ACTION_QUICK_CONTACT: string;
				public static EXTRA_EXCLUDE_MIMES: string;
				public static EXTRA_MODE: string;
				public static EXTRA_PRIORITIZED_MIMETYPE: string;
				public static MODE_LARGE: number;
				public static MODE_MEDIUM: number;
				public static MODE_SMALL: number;
				public static showQuickContact(param0: android.content.Context, param1: android.view.View, param2: android.net.Uri, param3: number, param4: native.Array<string>): void;
				public static showQuickContact(param0: android.content.Context, param1: android.graphics.Rect, param2: android.net.Uri, param3: native.Array<string>, param4: string): void;
				public static showQuickContact(param0: android.content.Context, param1: android.graphics.Rect, param2: android.net.Uri, param3: number, param4: native.Array<string>): void;
				public static showQuickContact(param0: android.content.Context, param1: android.view.View, param2: android.net.Uri, param3: native.Array<string>, param4: string): void;
				public constructor();
			}
			export class RawContacts extends java.lang.Object implements android.provider.BaseColumns, android.provider.ContactsContract.RawContactsColumns, android.provider.ContactsContract.ContactOptionsColumns, android.provider.ContactsContract.ContactNameColumns, android.provider.ContactsContract.SyncColumns {
				public static class: java.lang.Class<android.provider.ContactsContract.RawContacts>;
				public static AGGREGATION_MODE_DEFAULT: number;
				public static AGGREGATION_MODE_DISABLED: number;
				public static AGGREGATION_MODE_IMMEDIATE: number;
				public static AGGREGATION_MODE_SUSPENDED: number;
				public static CONTENT_ITEM_TYPE: string;
				public static CONTENT_TYPE: string;
				public static CONTENT_URI: android.net.Uri;
				public static getContactLookupUri(param0: android.content.ContentResolver, param1: android.net.Uri): android.net.Uri;
				public static newEntityIterator(param0: android.database.Cursor): android.content.EntityIterator;
			}
			export module RawContacts {
				export class Data extends java.lang.Object implements android.provider.BaseColumns, android.provider.ContactsContract.DataColumns {
					public static class: java.lang.Class<android.provider.ContactsContract.RawContacts.Data>;
					public static CONTENT_DIRECTORY: string;
				}
				export class DisplayPhoto extends java.lang.Object {
					public static class: java.lang.Class<android.provider.ContactsContract.RawContacts.DisplayPhoto>;
					public static CONTENT_DIRECTORY: string;
				}
				export class Entity extends java.lang.Object implements android.provider.BaseColumns, android.provider.ContactsContract.DataColumns {
					public static class: java.lang.Class<android.provider.ContactsContract.RawContacts.Entity>;
					public static CONTENT_DIRECTORY: string;
					public static DATA_ID: string;
				}
			}
			export class RawContactsColumns extends java.lang.Object {
				public static class: java.lang.Class<android.provider.ContactsContract.RawContactsColumns>;
				/**
				 * Constructs a new instance of the android.provider.ContactsContract$RawContactsColumns interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
				});
				public constructor();
				public static DATA_SET: string;
				public static AGGREGATION_MODE: string;
				public static RAW_CONTACT_IS_READ_ONLY: string;
				public static RAW_CONTACT_IS_USER_PROFILE: string;
				public static BACKUP_ID: string;
				public static METADATA_DIRTY: string;
				public static CONTACT_ID: string;
				public static DELETED: string;
				public static ACCOUNT_TYPE_AND_DATA_SET: string;
			}
			export class RawContactsEntity extends java.lang.Object implements android.provider.BaseColumns, android.provider.ContactsContract.DataColumns, android.provider.ContactsContract.RawContactsColumns {
				public static class: java.lang.Class<android.provider.ContactsContract.RawContactsEntity>;
				public static CONTENT_TYPE: string;
				public static CONTENT_URI: android.net.Uri;
				public static DATA_ID: string;
				public static PROFILE_CONTENT_URI: android.net.Uri;
			}
			export class SearchSnippets extends java.lang.Object {
				public static class: java.lang.Class<android.provider.ContactsContract.SearchSnippets>;
				public static DEFERRED_SNIPPETING_KEY: string;
				public static SNIPPET: string;
				public constructor();
			}
			export class Settings extends java.lang.Object implements android.provider.ContactsContract.SettingsColumns {
				public static class: java.lang.Class<android.provider.ContactsContract.Settings>;
				public static CONTENT_ITEM_TYPE: string;
				public static CONTENT_TYPE: string;
				public static CONTENT_URI: android.net.Uri;
			}
			export class SettingsColumns extends java.lang.Object {
				public static class: java.lang.Class<android.provider.ContactsContract.SettingsColumns>;
				/**
				 * Constructs a new instance of the android.provider.ContactsContract$SettingsColumns interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
				});
				public constructor();
				public static ACCOUNT_NAME: string;
				public static DATA_SET: string;
				public static ACCOUNT_TYPE: string;
				public static SHOULD_SYNC: string;
				public static UNGROUPED_WITH_PHONES: string;
				public static ANY_UNSYNCED: string;
				public static UNGROUPED_COUNT: string;
				public static UNGROUPED_VISIBLE: string;
			}
			export class StatusColumns extends java.lang.Object {
				public static class: java.lang.Class<android.provider.ContactsContract.StatusColumns>;
				/**
				 * Constructs a new instance of the android.provider.ContactsContract$StatusColumns interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
				});
				public constructor();
				public static CHAT_CAPABILITY: string;
				public static STATUS: string;
				public static STATUS_TIMESTAMP: string;
				public static DO_NOT_DISTURB: number;
				public static STATUS_ICON: string;
				public static STATUS_LABEL: string;
				public static PRESENCE: string;
				public static CAPABILITY_HAS_VIDEO: number;
				public static CAPABILITY_HAS_CAMERA: number;
				public static PRESENCE_CUSTOM_STATUS: string;
				public static STATUS_RES_PACKAGE: string;
				public static PRESENCE_STATUS: string;
				public static OFFLINE: number;
				public static INVISIBLE: number;
				public static AVAILABLE: number;
				public static AWAY: number;
				public static CAPABILITY_HAS_VOICE: number;
				public static IDLE: number;
			}
			export class StatusUpdates extends java.lang.Object implements android.provider.ContactsContract.StatusColumns, android.provider.ContactsContract.PresenceColumns {
				public static class: java.lang.Class<android.provider.ContactsContract.StatusUpdates>;
				public static CONTENT_ITEM_TYPE: string;
				public static CONTENT_TYPE: string;
				public static CONTENT_URI: android.net.Uri;
				public static PROFILE_CONTENT_URI: android.net.Uri;
				public static getPresenceIconResourceId(param0: number): number;
				public static getPresencePrecedence(param0: number): number;
			}
			export class SyncColumns extends java.lang.Object implements android.provider.ContactsContract.BaseSyncColumns {
				public static class: java.lang.Class<android.provider.ContactsContract.SyncColumns>;
				/**
				 * Constructs a new instance of the android.provider.ContactsContract$SyncColumns interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
				});
				public constructor();
				public static ACCOUNT_NAME: string;
				public static ACCOUNT_TYPE: string;
				public static SOURCE_ID: string;
				public static SYNC3: string;
				public static DIRTY: string;
				public static SYNC4: string;
				public static VERSION: string;
				public static SYNC1: string;
				public static SYNC2: string;
			}
			export class SyncState extends java.lang.Object implements android.provider.SyncStateContract.Columns {
				public static class: java.lang.Class<android.provider.ContactsContract.SyncState>;
				public static CONTENT_DIRECTORY: string;
				public static CONTENT_URI: android.net.Uri;
				public static newSetOperation(param0: android.accounts.Account, param1: native.Array<number>): android.content.ContentProviderOperation;
				public static set(param0: android.content.ContentProviderClient, param1: android.accounts.Account, param2: native.Array<number>): void;
				public static get(param0: android.content.ContentProviderClient, param1: android.accounts.Account): native.Array<number>;
				public static getWithUri(param0: android.content.ContentProviderClient, param1: android.accounts.Account): android.util.Pair<android.net.Uri,native.Array<number>>;
			}
		}
	}
}

declare module android {
	export module provider {
		export class DocumentsContract extends java.lang.Object {
			public static class: java.lang.Class<android.provider.DocumentsContract>;
			public static ACTION_DOCUMENT_SETTINGS: string;
			public static EXTRA_ERROR: string;
			public static EXTRA_EXCLUDE_SELF: string;
			public static EXTRA_INFO: string;
			public static EXTRA_INITIAL_URI: string;
			public static EXTRA_LOADING: string;
			public static EXTRA_ORIENTATION: string;
			public static EXTRA_PROMPT: string;
			public static PROVIDER_INTERFACE: string;
			public static buildSearchDocumentsUri(param0: string, param1: string, param2: string): android.net.Uri;
			public static isDocumentUri(param0: android.content.Context, param1: android.net.Uri): boolean;
			public static buildRootUri(param0: string, param1: string): android.net.Uri;
			public static findDocumentPath(param0: android.content.ContentResolver, param1: android.net.Uri): android.provider.DocumentsContract.Path;
			public static buildChildDocumentsUri(param0: string, param1: string): android.net.Uri;
			public static getDocumentThumbnail(param0: android.content.ContentResolver, param1: android.net.Uri, param2: android.graphics.Point, param3: android.os.CancellationSignal): android.graphics.Bitmap;
			public static buildTreeDocumentUri(param0: string, param1: string): android.net.Uri;
			public static createWebLinkIntent(param0: android.content.ContentResolver, param1: android.net.Uri, param2: android.os.Bundle): android.content.IntentSender;
			public static getTreeDocumentId(param0: android.net.Uri): string;
			public static buildRootsUri(param0: string): android.net.Uri;
			public static getDocumentId(param0: android.net.Uri): string;
			public static buildDocumentUri(param0: string, param1: string): android.net.Uri;
			public static isTreeUri(param0: android.net.Uri): boolean;
			public static ejectRoot(param0: android.content.ContentResolver, param1: android.net.Uri): void;
			public static copyDocument(param0: android.content.ContentResolver, param1: android.net.Uri, param2: android.net.Uri): android.net.Uri;
			public static deleteDocument(param0: android.content.ContentResolver, param1: android.net.Uri): boolean;
			public static removeDocument(param0: android.content.ContentResolver, param1: android.net.Uri, param2: android.net.Uri): boolean;
			public static buildDocumentUriUsingTree(param0: android.net.Uri, param1: string): android.net.Uri;
			public static moveDocument(param0: android.content.ContentResolver, param1: android.net.Uri, param2: android.net.Uri, param3: android.net.Uri): android.net.Uri;
			public static buildChildDocumentsUriUsingTree(param0: android.net.Uri, param1: string): android.net.Uri;
			public static getRootId(param0: android.net.Uri): string;
			public static createDocument(param0: android.content.ContentResolver, param1: android.net.Uri, param2: string, param3: string): android.net.Uri;
			public static getSearchDocumentsQuery(param0: android.net.Uri): string;
			public static renameDocument(param0: android.content.ContentResolver, param1: android.net.Uri, param2: string): android.net.Uri;
			public static buildRecentDocumentsUri(param0: string, param1: string): android.net.Uri;
		}
		export module DocumentsContract {
			export class Document extends java.lang.Object {
				public static class: java.lang.Class<android.provider.DocumentsContract.Document>;
				public static COLUMN_DISPLAY_NAME: string;
				public static COLUMN_DOCUMENT_ID: string;
				public static COLUMN_FLAGS: string;
				public static COLUMN_ICON: string;
				public static COLUMN_LAST_MODIFIED: string;
				public static COLUMN_MIME_TYPE: string;
				public static COLUMN_SIZE: string;
				public static COLUMN_SUMMARY: string;
				public static FLAG_DIR_PREFERS_GRID: number;
				public static FLAG_DIR_PREFERS_LAST_MODIFIED: number;
				public static FLAG_DIR_SUPPORTS_CREATE: number;
				public static FLAG_SUPPORTS_COPY: number;
				public static FLAG_SUPPORTS_DELETE: number;
				public static FLAG_SUPPORTS_MOVE: number;
				public static FLAG_SUPPORTS_REMOVE: number;
				public static FLAG_SUPPORTS_RENAME: number;
				public static FLAG_SUPPORTS_SETTINGS: number;
				public static FLAG_SUPPORTS_THUMBNAIL: number;
				public static FLAG_SUPPORTS_WRITE: number;
				public static FLAG_VIRTUAL_DOCUMENT: number;
				public static FLAG_WEB_LINKABLE: number;
				public static MIME_TYPE_DIR: string;
			}
			export class Path extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.provider.DocumentsContract.Path>;
				public static CREATOR: android.os.Parcelable.Creator<android.provider.DocumentsContract.Path>;
				public constructor(param0: string, param1: java.util.List<string>);
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getRootId(): string;
				public equals(param0: any): boolean;
				public describeContents(): number;
				public getPath(): java.util.List<string>;
				public toString(): string;
			}
			export class Root extends java.lang.Object {
				public static class: java.lang.Class<android.provider.DocumentsContract.Root>;
				public static COLUMN_AVAILABLE_BYTES: string;
				public static COLUMN_CAPACITY_BYTES: string;
				public static COLUMN_DOCUMENT_ID: string;
				public static COLUMN_FLAGS: string;
				public static COLUMN_ICON: string;
				public static COLUMN_MIME_TYPES: string;
				public static COLUMN_ROOT_ID: string;
				public static COLUMN_SUMMARY: string;
				public static COLUMN_TITLE: string;
				public static FLAG_LOCAL_ONLY: number;
				public static FLAG_SUPPORTS_CREATE: number;
				public static FLAG_SUPPORTS_EJECT: number;
				public static FLAG_SUPPORTS_IS_CHILD: number;
				public static FLAG_SUPPORTS_RECENTS: number;
				public static FLAG_SUPPORTS_SEARCH: number;
				public static MIME_TYPE_ITEM: string;
			}
		}
	}
}

declare module android {
	export module provider {
		export abstract class DocumentsProvider extends android.content.ContentProvider {
			public static class: java.lang.Class<android.provider.DocumentsProvider>;
			public query(param0: android.net.Uri, param1: native.Array<string>, param2: string, param3: native.Array<string>, param4: string, param5: android.os.CancellationSignal): android.database.Cursor;
			public isChildDocument(param0: string, param1: string): boolean;
			public queryChildDocuments(param0: string, param1: native.Array<string>, param2: string): android.database.Cursor;
			public openFile(param0: android.net.Uri, param1: string, param2: android.os.CancellationSignal): android.os.ParcelFileDescriptor;
			public createWebLinkIntent(param0: string, param1: android.os.Bundle): android.content.IntentSender;
			public delete(param0: android.net.Uri, param1: string, param2: native.Array<string>): number;
			public openAssetFile(param0: android.net.Uri, param1: string): android.content.res.AssetFileDescriptor;
			public createDocument(param0: string, param1: string, param2: string): string;
			public openAssetFile(param0: android.net.Uri, param1: string, param2: android.os.CancellationSignal): android.content.res.AssetFileDescriptor;
			public insert(param0: android.net.Uri, param1: android.content.ContentValues): android.net.Uri;
			public copyDocument(param0: string, param1: string): string;
			public queryRoots(param0: native.Array<string>): android.database.Cursor;
			public querySearchDocuments(param0: string, param1: string, param2: native.Array<string>): android.database.Cursor;
			public getType(param0: android.net.Uri): string;
			public getDocumentType(param0: string): string;
			public query(param0: android.net.Uri, param1: native.Array<string>, param2: android.os.Bundle, param3: android.os.CancellationSignal): android.database.Cursor;
			public onTrimMemory(param0: number): void;
			public attachInfo(param0: android.content.Context, param1: android.content.pm.ProviderInfo): void;
			public deleteDocument(param0: string): void;
			public getDocumentStreamTypes(param0: string, param1: string): native.Array<string>;
			public openTypedAssetFile(param0: android.net.Uri, param1: string, param2: android.os.Bundle, param3: android.os.CancellationSignal): android.content.res.AssetFileDescriptor;
			public queryDocument(param0: string, param1: native.Array<string>): android.database.Cursor;
			public renameDocument(param0: string, param1: string): string;
			public openTypedDocument(param0: string, param1: string, param2: android.os.Bundle, param3: android.os.CancellationSignal): android.content.res.AssetFileDescriptor;
			public openDocumentThumbnail(param0: string, param1: android.graphics.Point, param2: android.os.CancellationSignal): android.content.res.AssetFileDescriptor;
			public update(param0: android.net.Uri, param1: android.content.ContentValues, param2: string, param3: native.Array<string>): number;
			public revokeDocumentPermission(param0: string): void;
			public findDocumentPath(param0: string, param1: string): android.provider.DocumentsContract.Path;
			public query(param0: android.net.Uri, param1: native.Array<string>, param2: string, param3: native.Array<string>, param4: string): android.database.Cursor;
			public constructor();
			public queryRecentDocuments(param0: string, param1: native.Array<string>): android.database.Cursor;
			public getStreamTypes(param0: android.net.Uri, param1: string): native.Array<string>;
			public openFile(param0: android.net.Uri, param1: string): android.os.ParcelFileDescriptor;
			public call(param0: string, param1: string, param2: android.os.Bundle): android.os.Bundle;
			public openTypedAssetFile(param0: android.net.Uri, param1: string, param2: android.os.Bundle): android.content.res.AssetFileDescriptor;
			public queryChildDocuments(param0: string, param1: native.Array<string>, param2: android.os.Bundle): android.database.Cursor;
			public openDocument(param0: string, param1: string, param2: android.os.CancellationSignal): android.os.ParcelFileDescriptor;
			public ejectRoot(param0: string): void;
			public canonicalize(param0: android.net.Uri): android.net.Uri;
			public moveDocument(param0: string, param1: string, param2: string): string;
			public removeDocument(param0: string, param1: string): void;
		}
	}
}

declare module android {
	export module provider {
		export class FontRequest extends java.lang.Object {
			public static class: java.lang.Class<android.provider.FontRequest>;
			public getProviderPackage(): string;
			public getCertificates(): java.util.List<java.util.List<native.Array<number>>>;
			public toString(): string;
			public getProviderAuthority(): string;
			public constructor(param0: string, param1: string, param2: string);
			public getQuery(): string;
			public constructor(param0: string, param1: string, param2: string, param3: java.util.List<java.util.List<native.Array<number>>>);
		}
	}
}

declare module android {
	export module provider {
		export class FontsContract extends java.lang.Object {
			public static class: java.lang.Class<android.provider.FontsContract>;
			public static fetchFonts(param0: android.content.Context, param1: android.os.CancellationSignal, param2: android.provider.FontRequest): android.provider.FontsContract.FontFamilyResult;
			public static buildTypeface(param0: android.content.Context, param1: android.os.CancellationSignal, param2: native.Array<android.provider.FontsContract.FontInfo>): android.graphics.Typeface;
			public static requestFonts(param0: android.content.Context, param1: android.provider.FontRequest, param2: android.os.Handler, param3: android.os.CancellationSignal, param4: android.provider.FontsContract.FontRequestCallback): void;
		}
		export module FontsContract {
			export class Columns extends java.lang.Object implements android.provider.BaseColumns {
				public static class: java.lang.Class<android.provider.FontsContract.Columns>;
				public static FILE_ID: string;
				public static ITALIC: string;
				public static RESULT_CODE: string;
				public static RESULT_CODE_FONT_NOT_FOUND: number;
				public static RESULT_CODE_FONT_UNAVAILABLE: number;
				public static RESULT_CODE_MALFORMED_QUERY: number;
				public static RESULT_CODE_OK: number;
				public static TTC_INDEX: string;
				public static VARIATION_SETTINGS: string;
				public static WEIGHT: string;
			}
			export class FontFamilyResult extends java.lang.Object {
				public static class: java.lang.Class<android.provider.FontsContract.FontFamilyResult>;
				public static STATUS_OK: number;
				public static STATUS_REJECTED: number;
				public static STATUS_UNEXPECTED_DATA_PROVIDED: number;
				public static STATUS_WRONG_CERTIFICATES: number;
				public getStatusCode(): number;
				public getFonts(): native.Array<android.provider.FontsContract.FontInfo>;
			}
			export class FontInfo extends java.lang.Object {
				public static class: java.lang.Class<android.provider.FontsContract.FontInfo>;
				public getUri(): android.net.Uri;
				public getTtcIndex(): number;
				public isItalic(): boolean;
				public getAxes(): native.Array<android.graphics.fonts.FontVariationAxis>;
				public getResultCode(): number;
				public getWeight(): number;
			}
			export class FontRequestCallback extends java.lang.Object {
				public static class: java.lang.Class<android.provider.FontsContract.FontRequestCallback>;
				public static FAIL_REASON_FONT_LOAD_ERROR: number;
				public static FAIL_REASON_FONT_NOT_FOUND: number;
				public static FAIL_REASON_FONT_UNAVAILABLE: number;
				public static FAIL_REASON_MALFORMED_QUERY: number;
				public static FAIL_REASON_PROVIDER_NOT_FOUND: number;
				public static FAIL_REASON_WRONG_CERTIFICATES: number;
				public onTypefaceRequestFailed(param0: number): void;
				public onTypefaceRetrieved(param0: android.graphics.Typeface): void;
				public constructor();
			}
		}
	}
}

declare module android {
	export module provider {
		export class LiveFolders extends java.lang.Object implements android.provider.BaseColumns {
			public static class: java.lang.Class<android.provider.LiveFolders>;
			public static ACTION_CREATE_LIVE_FOLDER: string;
			public static DESCRIPTION: string;
			public static DISPLAY_MODE_GRID: number;
			public static DISPLAY_MODE_LIST: number;
			public static EXTRA_LIVE_FOLDER_BASE_INTENT: string;
			public static EXTRA_LIVE_FOLDER_DISPLAY_MODE: string;
			public static EXTRA_LIVE_FOLDER_ICON: string;
			public static EXTRA_LIVE_FOLDER_NAME: string;
			public static ICON_BITMAP: string;
			public static ICON_PACKAGE: string;
			public static ICON_RESOURCE: string;
			public static INTENT: string;
			public static NAME: string;
		}
	}
}

declare module android {
	export module provider {
		export class MediaStore extends java.lang.Object {
			public static class: java.lang.Class<android.provider.MediaStore>;
			public static ACTION_IMAGE_CAPTURE: string;
			public static ACTION_IMAGE_CAPTURE_SECURE: string;
			public static ACTION_VIDEO_CAPTURE: string;
			public static AUTHORITY: string;
			public static EXTRA_DURATION_LIMIT: string;
			public static EXTRA_FINISH_ON_COMPLETION: string;
			public static EXTRA_FULL_SCREEN: string;
			public static EXTRA_MEDIA_ALBUM: string;
			public static EXTRA_MEDIA_ARTIST: string;
			public static EXTRA_MEDIA_FOCUS: string;
			public static EXTRA_MEDIA_GENRE: string;
			public static EXTRA_MEDIA_PLAYLIST: string;
			public static EXTRA_MEDIA_RADIO_CHANNEL: string;
			public static EXTRA_MEDIA_TITLE: string;
			public static EXTRA_OUTPUT: string;
			public static EXTRA_SCREEN_ORIENTATION: string;
			public static EXTRA_SHOW_ACTION_ICONS: string;
			public static EXTRA_SIZE_LIMIT: string;
			public static EXTRA_VIDEO_QUALITY: string;
			public static INTENT_ACTION_MEDIA_PLAY_FROM_SEARCH: string;
			public static INTENT_ACTION_MEDIA_SEARCH: string;
			public static INTENT_ACTION_MUSIC_PLAYER: string;
			public static INTENT_ACTION_STILL_IMAGE_CAMERA: string;
			public static INTENT_ACTION_STILL_IMAGE_CAMERA_SECURE: string;
			public static INTENT_ACTION_TEXT_OPEN_FROM_SEARCH: string;
			public static INTENT_ACTION_VIDEO_CAMERA: string;
			public static INTENT_ACTION_VIDEO_PLAY_FROM_SEARCH: string;
			public static MEDIA_IGNORE_FILENAME: string;
			public static MEDIA_SCANNER_VOLUME: string;
			public static META_DATA_STILL_IMAGE_CAMERA_PREWARM_SERVICE: string;
			public static UNKNOWN_STRING: string;
			public static getMediaScannerUri(): android.net.Uri;
			public static getDocumentUri(param0: android.content.Context, param1: android.net.Uri): android.net.Uri;
			public constructor();
			public static getVersion(param0: android.content.Context): string;
		}
		export module MediaStore {
			export class Audio extends java.lang.Object {
				public static class: java.lang.Class<android.provider.MediaStore.Audio>;
				public constructor();
				public static keyFor(param0: string): string;
			}
			export module Audio {
				export class AlbumColumns extends java.lang.Object {
					public static class: java.lang.Class<android.provider.MediaStore.Audio.AlbumColumns>;
					/**
					 * Constructs a new instance of the android.provider.MediaStore$Audio$AlbumColumns interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
					});
					public constructor();
					public static ALBUM_ID: string;
					public static ARTIST: string;
					public static ALBUM_KEY: string;
					public static FIRST_YEAR: string;
					public static NUMBER_OF_SONGS_FOR_ARTIST: string;
					public static ALBUM: string;
					public static LAST_YEAR: string;
					public static NUMBER_OF_SONGS: string;
					public static ALBUM_ART: string;
				}
				export class Albums extends java.lang.Object implements android.provider.BaseColumns, android.provider.MediaStore.Audio.AlbumColumns {
					public static class: java.lang.Class<android.provider.MediaStore.Audio.Albums>;
					public static CONTENT_TYPE: string;
					public static DEFAULT_SORT_ORDER: string;
					public static ENTRY_CONTENT_TYPE: string;
					public static EXTERNAL_CONTENT_URI: android.net.Uri;
					public static INTERNAL_CONTENT_URI: android.net.Uri;
					public constructor();
					public static getContentUri(param0: string): android.net.Uri;
				}
				export class ArtistColumns extends java.lang.Object {
					public static class: java.lang.Class<android.provider.MediaStore.Audio.ArtistColumns>;
					/**
					 * Constructs a new instance of the android.provider.MediaStore$Audio$ArtistColumns interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
					});
					public constructor();
					public static NUMBER_OF_ALBUMS: string;
					public static ARTIST: string;
					public static NUMBER_OF_TRACKS: string;
					public static ARTIST_KEY: string;
				}
				export class Artists extends java.lang.Object implements android.provider.BaseColumns, android.provider.MediaStore.Audio.ArtistColumns {
					public static class: java.lang.Class<android.provider.MediaStore.Audio.Artists>;
					public static CONTENT_TYPE: string;
					public static DEFAULT_SORT_ORDER: string;
					public static ENTRY_CONTENT_TYPE: string;
					public static EXTERNAL_CONTENT_URI: android.net.Uri;
					public static INTERNAL_CONTENT_URI: android.net.Uri;
					public constructor();
					public static getContentUri(param0: string): android.net.Uri;
				}
				export module Artists {
					export class Albums extends java.lang.Object implements android.provider.MediaStore.Audio.AlbumColumns {
						public static class: java.lang.Class<android.provider.MediaStore.Audio.Artists.Albums>;
						public constructor();
						public static getContentUri(param0: string, param1: number): android.net.Uri;
					}
				}
				export class AudioColumns extends java.lang.Object implements android.provider.MediaStore.MediaColumns {
					public static class: java.lang.Class<android.provider.MediaStore.Audio.AudioColumns>;
					/**
					 * Constructs a new instance of the android.provider.MediaStore$Audio$AudioColumns interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
					});
					public constructor();
					public static ALBUM_ID: string;
					public static IS_ALARM: string;
					public static DATA: string;
					public static ALBUM: string;
					public static _ID: string;
					public static TITLE: string;
					public static DURATION: string;
					public static DATE_MODIFIED: string;
					public static SIZE: string;
					public static TITLE_KEY: string;
					public static IS_MUSIC: string;
					public static DATE_ADDED: string;
					public static HEIGHT: string;
					public static TRACK: string;
					public static DISPLAY_NAME: string;
					public static ARTIST: string;
					public static IS_NOTIFICATION: string;
					public static YEAR: string;
					public static BOOKMARK: string;
					public static _COUNT: string;
					public static IS_PODCAST: string;
					public static ALBUM_KEY: string;
					public static ARTIST_ID: string;
					public static IS_RINGTONE: string;
					public static WIDTH: string;
					public static COMPOSER: string;
					public static ARTIST_KEY: string;
					public static MIME_TYPE: string;
				}
				export class Genres extends java.lang.Object implements android.provider.BaseColumns, android.provider.MediaStore.Audio.GenresColumns {
					public static class: java.lang.Class<android.provider.MediaStore.Audio.Genres>;
					public static CONTENT_TYPE: string;
					public static DEFAULT_SORT_ORDER: string;
					public static ENTRY_CONTENT_TYPE: string;
					public static EXTERNAL_CONTENT_URI: android.net.Uri;
					public static INTERNAL_CONTENT_URI: android.net.Uri;
					public constructor();
					public static getContentUriForAudioId(param0: string, param1: number): android.net.Uri;
					public static getContentUri(param0: string): android.net.Uri;
				}
				export module Genres {
					export class Members extends java.lang.Object implements android.provider.MediaStore.Audio.AudioColumns {
						public static class: java.lang.Class<android.provider.MediaStore.Audio.Genres.Members>;
						public static AUDIO_ID: string;
						public static CONTENT_DIRECTORY: string;
						public static DEFAULT_SORT_ORDER: string;
						public static GENRE_ID: string;
						public constructor();
						public static getContentUri(param0: string, param1: number): android.net.Uri;
					}
				}
				export class GenresColumns extends java.lang.Object {
					public static class: java.lang.Class<android.provider.MediaStore.Audio.GenresColumns>;
					/**
					 * Constructs a new instance of the android.provider.MediaStore$Audio$GenresColumns interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
					});
					public constructor();
					public static NAME: string;
				}
				export class Media extends java.lang.Object implements android.provider.MediaStore.Audio.AudioColumns {
					public static class: java.lang.Class<android.provider.MediaStore.Audio.Media>;
					public static CONTENT_TYPE: string;
					public static DEFAULT_SORT_ORDER: string;
					public static ENTRY_CONTENT_TYPE: string;
					public static EXTERNAL_CONTENT_URI: android.net.Uri;
					public static EXTRA_MAX_BYTES: string;
					public static INTERNAL_CONTENT_URI: android.net.Uri;
					public static RECORD_SOUND_ACTION: string;
					public static getContentUriForPath(param0: string): android.net.Uri;
					public constructor();
					public static getContentUri(param0: string): android.net.Uri;
				}
				export class Playlists extends java.lang.Object implements android.provider.BaseColumns, android.provider.MediaStore.Audio.PlaylistsColumns {
					public static class: java.lang.Class<android.provider.MediaStore.Audio.Playlists>;
					public static CONTENT_TYPE: string;
					public static DEFAULT_SORT_ORDER: string;
					public static ENTRY_CONTENT_TYPE: string;
					public static EXTERNAL_CONTENT_URI: android.net.Uri;
					public static INTERNAL_CONTENT_URI: android.net.Uri;
					public constructor();
					public static getContentUri(param0: string): android.net.Uri;
				}
				export module Playlists {
					export class Members extends java.lang.Object implements android.provider.MediaStore.Audio.AudioColumns {
						public static class: java.lang.Class<android.provider.MediaStore.Audio.Playlists.Members>;
						public static AUDIO_ID: string;
						public static CONTENT_DIRECTORY: string;
						public static DEFAULT_SORT_ORDER: string;
						public static PLAYLIST_ID: string;
						public static PLAY_ORDER: string;
						public static _ID: string;
						public constructor();
						public static moveItem(param0: android.content.ContentResolver, param1: number, param2: number, param3: number): boolean;
						public static getContentUri(param0: string, param1: number): android.net.Uri;
					}
				}
				export class PlaylistsColumns extends java.lang.Object {
					public static class: java.lang.Class<android.provider.MediaStore.Audio.PlaylistsColumns>;
					/**
					 * Constructs a new instance of the android.provider.MediaStore$Audio$PlaylistsColumns interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
					});
					public constructor();
					public static DATE_MODIFIED: string;
					public static DATA: string;
					public static DATE_ADDED: string;
					public static NAME: string;
				}
				export class Radio extends java.lang.Object {
					public static class: java.lang.Class<android.provider.MediaStore.Audio.Radio>;
					public static ENTRY_CONTENT_TYPE: string;
				}
			}
			export class Files extends java.lang.Object {
				public static class: java.lang.Class<android.provider.MediaStore.Files>;
				public static getContentUri(param0: string, param1: number): android.net.Uri;
				public static getContentUri(param0: string): android.net.Uri;
				public constructor();
			}
			export module Files {
				export class FileColumns extends java.lang.Object implements android.provider.MediaStore.MediaColumns {
					public static class: java.lang.Class<android.provider.MediaStore.Files.FileColumns>;
					/**
					 * Constructs a new instance of the android.provider.MediaStore$Files$FileColumns interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
					});
					public constructor();
					public static DATA: string;
					public static PARENT: string;
					public static MEDIA_TYPE: string;
					public static _ID: string;
					public static TITLE: string;
					public static MEDIA_TYPE_AUDIO: number;
					public static MEDIA_TYPE_IMAGE: number;
					public static MEDIA_TYPE_NONE: number;
					public static _COUNT: string;
					public static DATE_MODIFIED: string;
					public static MEDIA_TYPE_PLAYLIST: number;
					public static MEDIA_TYPE_VIDEO: number;
					public static SIZE: string;
					public static WIDTH: string;
					public static DATE_ADDED: string;
					public static HEIGHT: string;
					public static MIME_TYPE: string;
					public static DISPLAY_NAME: string;
				}
			}
			export class Images extends java.lang.Object {
				public static class: java.lang.Class<android.provider.MediaStore.Images>;
				public constructor();
			}
			export module Images {
				export class ImageColumns extends java.lang.Object implements android.provider.MediaStore.MediaColumns {
					public static class: java.lang.Class<android.provider.MediaStore.Images.ImageColumns>;
					/**
					 * Constructs a new instance of the android.provider.MediaStore$Images$ImageColumns interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
					});
					public constructor();
					public static IS_PRIVATE: string;
					public static DESCRIPTION: string;
					public static DATA: string;
					public static ORIENTATION: string;
					public static DATE_TAKEN: string;
					public static _ID: string;
					public static MINI_THUMB_MAGIC: string;
					public static TITLE: string;
					public static LATITUDE: string;
					public static _COUNT: string;
					public static BUCKET_DISPLAY_NAME: string;
					public static PICASA_ID: string;
					public static DATE_MODIFIED: string;
					public static LONGITUDE: string;
					public static SIZE: string;
					public static BUCKET_ID: string;
					public static WIDTH: string;
					public static DATE_ADDED: string;
					public static HEIGHT: string;
					public static DISPLAY_NAME: string;
					public static MIME_TYPE: string;
				}
				export class Media extends java.lang.Object implements android.provider.MediaStore.Images.ImageColumns {
					public static class: java.lang.Class<android.provider.MediaStore.Images.Media>;
					public static CONTENT_TYPE: string;
					public static DEFAULT_SORT_ORDER: string;
					public static EXTERNAL_CONTENT_URI: android.net.Uri;
					public static INTERNAL_CONTENT_URI: android.net.Uri;
					public static query(param0: android.content.ContentResolver, param1: android.net.Uri, param2: native.Array<string>, param3: string, param4: string): android.database.Cursor;
					public constructor();
					public static query(param0: android.content.ContentResolver, param1: android.net.Uri, param2: native.Array<string>, param3: string, param4: native.Array<string>, param5: string): android.database.Cursor;
					public static query(param0: android.content.ContentResolver, param1: android.net.Uri, param2: native.Array<string>): android.database.Cursor;
					public static insertImage(param0: android.content.ContentResolver, param1: string, param2: string, param3: string): string;
					public static insertImage(param0: android.content.ContentResolver, param1: android.graphics.Bitmap, param2: string, param3: string): string;
					public static getContentUri(param0: string): android.net.Uri;
					public static getBitmap(param0: android.content.ContentResolver, param1: android.net.Uri): android.graphics.Bitmap;
				}
				export class Thumbnails extends java.lang.Object implements android.provider.BaseColumns {
					public static class: java.lang.Class<android.provider.MediaStore.Images.Thumbnails>;
					public static DATA: string;
					public static DEFAULT_SORT_ORDER: string;
					public static EXTERNAL_CONTENT_URI: android.net.Uri;
					public static FULL_SCREEN_KIND: number;
					public static HEIGHT: string;
					public static IMAGE_ID: string;
					public static INTERNAL_CONTENT_URI: android.net.Uri;
					public static KIND: string;
					public static MICRO_KIND: number;
					public static MINI_KIND: number;
					public static THUMB_DATA: string;
					public static WIDTH: string;
					public static queryMiniThumbnails(param0: android.content.ContentResolver, param1: android.net.Uri, param2: number, param3: native.Array<string>): android.database.Cursor;
					public static cancelThumbnailRequest(param0: android.content.ContentResolver, param1: number, param2: number): void;
					public static getThumbnail(param0: android.content.ContentResolver, param1: number, param2: number, param3: number, param4: android.graphics.BitmapFactory.Options): android.graphics.Bitmap;
					public constructor();
					public static queryMiniThumbnail(param0: android.content.ContentResolver, param1: number, param2: number, param3: native.Array<string>): android.database.Cursor;
					public static cancelThumbnailRequest(param0: android.content.ContentResolver, param1: number): void;
					public static query(param0: android.content.ContentResolver, param1: android.net.Uri, param2: native.Array<string>): android.database.Cursor;
					public static getThumbnail(param0: android.content.ContentResolver, param1: number, param2: number, param3: android.graphics.BitmapFactory.Options): android.graphics.Bitmap;
					public static getContentUri(param0: string): android.net.Uri;
				}
			}
			export class MediaColumns extends java.lang.Object implements android.provider.BaseColumns {
				public static class: java.lang.Class<android.provider.MediaStore.MediaColumns>;
				/**
				 * Constructs a new instance of the android.provider.MediaStore$MediaColumns interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
				});
				public constructor();
				public static _COUNT: string;
				public static DATE_MODIFIED: string;
				public static DATA: string;
				public static SIZE: string;
				public static _ID: string;
				public static TITLE: string;
				public static WIDTH: string;
				public static DATE_ADDED: string;
				public static HEIGHT: string;
				public static DISPLAY_NAME: string;
				public static MIME_TYPE: string;
			}
			export class Video extends java.lang.Object {
				public static class: java.lang.Class<android.provider.MediaStore.Video>;
				public static DEFAULT_SORT_ORDER: string;
				public static query(param0: android.content.ContentResolver, param1: android.net.Uri, param2: native.Array<string>): android.database.Cursor;
				public constructor();
			}
			export module Video {
				export class Media extends java.lang.Object implements android.provider.MediaStore.Video.VideoColumns {
					public static class: java.lang.Class<android.provider.MediaStore.Video.Media>;
					public static CONTENT_TYPE: string;
					public static DEFAULT_SORT_ORDER: string;
					public static EXTERNAL_CONTENT_URI: android.net.Uri;
					public static INTERNAL_CONTENT_URI: android.net.Uri;
					public constructor();
					public static getContentUri(param0: string): android.net.Uri;
				}
				export class Thumbnails extends java.lang.Object implements android.provider.BaseColumns {
					public static class: java.lang.Class<android.provider.MediaStore.Video.Thumbnails>;
					public static DATA: string;
					public static DEFAULT_SORT_ORDER: string;
					public static EXTERNAL_CONTENT_URI: android.net.Uri;
					public static FULL_SCREEN_KIND: number;
					public static HEIGHT: string;
					public static INTERNAL_CONTENT_URI: android.net.Uri;
					public static KIND: string;
					public static MICRO_KIND: number;
					public static MINI_KIND: number;
					public static VIDEO_ID: string;
					public static WIDTH: string;
					public static cancelThumbnailRequest(param0: android.content.ContentResolver, param1: number, param2: number): void;
					public static getThumbnail(param0: android.content.ContentResolver, param1: number, param2: number, param3: number, param4: android.graphics.BitmapFactory.Options): android.graphics.Bitmap;
					public constructor();
					public static cancelThumbnailRequest(param0: android.content.ContentResolver, param1: number): void;
					public static getThumbnail(param0: android.content.ContentResolver, param1: number, param2: number, param3: android.graphics.BitmapFactory.Options): android.graphics.Bitmap;
					public static getContentUri(param0: string): android.net.Uri;
				}
				export class VideoColumns extends java.lang.Object implements android.provider.MediaStore.MediaColumns {
					public static class: java.lang.Class<android.provider.MediaStore.Video.VideoColumns>;
					/**
					 * Constructs a new instance of the android.provider.MediaStore$Video$VideoColumns interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
					});
					public constructor();
					public static IS_PRIVATE: string;
					public static DATA: string;
					public static ALBUM: string;
					public static DATE_TAKEN: string;
					public static _ID: string;
					public static TITLE: string;
					public static LATITUDE: string;
					public static DURATION: string;
					public static TAGS: string;
					public static LANGUAGE: string;
					public static DATE_MODIFIED: string;
					public static RESOLUTION: string;
					public static SIZE: string;
					public static DATE_ADDED: string;
					public static HEIGHT: string;
					public static DISPLAY_NAME: string;
					public static ARTIST: string;
					public static DESCRIPTION: string;
					public static CATEGORY: string;
					public static BOOKMARK: string;
					public static MINI_THUMB_MAGIC: string;
					public static _COUNT: string;
					public static BUCKET_DISPLAY_NAME: string;
					public static LONGITUDE: string;
					public static BUCKET_ID: string;
					public static WIDTH: string;
					public static MIME_TYPE: string;
				}
			}
		}
	}
}

declare module android {
	export module provider {
		export class OpenableColumns extends java.lang.Object {
			public static class: java.lang.Class<android.provider.OpenableColumns>;
			/**
			 * Constructs a new instance of the android.provider.OpenableColumns interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
			});
			public constructor();
			public static SIZE: string;
			public static DISPLAY_NAME: string;
		}
	}
}

declare module android {
	export module provider {
		export class SearchRecentSuggestions extends java.lang.Object {
			public static class: java.lang.Class<android.provider.SearchRecentSuggestions>;
			public static QUERIES_PROJECTION_1LINE: native.Array<string>;
			public static QUERIES_PROJECTION_2LINE: native.Array<string>;
			public static QUERIES_PROJECTION_DATE_INDEX: number;
			public static QUERIES_PROJECTION_DISPLAY1_INDEX: number;
			public static QUERIES_PROJECTION_DISPLAY2_INDEX: number;
			public static QUERIES_PROJECTION_QUERY_INDEX: number;
			public saveRecentQuery(param0: string, param1: string): void;
			public constructor(param0: android.content.Context, param1: string, param2: number);
			public clearHistory(): void;
			public truncateHistory(param0: android.content.ContentResolver, param1: number): void;
		}
	}
}

declare module android {
	export module provider {
		export class Settings extends java.lang.Object {
			public static class: java.lang.Class<android.provider.Settings>;
			public static ACTION_ACCESSIBILITY_SETTINGS: string;
			public static ACTION_ADD_ACCOUNT: string;
			public static ACTION_AIRPLANE_MODE_SETTINGS: string;
			public static ACTION_APN_SETTINGS: string;
			public static ACTION_APPLICATION_DETAILS_SETTINGS: string;
			public static ACTION_APPLICATION_DEVELOPMENT_SETTINGS: string;
			public static ACTION_APPLICATION_SETTINGS: string;
			public static ACTION_APP_NOTIFICATION_SETTINGS: string;
			public static ACTION_BATTERY_SAVER_SETTINGS: string;
			public static ACTION_BLUETOOTH_SETTINGS: string;
			public static ACTION_CAPTIONING_SETTINGS: string;
			public static ACTION_CAST_SETTINGS: string;
			public static ACTION_CHANNEL_NOTIFICATION_SETTINGS: string;
			public static ACTION_DATA_ROAMING_SETTINGS: string;
			public static ACTION_DATA_USAGE_SETTINGS: string;
			public static ACTION_DATE_SETTINGS: string;
			public static ACTION_DEVICE_INFO_SETTINGS: string;
			public static ACTION_DISPLAY_SETTINGS: string;
			public static ACTION_DREAM_SETTINGS: string;
			public static ACTION_FINGERPRINT_ENROLL: string;
			public static ACTION_HARD_KEYBOARD_SETTINGS: string;
			public static ACTION_HOME_SETTINGS: string;
			public static ACTION_IGNORE_BACKGROUND_DATA_RESTRICTIONS_SETTINGS: string;
			public static ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS: string;
			public static ACTION_INPUT_METHOD_SETTINGS: string;
			public static ACTION_INPUT_METHOD_SUBTYPE_SETTINGS: string;
			public static ACTION_INTERNAL_STORAGE_SETTINGS: string;
			public static ACTION_LOCALE_SETTINGS: string;
			public static ACTION_LOCATION_SOURCE_SETTINGS: string;
			public static ACTION_MANAGE_ALL_APPLICATIONS_SETTINGS: string;
			public static ACTION_MANAGE_APPLICATIONS_SETTINGS: string;
			public static ACTION_MANAGE_DEFAULT_APPS_SETTINGS: string;
			public static ACTION_MANAGE_OVERLAY_PERMISSION: string;
			public static ACTION_MANAGE_UNKNOWN_APP_SOURCES: string;
			public static ACTION_MANAGE_WRITE_SETTINGS: string;
			public static ACTION_MEMORY_CARD_SETTINGS: string;
			public static ACTION_NETWORK_OPERATOR_SETTINGS: string;
			public static ACTION_NFCSHARING_SETTINGS: string;
			public static ACTION_NFC_PAYMENT_SETTINGS: string;
			public static ACTION_NFC_SETTINGS: string;
			public static ACTION_NIGHT_DISPLAY_SETTINGS: string;
			public static ACTION_NOTIFICATION_LISTENER_SETTINGS: string;
			public static ACTION_NOTIFICATION_POLICY_ACCESS_SETTINGS: string;
			public static ACTION_PRINT_SETTINGS: string;
			public static ACTION_PRIVACY_SETTINGS: string;
			public static ACTION_QUICK_LAUNCH_SETTINGS: string;
			public static ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS: string;
			public static ACTION_REQUEST_SET_AUTOFILL_SERVICE: string;
			public static ACTION_SEARCH_SETTINGS: string;
			public static ACTION_SECURITY_SETTINGS: string;
			public static ACTION_SETTINGS: string;
			public static ACTION_SHOW_REGULATORY_INFO: string;
			public static ACTION_SOUND_SETTINGS: string;
			public static ACTION_STORAGE_VOLUME_ACCESS_SETTINGS: string;
			public static ACTION_SYNC_SETTINGS: string;
			public static ACTION_USAGE_ACCESS_SETTINGS: string;
			public static ACTION_USER_DICTIONARY_SETTINGS: string;
			public static ACTION_VOICE_CONTROL_AIRPLANE_MODE: string;
			public static ACTION_VOICE_CONTROL_BATTERY_SAVER_MODE: string;
			public static ACTION_VOICE_CONTROL_DO_NOT_DISTURB_MODE: string;
			public static ACTION_VOICE_INPUT_SETTINGS: string;
			public static ACTION_VPN_SETTINGS: string;
			public static ACTION_VR_LISTENER_SETTINGS: string;
			public static ACTION_WEBVIEW_SETTINGS: string;
			public static ACTION_WIFI_IP_SETTINGS: string;
			public static ACTION_WIFI_SETTINGS: string;
			public static ACTION_WIRELESS_SETTINGS: string;
			public static ACTION_ZEN_MODE_PRIORITY_SETTINGS: string;
			public static AUTHORITY: string;
			public static EXTRA_ACCOUNT_TYPES: string;
			public static EXTRA_AIRPLANE_MODE_ENABLED: string;
			public static EXTRA_APP_PACKAGE: string;
			public static EXTRA_AUTHORITIES: string;
			public static EXTRA_BATTERY_SAVER_MODE_ENABLED: string;
			public static EXTRA_CHANNEL_ID: string;
			public static EXTRA_DO_NOT_DISTURB_MODE_ENABLED: string;
			public static EXTRA_DO_NOT_DISTURB_MODE_MINUTES: string;
			public static EXTRA_INPUT_METHOD_ID: string;
			public static EXTRA_SUB_ID: string;
			public static INTENT_CATEGORY_USAGE_ACCESS_CONFIG: string;
			public static METADATA_USAGE_ACCESS_REASON: string;
			public static canDrawOverlays(param0: android.content.Context): boolean;
			public constructor();
		}
		export module Settings {
			export class Global extends android.provider.Settings.NameValueTable {
				public static class: java.lang.Class<android.provider.Settings.Global>;
				public static ADB_ENABLED: string;
				public static AIRPLANE_MODE_ON: string;
				public static AIRPLANE_MODE_RADIOS: string;
				public static ALWAYS_FINISH_ACTIVITIES: string;
				public static ANIMATOR_DURATION_SCALE: string;
				public static AUTO_TIME: string;
				public static AUTO_TIME_ZONE: string;
				public static BLUETOOTH_ON: string;
				public static BOOT_COUNT: string;
				public static CONTACT_METADATA_SYNC_ENABLED: string;
				public static CONTENT_URI: android.net.Uri;
				public static DATA_ROAMING: string;
				public static DEBUG_APP: string;
				public static DEVELOPMENT_SETTINGS_ENABLED: string;
				public static DEVICE_NAME: string;
				public static DEVICE_PROVISIONED: string;
				public static HTTP_PROXY: string;
				public static INSTALL_NON_MARKET_APPS: string;
				public static MODE_RINGER: string;
				public static NETWORK_PREFERENCE: string;
				public static RADIO_BLUETOOTH: string;
				public static RADIO_CELL: string;
				public static RADIO_NFC: string;
				public static RADIO_WIFI: string;
				public static SHOW_PROCESSES: string;
				public static STAY_ON_WHILE_PLUGGED_IN: string;
				public static TRANSITION_ANIMATION_SCALE: string;
				public static USB_MASS_STORAGE_ENABLED: string;
				public static USE_GOOGLE_MAIL: string;
				public static WAIT_FOR_DEBUGGER: string;
				public static WIFI_DEVICE_OWNER_CONFIGS_LOCKDOWN: string;
				public static WIFI_MAX_DHCP_RETRY_COUNT: string;
				public static WIFI_MOBILE_DATA_TRANSITION_WAKELOCK_TIMEOUT_MS: string;
				public static WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON: string;
				public static WIFI_NETWORKS_AVAILABLE_REPEAT_DELAY: string;
				public static WIFI_NUM_OPEN_NETWORKS_KEPT: string;
				public static WIFI_ON: string;
				public static WIFI_SLEEP_POLICY: string;
				public static WIFI_SLEEP_POLICY_DEFAULT: number;
				public static WIFI_SLEEP_POLICY_NEVER: number;
				public static WIFI_SLEEP_POLICY_NEVER_WHILE_PLUGGED: number;
				public static WIFI_WATCHDOG_ON: string;
				public static WINDOW_ANIMATION_SCALE: string;
				public static getFloat(param0: android.content.ContentResolver, param1: string): number;
				public static getLong(param0: android.content.ContentResolver, param1: string, param2: number): number;
				public static putString(param0: android.content.ContentResolver, param1: android.net.Uri, param2: string, param3: string): boolean;
				public static getUriFor(param0: android.net.Uri, param1: string): android.net.Uri;
				public static getString(param0: android.content.ContentResolver, param1: string): string;
				public static getFloat(param0: android.content.ContentResolver, param1: string, param2: number): number;
				public constructor();
				public static getUriFor(param0: string): android.net.Uri;
				public static putInt(param0: android.content.ContentResolver, param1: string, param2: number): boolean;
				public static getLong(param0: android.content.ContentResolver, param1: string): number;
				public static putFloat(param0: android.content.ContentResolver, param1: string, param2: number): boolean;
				public static getInt(param0: android.content.ContentResolver, param1: string, param2: number): number;
				public static putLong(param0: android.content.ContentResolver, param1: string, param2: number): boolean;
				public static getInt(param0: android.content.ContentResolver, param1: string): number;
				public static putString(param0: android.content.ContentResolver, param1: string, param2: string): boolean;
			}
			export class NameValueTable extends java.lang.Object implements android.provider.BaseColumns {
				public static class: java.lang.Class<android.provider.Settings.NameValueTable>;
				public static NAME: string;
				public static VALUE: string;
				public static putString(param0: android.content.ContentResolver, param1: android.net.Uri, param2: string, param3: string): boolean;
				public static getUriFor(param0: android.net.Uri, param1: string): android.net.Uri;
				public constructor();
			}
			export class Secure extends android.provider.Settings.NameValueTable {
				public static class: java.lang.Class<android.provider.Settings.Secure>;
				public static ACCESSIBILITY_DISPLAY_INVERSION_ENABLED: string;
				public static ACCESSIBILITY_ENABLED: string;
				public static ACCESSIBILITY_SPEAK_PASSWORD: string;
				public static ADB_ENABLED: string;
				public static ALLOWED_GEOLOCATION_ORIGINS: string;
				public static ALLOW_MOCK_LOCATION: string;
				public static ANDROID_ID: string;
				public static BACKGROUND_DATA: string;
				public static BLUETOOTH_ON: string;
				public static CONTENT_URI: android.net.Uri;
				public static DATA_ROAMING: string;
				public static DEFAULT_INPUT_METHOD: string;
				public static DEVELOPMENT_SETTINGS_ENABLED: string;
				public static DEVICE_PROVISIONED: string;
				public static ENABLED_ACCESSIBILITY_SERVICES: string;
				public static ENABLED_INPUT_METHODS: string;
				public static HTTP_PROXY: string;
				public static INPUT_METHOD_SELECTOR_VISIBILITY: string;
				public static INSTALL_NON_MARKET_APPS: string;
				public static LOCATION_MODE: string;
				public static LOCATION_MODE_BATTERY_SAVING: number;
				public static LOCATION_MODE_HIGH_ACCURACY: number;
				public static LOCATION_MODE_OFF: number;
				public static LOCATION_MODE_SENSORS_ONLY: number;
				public static LOCATION_PROVIDERS_ALLOWED: string;
				public static LOCK_PATTERN_ENABLED: string;
				public static LOCK_PATTERN_TACTILE_FEEDBACK_ENABLED: string;
				public static LOCK_PATTERN_VISIBLE: string;
				public static LOGGING_ID: string;
				public static NETWORK_PREFERENCE: string;
				public static PARENTAL_CONTROL_ENABLED: string;
				public static PARENTAL_CONTROL_LAST_UPDATE: string;
				public static PARENTAL_CONTROL_REDIRECT_URL: string;
				public static RTT_CALLING_MODE: string;
				public static SELECTED_INPUT_METHOD_SUBTYPE: string;
				public static SETTINGS_CLASSNAME: string;
				public static SKIP_FIRST_USE_HINTS: string;
				public static TOUCH_EXPLORATION_ENABLED: string;
				public static TTS_DEFAULT_COUNTRY: string;
				public static TTS_DEFAULT_LANG: string;
				public static TTS_DEFAULT_PITCH: string;
				public static TTS_DEFAULT_RATE: string;
				public static TTS_DEFAULT_SYNTH: string;
				public static TTS_DEFAULT_VARIANT: string;
				public static TTS_ENABLED_PLUGINS: string;
				public static TTS_USE_DEFAULTS: string;
				public static USB_MASS_STORAGE_ENABLED: string;
				public static USE_GOOGLE_MAIL: string;
				public static WIFI_MAX_DHCP_RETRY_COUNT: string;
				public static WIFI_MOBILE_DATA_TRANSITION_WAKELOCK_TIMEOUT_MS: string;
				public static WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON: string;
				public static WIFI_NETWORKS_AVAILABLE_REPEAT_DELAY: string;
				public static WIFI_NUM_OPEN_NETWORKS_KEPT: string;
				public static WIFI_ON: string;
				public static WIFI_WATCHDOG_ACCEPTABLE_PACKET_LOSS_PERCENTAGE: string;
				public static WIFI_WATCHDOG_AP_COUNT: string;
				public static WIFI_WATCHDOG_BACKGROUND_CHECK_DELAY_MS: string;
				public static WIFI_WATCHDOG_BACKGROUND_CHECK_ENABLED: string;
				public static WIFI_WATCHDOG_BACKGROUND_CHECK_TIMEOUT_MS: string;
				public static WIFI_WATCHDOG_INITIAL_IGNORED_PING_COUNT: string;
				public static WIFI_WATCHDOG_MAX_AP_CHECKS: string;
				public static WIFI_WATCHDOG_ON: string;
				public static WIFI_WATCHDOG_PING_COUNT: string;
				public static WIFI_WATCHDOG_PING_DELAY_MS: string;
				public static WIFI_WATCHDOG_PING_TIMEOUT_MS: string;
				public static WIFI_WATCHDOG_WATCH_LIST: string;
				public static getFloat(param0: android.content.ContentResolver, param1: string): number;
				/** @deprecated */
				public static setLocationProviderEnabled(param0: android.content.ContentResolver, param1: string, param2: boolean): void;
				public static getLong(param0: android.content.ContentResolver, param1: string, param2: number): number;
				public static putString(param0: android.content.ContentResolver, param1: android.net.Uri, param2: string, param3: string): boolean;
				public static getUriFor(param0: android.net.Uri, param1: string): android.net.Uri;
				public static getString(param0: android.content.ContentResolver, param1: string): string;
				public static getFloat(param0: android.content.ContentResolver, param1: string, param2: number): number;
				public constructor();
				/** @deprecated */
				public static isLocationProviderEnabled(param0: android.content.ContentResolver, param1: string): boolean;
				public static getUriFor(param0: string): android.net.Uri;
				public static putInt(param0: android.content.ContentResolver, param1: string, param2: number): boolean;
				public static getLong(param0: android.content.ContentResolver, param1: string): number;
				public static putFloat(param0: android.content.ContentResolver, param1: string, param2: number): boolean;
				public static getInt(param0: android.content.ContentResolver, param1: string, param2: number): number;
				public static putLong(param0: android.content.ContentResolver, param1: string, param2: number): boolean;
				public static getInt(param0: android.content.ContentResolver, param1: string): number;
				public static putString(param0: android.content.ContentResolver, param1: string, param2: string): boolean;
			}
			export class SettingNotFoundException extends android.util.AndroidException {
				public static class: java.lang.Class<android.provider.Settings.SettingNotFoundException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Exception);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
			export class System extends android.provider.Settings.NameValueTable {
				public static class: java.lang.Class<android.provider.Settings.System>;
				public static ACCELEROMETER_ROTATION: string;
				public static ADB_ENABLED: string;
				public static AIRPLANE_MODE_ON: string;
				public static AIRPLANE_MODE_RADIOS: string;
				public static ALARM_ALERT: string;
				public static ALWAYS_FINISH_ACTIVITIES: string;
				public static ANDROID_ID: string;
				public static ANIMATOR_DURATION_SCALE: string;
				public static AUTO_TIME: string;
				public static AUTO_TIME_ZONE: string;
				public static BLUETOOTH_DISCOVERABILITY: string;
				public static BLUETOOTH_DISCOVERABILITY_TIMEOUT: string;
				public static BLUETOOTH_ON: string;
				public static CONTENT_URI: android.net.Uri;
				public static DATA_ROAMING: string;
				public static DATE_FORMAT: string;
				public static DEBUG_APP: string;
				public static DEFAULT_ALARM_ALERT_URI: android.net.Uri;
				public static DEFAULT_NOTIFICATION_URI: android.net.Uri;
				public static DEFAULT_RINGTONE_URI: android.net.Uri;
				public static DEVICE_PROVISIONED: string;
				public static DIM_SCREEN: string;
				public static DTMF_TONE_TYPE_WHEN_DIALING: string;
				public static DTMF_TONE_WHEN_DIALING: string;
				public static END_BUTTON_BEHAVIOR: string;
				public static FONT_SCALE: string;
				public static HAPTIC_FEEDBACK_ENABLED: string;
				public static HTTP_PROXY: string;
				public static INSTALL_NON_MARKET_APPS: string;
				public static LOCATION_PROVIDERS_ALLOWED: string;
				public static LOCK_PATTERN_ENABLED: string;
				public static LOCK_PATTERN_TACTILE_FEEDBACK_ENABLED: string;
				public static LOCK_PATTERN_VISIBLE: string;
				public static LOGGING_ID: string;
				public static MODE_RINGER: string;
				public static MODE_RINGER_STREAMS_AFFECTED: string;
				public static MUTE_STREAMS_AFFECTED: string;
				public static NETWORK_PREFERENCE: string;
				public static NEXT_ALARM_FORMATTED: string;
				public static NOTIFICATION_SOUND: string;
				public static PARENTAL_CONTROL_ENABLED: string;
				public static PARENTAL_CONTROL_LAST_UPDATE: string;
				public static PARENTAL_CONTROL_REDIRECT_URL: string;
				public static RADIO_BLUETOOTH: string;
				public static RADIO_CELL: string;
				public static RADIO_NFC: string;
				public static RADIO_WIFI: string;
				public static RINGTONE: string;
				public static SCREEN_BRIGHTNESS: string;
				public static SCREEN_BRIGHTNESS_MODE: string;
				public static SCREEN_BRIGHTNESS_MODE_AUTOMATIC: number;
				public static SCREEN_BRIGHTNESS_MODE_MANUAL: number;
				public static SCREEN_OFF_TIMEOUT: string;
				public static SETTINGS_CLASSNAME: string;
				public static SETUP_WIZARD_HAS_RUN: string;
				public static SHOW_GTALK_SERVICE_STATUS: string;
				public static SHOW_PROCESSES: string;
				public static SHOW_WEB_SUGGESTIONS: string;
				public static SOUND_EFFECTS_ENABLED: string;
				public static STAY_ON_WHILE_PLUGGED_IN: string;
				public static TEXT_AUTO_CAPS: string;
				public static TEXT_AUTO_PUNCTUATE: string;
				public static TEXT_AUTO_REPLACE: string;
				public static TEXT_SHOW_PASSWORD: string;
				public static TIME_12_24: string;
				public static TRANSITION_ANIMATION_SCALE: string;
				public static USB_MASS_STORAGE_ENABLED: string;
				public static USER_ROTATION: string;
				public static USE_GOOGLE_MAIL: string;
				public static VIBRATE_ON: string;
				public static VIBRATE_WHEN_RINGING: string;
				public static WAIT_FOR_DEBUGGER: string;
				public static WALLPAPER_ACTIVITY: string;
				public static WIFI_MAX_DHCP_RETRY_COUNT: string;
				public static WIFI_MOBILE_DATA_TRANSITION_WAKELOCK_TIMEOUT_MS: string;
				public static WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON: string;
				public static WIFI_NETWORKS_AVAILABLE_REPEAT_DELAY: string;
				public static WIFI_NUM_OPEN_NETWORKS_KEPT: string;
				public static WIFI_ON: string;
				public static WIFI_SLEEP_POLICY: string;
				public static WIFI_SLEEP_POLICY_DEFAULT: number;
				public static WIFI_SLEEP_POLICY_NEVER: number;
				public static WIFI_SLEEP_POLICY_NEVER_WHILE_PLUGGED: number;
				public static WIFI_STATIC_DNS1: string;
				public static WIFI_STATIC_DNS2: string;
				public static WIFI_STATIC_GATEWAY: string;
				public static WIFI_STATIC_IP: string;
				public static WIFI_STATIC_NETMASK: string;
				public static WIFI_USE_STATIC_IP: string;
				public static WIFI_WATCHDOG_ACCEPTABLE_PACKET_LOSS_PERCENTAGE: string;
				public static WIFI_WATCHDOG_AP_COUNT: string;
				public static WIFI_WATCHDOG_BACKGROUND_CHECK_DELAY_MS: string;
				public static WIFI_WATCHDOG_BACKGROUND_CHECK_ENABLED: string;
				public static WIFI_WATCHDOG_BACKGROUND_CHECK_TIMEOUT_MS: string;
				public static WIFI_WATCHDOG_INITIAL_IGNORED_PING_COUNT: string;
				public static WIFI_WATCHDOG_MAX_AP_CHECKS: string;
				public static WIFI_WATCHDOG_ON: string;
				public static WIFI_WATCHDOG_PING_COUNT: string;
				public static WIFI_WATCHDOG_PING_DELAY_MS: string;
				public static WIFI_WATCHDOG_PING_TIMEOUT_MS: string;
				public static WINDOW_ANIMATION_SCALE: string;
				public static getFloat(param0: android.content.ContentResolver, param1: string): number;
				public static canWrite(param0: android.content.Context): boolean;
				public static getLong(param0: android.content.ContentResolver, param1: string, param2: number): number;
				/** @deprecated */
				public static setShowGTalkServiceStatus(param0: android.content.ContentResolver, param1: boolean): void;
				public static putString(param0: android.content.ContentResolver, param1: android.net.Uri, param2: string, param3: string): boolean;
				/** @deprecated */
				public static getShowGTalkServiceStatus(param0: android.content.ContentResolver): boolean;
				public static getUriFor(param0: android.net.Uri, param1: string): android.net.Uri;
				public static putConfiguration(param0: android.content.ContentResolver, param1: android.content.res.Configuration): boolean;
				public static getString(param0: android.content.ContentResolver, param1: string): string;
				public static getFloat(param0: android.content.ContentResolver, param1: string, param2: number): number;
				public constructor();
				public static getConfiguration(param0: android.content.ContentResolver, param1: android.content.res.Configuration): void;
				public static getUriFor(param0: string): android.net.Uri;
				public static putInt(param0: android.content.ContentResolver, param1: string, param2: number): boolean;
				public static getLong(param0: android.content.ContentResolver, param1: string): number;
				public static putFloat(param0: android.content.ContentResolver, param1: string, param2: number): boolean;
				public static getInt(param0: android.content.ContentResolver, param1: string, param2: number): number;
				public static putLong(param0: android.content.ContentResolver, param1: string, param2: number): boolean;
				public static getInt(param0: android.content.ContentResolver, param1: string): number;
				public static putString(param0: android.content.ContentResolver, param1: string, param2: string): boolean;
			}
		}
	}
}

declare module android {
	export module provider {
		export class SettingsSlicesContract extends java.lang.Object {
			public static class: java.lang.Class<android.provider.SettingsSlicesContract>;
			public static AUTHORITY: string;
			public static BASE_URI: android.net.Uri;
			public static KEY_AIRPLANE_MODE: string;
			public static KEY_BATTERY_SAVER: string;
			public static KEY_BLUETOOTH: string;
			public static KEY_LOCATION: string;
			public static KEY_WIFI: string;
			public static PATH_SETTING_ACTION: string;
			public static PATH_SETTING_INTENT: string;
		}
	}
}

declare module android {
	export module provider {
		export class SyncStateContract extends java.lang.Object {
			public static class: java.lang.Class<android.provider.SyncStateContract>;
			public constructor();
		}
		export module SyncStateContract {
			export class Columns extends java.lang.Object implements android.provider.BaseColumns {
				public static class: java.lang.Class<android.provider.SyncStateContract.Columns>;
				/**
				 * Constructs a new instance of the android.provider.SyncStateContract$Columns interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
				});
				public constructor();
				public static ACCOUNT_NAME: string;
				public static _COUNT: string;
				public static ACCOUNT_TYPE: string;
				public static DATA: string;
				public static _ID: string;
			}
			export class Constants extends java.lang.Object implements android.provider.SyncStateContract.Columns {
				public static class: java.lang.Class<android.provider.SyncStateContract.Constants>;
				public static CONTENT_DIRECTORY: string;
				public constructor();
			}
			export class Helpers extends java.lang.Object {
				public static class: java.lang.Class<android.provider.SyncStateContract.Helpers>;
				public static insert(param0: android.content.ContentProviderClient, param1: android.net.Uri, param2: android.accounts.Account, param3: native.Array<number>): android.net.Uri;
				public static newUpdateOperation(param0: android.net.Uri, param1: native.Array<number>): android.content.ContentProviderOperation;
				public static get(param0: android.content.ContentProviderClient, param1: android.net.Uri, param2: android.accounts.Account): native.Array<number>;
				public static set(param0: android.content.ContentProviderClient, param1: android.net.Uri, param2: android.accounts.Account, param3: native.Array<number>): void;
				public static newSetOperation(param0: android.net.Uri, param1: android.accounts.Account, param2: native.Array<number>): android.content.ContentProviderOperation;
				public static update(param0: android.content.ContentProviderClient, param1: android.net.Uri, param2: native.Array<number>): void;
				public static getWithUri(param0: android.content.ContentProviderClient, param1: android.net.Uri, param2: android.accounts.Account): android.util.Pair<android.net.Uri,native.Array<number>>;
				public constructor();
			}
		}
	}
}

declare module android {
	export module provider {
		export class Telephony extends java.lang.Object {
			public static class: java.lang.Class<android.provider.Telephony>;
		}
		export module Telephony {
			export class BaseMmsColumns extends java.lang.Object implements android.provider.BaseColumns {
				public static class: java.lang.Class<android.provider.Telephony.BaseMmsColumns>;
				/**
				 * Constructs a new instance of the android.provider.Telephony$BaseMmsColumns interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
				});
				public constructor();
				public static DATE: string;
				public static READ_REPORT: string;
				public static READ: string;
				public static READ_STATUS: string;
				public static MESSAGE_BOX_SENT: number;
				public static SUBJECT: string;
				public static SUBSCRIPTION_ID: string;
				public static _ID: string;
				public static TRANSACTION_ID: string;
				public static TEXT_ONLY: string;
				public static MESSAGE_SIZE: string;
				public static CONTENT_LOCATION: string;
				public static LOCKED: string;
				public static RETRIEVE_STATUS: string;
				public static MESSAGE_BOX_DRAFTS: number;
				public static MESSAGE_TYPE: string;
				public static MESSAGE_BOX_INBOX: number;
				public static MESSAGE_CLASS: string;
				public static STATUS: string;
				public static MESSAGE_BOX_ALL: number;
				public static MESSAGE_ID: string;
				public static CONTENT_TYPE: string;
				public static CREATOR: string;
				public static MESSAGE_BOX_OUTBOX: number;
				public static RESPONSE_TEXT: string;
				public static SUBJECT_CHARSET: string;
				public static RETRIEVE_TEXT_CHARSET: string;
				public static SEEN: string;
				public static MESSAGE_BOX_FAILED: number;
				public static CONTENT_CLASS: string;
				public static DELIVERY_REPORT: string;
				public static _COUNT: string;
				public static RESPONSE_STATUS: string;
				public static RETRIEVE_TEXT: string;
				public static EXPIRY: string;
				public static REPORT_ALLOWED: string;
				public static PRIORITY: string;
				public static THREAD_ID: string;
				public static MMS_VERSION: string;
				public static DATE_SENT: string;
				public static DELIVERY_TIME: string;
				public static MESSAGE_BOX: string;
			}
			export class CanonicalAddressesColumns extends java.lang.Object implements android.provider.BaseColumns {
				public static class: java.lang.Class<android.provider.Telephony.CanonicalAddressesColumns>;
				/**
				 * Constructs a new instance of the android.provider.Telephony$CanonicalAddressesColumns interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
				});
				public constructor();
				public static _COUNT: string;
				public static ADDRESS: string;
				public static _ID: string;
			}
			export class CarrierId extends java.lang.Object implements android.provider.BaseColumns {
				public static class: java.lang.Class<android.provider.Telephony.CarrierId>;
				public static CARRIER_ID: string;
				public static CARRIER_NAME: string;
				public static CONTENT_URI: android.net.Uri;
				public static getUriForSubscriptionId(param0: number): android.net.Uri;
			}
			export class Carriers extends java.lang.Object implements android.provider.BaseColumns {
				public static class: java.lang.Class<android.provider.Telephony.Carriers>;
				public static APN: string;
				public static AUTH_TYPE: string;
				public static BEARER: string;
				public static CARRIER_ENABLED: string;
				public static CONTENT_URI: android.net.Uri;
				public static CURRENT: string;
				public static DEFAULT_SORT_ORDER: string;
				public static MCC: string;
				public static MMSC: string;
				public static MMSPORT: string;
				public static MMSPROXY: string;
				public static MNC: string;
				public static MVNO_MATCH_DATA: string;
				public static MVNO_TYPE: string;
				public static NAME: string;
				public static NETWORK_TYPE_BITMASK: string;
				public static NUMERIC: string;
				public static PASSWORD: string;
				public static PORT: string;
				public static PROTOCOL: string;
				public static PROXY: string;
				public static ROAMING_PROTOCOL: string;
				public static SERVER: string;
				public static SUBSCRIPTION_ID: string;
				public static TYPE: string;
				public static USER: string;
			}
			export class Mms extends java.lang.Object implements android.provider.Telephony.BaseMmsColumns {
				public static class: java.lang.Class<android.provider.Telephony.Mms>;
				public static CONTENT_URI: android.net.Uri;
				public static DEFAULT_SORT_ORDER: string;
				public static REPORT_REQUEST_URI: android.net.Uri;
				public static REPORT_STATUS_URI: android.net.Uri;
			}
			export module Mms {
				export class Addr extends java.lang.Object implements android.provider.BaseColumns {
					public static class: java.lang.Class<android.provider.Telephony.Mms.Addr>;
					public static ADDRESS: string;
					public static CHARSET: string;
					public static CONTACT_ID: string;
					public static MSG_ID: string;
					public static TYPE: string;
				}
				export class Draft extends java.lang.Object implements android.provider.Telephony.BaseMmsColumns {
					public static class: java.lang.Class<android.provider.Telephony.Mms.Draft>;
					public static CONTENT_URI: android.net.Uri;
					public static DEFAULT_SORT_ORDER: string;
				}
				export class Inbox extends java.lang.Object implements android.provider.Telephony.BaseMmsColumns {
					public static class: java.lang.Class<android.provider.Telephony.Mms.Inbox>;
					public static CONTENT_URI: android.net.Uri;
					public static DEFAULT_SORT_ORDER: string;
				}
				export class Intents extends java.lang.Object {
					public static class: java.lang.Class<android.provider.Telephony.Mms.Intents>;
					public static CONTENT_CHANGED_ACTION: string;
					public static DELETED_CONTENTS: string;
				}
				export class Outbox extends java.lang.Object implements android.provider.Telephony.BaseMmsColumns {
					public static class: java.lang.Class<android.provider.Telephony.Mms.Outbox>;
					public static CONTENT_URI: android.net.Uri;
					public static DEFAULT_SORT_ORDER: string;
				}
				export class Part extends java.lang.Object implements android.provider.BaseColumns {
					public static class: java.lang.Class<android.provider.Telephony.Mms.Part>;
					public static CHARSET: string;
					public static CONTENT_DISPOSITION: string;
					public static CONTENT_ID: string;
					public static CONTENT_LOCATION: string;
					public static CONTENT_TYPE: string;
					public static CT_START: string;
					public static CT_TYPE: string;
					public static FILENAME: string;
					public static MSG_ID: string;
					public static NAME: string;
					public static SEQ: string;
					public static TEXT: string;
					public static _DATA: string;
				}
				export class Rate extends java.lang.Object {
					public static class: java.lang.Class<android.provider.Telephony.Mms.Rate>;
					public static CONTENT_URI: android.net.Uri;
					public static SENT_TIME: string;
				}
				export class Sent extends java.lang.Object implements android.provider.Telephony.BaseMmsColumns {
					public static class: java.lang.Class<android.provider.Telephony.Mms.Sent>;
					public static CONTENT_URI: android.net.Uri;
					public static DEFAULT_SORT_ORDER: string;
				}
			}
			export class MmsSms extends java.lang.Object implements android.provider.BaseColumns {
				public static class: java.lang.Class<android.provider.Telephony.MmsSms>;
				public static CONTENT_CONVERSATIONS_URI: android.net.Uri;
				public static CONTENT_DRAFT_URI: android.net.Uri;
				public static CONTENT_FILTER_BYPHONE_URI: android.net.Uri;
				public static CONTENT_LOCKED_URI: android.net.Uri;
				public static CONTENT_UNDELIVERED_URI: android.net.Uri;
				public static CONTENT_URI: android.net.Uri;
				public static ERR_TYPE_GENERIC: number;
				public static ERR_TYPE_GENERIC_PERMANENT: number;
				public static ERR_TYPE_MMS_PROTO_PERMANENT: number;
				public static ERR_TYPE_MMS_PROTO_TRANSIENT: number;
				public static ERR_TYPE_SMS_PROTO_PERMANENT: number;
				public static ERR_TYPE_SMS_PROTO_TRANSIENT: number;
				public static ERR_TYPE_TRANSPORT_FAILURE: number;
				public static MMS_PROTO: number;
				public static NO_ERROR: number;
				public static SEARCH_URI: android.net.Uri;
				public static SMS_PROTO: number;
				public static TYPE_DISCRIMINATOR_COLUMN: string;
			}
			export module MmsSms {
				export class PendingMessages extends java.lang.Object implements android.provider.BaseColumns {
					public static class: java.lang.Class<android.provider.Telephony.MmsSms.PendingMessages>;
					public static CONTENT_URI: android.net.Uri;
					public static DUE_TIME: string;
					public static ERROR_CODE: string;
					public static ERROR_TYPE: string;
					public static LAST_TRY: string;
					public static MSG_ID: string;
					public static MSG_TYPE: string;
					public static PROTO_TYPE: string;
					public static RETRY_INDEX: string;
					public static SUBSCRIPTION_ID: string;
				}
			}
			export class ServiceStateTable extends java.lang.Object {
				public static class: java.lang.Class<android.provider.Telephony.ServiceStateTable>;
				public static AUTHORITY: string;
				public static CONTENT_URI: android.net.Uri;
				public static IS_MANUAL_NETWORK_SELECTION: string;
				public static VOICE_OPERATOR_NUMERIC: string;
				public static VOICE_REG_STATE: string;
				public static getUriForSubscriptionIdAndField(param0: number, param1: string): android.net.Uri;
				public static getUriForSubscriptionId(param0: number): android.net.Uri;
			}
			export class Sms extends java.lang.Object implements android.provider.BaseColumns, android.provider.Telephony.TextBasedSmsColumns {
				public static class: java.lang.Class<android.provider.Telephony.Sms>;
				public static CONTENT_URI: android.net.Uri;
				public static DEFAULT_SORT_ORDER: string;
				public static getDefaultSmsPackage(param0: android.content.Context): string;
			}
			export module Sms {
				export class Conversations extends java.lang.Object implements android.provider.BaseColumns, android.provider.Telephony.TextBasedSmsColumns {
					public static class: java.lang.Class<android.provider.Telephony.Sms.Conversations>;
					public static CONTENT_URI: android.net.Uri;
					public static DEFAULT_SORT_ORDER: string;
					public static MESSAGE_COUNT: string;
					public static SNIPPET: string;
				}
				export class Draft extends java.lang.Object implements android.provider.BaseColumns, android.provider.Telephony.TextBasedSmsColumns {
					public static class: java.lang.Class<android.provider.Telephony.Sms.Draft>;
					public static CONTENT_URI: android.net.Uri;
					public static DEFAULT_SORT_ORDER: string;
				}
				export class Inbox extends java.lang.Object implements android.provider.BaseColumns, android.provider.Telephony.TextBasedSmsColumns {
					public static class: java.lang.Class<android.provider.Telephony.Sms.Inbox>;
					public static CONTENT_URI: android.net.Uri;
					public static DEFAULT_SORT_ORDER: string;
				}
				export class Intents extends java.lang.Object {
					public static class: java.lang.Class<android.provider.Telephony.Sms.Intents>;
					public static ACTION_CHANGE_DEFAULT: string;
					public static ACTION_DEFAULT_SMS_PACKAGE_CHANGED: string;
					public static ACTION_EXTERNAL_PROVIDER_CHANGE: string;
					public static DATA_SMS_RECEIVED_ACTION: string;
					public static EXTRA_IS_DEFAULT_SMS_APP: string;
					public static EXTRA_PACKAGE_NAME: string;
					public static RESULT_SMS_DUPLICATED: number;
					public static RESULT_SMS_GENERIC_ERROR: number;
					public static RESULT_SMS_HANDLED: number;
					public static RESULT_SMS_OUT_OF_MEMORY: number;
					public static RESULT_SMS_UNSUPPORTED: number;
					public static SECRET_CODE_ACTION: string;
					public static SIM_FULL_ACTION: string;
					public static SMS_CB_RECEIVED_ACTION: string;
					public static SMS_DELIVER_ACTION: string;
					public static SMS_RECEIVED_ACTION: string;
					public static SMS_REJECTED_ACTION: string;
					public static SMS_SERVICE_CATEGORY_PROGRAM_DATA_RECEIVED_ACTION: string;
					public static WAP_PUSH_DELIVER_ACTION: string;
					public static WAP_PUSH_RECEIVED_ACTION: string;
					public static getMessagesFromIntent(param0: android.content.Intent): native.Array<android.telephony.SmsMessage>;
				}
				export class Outbox extends java.lang.Object implements android.provider.BaseColumns, android.provider.Telephony.TextBasedSmsColumns {
					public static class: java.lang.Class<android.provider.Telephony.Sms.Outbox>;
					public static CONTENT_URI: android.net.Uri;
					public static DEFAULT_SORT_ORDER: string;
				}
				export class Sent extends java.lang.Object implements android.provider.BaseColumns, android.provider.Telephony.TextBasedSmsColumns {
					public static class: java.lang.Class<android.provider.Telephony.Sms.Sent>;
					public static CONTENT_URI: android.net.Uri;
					public static DEFAULT_SORT_ORDER: string;
				}
			}
			export class TextBasedSmsColumns extends java.lang.Object {
				public static class: java.lang.Class<android.provider.Telephony.TextBasedSmsColumns>;
				/**
				 * Constructs a new instance of the android.provider.Telephony$TextBasedSmsColumns interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
				});
				public constructor();
				public static DATE: string;
				public static READ: string;
				public static ADDRESS: string;
				public static SUBJECT: string;
				public static SUBSCRIPTION_ID: string;
				public static MESSAGE_TYPE_QUEUED: number;
				public static BODY: string;
				public static LOCKED: string;
				public static MESSAGE_TYPE_DRAFT: number;
				public static PERSON: string;
				public static MESSAGE_TYPE_ALL: number;
				public static PROTOCOL: string;
				public static STATUS_NONE: number;
				public static MESSAGE_TYPE_OUTBOX: number;
				public static MESSAGE_TYPE_SENT: number;
				public static STATUS_FAILED: number;
				public static REPLY_PATH_PRESENT: string;
				public static STATUS: string;
				public static MESSAGE_TYPE_INBOX: number;
				public static MESSAGE_TYPE_FAILED: number;
				public static CREATOR: string;
				public static STATUS_COMPLETE: number;
				public static STATUS_PENDING: number;
				public static SEEN: string;
				public static TYPE: string;
				public static SERVICE_CENTER: string;
				public static THREAD_ID: string;
				public static DATE_SENT: string;
				public static ERROR_CODE: string;
			}
			export class Threads extends java.lang.Object implements android.provider.Telephony.ThreadsColumns {
				public static class: java.lang.Class<android.provider.Telephony.Threads>;
				public static BROADCAST_THREAD: number;
				public static COMMON_THREAD: number;
				public static CONTENT_URI: android.net.Uri;
				public static OBSOLETE_THREADS_URI: android.net.Uri;
				public static getOrCreateThreadId(param0: android.content.Context, param1: java.util.Set<string>): number;
				public static getOrCreateThreadId(param0: android.content.Context, param1: string): number;
			}
			export class ThreadsColumns extends java.lang.Object implements android.provider.BaseColumns {
				public static class: java.lang.Class<android.provider.Telephony.ThreadsColumns>;
				/**
				 * Constructs a new instance of the android.provider.Telephony$ThreadsColumns interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
				});
				public constructor();
				public static DATE: string;
				public static _COUNT: string;
				public static READ: string;
				public static RECIPIENT_IDS: string;
				public static HAS_ATTACHMENT: string;
				public static MESSAGE_COUNT: string;
				public static SNIPPET: string;
				public static ARCHIVED: string;
				public static _ID: string;
				public static ERROR: string;
				public static SNIPPET_CHARSET: string;
				public static TYPE: string;
			}
		}
	}
}

declare module android {
	export module provider {
		export class UserDictionary extends java.lang.Object {
			public static class: java.lang.Class<android.provider.UserDictionary>;
			public static AUTHORITY: string;
			public static CONTENT_URI: android.net.Uri;
			public constructor();
		}
		export module UserDictionary {
			export class Words extends java.lang.Object implements android.provider.BaseColumns {
				public static class: java.lang.Class<android.provider.UserDictionary.Words>;
				public static APP_ID: string;
				public static CONTENT_ITEM_TYPE: string;
				public static CONTENT_TYPE: string;
				public static CONTENT_URI: android.net.Uri;
				public static DEFAULT_SORT_ORDER: string;
				public static FREQUENCY: string;
				public static LOCALE: string;
				public static LOCALE_TYPE_ALL: number;
				public static LOCALE_TYPE_CURRENT: number;
				public static SHORTCUT: string;
				public static WORD: string;
				public static _ID: string;
				/** @deprecated */
				public static addWord(param0: android.content.Context, param1: string, param2: number, param3: number): void;
				public static addWord(param0: android.content.Context, param1: string, param2: number, param3: string, param4: java.util.Locale): void;
				public constructor();
			}
		}
	}
}

declare module android {
	export module provider {
		export class VoicemailContract extends java.lang.Object {
			public static class: java.lang.Class<android.provider.VoicemailContract>;
			public static ACTION_FETCH_VOICEMAIL: string;
			public static ACTION_NEW_VOICEMAIL: string;
			public static ACTION_SYNC_VOICEMAIL: string;
			public static AUTHORITY: string;
			public static EXTRA_PHONE_ACCOUNT_HANDLE: string;
			public static EXTRA_SELF_CHANGE: string;
			public static PARAM_KEY_SOURCE_PACKAGE: string;
		}
		export module VoicemailContract {
			export class Status extends java.lang.Object implements android.provider.BaseColumns {
				public static class: java.lang.Class<android.provider.VoicemailContract.Status>;
				public static CONFIGURATION_STATE: string;
				public static CONFIGURATION_STATE_CAN_BE_CONFIGURED: number;
				public static CONFIGURATION_STATE_CONFIGURING: number;
				public static CONFIGURATION_STATE_DISABLED: number;
				public static CONFIGURATION_STATE_FAILED: number;
				public static CONFIGURATION_STATE_NOT_CONFIGURED: number;
				public static CONFIGURATION_STATE_OK: number;
				public static CONTENT_URI: android.net.Uri;
				public static DATA_CHANNEL_STATE: string;
				public static DATA_CHANNEL_STATE_BAD_CONFIGURATION: number;
				public static DATA_CHANNEL_STATE_COMMUNICATION_ERROR: number;
				public static DATA_CHANNEL_STATE_NO_CONNECTION: number;
				public static DATA_CHANNEL_STATE_NO_CONNECTION_CELLULAR_REQUIRED: number;
				public static DATA_CHANNEL_STATE_OK: number;
				public static DATA_CHANNEL_STATE_SERVER_CONNECTION_ERROR: number;
				public static DATA_CHANNEL_STATE_SERVER_ERROR: number;
				public static DIR_TYPE: string;
				public static ITEM_TYPE: string;
				public static NOTIFICATION_CHANNEL_STATE: string;
				public static NOTIFICATION_CHANNEL_STATE_MESSAGE_WAITING: number;
				public static NOTIFICATION_CHANNEL_STATE_NO_CONNECTION: number;
				public static NOTIFICATION_CHANNEL_STATE_OK: number;
				public static PHONE_ACCOUNT_COMPONENT_NAME: string;
				public static PHONE_ACCOUNT_ID: string;
				public static QUOTA_OCCUPIED: string;
				public static QUOTA_TOTAL: string;
				public static QUOTA_UNAVAILABLE: number;
				public static SETTINGS_URI: string;
				public static SOURCE_PACKAGE: string;
				public static SOURCE_TYPE: string;
				public static VOICEMAIL_ACCESS_URI: string;
				public static buildSourceUri(param0: string): android.net.Uri;
			}
			export class Voicemails extends java.lang.Object implements android.provider.BaseColumns, android.provider.OpenableColumns {
				public static class: java.lang.Class<android.provider.VoicemailContract.Voicemails>;
				public static ARCHIVED: string;
				public static BACKED_UP: string;
				public static CONTENT_URI: android.net.Uri;
				public static DATE: string;
				public static DELETED: string;
				public static DIRTY: string;
				public static DIRTY_RETAIN: number;
				public static DIR_TYPE: string;
				public static DURATION: string;
				public static HAS_CONTENT: string;
				public static IS_OMTP_VOICEMAIL: string;
				public static IS_READ: string;
				public static ITEM_TYPE: string;
				public static LAST_MODIFIED: string;
				public static MIME_TYPE: string;
				public static NEW: string;
				public static NUMBER: string;
				public static PHONE_ACCOUNT_COMPONENT_NAME: string;
				public static PHONE_ACCOUNT_ID: string;
				public static RESTORED: string;
				public static SOURCE_DATA: string;
				public static SOURCE_PACKAGE: string;
				public static TRANSCRIPTION: string;
				public static buildSourceUri(param0: string): android.net.Uri;
			}
		}
	}
}

declare module android {
	export module renderscript {
		export class Allocation extends android.renderscript.BaseObj {
			public static class: java.lang.Class<android.renderscript.Allocation>;
			public static USAGE_GRAPHICS_CONSTANTS: number;
			public static USAGE_GRAPHICS_RENDER_TARGET: number;
			public static USAGE_GRAPHICS_TEXTURE: number;
			public static USAGE_GRAPHICS_VERTEX: number;
			public static USAGE_IO_INPUT: number;
			public static USAGE_IO_OUTPUT: number;
			public static USAGE_SCRIPT: number;
			public static USAGE_SHARED: number;
			public copyFromUnchecked(param0: native.Array<number>): void;
			public static createAllocations(param0: android.renderscript.RenderScript, param1: android.renderscript.Type, param2: number, param3: number): native.Array<android.renderscript.Allocation>;
			public copyFrom(param0: native.Array<number>): void;
			public static createCubemapFromBitmap(param0: android.renderscript.RenderScript, param1: android.graphics.Bitmap): android.renderscript.Allocation;
			public static createFromBitmapResource(param0: android.renderscript.RenderScript, param1: android.content.res.Resources, param2: number, param3: android.renderscript.Allocation.MipmapControl, param4: number): android.renderscript.Allocation;
			public copy1DRangeFromUnchecked(param0: number, param1: number, param2: any): void;
			public setSurface(param0: android.view.Surface): void;
			public copyTo(param0: native.Array<number>): void;
			public static createFromString(param0: android.renderscript.RenderScript, param1: string, param2: number): android.renderscript.Allocation;
			public copy2DRangeFrom(param0: number, param1: number, param2: android.graphics.Bitmap): void;
			public copyFrom(param0: any): void;
			public copy2DRangeTo(param0: number, param1: number, param2: number, param3: number, param4: any): void;
			public syncAll(param0: number): void;
			public setAutoPadding(param0: boolean): void;
			public getBytesSize(): number;
			public static createCubemapFromBitmap(param0: android.renderscript.RenderScript, param1: android.graphics.Bitmap, param2: android.renderscript.Allocation.MipmapControl, param3: number): android.renderscript.Allocation;
			public static createSized(param0: android.renderscript.RenderScript, param1: android.renderscript.Element, param2: number, param3: number): android.renderscript.Allocation;
			public copyFrom(param0: android.graphics.Bitmap): void;
			public copy1DRangeToUnchecked(param0: number, param1: number, param2: native.Array<number>): void;
			public getStride(): number;
			public getType(): android.renderscript.Type;
			public getSurface(): android.view.Surface;
			public static createTyped(param0: android.renderscript.RenderScript, param1: android.renderscript.Type, param2: number): android.renderscript.Allocation;
			public static createCubemapFromCubeFaces(param0: android.renderscript.RenderScript, param1: android.graphics.Bitmap, param2: android.graphics.Bitmap, param3: android.graphics.Bitmap, param4: android.graphics.Bitmap, param5: android.graphics.Bitmap, param6: android.graphics.Bitmap): android.renderscript.Allocation;
			public static createFromBitmapResource(param0: android.renderscript.RenderScript, param1: android.content.res.Resources, param2: number): android.renderscript.Allocation;
			public getByteBuffer(): java.nio.ByteBuffer;
			public copy1DRangeFrom(param0: number, param1: number, param2: android.renderscript.Allocation, param3: number): void;
			public static createTyped(param0: android.renderscript.RenderScript, param1: android.renderscript.Type, param2: android.renderscript.Allocation.MipmapControl, param3: number): android.renderscript.Allocation;
			public getElement(): android.renderscript.Element;
			public copy1DRangeFrom(param0: number, param1: number, param2: any): void;
			public generateMipmaps(): void;
			/** @deprecated */
			public resize(param0: number): void;
			public copy1DRangeFrom(param0: number, param1: number, param2: native.Array<number>): void;
			public copy1DRangeFromUnchecked(param0: number, param1: number, param2: native.Array<number>): void;
			public copy1DRangeTo(param0: number, param1: number, param2: native.Array<number>): void;
			public copy3DRangeFrom(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: any): void;
			public getUsage(): number;
			public copy3DRangeFrom(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: android.renderscript.Allocation, param7: number, param8: number, param9: number): void;
			public ioReceive(): void;
			public finalize(): void;
			public copy3DRangeTo(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: any): void;
			public copyFrom(param0: native.Array<android.renderscript.BaseObj>): void;
			public copyFrom(param0: android.renderscript.Allocation): void;
			public static createCubemapFromCubeFaces(param0: android.renderscript.RenderScript, param1: android.graphics.Bitmap, param2: android.graphics.Bitmap, param3: android.graphics.Bitmap, param4: android.graphics.Bitmap, param5: android.graphics.Bitmap, param6: android.graphics.Bitmap, param7: android.renderscript.Allocation.MipmapControl, param8: number): android.renderscript.Allocation;
			public setFromFieldPacker(param0: number, param1: android.renderscript.FieldPacker): void;
			public static createTyped(param0: android.renderscript.RenderScript, param1: android.renderscript.Type): android.renderscript.Allocation;
			public static createSized(param0: android.renderscript.RenderScript, param1: android.renderscript.Element, param2: number): android.renderscript.Allocation;
			public destroy(): void;
			public copyFromUnchecked(param0: any): void;
			public ioSend(): void;
			public copy1DRangeTo(param0: number, param1: number, param2: any): void;
			public copy2DRangeFrom(param0: number, param1: number, param2: number, param3: number, param4: android.renderscript.Allocation, param5: number, param6: number): void;
			public getTimeStamp(): number;
			public copyTo(param0: any): void;
			public copy2DRangeTo(param0: number, param1: number, param2: number, param3: number, param4: native.Array<number>): void;
			public copy2DRangeFrom(param0: number, param1: number, param2: number, param3: number, param4: any): void;
			public static createFromBitmap(param0: android.renderscript.RenderScript, param1: android.graphics.Bitmap, param2: android.renderscript.Allocation.MipmapControl, param3: number): android.renderscript.Allocation;
			public copy2DRangeFrom(param0: number, param1: number, param2: number, param3: number, param4: native.Array<number>): void;
			public copy1DRangeToUnchecked(param0: number, param1: number, param2: any): void;
			public static createFromBitmap(param0: android.renderscript.RenderScript, param1: android.graphics.Bitmap): android.renderscript.Allocation;
			public setOnBufferAvailableListener(param0: android.renderscript.Allocation.OnBufferAvailableListener): void;
			public setFromFieldPacker(param0: number, param1: number, param2: android.renderscript.FieldPacker): void;
			public setFromFieldPacker(param0: number, param1: number, param2: number, param3: number, param4: android.renderscript.FieldPacker): void;
			public copyTo(param0: android.graphics.Bitmap): void;
		}
		export module Allocation {
			export class MipmapControl {
				public static class: java.lang.Class<android.renderscript.Allocation.MipmapControl>;
				public static MIPMAP_NONE: android.renderscript.Allocation.MipmapControl;
				public static MIPMAP_FULL: android.renderscript.Allocation.MipmapControl;
				public static MIPMAP_ON_SYNC_TO_TEXTURE: android.renderscript.Allocation.MipmapControl;
				public static values(): native.Array<android.renderscript.Allocation.MipmapControl>;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
				public static valueOf(param0: string): android.renderscript.Allocation.MipmapControl;
			}
			export class OnBufferAvailableListener extends java.lang.Object {
				public static class: java.lang.Class<android.renderscript.Allocation.OnBufferAvailableListener>;
				/**
				 * Constructs a new instance of the android.renderscript.Allocation$OnBufferAvailableListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onBufferAvailable(param0: android.renderscript.Allocation): void;
				});
				public constructor();
				public onBufferAvailable(param0: android.renderscript.Allocation): void;
			}
		}
	}
}

declare module android {
	export module renderscript {
		export class AllocationAdapter extends android.renderscript.Allocation {
			public static class: java.lang.Class<android.renderscript.AllocationAdapter>;
			/** @deprecated */
			public resize(param0: number): void;
			public static createTyped(param0: android.renderscript.RenderScript, param1: android.renderscript.Type): android.renderscript.Allocation;
			public static createTyped(param0: android.renderscript.RenderScript, param1: android.renderscript.Allocation, param2: android.renderscript.Type): android.renderscript.AllocationAdapter;
			public setLOD(param0: number): void;
			public static create2D(param0: android.renderscript.RenderScript, param1: android.renderscript.Allocation): android.renderscript.AllocationAdapter;
			public resize(param0: number): void;
			public static createTyped(param0: android.renderscript.RenderScript, param1: android.renderscript.Type, param2: number): android.renderscript.Allocation;
			public setFace(param0: android.renderscript.Type.CubemapFace): void;
			public setY(param0: number): void;
			public setZ(param0: number): void;
			public setX(param0: number): void;
			public static create1D(param0: android.renderscript.RenderScript, param1: android.renderscript.Allocation): android.renderscript.AllocationAdapter;
			public static createTyped(param0: android.renderscript.RenderScript, param1: android.renderscript.Type, param2: android.renderscript.Allocation.MipmapControl, param3: number): android.renderscript.Allocation;
		}
	}
}

declare module android {
	export module renderscript {
		export class BaseObj extends java.lang.Object {
			public static class: java.lang.Class<android.renderscript.BaseObj>;
			public equals(param0: any): boolean;
			public getName(): string;
			public destroy(): void;
			public finalize(): void;
			public setName(param0: string): void;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module renderscript {
		export class Byte2 extends java.lang.Object {
			public static class: java.lang.Class<android.renderscript.Byte2>;
			public x: number;
			public y: number;
			public constructor();
			public constructor(param0: number, param1: number);
		}
	}
}

declare module android {
	export module renderscript {
		export class Byte3 extends java.lang.Object {
			public static class: java.lang.Class<android.renderscript.Byte3>;
			public x: number;
			public y: number;
			public z: number;
			public constructor(param0: number, param1: number, param2: number);
			public constructor();
		}
	}
}

declare module android {
	export module renderscript {
		export class Byte4 extends java.lang.Object {
			public static class: java.lang.Class<android.renderscript.Byte4>;
			public w: number;
			public x: number;
			public y: number;
			public z: number;
			public constructor();
			public constructor(param0: number, param1: number, param2: number, param3: number);
		}
	}
}

declare module android {
	export module renderscript {
		export class Double2 extends java.lang.Object {
			public static class: java.lang.Class<android.renderscript.Double2>;
			public x: number;
			public y: number;
			public constructor();
			public constructor(param0: number, param1: number);
		}
	}
}

declare module android {
	export module renderscript {
		export class Double3 extends java.lang.Object {
			public static class: java.lang.Class<android.renderscript.Double3>;
			public x: number;
			public y: number;
			public z: number;
			public constructor(param0: number, param1: number, param2: number);
			public constructor();
		}
	}
}

declare module android {
	export module renderscript {
		export class Double4 extends java.lang.Object {
			public static class: java.lang.Class<android.renderscript.Double4>;
			public w: number;
			public x: number;
			public y: number;
			public z: number;
			public constructor();
			public constructor(param0: number, param1: number, param2: number, param3: number);
		}
	}
}

declare module android {
	export module renderscript {
		export class Element extends android.renderscript.BaseObj {
			public static class: java.lang.Class<android.renderscript.Element>;
			public static I32_2(param0: android.renderscript.RenderScript): android.renderscript.Element;
			public static YUV(param0: android.renderscript.RenderScript): android.renderscript.Element;
			public static I8(param0: android.renderscript.RenderScript): android.renderscript.Element;
			public static U64(param0: android.renderscript.RenderScript): android.renderscript.Element;
			public static U32(param0: android.renderscript.RenderScript): android.renderscript.Element;
			public static MESH(param0: android.renderscript.RenderScript): android.renderscript.Element;
			public static PROGRAM_RASTER(param0: android.renderscript.RenderScript): android.renderscript.Element;
			public static F32(param0: android.renderscript.RenderScript): android.renderscript.Element;
			public static PROGRAM_FRAGMENT(param0: android.renderscript.RenderScript): android.renderscript.Element;
			public static I16_2(param0: android.renderscript.RenderScript): android.renderscript.Element;
			public getVectorSize(): number;
			public static F64(param0: android.renderscript.RenderScript): android.renderscript.Element;
			public getDataKind(): android.renderscript.Element.DataKind;
			public static F64_2(param0: android.renderscript.RenderScript): android.renderscript.Element;
			public static I32_3(param0: android.renderscript.RenderScript): android.renderscript.Element;
			public static F64_3(param0: android.renderscript.RenderScript): android.renderscript.Element;
			public static PROGRAM_STORE(param0: android.renderscript.RenderScript): android.renderscript.Element;
			public getBytesSize(): number;
			public static U32_2(param0: android.renderscript.RenderScript): android.renderscript.Element;
			public static U64_2(param0: android.renderscript.RenderScript): android.renderscript.Element;
			public static I16_3(param0: android.renderscript.RenderScript): android.renderscript.Element;
			public static I16(param0: android.renderscript.RenderScript): android.renderscript.Element;
			public static I32_4(param0: android.renderscript.RenderScript): android.renderscript.Element;
			public static I64_4(param0: android.renderscript.RenderScript): android.renderscript.Element;
			public static A_8(param0: android.renderscript.RenderScript): android.renderscript.Element;
			public isComplex(): boolean;
			public static FONT(param0: android.renderscript.RenderScript): android.renderscript.Element;
			public static MATRIX_4X4(param0: android.renderscript.RenderScript): android.renderscript.Element;
			public getSubElementArraySize(param0: number): number;
			public static MATRIX_2X2(param0: android.renderscript.RenderScript): android.renderscript.Element;
			public static U64_3(param0: android.renderscript.RenderScript): android.renderscript.Element;
			/** @deprecated */
			public static MATRIX4X4(param0: android.renderscript.RenderScript): android.renderscript.Element;
			public static F16(param0: android.renderscript.RenderScript): android.renderscript.Element;
			public static U16_4(param0: android.renderscript.RenderScript): android.renderscript.Element;
			public static RGB_888(param0: android.renderscript.RenderScript): android.renderscript.Element;
			public static U32_4(param0: android.renderscript.RenderScript): android.renderscript.Element;
			public static U64_4(param0: android.renderscript.RenderScript): android.renderscript.Element;
			public static I16_4(param0: android.renderscript.RenderScript): android.renderscript.Element;
			public static RGBA_8888(param0: android.renderscript.RenderScript): android.renderscript.Element;
			public static U16(param0: android.renderscript.RenderScript): android.renderscript.Element;
			public static U16_3(param0: android.renderscript.RenderScript): android.renderscript.Element;
			public static F16_2(param0: android.renderscript.RenderScript): android.renderscript.Element;
			public static I8_2(param0: android.renderscript.RenderScript): android.renderscript.Element;
			public static I64_2(param0: android.renderscript.RenderScript): android.renderscript.Element;
			public getSubElementName(param0: number): string;
			public static U8_4(param0: android.renderscript.RenderScript): android.renderscript.Element;
			public static SCRIPT(param0: android.renderscript.RenderScript): android.renderscript.Element;
			public static F32_2(param0: android.renderscript.RenderScript): android.renderscript.Element;
			public static U32_3(param0: android.renderscript.RenderScript): android.renderscript.Element;
			public static U16_2(param0: android.renderscript.RenderScript): android.renderscript.Element;
			public static I64_3(param0: android.renderscript.RenderScript): android.renderscript.Element;
			public static createVector(param0: android.renderscript.RenderScript, param1: android.renderscript.Element.DataType, param2: number): android.renderscript.Element;
			public static F32_3(param0: android.renderscript.RenderScript): android.renderscript.Element;
			public static createPixel(param0: android.renderscript.RenderScript, param1: android.renderscript.Element.DataType, param2: android.renderscript.Element.DataKind): android.renderscript.Element;
			public static I32(param0: android.renderscript.RenderScript): android.renderscript.Element;
			public static RGB_565(param0: android.renderscript.RenderScript): android.renderscript.Element;
			public static ALLOCATION(param0: android.renderscript.RenderScript): android.renderscript.Element;
			public getSubElementOffsetBytes(param0: number): number;
			public static U8(param0: android.renderscript.RenderScript): android.renderscript.Element;
			public static U8_2(param0: android.renderscript.RenderScript): android.renderscript.Element;
			public static I8_4(param0: android.renderscript.RenderScript): android.renderscript.Element;
			public static I64(param0: android.renderscript.RenderScript): android.renderscript.Element;
			public static PROGRAM_VERTEX(param0: android.renderscript.RenderScript): android.renderscript.Element;
			public getSubElementCount(): number;
			public static F32_4(param0: android.renderscript.RenderScript): android.renderscript.Element;
			public static F64_4(param0: android.renderscript.RenderScript): android.renderscript.Element;
			public static BOOLEAN(param0: android.renderscript.RenderScript): android.renderscript.Element;
			public static F16_3(param0: android.renderscript.RenderScript): android.renderscript.Element;
			public static RGBA_4444(param0: android.renderscript.RenderScript): android.renderscript.Element;
			public static MATRIX_3X3(param0: android.renderscript.RenderScript): android.renderscript.Element;
			public isCompatible(param0: android.renderscript.Element): boolean;
			public static I8_3(param0: android.renderscript.RenderScript): android.renderscript.Element;
			public static ELEMENT(param0: android.renderscript.RenderScript): android.renderscript.Element;
			public static F16_4(param0: android.renderscript.RenderScript): android.renderscript.Element;
			public getDataType(): android.renderscript.Element.DataType;
			public static U8_3(param0: android.renderscript.RenderScript): android.renderscript.Element;
			public static SAMPLER(param0: android.renderscript.RenderScript): android.renderscript.Element;
			public static TYPE(param0: android.renderscript.RenderScript): android.renderscript.Element;
			public static RGBA_5551(param0: android.renderscript.RenderScript): android.renderscript.Element;
			public getSubElement(param0: number): android.renderscript.Element;
		}
		export module Element {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.renderscript.Element.Builder>;
				public constructor(param0: android.renderscript.RenderScript);
				public add(param0: android.renderscript.Element, param1: string): android.renderscript.Element.Builder;
				public create(): android.renderscript.Element;
				public add(param0: android.renderscript.Element, param1: string, param2: number): android.renderscript.Element.Builder;
			}
			export class DataKind {
				public static class: java.lang.Class<android.renderscript.Element.DataKind>;
				public static USER: android.renderscript.Element.DataKind;
				public static PIXEL_L: android.renderscript.Element.DataKind;
				public static PIXEL_A: android.renderscript.Element.DataKind;
				public static PIXEL_LA: android.renderscript.Element.DataKind;
				public static PIXEL_RGB: android.renderscript.Element.DataKind;
				public static PIXEL_RGBA: android.renderscript.Element.DataKind;
				public static PIXEL_DEPTH: android.renderscript.Element.DataKind;
				public static PIXEL_YUV: android.renderscript.Element.DataKind;
				public static values(): native.Array<android.renderscript.Element.DataKind>;
				public static valueOf(param0: string): android.renderscript.Element.DataKind;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			}
			export class DataType {
				public static class: java.lang.Class<android.renderscript.Element.DataType>;
				public static NONE: android.renderscript.Element.DataType;
				public static FLOAT_16: android.renderscript.Element.DataType;
				public static FLOAT_32: android.renderscript.Element.DataType;
				public static FLOAT_64: android.renderscript.Element.DataType;
				public static SIGNED_8: android.renderscript.Element.DataType;
				public static SIGNED_16: android.renderscript.Element.DataType;
				public static SIGNED_32: android.renderscript.Element.DataType;
				public static SIGNED_64: android.renderscript.Element.DataType;
				public static UNSIGNED_8: android.renderscript.Element.DataType;
				public static UNSIGNED_16: android.renderscript.Element.DataType;
				public static UNSIGNED_32: android.renderscript.Element.DataType;
				public static UNSIGNED_64: android.renderscript.Element.DataType;
				public static BOOLEAN: android.renderscript.Element.DataType;
				public static UNSIGNED_5_6_5: android.renderscript.Element.DataType;
				public static UNSIGNED_5_5_5_1: android.renderscript.Element.DataType;
				public static UNSIGNED_4_4_4_4: android.renderscript.Element.DataType;
				public static MATRIX_4X4: android.renderscript.Element.DataType;
				public static MATRIX_3X3: android.renderscript.Element.DataType;
				public static MATRIX_2X2: android.renderscript.Element.DataType;
				public static RS_ELEMENT: android.renderscript.Element.DataType;
				public static RS_TYPE: android.renderscript.Element.DataType;
				public static RS_ALLOCATION: android.renderscript.Element.DataType;
				public static RS_SAMPLER: android.renderscript.Element.DataType;
				public static RS_SCRIPT: android.renderscript.Element.DataType;
				public static RS_MESH: android.renderscript.Element.DataType;
				public static RS_PROGRAM_FRAGMENT: android.renderscript.Element.DataType;
				public static RS_PROGRAM_VERTEX: android.renderscript.Element.DataType;
				public static RS_PROGRAM_RASTER: android.renderscript.Element.DataType;
				public static RS_PROGRAM_STORE: android.renderscript.Element.DataType;
				public static RS_FONT: android.renderscript.Element.DataType;
				public static valueOf(param0: string): android.renderscript.Element.DataType;
				public static values(): native.Array<android.renderscript.Element.DataType>;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			}
		}
	}
}

declare module android {
	export module renderscript {
		export class FieldPacker extends java.lang.Object {
			public static class: java.lang.Class<android.renderscript.FieldPacker>;
			public addF64(param0: android.renderscript.Double3): void;
			public addU32(param0: android.renderscript.Long4): void;
			public subI8(): number;
			public addI32(param0: number): void;
			public addI32(param0: android.renderscript.Int2): void;
			public addI8(param0: android.renderscript.Byte3): void;
			public addMatrix(param0: android.renderscript.Matrix2f): void;
			public subFloat2(): android.renderscript.Float2;
			public subMatrix4f(): android.renderscript.Matrix4f;
			public subDouble3(): android.renderscript.Double3;
			public subBoolean(): boolean;
			public addF32(param0: android.renderscript.Float4): void;
			public addU64(param0: android.renderscript.Long2): void;
			public getData(): native.Array<number>;
			public addU32(param0: android.renderscript.Long2): void;
			public addI32(param0: android.renderscript.Int4): void;
			public addU64(param0: android.renderscript.Long4): void;
			public addF32(param0: android.renderscript.Float2): void;
			public addU16(param0: android.renderscript.Int2): void;
			public subShort3(): android.renderscript.Short3;
			public constructor(param0: number);
			public addU16(param0: android.renderscript.Int3): void;
			public align(param0: number): void;
			public constructor(param0: native.Array<number>);
			public addI64(param0: number): void;
			public subF32(): number;
			public subShort2(): android.renderscript.Short2;
			public subDouble2(): android.renderscript.Double2;
			public addU8(param0: android.renderscript.Short3): void;
			public addMatrix(param0: android.renderscript.Matrix4f): void;
			public addI64(param0: android.renderscript.Long3): void;
			public addI16(param0: android.renderscript.Short3): void;
			public subMatrix3f(): android.renderscript.Matrix3f;
			public addU16(param0: number): void;
			public subFloat4(): android.renderscript.Float4;
			public subI32(): number;
			public subLong2(): android.renderscript.Long2;
			public addI8(param0: number): void;
			public addI8(param0: android.renderscript.Byte2): void;
			public subByte4(): android.renderscript.Byte4;
			public addI8(param0: android.renderscript.Byte4): void;
			public subFloat3(): android.renderscript.Float3;
			public subInt2(): android.renderscript.Int2;
			public addF64(param0: android.renderscript.Double2): void;
			public skip(param0: number): void;
			public subInt3(): android.renderscript.Int3;
			public subI64(): number;
			public addBoolean(param0: boolean): void;
			public subLong4(): android.renderscript.Long4;
			public addF32(param0: number): void;
			public reset(param0: number): void;
			public addI16(param0: number): void;
			public addF32(param0: android.renderscript.Float3): void;
			public addU64(param0: android.renderscript.Long3): void;
			public subalign(param0: number): void;
			public subMatrix2f(): android.renderscript.Matrix2f;
			public reset(): void;
			public addU32(param0: number): void;
			public addI32(param0: android.renderscript.Int3): void;
			public subShort4(): android.renderscript.Short4;
			public addU32(param0: android.renderscript.Long3): void;
			public subInt4(): android.renderscript.Int4;
			public addF64(param0: android.renderscript.Double4): void;
			public addMatrix(param0: android.renderscript.Matrix3f): void;
			public subI16(): number;
			public subByte2(): android.renderscript.Byte2;
			public subLong3(): android.renderscript.Long3;
			public addF64(param0: number): void;
			public addU16(param0: android.renderscript.Int4): void;
			public addU8(param0: number): void;
			public subByte3(): android.renderscript.Byte3;
			public addU8(param0: android.renderscript.Short2): void;
			public addI64(param0: android.renderscript.Long4): void;
			public addI16(param0: android.renderscript.Short4): void;
			public addU64(param0: number): void;
			public addU8(param0: android.renderscript.Short4): void;
			public addI64(param0: android.renderscript.Long2): void;
			public subDouble4(): android.renderscript.Double4;
			public addI16(param0: android.renderscript.Short2): void;
			public addObj(param0: android.renderscript.BaseObj): void;
			public subF64(): number;
		}
	}
}

declare module android {
	export module renderscript {
		export class Float2 extends java.lang.Object {
			public static class: java.lang.Class<android.renderscript.Float2>;
			public x: number;
			public y: number;
			public constructor();
			public constructor(param0: number, param1: number);
		}
	}
}

declare module android {
	export module renderscript {
		export class Float3 extends java.lang.Object {
			public static class: java.lang.Class<android.renderscript.Float3>;
			public x: number;
			public y: number;
			public z: number;
			public constructor(param0: number, param1: number, param2: number);
			public constructor();
		}
	}
}

declare module android {
	export module renderscript {
		export class Float4 extends java.lang.Object {
			public static class: java.lang.Class<android.renderscript.Float4>;
			public w: number;
			public x: number;
			public y: number;
			public z: number;
			public constructor();
			public constructor(param0: number, param1: number, param2: number, param3: number);
		}
	}
}

declare module android {
	export module renderscript {
		export class Int2 extends java.lang.Object {
			public static class: java.lang.Class<android.renderscript.Int2>;
			public x: number;
			public y: number;
			public constructor();
			public constructor(param0: number, param1: number);
		}
	}
}

declare module android {
	export module renderscript {
		export class Int3 extends java.lang.Object {
			public static class: java.lang.Class<android.renderscript.Int3>;
			public x: number;
			public y: number;
			public z: number;
			public constructor(param0: number, param1: number, param2: number);
			public constructor();
		}
	}
}

declare module android {
	export module renderscript {
		export class Int4 extends java.lang.Object {
			public static class: java.lang.Class<android.renderscript.Int4>;
			public w: number;
			public x: number;
			public y: number;
			public z: number;
			public constructor();
			public constructor(param0: number, param1: number, param2: number, param3: number);
		}
	}
}

declare module android {
	export module renderscript {
		export class Long2 extends java.lang.Object {
			public static class: java.lang.Class<android.renderscript.Long2>;
			public x: number;
			public y: number;
			public constructor();
			public constructor(param0: number, param1: number);
		}
	}
}

declare module android {
	export module renderscript {
		export class Long3 extends java.lang.Object {
			public static class: java.lang.Class<android.renderscript.Long3>;
			public x: number;
			public y: number;
			public z: number;
			public constructor(param0: number, param1: number, param2: number);
			public constructor();
		}
	}
}

declare module android {
	export module renderscript {
		export class Long4 extends java.lang.Object {
			public static class: java.lang.Class<android.renderscript.Long4>;
			public w: number;
			public x: number;
			public y: number;
			public z: number;
			public constructor();
			public constructor(param0: number, param1: number, param2: number, param3: number);
		}
	}
}

declare module android {
	export module renderscript {
		export class Matrix2f extends java.lang.Object {
			public static class: java.lang.Class<android.renderscript.Matrix2f>;
			public rotate(param0: number): void;
			public loadScale(param0: number, param1: number): void;
			public multiply(param0: android.renderscript.Matrix2f): void;
			public constructor();
			public constructor(param0: native.Array<number>);
			public getArray(): native.Array<number>;
			public load(param0: android.renderscript.Matrix2f): void;
			public set(param0: number, param1: number, param2: number): void;
			public loadIdentity(): void;
			public loadRotate(param0: number): void;
			public scale(param0: number, param1: number): void;
			public loadMultiply(param0: android.renderscript.Matrix2f, param1: android.renderscript.Matrix2f): void;
			public get(param0: number, param1: number): number;
			public transpose(): void;
		}
	}
}

declare module android {
	export module renderscript {
		export class Matrix3f extends java.lang.Object {
			public static class: java.lang.Class<android.renderscript.Matrix3f>;
			public loadScale(param0: number, param1: number, param2: number): void;
			public rotate(param0: number): void;
			public multiply(param0: android.renderscript.Matrix3f): void;
			public loadScale(param0: number, param1: number): void;
			public load(param0: android.renderscript.Matrix3f): void;
			public loadTranslate(param0: number, param1: number): void;
			public constructor();
			public constructor(param0: native.Array<number>);
			public getArray(): native.Array<number>;
			public loadRotate(param0: number, param1: number, param2: number, param3: number): void;
			public scale(param0: number, param1: number, param2: number): void;
			public set(param0: number, param1: number, param2: number): void;
			public loadIdentity(): void;
			public loadRotate(param0: number): void;
			public loadMultiply(param0: android.renderscript.Matrix3f, param1: android.renderscript.Matrix3f): void;
			public scale(param0: number, param1: number): void;
			public translate(param0: number, param1: number): void;
			public rotate(param0: number, param1: number, param2: number, param3: number): void;
			public get(param0: number, param1: number): number;
			public transpose(): void;
		}
	}
}

declare module android {
	export module renderscript {
		export class Matrix4f extends java.lang.Object {
			public static class: java.lang.Class<android.renderscript.Matrix4f>;
			public loadMultiply(param0: android.renderscript.Matrix4f, param1: android.renderscript.Matrix4f): void;
			public loadOrtho(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number): void;
			public inverseTranspose(): boolean;
			public loadScale(param0: number, param1: number, param2: number): void;
			public loadOrthoWindow(param0: number, param1: number): void;
			public constructor();
			public constructor(param0: native.Array<number>);
			public loadProjectionNormalized(param0: number, param1: number): void;
			public getArray(): native.Array<number>;
			public loadRotate(param0: number, param1: number, param2: number, param3: number): void;
			public scale(param0: number, param1: number, param2: number): void;
			public set(param0: number, param1: number, param2: number): void;
			public loadIdentity(): void;
			public multiply(param0: android.renderscript.Matrix4f): void;
			public loadFrustum(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number): void;
			public translate(param0: number, param1: number, param2: number): void;
			public load(param0: android.renderscript.Matrix4f): void;
			public loadTranslate(param0: number, param1: number, param2: number): void;
			public loadPerspective(param0: number, param1: number, param2: number, param3: number): void;
			public rotate(param0: number, param1: number, param2: number, param3: number): void;
			public inverse(): boolean;
			public get(param0: number, param1: number): number;
			public transpose(): void;
		}
	}
}

declare module android {
	export module renderscript {
		export class RSDriverException extends android.renderscript.RSRuntimeException {
			public static class: java.lang.Class<android.renderscript.RSDriverException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module android {
	export module renderscript {
		export class RSIllegalArgumentException extends android.renderscript.RSRuntimeException {
			public static class: java.lang.Class<android.renderscript.RSIllegalArgumentException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module android {
	export module renderscript {
		export class RSInvalidStateException extends android.renderscript.RSRuntimeException {
			public static class: java.lang.Class<android.renderscript.RSInvalidStateException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module android {
	export module renderscript {
		export class RSRuntimeException extends java.lang.RuntimeException {
			public static class: java.lang.Class<android.renderscript.RSRuntimeException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module android {
	export module renderscript {
		export class RenderScript extends java.lang.Object {
			public static class: java.lang.Class<android.renderscript.RenderScript>;
			public static CREATE_FLAG_LOW_LATENCY: number;
			public static CREATE_FLAG_LOW_POWER: number;
			public static CREATE_FLAG_NONE: number;
			public static createMultiContext(param0: android.content.Context, param1: android.renderscript.RenderScript.ContextType, param2: number, param3: number): android.renderscript.RenderScript;
			public sendMessage(param0: number, param1: native.Array<number>): void;
			public static getMinorVersion(): number;
			public finish(): void;
			public destroy(): void;
			public setPriority(param0: android.renderscript.RenderScript.Priority): void;
			public getApplicationContext(): android.content.Context;
			public static create(param0: android.content.Context): android.renderscript.RenderScript;
			public getMessageHandler(): android.renderscript.RenderScript.RSMessageHandler;
			public setMessageHandler(param0: android.renderscript.RenderScript.RSMessageHandler): void;
			public static create(param0: android.content.Context, param1: android.renderscript.RenderScript.ContextType, param2: number): android.renderscript.RenderScript;
			public setErrorHandler(param0: android.renderscript.RenderScript.RSErrorHandler): void;
			public getErrorHandler(): android.renderscript.RenderScript.RSErrorHandler;
			public static create(param0: android.content.Context, param1: android.renderscript.RenderScript.ContextType): android.renderscript.RenderScript;
			public static releaseAllContexts(): void;
			public finalize(): void;
			public contextDump(): void;
		}
		export module RenderScript {
			export class ContextType {
				public static class: java.lang.Class<android.renderscript.RenderScript.ContextType>;
				public static NORMAL: android.renderscript.RenderScript.ContextType;
				public static DEBUG: android.renderscript.RenderScript.ContextType;
				public static PROFILE: android.renderscript.RenderScript.ContextType;
				public static values(): native.Array<android.renderscript.RenderScript.ContextType>;
				public static valueOf(param0: string): android.renderscript.RenderScript.ContextType;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			}
			export class Priority {
				public static class: java.lang.Class<android.renderscript.RenderScript.Priority>;
				public static LOW: android.renderscript.RenderScript.Priority;
				public static NORMAL: android.renderscript.RenderScript.Priority;
				public static values(): native.Array<android.renderscript.RenderScript.Priority>;
				public static valueOf(param0: string): android.renderscript.RenderScript.Priority;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			}
			export class RSErrorHandler extends java.lang.Object implements java.lang.Runnable {
				public static class: java.lang.Class<android.renderscript.RenderScript.RSErrorHandler>;
				public mErrorMessage: string;
				public mErrorNum: number;
				public run(): void;
				public constructor();
			}
			export class RSMessageHandler extends java.lang.Object implements java.lang.Runnable {
				public static class: java.lang.Class<android.renderscript.RenderScript.RSMessageHandler>;
				public mData: native.Array<number>;
				public mID: number;
				public mLength: number;
				public run(): void;
				public constructor();
			}
		}
	}
}

declare module android {
	export module renderscript {
		export class Sampler extends android.renderscript.BaseObj {
			public static class: java.lang.Class<android.renderscript.Sampler>;
			public static WRAP_NEAREST(param0: android.renderscript.RenderScript): android.renderscript.Sampler;
			public getMinification(): android.renderscript.Sampler.Value;
			public static CLAMP_LINEAR(param0: android.renderscript.RenderScript): android.renderscript.Sampler;
			public getAnisotropy(): number;
			public getWrapT(): android.renderscript.Sampler.Value;
			public static WRAP_LINEAR_MIP_LINEAR(param0: android.renderscript.RenderScript): android.renderscript.Sampler;
			public static MIRRORED_REPEAT_NEAREST(param0: android.renderscript.RenderScript): android.renderscript.Sampler;
			public static CLAMP_LINEAR_MIP_LINEAR(param0: android.renderscript.RenderScript): android.renderscript.Sampler;
			public static MIRRORED_REPEAT_LINEAR(param0: android.renderscript.RenderScript): android.renderscript.Sampler;
			public static CLAMP_NEAREST(param0: android.renderscript.RenderScript): android.renderscript.Sampler;
			public static WRAP_LINEAR(param0: android.renderscript.RenderScript): android.renderscript.Sampler;
			public getMagnification(): android.renderscript.Sampler.Value;
			public getWrapS(): android.renderscript.Sampler.Value;
			public static MIRRORED_REPEAT_LINEAR_MIP_LINEAR(param0: android.renderscript.RenderScript): android.renderscript.Sampler;
		}
		export module Sampler {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.renderscript.Sampler.Builder>;
				public constructor(param0: android.renderscript.RenderScript);
				public setMinification(param0: android.renderscript.Sampler.Value): void;
				public setAnisotropy(param0: number): void;
				public setMagnification(param0: android.renderscript.Sampler.Value): void;
				public create(): android.renderscript.Sampler;
				public setWrapT(param0: android.renderscript.Sampler.Value): void;
				public setWrapS(param0: android.renderscript.Sampler.Value): void;
			}
			export class Value {
				public static class: java.lang.Class<android.renderscript.Sampler.Value>;
				public static NEAREST: android.renderscript.Sampler.Value;
				public static LINEAR: android.renderscript.Sampler.Value;
				public static LINEAR_MIP_LINEAR: android.renderscript.Sampler.Value;
				public static LINEAR_MIP_NEAREST: android.renderscript.Sampler.Value;
				public static WRAP: android.renderscript.Sampler.Value;
				public static CLAMP: android.renderscript.Sampler.Value;
				public static MIRRORED_REPEAT: android.renderscript.Sampler.Value;
				public static values(): native.Array<android.renderscript.Sampler.Value>;
				public static valueOf(param0: string): android.renderscript.Sampler.Value;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			}
		}
	}
}

declare module android {
	export module renderscript {
		export class Script extends android.renderscript.BaseObj {
			public static class: java.lang.Class<android.renderscript.Script>;
			public invoke(param0: number, param1: android.renderscript.FieldPacker): void;
			public forEach(param0: number, param1: native.Array<android.renderscript.Allocation>, param2: android.renderscript.Allocation, param3: android.renderscript.FieldPacker): void;
			public forEach(param0: number, param1: android.renderscript.Allocation, param2: android.renderscript.Allocation, param3: android.renderscript.FieldPacker, param4: android.renderscript.Script.LaunchOptions): void;
			public forEach(param0: number, param1: android.renderscript.Allocation, param2: android.renderscript.Allocation, param3: android.renderscript.FieldPacker): void;
			public createFieldID(param0: number, param1: android.renderscript.Element): android.renderscript.Script.FieldID;
			public getVarB(param0: number): boolean;
			public setVar(param0: number, param1: android.renderscript.BaseObj): void;
			public setVar(param0: number, param1: android.renderscript.FieldPacker): void;
			public getVarF(param0: number): number;
			public setVar(param0: number, param1: boolean): void;
			public setVar(param0: number, param1: android.renderscript.FieldPacker, param2: android.renderscript.Element, param3: native.Array<number>): void;
			public forEach(param0: number, param1: native.Array<android.renderscript.Allocation>, param2: android.renderscript.Allocation, param3: android.renderscript.FieldPacker, param4: android.renderscript.Script.LaunchOptions): void;
			public reduce(param0: number, param1: native.Array<android.renderscript.Allocation>, param2: android.renderscript.Allocation, param3: android.renderscript.Script.LaunchOptions): void;
			public invoke(param0: number): void;
			public getVarJ(param0: number): number;
			public setVar(param0: number, param1: number): void;
			public setTimeZone(param0: string): void;
			public bindAllocation(param0: android.renderscript.Allocation, param1: number): void;
			public getVarD(param0: number): number;
			public createKernelID(param0: number, param1: number, param2: android.renderscript.Element, param3: android.renderscript.Element): android.renderscript.Script.KernelID;
			public getVarI(param0: number): number;
			public createInvokeID(param0: number): android.renderscript.Script.InvokeID;
			public getVarV(param0: number, param1: android.renderscript.FieldPacker): void;
		}
		export module Script {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.renderscript.Script.Builder>;
			}
			export class FieldBase extends java.lang.Object {
				public static class: java.lang.Class<android.renderscript.Script.FieldBase>;
				public mAllocation: android.renderscript.Allocation;
				public mElement: android.renderscript.Element;
				public getType(): android.renderscript.Type;
				public updateAllocation(): void;
				public init(param0: android.renderscript.RenderScript, param1: number, param2: number): void;
				public getAllocation(): android.renderscript.Allocation;
				public init(param0: android.renderscript.RenderScript, param1: number): void;
				public getElement(): android.renderscript.Element;
				public constructor();
			}
			export class FieldID extends android.renderscript.BaseObj {
				public static class: java.lang.Class<android.renderscript.Script.FieldID>;
			}
			export class InvokeID extends android.renderscript.BaseObj {
				public static class: java.lang.Class<android.renderscript.Script.InvokeID>;
			}
			export class KernelID extends android.renderscript.BaseObj {
				public static class: java.lang.Class<android.renderscript.Script.KernelID>;
			}
			export class LaunchOptions extends java.lang.Object {
				public static class: java.lang.Class<android.renderscript.Script.LaunchOptions>;
				public setX(param0: number, param1: number): android.renderscript.Script.LaunchOptions;
				public getZStart(): number;
				public getYStart(): number;
				public getYEnd(): number;
				public getXEnd(): number;
				public getZEnd(): number;
				public setY(param0: number, param1: number): android.renderscript.Script.LaunchOptions;
				public getXStart(): number;
				public constructor();
				public setZ(param0: number, param1: number): android.renderscript.Script.LaunchOptions;
			}
		}
	}
}

declare module android {
	export module renderscript {
		export class ScriptC extends android.renderscript.Script {
			public static class: java.lang.Class<android.renderscript.ScriptC>;
			public constructor(param0: number, param1: android.renderscript.RenderScript);
			public constructor(param0: android.renderscript.RenderScript, param1: string, param2: native.Array<number>, param3: native.Array<number>);
			public constructor(param0: android.renderscript.RenderScript, param1: android.content.res.Resources, param2: number);
		}
	}
}

declare module android {
	export module renderscript {
		export class ScriptGroup extends android.renderscript.BaseObj {
			public static class: java.lang.Class<android.renderscript.ScriptGroup>;
			/** @deprecated */
			public setOutput(param0: android.renderscript.Script.KernelID, param1: android.renderscript.Allocation): void;
			public execute(param0: native.Array<any>): native.Array<any>;
			public destroy(): void;
			/** @deprecated */
			public setInput(param0: android.renderscript.Script.KernelID, param1: android.renderscript.Allocation): void;
			/** @deprecated */
			public execute(): void;
		}
		export module ScriptGroup {
			export class Binding extends java.lang.Object {
				public static class: java.lang.Class<android.renderscript.ScriptGroup.Binding>;
				public constructor(param0: android.renderscript.Script.FieldID, param1: any);
			}
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.renderscript.ScriptGroup.Builder>;
				public constructor(param0: android.renderscript.RenderScript);
				public create(): android.renderscript.ScriptGroup;
				public addKernel(param0: android.renderscript.Script.KernelID): android.renderscript.ScriptGroup.Builder;
				public addConnection(param0: android.renderscript.Type, param1: android.renderscript.Script.KernelID, param2: android.renderscript.Script.FieldID): android.renderscript.ScriptGroup.Builder;
				public addConnection(param0: android.renderscript.Type, param1: android.renderscript.Script.KernelID, param2: android.renderscript.Script.KernelID): android.renderscript.ScriptGroup.Builder;
			}
			export class Builder2 extends java.lang.Object {
				public static class: java.lang.Class<android.renderscript.ScriptGroup.Builder2>;
				public constructor(param0: android.renderscript.RenderScript);
				public addInvoke(param0: android.renderscript.Script.InvokeID, param1: native.Array<any>): android.renderscript.ScriptGroup.Closure;
				public addInput(): android.renderscript.ScriptGroup.Input;
				public addKernel(param0: android.renderscript.Script.KernelID, param1: android.renderscript.Type, param2: native.Array<any>): android.renderscript.ScriptGroup.Closure;
				public create(param0: string, param1: native.Array<android.renderscript.ScriptGroup.Future>): android.renderscript.ScriptGroup;
			}
			export class Closure extends android.renderscript.BaseObj {
				public static class: java.lang.Class<android.renderscript.ScriptGroup.Closure>;
				public destroy(): void;
				public getReturn(): android.renderscript.ScriptGroup.Future;
				public finalize(): void;
				public getGlobal(param0: android.renderscript.Script.FieldID): android.renderscript.ScriptGroup.Future;
			}
			export class Future extends java.lang.Object {
				public static class: java.lang.Class<android.renderscript.ScriptGroup.Future>;
			}
			export class Input extends java.lang.Object {
				public static class: java.lang.Class<android.renderscript.ScriptGroup.Input>;
			}
		}
	}
}

declare module android {
	export module renderscript {
		export abstract class ScriptIntrinsic extends android.renderscript.Script {
			public static class: java.lang.Class<android.renderscript.ScriptIntrinsic>;
		}
	}
}

declare module android {
	export module renderscript {
		export class ScriptIntrinsic3DLUT extends android.renderscript.ScriptIntrinsic {
			public static class: java.lang.Class<android.renderscript.ScriptIntrinsic3DLUT>;
			public forEach(param0: number, param1: native.Array<android.renderscript.Allocation>, param2: android.renderscript.Allocation, param3: android.renderscript.FieldPacker): void;
			public forEach(param0: android.renderscript.Allocation, param1: android.renderscript.Allocation): void;
			public forEach(param0: number, param1: android.renderscript.Allocation, param2: android.renderscript.Allocation, param3: android.renderscript.FieldPacker, param4: android.renderscript.Script.LaunchOptions): void;
			public static create(param0: android.renderscript.RenderScript, param1: android.renderscript.Element): android.renderscript.ScriptIntrinsic3DLUT;
			public forEach(param0: number, param1: android.renderscript.Allocation, param2: android.renderscript.Allocation, param3: android.renderscript.FieldPacker): void;
			public forEach(param0: android.renderscript.Allocation, param1: android.renderscript.Allocation, param2: android.renderscript.Script.LaunchOptions): void;
			public getKernelID(): android.renderscript.Script.KernelID;
			public setLUT(param0: android.renderscript.Allocation): void;
			public forEach(param0: number, param1: native.Array<android.renderscript.Allocation>, param2: android.renderscript.Allocation, param3: android.renderscript.FieldPacker, param4: android.renderscript.Script.LaunchOptions): void;
		}
	}
}

declare module android {
	export module renderscript {
		export class ScriptIntrinsicBLAS extends android.renderscript.ScriptIntrinsic {
			public static class: java.lang.Class<android.renderscript.ScriptIntrinsicBLAS>;
			public static CONJ_TRANSPOSE: number;
			public static LEFT: number;
			public static LOWER: number;
			public static NON_UNIT: number;
			public static NO_TRANSPOSE: number;
			public static RIGHT: number;
			public static TRANSPOSE: number;
			public static UNIT: number;
			public static UPPER: number;
			public CHER2K(param0: number, param1: number, param2: android.renderscript.Float2, param3: android.renderscript.Allocation, param4: android.renderscript.Allocation, param5: number, param6: android.renderscript.Allocation): void;
			public ZHEMV(param0: number, param1: android.renderscript.Double2, param2: android.renderscript.Allocation, param3: android.renderscript.Allocation, param4: number, param5: android.renderscript.Double2, param6: android.renderscript.Allocation, param7: number): void;
			public ZHPR(param0: number, param1: number, param2: android.renderscript.Allocation, param3: number, param4: android.renderscript.Allocation): void;
			public CTBSV(param0: number, param1: number, param2: number, param3: number, param4: android.renderscript.Allocation, param5: android.renderscript.Allocation, param6: number): void;
			public SSYRK(param0: number, param1: number, param2: number, param3: android.renderscript.Allocation, param4: number, param5: android.renderscript.Allocation): void;
			public ZHERK(param0: number, param1: number, param2: number, param3: android.renderscript.Allocation, param4: number, param5: android.renderscript.Allocation): void;
			public DGBMV(param0: number, param1: number, param2: number, param3: number, param4: android.renderscript.Allocation, param5: android.renderscript.Allocation, param6: number, param7: number, param8: android.renderscript.Allocation, param9: number): void;
			public CHERK(param0: number, param1: number, param2: number, param3: android.renderscript.Allocation, param4: number, param5: android.renderscript.Allocation): void;
			public DSYR2K(param0: number, param1: number, param2: number, param3: android.renderscript.Allocation, param4: android.renderscript.Allocation, param5: number, param6: android.renderscript.Allocation): void;
			public DSYMV(param0: number, param1: number, param2: android.renderscript.Allocation, param3: android.renderscript.Allocation, param4: number, param5: number, param6: android.renderscript.Allocation, param7: number): void;
			public CHER(param0: number, param1: number, param2: android.renderscript.Allocation, param3: number, param4: android.renderscript.Allocation): void;
			public CHBMV(param0: number, param1: number, param2: android.renderscript.Float2, param3: android.renderscript.Allocation, param4: android.renderscript.Allocation, param5: number, param6: android.renderscript.Float2, param7: android.renderscript.Allocation, param8: number): void;
			public ZTBMV(param0: number, param1: number, param2: number, param3: number, param4: android.renderscript.Allocation, param5: android.renderscript.Allocation, param6: number): void;
			public ZGERU(param0: android.renderscript.Double2, param1: android.renderscript.Allocation, param2: number, param3: android.renderscript.Allocation, param4: number, param5: android.renderscript.Allocation): void;
			public SSPMV(param0: number, param1: number, param2: android.renderscript.Allocation, param3: android.renderscript.Allocation, param4: number, param5: number, param6: android.renderscript.Allocation, param7: number): void;
			public DTBMV(param0: number, param1: number, param2: number, param3: number, param4: android.renderscript.Allocation, param5: android.renderscript.Allocation, param6: number): void;
			public SGBMV(param0: number, param1: number, param2: number, param3: number, param4: android.renderscript.Allocation, param5: android.renderscript.Allocation, param6: number, param7: number, param8: android.renderscript.Allocation, param9: number): void;
			public CHEMV(param0: number, param1: android.renderscript.Float2, param2: android.renderscript.Allocation, param3: android.renderscript.Allocation, param4: number, param5: android.renderscript.Float2, param6: android.renderscript.Allocation, param7: number): void;
			public CGERU(param0: android.renderscript.Float2, param1: android.renderscript.Allocation, param2: number, param3: android.renderscript.Allocation, param4: number, param5: android.renderscript.Allocation): void;
			public STBSV(param0: number, param1: number, param2: number, param3: number, param4: android.renderscript.Allocation, param5: android.renderscript.Allocation, param6: number): void;
			public DTRSV(param0: number, param1: number, param2: number, param3: android.renderscript.Allocation, param4: android.renderscript.Allocation, param5: number): void;
			public CGEMM(param0: number, param1: number, param2: android.renderscript.Float2, param3: android.renderscript.Allocation, param4: android.renderscript.Allocation, param5: android.renderscript.Float2, param6: android.renderscript.Allocation): void;
			public CTRMV(param0: number, param1: number, param2: number, param3: android.renderscript.Allocation, param4: android.renderscript.Allocation, param5: number): void;
			public DGEMM(param0: number, param1: number, param2: number, param3: android.renderscript.Allocation, param4: android.renderscript.Allocation, param5: number, param6: android.renderscript.Allocation): void;
			public BNNM(param0: android.renderscript.Allocation, param1: number, param2: android.renderscript.Allocation, param3: number, param4: android.renderscript.Allocation, param5: number, param6: number): void;
			public DSYMM(param0: number, param1: number, param2: number, param3: android.renderscript.Allocation, param4: android.renderscript.Allocation, param5: number, param6: android.renderscript.Allocation): void;
			public STPMV(param0: number, param1: number, param2: number, param3: android.renderscript.Allocation, param4: android.renderscript.Allocation, param5: number): void;
			public CHEMM(param0: number, param1: number, param2: android.renderscript.Float2, param3: android.renderscript.Allocation, param4: android.renderscript.Allocation, param5: android.renderscript.Float2, param6: android.renderscript.Allocation): void;
			public SSYMV(param0: number, param1: number, param2: android.renderscript.Allocation, param3: android.renderscript.Allocation, param4: number, param5: number, param6: android.renderscript.Allocation, param7: number): void;
			public CHPR2(param0: number, param1: android.renderscript.Float2, param2: android.renderscript.Allocation, param3: number, param4: android.renderscript.Allocation, param5: number, param6: android.renderscript.Allocation): void;
			public STPSV(param0: number, param1: number, param2: number, param3: android.renderscript.Allocation, param4: android.renderscript.Allocation, param5: number): void;
			public ZHPR2(param0: number, param1: android.renderscript.Double2, param2: android.renderscript.Allocation, param3: number, param4: android.renderscript.Allocation, param5: number, param6: android.renderscript.Allocation): void;
			public ZHER2(param0: number, param1: android.renderscript.Double2, param2: android.renderscript.Allocation, param3: number, param4: android.renderscript.Allocation, param5: number, param6: android.renderscript.Allocation): void;
			public ZHER2K(param0: number, param1: number, param2: android.renderscript.Double2, param3: android.renderscript.Allocation, param4: android.renderscript.Allocation, param5: number, param6: android.renderscript.Allocation): void;
			public CSYR2K(param0: number, param1: number, param2: android.renderscript.Float2, param3: android.renderscript.Allocation, param4: android.renderscript.Allocation, param5: android.renderscript.Float2, param6: android.renderscript.Allocation): void;
			public CGBMV(param0: number, param1: number, param2: number, param3: android.renderscript.Float2, param4: android.renderscript.Allocation, param5: android.renderscript.Allocation, param6: number, param7: android.renderscript.Float2, param8: android.renderscript.Allocation, param9: number): void;
			public SGER(param0: number, param1: android.renderscript.Allocation, param2: number, param3: android.renderscript.Allocation, param4: number, param5: android.renderscript.Allocation): void;
			public DTRMV(param0: number, param1: number, param2: number, param3: android.renderscript.Allocation, param4: android.renderscript.Allocation, param5: number): void;
			public STRSM(param0: number, param1: number, param2: number, param3: number, param4: number, param5: android.renderscript.Allocation, param6: android.renderscript.Allocation): void;
			public CTRSV(param0: number, param1: number, param2: number, param3: android.renderscript.Allocation, param4: android.renderscript.Allocation, param5: number): void;
			public SGEMV(param0: number, param1: number, param2: android.renderscript.Allocation, param3: android.renderscript.Allocation, param4: number, param5: number, param6: android.renderscript.Allocation, param7: number): void;
			public DGEMV(param0: number, param1: number, param2: android.renderscript.Allocation, param3: android.renderscript.Allocation, param4: number, param5: number, param6: android.renderscript.Allocation, param7: number): void;
			public STRMV(param0: number, param1: number, param2: number, param3: android.renderscript.Allocation, param4: android.renderscript.Allocation, param5: number): void;
			public DTRSM(param0: number, param1: number, param2: number, param3: number, param4: number, param5: android.renderscript.Allocation, param6: android.renderscript.Allocation): void;
			public DTRMM(param0: number, param1: number, param2: number, param3: number, param4: number, param5: android.renderscript.Allocation, param6: android.renderscript.Allocation): void;
			public CTPMV(param0: number, param1: number, param2: number, param3: android.renderscript.Allocation, param4: android.renderscript.Allocation, param5: number): void;
			public ZGERC(param0: android.renderscript.Double2, param1: android.renderscript.Allocation, param2: number, param3: android.renderscript.Allocation, param4: number, param5: android.renderscript.Allocation): void;
			public SSYR2K(param0: number, param1: number, param2: number, param3: android.renderscript.Allocation, param4: android.renderscript.Allocation, param5: number, param6: android.renderscript.Allocation): void;
			public DTPSV(param0: number, param1: number, param2: number, param3: android.renderscript.Allocation, param4: android.renderscript.Allocation, param5: number): void;
			public ZTRSM(param0: number, param1: number, param2: number, param3: number, param4: android.renderscript.Double2, param5: android.renderscript.Allocation, param6: android.renderscript.Allocation): void;
			public CGEMV(param0: number, param1: android.renderscript.Float2, param2: android.renderscript.Allocation, param3: android.renderscript.Allocation, param4: number, param5: android.renderscript.Float2, param6: android.renderscript.Allocation, param7: number): void;
			public ZTPMV(param0: number, param1: number, param2: number, param3: android.renderscript.Allocation, param4: android.renderscript.Allocation, param5: number): void;
			public DSPMV(param0: number, param1: number, param2: android.renderscript.Allocation, param3: android.renderscript.Allocation, param4: number, param5: number, param6: android.renderscript.Allocation, param7: number): void;
			public CSYRK(param0: number, param1: number, param2: android.renderscript.Float2, param3: android.renderscript.Allocation, param4: android.renderscript.Float2, param5: android.renderscript.Allocation): void;
			public ZTPSV(param0: number, param1: number, param2: number, param3: android.renderscript.Allocation, param4: android.renderscript.Allocation, param5: number): void;
			public DSYR(param0: number, param1: number, param2: android.renderscript.Allocation, param3: number, param4: android.renderscript.Allocation): void;
			public ZTRMM(param0: number, param1: number, param2: number, param3: number, param4: android.renderscript.Double2, param5: android.renderscript.Allocation, param6: android.renderscript.Allocation): void;
			public CHPR(param0: number, param1: number, param2: android.renderscript.Allocation, param3: number, param4: android.renderscript.Allocation): void;
			public DTPMV(param0: number, param1: number, param2: number, param3: android.renderscript.Allocation, param4: android.renderscript.Allocation, param5: number): void;
			public CTRSM(param0: number, param1: number, param2: number, param3: number, param4: android.renderscript.Float2, param5: android.renderscript.Allocation, param6: android.renderscript.Allocation): void;
			public CTBMV(param0: number, param1: number, param2: number, param3: number, param4: android.renderscript.Allocation, param5: android.renderscript.Allocation, param6: number): void;
			public STRSV(param0: number, param1: number, param2: number, param3: android.renderscript.Allocation, param4: android.renderscript.Allocation, param5: number): void;
			public DSYRK(param0: number, param1: number, param2: number, param3: android.renderscript.Allocation, param4: number, param5: android.renderscript.Allocation): void;
			public ZGBMV(param0: number, param1: number, param2: number, param3: android.renderscript.Double2, param4: android.renderscript.Allocation, param5: android.renderscript.Allocation, param6: number, param7: android.renderscript.Double2, param8: android.renderscript.Allocation, param9: number): void;
			public ZTBSV(param0: number, param1: number, param2: number, param3: number, param4: android.renderscript.Allocation, param5: android.renderscript.Allocation, param6: number): void;
			public ZHBMV(param0: number, param1: number, param2: android.renderscript.Double2, param3: android.renderscript.Allocation, param4: android.renderscript.Allocation, param5: number, param6: android.renderscript.Double2, param7: android.renderscript.Allocation, param8: number): void;
			public ZGEMM(param0: number, param1: number, param2: android.renderscript.Double2, param3: android.renderscript.Allocation, param4: android.renderscript.Allocation, param5: android.renderscript.Double2, param6: android.renderscript.Allocation): void;
			public CHPMV(param0: number, param1: android.renderscript.Float2, param2: android.renderscript.Allocation, param3: android.renderscript.Allocation, param4: number, param5: android.renderscript.Float2, param6: android.renderscript.Allocation, param7: number): void;
			public STBMV(param0: number, param1: number, param2: number, param3: number, param4: android.renderscript.Allocation, param5: android.renderscript.Allocation, param6: number): void;
			public ZHEMM(param0: number, param1: number, param2: android.renderscript.Double2, param3: android.renderscript.Allocation, param4: android.renderscript.Allocation, param5: android.renderscript.Double2, param6: android.renderscript.Allocation): void;
			public DSPR2(param0: number, param1: number, param2: android.renderscript.Allocation, param3: number, param4: android.renderscript.Allocation, param5: number, param6: android.renderscript.Allocation): void;
			public static create(param0: android.renderscript.RenderScript): android.renderscript.ScriptIntrinsicBLAS;
			public SSPR(param0: number, param1: number, param2: android.renderscript.Allocation, param3: number, param4: android.renderscript.Allocation): void;
			public DTBSV(param0: number, param1: number, param2: number, param3: number, param4: android.renderscript.Allocation, param5: android.renderscript.Allocation, param6: number): void;
			public CTPSV(param0: number, param1: number, param2: number, param3: android.renderscript.Allocation, param4: android.renderscript.Allocation, param5: number): void;
			public ZSYR2K(param0: number, param1: number, param2: android.renderscript.Double2, param3: android.renderscript.Allocation, param4: android.renderscript.Allocation, param5: android.renderscript.Double2, param6: android.renderscript.Allocation): void;
			public ZHPMV(param0: number, param1: android.renderscript.Double2, param2: android.renderscript.Allocation, param3: android.renderscript.Allocation, param4: number, param5: android.renderscript.Double2, param6: android.renderscript.Allocation, param7: number): void;
			public ZTRMV(param0: number, param1: number, param2: number, param3: android.renderscript.Allocation, param4: android.renderscript.Allocation, param5: number): void;
			public CHER2(param0: number, param1: android.renderscript.Float2, param2: android.renderscript.Allocation, param3: number, param4: android.renderscript.Allocation, param5: number, param6: android.renderscript.Allocation): void;
			public ZHER(param0: number, param1: number, param2: android.renderscript.Allocation, param3: number, param4: android.renderscript.Allocation): void;
			public SSYR2(param0: number, param1: number, param2: android.renderscript.Allocation, param3: number, param4: android.renderscript.Allocation, param5: number, param6: android.renderscript.Allocation): void;
			public SSBMV(param0: number, param1: number, param2: number, param3: android.renderscript.Allocation, param4: android.renderscript.Allocation, param5: number, param6: number, param7: android.renderscript.Allocation, param8: number): void;
			public DSYR2(param0: number, param1: number, param2: android.renderscript.Allocation, param3: number, param4: android.renderscript.Allocation, param5: number, param6: android.renderscript.Allocation): void;
			public SSYMM(param0: number, param1: number, param2: number, param3: android.renderscript.Allocation, param4: android.renderscript.Allocation, param5: number, param6: android.renderscript.Allocation): void;
			public CSYMM(param0: number, param1: number, param2: android.renderscript.Float2, param3: android.renderscript.Allocation, param4: android.renderscript.Allocation, param5: android.renderscript.Float2, param6: android.renderscript.Allocation): void;
			public CGERC(param0: android.renderscript.Float2, param1: android.renderscript.Allocation, param2: number, param3: android.renderscript.Allocation, param4: number, param5: android.renderscript.Allocation): void;
			public SGEMM(param0: number, param1: number, param2: number, param3: android.renderscript.Allocation, param4: android.renderscript.Allocation, param5: number, param6: android.renderscript.Allocation): void;
			public DGER(param0: number, param1: android.renderscript.Allocation, param2: number, param3: android.renderscript.Allocation, param4: number, param5: android.renderscript.Allocation): void;
			public DSPR(param0: number, param1: number, param2: android.renderscript.Allocation, param3: number, param4: android.renderscript.Allocation): void;
			public ZGEMV(param0: number, param1: android.renderscript.Double2, param2: android.renderscript.Allocation, param3: android.renderscript.Allocation, param4: number, param5: android.renderscript.Double2, param6: android.renderscript.Allocation, param7: number): void;
			public SSPR2(param0: number, param1: number, param2: android.renderscript.Allocation, param3: number, param4: android.renderscript.Allocation, param5: number, param6: android.renderscript.Allocation): void;
			public DSBMV(param0: number, param1: number, param2: number, param3: android.renderscript.Allocation, param4: android.renderscript.Allocation, param5: number, param6: number, param7: android.renderscript.Allocation, param8: number): void;
			public ZTRSV(param0: number, param1: number, param2: number, param3: android.renderscript.Allocation, param4: android.renderscript.Allocation, param5: number): void;
			public STRMM(param0: number, param1: number, param2: number, param3: number, param4: number, param5: android.renderscript.Allocation, param6: android.renderscript.Allocation): void;
			public SSYR(param0: number, param1: number, param2: android.renderscript.Allocation, param3: number, param4: android.renderscript.Allocation): void;
			public ZSYRK(param0: number, param1: number, param2: android.renderscript.Double2, param3: android.renderscript.Allocation, param4: android.renderscript.Double2, param5: android.renderscript.Allocation): void;
			public CTRMM(param0: number, param1: number, param2: number, param3: number, param4: android.renderscript.Float2, param5: android.renderscript.Allocation, param6: android.renderscript.Allocation): void;
			public ZSYMM(param0: number, param1: number, param2: android.renderscript.Double2, param3: android.renderscript.Allocation, param4: android.renderscript.Allocation, param5: android.renderscript.Double2, param6: android.renderscript.Allocation): void;
		}
	}
}

declare module android {
	export module renderscript {
		export class ScriptIntrinsicBlend extends android.renderscript.ScriptIntrinsic {
			public static class: java.lang.Class<android.renderscript.ScriptIntrinsicBlend>;
			public forEachDstIn(param0: android.renderscript.Allocation, param1: android.renderscript.Allocation): void;
			public getKernelIDDst(): android.renderscript.Script.KernelID;
			public forEachSrcOver(param0: android.renderscript.Allocation, param1: android.renderscript.Allocation, param2: android.renderscript.Script.LaunchOptions): void;
			public forEachDstOver(param0: android.renderscript.Allocation, param1: android.renderscript.Allocation, param2: android.renderscript.Script.LaunchOptions): void;
			public getKernelIDXor(): android.renderscript.Script.KernelID;
			public forEachDstOver(param0: android.renderscript.Allocation, param1: android.renderscript.Allocation): void;
			public getKernelIDClear(): android.renderscript.Script.KernelID;
			public getKernelIDDstOver(): android.renderscript.Script.KernelID;
			public forEachSrcOut(param0: android.renderscript.Allocation, param1: android.renderscript.Allocation, param2: android.renderscript.Script.LaunchOptions): void;
			public forEachSrcIn(param0: android.renderscript.Allocation, param1: android.renderscript.Allocation, param2: android.renderscript.Script.LaunchOptions): void;
			public forEachClear(param0: android.renderscript.Allocation, param1: android.renderscript.Allocation): void;
			public static create(param0: android.renderscript.RenderScript, param1: android.renderscript.Element): android.renderscript.ScriptIntrinsicBlend;
			public forEachDstOut(param0: android.renderscript.Allocation, param1: android.renderscript.Allocation): void;
			public getKernelIDDstOut(): android.renderscript.Script.KernelID;
			public getKernelIDSrcAtop(): android.renderscript.Script.KernelID;
			public forEachSubtract(param0: android.renderscript.Allocation, param1: android.renderscript.Allocation): void;
			public forEachDst(param0: android.renderscript.Allocation, param1: android.renderscript.Allocation): void;
			public forEachSrcOver(param0: android.renderscript.Allocation, param1: android.renderscript.Allocation): void;
			public forEachDstIn(param0: android.renderscript.Allocation, param1: android.renderscript.Allocation, param2: android.renderscript.Script.LaunchOptions): void;
			public forEachDstAtop(param0: android.renderscript.Allocation, param1: android.renderscript.Allocation, param2: android.renderscript.Script.LaunchOptions): void;
			public forEachSrcAtop(param0: android.renderscript.Allocation, param1: android.renderscript.Allocation, param2: android.renderscript.Script.LaunchOptions): void;
			public forEachXor(param0: android.renderscript.Allocation, param1: android.renderscript.Allocation): void;
			public getKernelIDSrc(): android.renderscript.Script.KernelID;
			public forEachAdd(param0: android.renderscript.Allocation, param1: android.renderscript.Allocation, param2: android.renderscript.Script.LaunchOptions): void;
			public forEachSubtract(param0: android.renderscript.Allocation, param1: android.renderscript.Allocation, param2: android.renderscript.Script.LaunchOptions): void;
			public forEachSrc(param0: android.renderscript.Allocation, param1: android.renderscript.Allocation, param2: android.renderscript.Script.LaunchOptions): void;
			public forEachClear(param0: android.renderscript.Allocation, param1: android.renderscript.Allocation, param2: android.renderscript.Script.LaunchOptions): void;
			public getKernelIDDstIn(): android.renderscript.Script.KernelID;
			public getKernelIDDstAtop(): android.renderscript.Script.KernelID;
			public getKernelIDMultiply(): android.renderscript.Script.KernelID;
			public forEachSrc(param0: android.renderscript.Allocation, param1: android.renderscript.Allocation): void;
			public forEachDstAtop(param0: android.renderscript.Allocation, param1: android.renderscript.Allocation): void;
			public getKernelIDSubtract(): android.renderscript.Script.KernelID;
			public getKernelIDSrcOut(): android.renderscript.Script.KernelID;
			public forEachXor(param0: android.renderscript.Allocation, param1: android.renderscript.Allocation, param2: android.renderscript.Script.LaunchOptions): void;
			public forEachAdd(param0: android.renderscript.Allocation, param1: android.renderscript.Allocation): void;
			public getKernelIDAdd(): android.renderscript.Script.KernelID;
			public forEachDst(param0: android.renderscript.Allocation, param1: android.renderscript.Allocation, param2: android.renderscript.Script.LaunchOptions): void;
			public forEachSrcOut(param0: android.renderscript.Allocation, param1: android.renderscript.Allocation): void;
			public getKernelIDSrcOver(): android.renderscript.Script.KernelID;
			public forEachMultiply(param0: android.renderscript.Allocation, param1: android.renderscript.Allocation, param2: android.renderscript.Script.LaunchOptions): void;
			public forEachSrcIn(param0: android.renderscript.Allocation, param1: android.renderscript.Allocation): void;
			public getKernelIDSrcIn(): android.renderscript.Script.KernelID;
			public forEachMultiply(param0: android.renderscript.Allocation, param1: android.renderscript.Allocation): void;
			public forEachSrcAtop(param0: android.renderscript.Allocation, param1: android.renderscript.Allocation): void;
			public forEachDstOut(param0: android.renderscript.Allocation, param1: android.renderscript.Allocation, param2: android.renderscript.Script.LaunchOptions): void;
		}
	}
}

declare module android {
	export module renderscript {
		export class ScriptIntrinsicBlur extends android.renderscript.ScriptIntrinsic {
			public static class: java.lang.Class<android.renderscript.ScriptIntrinsicBlur>;
			public forEach(param0: number, param1: native.Array<android.renderscript.Allocation>, param2: android.renderscript.Allocation, param3: android.renderscript.FieldPacker): void;
			public setRadius(param0: number): void;
			public getFieldID_Input(): android.renderscript.Script.FieldID;
			public forEach(param0: number, param1: android.renderscript.Allocation, param2: android.renderscript.Allocation, param3: android.renderscript.FieldPacker, param4: android.renderscript.Script.LaunchOptions): void;
			public forEach(param0: number, param1: android.renderscript.Allocation, param2: android.renderscript.Allocation, param3: android.renderscript.FieldPacker): void;
			public setInput(param0: android.renderscript.Allocation): void;
			public forEach(param0: android.renderscript.Allocation): void;
			public getKernelID(): android.renderscript.Script.KernelID;
			public static create(param0: android.renderscript.RenderScript, param1: android.renderscript.Element): android.renderscript.ScriptIntrinsicBlur;
			public forEach(param0: number, param1: native.Array<android.renderscript.Allocation>, param2: android.renderscript.Allocation, param3: android.renderscript.FieldPacker, param4: android.renderscript.Script.LaunchOptions): void;
			public forEach(param0: android.renderscript.Allocation, param1: android.renderscript.Script.LaunchOptions): void;
		}
	}
}

declare module android {
	export module renderscript {
		export class ScriptIntrinsicColorMatrix extends android.renderscript.ScriptIntrinsic {
			public static class: java.lang.Class<android.renderscript.ScriptIntrinsicColorMatrix>;
			public forEach(param0: number, param1: native.Array<android.renderscript.Allocation>, param2: android.renderscript.Allocation, param3: android.renderscript.FieldPacker): void;
			public forEach(param0: android.renderscript.Allocation, param1: android.renderscript.Allocation): void;
			public forEach(param0: number, param1: android.renderscript.Allocation, param2: android.renderscript.Allocation, param3: android.renderscript.FieldPacker, param4: android.renderscript.Script.LaunchOptions): void;
			public forEach(param0: number, param1: android.renderscript.Allocation, param2: android.renderscript.Allocation, param3: android.renderscript.FieldPacker): void;
			public setAdd(param0: number, param1: number, param2: number, param3: number): void;
			public setYUVtoRGB(): void;
			public setRGBtoYUV(): void;
			public forEach(param0: android.renderscript.Allocation, param1: android.renderscript.Allocation, param2: android.renderscript.Script.LaunchOptions): void;
			public setAdd(param0: android.renderscript.Float4): void;
			public forEach(param0: number, param1: native.Array<android.renderscript.Allocation>, param2: android.renderscript.Allocation, param3: android.renderscript.FieldPacker, param4: android.renderscript.Script.LaunchOptions): void;
			public setColorMatrix(param0: android.renderscript.Matrix4f): void;
			public static create(param0: android.renderscript.RenderScript): android.renderscript.ScriptIntrinsicColorMatrix;
			public setColorMatrix(param0: android.renderscript.Matrix3f): void;
			public getKernelID(): android.renderscript.Script.KernelID;
			/** @deprecated */
			public static create(param0: android.renderscript.RenderScript, param1: android.renderscript.Element): android.renderscript.ScriptIntrinsicColorMatrix;
			public setGreyscale(): void;
		}
	}
}

declare module android {
	export module renderscript {
		export class ScriptIntrinsicConvolve3x3 extends android.renderscript.ScriptIntrinsic {
			public static class: java.lang.Class<android.renderscript.ScriptIntrinsicConvolve3x3>;
			public forEach(param0: number, param1: native.Array<android.renderscript.Allocation>, param2: android.renderscript.Allocation, param3: android.renderscript.FieldPacker): void;
			public getFieldID_Input(): android.renderscript.Script.FieldID;
			public forEach(param0: number, param1: android.renderscript.Allocation, param2: android.renderscript.Allocation, param3: android.renderscript.FieldPacker, param4: android.renderscript.Script.LaunchOptions): void;
			public forEach(param0: number, param1: android.renderscript.Allocation, param2: android.renderscript.Allocation, param3: android.renderscript.FieldPacker): void;
			public setInput(param0: android.renderscript.Allocation): void;
			public forEach(param0: android.renderscript.Allocation): void;
			public setCoefficients(param0: native.Array<number>): void;
			public getKernelID(): android.renderscript.Script.KernelID;
			public forEach(param0: number, param1: native.Array<android.renderscript.Allocation>, param2: android.renderscript.Allocation, param3: android.renderscript.FieldPacker, param4: android.renderscript.Script.LaunchOptions): void;
			public static create(param0: android.renderscript.RenderScript, param1: android.renderscript.Element): android.renderscript.ScriptIntrinsicConvolve3x3;
			public forEach(param0: android.renderscript.Allocation, param1: android.renderscript.Script.LaunchOptions): void;
		}
	}
}

declare module android {
	export module renderscript {
		export class ScriptIntrinsicConvolve5x5 extends android.renderscript.ScriptIntrinsic {
			public static class: java.lang.Class<android.renderscript.ScriptIntrinsicConvolve5x5>;
			public forEach(param0: number, param1: native.Array<android.renderscript.Allocation>, param2: android.renderscript.Allocation, param3: android.renderscript.FieldPacker): void;
			public getFieldID_Input(): android.renderscript.Script.FieldID;
			public forEach(param0: number, param1: android.renderscript.Allocation, param2: android.renderscript.Allocation, param3: android.renderscript.FieldPacker, param4: android.renderscript.Script.LaunchOptions): void;
			public forEach(param0: number, param1: android.renderscript.Allocation, param2: android.renderscript.Allocation, param3: android.renderscript.FieldPacker): void;
			public setInput(param0: android.renderscript.Allocation): void;
			public forEach(param0: android.renderscript.Allocation): void;
			public static create(param0: android.renderscript.RenderScript, param1: android.renderscript.Element): android.renderscript.ScriptIntrinsicConvolve5x5;
			public setCoefficients(param0: native.Array<number>): void;
			public getKernelID(): android.renderscript.Script.KernelID;
			public forEach(param0: number, param1: native.Array<android.renderscript.Allocation>, param2: android.renderscript.Allocation, param3: android.renderscript.FieldPacker, param4: android.renderscript.Script.LaunchOptions): void;
			public forEach(param0: android.renderscript.Allocation, param1: android.renderscript.Script.LaunchOptions): void;
		}
	}
}

declare module android {
	export module renderscript {
		export class ScriptIntrinsicHistogram extends android.renderscript.ScriptIntrinsic {
			public static class: java.lang.Class<android.renderscript.ScriptIntrinsicHistogram>;
			public static create(param0: android.renderscript.RenderScript, param1: android.renderscript.Element): android.renderscript.ScriptIntrinsicHistogram;
			public forEach(param0: number, param1: native.Array<android.renderscript.Allocation>, param2: android.renderscript.Allocation, param3: android.renderscript.FieldPacker): void;
			public forEach(param0: number, param1: android.renderscript.Allocation, param2: android.renderscript.Allocation, param3: android.renderscript.FieldPacker, param4: android.renderscript.Script.LaunchOptions): void;
			public forEach(param0: number, param1: android.renderscript.Allocation, param2: android.renderscript.Allocation, param3: android.renderscript.FieldPacker): void;
			public forEach(param0: number, param1: native.Array<android.renderscript.Allocation>, param2: android.renderscript.Allocation, param3: android.renderscript.FieldPacker, param4: android.renderscript.Script.LaunchOptions): void;
			public setDotCoefficients(param0: number, param1: number, param2: number, param3: number): void;
			public forEach(param0: android.renderscript.Allocation, param1: android.renderscript.Script.LaunchOptions): void;
			public getFieldID_Input(): android.renderscript.Script.FieldID;
			public getKernelID_Separate(): android.renderscript.Script.KernelID;
			public forEach(param0: android.renderscript.Allocation): void;
			public setOutput(param0: android.renderscript.Allocation): void;
			public forEach_Dot(param0: android.renderscript.Allocation): void;
			public forEach_Dot(param0: android.renderscript.Allocation, param1: android.renderscript.Script.LaunchOptions): void;
		}
	}
}

declare module android {
	export module renderscript {
		export class ScriptIntrinsicLUT extends android.renderscript.ScriptIntrinsic {
			public static class: java.lang.Class<android.renderscript.ScriptIntrinsicLUT>;
			public setRed(param0: number, param1: number): void;
			public forEach(param0: number, param1: native.Array<android.renderscript.Allocation>, param2: android.renderscript.Allocation, param3: android.renderscript.FieldPacker): void;
			public forEach(param0: android.renderscript.Allocation, param1: android.renderscript.Allocation): void;
			public setGreen(param0: number, param1: number): void;
			public setBlue(param0: number, param1: number): void;
			public forEach(param0: number, param1: android.renderscript.Allocation, param2: android.renderscript.Allocation, param3: android.renderscript.FieldPacker, param4: android.renderscript.Script.LaunchOptions): void;
			public setAlpha(param0: number, param1: number): void;
			public forEach(param0: number, param1: android.renderscript.Allocation, param2: android.renderscript.Allocation, param3: android.renderscript.FieldPacker): void;
			public static create(param0: android.renderscript.RenderScript, param1: android.renderscript.Element): android.renderscript.ScriptIntrinsicLUT;
			public destroy(): void;
			public forEach(param0: android.renderscript.Allocation, param1: android.renderscript.Allocation, param2: android.renderscript.Script.LaunchOptions): void;
			public forEach(param0: number, param1: native.Array<android.renderscript.Allocation>, param2: android.renderscript.Allocation, param3: android.renderscript.FieldPacker, param4: android.renderscript.Script.LaunchOptions): void;
			public getKernelID(): android.renderscript.Script.KernelID;
		}
	}
}

declare module android {
	export module renderscript {
		export class ScriptIntrinsicResize extends android.renderscript.ScriptIntrinsic {
			public static class: java.lang.Class<android.renderscript.ScriptIntrinsicResize>;
			public forEach_bicubic(param0: android.renderscript.Allocation): void;
			public getKernelID_bicubic(): android.renderscript.Script.KernelID;
			public getFieldID_Input(): android.renderscript.Script.FieldID;
			public setInput(param0: android.renderscript.Allocation): void;
			public static create(param0: android.renderscript.RenderScript): android.renderscript.ScriptIntrinsicResize;
			public forEach_bicubic(param0: android.renderscript.Allocation, param1: android.renderscript.Script.LaunchOptions): void;
		}
	}
}

declare module android {
	export module renderscript {
		export class ScriptIntrinsicYuvToRGB extends android.renderscript.ScriptIntrinsic {
			public static class: java.lang.Class<android.renderscript.ScriptIntrinsicYuvToRGB>;
			public forEach(param0: number, param1: native.Array<android.renderscript.Allocation>, param2: android.renderscript.Allocation, param3: android.renderscript.FieldPacker): void;
			public getFieldID_Input(): android.renderscript.Script.FieldID;
			public forEach(param0: number, param1: android.renderscript.Allocation, param2: android.renderscript.Allocation, param3: android.renderscript.FieldPacker, param4: android.renderscript.Script.LaunchOptions): void;
			public forEach(param0: number, param1: android.renderscript.Allocation, param2: android.renderscript.Allocation, param3: android.renderscript.FieldPacker): void;
			public setInput(param0: android.renderscript.Allocation): void;
			public forEach(param0: android.renderscript.Allocation): void;
			public static create(param0: android.renderscript.RenderScript, param1: android.renderscript.Element): android.renderscript.ScriptIntrinsicYuvToRGB;
			public getKernelID(): android.renderscript.Script.KernelID;
			public forEach(param0: number, param1: native.Array<android.renderscript.Allocation>, param2: android.renderscript.Allocation, param3: android.renderscript.FieldPacker, param4: android.renderscript.Script.LaunchOptions): void;
		}
	}
}

declare module android {
	export module renderscript {
		export class Short2 extends java.lang.Object {
			public static class: java.lang.Class<android.renderscript.Short2>;
			public x: number;
			public y: number;
			public constructor();
			public constructor(param0: number, param1: number);
		}
	}
}

declare module android {
	export module renderscript {
		export class Short3 extends java.lang.Object {
			public static class: java.lang.Class<android.renderscript.Short3>;
			public x: number;
			public y: number;
			public z: number;
			public constructor(param0: number, param1: number, param2: number);
			public constructor();
		}
	}
}

declare module android {
	export module renderscript {
		export class Short4 extends java.lang.Object {
			public static class: java.lang.Class<android.renderscript.Short4>;
			public w: number;
			public x: number;
			public y: number;
			public z: number;
			public constructor();
			public constructor(param0: number, param1: number, param2: number, param3: number);
		}
	}
}

declare module android {
	export module renderscript {
		export class Type extends android.renderscript.BaseObj {
			public static class: java.lang.Class<android.renderscript.Type>;
			public getYuv(): number;
			public hasMipmaps(): boolean;
			public hasFaces(): boolean;
			public getY(): number;
			public static createX(param0: android.renderscript.RenderScript, param1: android.renderscript.Element, param2: number): android.renderscript.Type;
			public getX(): number;
			public getCount(): number;
			public getElement(): android.renderscript.Element;
			public getZ(): number;
			public static createXY(param0: android.renderscript.RenderScript, param1: android.renderscript.Element, param2: number, param3: number): android.renderscript.Type;
			public static createXYZ(param0: android.renderscript.RenderScript, param1: android.renderscript.Element, param2: number, param3: number, param4: number): android.renderscript.Type;
		}
		export module Type {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.renderscript.Type.Builder>;
				public setFaces(param0: boolean): android.renderscript.Type.Builder;
				public setX(param0: number): android.renderscript.Type.Builder;
				public setMipmaps(param0: boolean): android.renderscript.Type.Builder;
				public constructor(param0: android.renderscript.RenderScript, param1: android.renderscript.Element);
				public setZ(param0: number): android.renderscript.Type.Builder;
				public create(): android.renderscript.Type;
				public setY(param0: number): android.renderscript.Type.Builder;
				public setYuvFormat(param0: number): android.renderscript.Type.Builder;
			}
			export class CubemapFace {
				public static class: java.lang.Class<android.renderscript.Type.CubemapFace>;
				public static POSITIVE_X: android.renderscript.Type.CubemapFace;
				public static NEGATIVE_X: android.renderscript.Type.CubemapFace;
				public static POSITIVE_Y: android.renderscript.Type.CubemapFace;
				public static NEGATIVE_Y: android.renderscript.Type.CubemapFace;
				public static POSITIVE_Z: android.renderscript.Type.CubemapFace;
				public static NEGATIVE_Z: android.renderscript.Type.CubemapFace;
				public static POSITVE_X: android.renderscript.Type.CubemapFace;
				public static POSITVE_Y: android.renderscript.Type.CubemapFace;
				public static POSITVE_Z: android.renderscript.Type.CubemapFace;
				public static values(): native.Array<android.renderscript.Type.CubemapFace>;
				public static valueOf(param0: string): android.renderscript.Type.CubemapFace;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			}
		}
	}
}

declare module android {
	export module sax {
		export class Element extends java.lang.Object {
			public static class: java.lang.Class<android.sax.Element>;
			public setEndTextElementListener(param0: android.sax.EndTextElementListener): void;
			public getChild(param0: string, param1: string): android.sax.Element;
			public requireChild(param0: string): android.sax.Element;
			public setTextElementListener(param0: android.sax.TextElementListener): void;
			public toString(): string;
			public setStartElementListener(param0: android.sax.StartElementListener): void;
			public getChild(param0: string): android.sax.Element;
			public setElementListener(param0: android.sax.ElementListener): void;
			public requireChild(param0: string, param1: string): android.sax.Element;
			public setEndElementListener(param0: android.sax.EndElementListener): void;
		}
	}
}

declare module android {
	export module sax {
		export class ElementListener extends java.lang.Object implements android.sax.StartElementListener, android.sax.EndElementListener {
			public static class: java.lang.Class<android.sax.ElementListener>;
			/**
			 * Constructs a new instance of the android.sax.ElementListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				start(param0: org.xml.sax.Attributes): void;
				end(): void;
			});
			public constructor();
			public start(param0: org.xml.sax.Attributes): void;
			public end(): void;
		}
	}
}

declare module android {
	export module sax {
		export class EndElementListener extends java.lang.Object {
			public static class: java.lang.Class<android.sax.EndElementListener>;
			/**
			 * Constructs a new instance of the android.sax.EndElementListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				end(): void;
			});
			public constructor();
			public end(): void;
		}
	}
}

declare module android {
	export module sax {
		export class EndTextElementListener extends java.lang.Object {
			public static class: java.lang.Class<android.sax.EndTextElementListener>;
			/**
			 * Constructs a new instance of the android.sax.EndTextElementListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				end(param0: string): void;
			});
			public constructor();
			public end(param0: string): void;
		}
	}
}

declare module android {
	export module sax {
		export class RootElement extends android.sax.Element {
			public static class: java.lang.Class<android.sax.RootElement>;
			public constructor(param0: string, param1: string);
			public constructor(param0: string);
			public getContentHandler(): org.xml.sax.ContentHandler;
		}
	}
}

declare module android {
	export module sax {
		export class StartElementListener extends java.lang.Object {
			public static class: java.lang.Class<android.sax.StartElementListener>;
			/**
			 * Constructs a new instance of the android.sax.StartElementListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				start(param0: org.xml.sax.Attributes): void;
			});
			public constructor();
			public start(param0: org.xml.sax.Attributes): void;
		}
	}
}

declare module android {
	export module sax {
		export class TextElementListener extends java.lang.Object implements android.sax.StartElementListener, android.sax.EndTextElementListener {
			public static class: java.lang.Class<android.sax.TextElementListener>;
			/**
			 * Constructs a new instance of the android.sax.TextElementListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				start(param0: org.xml.sax.Attributes): void;
				end(param0: string): void;
			});
			public constructor();
			public start(param0: org.xml.sax.Attributes): void;
			public end(param0: string): void;
		}
	}
}

declare module android {
	export module se {
		export module omapi {
			export class Channel extends java.lang.Object implements java.nio.channels.Channel {
				public static class: java.lang.Class<android.se.omapi.Channel>;
				public close(): void;
				public isBasicChannel(): boolean;
				public selectNext(): boolean;
				public transmit(param0: native.Array<number>): native.Array<number>;
				public isOpen(): boolean;
				public getSession(): android.se.omapi.Session;
				public getSelectResponse(): native.Array<number>;
			}
		}
	}
}

declare module android {
	export module se {
		export module omapi {
			export class Reader extends java.lang.Object {
				public static class: java.lang.Class<android.se.omapi.Reader>;
				public getSEService(): android.se.omapi.SEService;
				public openSession(): android.se.omapi.Session;
				public isSecureElementPresent(): boolean;
				public getName(): string;
				public closeSessions(): void;
			}
		}
	}
}

declare module android {
	export module se {
		export module omapi {
			export class SEService extends java.lang.Object {
				public static class: java.lang.Class<android.se.omapi.SEService>;
				public getVersion(): string;
				public isConnected(): boolean;
				public shutdown(): void;
				public constructor(param0: android.content.Context, param1: java.util.concurrent.Executor, param2: android.se.omapi.SEService.OnConnectedListener);
				public getReaders(): native.Array<android.se.omapi.Reader>;
			}
			export module SEService {
				export class OnConnectedListener extends java.lang.Object {
					public static class: java.lang.Class<android.se.omapi.SEService.OnConnectedListener>;
					/**
					 * Constructs a new instance of the android.se.omapi.SEService$OnConnectedListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						onConnected(): void;
					});
					public constructor();
					public onConnected(): void;
				}
			}
		}
	}
}

declare module android {
	export module se {
		export module omapi {
			export class Session extends java.lang.Object {
				public static class: java.lang.Class<android.se.omapi.Session>;
				public close(): void;
				public getATR(): native.Array<number>;
				public openLogicalChannel(param0: native.Array<number>, param1: number): android.se.omapi.Channel;
				public closeChannels(): void;
				public openBasicChannel(param0: native.Array<number>, param1: number): android.se.omapi.Channel;
				public getReader(): android.se.omapi.Reader;
				public isClosed(): boolean;
				public openBasicChannel(param0: native.Array<number>): android.se.omapi.Channel;
				public openLogicalChannel(param0: native.Array<number>): android.se.omapi.Channel;
			}
		}
	}
}

declare module android {
	export module security {
		export class AttestedKeyPair extends java.lang.Object {
			public static class: java.lang.Class<android.security.AttestedKeyPair>;
			public getKeyPair(): java.security.KeyPair;
			public getAttestationRecord(): java.util.List<java.security.cert.Certificate>;
		}
	}
}

declare module android {
	export module security {
		export class ConfirmationAlreadyPresentingException extends java.lang.Exception {
			public static class: java.lang.Class<android.security.ConfirmationAlreadyPresentingException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module android {
	export module security {
		export abstract class ConfirmationCallback extends java.lang.Object {
			public static class: java.lang.Class<android.security.ConfirmationCallback>;
			public onConfirmed(param0: native.Array<number>): void;
			public onDismissed(): void;
			public constructor();
			public onCanceled(): void;
			public onError(param0: java.lang.Throwable): void;
		}
	}
}

declare module android {
	export module security {
		export class ConfirmationNotAvailableException extends java.lang.Exception {
			public static class: java.lang.Class<android.security.ConfirmationNotAvailableException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module android {
	export module security {
		export class ConfirmationPrompt extends java.lang.Object {
			public static class: java.lang.Class<android.security.ConfirmationPrompt>;
			public static isSupported(param0: android.content.Context): boolean;
			public presentPrompt(param0: java.util.concurrent.Executor, param1: android.security.ConfirmationCallback): void;
			public cancelPrompt(): void;
		}
		export module ConfirmationPrompt {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.security.ConfirmationPrompt.Builder>;
				public build(): android.security.ConfirmationPrompt;
				public setPromptText(param0: string): android.security.ConfirmationPrompt.Builder;
				public constructor(param0: android.content.Context);
				public setExtraData(param0: native.Array<number>): android.security.ConfirmationPrompt.Builder;
			}
		}
	}
}

declare module android {
	export module security {
		export class KeyChain extends java.lang.Object {
			public static class: java.lang.Class<android.security.KeyChain>;
			public static ACTION_KEYCHAIN_CHANGED: string;
			public static ACTION_KEY_ACCESS_CHANGED: string;
			public static ACTION_STORAGE_CHANGED: string;
			public static ACTION_TRUST_STORE_CHANGED: string;
			public static EXTRA_CERTIFICATE: string;
			public static EXTRA_KEY_ACCESSIBLE: string;
			public static EXTRA_KEY_ALIAS: string;
			public static EXTRA_NAME: string;
			public static EXTRA_PKCS12: string;
			public static createInstallIntent(): android.content.Intent;
			public static getPrivateKey(param0: android.content.Context, param1: string): java.security.PrivateKey;
			public static getCertificateChain(param0: android.content.Context, param1: string): native.Array<java.security.cert.X509Certificate>;
			public static isKeyAlgorithmSupported(param0: string): boolean;
			/** @deprecated */
			public static isBoundKeyAlgorithm(param0: string): boolean;
			public static choosePrivateKeyAlias(param0: android.app.Activity, param1: android.security.KeyChainAliasCallback, param2: native.Array<string>, param3: native.Array<java.security.Principal>, param4: android.net.Uri, param5: string): void;
			public constructor();
			public static choosePrivateKeyAlias(param0: android.app.Activity, param1: android.security.KeyChainAliasCallback, param2: native.Array<string>, param3: native.Array<java.security.Principal>, param4: string, param5: number, param6: string): void;
		}
	}
}

declare module android {
	export module security {
		export class KeyChainAliasCallback extends java.lang.Object {
			public static class: java.lang.Class<android.security.KeyChainAliasCallback>;
			/**
			 * Constructs a new instance of the android.security.KeyChainAliasCallback interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				alias(param0: string): void;
			});
			public constructor();
			public alias(param0: string): void;
		}
	}
}

declare module android {
	export module security {
		export class KeyChainException extends java.lang.Exception {
			public static class: java.lang.Class<android.security.KeyChainException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module android {
	export module security {
		export class KeyPairGeneratorSpec extends java.lang.Object implements java.security.spec.AlgorithmParameterSpec {
			public static class: java.lang.Class<android.security.KeyPairGeneratorSpec>;
			public getStartDate(): java.util.Date;
			public getKeySize(): number;
			public getKeyType(): string;
			public getSubjectDN(): javax.security.auth.x500.X500Principal;
			public getKeystoreAlias(): string;
			public getContext(): android.content.Context;
			public getSerialNumber(): java.math.BigInteger;
			public getEndDate(): java.util.Date;
			public isEncryptionRequired(): boolean;
			public getAlgorithmParameterSpec(): java.security.spec.AlgorithmParameterSpec;
		}
		export module KeyPairGeneratorSpec {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.security.KeyPairGeneratorSpec.Builder>;
				public setStartDate(param0: java.util.Date): android.security.KeyPairGeneratorSpec.Builder;
				public setEndDate(param0: java.util.Date): android.security.KeyPairGeneratorSpec.Builder;
				public setAlias(param0: string): android.security.KeyPairGeneratorSpec.Builder;
				public constructor(param0: android.content.Context);
				public setAlgorithmParameterSpec(param0: java.security.spec.AlgorithmParameterSpec): android.security.KeyPairGeneratorSpec.Builder;
				public setEncryptionRequired(): android.security.KeyPairGeneratorSpec.Builder;
				public setSubject(param0: javax.security.auth.x500.X500Principal): android.security.KeyPairGeneratorSpec.Builder;
				public setKeyType(param0: string): android.security.KeyPairGeneratorSpec.Builder;
				public setKeySize(param0: number): android.security.KeyPairGeneratorSpec.Builder;
				public build(): android.security.KeyPairGeneratorSpec;
				public setSerialNumber(param0: java.math.BigInteger): android.security.KeyPairGeneratorSpec.Builder;
			}
		}
	}
}

declare module android {
	export module security {
		export class KeyStoreParameter extends java.lang.Object implements java.security.KeyStore.ProtectionParameter {
			public static class: java.lang.Class<android.security.KeyStoreParameter>;
			public isEncryptionRequired(): boolean;
		}
		export module KeyStoreParameter {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.security.KeyStoreParameter.Builder>;
				public constructor(param0: android.content.Context);
				public build(): android.security.KeyStoreParameter;
				public setEncryptionRequired(param0: boolean): android.security.KeyStoreParameter.Builder;
			}
		}
	}
}

declare module android {
	export module security {
		export class NetworkSecurityPolicy extends java.lang.Object {
			public static class: java.lang.Class<android.security.NetworkSecurityPolicy>;
			public static getInstance(): android.security.NetworkSecurityPolicy;
			public isCleartextTrafficPermitted(): boolean;
			public isCleartextTrafficPermitted(param0: string): boolean;
		}
	}
}

declare module android {
	export module security {
		export module keystore {
			export class KeyExpiredException extends java.security.InvalidKeyException {
				public static class: java.lang.Class<android.security.keystore.KeyExpiredException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module android {
	export module security {
		export module keystore {
			export class KeyGenParameterSpec extends java.lang.Object implements java.security.spec.AlgorithmParameterSpec {
				public static class: java.lang.Class<android.security.keystore.KeyGenParameterSpec>;
				public getDigests(): native.Array<string>;
				public isUserAuthenticationRequired(): boolean;
				public getCertificateNotBefore(): java.util.Date;
				public getCertificateSerialNumber(): java.math.BigInteger;
				public getBlockModes(): native.Array<string>;
				public getKeyValidityStart(): java.util.Date;
				public getSignaturePaddings(): native.Array<string>;
				public getAttestationChallenge(): native.Array<number>;
				public isUserConfirmationRequired(): boolean;
				public getPurposes(): number;
				public getKeyValidityForConsumptionEnd(): java.util.Date;
				public isInvalidatedByBiometricEnrollment(): boolean;
				public isStrongBoxBacked(): boolean;
				public isUserAuthenticationValidWhileOnBody(): boolean;
				public getAlgorithmParameterSpec(): java.security.spec.AlgorithmParameterSpec;
				public isUnlockedDeviceRequired(): boolean;
				public getCertificateNotAfter(): java.util.Date;
				public getUserAuthenticationValidityDurationSeconds(): number;
				public getKeyValidityForOriginationEnd(): java.util.Date;
				public getEncryptionPaddings(): native.Array<string>;
				public isDigestsSpecified(): boolean;
				public getCertificateSubject(): javax.security.auth.x500.X500Principal;
				public isUserPresenceRequired(): boolean;
				public getKeystoreAlias(): string;
				public isRandomizedEncryptionRequired(): boolean;
				public getKeySize(): number;
			}
			export module KeyGenParameterSpec {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.security.keystore.KeyGenParameterSpec.Builder>;
					public setBlockModes(param0: native.Array<string>): android.security.keystore.KeyGenParameterSpec.Builder;
					public setKeyValidityForConsumptionEnd(param0: java.util.Date): android.security.keystore.KeyGenParameterSpec.Builder;
					public setUnlockedDeviceRequired(param0: boolean): android.security.keystore.KeyGenParameterSpec.Builder;
					public setCertificateNotAfter(param0: java.util.Date): android.security.keystore.KeyGenParameterSpec.Builder;
					public setUserAuthenticationRequired(param0: boolean): android.security.keystore.KeyGenParameterSpec.Builder;
					public setUserPresenceRequired(param0: boolean): android.security.keystore.KeyGenParameterSpec.Builder;
					public setUserAuthenticationValidityDurationSeconds(param0: number): android.security.keystore.KeyGenParameterSpec.Builder;
					public setCertificateSubject(param0: javax.security.auth.x500.X500Principal): android.security.keystore.KeyGenParameterSpec.Builder;
					public constructor(param0: string, param1: number);
					public build(): android.security.keystore.KeyGenParameterSpec;
					public setKeyValidityForOriginationEnd(param0: java.util.Date): android.security.keystore.KeyGenParameterSpec.Builder;
					public setCertificateNotBefore(param0: java.util.Date): android.security.keystore.KeyGenParameterSpec.Builder;
					public setKeyValidityEnd(param0: java.util.Date): android.security.keystore.KeyGenParameterSpec.Builder;
					public setRandomizedEncryptionRequired(param0: boolean): android.security.keystore.KeyGenParameterSpec.Builder;
					public setAlgorithmParameterSpec(param0: java.security.spec.AlgorithmParameterSpec): android.security.keystore.KeyGenParameterSpec.Builder;
					public setAttestationChallenge(param0: native.Array<number>): android.security.keystore.KeyGenParameterSpec.Builder;
					public setUserAuthenticationValidWhileOnBody(param0: boolean): android.security.keystore.KeyGenParameterSpec.Builder;
					public setSignaturePaddings(param0: native.Array<string>): android.security.keystore.KeyGenParameterSpec.Builder;
					public setDigests(param0: native.Array<string>): android.security.keystore.KeyGenParameterSpec.Builder;
					public setIsStrongBoxBacked(param0: boolean): android.security.keystore.KeyGenParameterSpec.Builder;
					public setEncryptionPaddings(param0: native.Array<string>): android.security.keystore.KeyGenParameterSpec.Builder;
					public setCertificateSerialNumber(param0: java.math.BigInteger): android.security.keystore.KeyGenParameterSpec.Builder;
					public setUserConfirmationRequired(param0: boolean): android.security.keystore.KeyGenParameterSpec.Builder;
					public setKeyValidityStart(param0: java.util.Date): android.security.keystore.KeyGenParameterSpec.Builder;
					public setKeySize(param0: number): android.security.keystore.KeyGenParameterSpec.Builder;
					public setInvalidatedByBiometricEnrollment(param0: boolean): android.security.keystore.KeyGenParameterSpec.Builder;
				}
			}
		}
	}
}

declare module android {
	export module security {
		export module keystore {
			export class KeyInfo extends java.lang.Object implements java.security.spec.KeySpec {
				public static class: java.lang.Class<android.security.keystore.KeyInfo>;
				public getDigests(): native.Array<string>;
				public isUserAuthenticationRequired(): boolean;
				public getBlockModes(): native.Array<string>;
				public getUserAuthenticationValidityDurationSeconds(): number;
				public getOrigin(): number;
				public getKeyValidityForOriginationEnd(): java.util.Date;
				public getKeyValidityStart(): java.util.Date;
				public getEncryptionPaddings(): native.Array<string>;
				public getSignaturePaddings(): native.Array<string>;
				public isUserConfirmationRequired(): boolean;
				public getPurposes(): number;
				public isInsideSecureHardware(): boolean;
				public isUserAuthenticationRequirementEnforcedBySecureHardware(): boolean;
				public isTrustedUserPresenceRequired(): boolean;
				public getKeystoreAlias(): string;
				public getKeyValidityForConsumptionEnd(): java.util.Date;
				public isInvalidatedByBiometricEnrollment(): boolean;
				public getKeySize(): number;
				public isUserAuthenticationValidWhileOnBody(): boolean;
			}
		}
	}
}

declare module android {
	export module security {
		export module keystore {
			export class KeyNotYetValidException extends java.security.InvalidKeyException {
				public static class: java.lang.Class<android.security.keystore.KeyNotYetValidException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module android {
	export module security {
		export module keystore {
			export class KeyPermanentlyInvalidatedException extends java.security.InvalidKeyException {
				public static class: java.lang.Class<android.security.keystore.KeyPermanentlyInvalidatedException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module android {
	export module security {
		export module keystore {
			export abstract class KeyProperties extends java.lang.Object {
				public static class: java.lang.Class<android.security.keystore.KeyProperties>;
				public static BLOCK_MODE_CBC: string;
				public static BLOCK_MODE_CTR: string;
				public static BLOCK_MODE_ECB: string;
				public static BLOCK_MODE_GCM: string;
				public static DIGEST_MD5: string;
				public static DIGEST_NONE: string;
				public static DIGEST_SHA1: string;
				public static DIGEST_SHA224: string;
				public static DIGEST_SHA256: string;
				public static DIGEST_SHA384: string;
				public static DIGEST_SHA512: string;
				public static ENCRYPTION_PADDING_NONE: string;
				public static ENCRYPTION_PADDING_PKCS7: string;
				public static ENCRYPTION_PADDING_RSA_OAEP: string;
				public static ENCRYPTION_PADDING_RSA_PKCS1: string;
				public static KEY_ALGORITHM_3DES: string;
				public static KEY_ALGORITHM_AES: string;
				public static KEY_ALGORITHM_EC: string;
				public static KEY_ALGORITHM_HMAC_SHA1: string;
				public static KEY_ALGORITHM_HMAC_SHA224: string;
				public static KEY_ALGORITHM_HMAC_SHA256: string;
				public static KEY_ALGORITHM_HMAC_SHA384: string;
				public static KEY_ALGORITHM_HMAC_SHA512: string;
				public static KEY_ALGORITHM_RSA: string;
				public static ORIGIN_GENERATED: number;
				public static ORIGIN_IMPORTED: number;
				public static ORIGIN_SECURELY_IMPORTED: number;
				public static ORIGIN_UNKNOWN: number;
				public static PURPOSE_DECRYPT: number;
				public static PURPOSE_ENCRYPT: number;
				public static PURPOSE_SIGN: number;
				public static PURPOSE_VERIFY: number;
				public static PURPOSE_WRAP_KEY: number;
				public static SIGNATURE_PADDING_RSA_PKCS1: string;
				public static SIGNATURE_PADDING_RSA_PSS: string;
			}
		}
	}
}

declare module android {
	export module security {
		export module keystore {
			export class KeyProtection extends java.lang.Object implements java.security.KeyStore.ProtectionParameter {
				public static class: java.lang.Class<android.security.keystore.KeyProtection>;
				public getDigests(): native.Array<string>;
				public isUserAuthenticationRequired(): boolean;
				public getBlockModes(): native.Array<string>;
				public isUnlockedDeviceRequired(): boolean;
				public getUserAuthenticationValidityDurationSeconds(): number;
				public getKeyValidityForOriginationEnd(): java.util.Date;
				public getKeyValidityStart(): java.util.Date;
				public getEncryptionPaddings(): native.Array<string>;
				public getSignaturePaddings(): native.Array<string>;
				public isDigestsSpecified(): boolean;
				public isUserConfirmationRequired(): boolean;
				public getPurposes(): number;
				public isUserPresenceRequired(): boolean;
				public getKeyValidityForConsumptionEnd(): java.util.Date;
				public isRandomizedEncryptionRequired(): boolean;
				public isInvalidatedByBiometricEnrollment(): boolean;
				public isUserAuthenticationValidWhileOnBody(): boolean;
			}
			export module KeyProtection {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.security.keystore.KeyProtection.Builder>;
					public build(): android.security.keystore.KeyProtection;
					public setEncryptionPaddings(param0: native.Array<string>): android.security.keystore.KeyProtection.Builder;
					public setKeyValidityEnd(param0: java.util.Date): android.security.keystore.KeyProtection.Builder;
					public setUserAuthenticationValidityDurationSeconds(param0: number): android.security.keystore.KeyProtection.Builder;
					public setSignaturePaddings(param0: native.Array<string>): android.security.keystore.KeyProtection.Builder;
					public setKeyValidityForOriginationEnd(param0: java.util.Date): android.security.keystore.KeyProtection.Builder;
					public setInvalidatedByBiometricEnrollment(param0: boolean): android.security.keystore.KeyProtection.Builder;
					public setUserAuthenticationValidWhileOnBody(param0: boolean): android.security.keystore.KeyProtection.Builder;
					public setBlockModes(param0: native.Array<string>): android.security.keystore.KeyProtection.Builder;
					public setUnlockedDeviceRequired(param0: boolean): android.security.keystore.KeyProtection.Builder;
					public setKeyValidityForConsumptionEnd(param0: java.util.Date): android.security.keystore.KeyProtection.Builder;
					public setDigests(param0: native.Array<string>): android.security.keystore.KeyProtection.Builder;
					public setKeyValidityStart(param0: java.util.Date): android.security.keystore.KeyProtection.Builder;
					public setUserPresenceRequired(param0: boolean): android.security.keystore.KeyProtection.Builder;
					public setUserConfirmationRequired(param0: boolean): android.security.keystore.KeyProtection.Builder;
					public setRandomizedEncryptionRequired(param0: boolean): android.security.keystore.KeyProtection.Builder;
					public constructor(param0: number);
					public setUserAuthenticationRequired(param0: boolean): android.security.keystore.KeyProtection.Builder;
				}
			}
		}
	}
}

declare module android {
	export module security {
		export module keystore {
			export class SecureKeyImportUnavailableException extends java.security.ProviderException {
				public static class: java.lang.Class<android.security.keystore.SecureKeyImportUnavailableException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module android {
	export module security {
		export module keystore {
			export class StrongBoxUnavailableException extends java.security.ProviderException {
				public static class: java.lang.Class<android.security.keystore.StrongBoxUnavailableException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module android {
	export module security {
		export module keystore {
			export class UserNotAuthenticatedException extends java.security.InvalidKeyException {
				public static class: java.lang.Class<android.security.keystore.UserNotAuthenticatedException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module android {
	export module security {
		export module keystore {
			export class UserPresenceUnavailableException extends java.security.InvalidKeyException {
				public static class: java.lang.Class<android.security.keystore.UserPresenceUnavailableException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module android {
	export module security {
		export module keystore {
			export class WrappedKeyEntry extends java.lang.Object implements java.security.KeyStore.Entry {
				public static class: java.lang.Class<android.security.keystore.WrappedKeyEntry>;
				public getWrappedKeyBytes(): native.Array<number>;
				public getTransformation(): string;
				public getAlgorithmParameterSpec(): java.security.spec.AlgorithmParameterSpec;
				public getWrappingKeyAlias(): string;
				public getAttributes(): java.util.Set<java.security.KeyStore.Entry.Attribute>;
				public constructor(param0: native.Array<number>, param1: string, param2: string, param3: java.security.spec.AlgorithmParameterSpec);
			}
		}
	}
}

declare module android {
	export module service {
		export module autofill {
			export abstract class AutofillService extends android.app.Service {
				public static class: java.lang.Class<android.service.autofill.AutofillService>;
				public static SERVICE_INTERFACE: string;
				public static SERVICE_META_DATA: string;
				public onFillRequest(param0: android.service.autofill.FillRequest, param1: android.os.CancellationSignal, param2: android.service.autofill.FillCallback): void;
				public onBind(param0: android.content.Intent): android.os.IBinder;
				public getFillEventHistory(): android.service.autofill.FillEventHistory;
				public constructor(param0: android.content.Context);
				public onCreate(): void;
				public onDisconnected(): void;
				public onSaveRequest(param0: android.service.autofill.SaveRequest, param1: android.service.autofill.SaveCallback): void;
				public onTrimMemory(param0: number): void;
				public constructor();
				public onConnected(): void;
			}
		}
	}
}

declare module android {
	export module service {
		export module autofill {
			export class BatchUpdates extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.service.autofill.BatchUpdates>;
				public static CREATOR: android.os.Parcelable.Creator<android.service.autofill.BatchUpdates>;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public toString(): string;
			}
			export module BatchUpdates {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.service.autofill.BatchUpdates.Builder>;
					public build(): android.service.autofill.BatchUpdates;
					public constructor();
					public updateTemplate(param0: android.widget.RemoteViews): android.service.autofill.BatchUpdates.Builder;
					public transformChild(param0: number, param1: android.service.autofill.Transformation): android.service.autofill.BatchUpdates.Builder;
				}
			}
		}
	}
}

declare module android {
	export module service {
		export module autofill {
			export class CharSequenceTransformation extends java.lang.Object implements android.service.autofill.Transformation, android.os.Parcelable {
				public static class: java.lang.Class<android.service.autofill.CharSequenceTransformation>;
				public static CREATOR: android.os.Parcelable.Creator<android.service.autofill.CharSequenceTransformation>;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public toString(): string;
			}
			export module CharSequenceTransformation {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.service.autofill.CharSequenceTransformation.Builder>;
					public constructor(param0: android.view.autofill.AutofillId, param1: java.util.regex.Pattern, param2: string);
					public build(): android.service.autofill.CharSequenceTransformation;
					public addField(param0: android.view.autofill.AutofillId, param1: java.util.regex.Pattern, param2: string): android.service.autofill.CharSequenceTransformation.Builder;
				}
			}
		}
	}
}

declare module android {
	export module service {
		export module autofill {
			export class CustomDescription extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.service.autofill.CustomDescription>;
				public static CREATOR: android.os.Parcelable.Creator<android.service.autofill.CustomDescription>;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public toString(): string;
			}
			export module CustomDescription {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.service.autofill.CustomDescription.Builder>;
					public batchUpdate(param0: android.service.autofill.Validator, param1: android.service.autofill.BatchUpdates): android.service.autofill.CustomDescription.Builder;
					public addChild(param0: number, param1: android.service.autofill.Transformation): android.service.autofill.CustomDescription.Builder;
					public build(): android.service.autofill.CustomDescription;
					public constructor(param0: android.widget.RemoteViews);
				}
			}
		}
	}
}

declare module android {
	export module service {
		export module autofill {
			export class Dataset extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.service.autofill.Dataset>;
				public static CREATOR: android.os.Parcelable.Creator<android.service.autofill.Dataset>;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public toString(): string;
			}
			export module Dataset {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.service.autofill.Dataset.Builder>;
					public setValue(param0: android.view.autofill.AutofillId, param1: android.view.autofill.AutofillValue): android.service.autofill.Dataset.Builder;
					public constructor();
					public setValue(param0: android.view.autofill.AutofillId, param1: android.view.autofill.AutofillValue, param2: android.widget.RemoteViews): android.service.autofill.Dataset.Builder;
					public setId(param0: string): android.service.autofill.Dataset.Builder;
					public setValue(param0: android.view.autofill.AutofillId, param1: android.view.autofill.AutofillValue, param2: java.util.regex.Pattern, param3: android.widget.RemoteViews): android.service.autofill.Dataset.Builder;
					public setAuthentication(param0: android.content.IntentSender): android.service.autofill.Dataset.Builder;
					public constructor(param0: android.widget.RemoteViews);
					public setValue(param0: android.view.autofill.AutofillId, param1: android.view.autofill.AutofillValue, param2: java.util.regex.Pattern): android.service.autofill.Dataset.Builder;
					public build(): android.service.autofill.Dataset;
				}
			}
		}
	}
}

declare module android {
	export module service {
		export module autofill {
			export class DateTransformation extends java.lang.Object implements android.service.autofill.Transformation, android.os.Parcelable {
				public static class: java.lang.Class<android.service.autofill.DateTransformation>;
				public static CREATOR: android.os.Parcelable.Creator<android.service.autofill.DateTransformation>;
				public constructor(param0: android.view.autofill.AutofillId, param1: android.icu.text.DateFormat);
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public toString(): string;
			}
		}
	}
}

declare module android {
	export module service {
		export module autofill {
			export class DateValueSanitizer extends java.lang.Object implements android.service.autofill.Sanitizer, android.os.Parcelable {
				public static class: java.lang.Class<android.service.autofill.DateValueSanitizer>;
				public static CREATOR: android.os.Parcelable.Creator<android.service.autofill.DateValueSanitizer>;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public constructor(param0: android.icu.text.DateFormat);
				public describeContents(): number;
				public toString(): string;
			}
		}
	}
}

declare module android {
	export module service {
		export module autofill {
			export class FieldClassification extends java.lang.Object {
				public static class: java.lang.Class<android.service.autofill.FieldClassification>;
				public getMatches(): java.util.List<android.service.autofill.FieldClassification.Match>;
				public toString(): string;
			}
			export module FieldClassification {
				export class Match extends java.lang.Object {
					public static class: java.lang.Class<android.service.autofill.FieldClassification.Match>;
					public toString(): string;
					public getScore(): number;
					public getCategoryId(): string;
				}
			}
		}
	}
}

declare module android {
	export module service {
		export module autofill {
			export class FillCallback extends java.lang.Object {
				public static class: java.lang.Class<android.service.autofill.FillCallback>;
				public onSuccess(param0: android.service.autofill.FillResponse): void;
				public onFailure(param0: string): void;
			}
		}
	}
}

declare module android {
	export module service {
		export module autofill {
			export class FillContext extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.service.autofill.FillContext>;
				public static CREATOR: android.os.Parcelable.Creator<android.service.autofill.FillContext>;
				public getRequestId(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getStructure(): android.app.assist.AssistStructure;
				public describeContents(): number;
				public toString(): string;
			}
		}
	}
}

declare module android {
	export module service {
		export module autofill {
			export class FillEventHistory extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.service.autofill.FillEventHistory>;
				public static CREATOR: android.os.Parcelable.Creator<android.service.autofill.FillEventHistory>;
				/** @deprecated */
				public getClientState(): android.os.Bundle;
				public getEvents(): java.util.List<android.service.autofill.FillEventHistory.Event>;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public toString(): string;
			}
			export module FillEventHistory {
				export class Event extends java.lang.Object {
					public static class: java.lang.Class<android.service.autofill.FillEventHistory.Event>;
					public static TYPE_AUTHENTICATION_SELECTED: number;
					public static TYPE_CONTEXT_COMMITTED: number;
					public static TYPE_DATASET_AUTHENTICATION_SELECTED: number;
					public static TYPE_DATASET_SELECTED: number;
					public static TYPE_SAVE_SHOWN: number;
					public getType(): number;
					public toString(): string;
					public getDatasetId(): string;
					public getManuallyEnteredField(): java.util.Map<android.view.autofill.AutofillId,java.util.Set<string>>;
					public getSelectedDatasetIds(): java.util.Set<string>;
					public getIgnoredDatasetIds(): java.util.Set<string>;
					public getFieldsClassification(): java.util.Map<android.view.autofill.AutofillId,android.service.autofill.FieldClassification>;
					public getClientState(): android.os.Bundle;
					public getChangedFields(): java.util.Map<android.view.autofill.AutofillId,string>;
				}
			}
		}
	}
}

declare module android {
	export module service {
		export module autofill {
			export class FillRequest extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.service.autofill.FillRequest>;
				public static CREATOR: android.os.Parcelable.Creator<android.service.autofill.FillRequest>;
				public static FLAG_MANUAL_REQUEST: number;
				public getClientState(): android.os.Bundle;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getId(): number;
				public describeContents(): number;
				public getFlags(): number;
				public getFillContexts(): java.util.List<android.service.autofill.FillContext>;
				public toString(): string;
			}
		}
	}
}

declare module android {
	export module service {
		export module autofill {
			export class FillResponse extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.service.autofill.FillResponse>;
				public static CREATOR: android.os.Parcelable.Creator<android.service.autofill.FillResponse>;
				public static FLAG_DISABLE_ACTIVITY_ONLY: number;
				public static FLAG_TRACK_CONTEXT_COMMITED: number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public toString(): string;
			}
			export module FillResponse {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.service.autofill.FillResponse.Builder>;
					public setFieldClassificationIds(param0: native.Array<android.view.autofill.AutofillId>): android.service.autofill.FillResponse.Builder;
					public disableAutofill(param0: number): android.service.autofill.FillResponse.Builder;
					public constructor();
					public addDataset(param0: android.service.autofill.Dataset): android.service.autofill.FillResponse.Builder;
					public setFlags(param0: number): android.service.autofill.FillResponse.Builder;
					public setHeader(param0: android.widget.RemoteViews): android.service.autofill.FillResponse.Builder;
					public setIgnoredIds(param0: native.Array<android.view.autofill.AutofillId>): android.service.autofill.FillResponse.Builder;
					public setFooter(param0: android.widget.RemoteViews): android.service.autofill.FillResponse.Builder;
					public build(): android.service.autofill.FillResponse;
					public setAuthentication(param0: native.Array<android.view.autofill.AutofillId>, param1: android.content.IntentSender, param2: android.widget.RemoteViews): android.service.autofill.FillResponse.Builder;
					public setClientState(param0: android.os.Bundle): android.service.autofill.FillResponse.Builder;
					public setSaveInfo(param0: android.service.autofill.SaveInfo): android.service.autofill.FillResponse.Builder;
				}
			}
		}
	}
}

declare module android {
	export module service {
		export module autofill {
			export class ImageTransformation extends java.lang.Object implements android.service.autofill.Transformation, android.os.Parcelable {
				public static class: java.lang.Class<android.service.autofill.ImageTransformation>;
				public static CREATOR: android.os.Parcelable.Creator<android.service.autofill.ImageTransformation>;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public toString(): string;
			}
			export module ImageTransformation {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.service.autofill.ImageTransformation.Builder>;
					public addOption(param0: java.util.regex.Pattern, param1: number, param2: string): android.service.autofill.ImageTransformation.Builder;
					public build(): android.service.autofill.ImageTransformation;
					/** @deprecated */
					public constructor(param0: android.view.autofill.AutofillId, param1: java.util.regex.Pattern, param2: number);
					public constructor(param0: android.view.autofill.AutofillId, param1: java.util.regex.Pattern, param2: number, param3: string);
					/** @deprecated */
					public addOption(param0: java.util.regex.Pattern, param1: number): android.service.autofill.ImageTransformation.Builder;
				}
			}
		}
	}
}

declare module android {
	export module service {
		export module autofill {
			export class LuhnChecksumValidator extends java.lang.Object implements android.service.autofill.Validator, android.os.Parcelable {
				public static class: java.lang.Class<android.service.autofill.LuhnChecksumValidator>;
				public static CREATOR: android.os.Parcelable.Creator<android.service.autofill.LuhnChecksumValidator>;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public toString(): string;
				public constructor(param0: native.Array<android.view.autofill.AutofillId>);
			}
		}
	}
}

declare module android {
	export module service {
		export module autofill {
			export class RegexValidator extends java.lang.Object implements android.service.autofill.Validator, android.os.Parcelable {
				public static class: java.lang.Class<android.service.autofill.RegexValidator>;
				public static CREATOR: android.os.Parcelable.Creator<android.service.autofill.RegexValidator>;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public toString(): string;
				public constructor(param0: android.view.autofill.AutofillId, param1: java.util.regex.Pattern);
			}
		}
	}
}

declare module android {
	export module service {
		export module autofill {
			export class Sanitizer extends java.lang.Object {
				public static class: java.lang.Class<android.service.autofill.Sanitizer>;
				/**
				 * Constructs a new instance of the android.service.autofill.Sanitizer interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
				});
				public constructor();
			}
		}
	}
}

declare module android {
	export module service {
		export module autofill {
			export class SaveCallback extends java.lang.Object {
				public static class: java.lang.Class<android.service.autofill.SaveCallback>;
				public onSuccess(param0: android.content.IntentSender): void;
				public onFailure(param0: string): void;
				public onSuccess(): void;
			}
		}
	}
}

declare module android {
	export module service {
		export module autofill {
			export class SaveInfo extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.service.autofill.SaveInfo>;
				public static CREATOR: android.os.Parcelable.Creator<android.service.autofill.SaveInfo>;
				public static FLAG_DONT_SAVE_ON_FINISH: number;
				public static FLAG_SAVE_ON_ALL_VIEWS_INVISIBLE: number;
				public static NEGATIVE_BUTTON_STYLE_CANCEL: number;
				public static NEGATIVE_BUTTON_STYLE_REJECT: number;
				public static SAVE_DATA_TYPE_ADDRESS: number;
				public static SAVE_DATA_TYPE_CREDIT_CARD: number;
				public static SAVE_DATA_TYPE_EMAIL_ADDRESS: number;
				public static SAVE_DATA_TYPE_GENERIC: number;
				public static SAVE_DATA_TYPE_PASSWORD: number;
				public static SAVE_DATA_TYPE_USERNAME: number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public toString(): string;
			}
			export module SaveInfo {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.service.autofill.SaveInfo.Builder>;
					public setNegativeAction(param0: number, param1: android.content.IntentSender): android.service.autofill.SaveInfo.Builder;
					public setValidator(param0: android.service.autofill.Validator): android.service.autofill.SaveInfo.Builder;
					public addSanitizer(param0: android.service.autofill.Sanitizer, param1: native.Array<android.view.autofill.AutofillId>): android.service.autofill.SaveInfo.Builder;
					public setDescription(param0: string): android.service.autofill.SaveInfo.Builder;
					public constructor(param0: number, param1: native.Array<android.view.autofill.AutofillId>);
					public setOptionalIds(param0: native.Array<android.view.autofill.AutofillId>): android.service.autofill.SaveInfo.Builder;
					public setCustomDescription(param0: android.service.autofill.CustomDescription): android.service.autofill.SaveInfo.Builder;
					public build(): android.service.autofill.SaveInfo;
					public constructor(param0: number);
					public setFlags(param0: number): android.service.autofill.SaveInfo.Builder;
					public setTriggerId(param0: android.view.autofill.AutofillId): android.service.autofill.SaveInfo.Builder;
				}
			}
		}
	}
}

declare module android {
	export module service {
		export module autofill {
			export class SaveRequest extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.service.autofill.SaveRequest>;
				public static CREATOR: android.os.Parcelable.Creator<android.service.autofill.SaveRequest>;
				public getClientState(): android.os.Bundle;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getFillContexts(): java.util.List<android.service.autofill.FillContext>;
				public getDatasetIds(): java.util.List<string>;
			}
		}
	}
}

declare module android {
	export module service {
		export module autofill {
			export class TextValueSanitizer extends java.lang.Object implements android.service.autofill.Sanitizer, android.os.Parcelable {
				public static class: java.lang.Class<android.service.autofill.TextValueSanitizer>;
				public static CREATOR: android.os.Parcelable.Creator<android.service.autofill.TextValueSanitizer>;
				public constructor(param0: java.util.regex.Pattern, param1: string);
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public toString(): string;
			}
		}
	}
}

declare module android {
	export module service {
		export module autofill {
			export class Transformation extends java.lang.Object {
				public static class: java.lang.Class<android.service.autofill.Transformation>;
				/**
				 * Constructs a new instance of the android.service.autofill.Transformation interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
				});
				public constructor();
			}
		}
	}
}

declare module android {
	export module service {
		export module autofill {
			export class UserData extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.service.autofill.UserData>;
				public static CREATOR: android.os.Parcelable.Creator<android.service.autofill.UserData>;
				public static getMinValueLength(): number;
				public static getMaxUserDataSize(): number;
				public static getMaxFieldClassificationIdsSize(): number;
				public static getMaxValueLength(): number;
				public getId(): string;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public toString(): string;
				public getFieldClassificationAlgorithm(): string;
				public static getMaxCategoryCount(): number;
			}
			export module UserData {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.service.autofill.UserData.Builder>;
					public add(param0: string, param1: string): android.service.autofill.UserData.Builder;
					public setFieldClassificationAlgorithm(param0: string, param1: android.os.Bundle): android.service.autofill.UserData.Builder;
					public build(): android.service.autofill.UserData;
					public constructor(param0: string, param1: string, param2: string);
				}
			}
		}
	}
}

declare module android {
	export module service {
		export module autofill {
			export class Validator extends java.lang.Object {
				public static class: java.lang.Class<android.service.autofill.Validator>;
				/**
				 * Constructs a new instance of the android.service.autofill.Validator interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
				});
				public constructor();
			}
		}
	}
}

declare module android {
	export module service {
		export module autofill {
			export class Validators extends java.lang.Object {
				public static class: java.lang.Class<android.service.autofill.Validators>;
				public static and(param0: native.Array<android.service.autofill.Validator>): android.service.autofill.Validator;
				public static or(param0: native.Array<android.service.autofill.Validator>): android.service.autofill.Validator;
				public static not(param0: android.service.autofill.Validator): android.service.autofill.Validator;
			}
		}
	}
}

declare module android {
	export module service {
		export module carrier {
			export class CarrierIdentifier extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.service.carrier.CarrierIdentifier>;
				public static CREATOR: android.os.Parcelable.Creator<android.service.carrier.CarrierIdentifier>;
				public getImsi(): string;
				public getGid1(): string;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public constructor(param0: native.Array<number>, param1: string, param2: string);
				public getMcc(): string;
				public getSpn(): string;
				public toString(): string;
				public constructor(param0: string, param1: string, param2: string, param3: string, param4: string, param5: string);
				public getGid2(): string;
				public hashCode(): number;
				public equals(param0: any): boolean;
				public describeContents(): number;
				public getMnc(): string;
			}
		}
	}
}

declare module android {
	export module service {
		export module carrier {
			export abstract class CarrierMessagingService extends android.app.Service {
				public static class: java.lang.Class<android.service.carrier.CarrierMessagingService>;
				public static DOWNLOAD_STATUS_ERROR: number;
				public static DOWNLOAD_STATUS_OK: number;
				public static DOWNLOAD_STATUS_RETRY_ON_CARRIER_NETWORK: number;
				public static RECEIVE_OPTIONS_DEFAULT: number;
				public static RECEIVE_OPTIONS_DROP: number;
				public static RECEIVE_OPTIONS_SKIP_NOTIFY_WHEN_CREDENTIAL_PROTECTED_STORAGE_UNAVAILABLE: number;
				public static SEND_FLAG_REQUEST_DELIVERY_STATUS: number;
				public static SEND_STATUS_ERROR: number;
				public static SEND_STATUS_OK: number;
				public static SEND_STATUS_RETRY_ON_CARRIER_NETWORK: number;
				public static SERVICE_INTERFACE: string;
				/** @deprecated */
				public onSendDataSms(param0: native.Array<number>, param1: number, param2: string, param3: number, param4: android.service.carrier.CarrierMessagingService.ResultCallback<android.service.carrier.CarrierMessagingService.SendSmsResult>): void;
				public onDownloadMms(param0: android.net.Uri, param1: number, param2: android.net.Uri, param3: android.service.carrier.CarrierMessagingService.ResultCallback<java.lang.Integer>): void;
				public onSendTextSms(param0: string, param1: number, param2: string, param3: number, param4: android.service.carrier.CarrierMessagingService.ResultCallback<android.service.carrier.CarrierMessagingService.SendSmsResult>): void;
				/** @deprecated */
				public onSendMultipartTextSms(param0: java.util.List<string>, param1: number, param2: string, param3: android.service.carrier.CarrierMessagingService.ResultCallback<android.service.carrier.CarrierMessagingService.SendMultipartSmsResult>): void;
				public onSendMms(param0: android.net.Uri, param1: number, param2: android.net.Uri, param3: android.service.carrier.CarrierMessagingService.ResultCallback<android.service.carrier.CarrierMessagingService.SendMmsResult>): void;
				public constructor();
				public onReceiveTextSms(param0: android.service.carrier.MessagePdu, param1: string, param2: number, param3: number, param4: android.service.carrier.CarrierMessagingService.ResultCallback<java.lang.Integer>): void;
				public onBind(param0: android.content.Intent): android.os.IBinder;
				/** @deprecated */
				public onFilterSms(param0: android.service.carrier.MessagePdu, param1: string, param2: number, param3: number, param4: android.service.carrier.CarrierMessagingService.ResultCallback<java.lang.Boolean>): void;
				public constructor(param0: android.content.Context);
				public onSendDataSms(param0: native.Array<number>, param1: number, param2: string, param3: number, param4: number, param5: android.service.carrier.CarrierMessagingService.ResultCallback<android.service.carrier.CarrierMessagingService.SendSmsResult>): void;
				public onTrimMemory(param0: number): void;
				/** @deprecated */
				public onSendTextSms(param0: string, param1: number, param2: string, param3: android.service.carrier.CarrierMessagingService.ResultCallback<android.service.carrier.CarrierMessagingService.SendSmsResult>): void;
				public onSendMultipartTextSms(param0: java.util.List<string>, param1: number, param2: string, param3: number, param4: android.service.carrier.CarrierMessagingService.ResultCallback<android.service.carrier.CarrierMessagingService.SendMultipartSmsResult>): void;
			}
			export module CarrierMessagingService {
				export class ResultCallback<T>  extends java.lang.Object {
					public static class: java.lang.Class<android.service.carrier.CarrierMessagingService.ResultCallback<any>>;
					/**
					 * Constructs a new instance of the android.service.carrier.CarrierMessagingService$ResultCallback interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						onReceiveResult(param0: T): void;
					});
					public constructor();
					public onReceiveResult(param0: T): void;
				}
				export class SendMmsResult extends java.lang.Object {
					public static class: java.lang.Class<android.service.carrier.CarrierMessagingService.SendMmsResult>;
					public getSendStatus(): number;
					public constructor(param0: number, param1: native.Array<number>);
					public getSendConfPdu(): native.Array<number>;
				}
				export class SendMultipartSmsResult extends java.lang.Object {
					public static class: java.lang.Class<android.service.carrier.CarrierMessagingService.SendMultipartSmsResult>;
					public getSendStatus(): number;
					public constructor(param0: number, param1: native.Array<number>);
					public getMessageRefs(): native.Array<number>;
				}
				export class SendSmsResult extends java.lang.Object {
					public static class: java.lang.Class<android.service.carrier.CarrierMessagingService.SendSmsResult>;
					public getSendStatus(): number;
					public getMessageRef(): number;
					public constructor(param0: number, param1: number);
				}
			}
		}
	}
}

declare module android {
	export module service {
		export module carrier {
			export abstract class CarrierService extends android.app.Service {
				public static class: java.lang.Class<android.service.carrier.CarrierService>;
				public static CARRIER_SERVICE_INTERFACE: string;
				public onLoadConfig(param0: android.service.carrier.CarrierIdentifier): any;
				public onBind(param0: android.content.Intent): android.os.IBinder;
				public constructor(param0: android.content.Context);
				public notifyCarrierNetworkChange(param0: boolean): void;
				public onTrimMemory(param0: number): void;
				public constructor();
			}
		}
	}
}

declare module android {
	export module service {
		export module carrier {
			export class MessagePdu extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.service.carrier.MessagePdu>;
				public static CREATOR: android.os.Parcelable.Creator<android.service.carrier.MessagePdu>;
				public getPdus(): java.util.List<native.Array<number>>;
				public constructor(param0: java.util.List<native.Array<number>>);
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
			}
		}
	}
}

declare module android {
	export module service {
		export module chooser {
			export class ChooserTarget extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.service.chooser.ChooserTarget>;
				public static CREATOR: android.os.Parcelable.Creator<android.service.chooser.ChooserTarget>;
				public getIntentExtras(): android.os.Bundle;
				public getIcon(): any;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getComponentName(): android.content.ComponentName;
				public toString(): string;
				public constructor(param0: string, param1: any, param2: number, param3: android.content.ComponentName, param4: android.os.Bundle);
				public getTitle(): string;
				public getScore(): number;
			}
		}
	}
}

declare module android {
	export module service {
		export module chooser {
			export abstract class ChooserTargetService extends android.app.Service {
				public static class: java.lang.Class<android.service.chooser.ChooserTargetService>;
				public static BIND_PERMISSION: string;
				public static META_DATA_NAME: string;
				public static SERVICE_INTERFACE: string;
				public onGetChooserTargets(param0: android.content.ComponentName, param1: android.content.IntentFilter): java.util.List<android.service.chooser.ChooserTarget>;
				public onBind(param0: android.content.Intent): android.os.IBinder;
				public constructor(param0: android.content.Context);
				public onTrimMemory(param0: number): void;
				public constructor();
			}
		}
	}
}

declare module android {
	export module service {
		export module dreams {
			export class DreamService extends android.app.Service implements android.view.Window.Callback {
				public static class: java.lang.Class<android.service.dreams.DreamService>;
				public static DREAM_META_DATA: string;
				public static SERVICE_INTERFACE: string;
				public setContentView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
				public onWindowStartingActionMode(param0: android.view.ActionMode.Callback): android.view.ActionMode;
				public isFullscreen(): boolean;
				public getWindowManager(): android.view.WindowManager;
				public onDreamingStarted(): void;
				public finish(): void;
				public onProvideKeyboardShortcuts(param0: java.util.List<any>, param1: android.view.Menu, param2: number): void;
				public constructor();
				public onPreparePanel(param0: number, param1: android.view.View, param2: android.view.Menu): boolean;
				public onSearchRequested(param0: any): boolean;
				public onPanelClosed(param0: number, param1: android.view.Menu): void;
				public onTrimMemory(param0: number): void;
				public findViewById(param0: number): android.view.View;
				public requireViewById(param0: number): android.view.View;
				public onMenuOpened(param0: number, param1: android.view.Menu): boolean;
				public onWakeUp(): void;
				public dispatchTrackballEvent(param0: android.view.MotionEvent): boolean;
				public getWindow(): android.view.Window;
				public onPointerCaptureChanged(param0: boolean): void;
				public dispatchKeyShortcutEvent(param0: android.view.KeyEvent): boolean;
				public onWindowAttributesChanged(param0: android.view.WindowManager.LayoutParams): void;
				public onContentChanged(): void;
				public onBind(param0: android.content.Intent): android.os.IBinder;
				public constructor(param0: android.content.Context);
				public dispatchKeyEvent(param0: android.view.KeyEvent): boolean;
				public onDetachedFromWindow(): void;
				public setContentView(param0: android.view.View): void;
				public dispatchTouchEvent(param0: android.view.MotionEvent): boolean;
				public onSearchRequested(): boolean;
				public dispatchGenericMotionEvent(param0: android.view.MotionEvent): boolean;
				public isInteractive(): boolean;
				public dispatchPopulateAccessibilityEvent(param0: android.view.accessibility.AccessibilityEvent): boolean;
				public setFullscreen(param0: boolean): void;
				public isScreenBright(): boolean;
				public onMenuItemSelected(param0: number, param1: android.view.MenuItem): boolean;
				public setInteractive(param0: boolean): void;
				public onCreatePanelView(param0: number): android.view.View;
				public onActionModeStarted(param0: android.view.ActionMode): void;
				public onWindowStartingActionMode(param0: android.view.ActionMode.Callback, param1: number): android.view.ActionMode;
				public onActionModeFinished(param0: android.view.ActionMode): void;
				public setContentView(param0: number): void;
				public addContentView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
				public dump(param0: java.io.FileDescriptor, param1: java.io.PrintWriter, param2: native.Array<string>): void;
				public setScreenBright(param0: boolean): void;
				public onCreatePanelMenu(param0: number, param1: android.view.Menu): boolean;
				public onCreate(): void;
				public wakeUp(): void;
				public onWindowFocusChanged(param0: boolean): void;
				public onDreamingStopped(): void;
				public onDestroy(): void;
				public onAttachedToWindow(): void;
			}
		}
	}
}



declare module android {
	export module service {
		export module notification {
			export class Condition extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.service.notification.Condition>;
				public static CREATOR: android.os.Parcelable.Creator<android.service.notification.Condition>;
				public static FLAG_RELEVANT_ALWAYS: number;
				public static FLAG_RELEVANT_NOW: number;
				public static SCHEME: string;
				public static STATE_ERROR: number;
				public static STATE_FALSE: number;
				public static STATE_TRUE: number;
				public static STATE_UNKNOWN: number;
				public flags: number;
				public icon: number;
				public id: android.net.Uri;
				public line1: string;
				public line2: string;
				public state: number;
				public summary: string;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public toString(): string;
				public constructor(param0: android.os.Parcel);
				public static relevanceToString(param0: number): string;
				public constructor(param0: android.net.Uri, param1: string, param2: string, param3: string, param4: number, param5: number, param6: number);
				public static newId(param0: android.content.Context): android.net.Uri.Builder;
				public hashCode(): number;
				public equals(param0: any): boolean;
				public describeContents(): number;
				public static isValidId(param0: android.net.Uri, param1: string): boolean;
				public static stateToString(param0: number): string;
				public copy(): android.service.notification.Condition;
				public constructor(param0: android.net.Uri, param1: string, param2: number);
			}
		}
	}
}

declare module android {
	export module service {
		export module notification {
			export abstract class ConditionProviderService extends android.app.Service {
				public static class: java.lang.Class<android.service.notification.ConditionProviderService>;
				public static EXTRA_RULE_ID: string;
				public static META_DATA_CONFIGURATION_ACTIVITY: string;
				public static META_DATA_RULE_INSTANCE_LIMIT: string;
				public static META_DATA_RULE_TYPE: string;
				public static SERVICE_INTERFACE: string;
				public notifyCondition(param0: android.service.notification.Condition): void;
				public onSubscribe(param0: android.net.Uri): void;
				public onBind(param0: android.content.Intent): android.os.IBinder;
				public onRequestConditions(param0: number): void;
				public constructor(param0: android.content.Context);
				public onUnsubscribe(param0: android.net.Uri): void;
				public onTrimMemory(param0: number): void;
				public static requestRebind(param0: android.content.ComponentName): void;
				public notifyConditions(param0: native.Array<android.service.notification.Condition>): void;
				public constructor();
				public onConnected(): void;
				public requestUnbind(): void;
			}
		}
	}
}

declare module android {
	export module service {
		export module notification {
			export abstract class NotificationListenerService extends android.app.Service {
				public static class: java.lang.Class<android.service.notification.NotificationListenerService>;
				public static HINT_HOST_DISABLE_CALL_EFFECTS: number;
				public static HINT_HOST_DISABLE_EFFECTS: number;
				public static HINT_HOST_DISABLE_NOTIFICATION_EFFECTS: number;
				public static INTERRUPTION_FILTER_ALARMS: number;
				public static INTERRUPTION_FILTER_ALL: number;
				public static INTERRUPTION_FILTER_NONE: number;
				public static INTERRUPTION_FILTER_PRIORITY: number;
				public static INTERRUPTION_FILTER_UNKNOWN: number;
				public static NOTIFICATION_CHANNEL_OR_GROUP_ADDED: number;
				public static NOTIFICATION_CHANNEL_OR_GROUP_DELETED: number;
				public static NOTIFICATION_CHANNEL_OR_GROUP_UPDATED: number;
				public static REASON_APP_CANCEL: number;
				public static REASON_APP_CANCEL_ALL: number;
				public static REASON_CANCEL: number;
				public static REASON_CANCEL_ALL: number;
				public static REASON_CHANNEL_BANNED: number;
				public static REASON_CLICK: number;
				public static REASON_ERROR: number;
				public static REASON_GROUP_OPTIMIZATION: number;
				public static REASON_GROUP_SUMMARY_CANCELED: number;
				public static REASON_LISTENER_CANCEL: number;
				public static REASON_LISTENER_CANCEL_ALL: number;
				public static REASON_PACKAGE_BANNED: number;
				public static REASON_PACKAGE_CHANGED: number;
				public static REASON_PACKAGE_SUSPENDED: number;
				public static REASON_PROFILE_TURNED_OFF: number;
				public static REASON_SNOOZED: number;
				public static REASON_TIMEOUT: number;
				public static REASON_UNAUTOBUNDLED: number;
				public static REASON_USER_STOPPED: number;
				public static SERVICE_INTERFACE: string;
				public static SUPPRESSED_EFFECT_SCREEN_OFF: number;
				public static SUPPRESSED_EFFECT_SCREEN_ON: number;
				public getNotificationChannels(param0: string, param1: android.os.UserHandle): java.util.List<android.app.NotificationChannel>;
				public getCurrentListenerHints(): number;
				public getNotificationChannelGroups(param0: string, param1: android.os.UserHandle): java.util.List<android.app.NotificationChannelGroup>;
				public requestListenerHints(param0: number): void;
				public onNotificationRemoved(param0: android.service.notification.StatusBarNotification): void;
				public getActiveNotifications(param0: native.Array<string>): native.Array<android.service.notification.StatusBarNotification>;
				public constructor();
				public onNotificationRemoved(param0: android.service.notification.StatusBarNotification, param1: android.service.notification.NotificationListenerService.RankingMap, param2: number): void;
				public requestUnbind(): void;
				public onNotificationPosted(param0: android.service.notification.StatusBarNotification, param1: android.service.notification.NotificationListenerService.RankingMap): void;
				public updateNotificationChannel(param0: string, param1: android.os.UserHandle, param2: android.app.NotificationChannel): void;
				public cancelNotifications(param0: native.Array<string>): void;
				public cancelNotification(param0: string): void;
				public onTrimMemory(param0: number): void;
				public getActiveNotifications(): native.Array<android.service.notification.StatusBarNotification>;
				/** @deprecated */
				public cancelNotification(param0: string, param1: string, param2: number): void;
				public setNotificationsShown(param0: native.Array<string>): void;
				public getCurrentInterruptionFilter(): number;
				public onInterruptionFilterChanged(param0: number): void;
				public cancelAllNotifications(): void;
				public onListenerDisconnected(): void;
				public snoozeNotification(param0: string, param1: number): void;
				public getCurrentRanking(): android.service.notification.NotificationListenerService.RankingMap;
				public onNotificationPosted(param0: android.service.notification.StatusBarNotification): void;
				public onNotificationRankingUpdate(param0: android.service.notification.NotificationListenerService.RankingMap): void;
				public attachBaseContext(param0: android.content.Context): void;
				public onNotificationChannelGroupModified(param0: string, param1: android.os.UserHandle, param2: android.app.NotificationChannelGroup, param3: number): void;
				public static requestRebind(param0: android.content.ComponentName): void;
				public onListenerHintsChanged(param0: number): void;
				public onNotificationChannelModified(param0: string, param1: android.os.UserHandle, param2: android.app.NotificationChannel, param3: number): void;
				public getSnoozedNotifications(): native.Array<android.service.notification.StatusBarNotification>;
				public requestInterruptionFilter(param0: number): void;
				public onBind(param0: android.content.Intent): android.os.IBinder;
				public onNotificationRemoved(param0: android.service.notification.StatusBarNotification, param1: android.service.notification.NotificationListenerService.RankingMap): void;
				public constructor(param0: android.content.Context);
				public onDestroy(): void;
				public onListenerConnected(): void;
			}
			export module NotificationListenerService {
				export class Ranking extends java.lang.Object {
					public static class: java.lang.Class<android.service.notification.NotificationListenerService.Ranking>;
					public static USER_SENTIMENT_NEGATIVE: number;
					public static USER_SENTIMENT_NEUTRAL: number;
					public static USER_SENTIMENT_POSITIVE: number;
					public getImportance(): number;
					public getUserSentiment(): number;
					public matchesInterruptionFilter(): boolean;
					public canShowBadge(): boolean;
					public getImportanceExplanation(): string;
					public getKey(): string;
					public isSuspended(): boolean;
					public constructor();
					public getSuppressedVisualEffects(): number;
					public isAmbient(): boolean;
					public getRank(): number;
					public getOverrideGroupKey(): string;
					public getChannel(): android.app.NotificationChannel;
				}
				export class RankingMap extends java.lang.Object implements android.os.Parcelable {
					public static class: java.lang.Class<android.service.notification.NotificationListenerService.RankingMap>;
					public static CREATOR: android.os.Parcelable.Creator<android.service.notification.NotificationListenerService.RankingMap>;
					public getRanking(param0: string, param1: android.service.notification.NotificationListenerService.Ranking): boolean;
					public describeContents(): number;
					public getOrderedKeys(): native.Array<string>;
					public writeToParcel(param0: android.os.Parcel, param1: number): void;
				}
			}
		}
	}
}

declare module android {
	export module service {
		export module notification {
			export class StatusBarNotification extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.service.notification.StatusBarNotification>;
				public static CREATOR: android.os.Parcelable.Creator<android.service.notification.StatusBarNotification>;
				public getPostTime(): number;
				public isOngoing(): boolean;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public setOverrideGroupKey(param0: string): void;
				public isClearable(): boolean;
				public getPackageName(): string;
				public getId(): number;
				public getTag(): string;
				public isGroup(): boolean;
				/** @deprecated */
				public getUserId(): number;
				public toString(): string;
				public getKey(): string;
				/** @deprecated */
				public constructor(param0: string, param1: string, param2: number, param3: string, param4: number, param5: number, param6: number, param7: android.app.Notification, param8: android.os.UserHandle, param9: number);
				public constructor(param0: android.os.Parcel);
				public describeContents(): number;
				public clone(): any;
				public getNotification(): android.app.Notification;
				public getGroupKey(): string;
				public getOverrideGroupKey(): string;
				public clone(): android.service.notification.StatusBarNotification;
				public getUser(): android.os.UserHandle;
			}
		}
	}
}

declare module android {
	export module service {
		export module quicksettings {
			export class Tile extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.service.quicksettings.Tile>;
				public static CREATOR: android.os.Parcelable.Creator<android.service.quicksettings.Tile>;
				public static STATE_ACTIVE: number;
				public static STATE_INACTIVE: number;
				public static STATE_UNAVAILABLE: number;
				public updateTile(): void;
				public setLabel(param0: string): void;
				public setState(param0: number): void;
				public getContentDescription(): string;
				public getIcon(): any;
				public getLabel(): string;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getState(): number;
				public describeContents(): number;
				public setContentDescription(param0: string): void;
				public setIcon(param0: any): void;
			}
		}
	}
}

declare module android {
	export module service {
		export module quicksettings {
			export class TileService extends android.app.Service {
				public static class: java.lang.Class<android.service.quicksettings.TileService>;
				public static ACTION_QS_TILE: string;
				public static ACTION_QS_TILE_PREFERENCES: string;
				public static META_DATA_ACTIVE_TILE: string;
				public unlockAndRun(param0: java.lang.Runnable): void;
				public onTileRemoved(): void;
				public onStartListening(): void;
				public showDialog(param0: android.app.Dialog): void;
				public constructor();
				public getQsTile(): android.service.quicksettings.Tile;
				public onTileAdded(): void;
				public onClick(): void;
				public static requestListeningState(param0: android.content.Context, param1: android.content.ComponentName): void;
				public onBind(param0: android.content.Intent): android.os.IBinder;
				public constructor(param0: android.content.Context);
				public startActivityAndCollapse(param0: android.content.Intent): void;
				public onDestroy(): void;
				public isSecure(): boolean;
				public onTrimMemory(param0: number): void;
				public onStopListening(): void;
				public isLocked(): boolean;
			}
		}
	}
}

declare module android {
	export module service {
		export module restrictions {
			export abstract class RestrictionsReceiver extends android.content.BroadcastReceiver {
				public static class: java.lang.Class<android.service.restrictions.RestrictionsReceiver>;
				public onRequestPermission(param0: android.content.Context, param1: string, param2: string, param3: string, param4: any): void;
				public onReceive(param0: android.content.Context, param1: android.content.Intent): void;
				public constructor();
			}
		}
	}
}

declare module android {
	export module service {
		export module textservice {
			export abstract class SpellCheckerService extends android.app.Service {
				public static class: java.lang.Class<android.service.textservice.SpellCheckerService>;
				public static SERVICE_INTERFACE: string;
				public onBind(param0: android.content.Intent): android.os.IBinder;
				public createSession(): android.service.textservice.SpellCheckerService.Session;
				public constructor(param0: android.content.Context);
				public onTrimMemory(param0: number): void;
				public constructor();
			}
			export module SpellCheckerService {
				export abstract class Session extends java.lang.Object {
					public static class: java.lang.Class<android.service.textservice.SpellCheckerService.Session>;
					public onCreate(): void;
					public onClose(): void;
					public getLocale(): string;
					public constructor();
					public onGetSuggestionsMultiple(param0: native.Array<android.view.textservice.TextInfo>, param1: number, param2: boolean): native.Array<android.view.textservice.SuggestionsInfo>;
					public onGetSuggestions(param0: android.view.textservice.TextInfo, param1: number): android.view.textservice.SuggestionsInfo;
					public onGetSentenceSuggestionsMultiple(param0: native.Array<android.view.textservice.TextInfo>, param1: number): native.Array<android.view.textservice.SentenceSuggestionsInfo>;
					public onCancel(): void;
					public getBundle(): android.os.Bundle;
				}
			}
		}
	}
}

declare module android {
	export module service {
		export module voice {
			export class AlwaysOnHotwordDetector extends java.lang.Object {
				public static class: java.lang.Class<android.service.voice.AlwaysOnHotwordDetector>;
				public static RECOGNITION_FLAG_ALLOW_MULTIPLE_TRIGGERS: number;
				public static RECOGNITION_FLAG_CAPTURE_TRIGGER_AUDIO: number;
				public static RECOGNITION_MODE_USER_IDENTIFICATION: number;
				public static RECOGNITION_MODE_VOICE_TRIGGER: number;
				public static STATE_HARDWARE_UNAVAILABLE: number;
				public static STATE_KEYPHRASE_ENROLLED: number;
				public static STATE_KEYPHRASE_UNENROLLED: number;
				public static STATE_KEYPHRASE_UNSUPPORTED: number;
				public getSupportedRecognitionModes(): number;
				public startRecognition(param0: number): boolean;
				public createUnEnrollIntent(): android.content.Intent;
				public stopRecognition(): boolean;
				public createReEnrollIntent(): android.content.Intent;
				public createEnrollIntent(): android.content.Intent;
			}
			export module AlwaysOnHotwordDetector {
				export abstract class Callback extends java.lang.Object {
					public static class: java.lang.Class<android.service.voice.AlwaysOnHotwordDetector.Callback>;
					public constructor();
					public onDetected(param0: android.service.voice.AlwaysOnHotwordDetector.EventPayload): void;
					public onRecognitionResumed(): void;
					public onAvailabilityChanged(param0: number): void;
					public onError(): void;
					public onRecognitionPaused(): void;
				}
				export class EventPayload extends java.lang.Object {
					public static class: java.lang.Class<android.service.voice.AlwaysOnHotwordDetector.EventPayload>;
					public getCaptureAudioFormat(): android.media.AudioFormat;
					public getTriggerAudio(): native.Array<number>;
				}
			}
		}
	}
}

declare module android {
	export module service {
		export module voice {
			export class VoiceInteractionService extends android.app.Service {
				public static class: java.lang.Class<android.service.voice.VoiceInteractionService>;
				public static SERVICE_INTERFACE: string;
				public static SERVICE_META_DATA: string;
				public createAlwaysOnHotwordDetector(param0: string, param1: java.util.Locale, param2: android.service.voice.AlwaysOnHotwordDetector.Callback): android.service.voice.AlwaysOnHotwordDetector;
				public setDisabledShowContext(param0: number): void;
				public onLaunchVoiceAssistFromKeyguard(): void;
				public onShutdown(): void;
				public getDisabledShowContext(): number;
				public constructor();
				public dump(param0: java.io.FileDescriptor, param1: java.io.PrintWriter, param2: native.Array<string>): void;
				public onBind(param0: android.content.Intent): android.os.IBinder;
				public static isActiveService(param0: android.content.Context, param1: android.content.ComponentName): boolean;
				public constructor(param0: android.content.Context);
				public showSession(param0: android.os.Bundle, param1: number): void;
				public onReady(): void;
				public onCreate(): void;
				public onTrimMemory(param0: number): void;
			}
		}
	}
}

declare module android {
	export module service {
		export module voice {
			export class VoiceInteractionSession extends java.lang.Object implements android.view.KeyEvent.Callback, android.content.ComponentCallbacks2 {
				public static class: java.lang.Class<android.service.voice.VoiceInteractionSession>;
				public static SHOW_SOURCE_ACTIVITY: number;
				public static SHOW_SOURCE_APPLICATION: number;
				public static SHOW_SOURCE_ASSIST_GESTURE: number;
				public static SHOW_WITH_ASSIST: number;
				public static SHOW_WITH_SCREENSHOT: number;
				public onLockscreenShown(): void;
				public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
				public onTaskFinished(param0: android.content.Intent, param1: number): void;
				public finish(): void;
				public onConfigurationChanged(param0: android.content.res.Configuration): void;
				public onRequestConfirmation(param0: android.service.voice.VoiceInteractionSession.ConfirmationRequest): void;
				public onTrimMemory(param0: number): void;
				public onRequestCompleteVoice(param0: android.service.voice.VoiceInteractionSession.CompleteVoiceRequest): void;
				public onHandleScreenshot(param0: android.graphics.Bitmap): void;
				public setKeepAwake(param0: boolean): void;
				public onComputeInsets(param0: android.service.voice.VoiceInteractionSession.Insets): void;
				public onGetSupportedCommands(param0: native.Array<string>): native.Array<boolean>;
				public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
				public getUserDisabledShowContext(): number;
				public onCreateContentView(): android.view.View;
				public onRequestPickOption(param0: android.service.voice.VoiceInteractionSession.PickOptionRequest): void;
				public constructor(param0: android.content.Context);
				public setContentView(param0: android.view.View): void;
				public getLayoutInflater(): android.view.LayoutInflater;
				public getContext(): android.content.Context;
				public setDisabledShowContext(param0: number): void;
				public onBackPressed(): void;
				public setTheme(param0: number): void;
				public onHandleAssist(param0: android.os.Bundle, param1: android.app.assist.AssistStructure, param2: android.app.assist.AssistContent): void;
				public startVoiceActivity(param0: android.content.Intent): void;
				public onHandleAssistSecondary(param0: android.os.Bundle, param1: android.app.assist.AssistStructure, param2: android.app.assist.AssistContent, param3: number, param4: number): void;
				public dump(param0: string, param1: java.io.FileDescriptor, param2: java.io.PrintWriter, param3: native.Array<string>): void;
				public getDisabledShowContext(): number;
				public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
				public onShow(param0: android.os.Bundle, param1: number): void;
				public onRequestCommand(param0: android.service.voice.VoiceInteractionSession.CommandRequest): void;
				public onCloseSystemDialogs(): void;
				public onHide(): void;
				public getWindow(): android.app.Dialog;
				public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
				public constructor(param0: android.content.Context, param1: android.os.Handler);
				public startAssistantActivity(param0: android.content.Intent): void;
				public setUiEnabled(param0: boolean): void;
				public onLowMemory(): void;
				public show(param0: android.os.Bundle, param1: number): void;
				public onTaskStarted(param0: android.content.Intent, param1: number): void;
				public onRequestAbortVoice(param0: android.service.voice.VoiceInteractionSession.AbortVoiceRequest): void;
				public closeSystemDialogs(): void;
				public onPrepareShow(param0: android.os.Bundle, param1: number): void;
				public hide(): void;
				public onAssistStructureFailure(param0: java.lang.Throwable): void;
				public onCreate(): void;
				public onDestroy(): void;
				public onCancelRequest(param0: android.service.voice.VoiceInteractionSession.Request): void;
			}
			export module VoiceInteractionSession {
				export class AbortVoiceRequest extends android.service.voice.VoiceInteractionSession.Request {
					public static class: java.lang.Class<android.service.voice.VoiceInteractionSession.AbortVoiceRequest>;
					public getVoicePrompt(): android.app.VoiceInteractor.Prompt;
					public sendAbortResult(param0: android.os.Bundle): void;
					/** @deprecated */
					public getMessage(): string;
				}
				export class CommandRequest extends android.service.voice.VoiceInteractionSession.Request {
					public static class: java.lang.Class<android.service.voice.VoiceInteractionSession.CommandRequest>;
					public getCommand(): string;
					public sendIntermediateResult(param0: android.os.Bundle): void;
					public sendResult(param0: android.os.Bundle): void;
				}
				export class CompleteVoiceRequest extends android.service.voice.VoiceInteractionSession.Request {
					public static class: java.lang.Class<android.service.voice.VoiceInteractionSession.CompleteVoiceRequest>;
					public getVoicePrompt(): android.app.VoiceInteractor.Prompt;
					public sendCompleteResult(param0: android.os.Bundle): void;
					/** @deprecated */
					public getMessage(): string;
				}
				export class ConfirmationRequest extends android.service.voice.VoiceInteractionSession.Request {
					public static class: java.lang.Class<android.service.voice.VoiceInteractionSession.ConfirmationRequest>;
					public getVoicePrompt(): android.app.VoiceInteractor.Prompt;
					/** @deprecated */
					public getPrompt(): string;
					public sendConfirmationResult(param0: boolean, param1: android.os.Bundle): void;
				}
				export class Insets extends java.lang.Object {
					public static class: java.lang.Class<android.service.voice.VoiceInteractionSession.Insets>;
					public static TOUCHABLE_INSETS_CONTENT: number;
					public static TOUCHABLE_INSETS_FRAME: number;
					public static TOUCHABLE_INSETS_REGION: number;
					public contentInsets: android.graphics.Rect;
					public touchableInsets: number;
					public touchableRegion: android.graphics.Region;
					public constructor();
				}
				export class PickOptionRequest extends android.service.voice.VoiceInteractionSession.Request {
					public static class: java.lang.Class<android.service.voice.VoiceInteractionSession.PickOptionRequest>;
					public sendPickOptionResult(param0: native.Array<android.app.VoiceInteractor.PickOptionRequest.Option>, param1: android.os.Bundle): void;
					public getVoicePrompt(): android.app.VoiceInteractor.Prompt;
					/** @deprecated */
					public getPrompt(): string;
					public getOptions(): native.Array<android.app.VoiceInteractor.PickOptionRequest.Option>;
					public sendIntermediatePickOptionResult(param0: native.Array<android.app.VoiceInteractor.PickOptionRequest.Option>, param1: android.os.Bundle): void;
				}
				export class Request extends java.lang.Object {
					public static class: java.lang.Class<android.service.voice.VoiceInteractionSession.Request>;
					public isActive(): boolean;
					public toString(): string;
					public getCallingPackage(): string;
					public cancel(): void;
					public getExtras(): android.os.Bundle;
					public getCallingUid(): number;
				}
			}
		}
	}
}

declare module android {
	export module service {
		export module voice {
			export abstract class VoiceInteractionSessionService extends android.app.Service {
				public static class: java.lang.Class<android.service.voice.VoiceInteractionSessionService>;
				public onNewSession(param0: android.os.Bundle): android.service.voice.VoiceInteractionSession;
				public dump(param0: java.io.FileDescriptor, param1: java.io.PrintWriter, param2: native.Array<string>): void;
				public onBind(param0: android.content.Intent): android.os.IBinder;
				public onLowMemory(): void;
				public constructor(param0: android.content.Context);
				public onCreate(): void;
				public onTrimMemory(param0: number): void;
				public constructor();
				public onConfigurationChanged(param0: android.content.res.Configuration): void;
			}
		}
	}
}

declare module android {
	export module service {
		export module vr {
			export abstract class VrListenerService extends android.app.Service {
				public static class: java.lang.Class<android.service.vr.VrListenerService>;
				public static SERVICE_INTERFACE: string;
				public onBind(param0: android.content.Intent): android.os.IBinder;
				public onCurrentVrActivityChanged(param0: android.content.ComponentName): void;
				public constructor(param0: android.content.Context);
				public static isVrModePackageEnabled(param0: android.content.Context, param1: android.content.ComponentName): boolean;
				public onTrimMemory(param0: number): void;
				public constructor();
			}
		}
	}
}

declare module android {
	export module service {
		export module wallpaper {
			export abstract class WallpaperService extends android.app.Service {
				public static class: java.lang.Class<android.service.wallpaper.WallpaperService>;
				public static SERVICE_INTERFACE: string;
				public static SERVICE_META_DATA: string;
				public dump(param0: java.io.FileDescriptor, param1: java.io.PrintWriter, param2: native.Array<string>): void;
				public onBind(param0: android.content.Intent): android.os.IBinder;
				public constructor(param0: android.content.Context);
				public onCreate(): void;
				public onDestroy(): void;
				public onTrimMemory(param0: number): void;
				public onCreateEngine(): android.service.wallpaper.WallpaperService.Engine;
				public constructor();
			}
			export module WallpaperService {
				export class Engine extends java.lang.Object {
					public static class: java.lang.Class<android.service.wallpaper.WallpaperService.Engine>;
					public onVisibilityChanged(param0: boolean): void;
					public onTouchEvent(param0: android.view.MotionEvent): void;
					public onDesiredSizeChanged(param0: number, param1: number): void;
					public onSurfaceDestroyed(param0: android.view.SurfaceHolder): void;
					public notifyColorsChanged(): void;
					public onCommand(param0: string, param1: number, param2: number, param3: number, param4: android.os.Bundle, param5: boolean): android.os.Bundle;
					public onSurfaceChanged(param0: android.view.SurfaceHolder, param1: number, param2: number, param3: number): void;
					public onDestroy(): void;
					public getDesiredMinimumHeight(): number;
					public isPreview(): boolean;
					public onSurfaceCreated(param0: android.view.SurfaceHolder): void;
					public onOffsetsChanged(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number): void;
					public onApplyWindowInsets(param0: android.view.WindowInsets): void;
					public getSurfaceHolder(): android.view.SurfaceHolder;
					public isVisible(): boolean;
					public onCreate(param0: android.view.SurfaceHolder): void;
					public setTouchEventsEnabled(param0: boolean): void;
					public setOffsetNotificationsEnabled(param0: boolean): void;
					public constructor(param0: android.service.wallpaper.WallpaperService);
					public onSurfaceRedrawNeeded(param0: android.view.SurfaceHolder): void;
					public getDesiredMinimumWidth(): number;
					public onComputeColors(): android.app.WallpaperColors;
					public dump(param0: string, param1: java.io.FileDescriptor, param2: java.io.PrintWriter, param3: native.Array<string>): void;
				}
			}
		}
	}
}

declare module android {
	export module speech {
		export class RecognitionListener extends java.lang.Object {
			public static class: java.lang.Class<android.speech.RecognitionListener>;
			/**
			 * Constructs a new instance of the android.speech.RecognitionListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				onReadyForSpeech(param0: android.os.Bundle): void;
				onBeginningOfSpeech(): void;
				onRmsChanged(param0: number): void;
				onBufferReceived(param0: native.Array<number>): void;
				onEndOfSpeech(): void;
				onError(param0: number): void;
				onResults(param0: android.os.Bundle): void;
				onPartialResults(param0: android.os.Bundle): void;
				onEvent(param0: number, param1: android.os.Bundle): void;
			});
			public constructor();
			public onEndOfSpeech(): void;
			public onRmsChanged(param0: number): void;
			public onBufferReceived(param0: native.Array<number>): void;
			public onEvent(param0: number, param1: android.os.Bundle): void;
			public onPartialResults(param0: android.os.Bundle): void;
			public onReadyForSpeech(param0: android.os.Bundle): void;
			public onError(param0: number): void;
			public onResults(param0: android.os.Bundle): void;
			public onBeginningOfSpeech(): void;
		}
	}
}

declare module android {
	export module speech {
		export abstract class RecognitionService extends android.app.Service {
			public static class: java.lang.Class<android.speech.RecognitionService>;
			public static SERVICE_INTERFACE: string;
			public static SERVICE_META_DATA: string;
			public onCancel(param0: android.speech.RecognitionService.Callback): void;
			public onTrimMemory(param0: number): void;
			public onStartListening(param0: android.content.Intent, param1: android.speech.RecognitionService.Callback): void;
			public onBind(param0: android.content.Intent): android.os.IBinder;
			public constructor(param0: android.content.Context);
			public onStopListening(param0: android.speech.RecognitionService.Callback): void;
			public constructor();
			public onDestroy(): void;
		}
		export module RecognitionService {
			export class Callback extends java.lang.Object {
				public static class: java.lang.Class<android.speech.RecognitionService.Callback>;
				public bufferReceived(param0: native.Array<number>): void;
				public getCallingUid(): number;
				public endOfSpeech(): void;
				public error(param0: number): void;
				public partialResults(param0: android.os.Bundle): void;
				public results(param0: android.os.Bundle): void;
				public rmsChanged(param0: number): void;
				public beginningOfSpeech(): void;
				public readyForSpeech(param0: android.os.Bundle): void;
			}
		}
	}
}

declare module android {
	export module speech {
		export class RecognizerIntent extends java.lang.Object {
			public static class: java.lang.Class<android.speech.RecognizerIntent>;
			public static ACTION_GET_LANGUAGE_DETAILS: string;
			public static ACTION_RECOGNIZE_SPEECH: string;
			public static ACTION_VOICE_SEARCH_HANDS_FREE: string;
			public static ACTION_WEB_SEARCH: string;
			public static DETAILS_META_DATA: string;
			public static EXTRA_CALLING_PACKAGE: string;
			public static EXTRA_CONFIDENCE_SCORES: string;
			public static EXTRA_LANGUAGE: string;
			public static EXTRA_LANGUAGE_MODEL: string;
			public static EXTRA_LANGUAGE_PREFERENCE: string;
			public static EXTRA_MAX_RESULTS: string;
			public static EXTRA_ONLY_RETURN_LANGUAGE_PREFERENCE: string;
			public static EXTRA_ORIGIN: string;
			public static EXTRA_PARTIAL_RESULTS: string;
			public static EXTRA_PREFER_OFFLINE: string;
			public static EXTRA_PROMPT: string;
			public static EXTRA_RESULTS: string;
			public static EXTRA_RESULTS_PENDINGINTENT: string;
			public static EXTRA_RESULTS_PENDINGINTENT_BUNDLE: string;
			public static EXTRA_SECURE: string;
			public static EXTRA_SPEECH_INPUT_COMPLETE_SILENCE_LENGTH_MILLIS: string;
			public static EXTRA_SPEECH_INPUT_MINIMUM_LENGTH_MILLIS: string;
			public static EXTRA_SPEECH_INPUT_POSSIBLY_COMPLETE_SILENCE_LENGTH_MILLIS: string;
			public static EXTRA_SUPPORTED_LANGUAGES: string;
			public static EXTRA_WEB_SEARCH_ONLY: string;
			public static LANGUAGE_MODEL_FREE_FORM: string;
			public static LANGUAGE_MODEL_WEB_SEARCH: string;
			public static RESULT_AUDIO_ERROR: number;
			public static RESULT_CLIENT_ERROR: number;
			public static RESULT_NETWORK_ERROR: number;
			public static RESULT_NO_MATCH: number;
			public static RESULT_SERVER_ERROR: number;
			public static getVoiceDetailsIntent(param0: android.content.Context): android.content.Intent;
		}
	}
}

declare module android {
	export module speech {
		export class RecognizerResultsIntent extends java.lang.Object {
			public static class: java.lang.Class<android.speech.RecognizerResultsIntent>;
			public static ACTION_VOICE_SEARCH_RESULTS: string;
			public static EXTRA_VOICE_SEARCH_RESULT_HTML: string;
			public static EXTRA_VOICE_SEARCH_RESULT_HTML_BASE_URLS: string;
			public static EXTRA_VOICE_SEARCH_RESULT_HTTP_HEADERS: string;
			public static EXTRA_VOICE_SEARCH_RESULT_STRINGS: string;
			public static EXTRA_VOICE_SEARCH_RESULT_URLS: string;
			public static URI_SCHEME_INLINE: string;
		}
	}
}

declare module android {
	export module speech {
		export class SpeechRecognizer extends java.lang.Object {
			public static class: java.lang.Class<android.speech.SpeechRecognizer>;
			public static CONFIDENCE_SCORES: string;
			public static ERROR_AUDIO: number;
			public static ERROR_CLIENT: number;
			public static ERROR_INSUFFICIENT_PERMISSIONS: number;
			public static ERROR_NETWORK: number;
			public static ERROR_NETWORK_TIMEOUT: number;
			public static ERROR_NO_MATCH: number;
			public static ERROR_RECOGNIZER_BUSY: number;
			public static ERROR_SERVER: number;
			public static ERROR_SPEECH_TIMEOUT: number;
			public static RESULTS_RECOGNITION: string;
			public static createSpeechRecognizer(param0: android.content.Context): android.speech.SpeechRecognizer;
			public startListening(param0: android.content.Intent): void;
			public destroy(): void;
			public setRecognitionListener(param0: android.speech.RecognitionListener): void;
			public stopListening(): void;
			public cancel(): void;
			public static isRecognitionAvailable(param0: android.content.Context): boolean;
			public static createSpeechRecognizer(param0: android.content.Context, param1: android.content.ComponentName): android.speech.SpeechRecognizer;
		}
	}
}

declare module android {
	export module speech {
		export module tts {
			export class SynthesisCallback extends java.lang.Object {
				public static class: java.lang.Class<android.speech.tts.SynthesisCallback>;
				/**
				 * Constructs a new instance of the android.speech.tts.SynthesisCallback interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getMaxBufferSize(): number;
					start(param0: number, param1: number, param2: number): number;
					audioAvailable(param0: native.Array<number>, param1: number, param2: number): number;
					done(): number;
					error(): void;
					error(param0: number): void;
					hasStarted(): boolean;
					hasFinished(): boolean;
					rangeStart(param0: number, param1: number, param2: number): void;
				});
				public constructor();
				public error(param0: number): void;
				public audioAvailable(param0: native.Array<number>, param1: number, param2: number): number;
				public error(): void;
				public start(param0: number, param1: number, param2: number): number;
				public hasStarted(): boolean;
				public hasFinished(): boolean;
				public getMaxBufferSize(): number;
				public done(): number;
				public rangeStart(param0: number, param1: number, param2: number): void;
			}
		}
	}
}

declare module android {
	export module speech {
		export module tts {
			export class SynthesisRequest extends java.lang.Object {
				public static class: java.lang.Class<android.speech.tts.SynthesisRequest>;
				public constructor(param0: string, param1: android.os.Bundle);
				public getCharSequenceText(): string;
				public getParams(): android.os.Bundle;
				public getCallerUid(): number;
				public getSpeechRate(): number;
				public getVoiceName(): string;
				/** @deprecated */
				public getText(): string;
				public getCountry(): string;
				public getLanguage(): string;
				public getVariant(): string;
				public getPitch(): number;
			}
		}
	}
}

declare module android {
	export module speech {
		export module tts {
			export class TextToSpeech extends java.lang.Object {
				public static class: java.lang.Class<android.speech.tts.TextToSpeech>;
				public static ACTION_TTS_QUEUE_PROCESSING_COMPLETED: string;
				public static ERROR: number;
				public static ERROR_INVALID_REQUEST: number;
				public static ERROR_NETWORK: number;
				public static ERROR_NETWORK_TIMEOUT: number;
				public static ERROR_NOT_INSTALLED_YET: number;
				public static ERROR_OUTPUT: number;
				public static ERROR_SERVICE: number;
				public static ERROR_SYNTHESIS: number;
				public static LANG_AVAILABLE: number;
				public static LANG_COUNTRY_AVAILABLE: number;
				public static LANG_COUNTRY_VAR_AVAILABLE: number;
				public static LANG_MISSING_DATA: number;
				public static LANG_NOT_SUPPORTED: number;
				public static QUEUE_ADD: number;
				public static QUEUE_FLUSH: number;
				public static STOPPED: number;
				public static SUCCESS: number;
				/** @deprecated */
				public playSilence(param0: number, param1: number, param2: java.util.HashMap<string,string>): number;
				public setAudioAttributes(param0: any): number;
				public getVoice(): android.speech.tts.Voice;
				public addSpeech(param0: string, param1: string, param2: number): number;
				public playEarcon(param0: string, param1: number, param2: android.os.Bundle, param3: string): number;
				public getAvailableLanguages(): java.util.Set<java.util.Locale>;
				public synthesizeToFile(param0: string, param1: android.os.Bundle, param2: java.io.File, param3: string): number;
				/** @deprecated */
				public getLanguage(): java.util.Locale;
				public getVoices(): java.util.Set<android.speech.tts.Voice>;
				/** @deprecated */
				public getFeatures(param0: java.util.Locale): java.util.Set<string>;
				public shutdown(): void;
				public isSpeaking(): boolean;
				/** @deprecated */
				public playEarcon(param0: string, param1: number, param2: java.util.HashMap<string,string>): number;
				public getDefaultEngine(): string;
				public setPitch(param0: number): number;
				public setOnUtteranceProgressListener(param0: android.speech.tts.UtteranceProgressListener): number;
				public addEarcon(param0: string, param1: string, param2: number): number;
				/** @deprecated */
				public getDefaultLanguage(): java.util.Locale;
				public setVoice(param0: android.speech.tts.Voice): number;
				public getDefaultVoice(): android.speech.tts.Voice;
				public getEngines(): java.util.List<android.speech.tts.TextToSpeech.EngineInfo>;
				/** @deprecated */
				public speak(param0: string, param1: number, param2: java.util.HashMap<string,string>): number;
				public addSpeech(param0: string, param1: java.io.File): number;
				public constructor(param0: android.content.Context, param1: android.speech.tts.TextToSpeech.OnInitListener);
				public setLanguage(param0: java.util.Locale): number;
				public addSpeech(param0: string, param1: string): number;
				public constructor(param0: android.content.Context, param1: android.speech.tts.TextToSpeech.OnInitListener, param2: string);
				public isLanguageAvailable(param0: java.util.Locale): number;
				/** @deprecated */
				public areDefaultsEnforced(): boolean;
				/** @deprecated */
				public addEarcon(param0: string, param1: string): number;
				/** @deprecated */
				public setEngineByPackageName(param0: string): number;
				public setSpeechRate(param0: number): number;
				/** @deprecated */
				public synthesizeToFile(param0: string, param1: java.util.HashMap<string,string>, param2: string): number;
				public addEarcon(param0: string, param1: java.io.File): number;
				public stop(): number;
				public playSilentUtterance(param0: number, param1: number, param2: string): number;
				/** @deprecated */
				public setOnUtteranceCompletedListener(param0: android.speech.tts.TextToSpeech.OnUtteranceCompletedListener): number;
				public static getMaxSpeechInputLength(): number;
				public speak(param0: string, param1: number, param2: android.os.Bundle, param3: string): number;
			}
			export module TextToSpeech {
				export class Engine extends java.lang.Object {
					public static class: java.lang.Class<android.speech.tts.TextToSpeech.Engine>;
					public static ACTION_CHECK_TTS_DATA: string;
					public static ACTION_GET_SAMPLE_TEXT: string;
					public static ACTION_INSTALL_TTS_DATA: string;
					public static ACTION_TTS_DATA_INSTALLED: string;
					public static CHECK_VOICE_DATA_BAD_DATA: number;
					public static CHECK_VOICE_DATA_FAIL: number;
					public static CHECK_VOICE_DATA_MISSING_DATA: number;
					public static CHECK_VOICE_DATA_MISSING_VOLUME: number;
					public static CHECK_VOICE_DATA_PASS: number;
					public static DEFAULT_STREAM: number;
					public static EXTRA_AVAILABLE_VOICES: string;
					public static EXTRA_CHECK_VOICE_DATA_FOR: string;
					public static EXTRA_SAMPLE_TEXT: string;
					public static EXTRA_TTS_DATA_INSTALLED: string;
					public static EXTRA_UNAVAILABLE_VOICES: string;
					public static EXTRA_VOICE_DATA_FILES: string;
					public static EXTRA_VOICE_DATA_FILES_INFO: string;
					public static EXTRA_VOICE_DATA_ROOT_DIRECTORY: string;
					public static INTENT_ACTION_TTS_SERVICE: string;
					public static KEY_FEATURE_EMBEDDED_SYNTHESIS: string;
					public static KEY_FEATURE_NETWORK_RETRIES_COUNT: string;
					public static KEY_FEATURE_NETWORK_SYNTHESIS: string;
					public static KEY_FEATURE_NETWORK_TIMEOUT_MS: string;
					public static KEY_FEATURE_NOT_INSTALLED: string;
					public static KEY_PARAM_PAN: string;
					public static KEY_PARAM_SESSION_ID: string;
					public static KEY_PARAM_STREAM: string;
					public static KEY_PARAM_UTTERANCE_ID: string;
					public static KEY_PARAM_VOLUME: string;
					public static SERVICE_META_DATA: string;
					public constructor(param0: android.speech.tts.TextToSpeech);
				}
				export class EngineInfo extends java.lang.Object {
					public static class: java.lang.Class<android.speech.tts.TextToSpeech.EngineInfo>;
					public icon: number;
					public label: string;
					public name: string;
					public toString(): string;
					public constructor();
				}
				export class OnInitListener extends java.lang.Object {
					public static class: java.lang.Class<android.speech.tts.TextToSpeech.OnInitListener>;
					/**
					 * Constructs a new instance of the android.speech.tts.TextToSpeech$OnInitListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						onInit(param0: number): void;
					});
					public constructor();
					public onInit(param0: number): void;
				}
				export class OnUtteranceCompletedListener extends java.lang.Object {
					public static class: java.lang.Class<android.speech.tts.TextToSpeech.OnUtteranceCompletedListener>;
					/**
					 * Constructs a new instance of the android.speech.tts.TextToSpeech$OnUtteranceCompletedListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						onUtteranceCompleted(param0: string): void;
					});
					public constructor();
					public onUtteranceCompleted(param0: string): void;
				}
			}
		}
	}
}

declare module android {
	export module speech {
		export module tts {
			export abstract class TextToSpeechService extends android.app.Service {
				public static class: java.lang.Class<android.speech.tts.TextToSpeechService>;
				public onGetDefaultVoiceNameFor(param0: string, param1: string, param2: string): string;
				public onGetVoices(): java.util.List<android.speech.tts.Voice>;
				public onGetFeaturesForLanguage(param0: string, param1: string, param2: string): java.util.Set<string>;
				public constructor();
				public onGetLanguage(): native.Array<string>;
				public onLoadLanguage(param0: string, param1: string, param2: string): number;
				public onBind(param0: android.content.Intent): android.os.IBinder;
				public onIsLanguageAvailable(param0: string, param1: string, param2: string): number;
				public constructor(param0: android.content.Context);
				public onCreate(): void;
				public onSynthesizeText(param0: android.speech.tts.SynthesisRequest, param1: android.speech.tts.SynthesisCallback): void;
				public onStop(): void;
				public onLoadVoice(param0: string): number;
				public onDestroy(): void;
				public onTrimMemory(param0: number): void;
				public onIsValidVoiceName(param0: string): number;
			}
		}
	}
}

declare module android {
	export module speech {
		export module tts {
			export abstract class UtteranceProgressListener extends java.lang.Object {
				public static class: java.lang.Class<android.speech.tts.UtteranceProgressListener>;
				public onAudioAvailable(param0: string, param1: native.Array<number>): void;
				public onRangeStart(param0: string, param1: number, param2: number, param3: number): void;
				/** @deprecated */
				public onError(param0: string): void;
				public onDone(param0: string): void;
				public onStop(param0: string, param1: boolean): void;
				public onError(param0: string, param1: number): void;
				public onBeginSynthesis(param0: string, param1: number, param2: number, param3: number): void;
				public constructor();
				public onStart(param0: string): void;
			}
		}
	}
}

declare module android {
	export module speech {
		export module tts {
			export class Voice extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.speech.tts.Voice>;
				public static CREATOR: android.os.Parcelable.Creator<android.speech.tts.Voice>;
				public static LATENCY_HIGH: number;
				public static LATENCY_LOW: number;
				public static LATENCY_NORMAL: number;
				public static LATENCY_VERY_HIGH: number;
				public static LATENCY_VERY_LOW: number;
				public static QUALITY_HIGH: number;
				public static QUALITY_LOW: number;
				public static QUALITY_NORMAL: number;
				public static QUALITY_VERY_HIGH: number;
				public static QUALITY_VERY_LOW: number;
				public constructor(param0: string, param1: java.util.Locale, param2: number, param3: number, param4: boolean, param5: java.util.Set<string>);
				public getFeatures(): java.util.Set<string>;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getQuality(): number;
				public hashCode(): number;
				public describeContents(): number;
				public getLocale(): java.util.Locale;
				public isNetworkConnectionRequired(): boolean;
				public equals(param0: any): boolean;
				public getName(): string;
				public toString(): string;
				public getLatency(): number;
			}
		}
	}
}

declare module android {
	export module system {
		export class ErrnoException extends java.lang.Exception {
			public static class: java.lang.Class<android.system.ErrnoException>;
			public errno: number;
			public getMessage(): string;
			public constructor(param0: string, param1: number, param2: java.lang.Throwable);
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: number);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module android {
	export module system {
		export class Int64Ref extends java.lang.Object {
			public static class: java.lang.Class<android.system.Int64Ref>;
			public value: number;
			public constructor(param0: number);
		}
	}
}

declare module android {
	export module system {
		export class Os extends java.lang.Object {
			public static class: java.lang.Class<android.system.Os>;
			public static getenv(param0: string): string;
			public static msync(param0: number, param1: number, param2: number): void;
			public static chmod(param0: string, param1: number): void;
			public static execve(param0: string, param1: native.Array<string>, param2: native.Array<string>): void;
			public static if_nametoindex(param0: string): number;
			public static inet_pton(param0: number, param1: string): java.net.InetAddress;
			public static gettid(): number;
			public static recvfrom(param0: java.io.FileDescriptor, param1: java.nio.ByteBuffer, param2: number, param3: java.net.InetSocketAddress): number;
			public static lstat(param0: string): android.system.StructStat;
			public static munmap(param0: number, param1: number): void;
			public static listen(param0: java.io.FileDescriptor, param1: number): void;
			public static setuid(param0: number): void;
			public static mincore(param0: number, param1: number, param2: native.Array<number>): void;
			public static uname(): android.system.StructUtsname;
			public static fstatvfs(param0: java.io.FileDescriptor): android.system.StructStatVfs;
			public static write(param0: java.io.FileDescriptor, param1: java.nio.ByteBuffer): number;
			public static getpid(): number;
			public static removexattr(param0: string, param1: string): void;
			public static tcdrain(param0: java.io.FileDescriptor): void;
			public static execv(param0: string, param1: native.Array<string>): void;
			public static setenv(param0: string, param1: string, param2: boolean): void;
			public static strsignal(param0: number): string;
			public static writev(param0: java.io.FileDescriptor, param1: native.Array<any>, param2: native.Array<number>, param3: native.Array<number>): number;
			public static lchown(param0: string, param1: number, param2: number): void;
			public static mmap(param0: number, param1: number, param2: number, param3: number, param4: java.io.FileDescriptor, param5: number): number;
			public static munlock(param0: number, param1: number): void;
			public static remove(param0: string): void;
			public static open(param0: string, param1: number, param2: number): java.io.FileDescriptor;
			public static statvfs(param0: string): android.system.StructStatVfs;
			public static stat(param0: string): android.system.StructStat;
			public static sysconf(param0: number): number;
			public static dup(param0: java.io.FileDescriptor): java.io.FileDescriptor;
			public static mkfifo(param0: string, param1: number): void;
			public static prctl(param0: number, param1: number, param2: number, param3: number, param4: number): number;
			public static getsockname(param0: java.io.FileDescriptor): java.net.SocketAddress;
			public static dup2(param0: java.io.FileDescriptor, param1: number): java.io.FileDescriptor;
			public static pipe(): native.Array<java.io.FileDescriptor>;
			public static pwrite(param0: java.io.FileDescriptor, param1: java.nio.ByteBuffer, param2: number): number;
			public static unsetenv(param0: string): void;
			public static getpeername(param0: java.io.FileDescriptor): java.net.SocketAddress;
			public static getppid(): number;
			public static fdatasync(param0: java.io.FileDescriptor): void;
			public static mlock(param0: number, param1: number): void;
			public static pread(param0: java.io.FileDescriptor, param1: native.Array<number>, param2: number, param3: number, param4: number): number;
			public static chown(param0: string, param1: number, param2: number): void;
			public static getgid(): number;
			public static recvfrom(param0: java.io.FileDescriptor, param1: native.Array<number>, param2: number, param3: number, param4: number, param5: java.net.InetSocketAddress): number;
			public static sendto(param0: java.io.FileDescriptor, param1: java.nio.ByteBuffer, param2: number, param3: java.net.InetAddress, param4: number): number;
			public static pwrite(param0: java.io.FileDescriptor, param1: native.Array<number>, param2: number, param3: number, param4: number): number;
			public static readv(param0: java.io.FileDescriptor, param1: native.Array<any>, param2: native.Array<number>, param3: native.Array<number>): number;
			public static write(param0: java.io.FileDescriptor, param1: native.Array<number>, param2: number, param3: number): number;
			public static read(param0: java.io.FileDescriptor, param1: java.nio.ByteBuffer): number;
			public static accept(param0: java.io.FileDescriptor, param1: java.net.InetSocketAddress): java.io.FileDescriptor;
			public static socketpair(param0: number, param1: number, param2: number, param3: java.io.FileDescriptor, param4: java.io.FileDescriptor): void;
			public static posix_fallocate(param0: java.io.FileDescriptor, param1: number, param2: number): void;
			public static rename(param0: string, param1: string): void;
			public static shutdown(param0: java.io.FileDescriptor, param1: number): void;
			public static access(param0: string, param1: number): boolean;
			public static kill(param0: number, param1: number): void;
			public static listxattr(param0: string): native.Array<string>;
			public static getegid(): number;
			public static setsockoptInt(param0: java.io.FileDescriptor, param1: number, param2: number, param3: number): void;
			public static getuid(): number;
			public static gai_strerror(param0: number): string;
			public static environ(): native.Array<string>;
			public static seteuid(param0: number): void;
			public static tcsendbreak(param0: java.io.FileDescriptor, param1: number): void;
			public static fsync(param0: java.io.FileDescriptor): void;
			public static link(param0: string, param1: string): void;
			public static fchmod(param0: java.io.FileDescriptor, param1: number): void;
			public static sendto(param0: java.io.FileDescriptor, param1: native.Array<number>, param2: number, param3: number, param4: number, param5: java.net.InetAddress, param6: number): number;
			public static connect(param0: java.io.FileDescriptor, param1: java.net.InetAddress, param2: number): void;
			public static readlink(param0: string): string;
			public static bind(param0: java.io.FileDescriptor, param1: java.net.InetAddress, param2: number): void;
			public static isatty(param0: java.io.FileDescriptor): boolean;
			public static close(param0: java.io.FileDescriptor): void;
			public static setsid(): number;
			public static symlink(param0: string, param1: string): void;
			public static umask(param0: number): number;
			public static lseek(param0: java.io.FileDescriptor, param1: number, param2: number): number;
			public static fchown(param0: java.io.FileDescriptor, param1: number, param2: number): void;
			public static if_indextoname(param0: number): string;
			public static setegid(param0: number): void;
			public static getxattr(param0: string, param1: string): native.Array<number>;
			public static poll(param0: native.Array<android.system.StructPollfd>, param1: number): number;
			public static setxattr(param0: string, param1: string, param2: native.Array<number>, param3: number): void;
			public static strerror(param0: number): string;
			public static socket(param0: number, param1: number, param2: number): java.io.FileDescriptor;
			public static mkdir(param0: string, param1: number): void;
			public static sendfile(param0: java.io.FileDescriptor, param1: java.io.FileDescriptor, param2: android.system.Int64Ref, param3: number): number;
			public static read(param0: java.io.FileDescriptor, param1: native.Array<number>, param2: number, param3: number): number;
			public static fstat(param0: java.io.FileDescriptor): android.system.StructStat;
			public static ftruncate(param0: java.io.FileDescriptor, param1: number): void;
			public static pread(param0: java.io.FileDescriptor, param1: java.nio.ByteBuffer, param2: number): number;
			public static geteuid(): number;
			public static setgid(param0: number): void;
		}
	}
}

declare module android {
	export module system {
		export class OsConstants extends java.lang.Object {
			public static class: java.lang.Class<android.system.OsConstants>;
			public static AF_INET: number;
			public static AF_INET6: number;
			public static AF_UNIX: number;
			public static AF_UNSPEC: number;
			public static AI_ADDRCONFIG: number;
			public static AI_ALL: number;
			public static AI_CANONNAME: number;
			public static AI_NUMERICHOST: number;
			public static AI_NUMERICSERV: number;
			public static AI_PASSIVE: number;
			public static AI_V4MAPPED: number;
			public static CAP_AUDIT_CONTROL: number;
			public static CAP_AUDIT_WRITE: number;
			public static CAP_BLOCK_SUSPEND: number;
			public static CAP_CHOWN: number;
			public static CAP_DAC_OVERRIDE: number;
			public static CAP_DAC_READ_SEARCH: number;
			public static CAP_FOWNER: number;
			public static CAP_FSETID: number;
			public static CAP_IPC_LOCK: number;
			public static CAP_IPC_OWNER: number;
			public static CAP_KILL: number;
			public static CAP_LAST_CAP: number;
			public static CAP_LEASE: number;
			public static CAP_LINUX_IMMUTABLE: number;
			public static CAP_MAC_ADMIN: number;
			public static CAP_MAC_OVERRIDE: number;
			public static CAP_MKNOD: number;
			public static CAP_NET_ADMIN: number;
			public static CAP_NET_BIND_SERVICE: number;
			public static CAP_NET_BROADCAST: number;
			public static CAP_NET_RAW: number;
			public static CAP_SETFCAP: number;
			public static CAP_SETGID: number;
			public static CAP_SETPCAP: number;
			public static CAP_SETUID: number;
			public static CAP_SYSLOG: number;
			public static CAP_SYS_ADMIN: number;
			public static CAP_SYS_BOOT: number;
			public static CAP_SYS_CHROOT: number;
			public static CAP_SYS_MODULE: number;
			public static CAP_SYS_NICE: number;
			public static CAP_SYS_PACCT: number;
			public static CAP_SYS_PTRACE: number;
			public static CAP_SYS_RAWIO: number;
			public static CAP_SYS_RESOURCE: number;
			public static CAP_SYS_TIME: number;
			public static CAP_SYS_TTY_CONFIG: number;
			public static CAP_WAKE_ALARM: number;
			public static E2BIG: number;
			public static EACCES: number;
			public static EADDRINUSE: number;
			public static EADDRNOTAVAIL: number;
			public static EAFNOSUPPORT: number;
			public static EAGAIN: number;
			public static EAI_AGAIN: number;
			public static EAI_BADFLAGS: number;
			public static EAI_FAIL: number;
			public static EAI_FAMILY: number;
			public static EAI_MEMORY: number;
			public static EAI_NODATA: number;
			public static EAI_NONAME: number;
			public static EAI_OVERFLOW: number;
			public static EAI_SERVICE: number;
			public static EAI_SOCKTYPE: number;
			public static EAI_SYSTEM: number;
			public static EALREADY: number;
			public static EBADF: number;
			public static EBADMSG: number;
			public static EBUSY: number;
			public static ECANCELED: number;
			public static ECHILD: number;
			public static ECONNABORTED: number;
			public static ECONNREFUSED: number;
			public static ECONNRESET: number;
			public static EDEADLK: number;
			public static EDESTADDRREQ: number;
			public static EDOM: number;
			public static EDQUOT: number;
			public static EEXIST: number;
			public static EFAULT: number;
			public static EFBIG: number;
			public static EHOSTUNREACH: number;
			public static EIDRM: number;
			public static EILSEQ: number;
			public static EINPROGRESS: number;
			public static EINTR: number;
			public static EINVAL: number;
			public static EIO: number;
			public static EISCONN: number;
			public static EISDIR: number;
			public static ELOOP: number;
			public static EMFILE: number;
			public static EMLINK: number;
			public static EMSGSIZE: number;
			public static EMULTIHOP: number;
			public static ENAMETOOLONG: number;
			public static ENETDOWN: number;
			public static ENETRESET: number;
			public static ENETUNREACH: number;
			public static ENFILE: number;
			public static ENOBUFS: number;
			public static ENODATA: number;
			public static ENODEV: number;
			public static ENOENT: number;
			public static ENOEXEC: number;
			public static ENOLCK: number;
			public static ENOLINK: number;
			public static ENOMEM: number;
			public static ENOMSG: number;
			public static ENOPROTOOPT: number;
			public static ENOSPC: number;
			public static ENOSR: number;
			public static ENOSTR: number;
			public static ENOSYS: number;
			public static ENOTCONN: number;
			public static ENOTDIR: number;
			public static ENOTEMPTY: number;
			public static ENOTSOCK: number;
			public static ENOTSUP: number;
			public static ENOTTY: number;
			public static ENXIO: number;
			public static EOPNOTSUPP: number;
			public static EOVERFLOW: number;
			public static EPERM: number;
			public static EPIPE: number;
			public static EPROTO: number;
			public static EPROTONOSUPPORT: number;
			public static EPROTOTYPE: number;
			public static ERANGE: number;
			public static EROFS: number;
			public static ESPIPE: number;
			public static ESRCH: number;
			public static ESTALE: number;
			public static ETIME: number;
			public static ETIMEDOUT: number;
			public static ETXTBSY: number;
			public static EXDEV: number;
			public static EXIT_FAILURE: number;
			public static EXIT_SUCCESS: number;
			public static FD_CLOEXEC: number;
			public static FIONREAD: number;
			public static F_DUPFD: number;
			public static F_DUPFD_CLOEXEC: number;
			public static F_GETFD: number;
			public static F_GETFL: number;
			public static F_GETLK: number;
			public static F_GETLK64: number;
			public static F_GETOWN: number;
			public static F_OK: number;
			public static F_RDLCK: number;
			public static F_SETFD: number;
			public static F_SETFL: number;
			public static F_SETLK: number;
			public static F_SETLK64: number;
			public static F_SETLKW: number;
			public static F_SETLKW64: number;
			public static F_SETOWN: number;
			public static F_UNLCK: number;
			public static F_WRLCK: number;
			public static IFA_F_DADFAILED: number;
			public static IFA_F_DEPRECATED: number;
			public static IFA_F_HOMEADDRESS: number;
			public static IFA_F_NODAD: number;
			public static IFA_F_OPTIMISTIC: number;
			public static IFA_F_PERMANENT: number;
			public static IFA_F_SECONDARY: number;
			public static IFA_F_TEMPORARY: number;
			public static IFA_F_TENTATIVE: number;
			public static IFF_ALLMULTI: number;
			public static IFF_AUTOMEDIA: number;
			public static IFF_BROADCAST: number;
			public static IFF_DEBUG: number;
			public static IFF_DYNAMIC: number;
			public static IFF_LOOPBACK: number;
			public static IFF_MASTER: number;
			public static IFF_MULTICAST: number;
			public static IFF_NOARP: number;
			public static IFF_NOTRAILERS: number;
			public static IFF_POINTOPOINT: number;
			public static IFF_PORTSEL: number;
			public static IFF_PROMISC: number;
			public static IFF_RUNNING: number;
			public static IFF_SLAVE: number;
			public static IFF_UP: number;
			public static IPPROTO_ICMP: number;
			public static IPPROTO_ICMPV6: number;
			public static IPPROTO_IP: number;
			public static IPPROTO_IPV6: number;
			public static IPPROTO_RAW: number;
			public static IPPROTO_TCP: number;
			public static IPPROTO_UDP: number;
			public static IPV6_CHECKSUM: number;
			public static IPV6_MULTICAST_HOPS: number;
			public static IPV6_MULTICAST_IF: number;
			public static IPV6_MULTICAST_LOOP: number;
			public static IPV6_RECVDSTOPTS: number;
			public static IPV6_RECVHOPLIMIT: number;
			public static IPV6_RECVHOPOPTS: number;
			public static IPV6_RECVPKTINFO: number;
			public static IPV6_RECVRTHDR: number;
			public static IPV6_RECVTCLASS: number;
			public static IPV6_TCLASS: number;
			public static IPV6_UNICAST_HOPS: number;
			public static IPV6_V6ONLY: number;
			public static IP_MULTICAST_IF: number;
			public static IP_MULTICAST_LOOP: number;
			public static IP_MULTICAST_TTL: number;
			public static IP_TOS: number;
			public static IP_TTL: number;
			public static MAP_FIXED: number;
			public static MAP_PRIVATE: number;
			public static MAP_SHARED: number;
			public static MCAST_BLOCK_SOURCE: number;
			public static MCAST_JOIN_GROUP: number;
			public static MCAST_JOIN_SOURCE_GROUP: number;
			public static MCAST_LEAVE_GROUP: number;
			public static MCAST_LEAVE_SOURCE_GROUP: number;
			public static MCAST_UNBLOCK_SOURCE: number;
			public static MCL_CURRENT: number;
			public static MCL_FUTURE: number;
			public static MSG_CTRUNC: number;
			public static MSG_DONTROUTE: number;
			public static MSG_EOR: number;
			public static MSG_OOB: number;
			public static MSG_PEEK: number;
			public static MSG_TRUNC: number;
			public static MSG_WAITALL: number;
			public static MS_ASYNC: number;
			public static MS_INVALIDATE: number;
			public static MS_SYNC: number;
			public static NI_DGRAM: number;
			public static NI_NAMEREQD: number;
			public static NI_NOFQDN: number;
			public static NI_NUMERICHOST: number;
			public static NI_NUMERICSERV: number;
			public static O_ACCMODE: number;
			public static O_APPEND: number;
			public static O_CLOEXEC: number;
			public static O_CREAT: number;
			public static O_DSYNC: number;
			public static O_EXCL: number;
			public static O_NOCTTY: number;
			public static O_NOFOLLOW: number;
			public static O_NONBLOCK: number;
			public static O_RDONLY: number;
			public static O_RDWR: number;
			public static O_SYNC: number;
			public static O_TRUNC: number;
			public static O_WRONLY: number;
			public static POLLERR: number;
			public static POLLHUP: number;
			public static POLLIN: number;
			public static POLLNVAL: number;
			public static POLLOUT: number;
			public static POLLPRI: number;
			public static POLLRDBAND: number;
			public static POLLRDNORM: number;
			public static POLLWRBAND: number;
			public static POLLWRNORM: number;
			public static PROT_EXEC: number;
			public static PROT_NONE: number;
			public static PROT_READ: number;
			public static PROT_WRITE: number;
			public static PR_GET_DUMPABLE: number;
			public static PR_SET_DUMPABLE: number;
			public static PR_SET_NO_NEW_PRIVS: number;
			public static RT_SCOPE_HOST: number;
			public static RT_SCOPE_LINK: number;
			public static RT_SCOPE_NOWHERE: number;
			public static RT_SCOPE_SITE: number;
			public static RT_SCOPE_UNIVERSE: number;
			public static R_OK: number;
			public static SEEK_CUR: number;
			public static SEEK_END: number;
			public static SEEK_SET: number;
			public static SHUT_RD: number;
			public static SHUT_RDWR: number;
			public static SHUT_WR: number;
			public static SIGABRT: number;
			public static SIGALRM: number;
			public static SIGBUS: number;
			public static SIGCHLD: number;
			public static SIGCONT: number;
			public static SIGFPE: number;
			public static SIGHUP: number;
			public static SIGILL: number;
			public static SIGINT: number;
			public static SIGIO: number;
			public static SIGKILL: number;
			public static SIGPIPE: number;
			public static SIGPROF: number;
			public static SIGPWR: number;
			public static SIGQUIT: number;
			public static SIGRTMAX: number;
			public static SIGRTMIN: number;
			public static SIGSEGV: number;
			public static SIGSTKFLT: number;
			public static SIGSTOP: number;
			public static SIGSYS: number;
			public static SIGTERM: number;
			public static SIGTRAP: number;
			public static SIGTSTP: number;
			public static SIGTTIN: number;
			public static SIGTTOU: number;
			public static SIGURG: number;
			public static SIGUSR1: number;
			public static SIGUSR2: number;
			public static SIGVTALRM: number;
			public static SIGWINCH: number;
			public static SIGXCPU: number;
			public static SIGXFSZ: number;
			public static SIOCGIFADDR: number;
			public static SIOCGIFBRDADDR: number;
			public static SIOCGIFDSTADDR: number;
			public static SIOCGIFNETMASK: number;
			public static SOCK_DGRAM: number;
			public static SOCK_RAW: number;
			public static SOCK_SEQPACKET: number;
			public static SOCK_STREAM: number;
			public static SOL_SOCKET: number;
			public static SO_BINDTODEVICE: number;
			public static SO_BROADCAST: number;
			public static SO_DEBUG: number;
			public static SO_DONTROUTE: number;
			public static SO_ERROR: number;
			public static SO_KEEPALIVE: number;
			public static SO_LINGER: number;
			public static SO_OOBINLINE: number;
			public static SO_PASSCRED: number;
			public static SO_PEERCRED: number;
			public static SO_RCVBUF: number;
			public static SO_RCVLOWAT: number;
			public static SO_RCVTIMEO: number;
			public static SO_REUSEADDR: number;
			public static SO_SNDBUF: number;
			public static SO_SNDLOWAT: number;
			public static SO_SNDTIMEO: number;
			public static SO_TYPE: number;
			public static STDERR_FILENO: number;
			public static STDIN_FILENO: number;
			public static STDOUT_FILENO: number;
			public static ST_MANDLOCK: number;
			public static ST_NOATIME: number;
			public static ST_NODEV: number;
			public static ST_NODIRATIME: number;
			public static ST_NOEXEC: number;
			public static ST_NOSUID: number;
			public static ST_RDONLY: number;
			public static ST_RELATIME: number;
			public static ST_SYNCHRONOUS: number;
			public static S_IFBLK: number;
			public static S_IFCHR: number;
			public static S_IFDIR: number;
			public static S_IFIFO: number;
			public static S_IFLNK: number;
			public static S_IFMT: number;
			public static S_IFREG: number;
			public static S_IFSOCK: number;
			public static S_IRGRP: number;
			public static S_IROTH: number;
			public static S_IRUSR: number;
			public static S_IRWXG: number;
			public static S_IRWXO: number;
			public static S_IRWXU: number;
			public static S_ISGID: number;
			public static S_ISUID: number;
			public static S_ISVTX: number;
			public static S_IWGRP: number;
			public static S_IWOTH: number;
			public static S_IWUSR: number;
			public static S_IXGRP: number;
			public static S_IXOTH: number;
			public static S_IXUSR: number;
			public static TCP_NODELAY: number;
			public static TCP_USER_TIMEOUT: number;
			public static WCONTINUED: number;
			public static WEXITED: number;
			public static WNOHANG: number;
			public static WNOWAIT: number;
			public static WSTOPPED: number;
			public static WUNTRACED: number;
			public static W_OK: number;
			public static X_OK: number;
			public static _SC_2_CHAR_TERM: number;
			public static _SC_2_C_BIND: number;
			public static _SC_2_C_DEV: number;
			public static _SC_2_C_VERSION: number;
			public static _SC_2_FORT_DEV: number;
			public static _SC_2_FORT_RUN: number;
			public static _SC_2_LOCALEDEF: number;
			public static _SC_2_SW_DEV: number;
			public static _SC_2_UPE: number;
			public static _SC_2_VERSION: number;
			public static _SC_AIO_LISTIO_MAX: number;
			public static _SC_AIO_MAX: number;
			public static _SC_AIO_PRIO_DELTA_MAX: number;
			public static _SC_ARG_MAX: number;
			public static _SC_ASYNCHRONOUS_IO: number;
			public static _SC_ATEXIT_MAX: number;
			public static _SC_AVPHYS_PAGES: number;
			public static _SC_BC_BASE_MAX: number;
			public static _SC_BC_DIM_MAX: number;
			public static _SC_BC_SCALE_MAX: number;
			public static _SC_BC_STRING_MAX: number;
			public static _SC_CHILD_MAX: number;
			public static _SC_CLK_TCK: number;
			public static _SC_COLL_WEIGHTS_MAX: number;
			public static _SC_DELAYTIMER_MAX: number;
			public static _SC_EXPR_NEST_MAX: number;
			public static _SC_FSYNC: number;
			public static _SC_GETGR_R_SIZE_MAX: number;
			public static _SC_GETPW_R_SIZE_MAX: number;
			public static _SC_IOV_MAX: number;
			public static _SC_JOB_CONTROL: number;
			public static _SC_LINE_MAX: number;
			public static _SC_LOGIN_NAME_MAX: number;
			public static _SC_MAPPED_FILES: number;
			public static _SC_MEMLOCK: number;
			public static _SC_MEMLOCK_RANGE: number;
			public static _SC_MEMORY_PROTECTION: number;
			public static _SC_MESSAGE_PASSING: number;
			public static _SC_MQ_OPEN_MAX: number;
			public static _SC_MQ_PRIO_MAX: number;
			public static _SC_NGROUPS_MAX: number;
			public static _SC_NPROCESSORS_CONF: number;
			public static _SC_NPROCESSORS_ONLN: number;
			public static _SC_OPEN_MAX: number;
			public static _SC_PAGESIZE: number;
			public static _SC_PAGE_SIZE: number;
			public static _SC_PASS_MAX: number;
			public static _SC_PHYS_PAGES: number;
			public static _SC_PRIORITIZED_IO: number;
			public static _SC_PRIORITY_SCHEDULING: number;
			public static _SC_REALTIME_SIGNALS: number;
			public static _SC_RE_DUP_MAX: number;
			public static _SC_RTSIG_MAX: number;
			public static _SC_SAVED_IDS: number;
			public static _SC_SEMAPHORES: number;
			public static _SC_SEM_NSEMS_MAX: number;
			public static _SC_SEM_VALUE_MAX: number;
			public static _SC_SHARED_MEMORY_OBJECTS: number;
			public static _SC_SIGQUEUE_MAX: number;
			public static _SC_STREAM_MAX: number;
			public static _SC_SYNCHRONIZED_IO: number;
			public static _SC_THREADS: number;
			public static _SC_THREAD_ATTR_STACKADDR: number;
			public static _SC_THREAD_ATTR_STACKSIZE: number;
			public static _SC_THREAD_DESTRUCTOR_ITERATIONS: number;
			public static _SC_THREAD_KEYS_MAX: number;
			public static _SC_THREAD_PRIORITY_SCHEDULING: number;
			public static _SC_THREAD_PRIO_INHERIT: number;
			public static _SC_THREAD_PRIO_PROTECT: number;
			public static _SC_THREAD_SAFE_FUNCTIONS: number;
			public static _SC_THREAD_STACK_MIN: number;
			public static _SC_THREAD_THREADS_MAX: number;
			public static _SC_TIMERS: number;
			public static _SC_TIMER_MAX: number;
			public static _SC_TTY_NAME_MAX: number;
			public static _SC_TZNAME_MAX: number;
			public static _SC_VERSION: number;
			public static _SC_XBS5_ILP32_OFF32: number;
			public static _SC_XBS5_ILP32_OFFBIG: number;
			public static _SC_XBS5_LP64_OFF64: number;
			public static _SC_XBS5_LPBIG_OFFBIG: number;
			public static _SC_XOPEN_CRYPT: number;
			public static _SC_XOPEN_ENH_I18N: number;
			public static _SC_XOPEN_LEGACY: number;
			public static _SC_XOPEN_REALTIME: number;
			public static _SC_XOPEN_REALTIME_THREADS: number;
			public static _SC_XOPEN_SHM: number;
			public static _SC_XOPEN_UNIX: number;
			public static _SC_XOPEN_VERSION: number;
			public static _SC_XOPEN_XCU_VERSION: number;
			public static S_ISFIFO(param0: number): boolean;
			public static WCOREDUMP(param0: number): boolean;
			public static errnoName(param0: number): string;
			public static gaiName(param0: number): string;
			public static WEXITSTATUS(param0: number): number;
			public static WIFSTOPPED(param0: number): boolean;
			public static S_ISBLK(param0: number): boolean;
			public static S_ISREG(param0: number): boolean;
			public static WSTOPSIG(param0: number): number;
			public static WIFSIGNALED(param0: number): boolean;
			public static S_ISDIR(param0: number): boolean;
			public static S_ISLNK(param0: number): boolean;
			public static S_ISCHR(param0: number): boolean;
			public static WIFEXITED(param0: number): boolean;
			public static WTERMSIG(param0: number): number;
			public static S_ISSOCK(param0: number): boolean;
		}
	}
}

declare module android {
	export module system {
		export class StructPollfd extends java.lang.Object {
			public static class: java.lang.Class<android.system.StructPollfd>;
			public events: number;
			public fd: java.io.FileDescriptor;
			public revents: number;
			public userData: any;
			public toString(): string;
			public constructor();
		}
	}
}

declare module android {
	export module system {
		export class StructStat extends java.lang.Object {
			public static class: java.lang.Class<android.system.StructStat>;
			public st_atim: android.system.StructTimespec;
			public st_atime: number;
			public st_blksize: number;
			public st_blocks: number;
			public st_ctim: android.system.StructTimespec;
			public st_ctime: number;
			public st_dev: number;
			public st_gid: number;
			public st_ino: number;
			public st_mode: number;
			public st_mtim: android.system.StructTimespec;
			public st_mtime: number;
			public st_nlink: number;
			public st_rdev: number;
			public st_size: number;
			public st_uid: number;
			public toString(): string;
			public constructor(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number, param8: number, param9: number, param10: number, param11: number, param12: number);
			public constructor(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number, param8: android.system.StructTimespec, param9: android.system.StructTimespec, param10: android.system.StructTimespec, param11: number, param12: number);
		}
	}
}

declare module android {
	export module system {
		export class StructStatVfs extends java.lang.Object {
			public static class: java.lang.Class<android.system.StructStatVfs>;
			public f_bavail: number;
			public f_bfree: number;
			public f_blocks: number;
			public f_bsize: number;
			public f_favail: number;
			public f_ffree: number;
			public f_files: number;
			public f_flag: number;
			public f_frsize: number;
			public f_fsid: number;
			public f_namemax: number;
			public constructor(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number, param8: number, param9: number, param10: number);
			public toString(): string;
		}
	}
}

declare module android {
	export module system {
		export class StructTimespec extends java.lang.Comparable<android.system.StructTimespec> {
			public static class: java.lang.Class<android.system.StructTimespec>;
			public tv_nsec: number;
			public tv_sec: number;
			public equals(param0: any): boolean;
			public compareTo(param0: android.system.StructTimespec): number;
			public toString(): string;
			public constructor(param0: number, param1: number);
			public hashCode(): number;
		}
	}
}

declare module android {
	export module system {
		export class StructUtsname extends java.lang.Object {
			public static class: java.lang.Class<android.system.StructUtsname>;
			public machine: string;
			public nodename: string;
			public release: string;
			public sysname: string;
			public version: string;
			public constructor(param0: string, param1: string, param2: string, param3: string, param4: string);
			public toString(): string;
		}
	}
}

declare module android {
	export module telecom {
		export class Call extends java.lang.Object {
			public static class: java.lang.Class<android.telecom.Call>;
			public static AVAILABLE_PHONE_ACCOUNTS: string;
			public static EXTRA_LAST_EMERGENCY_CALLBACK_TIME_MILLIS: string;
			public static STATE_ACTIVE: number;
			public static STATE_CONNECTING: number;
			public static STATE_DIALING: number;
			public static STATE_DISCONNECTED: number;
			public static STATE_DISCONNECTING: number;
			public static STATE_HOLDING: number;
			public static STATE_NEW: number;
			public static STATE_PULLING_CALL: number;
			public static STATE_RINGING: number;
			public static STATE_SELECT_PHONE_ACCOUNT: number;
			public unhold(): void;
			public handoverTo(param0: android.telecom.PhoneAccountHandle, param1: number, param2: android.os.Bundle): void;
			public answer(param0: number): void;
			public phoneAccountSelected(param0: android.telecom.PhoneAccountHandle, param1: boolean): void;
			public swapConference(): void;
			public getChildren(): java.util.List<android.telecom.Call>;
			public conference(param0: android.telecom.Call): void;
			public registerCallback(param0: android.telecom.Call.Callback, param1: android.os.Handler): void;
			public sendRttRequest(): void;
			public getParent(): android.telecom.Call;
			public getCannedTextResponses(): java.util.List<string>;
			public removeExtras(param0: native.Array<string>): void;
			public stopRtt(): void;
			public putExtras(param0: android.os.Bundle): void;
			public registerCallback(param0: android.telecom.Call.Callback): void;
			public postDialContinue(param0: boolean): void;
			public reject(param0: boolean, param1: string): void;
			public mergeConference(): void;
			public sendCallEvent(param0: string, param1: android.os.Bundle): void;
			public pullExternalCall(): void;
			public getState(): number;
			public getRemainingPostDialSequence(): string;
			public unregisterCallback(param0: android.telecom.Call.Callback): void;
			public getDetails(): android.telecom.Call.Details;
			public splitFromConference(): void;
			public removeExtras(param0: java.util.List<string>): void;
			public playDtmfTone(param0: string): void;
			public getConferenceableCalls(): java.util.List<android.telecom.Call>;
			public isRttActive(): boolean;
			public deflect(param0: android.net.Uri): void;
			public toString(): string;
			public getVideoCall(): android.telecom.InCallService.VideoCall;
			public getRttCall(): android.telecom.Call.RttCall;
			public hold(): void;
			public stopDtmfTone(): void;
			public respondToRttRequest(param0: number, param1: boolean): void;
			public disconnect(): void;
		}
		export module Call {
			export abstract class Callback extends java.lang.Object {
				public static class: java.lang.Class<android.telecom.Call.Callback>;
				public static HANDOVER_FAILURE_DEST_APP_REJECTED: number;
				public static HANDOVER_FAILURE_NOT_SUPPORTED: number;
				public static HANDOVER_FAILURE_ONGOING_EMERGENCY_CALL: number;
				public static HANDOVER_FAILURE_UNKNOWN: number;
				public static HANDOVER_FAILURE_USER_REJECTED: number;
				public onHandoverComplete(param0: android.telecom.Call): void;
				public onPostDialWait(param0: android.telecom.Call, param1: string): void;
				public onConnectionEvent(param0: android.telecom.Call, param1: string, param2: android.os.Bundle): void;
				public onRttInitiationFailure(param0: android.telecom.Call, param1: number): void;
				public onCallDestroyed(param0: android.telecom.Call): void;
				public onDetailsChanged(param0: android.telecom.Call, param1: android.telecom.Call.Details): void;
				public onConferenceableCallsChanged(param0: android.telecom.Call, param1: java.util.List<android.telecom.Call>): void;
				public constructor();
				public onParentChanged(param0: android.telecom.Call, param1: android.telecom.Call): void;
				public onRttStatusChanged(param0: android.telecom.Call, param1: boolean, param2: android.telecom.Call.RttCall): void;
				public onVideoCallChanged(param0: android.telecom.Call, param1: android.telecom.InCallService.VideoCall): void;
				public onStateChanged(param0: android.telecom.Call, param1: number): void;
				public onRttRequest(param0: android.telecom.Call, param1: number): void;
				public onRttModeChanged(param0: android.telecom.Call, param1: number): void;
				public onHandoverFailed(param0: android.telecom.Call, param1: number): void;
				public onCannedTextResponsesLoaded(param0: android.telecom.Call, param1: java.util.List<string>): void;
				public onChildrenChanged(param0: android.telecom.Call, param1: java.util.List<android.telecom.Call>): void;
			}
			export class Details extends java.lang.Object {
				public static class: java.lang.Class<android.telecom.Call.Details>;
				public static CAPABILITY_CANNOT_DOWNGRADE_VIDEO_TO_AUDIO: number;
				public static CAPABILITY_CAN_PAUSE_VIDEO: number;
				public static CAPABILITY_CAN_PULL_CALL: number;
				public static CAPABILITY_DISCONNECT_FROM_CONFERENCE: number;
				public static CAPABILITY_HOLD: number;
				public static CAPABILITY_MANAGE_CONFERENCE: number;
				public static CAPABILITY_MERGE_CONFERENCE: number;
				public static CAPABILITY_MUTE: number;
				public static CAPABILITY_RESPOND_VIA_TEXT: number;
				public static CAPABILITY_SEPARATE_FROM_CONFERENCE: number;
				public static CAPABILITY_SUPPORTS_VT_LOCAL_BIDIRECTIONAL: number;
				public static CAPABILITY_SUPPORTS_VT_LOCAL_RX: number;
				public static CAPABILITY_SUPPORTS_VT_LOCAL_TX: number;
				public static CAPABILITY_SUPPORTS_VT_REMOTE_BIDIRECTIONAL: number;
				public static CAPABILITY_SUPPORTS_VT_REMOTE_RX: number;
				public static CAPABILITY_SUPPORTS_VT_REMOTE_TX: number;
				public static CAPABILITY_SUPPORT_DEFLECT: number;
				public static CAPABILITY_SUPPORT_HOLD: number;
				public static CAPABILITY_SWAP_CONFERENCE: number;
				public static PROPERTY_CONFERENCE: number;
				public static PROPERTY_EMERGENCY_CALLBACK_MODE: number;
				public static PROPERTY_ENTERPRISE_CALL: number;
				public static PROPERTY_GENERIC_CONFERENCE: number;
				public static PROPERTY_HAS_CDMA_VOICE_PRIVACY: number;
				public static PROPERTY_HIGH_DEF_AUDIO: number;
				public static PROPERTY_IS_EXTERNAL_CALL: number;
				public static PROPERTY_RTT: number;
				public static PROPERTY_SELF_MANAGED: number;
				public static PROPERTY_WIFI: number;
				public getCallCapabilities(): number;
				public getHandle(): android.net.Uri;
				public getCallerDisplayNamePresentation(): number;
				public can(param0: number): boolean;
				public getCallerDisplayName(): string;
				public getConnectTimeMillis(): number;
				public static propertiesToString(param0: number): string;
				public toString(): string;
				public static hasProperty(param0: number, param1: number): boolean;
				public getStatusHints(): android.telecom.StatusHints;
				public static capabilitiesToString(param0: number): string;
				public hasProperty(param0: number): boolean;
				public getHandlePresentation(): number;
				public getIntentExtras(): android.os.Bundle;
				public getCallProperties(): number;
				public hashCode(): number;
				public equals(param0: any): boolean;
				public getVideoState(): number;
				public getExtras(): android.os.Bundle;
				public getGatewayInfo(): android.telecom.GatewayInfo;
				public static can(param0: number, param1: number): boolean;
				public getAccountHandle(): android.telecom.PhoneAccountHandle;
				public getDisconnectCause(): android.telecom.DisconnectCause;
				public getCreationTimeMillis(): number;
			}
			export class RttCall extends java.lang.Object {
				public static class: java.lang.Class<android.telecom.Call.RttCall>;
				public static RTT_MODE_FULL: number;
				public static RTT_MODE_HCO: number;
				public static RTT_MODE_VCO: number;
				public readImmediately(): string;
				public setRttMode(param0: number): void;
				public read(): string;
				public getRttAudioMode(): number;
				public write(param0: string): void;
			}
		}
	}
}

declare module android {
	export module telecom {
		export class CallAudioState extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.telecom.CallAudioState>;
			public static CREATOR: android.os.Parcelable.Creator<android.telecom.CallAudioState>;
			public static ROUTE_BLUETOOTH: number;
			public static ROUTE_EARPIECE: number;
			public static ROUTE_SPEAKER: number;
			public static ROUTE_WIRED_HEADSET: number;
			public static ROUTE_WIRED_OR_EARPIECE: number;
			public equals(param0: any): boolean;
			public toString(): string;
			public isMuted(): boolean;
			public getActiveBluetoothDevice(): android.bluetooth.BluetoothDevice;
			public getSupportedRouteMask(): number;
			public describeContents(): number;
			public getSupportedBluetoothDevices(): java.util.Collection<android.bluetooth.BluetoothDevice>;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public static audioRouteToString(param0: number): string;
			public constructor(param0: boolean, param1: number, param2: number);
			public getRoute(): number;
		}
	}
}

declare module android {
	export module telecom {
		export abstract class CallScreeningService extends android.app.Service {
			public static class: java.lang.Class<android.telecom.CallScreeningService>;
			public static SERVICE_INTERFACE: string;
			public onUnbind(param0: android.content.Intent): boolean;
			public onScreenCall(param0: android.telecom.Call.Details): void;
			public onTrimMemory(param0: number): void;
			public onBind(param0: android.content.Intent): android.os.IBinder;
			public constructor(param0: android.content.Context);
			public constructor();
			public respondToCall(param0: android.telecom.Call.Details, param1: android.telecom.CallScreeningService.CallResponse): void;
		}
		export module CallScreeningService {
			export class CallResponse extends java.lang.Object {
				public static class: java.lang.Class<android.telecom.CallScreeningService.CallResponse>;
				public getSkipCallLog(): boolean;
				public getSkipNotification(): boolean;
				public getDisallowCall(): boolean;
				public getRejectCall(): boolean;
			}
			export module CallResponse {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.telecom.CallScreeningService.CallResponse.Builder>;
					public setSkipCallLog(param0: boolean): android.telecom.CallScreeningService.CallResponse.Builder;
					public constructor();
					public build(): android.telecom.CallScreeningService.CallResponse;
					public setDisallowCall(param0: boolean): android.telecom.CallScreeningService.CallResponse.Builder;
					public setRejectCall(param0: boolean): android.telecom.CallScreeningService.CallResponse.Builder;
					public setSkipNotification(param0: boolean): android.telecom.CallScreeningService.CallResponse.Builder;
				}
			}
		}
	}
}

declare module android {
	export module telecom {
		export abstract class Conference extends android.telecom.Conferenceable {
			public static class: java.lang.Class<android.telecom.Conference>;
			public static CONNECT_TIME_NOT_SPECIFIED: number;
			public getConnectionProperties(): number;
			public onSwap(): void;
			public getConnections(): java.util.List<android.telecom.Connection>;
			public onSeparate(param0: android.telecom.Connection): void;
			public setActive(): void;
			public onMerge(param0: android.telecom.Connection): void;
			public setConnectionProperties(param0: number): void;
			public onDisconnect(): void;
			public setOnHold(): void;
			public setDialing(): void;
			public setConnectionTime(param0: number): void;
			public getConferenceableConnections(): java.util.List<android.telecom.Connection>;
			public removeExtras(param0: native.Array<string>): void;
			public getPhoneAccountHandle(): android.telecom.PhoneAccountHandle;
			public onConnectionAdded(param0: android.telecom.Connection): void;
			public setDisconnected(param0: android.telecom.DisconnectCause): void;
			public setExtras(param0: android.os.Bundle): void;
			public putExtras(param0: android.os.Bundle): void;
			public getCallAudioState(): android.telecom.CallAudioState;
			public setVideoProvider(param0: android.telecom.Connection, param1: android.telecom.Connection.VideoProvider): void;
			public setVideoState(param0: android.telecom.Connection, param1: number): void;
			public constructor(param0: android.telecom.PhoneAccountHandle);
			public getDisconnectCause(): android.telecom.DisconnectCause;
			public getState(): number;
			public removeConnection(param0: android.telecom.Connection): void;
			public setConnectionStartElapsedRealTime(param0: number): void;
			public onHold(): void;
			public onStopDtmfTone(): void;
			public onMerge(): void;
			public destroy(): void;
			public removeExtras(param0: java.util.List<string>): void;
			public onExtrasChanged(param0: android.os.Bundle): void;
			public setConnectionCapabilities(param0: number): void;
			public addConnection(param0: android.telecom.Connection): boolean;
			public getStatusHints(): android.telecom.StatusHints;
			public toString(): string;
			public onPlayDtmfTone(param0: string): void;
			public setStatusHints(param0: android.telecom.StatusHints): void;
			public getConnectionTime(): number;
			public getVideoProvider(): android.telecom.Connection.VideoProvider;
			public setConferenceableConnections(param0: java.util.List<android.telecom.Connection>): void;
			public getConnectionCapabilities(): number;
			public onCallAudioStateChanged(param0: android.telecom.CallAudioState): void;
			public getVideoState(): number;
			public onUnhold(): void;
			public getExtras(): android.os.Bundle;
		}
	}
}

declare module android {
	export module telecom {
		export abstract class Conferenceable extends java.lang.Object {
			public static class: java.lang.Class<android.telecom.Conferenceable>;
		}
	}
}

declare module android {
	export module telecom {
		export abstract class Connection extends android.telecom.Conferenceable {
			public static class: java.lang.Class<android.telecom.Connection>;
			public static CAPABILITY_CANNOT_DOWNGRADE_VIDEO_TO_AUDIO: number;
			public static CAPABILITY_CAN_PAUSE_VIDEO: number;
			public static CAPABILITY_CAN_PULL_CALL: number;
			public static CAPABILITY_CAN_SEND_RESPONSE_VIA_CONNECTION: number;
			public static CAPABILITY_CAN_UPGRADE_TO_VIDEO: number;
			public static CAPABILITY_DISCONNECT_FROM_CONFERENCE: number;
			public static CAPABILITY_HOLD: number;
			public static CAPABILITY_MANAGE_CONFERENCE: number;
			public static CAPABILITY_MERGE_CONFERENCE: number;
			public static CAPABILITY_MUTE: number;
			public static CAPABILITY_RESPOND_VIA_TEXT: number;
			public static CAPABILITY_SEPARATE_FROM_CONFERENCE: number;
			public static CAPABILITY_SUPPORTS_VT_LOCAL_BIDIRECTIONAL: number;
			public static CAPABILITY_SUPPORTS_VT_LOCAL_RX: number;
			public static CAPABILITY_SUPPORTS_VT_LOCAL_TX: number;
			public static CAPABILITY_SUPPORTS_VT_REMOTE_BIDIRECTIONAL: number;
			public static CAPABILITY_SUPPORTS_VT_REMOTE_RX: number;
			public static CAPABILITY_SUPPORTS_VT_REMOTE_TX: number;
			public static CAPABILITY_SUPPORT_DEFLECT: number;
			public static CAPABILITY_SUPPORT_HOLD: number;
			public static CAPABILITY_SWAP_CONFERENCE: number;
			public static EVENT_CALL_MERGE_FAILED: string;
			public static EVENT_CALL_PULL_FAILED: string;
			public static EXTRA_ANSWERING_DROPS_FG_CALL: string;
			public static EXTRA_ANSWERING_DROPS_FG_CALL_APP_NAME: string;
			public static EXTRA_CALL_SUBJECT: string;
			public static EXTRA_CHILD_ADDRESS: string;
			public static EXTRA_LAST_FORWARDED_NUMBER: string;
			public static PROPERTY_HAS_CDMA_VOICE_PRIVACY: number;
			public static PROPERTY_IS_EXTERNAL_CALL: number;
			public static PROPERTY_IS_RTT: number;
			public static PROPERTY_SELF_MANAGED: number;
			public static STATE_ACTIVE: number;
			public static STATE_DIALING: number;
			public static STATE_DISCONNECTED: number;
			public static STATE_HOLDING: number;
			public static STATE_INITIALIZING: number;
			public static STATE_NEW: number;
			public static STATE_PULLING_CALL: number;
			public static STATE_RINGING: number;
			public getConnectionProperties(): number;
			public onAnswer(): void;
			public sendRttInitiationFailure(param0: number): void;
			public static createCanceledConnection(): android.telecom.Connection;
			public setConnectionProperties(param0: number): void;
			public setOnHold(): void;
			public onDisconnect(): void;
			public onReject(param0: string): void;
			public setDialing(): void;
			public setAudioRoute(param0: number): void;
			public onAbort(): void;
			public removeExtras(param0: native.Array<string>): void;
			public onPostDialContinue(param0: boolean): void;
			public handleRttUpgradeResponse(param0: android.telecom.Connection.RttTextStream): void;
			public setDisconnected(param0: android.telecom.DisconnectCause): void;
			public setExtras(param0: android.os.Bundle): void;
			public putExtras(param0: android.os.Bundle): void;
			public setInitialized(): void;
			public onStartRtt(param0: android.telecom.Connection.RttTextStream): void;
			public onAnswer(param0: number): void;
			public onCallEvent(param0: string, param1: android.os.Bundle): void;
			public getDisconnectCause(): android.telecom.DisconnectCause;
			public getState(): number;
			public requestBluetoothAudio(param0: android.bluetooth.BluetoothDevice): void;
			public onStateChanged(param0: number): void;
			public onPullExternalCall(): void;
			public onHandoverComplete(): void;
			public setPulling(): void;
			public onHold(): void;
			public setAddress(param0: android.net.Uri, param1: number): void;
			public removeExtras(param0: java.util.List<string>): void;
			public onExtrasChanged(param0: android.os.Bundle): void;
			public constructor();
			public onSeparate(): void;
			public getStatusHints(): android.telecom.StatusHints;
			public getConference(): android.telecom.Conference;
			public getVideoProvider(): android.telecom.Connection.VideoProvider;
			public getConferenceables(): java.util.List<android.telecom.Conferenceable>;
			public static createFailedConnection(param0: android.telecom.DisconnectCause): android.telecom.Connection;
			public getCallerDisplayName(): string;
			public getExtras(): android.os.Bundle;
			public sendRemoteRttRequest(): void;
			public onUnhold(): void;
			public setRinging(): void;
			public static capabilitiesToString(param0: number): string;
			public getAddress(): android.net.Uri;
			public setVideoState(param0: number): void;
			public setActive(): void;
			public setAudioModeIsVoip(param0: boolean): void;
			public sendConnectionEvent(param0: string, param1: android.os.Bundle): void;
			public setVideoProvider(param0: android.telecom.Connection.VideoProvider): void;
			public onDeflect(param0: android.net.Uri): void;
			public getCallAudioState(): android.telecom.CallAudioState;
			public setCallerDisplayName(param0: string, param1: number): void;
			public static stateToString(param0: number): string;
			public getAddressPresentation(): number;
			public onShowIncomingCallUi(): void;
			public sendRttSessionRemotelyTerminated(): void;
			public onReject(): void;
			public setConferenceables(param0: java.util.List<android.telecom.Conferenceable>): void;
			public getCallerDisplayNamePresentation(): number;
			public onStopDtmfTone(): void;
			public static propertiesToString(param0: number): string;
			public destroy(): void;
			public setNextPostDialChar(param0: string): void;
			public setInitializing(): void;
			public setConnectionCapabilities(param0: number): void;
			public onStopRtt(): void;
			public getAudioModeIsVoip(): boolean;
			public setStatusHints(param0: android.telecom.StatusHints): void;
			public onPlayDtmfTone(param0: string): void;
			public setConferenceableConnections(param0: java.util.List<android.telecom.Connection>): void;
			public isRingbackRequested(): boolean;
			public getConnectionCapabilities(): number;
			public setPostDialWait(param0: string): void;
			public onCallAudioStateChanged(param0: android.telecom.CallAudioState): void;
			public setRingbackRequested(param0: boolean): void;
			public sendRttInitiationSuccess(): void;
		}
		export module Connection {
			export class RttModifyStatus extends java.lang.Object {
				public static class: java.lang.Class<android.telecom.Connection.RttModifyStatus>;
				public static SESSION_MODIFY_REQUEST_FAIL: number;
				public static SESSION_MODIFY_REQUEST_INVALID: number;
				public static SESSION_MODIFY_REQUEST_REJECTED_BY_REMOTE: number;
				public static SESSION_MODIFY_REQUEST_SUCCESS: number;
				public static SESSION_MODIFY_REQUEST_TIMED_OUT: number;
			}
			export class RttTextStream extends java.lang.Object {
				public static class: java.lang.Class<android.telecom.Connection.RttTextStream>;
				public readImmediately(): string;
				public read(): string;
				public write(param0: string): void;
			}
			export abstract class VideoProvider extends java.lang.Object {
				public static class: java.lang.Class<android.telecom.Connection.VideoProvider>;
				public static SESSION_EVENT_CAMERA_FAILURE: number;
				public static SESSION_EVENT_CAMERA_PERMISSION_ERROR: number;
				public static SESSION_EVENT_CAMERA_READY: number;
				public static SESSION_EVENT_RX_PAUSE: number;
				public static SESSION_EVENT_RX_RESUME: number;
				public static SESSION_EVENT_TX_START: number;
				public static SESSION_EVENT_TX_STOP: number;
				public static SESSION_MODIFY_REQUEST_FAIL: number;
				public static SESSION_MODIFY_REQUEST_INVALID: number;
				public static SESSION_MODIFY_REQUEST_REJECTED_BY_REMOTE: number;
				public static SESSION_MODIFY_REQUEST_SUCCESS: number;
				public static SESSION_MODIFY_REQUEST_TIMED_OUT: number;
				public onSetDisplaySurface(param0: android.view.Surface): void;
				public handleCallSessionEvent(param0: number): void;
				public onSendSessionModifyRequest(param0: android.telecom.VideoProfile, param1: android.telecom.VideoProfile): void;
				public changeCameraCapabilities(param0: android.telecom.VideoProfile.CameraCapabilities): void;
				public onSetPreviewSurface(param0: android.view.Surface): void;
				public onSetPauseImage(param0: android.net.Uri): void;
				public onSetCamera(param0: string): void;
				public onRequestConnectionDataUsage(): void;
				public constructor();
				public changePeerDimensions(param0: number, param1: number): void;
				public setCallDataUsage(param0: number): void;
				public onSetDeviceOrientation(param0: number): void;
				public onRequestCameraCapabilities(): void;
				public receiveSessionModifyRequest(param0: android.telecom.VideoProfile): void;
				public onSetZoom(param0: number): void;
				public changeVideoQuality(param0: number): void;
				public onSendSessionModifyResponse(param0: android.telecom.VideoProfile): void;
				public receiveSessionModifyResponse(param0: number, param1: android.telecom.VideoProfile, param2: android.telecom.VideoProfile): void;
			}
		}
	}
}

declare module android {
	export module telecom {
		export class ConnectionRequest extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.telecom.ConnectionRequest>;
			public static CREATOR: android.os.Parcelable.Creator<android.telecom.ConnectionRequest>;
			public toString(): string;
			public getAddress(): android.net.Uri;
			public getRttTextStream(): android.telecom.Connection.RttTextStream;
			public describeContents(): number;
			public getAccountHandle(): android.telecom.PhoneAccountHandle;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public isRequestingRtt(): boolean;
			public constructor(param0: android.telecom.PhoneAccountHandle, param1: android.net.Uri, param2: android.os.Bundle);
			public constructor(param0: android.telecom.PhoneAccountHandle, param1: android.net.Uri, param2: android.os.Bundle, param3: number);
			public getVideoState(): number;
			public getExtras(): android.os.Bundle;
		}
	}
}

declare module android {
	export module telecom {
		export abstract class ConnectionService extends android.app.Service {
			public static class: java.lang.Class<android.telecom.ConnectionService>;
			public static SERVICE_INTERFACE: string;
			public onUnbind(param0: android.content.Intent): boolean;
			public onHandoverFailed(param0: android.telecom.ConnectionRequest, param1: number): void;
			public onCreateOutgoingConnectionFailed(param0: android.telecom.PhoneAccountHandle, param1: android.telecom.ConnectionRequest): void;
			public onBind(param0: android.content.Intent): android.os.IBinder;
			public conferenceRemoteConnections(param0: android.telecom.RemoteConnection, param1: android.telecom.RemoteConnection): void;
			public onCreateIncomingConnection(param0: android.telecom.PhoneAccountHandle, param1: android.telecom.ConnectionRequest): android.telecom.Connection;
			public addConference(param0: android.telecom.Conference): void;
			public onRemoteExistingConnectionAdded(param0: android.telecom.RemoteConnection): void;
			public onTrimMemory(param0: number): void;
			public getAllConferences(): java.util.Collection<android.telecom.Conference>;
			public getAllConnections(): java.util.Collection<android.telecom.Connection>;
			public onCreateOutgoingHandoverConnection(param0: android.telecom.PhoneAccountHandle, param1: android.telecom.ConnectionRequest): android.telecom.Connection;
			public createRemoteOutgoingConnection(param0: android.telecom.PhoneAccountHandle, param1: android.telecom.ConnectionRequest): android.telecom.RemoteConnection;
			public onConnectionServiceFocusLost(): void;
			public addExistingConnection(param0: android.telecom.PhoneAccountHandle, param1: android.telecom.Connection): void;
			public onConnectionServiceFocusGained(): void;
			public constructor();
			public onConference(param0: android.telecom.Connection, param1: android.telecom.Connection): void;
			public onCreateIncomingHandoverConnection(param0: android.telecom.PhoneAccountHandle, param1: android.telecom.ConnectionRequest): android.telecom.Connection;
			public createRemoteIncomingConnection(param0: android.telecom.PhoneAccountHandle, param1: android.telecom.ConnectionRequest): android.telecom.RemoteConnection;
			public connectionServiceFocusReleased(): void;
			public onCreateIncomingConnectionFailed(param0: android.telecom.PhoneAccountHandle, param1: android.telecom.ConnectionRequest): void;
			public constructor(param0: android.content.Context);
			public onCreateOutgoingConnection(param0: android.telecom.PhoneAccountHandle, param1: android.telecom.ConnectionRequest): android.telecom.Connection;
			public onRemoteConferenceAdded(param0: android.telecom.RemoteConference): void;
		}
	}
}

declare module android {
	export module telecom {
		export class DisconnectCause extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.telecom.DisconnectCause>;
			public static ANSWERED_ELSEWHERE: number;
			public static BUSY: number;
			public static CALL_PULLED: number;
			public static CANCELED: number;
			public static CONNECTION_MANAGER_NOT_SUPPORTED: number;
			public static CREATOR: android.os.Parcelable.Creator<android.telecom.DisconnectCause>;
			public static ERROR: number;
			public static LOCAL: number;
			public static MISSED: number;
			public static OTHER: number;
			public static REJECTED: number;
			public static REMOTE: number;
			public static RESTRICTED: number;
			public static UNKNOWN: number;
			public getLabel(): string;
			public equals(param0: any): boolean;
			public constructor(param0: number, param1: string, param2: string, param3: string);
			public constructor(param0: number);
			public constructor(param0: number, param1: string);
			public getTone(): number;
			public constructor(param0: number, param1: string, param2: string, param3: string, param4: number);
			public getReason(): string;
			public toString(): string;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getDescription(): string;
			public getCode(): number;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module telecom {
		export class GatewayInfo extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.telecom.GatewayInfo>;
			public static CREATOR: android.os.Parcelable.Creator<android.telecom.GatewayInfo>;
			public getGatewayAddress(): android.net.Uri;
			public isEmpty(): boolean;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public constructor(param0: string, param1: android.net.Uri, param2: android.net.Uri);
			public getOriginalAddress(): android.net.Uri;
			public getGatewayProviderPackageName(): string;
		}
	}
}

declare module android {
	export module telecom {
		export abstract class InCallService extends android.app.Service {
			public static class: java.lang.Class<android.telecom.InCallService>;
			public static SERVICE_INTERFACE: string;
			public onSilenceRinger(): void;
			public onUnbind(param0: android.content.Intent): boolean;
			public onCallAdded(param0: android.telecom.Call): void;
			public onCanAddCallChanged(param0: boolean): void;
			public onBind(param0: android.content.Intent): android.os.IBinder;
			public constructor();
			public setAudioRoute(param0: number): void;
			public onCallRemoved(param0: android.telecom.Call): void;
			public onTrimMemory(param0: number): void;
			public onBringToForeground(param0: boolean): void;
			public canAddCall(): boolean;
			public constructor(param0: android.content.Context);
			public getCallAudioState(): android.telecom.CallAudioState;
			public onCallAudioStateChanged(param0: android.telecom.CallAudioState): void;
			public onConnectionEvent(param0: android.telecom.Call, param1: string, param2: android.os.Bundle): void;
			public getCalls(): java.util.List<android.telecom.Call>;
			public requestBluetoothAudio(param0: android.bluetooth.BluetoothDevice): void;
			public setMuted(param0: boolean): void;
		}
		export module InCallService {
			export abstract class VideoCall extends java.lang.Object {
				public static class: java.lang.Class<android.telecom.InCallService.VideoCall>;
				public setPreviewSurface(param0: android.view.Surface): void;
				public sendSessionModifyResponse(param0: android.telecom.VideoProfile): void;
				public setZoom(param0: number): void;
				public setDisplaySurface(param0: android.view.Surface): void;
				public constructor();
				public sendSessionModifyRequest(param0: android.telecom.VideoProfile): void;
				public setDeviceOrientation(param0: number): void;
				public requestCallDataUsage(): void;
				public unregisterCallback(param0: android.telecom.InCallService.VideoCall.Callback): void;
				public setPauseImage(param0: android.net.Uri): void;
				public registerCallback(param0: android.telecom.InCallService.VideoCall.Callback): void;
				public setCamera(param0: string): void;
				public requestCameraCapabilities(): void;
				public registerCallback(param0: android.telecom.InCallService.VideoCall.Callback, param1: android.os.Handler): void;
			}
			export module VideoCall {
				export abstract class Callback extends java.lang.Object {
					public static class: java.lang.Class<android.telecom.InCallService.VideoCall.Callback>;
					public onSessionModifyResponseReceived(param0: number, param1: android.telecom.VideoProfile, param2: android.telecom.VideoProfile): void;
					public onPeerDimensionsChanged(param0: number, param1: number): void;
					public onCallDataUsageChanged(param0: number): void;
					public onSessionModifyRequestReceived(param0: android.telecom.VideoProfile): void;
					public constructor();
					public onCameraCapabilitiesChanged(param0: android.telecom.VideoProfile.CameraCapabilities): void;
					public onVideoQualityChanged(param0: number): void;
					public onCallSessionEvent(param0: number): void;
				}
			}
		}
	}
}

declare module android {
	export module telecom {
		export class PhoneAccount extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.telecom.PhoneAccount>;
			public static CAPABILITY_CALL_PROVIDER: number;
			public static CAPABILITY_CALL_SUBJECT: number;
			public static CAPABILITY_CONNECTION_MANAGER: number;
			public static CAPABILITY_PLACE_EMERGENCY_CALLS: number;
			public static CAPABILITY_RTT: number;
			public static CAPABILITY_SELF_MANAGED: number;
			public static CAPABILITY_SIM_SUBSCRIPTION: number;
			public static CAPABILITY_SUPPORTS_VIDEO_CALLING: number;
			public static CAPABILITY_VIDEO_CALLING: number;
			public static CAPABILITY_VIDEO_CALLING_RELIES_ON_PRESENCE: number;
			public static CREATOR: android.os.Parcelable.Creator<android.telecom.PhoneAccount>;
			public static EXTRA_CALL_SUBJECT_CHARACTER_ENCODING: string;
			public static EXTRA_CALL_SUBJECT_MAX_LENGTH: string;
			public static EXTRA_LOG_SELF_MANAGED_CALLS: string;
			public static EXTRA_SUPPORTS_HANDOVER_FROM: string;
			public static EXTRA_SUPPORTS_HANDOVER_TO: string;
			public static NO_HIGHLIGHT_COLOR: number;
			public static NO_RESOURCE_ID: number;
			public static SCHEME_SIP: string;
			public static SCHEME_TEL: string;
			public static SCHEME_VOICEMAIL: string;
			public getLabel(): string;
			public getShortDescription(): string;
			public getAddress(): android.net.Uri;
			public getCapabilities(): number;
			public getSupportedUriSchemes(): java.util.List<string>;
			public toBuilder(): android.telecom.PhoneAccount.Builder;
			public getSubscriptionAddress(): android.net.Uri;
			public getIcon(): any;
			public getHighlightColor(): number;
			public isEnabled(): boolean;
			public toString(): string;
			public supportsUriScheme(param0: string): boolean;
			public describeContents(): number;
			public static builder(param0: android.telecom.PhoneAccountHandle, param1: string): android.telecom.PhoneAccount.Builder;
			public getAccountHandle(): android.telecom.PhoneAccountHandle;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public hasCapabilities(param0: number): boolean;
			public getExtras(): android.os.Bundle;
		}
		export module PhoneAccount {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.telecom.PhoneAccount.Builder>;
				public setSubscriptionAddress(param0: android.net.Uri): android.telecom.PhoneAccount.Builder;
				public setIcon(param0: any): android.telecom.PhoneAccount.Builder;
				public build(): android.telecom.PhoneAccount;
				public addSupportedUriScheme(param0: string): android.telecom.PhoneAccount.Builder;
				public setShortDescription(param0: string): android.telecom.PhoneAccount.Builder;
				public setAddress(param0: android.net.Uri): android.telecom.PhoneAccount.Builder;
				public setHighlightColor(param0: number): android.telecom.PhoneAccount.Builder;
				public setCapabilities(param0: number): android.telecom.PhoneAccount.Builder;
				public setExtras(param0: android.os.Bundle): android.telecom.PhoneAccount.Builder;
				public setSupportedUriSchemes(param0: java.util.List<string>): android.telecom.PhoneAccount.Builder;
				public constructor(param0: android.telecom.PhoneAccountHandle, param1: string);
				public constructor(param0: android.telecom.PhoneAccount);
			}
		}
	}
}

declare module android {
	export module telecom {
		export class PhoneAccountHandle extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.telecom.PhoneAccountHandle>;
			public static CREATOR: android.os.Parcelable.Creator<android.telecom.PhoneAccountHandle>;
			public getId(): string;
			public equals(param0: any): boolean;
			public toString(): string;
			public getComponentName(): android.content.ComponentName;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public constructor(param0: android.content.ComponentName, param1: string);
			public constructor(param0: android.content.ComponentName, param1: string, param2: android.os.UserHandle);
			public getUserHandle(): android.os.UserHandle;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module telecom {
		export class RemoteConference extends java.lang.Object {
			public static class: java.lang.Class<android.telecom.RemoteConference>;
			public unhold(): void;
			public getConferenceableConnections(): java.util.List<android.telecom.RemoteConnection>;
			public registerCallback(param0: android.telecom.RemoteConference.Callback, param1: android.os.Handler): void;
			public getConnectionProperties(): number;
			public setCallAudioState(param0: android.telecom.CallAudioState): void;
			public separate(param0: android.telecom.RemoteConnection): void;
			public swap(): void;
			public registerCallback(param0: android.telecom.RemoteConference.Callback): void;
			public unregisterCallback(param0: android.telecom.RemoteConference.Callback): void;
			public playDtmfTone(param0: string): void;
			public merge(): void;
			public getConnectionCapabilities(): number;
			public getDisconnectCause(): android.telecom.DisconnectCause;
			public hold(): void;
			public stopDtmfTone(): void;
			public getConnections(): java.util.List<android.telecom.RemoteConnection>;
			public getState(): number;
			public getExtras(): android.os.Bundle;
			public disconnect(): void;
		}
		export module RemoteConference {
			export abstract class Callback extends java.lang.Object {
				public static class: java.lang.Class<android.telecom.RemoteConference.Callback>;
				public onConferenceableConnectionsChanged(param0: android.telecom.RemoteConference, param1: java.util.List<android.telecom.RemoteConnection>): void;
				public onConnectionRemoved(param0: android.telecom.RemoteConference, param1: android.telecom.RemoteConnection): void;
				public onConnectionCapabilitiesChanged(param0: android.telecom.RemoteConference, param1: number): void;
				public onConnectionAdded(param0: android.telecom.RemoteConference, param1: android.telecom.RemoteConnection): void;
				public onConnectionPropertiesChanged(param0: android.telecom.RemoteConference, param1: number): void;
				public onDisconnected(param0: android.telecom.RemoteConference, param1: android.telecom.DisconnectCause): void;
				public onDestroyed(param0: android.telecom.RemoteConference): void;
				public onExtrasChanged(param0: android.telecom.RemoteConference, param1: android.os.Bundle): void;
				public onStateChanged(param0: android.telecom.RemoteConference, param1: number, param2: number): void;
				public constructor();
			}
		}
	}
}

declare module android {
	export module telecom {
		export class RemoteConnection extends java.lang.Object {
			public static class: java.lang.Class<android.telecom.RemoteConnection>;
			public unhold(): void;
			public getConnectionProperties(): number;
			public setCallAudioState(param0: android.telecom.CallAudioState): void;
			public isVoipAudioMode(): boolean;
			public getAddress(): android.net.Uri;
			public abort(): void;
			public registerCallback(param0: android.telecom.RemoteConnection.Callback): void;
			public getConference(): android.telecom.RemoteConference;
			public unregisterCallback(param0: android.telecom.RemoteConnection.Callback): void;
			public postDialContinue(param0: boolean): void;
			public getDisconnectCause(): android.telecom.DisconnectCause;
			public getAddressPresentation(): number;
			public answer(): void;
			public pullExternalCall(): void;
			public getState(): number;
			public getConferenceableConnections(): java.util.List<android.telecom.RemoteConnection>;
			public registerCallback(param0: android.telecom.RemoteConnection.Callback, param1: android.os.Handler): void;
			public getCallerDisplayNamePresentation(): number;
			public getVideoProvider(): android.telecom.RemoteConnection.VideoProvider;
			public playDtmfTone(param0: string): void;
			public reject(): void;
			public getStatusHints(): android.telecom.StatusHints;
			public getConnectionCapabilities(): number;
			public isRingbackRequested(): boolean;
			public getVideoState(): number;
			public hold(): void;
			public stopDtmfTone(): void;
			public getCallerDisplayName(): string;
			public getExtras(): android.os.Bundle;
			public disconnect(): void;
		}
		export module RemoteConnection {
			export abstract class Callback extends java.lang.Object {
				public static class: java.lang.Class<android.telecom.RemoteConnection.Callback>;
				public onStatusHintsChanged(param0: android.telecom.RemoteConnection, param1: android.telecom.StatusHints): void;
				public onExtrasChanged(param0: android.telecom.RemoteConnection, param1: android.os.Bundle): void;
				public onRingbackRequested(param0: android.telecom.RemoteConnection, param1: boolean): void;
				public onAddressChanged(param0: android.telecom.RemoteConnection, param1: android.net.Uri, param2: number): void;
				public onConnectionPropertiesChanged(param0: android.telecom.RemoteConnection, param1: number): void;
				public onStateChanged(param0: android.telecom.RemoteConnection, param1: number): void;
				public onVoipAudioChanged(param0: android.telecom.RemoteConnection, param1: boolean): void;
				public onPostDialChar(param0: android.telecom.RemoteConnection, param1: string): void;
				public constructor();
				public onConnectionCapabilitiesChanged(param0: android.telecom.RemoteConnection, param1: number): void;
				public onConferenceableConnectionsChanged(param0: android.telecom.RemoteConnection, param1: java.util.List<android.telecom.RemoteConnection>): void;
				public onCallerDisplayNameChanged(param0: android.telecom.RemoteConnection, param1: string, param2: number): void;
				public onVideoProviderChanged(param0: android.telecom.RemoteConnection, param1: android.telecom.RemoteConnection.VideoProvider): void;
				public onPostDialWait(param0: android.telecom.RemoteConnection, param1: string): void;
				public onDestroyed(param0: android.telecom.RemoteConnection): void;
				public onDisconnected(param0: android.telecom.RemoteConnection, param1: android.telecom.DisconnectCause): void;
				public onConferenceChanged(param0: android.telecom.RemoteConnection, param1: android.telecom.RemoteConference): void;
				public onVideoStateChanged(param0: android.telecom.RemoteConnection, param1: number): void;
				public onConnectionEvent(param0: android.telecom.RemoteConnection, param1: string, param2: android.os.Bundle): void;
			}
			export class VideoProvider extends java.lang.Object {
				public static class: java.lang.Class<android.telecom.RemoteConnection.VideoProvider>;
				public setDeviceOrientation(param0: number): void;
				public setPreviewSurface(param0: android.view.Surface): void;
				public unregisterCallback(param0: android.telecom.RemoteConnection.VideoProvider.Callback): void;
				public sendSessionModifyResponse(param0: android.telecom.VideoProfile): void;
				public requestCallDataUsage(): void;
				public setZoom(param0: number): void;
				public setPauseImage(param0: android.net.Uri): void;
				public registerCallback(param0: android.telecom.RemoteConnection.VideoProvider.Callback): void;
				public setCamera(param0: string): void;
				public sendSessionModifyRequest(param0: android.telecom.VideoProfile, param1: android.telecom.VideoProfile): void;
				public requestCameraCapabilities(): void;
				public setDisplaySurface(param0: android.view.Surface): void;
			}
			export module VideoProvider {
				export abstract class Callback extends java.lang.Object {
					public static class: java.lang.Class<android.telecom.RemoteConnection.VideoProvider.Callback>;
					public onCallSessionEvent(param0: android.telecom.RemoteConnection.VideoProvider, param1: number): void;
					public onCameraCapabilitiesChanged(param0: android.telecom.RemoteConnection.VideoProvider, param1: android.telecom.VideoProfile.CameraCapabilities): void;
					public constructor();
					public onSessionModifyResponseReceived(param0: android.telecom.RemoteConnection.VideoProvider, param1: number, param2: android.telecom.VideoProfile, param3: android.telecom.VideoProfile): void;
					public onCallDataUsageChanged(param0: android.telecom.RemoteConnection.VideoProvider, param1: number): void;
					public onSessionModifyRequestReceived(param0: android.telecom.RemoteConnection.VideoProvider, param1: android.telecom.VideoProfile): void;
					public onPeerDimensionsChanged(param0: android.telecom.RemoteConnection.VideoProvider, param1: number, param2: number): void;
					public onVideoQualityChanged(param0: android.telecom.RemoteConnection.VideoProvider, param1: number): void;
				}
			}
		}
	}
}

declare module android {
	export module telecom {
		export class StatusHints extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.telecom.StatusHints>;
			public static CREATOR: android.os.Parcelable.Creator<android.telecom.StatusHints>;
			public constructor(param0: string, param1: any, param2: android.os.Bundle);
			public getLabel(): string;
			public equals(param0: any): boolean;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getExtras(): android.os.Bundle;
			public getIcon(): any;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module telecom {
		export class TelecomManager extends java.lang.Object {
			public static class: java.lang.Class<android.telecom.TelecomManager>;
			public static ACTION_CHANGE_DEFAULT_DIALER: string;
			public static ACTION_CHANGE_PHONE_ACCOUNTS: string;
			public static ACTION_CONFIGURE_PHONE_ACCOUNT: string;
			public static ACTION_DEFAULT_DIALER_CHANGED: string;
			public static ACTION_INCOMING_CALL: string;
			public static ACTION_PHONE_ACCOUNT_REGISTERED: string;
			public static ACTION_PHONE_ACCOUNT_UNREGISTERED: string;
			public static ACTION_SHOW_CALL_ACCESSIBILITY_SETTINGS: string;
			public static ACTION_SHOW_CALL_SETTINGS: string;
			public static ACTION_SHOW_MISSED_CALLS_NOTIFICATION: string;
			public static ACTION_SHOW_RESPOND_VIA_SMS_SETTINGS: string;
			public static DTMF_CHARACTER_PAUSE: string;
			public static DTMF_CHARACTER_WAIT: string;
			public static EXTRA_CALL_BACK_NUMBER: string;
			public static EXTRA_CALL_DISCONNECT_CAUSE: string;
			public static EXTRA_CALL_DISCONNECT_MESSAGE: string;
			public static EXTRA_CALL_SUBJECT: string;
			public static EXTRA_CHANGE_DEFAULT_DIALER_PACKAGE_NAME: string;
			public static EXTRA_INCOMING_CALL_ADDRESS: string;
			public static EXTRA_INCOMING_CALL_EXTRAS: string;
			public static EXTRA_INCOMING_VIDEO_STATE: string;
			public static EXTRA_NOTIFICATION_COUNT: string;
			public static EXTRA_NOTIFICATION_PHONE_NUMBER: string;
			public static EXTRA_OUTGOING_CALL_EXTRAS: string;
			public static EXTRA_PHONE_ACCOUNT_HANDLE: string;
			public static EXTRA_START_CALL_WITH_RTT: string;
			public static EXTRA_START_CALL_WITH_SPEAKERPHONE: string;
			public static EXTRA_START_CALL_WITH_VIDEO_STATE: string;
			public static GATEWAY_ORIGINAL_ADDRESS: string;
			public static GATEWAY_PROVIDER_PACKAGE: string;
			public static METADATA_INCLUDE_EXTERNAL_CALLS: string;
			public static METADATA_INCLUDE_SELF_MANAGED_CALLS: string;
			public static METADATA_IN_CALL_SERVICE_RINGING: string;
			public static METADATA_IN_CALL_SERVICE_UI: string;
			public static PRESENTATION_ALLOWED: number;
			public static PRESENTATION_PAYPHONE: number;
			public static PRESENTATION_RESTRICTED: number;
			public static PRESENTATION_UNKNOWN: number;
			public getSelfManagedPhoneAccounts(): java.util.List<android.telecom.PhoneAccountHandle>;
			public acceptHandover(param0: android.net.Uri, param1: number, param2: android.telecom.PhoneAccountHandle): void;
			public getPhoneAccount(param0: android.telecom.PhoneAccountHandle): android.telecom.PhoneAccount;
			public handleMmi(param0: string, param1: android.telecom.PhoneAccountHandle): boolean;
			public isVoiceMailNumber(param0: android.telecom.PhoneAccountHandle, param1: string): boolean;
			public getSimCallManager(): android.telecom.PhoneAccountHandle;
			public registerPhoneAccount(param0: android.telecom.PhoneAccount): void;
			public getDefaultDialerPackage(): string;
			public getLine1Number(param0: android.telecom.PhoneAccountHandle): string;
			public acceptRingingCall(param0: number): void;
			public placeCall(param0: android.net.Uri, param1: android.os.Bundle): void;
			public acceptRingingCall(): void;
			public isInCall(): boolean;
			public isTtySupported(): boolean;
			public cancelMissedCallsNotification(): void;
			public isInManagedCall(): boolean;
			public addNewIncomingCall(param0: android.telecom.PhoneAccountHandle, param1: android.os.Bundle): void;
			public createManageBlockedNumbersIntent(): android.content.Intent;
			public isIncomingCallPermitted(param0: android.telecom.PhoneAccountHandle): boolean;
			public getCallCapablePhoneAccounts(): java.util.List<android.telecom.PhoneAccountHandle>;
			public isOutgoingCallPermitted(param0: android.telecom.PhoneAccountHandle): boolean;
			public getVoiceMailNumber(param0: android.telecom.PhoneAccountHandle): string;
			public getDefaultOutgoingPhoneAccount(param0: string): android.telecom.PhoneAccountHandle;
			public getAdnUriForPhoneAccount(param0: android.telecom.PhoneAccountHandle): android.net.Uri;
			public showInCallScreen(param0: boolean): void;
			public handleMmi(param0: string): boolean;
			public unregisterPhoneAccount(param0: android.telecom.PhoneAccountHandle): void;
			public silenceRinger(): void;
			public endCall(): boolean;
		}
	}
}

declare module android {
	export module telecom {
		export class VideoProfile extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.telecom.VideoProfile>;
			public static CREATOR: android.os.Parcelable.Creator<android.telecom.VideoProfile>;
			public static QUALITY_DEFAULT: number;
			public static QUALITY_HIGH: number;
			public static QUALITY_LOW: number;
			public static QUALITY_MEDIUM: number;
			public static STATE_AUDIO_ONLY: number;
			public static STATE_BIDIRECTIONAL: number;
			public static STATE_PAUSED: number;
			public static STATE_RX_ENABLED: number;
			public static STATE_TX_ENABLED: number;
			public static videoStateToString(param0: number): string;
			public constructor(param0: number);
			public static isTransmissionEnabled(param0: number): boolean;
			public getQuality(): number;
			public static isAudioOnly(param0: number): boolean;
			public static isPaused(param0: number): boolean;
			public toString(): string;
			public static isBidirectional(param0: number): boolean;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getVideoState(): number;
			public constructor(param0: number, param1: number);
			public static isReceptionEnabled(param0: number): boolean;
			public static isVideo(param0: number): boolean;
		}
		export module VideoProfile {
			export class CameraCapabilities extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.telecom.VideoProfile.CameraCapabilities>;
				public static CREATOR: android.os.Parcelable.Creator<android.telecom.VideoProfile.CameraCapabilities>;
				public constructor(param0: number, param1: number);
				public getWidth(): number;
				public getHeight(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
			}
		}
	}
}

declare module android {
	export module telephony {
		export class AccessNetworkConstants extends java.lang.Object {
			public static class: java.lang.Class<android.telephony.AccessNetworkConstants>;
		}
		export module AccessNetworkConstants {
			export class AccessNetworkType extends java.lang.Object {
				public static class: java.lang.Class<android.telephony.AccessNetworkConstants.AccessNetworkType>;
				public static CDMA2000: number;
				public static EUTRAN: number;
				public static GERAN: number;
				public static IWLAN: number;
				public static UNKNOWN: number;
				public static UTRAN: number;
			}
			export class EutranBand extends java.lang.Object {
				public static class: java.lang.Class<android.telephony.AccessNetworkConstants.EutranBand>;
				public static BAND_1: number;
				public static BAND_10: number;
				public static BAND_11: number;
				public static BAND_12: number;
				public static BAND_13: number;
				public static BAND_14: number;
				public static BAND_17: number;
				public static BAND_18: number;
				public static BAND_19: number;
				public static BAND_2: number;
				public static BAND_20: number;
				public static BAND_21: number;
				public static BAND_22: number;
				public static BAND_23: number;
				public static BAND_24: number;
				public static BAND_25: number;
				public static BAND_26: number;
				public static BAND_27: number;
				public static BAND_28: number;
				public static BAND_3: number;
				public static BAND_30: number;
				public static BAND_31: number;
				public static BAND_33: number;
				public static BAND_34: number;
				public static BAND_35: number;
				public static BAND_36: number;
				public static BAND_37: number;
				public static BAND_38: number;
				public static BAND_39: number;
				public static BAND_4: number;
				public static BAND_40: number;
				public static BAND_41: number;
				public static BAND_42: number;
				public static BAND_43: number;
				public static BAND_44: number;
				public static BAND_45: number;
				public static BAND_46: number;
				public static BAND_47: number;
				public static BAND_48: number;
				public static BAND_5: number;
				public static BAND_6: number;
				public static BAND_65: number;
				public static BAND_66: number;
				public static BAND_68: number;
				public static BAND_7: number;
				public static BAND_70: number;
				public static BAND_8: number;
				public static BAND_9: number;
			}
			export class GeranBand extends java.lang.Object {
				public static class: java.lang.Class<android.telephony.AccessNetworkConstants.GeranBand>;
				public static BAND_450: number;
				public static BAND_480: number;
				public static BAND_710: number;
				public static BAND_750: number;
				public static BAND_850: number;
				public static BAND_DCS1800: number;
				public static BAND_E900: number;
				public static BAND_ER900: number;
				public static BAND_P900: number;
				public static BAND_PCS1900: number;
				public static BAND_R900: number;
				public static BAND_T380: number;
				public static BAND_T410: number;
				public static BAND_T810: number;
			}
			export class UtranBand extends java.lang.Object {
				public static class: java.lang.Class<android.telephony.AccessNetworkConstants.UtranBand>;
				public static BAND_1: number;
				public static BAND_10: number;
				public static BAND_11: number;
				public static BAND_12: number;
				public static BAND_13: number;
				public static BAND_14: number;
				public static BAND_19: number;
				public static BAND_2: number;
				public static BAND_20: number;
				public static BAND_21: number;
				public static BAND_22: number;
				public static BAND_25: number;
				public static BAND_26: number;
				public static BAND_3: number;
				public static BAND_4: number;
				public static BAND_5: number;
				public static BAND_6: number;
				public static BAND_7: number;
				public static BAND_8: number;
				public static BAND_9: number;
			}
		}
	}
}

declare module android {
	export module telephony {
		export class CarrierConfigManager extends java.lang.Object {
			public static class: java.lang.Class<android.telephony.CarrierConfigManager>;
			public static ACTION_CARRIER_CONFIG_CHANGED: string;
			public static DATA_CYCLE_THRESHOLD_DISABLED: number;
			public static EXTRA_SLOT_INDEX: string;
			public static EXTRA_SUBSCRIPTION_INDEX: string;
			public static KEY_ADDITIONAL_CALL_SETTING_BOOL: string;
			public static KEY_ALLOW_ADDING_APNS_BOOL: string;
			public static KEY_ALLOW_ADD_CALL_DURING_VIDEO_CALL_BOOL: string;
			public static KEY_ALLOW_EMERGENCY_NUMBERS_IN_CALL_LOG_BOOL: string;
			public static KEY_ALLOW_EMERGENCY_VIDEO_CALLS_BOOL: string;
			public static KEY_ALLOW_LOCAL_DTMF_TONES_BOOL: string;
			public static KEY_ALLOW_MERGE_WIFI_CALLS_WHEN_VOWIFI_OFF_BOOL: string;
			public static KEY_ALLOW_NON_EMERGENCY_CALLS_IN_ECM_BOOL: string;
			public static KEY_ALWAYS_SHOW_EMERGENCY_ALERT_ONOFF_BOOL: string;
			public static KEY_APN_EXPAND_BOOL: string;
			public static KEY_AUTO_RETRY_ENABLED_BOOL: string;
			public static KEY_CALL_FORWARDING_BLOCKS_WHILE_ROAMING_STRING_ARRAY: string;
			public static KEY_CARRIER_ALLOW_TURNOFF_IMS_BOOL: string;
			public static KEY_CARRIER_DATA_CALL_PERMANENT_FAILURE_STRINGS: string;
			public static KEY_CARRIER_FORCE_DISABLE_ETWS_CMAS_TEST_BOOL: string;
			public static KEY_CARRIER_IMS_GBA_REQUIRED_BOOL: string;
			public static KEY_CARRIER_INSTANT_LETTERING_AVAILABLE_BOOL: string;
			public static KEY_CARRIER_INSTANT_LETTERING_ENCODING_STRING: string;
			public static KEY_CARRIER_INSTANT_LETTERING_ESCAPED_CHARS_STRING: string;
			public static KEY_CARRIER_INSTANT_LETTERING_INVALID_CHARS_STRING: string;
			public static KEY_CARRIER_INSTANT_LETTERING_LENGTH_LIMIT_INT: string;
			public static KEY_CARRIER_NAME_OVERRIDE_BOOL: string;
			public static KEY_CARRIER_NAME_STRING: string;
			public static KEY_CARRIER_SETTINGS_ENABLE_BOOL: string;
			public static KEY_CARRIER_USE_IMS_FIRST_FOR_EMERGENCY_BOOL: string;
			public static KEY_CARRIER_VOLTE_AVAILABLE_BOOL: string;
			public static KEY_CARRIER_VOLTE_PROVISIONED_BOOL: string;
			public static KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL: string;
			public static KEY_CARRIER_VOLTE_TTY_SUPPORTED_BOOL: string;
			public static KEY_CARRIER_VT_AVAILABLE_BOOL: string;
			public static KEY_CARRIER_VVM_PACKAGE_NAME_STRING: string;
			public static KEY_CARRIER_VVM_PACKAGE_NAME_STRING_ARRAY: string;
			public static KEY_CARRIER_WFC_IMS_AVAILABLE_BOOL: string;
			public static KEY_CARRIER_WFC_SUPPORTS_WIFI_ONLY_BOOL: string;
			public static KEY_CDMA_3WAYCALL_FLASH_DELAY_INT: string;
			public static KEY_CDMA_DTMF_TONE_DELAY_INT: string;
			public static KEY_CDMA_NONROAMING_NETWORKS_STRING_ARRAY: string;
			public static KEY_CDMA_ROAMING_MODE_INT: string;
			public static KEY_CDMA_ROAMING_NETWORKS_STRING_ARRAY: string;
			public static KEY_CI_ACTION_ON_SYS_UPDATE_BOOL: string;
			public static KEY_CI_ACTION_ON_SYS_UPDATE_EXTRA_STRING: string;
			public static KEY_CI_ACTION_ON_SYS_UPDATE_EXTRA_VAL_STRING: string;
			public static KEY_CI_ACTION_ON_SYS_UPDATE_INTENT_STRING: string;
			public static KEY_CONFIG_IMS_PACKAGE_OVERRIDE_STRING: string;
			public static KEY_CONFIG_PLANS_PACKAGE_OVERRIDE_STRING: string;
			public static KEY_CONFIG_TELEPHONY_USE_OWN_NUMBER_FOR_VOICEMAIL_BOOL: string;
			public static KEY_CSP_ENABLED_BOOL: string;
			public static KEY_DATA_LIMIT_THRESHOLD_BYTES_LONG: string;
			public static KEY_DATA_WARNING_THRESHOLD_BYTES_LONG: string;
			public static KEY_DEFAULT_SIM_CALL_MANAGER_STRING: string;
			public static KEY_DEFAULT_VM_NUMBER_STRING: string;
			public static KEY_DIAL_STRING_REPLACE_STRING_ARRAY: string;
			public static KEY_DISABLE_CDMA_ACTIVATION_CODE_BOOL: string;
			public static KEY_DISPLAY_HD_AUDIO_PROPERTY_BOOL: string;
			public static KEY_DROP_VIDEO_CALL_WHEN_ANSWERING_AUDIO_CALL_BOOL: string;
			public static KEY_DTMF_TYPE_ENABLED_BOOL: string;
			public static KEY_DURATION_BLOCKING_DISABLED_AFTER_EMERGENCY_INT: string;
			public static KEY_EDITABLE_ENHANCED_4G_LTE_BOOL: string;
			public static KEY_EDITABLE_VOICEMAIL_NUMBER_BOOL: string;
			public static KEY_EDITABLE_VOICEMAIL_NUMBER_SETTING_BOOL: string;
			public static KEY_ENABLE_DIALER_KEY_VIBRATION_BOOL: string;
			public static KEY_FORCE_HOME_NETWORK_BOOL: string;
			public static KEY_GSM_DTMF_TONE_DELAY_INT: string;
			public static KEY_GSM_NONROAMING_NETWORKS_STRING_ARRAY: string;
			public static KEY_GSM_ROAMING_NETWORKS_STRING_ARRAY: string;
			public static KEY_HAS_IN_CALL_NOISE_SUPPRESSION_BOOL: string;
			public static KEY_HIDE_CARRIER_NETWORK_SETTINGS_BOOL: string;
			public static KEY_HIDE_ENHANCED_4G_LTE_BOOL: string;
			public static KEY_HIDE_IMS_APN_BOOL: string;
			public static KEY_HIDE_PREFERRED_NETWORK_TYPE_BOOL: string;
			public static KEY_HIDE_SIM_LOCK_SETTINGS_BOOL: string;
			public static KEY_IGNORE_SIM_NETWORK_LOCKED_EVENTS_BOOL: string;
			public static KEY_IMS_CONFERENCE_SIZE_LIMIT_INT: string;
			public static KEY_IMS_DTMF_TONE_DELAY_INT: string;
			public static KEY_IS_IMS_CONFERENCE_SIZE_ENFORCED_BOOL: string;
			public static KEY_MDN_IS_ADDITIONAL_VOICEMAIL_NUMBER_BOOL: string;
			public static KEY_MMS_ALIAS_ENABLED_BOOL: string;
			public static KEY_MMS_ALIAS_MAX_CHARS_INT: string;
			public static KEY_MMS_ALIAS_MIN_CHARS_INT: string;
			public static KEY_MMS_ALLOW_ATTACH_AUDIO_BOOL: string;
			public static KEY_MMS_APPEND_TRANSACTION_ID_BOOL: string;
			public static KEY_MMS_EMAIL_GATEWAY_NUMBER_STRING: string;
			public static KEY_MMS_GROUP_MMS_ENABLED_BOOL: string;
			public static KEY_MMS_HTTP_PARAMS_STRING: string;
			public static KEY_MMS_HTTP_SOCKET_TIMEOUT_INT: string;
			public static KEY_MMS_MAX_IMAGE_HEIGHT_INT: string;
			public static KEY_MMS_MAX_IMAGE_WIDTH_INT: string;
			public static KEY_MMS_MAX_MESSAGE_SIZE_INT: string;
			public static KEY_MMS_MESSAGE_TEXT_MAX_SIZE_INT: string;
			public static KEY_MMS_MMS_DELIVERY_REPORT_ENABLED_BOOL: string;
			public static KEY_MMS_MMS_ENABLED_BOOL: string;
			public static KEY_MMS_MMS_READ_REPORT_ENABLED_BOOL: string;
			public static KEY_MMS_MULTIPART_SMS_ENABLED_BOOL: string;
			public static KEY_MMS_NAI_SUFFIX_STRING: string;
			public static KEY_MMS_NOTIFY_WAP_MMSC_ENABLED_BOOL: string;
			public static KEY_MMS_RECIPIENT_LIMIT_INT: string;
			public static KEY_MMS_SEND_MULTIPART_SMS_AS_SEPARATE_MESSAGES_BOOL: string;
			public static KEY_MMS_SHOW_CELL_BROADCAST_APP_LINKS_BOOL: string;
			public static KEY_MMS_SMS_DELIVERY_REPORT_ENABLED_BOOL: string;
			public static KEY_MMS_SMS_TO_MMS_TEXT_LENGTH_THRESHOLD_INT: string;
			public static KEY_MMS_SMS_TO_MMS_TEXT_THRESHOLD_INT: string;
			public static KEY_MMS_SUBJECT_MAX_LENGTH_INT: string;
			public static KEY_MMS_SUPPORT_HTTP_CHARSET_HEADER_BOOL: string;
			public static KEY_MMS_SUPPORT_MMS_CONTENT_DISPOSITION_BOOL: string;
			public static KEY_MMS_UA_PROF_TAG_NAME_STRING: string;
			public static KEY_MMS_UA_PROF_URL_STRING: string;
			public static KEY_MMS_USER_AGENT_STRING: string;
			public static KEY_MONTHLY_DATA_CYCLE_DAY_INT: string;
			public static KEY_ONLY_SINGLE_DC_ALLOWED_INT_ARRAY: string;
			public static KEY_OPERATOR_SELECTION_EXPAND_BOOL: string;
			public static KEY_PREFER_2G_BOOL: string;
			public static KEY_RCS_CONFIG_SERVER_URL_STRING: string;
			public static KEY_REQUIRE_ENTITLEMENT_CHECKS_BOOL: string;
			public static KEY_RESTART_RADIO_ON_PDP_FAIL_REGULAR_DEACTIVATION_BOOL: string;
			public static KEY_RTT_SUPPORTED_BOOL: string;
			public static KEY_SHOW_APN_SETTING_CDMA_BOOL: string;
			public static KEY_SHOW_CDMA_CHOICES_BOOL: string;
			public static KEY_SHOW_ICCID_IN_SIM_STATUS_BOOL: string;
			public static KEY_SHOW_ONSCREEN_DIAL_BUTTON_BOOL: string;
			public static KEY_SHOW_SIGNAL_STRENGTH_IN_SIM_STATUS_BOOL: string;
			public static KEY_SIMPLIFIED_NETWORK_SETTINGS_BOOL: string;
			public static KEY_SIM_NETWORK_UNLOCK_ALLOW_DISMISS_BOOL: string;
			public static KEY_SMS_REQUIRES_DESTINATION_NUMBER_CONVERSION_BOOL: string;
			public static KEY_SUPPORT_3GPP_CALL_FORWARDING_WHILE_ROAMING_BOOL: string;
			public static KEY_SUPPORT_CONFERENCE_CALL_BOOL: string;
			public static KEY_SUPPORT_PAUSE_IMS_VIDEO_CALLS_BOOL: string;
			public static KEY_SUPPORT_SWAP_AFTER_MERGE_BOOL: string;
			public static KEY_TREAT_DOWNGRADED_VIDEO_CALLS_AS_VIDEO_CALLS_BOOL: string;
			public static KEY_USE_HFA_FOR_PROVISIONING_BOOL: string;
			public static KEY_USE_OTASP_FOR_PROVISIONING_BOOL: string;
			public static KEY_USE_RCS_PRESENCE_BOOL: string;
			public static KEY_VOICEMAIL_NOTIFICATION_PERSISTENT_BOOL: string;
			public static KEY_VOICE_PRIVACY_DISABLE_UI_BOOL: string;
			public static KEY_VOLTE_REPLACEMENT_RAT_INT: string;
			public static KEY_VVM_CELLULAR_DATA_REQUIRED_BOOL: string;
			public static KEY_VVM_CLIENT_PREFIX_STRING: string;
			public static KEY_VVM_DESTINATION_NUMBER_STRING: string;
			public static KEY_VVM_DISABLED_CAPABILITIES_STRING_ARRAY: string;
			public static KEY_VVM_LEGACY_MODE_ENABLED_BOOL: string;
			public static KEY_VVM_PORT_NUMBER_INT: string;
			public static KEY_VVM_PREFETCH_BOOL: string;
			public static KEY_VVM_SSL_ENABLED_BOOL: string;
			public static KEY_VVM_TYPE_STRING: string;
			public static KEY_WORLD_PHONE_BOOL: string;
			public getConfig(): any;
			public notifyConfigChangedForSubId(param0: number): void;
			public static isConfigForIdentifiedCarrier(param0: any): boolean;
			public getConfigForSubId(param0: number): any;
		}
	}
}

declare module android {
	export module telephony {
		export abstract class CellIdentity extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.telephony.CellIdentity>;
			public static CREATOR: android.os.Parcelable.Creator<android.telephony.CellIdentity>;
			public equals(param0: any): boolean;
			public getOperatorAlphaLong(): string;
			public describeContents(): number;
			public getOperatorAlphaShort(): string;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module telephony {
		export class CellIdentityCdma extends android.telephony.CellIdentity {
			public static class: java.lang.Class<android.telephony.CellIdentityCdma>;
			public static CREATOR: android.os.Parcelable.Creator<android.telephony.CellIdentityCdma>;
			public getLongitude(): number;
			public equals(param0: any): boolean;
			public toString(): string;
			public getBasestationId(): number;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getLatitude(): number;
			public getNetworkId(): number;
			public getSystemId(): number;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module telephony {
		export class CellIdentityGsm extends android.telephony.CellIdentity {
			public static class: java.lang.Class<android.telephony.CellIdentityGsm>;
			public static CREATOR: android.os.Parcelable.Creator<android.telephony.CellIdentityGsm>;
			/** @deprecated */
			public getMcc(): number;
			public equals(param0: any): boolean;
			public getMobileNetworkOperator(): string;
			/** @deprecated */
			public getPsc(): number;
			public getLac(): number;
			public getBsic(): number;
			public getMccString(): string;
			public toString(): string;
			public getArfcn(): number;
			public getMncString(): string;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			/** @deprecated */
			public getMnc(): number;
			public getCid(): number;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module telephony {
		export class CellIdentityLte extends android.telephony.CellIdentity {
			public static class: java.lang.Class<android.telephony.CellIdentityLte>;
			public static CREATOR: android.os.Parcelable.Creator<android.telephony.CellIdentityLte>;
			/** @deprecated */
			public getMcc(): number;
			public equals(param0: any): boolean;
			public getMobileNetworkOperator(): string;
			public getTac(): number;
			public getPci(): number;
			public getMccString(): string;
			public toString(): string;
			public getMncString(): string;
			public describeContents(): number;
			public getBandwidth(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			/** @deprecated */
			public getMnc(): number;
			public getEarfcn(): number;
			public getCi(): number;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module telephony {
		export class CellIdentityTdscdma extends android.telephony.CellIdentity {
			public static class: java.lang.Class<android.telephony.CellIdentityTdscdma>;
			public static CREATOR: android.os.Parcelable.Creator<android.telephony.CellIdentityTdscdma>;
			public getMccString(): string;
			public equals(param0: any): boolean;
			public toString(): string;
			public getMncString(): string;
			public describeContents(): number;
			public getLac(): number;
			public getCpid(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getCid(): number;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module telephony {
		export class CellIdentityWcdma extends android.telephony.CellIdentity {
			public static class: java.lang.Class<android.telephony.CellIdentityWcdma>;
			public static CREATOR: android.os.Parcelable.Creator<android.telephony.CellIdentityWcdma>;
			/** @deprecated */
			public getMcc(): number;
			public equals(param0: any): boolean;
			public getMobileNetworkOperator(): string;
			public getLac(): number;
			public getPsc(): number;
			public getUarfcn(): number;
			public getMccString(): string;
			public toString(): string;
			public getMncString(): string;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			/** @deprecated */
			public getMnc(): number;
			public getCid(): number;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module telephony {
		export abstract class CellInfo extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.telephony.CellInfo>;
			public static CONNECTION_NONE: number;
			public static CONNECTION_PRIMARY_SERVING: number;
			public static CONNECTION_SECONDARY_SERVING: number;
			public static CONNECTION_UNKNOWN: number;
			public static CREATOR: android.os.Parcelable.Creator<android.telephony.CellInfo>;
			public equals(param0: any): boolean;
			public getTimeStamp(): number;
			public toString(): string;
			public getCellConnectionStatus(): number;
			public isRegistered(): boolean;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module telephony {
		export class CellInfoCdma extends android.telephony.CellInfo implements android.os.Parcelable {
			public static class: java.lang.Class<android.telephony.CellInfoCdma>;
			public static CREATOR: android.os.Parcelable.Creator<android.telephony.CellInfoCdma>;
			public equals(param0: any): boolean;
			public toString(): string;
			public getCellIdentity(): android.telephony.CellIdentityCdma;
			public describeContents(): number;
			public getCellSignalStrength(): android.telephony.CellSignalStrengthCdma;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module telephony {
		export class CellInfoGsm extends android.telephony.CellInfo implements android.os.Parcelable {
			public static class: java.lang.Class<android.telephony.CellInfoGsm>;
			public static CREATOR: android.os.Parcelable.Creator<android.telephony.CellInfoGsm>;
			public getCellIdentity(): android.telephony.CellIdentityGsm;
			public equals(param0: any): boolean;
			public toString(): string;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getCellSignalStrength(): android.telephony.CellSignalStrengthGsm;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module telephony {
		export class CellInfoLte extends android.telephony.CellInfo implements android.os.Parcelable {
			public static class: java.lang.Class<android.telephony.CellInfoLte>;
			public static CREATOR: android.os.Parcelable.Creator<android.telephony.CellInfoLte>;
			public equals(param0: any): boolean;
			public getCellSignalStrength(): android.telephony.CellSignalStrengthLte;
			public getCellIdentity(): android.telephony.CellIdentityLte;
			public toString(): string;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module telephony {
		export class CellInfoWcdma extends android.telephony.CellInfo implements android.os.Parcelable {
			public static class: java.lang.Class<android.telephony.CellInfoWcdma>;
			public static CREATOR: android.os.Parcelable.Creator<android.telephony.CellInfoWcdma>;
			public equals(param0: any): boolean;
			public toString(): string;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getCellIdentity(): android.telephony.CellIdentityWcdma;
			public getCellSignalStrength(): android.telephony.CellSignalStrengthWcdma;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module telephony {
		export abstract class CellLocation extends java.lang.Object {
			public static class: java.lang.Class<android.telephony.CellLocation>;
			public static requestLocationUpdate(): void;
			public static getEmpty(): android.telephony.CellLocation;
			public constructor();
		}
	}
}

declare module android {
	export module telephony {
		export abstract class CellSignalStrength extends java.lang.Object {
			public static class: java.lang.Class<android.telephony.CellSignalStrength>;
			public static SIGNAL_STRENGTH_GOOD: number;
			public static SIGNAL_STRENGTH_GREAT: number;
			public static SIGNAL_STRENGTH_MODERATE: number;
			public static SIGNAL_STRENGTH_NONE_OR_UNKNOWN: number;
			public static SIGNAL_STRENGTH_POOR: number;
			public getAsuLevel(): number;
			public equals(param0: any): boolean;
			public getDbm(): number;
			public getLevel(): number;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module telephony {
		export class CellSignalStrengthCdma extends android.telephony.CellSignalStrength implements android.os.Parcelable {
			public static class: java.lang.Class<android.telephony.CellSignalStrengthCdma>;
			public static CREATOR: android.os.Parcelable.Creator<android.telephony.CellSignalStrengthCdma>;
			public getEvdoSnr(): number;
			public equals(param0: any): boolean;
			public getCdmaEcio(): number;
			public getCdmaLevel(): number;
			public getLevel(): number;
			public getCdmaDbm(): number;
			public getAsuLevel(): number;
			public toString(): string;
			public getDbm(): number;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getEvdoEcio(): number;
			public getEvdoLevel(): number;
			public getEvdoDbm(): number;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module telephony {
		export class CellSignalStrengthGsm extends android.telephony.CellSignalStrength implements android.os.Parcelable {
			public static class: java.lang.Class<android.telephony.CellSignalStrengthGsm>;
			public static CREATOR: android.os.Parcelable.Creator<android.telephony.CellSignalStrengthGsm>;
			public getTimingAdvance(): number;
			public getAsuLevel(): number;
			public equals(param0: any): boolean;
			public toString(): string;
			public getDbm(): number;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getLevel(): number;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module telephony {
		export class CellSignalStrengthLte extends android.telephony.CellSignalStrength implements android.os.Parcelable {
			public static class: java.lang.Class<android.telephony.CellSignalStrengthLte>;
			public static CREATOR: android.os.Parcelable.Creator<android.telephony.CellSignalStrengthLte>;
			public getTimingAdvance(): number;
			public equals(param0: any): boolean;
			public getRsrp(): number;
			public getCqi(): number;
			public getRssnr(): number;
			public getLevel(): number;
			public getAsuLevel(): number;
			public toString(): string;
			public getDbm(): number;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getRsrq(): number;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module telephony {
		export class CellSignalStrengthWcdma extends android.telephony.CellSignalStrength implements android.os.Parcelable {
			public static class: java.lang.Class<android.telephony.CellSignalStrengthWcdma>;
			public static CREATOR: android.os.Parcelable.Creator<android.telephony.CellSignalStrengthWcdma>;
			public getAsuLevel(): number;
			public equals(param0: any): boolean;
			public toString(): string;
			public getDbm(): number;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getLevel(): number;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module telephony {
		export class IccOpenLogicalChannelResponse extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.telephony.IccOpenLogicalChannelResponse>;
			public static CREATOR: android.os.Parcelable.Creator<android.telephony.IccOpenLogicalChannelResponse>;
			public static INVALID_CHANNEL: number;
			public static STATUS_MISSING_RESOURCE: number;
			public static STATUS_NO_ERROR: number;
			public static STATUS_NO_SUCH_ELEMENT: number;
			public static STATUS_UNKNOWN_ERROR: number;
			public toString(): string;
			public getSelectResponse(): native.Array<number>;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getChannel(): number;
			public getStatus(): number;
		}
	}
}

declare module android {
	export module telephony {
		export class MbmsDownloadSession extends java.lang.Object implements java.lang.AutoCloseable {
			public static class: java.lang.Class<android.telephony.MbmsDownloadSession>;
			public static DEFAULT_TOP_LEVEL_TEMP_DIRECTORY: string;
			public static EXTRA_MBMS_COMPLETED_FILE_URI: string;
			public static EXTRA_MBMS_DOWNLOAD_REQUEST: string;
			public static EXTRA_MBMS_DOWNLOAD_RESULT: string;
			public static EXTRA_MBMS_FILE_INFO: string;
			public static RESULT_CANCELLED: number;
			public static RESULT_DOWNLOAD_FAILURE: number;
			public static RESULT_EXPIRED: number;
			public static RESULT_FILE_ROOT_UNREACHABLE: number;
			public static RESULT_IO_ERROR: number;
			public static RESULT_OUT_OF_STORAGE: number;
			public static RESULT_SERVICE_ID_NOT_DEFINED: number;
			public static RESULT_SUCCESSFUL: number;
			public static STATUS_ACTIVELY_DOWNLOADING: number;
			public static STATUS_PENDING_DOWNLOAD: number;
			public static STATUS_PENDING_DOWNLOAD_WINDOW: number;
			public static STATUS_PENDING_REPAIR: number;
			public static STATUS_UNKNOWN: number;
			public static create(param0: android.content.Context, param1: java.util.concurrent.Executor, param2: number, param3: any): android.telephony.MbmsDownloadSession;
			public requestDownloadState(param0: any, param1: any): void;
			public download(param0: any): void;
			public removeProgressListener(param0: any, param1: any): void;
			public resetDownloadKnowledge(param0: any): void;
			public addStatusListener(param0: any, param1: java.util.concurrent.Executor, param2: any): void;
			public cancelDownload(param0: any): void;
			public getTempFileRootDirectory(): java.io.File;
			public setTempFileRootDirectory(param0: java.io.File): void;
			public removeStatusListener(param0: any, param1: any): void;
			public listPendingDownloads(): java.util.List<any>;
			public requestUpdateFileServices(param0: java.util.List<string>): void;
			public static create(param0: android.content.Context, param1: java.util.concurrent.Executor, param2: any): android.telephony.MbmsDownloadSession;
			public addProgressListener(param0: any, param1: java.util.concurrent.Executor, param2: any): void;
			public close(): void;
		}
	}
}

declare module android {
	export module telephony {
		export class MbmsStreamingSession extends java.lang.Object implements java.lang.AutoCloseable {
			public static class: java.lang.Class<android.telephony.MbmsStreamingSession>;
			public startStreaming(param0: any, param1: java.util.concurrent.Executor, param2: any): any;
			public static create(param0: android.content.Context, param1: java.util.concurrent.Executor, param2: any): android.telephony.MbmsStreamingSession;
			public requestUpdateStreamingServices(param0: java.util.List<string>): void;
			public static create(param0: android.content.Context, param1: java.util.concurrent.Executor, param2: number, param3: any): android.telephony.MbmsStreamingSession;
			public close(): void;
		}
	}
}

declare module android {
	export module telephony {
		export class NeighboringCellInfo extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.telephony.NeighboringCellInfo>;
			public static CREATOR: android.os.Parcelable.Creator<android.telephony.NeighboringCellInfo>;
			public static UNKNOWN_CID: number;
			public static UNKNOWN_RSSI: number;
			public getRssi(): number;
			public getNetworkType(): number;
			public getLac(): number;
			public getPsc(): number;
			/** @deprecated */
			public setRssi(param0: number): void;
			/** @deprecated */
			public setCid(param0: number): void;
			/** @deprecated */
			public constructor();
			public toString(): string;
			public constructor(param0: android.os.Parcel);
			public describeContents(): number;
			public constructor(param0: number, param1: string, param2: number);
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			/** @deprecated */
			public constructor(param0: number, param1: number);
			public getCid(): number;
		}
	}
}

declare module android {
	export module telephony {
		export class NetworkScan extends java.lang.Object {
			public static class: java.lang.Class<android.telephony.NetworkScan>;
			public static ERROR_INTERRUPTED: number;
			public static ERROR_INVALID_SCAN: number;
			public static ERROR_INVALID_SCANID: number;
			public static ERROR_MODEM_ERROR: number;
			public static ERROR_MODEM_UNAVAILABLE: number;
			public static ERROR_RADIO_INTERFACE_ERROR: number;
			public static ERROR_UNSUPPORTED: number;
			public static SUCCESS: number;
			public stopScan(): void;
		}
	}
}

declare module android {
	export module telephony {
		export class NetworkScanRequest extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.telephony.NetworkScanRequest>;
			public static CREATOR: android.os.Parcelable.Creator<android.telephony.NetworkScanRequest>;
			public static SCAN_TYPE_ONE_SHOT: number;
			public static SCAN_TYPE_PERIODIC: number;
			public equals(param0: any): boolean;
			public getSpecifiers(): native.Array<android.telephony.RadioAccessSpecifier>;
			public getPlmns(): java.util.ArrayList<string>;
			public getIncrementalResults(): boolean;
			public getMaxSearchTime(): number;
			public describeContents(): number;
			public getSearchPeriodicity(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public constructor(param0: number, param1: native.Array<android.telephony.RadioAccessSpecifier>, param2: number, param3: number, param4: boolean, param5: number, param6: java.util.ArrayList<string>);
			public getScanType(): number;
			public getIncrementalResultsPeriodicity(): number;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module telephony {
		export class PhoneNumberFormattingTextWatcher extends java.lang.Object implements android.text.TextWatcher {
			public static class: java.lang.Class<android.telephony.PhoneNumberFormattingTextWatcher>;
			public afterTextChanged(param0: android.text.Editable): void;
			public onTextChanged(param0: string, param1: number, param2: number, param3: number): void;
			public constructor();
			public beforeTextChanged(param0: string, param1: number, param2: number, param3: number): void;
			public constructor(param0: string);
		}
	}
}

declare module android {
	export module telephony {
		export class PhoneNumberUtils extends java.lang.Object {
			public static class: java.lang.Class<android.telephony.PhoneNumberUtils>;
			public static BCD_EXTENDED_TYPE_CALLED_PARTY: number;
			public static BCD_EXTENDED_TYPE_EF_ADN: number;
			public static FORMAT_JAPAN: number;
			public static FORMAT_NANP: number;
			public static FORMAT_UNKNOWN: number;
			public static PAUSE: string;
			public static TOA_International: number;
			public static TOA_Unknown: number;
			public static WAIT: string;
			public static WILD: string;
			public static compare(param0: string, param1: string): boolean;
			public static isStartsPostDial(param0: string): boolean;
			public static getStrippedReversed(param0: string): string;
			public static networkPortionToCalledPartyBCD(param0: string): native.Array<number>;
			/** @deprecated */
			public static formatNumber(param0: android.text.Editable, param1: number): void;
			public static isISODigit(param0: string): boolean;
			public static isDialable(param0: string): boolean;
			public static isGlobalPhoneNumber(param0: string): boolean;
			public static extractPostDialPortion(param0: string): string;
			public static isNonSeparator(param0: string): boolean;
			public static normalizeNumber(param0: string): string;
			public static isEmergencyNumber(param0: string): boolean;
			public static toCallerIDMinMatch(param0: string): string;
			public static compare(param0: android.content.Context, param1: string, param2: string): boolean;
			public static toaFromString(param0: string): number;
			public static isVoiceMailNumber(param0: string): boolean;
			public static extractNetworkPortion(param0: string): string;
			public static networkPortionToCalledPartyBCDWithLength(param0: string): native.Array<number>;
			/** @deprecated */
			public static formatNumber(param0: string): string;
			/** @deprecated */
			public static getFormatTypeForLocale(param0: java.util.Locale): number;
			public static formatNumber(param0: string, param1: string): string;
			public static calledPartyBCDFragmentToString(param0: native.Array<number>, param1: number, param2: number, param3: number): string;
			public static formatNumberToE164(param0: string, param1: string): string;
			public static formatNumber(param0: string, param1: string, param2: string): string;
			public static calledPartyBCDToString(param0: native.Array<number>, param1: number, param2: number, param3: number): string;
			public static createTtsSpan(param0: string): android.text.style.TtsSpan;
			/** @deprecated */
			public static formatJapaneseNumber(param0: android.text.Editable): void;
			/** @deprecated */
			public static calledPartyBCDToString(param0: native.Array<number>, param1: number, param2: number): string;
			/** @deprecated */
			public static formatNanpNumber(param0: android.text.Editable): void;
			public constructor();
			/** @deprecated */
			public static numberToCalledPartyBCD(param0: string): native.Array<number>;
			public static is12Key(param0: string): boolean;
			/** @deprecated */
			public static calledPartyBCDFragmentToString(param0: native.Array<number>, param1: number, param2: number): string;
			public static convertKeypadLettersToDigits(param0: string): string;
			public static addTtsSpan(param0: android.text.Spannable, param1: number, param2: number): void;
			public static stringFromStringAndTOA(param0: string, param1: number): string;
			public static isReallyDialable(param0: string): boolean;
			public static createTtsSpannable(param0: string): string;
			public static isWellFormedSmsAddress(param0: string): boolean;
			public static stripSeparators(param0: string): string;
			public static numberToCalledPartyBCD(param0: string, param1: number): native.Array<number>;
			public static getNumberFromIntent(param0: android.content.Intent, param1: android.content.Context): string;
			public static replaceUnicodeDigits(param0: string): string;
			public static formatNumberToRFC3966(param0: string, param1: string): string;
			public static isLocalEmergencyNumber(param0: android.content.Context, param1: string): boolean;
		}
	}
}

declare module android {
	export module telephony {
		export class PhoneStateListener extends java.lang.Object {
			public static class: java.lang.Class<android.telephony.PhoneStateListener>;
			public static LISTEN_CALL_FORWARDING_INDICATOR: number;
			public static LISTEN_CALL_STATE: number;
			public static LISTEN_CELL_INFO: number;
			public static LISTEN_CELL_LOCATION: number;
			public static LISTEN_DATA_ACTIVITY: number;
			public static LISTEN_DATA_CONNECTION_STATE: number;
			public static LISTEN_MESSAGE_WAITING_INDICATOR: number;
			public static LISTEN_NONE: number;
			public static LISTEN_SERVICE_STATE: number;
			public static LISTEN_SIGNAL_STRENGTH: number;
			public static LISTEN_SIGNAL_STRENGTHS: number;
			public static LISTEN_USER_MOBILE_DATA_STATE: number;
			public onMessageWaitingIndicatorChanged(param0: boolean): void;
			public onServiceStateChanged(param0: android.telephony.ServiceState): void;
			public onDataActivity(param0: number): void;
			public onSignalStrengthsChanged(param0: android.telephony.SignalStrength): void;
			public onCellInfoChanged(param0: java.util.List<android.telephony.CellInfo>): void;
			public constructor();
			/** @deprecated */
			public onSignalStrengthChanged(param0: number): void;
			public onDataConnectionStateChanged(param0: number, param1: number): void;
			public onCallForwardingIndicatorChanged(param0: boolean): void;
			public onCellLocationChanged(param0: android.telephony.CellLocation): void;
			public onCallStateChanged(param0: number, param1: string): void;
			public onDataConnectionStateChanged(param0: number): void;
			public onUserMobileDataStateChanged(param0: boolean): void;
		}
	}
}

declare module android {
	export module telephony {
		export class RadioAccessSpecifier extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.telephony.RadioAccessSpecifier>;
			public static CREATOR: android.os.Parcelable.Creator<android.telephony.RadioAccessSpecifier>;
			public equals(param0: any): boolean;
			public getRadioAccessNetwork(): number;
			public constructor(param0: number, param1: native.Array<number>, param2: native.Array<number>);
			public getChannels(): native.Array<number>;
			public describeContents(): number;
			public getBands(): native.Array<number>;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module telephony {
		export class ServiceState extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.telephony.ServiceState>;
			public static CREATOR: android.os.Parcelable.Creator<android.telephony.ServiceState>;
			public static DUPLEX_MODE_FDD: number;
			public static DUPLEX_MODE_TDD: number;
			public static DUPLEX_MODE_UNKNOWN: number;
			public static STATE_EMERGENCY_ONLY: number;
			public static STATE_IN_SERVICE: number;
			public static STATE_OUT_OF_SERVICE: number;
			public static STATE_POWER_OFF: number;
			public static UNKNOWN_ID: number;
			public equals(param0: any): boolean;
			public setState(param0: number): void;
			public setStateOff(): void;
			public getOperatorAlphaLong(): string;
			public getOperatorAlphaShort(): string;
			public setRoaming(param0: boolean): void;
			public getOperatorNumeric(): string;
			public constructor(param0: android.os.Parcel);
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getRoaming(): boolean;
			public getState(): number;
			public copyFrom(param0: android.telephony.ServiceState): void;
			public getCdmaNetworkId(): number;
			public setStateOutOfService(): void;
			public constructor(param0: android.telephony.ServiceState);
			public setIsManualSelection(param0: boolean): void;
			public constructor();
			public getCellBandwidths(): native.Array<number>;
			public setOperatorName(param0: string, param1: string, param2: string): void;
			public getChannelNumber(): number;
			public toString(): string;
			public getCdmaSystemId(): number;
			public getDuplexMode(): number;
			public describeContents(): number;
			public getIsManualSelection(): boolean;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module telephony {
		export class SignalStrength extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.telephony.SignalStrength>;
			public getEvdoSnr(): number;
			public isGsm(): boolean;
			public equals(param0: any): boolean;
			public getGsmSignalStrength(): number;
			public getCdmaEcio(): number;
			public getLevel(): number;
			public getCdmaDbm(): number;
			public toString(): string;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getEvdoEcio(): number;
			public getGsmBitErrorRate(): number;
			public getEvdoDbm(): number;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module telephony {
		export class SmsManager extends java.lang.Object {
			public static class: java.lang.Class<android.telephony.SmsManager>;
			public static EXTRA_MMS_DATA: string;
			public static EXTRA_MMS_HTTP_STATUS: string;
			public static MMS_CONFIG_ALIAS_ENABLED: string;
			public static MMS_CONFIG_ALIAS_MAX_CHARS: string;
			public static MMS_CONFIG_ALIAS_MIN_CHARS: string;
			public static MMS_CONFIG_ALLOW_ATTACH_AUDIO: string;
			public static MMS_CONFIG_APPEND_TRANSACTION_ID: string;
			public static MMS_CONFIG_EMAIL_GATEWAY_NUMBER: string;
			public static MMS_CONFIG_GROUP_MMS_ENABLED: string;
			public static MMS_CONFIG_HTTP_PARAMS: string;
			public static MMS_CONFIG_HTTP_SOCKET_TIMEOUT: string;
			public static MMS_CONFIG_MAX_IMAGE_HEIGHT: string;
			public static MMS_CONFIG_MAX_IMAGE_WIDTH: string;
			public static MMS_CONFIG_MAX_MESSAGE_SIZE: string;
			public static MMS_CONFIG_MESSAGE_TEXT_MAX_SIZE: string;
			public static MMS_CONFIG_MMS_DELIVERY_REPORT_ENABLED: string;
			public static MMS_CONFIG_MMS_ENABLED: string;
			public static MMS_CONFIG_MMS_READ_REPORT_ENABLED: string;
			public static MMS_CONFIG_MULTIPART_SMS_ENABLED: string;
			public static MMS_CONFIG_NAI_SUFFIX: string;
			public static MMS_CONFIG_NOTIFY_WAP_MMSC_ENABLED: string;
			public static MMS_CONFIG_RECIPIENT_LIMIT: string;
			public static MMS_CONFIG_SEND_MULTIPART_SMS_AS_SEPARATE_MESSAGES: string;
			public static MMS_CONFIG_SHOW_CELL_BROADCAST_APP_LINKS: string;
			public static MMS_CONFIG_SMS_DELIVERY_REPORT_ENABLED: string;
			public static MMS_CONFIG_SMS_TO_MMS_TEXT_LENGTH_THRESHOLD: string;
			public static MMS_CONFIG_SMS_TO_MMS_TEXT_THRESHOLD: string;
			public static MMS_CONFIG_SUBJECT_MAX_LENGTH: string;
			public static MMS_CONFIG_SUPPORT_HTTP_CHARSET_HEADER: string;
			public static MMS_CONFIG_SUPPORT_MMS_CONTENT_DISPOSITION: string;
			public static MMS_CONFIG_UA_PROF_TAG_NAME: string;
			public static MMS_CONFIG_UA_PROF_URL: string;
			public static MMS_CONFIG_USER_AGENT: string;
			public static MMS_ERROR_CONFIGURATION_ERROR: number;
			public static MMS_ERROR_HTTP_FAILURE: number;
			public static MMS_ERROR_INVALID_APN: number;
			public static MMS_ERROR_IO_ERROR: number;
			public static MMS_ERROR_NO_DATA_NETWORK: number;
			public static MMS_ERROR_RETRY: number;
			public static MMS_ERROR_UNABLE_CONNECT_MMS: number;
			public static MMS_ERROR_UNSPECIFIED: number;
			public static RESULT_ERROR_GENERIC_FAILURE: number;
			public static RESULT_ERROR_LIMIT_EXCEEDED: number;
			public static RESULT_ERROR_NO_SERVICE: number;
			public static RESULT_ERROR_NULL_PDU: number;
			public static RESULT_ERROR_RADIO_OFF: number;
			public static RESULT_ERROR_SHORT_CODE_NEVER_ALLOWED: number;
			public static RESULT_ERROR_SHORT_CODE_NOT_ALLOWED: number;
			public static STATUS_ON_ICC_FREE: number;
			public static STATUS_ON_ICC_READ: number;
			public static STATUS_ON_ICC_SENT: number;
			public static STATUS_ON_ICC_UNREAD: number;
			public static STATUS_ON_ICC_UNSENT: number;
			public static getSmsManagerForSubscriptionId(param0: number): android.telephony.SmsManager;
			public sendDataMessage(param0: string, param1: string, param2: number, param3: native.Array<number>, param4: android.app.PendingIntent, param5: android.app.PendingIntent): void;
			public downloadMultimediaMessage(param0: android.content.Context, param1: string, param2: android.net.Uri, param3: android.os.Bundle, param4: android.app.PendingIntent): void;
			public divideMessage(param0: string): java.util.ArrayList<string>;
			public sendTextMessage(param0: string, param1: string, param2: string, param3: android.app.PendingIntent, param4: android.app.PendingIntent): void;
			public injectSmsPdu(param0: native.Array<number>, param1: string, param2: android.app.PendingIntent): void;
			public getCarrierConfigValues(): android.os.Bundle;
			public createAppSpecificSmsToken(param0: android.app.PendingIntent): string;
			public sendMultipartTextMessage(param0: string, param1: string, param2: java.util.ArrayList<string>, param3: java.util.ArrayList<android.app.PendingIntent>, param4: java.util.ArrayList<android.app.PendingIntent>): void;
			public getSubscriptionId(): number;
			public sendMultimediaMessage(param0: android.content.Context, param1: android.net.Uri, param2: string, param3: android.os.Bundle, param4: android.app.PendingIntent): void;
			public static getDefaultSmsSubscriptionId(): number;
			public sendTextMessageWithoutPersisting(param0: string, param1: string, param2: string, param3: android.app.PendingIntent, param4: android.app.PendingIntent): void;
			public static getDefault(): android.telephony.SmsManager;
		}
	}
}

declare module android {
	export module telephony {
		export class SmsMessage extends java.lang.Object {
			public static class: java.lang.Class<android.telephony.SmsMessage>;
			public static ENCODING_16BIT: number;
			public static ENCODING_7BIT: number;
			public static ENCODING_8BIT: number;
			public static ENCODING_UNKNOWN: number;
			public static FORMAT_3GPP: string;
			public static FORMAT_3GPP2: string;
			public static MAX_USER_DATA_BYTES: number;
			public static MAX_USER_DATA_BYTES_WITH_HEADER: number;
			public static MAX_USER_DATA_SEPTETS: number;
			public static MAX_USER_DATA_SEPTETS_WITH_HEADER: number;
			public isReplace(): boolean;
			/** @deprecated */
			public getIndexOnSim(): number;
			public getEmailBody(): string;
			public getMessageClass(): android.telephony.SmsMessage.MessageClass;
			public isStatusReportMessage(): boolean;
			public static getSubmitPdu(param0: string, param1: string, param2: number, param3: native.Array<number>, param4: boolean): android.telephony.SmsMessage.SubmitPdu;
			public getTimestampMillis(): number;
			/** @deprecated */
			public getStatusOnSim(): number;
			public getPseudoSubject(): string;
			public getEmailFrom(): string;
			/** @deprecated */
			public static createFromPdu(param0: native.Array<number>): android.telephony.SmsMessage;
			public isCphsMwiMessage(): boolean;
			public getStatus(): number;
			public getProtocolIdentifier(): number;
			public getDisplayOriginatingAddress(): string;
			public static createFromPdu(param0: native.Array<number>, param1: string): android.telephony.SmsMessage;
			public getDisplayMessageBody(): string;
			public getOriginatingAddress(): string;
			public getServiceCenterAddress(): string;
			public getIndexOnIcc(): number;
			public static calculateLength(param0: string, param1: boolean): native.Array<number>;
			public isMwiDontStore(): boolean;
			public static getTPLayerLengthForPDU(param0: string): number;
			public getPdu(): native.Array<number>;
			public getUserData(): native.Array<number>;
			public getStatusOnIcc(): number;
			public getMessageBody(): string;
			public isMWIClearMessage(): boolean;
			public static getSubmitPdu(param0: string, param1: string, param2: string, param3: boolean): android.telephony.SmsMessage.SubmitPdu;
			public isEmail(): boolean;
			public isMWISetMessage(): boolean;
			public isReplyPathPresent(): boolean;
		}
		export module SmsMessage {
			export class MessageClass {
				public static class: java.lang.Class<android.telephony.SmsMessage.MessageClass>;
				public static UNKNOWN: android.telephony.SmsMessage.MessageClass;
				public static CLASS_0: android.telephony.SmsMessage.MessageClass;
				public static CLASS_1: android.telephony.SmsMessage.MessageClass;
				public static CLASS_2: android.telephony.SmsMessage.MessageClass;
				public static CLASS_3: android.telephony.SmsMessage.MessageClass;
				public static values(): native.Array<android.telephony.SmsMessage.MessageClass>;
				public static valueOf(param0: string): android.telephony.SmsMessage.MessageClass;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			}
			export class SubmitPdu extends java.lang.Object {
				public static class: java.lang.Class<android.telephony.SmsMessage.SubmitPdu>;
				public encodedMessage: native.Array<number>;
				public encodedScAddress: native.Array<number>;
				public toString(): string;
			}
		}
	}
}

declare module android {
	export module telephony {
		export class SubscriptionInfo extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.telephony.SubscriptionInfo>;
			public static CREATOR: android.os.Parcelable.Creator<android.telephony.SubscriptionInfo>;
			public createIconBitmap(param0: android.content.Context): android.graphics.Bitmap;
			public getCountryIso(): string;
			public getNumber(): string;
			public getMnc(): number;
			public getSimSlotIndex(): number;
			public getIconTint(): number;
			public getCarrierName(): string;
			public toString(): string;
			public getIccId(): string;
			public getSubscriptionId(): number;
			public getMcc(): number;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getDataRoaming(): number;
			public isEmbedded(): boolean;
			public getDisplayName(): string;
		}
	}
}

declare module android {
	export module telephony {
		export class SubscriptionManager extends java.lang.Object {
			public static class: java.lang.Class<android.telephony.SubscriptionManager>;
			public static ACTION_DEFAULT_SMS_SUBSCRIPTION_CHANGED: string;
			public static ACTION_DEFAULT_SUBSCRIPTION_CHANGED: string;
			public static ACTION_MANAGE_SUBSCRIPTION_PLANS: string;
			public static ACTION_REFRESH_SUBSCRIPTION_PLANS: string;
			public static DATA_ROAMING_DISABLE: number;
			public static DATA_ROAMING_ENABLE: number;
			public static EXTRA_SUBSCRIPTION_INDEX: string;
			public static INVALID_SUBSCRIPTION_ID: number;
			public getActiveSubscriptionInfo(param0: number): android.telephony.SubscriptionInfo;
			/** @deprecated */
			public static from(param0: android.content.Context): android.telephony.SubscriptionManager;
			public static getDefaultDataSubscriptionId(): number;
			public setSubscriptionOverrideUnmetered(param0: number, param1: boolean, param2: number): void;
			public getAccessibleSubscriptionInfoList(): java.util.List<android.telephony.SubscriptionInfo>;
			public setSubscriptionOverrideCongested(param0: number, param1: boolean, param2: number): void;
			public isNetworkRoaming(param0: number): boolean;
			public canManageSubscription(param0: android.telephony.SubscriptionInfo): boolean;
			public setSubscriptionPlans(param0: number, param1: java.util.List<android.telephony.SubscriptionPlan>): void;
			public getActiveSubscriptionInfoCountMax(): number;
			public getActiveSubscriptionInfoForSimSlotIndex(param0: number): android.telephony.SubscriptionInfo;
			public static getDefaultSubscriptionId(): number;
			public getSubscriptionPlans(param0: number): java.util.List<android.telephony.SubscriptionPlan>;
			public removeOnSubscriptionsChangedListener(param0: android.telephony.SubscriptionManager.OnSubscriptionsChangedListener): void;
			public getActiveSubscriptionInfoCount(): number;
			public static getDefaultSmsSubscriptionId(): number;
			public getActiveSubscriptionInfoList(): java.util.List<android.telephony.SubscriptionInfo>;
			public addOnSubscriptionsChangedListener(param0: android.telephony.SubscriptionManager.OnSubscriptionsChangedListener): void;
			public static getDefaultVoiceSubscriptionId(): number;
		}
		export module SubscriptionManager {
			export class OnSubscriptionsChangedListener extends java.lang.Object {
				public static class: java.lang.Class<android.telephony.SubscriptionManager.OnSubscriptionsChangedListener>;
				public onSubscriptionsChanged(): void;
				public constructor();
			}
		}
	}
}

declare module android {
	export module telephony {
		export class SubscriptionPlan extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.telephony.SubscriptionPlan>;
			public static BYTES_UNKNOWN: number;
			public static BYTES_UNLIMITED: number;
			public static CREATOR: android.os.Parcelable.Creator<android.telephony.SubscriptionPlan>;
			public static LIMIT_BEHAVIOR_BILLED: number;
			public static LIMIT_BEHAVIOR_DISABLED: number;
			public static LIMIT_BEHAVIOR_THROTTLED: number;
			public static LIMIT_BEHAVIOR_UNKNOWN: number;
			public static TIME_UNKNOWN: number;
			public equals(param0: any): boolean;
			public getTitle(): string;
			public getDataLimitBytes(): number;
			public toString(): string;
			public getDataLimitBehavior(): number;
			public getSummary(): string;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getDataUsageBytes(): number;
			public getDataUsageTime(): number;
			public cycleIterator(): java.util.Iterator<android.util.Range<java.time.ZonedDateTime>>;
			public hashCode(): number;
		}
		export module SubscriptionPlan {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.telephony.SubscriptionPlan.Builder>;
				public build(): android.telephony.SubscriptionPlan;
				public setDataLimit(param0: number, param1: number): android.telephony.SubscriptionPlan.Builder;
				public static createNonrecurring(param0: java.time.ZonedDateTime, param1: java.time.ZonedDateTime): android.telephony.SubscriptionPlan.Builder;
				public static createRecurring(param0: java.time.ZonedDateTime, param1: java.time.Period): android.telephony.SubscriptionPlan.Builder;
				public setSummary(param0: string): android.telephony.SubscriptionPlan.Builder;
				public setTitle(param0: string): android.telephony.SubscriptionPlan.Builder;
				public setDataUsage(param0: number, param1: number): android.telephony.SubscriptionPlan.Builder;
			}
		}
	}
}

declare module android {
	export module telephony {
		export class TelephonyManager extends java.lang.Object {
			public static class: java.lang.Class<android.telephony.TelephonyManager>;
			public static ACTION_CONFIGURE_VOICEMAIL: string;
			public static ACTION_PHONE_STATE_CHANGED: string;
			public static ACTION_RESPOND_VIA_MESSAGE: string;
			public static ACTION_SHOW_VOICEMAIL_NOTIFICATION: string;
			public static ACTION_SUBSCRIPTION_CARRIER_IDENTITY_CHANGED: string;
			public static APPTYPE_CSIM: number;
			public static APPTYPE_ISIM: number;
			public static APPTYPE_RUIM: number;
			public static APPTYPE_SIM: number;
			public static APPTYPE_USIM: number;
			public static AUTHTYPE_EAP_AKA: number;
			public static AUTHTYPE_EAP_SIM: number;
			public static CALL_STATE_IDLE: number;
			public static CALL_STATE_OFFHOOK: number;
			public static CALL_STATE_RINGING: number;
			public static CDMA_ROAMING_MODE_AFFILIATED: number;
			public static CDMA_ROAMING_MODE_ANY: number;
			public static CDMA_ROAMING_MODE_HOME: number;
			public static CDMA_ROAMING_MODE_RADIO_DEFAULT: number;
			public static DATA_ACTIVITY_DORMANT: number;
			public static DATA_ACTIVITY_IN: number;
			public static DATA_ACTIVITY_INOUT: number;
			public static DATA_ACTIVITY_NONE: number;
			public static DATA_ACTIVITY_OUT: number;
			public static DATA_CONNECTED: number;
			public static DATA_CONNECTING: number;
			public static DATA_DISCONNECTED: number;
			public static DATA_SUSPENDED: number;
			public static EXTRA_CALL_VOICEMAIL_INTENT: string;
			public static EXTRA_CARRIER_ID: string;
			public static EXTRA_CARRIER_NAME: string;
			public static EXTRA_HIDE_PUBLIC_SETTINGS: string;
			public static EXTRA_INCOMING_NUMBER: string;
			public static EXTRA_IS_REFRESH: string;
			public static EXTRA_LAUNCH_VOICEMAIL_SETTINGS_INTENT: string;
			public static EXTRA_NOTIFICATION_COUNT: string;
			public static EXTRA_PHONE_ACCOUNT_HANDLE: string;
			public static EXTRA_STATE: string;
			public static EXTRA_STATE_IDLE: string;
			public static EXTRA_STATE_OFFHOOK: string;
			public static EXTRA_STATE_RINGING: string;
			public static EXTRA_SUBSCRIPTION_ID: string;
			public static EXTRA_VOICEMAIL_NUMBER: string;
			public static METADATA_HIDE_VOICEMAIL_SETTINGS_MENU: string;
			public static NETWORK_TYPE_1xRTT: number;
			public static NETWORK_TYPE_CDMA: number;
			public static NETWORK_TYPE_EDGE: number;
			public static NETWORK_TYPE_EHRPD: number;
			public static NETWORK_TYPE_EVDO_0: number;
			public static NETWORK_TYPE_EVDO_A: number;
			public static NETWORK_TYPE_EVDO_B: number;
			public static NETWORK_TYPE_GPRS: number;
			public static NETWORK_TYPE_GSM: number;
			public static NETWORK_TYPE_HSDPA: number;
			public static NETWORK_TYPE_HSPA: number;
			public static NETWORK_TYPE_HSPAP: number;
			public static NETWORK_TYPE_HSUPA: number;
			public static NETWORK_TYPE_IDEN: number;
			public static NETWORK_TYPE_IWLAN: number;
			public static NETWORK_TYPE_LTE: number;
			public static NETWORK_TYPE_TD_SCDMA: number;
			public static NETWORK_TYPE_UMTS: number;
			public static NETWORK_TYPE_UNKNOWN: number;
			public static PHONE_TYPE_CDMA: number;
			public static PHONE_TYPE_GSM: number;
			public static PHONE_TYPE_NONE: number;
			public static PHONE_TYPE_SIP: number;
			public static SIM_STATE_ABSENT: number;
			public static SIM_STATE_CARD_IO_ERROR: number;
			public static SIM_STATE_CARD_RESTRICTED: number;
			public static SIM_STATE_NETWORK_LOCKED: number;
			public static SIM_STATE_NOT_READY: number;
			public static SIM_STATE_PERM_DISABLED: number;
			public static SIM_STATE_PIN_REQUIRED: number;
			public static SIM_STATE_PUK_REQUIRED: number;
			public static SIM_STATE_READY: number;
			public static SIM_STATE_UNKNOWN: number;
			public static UNKNOWN_CARRIER_ID: number;
			public static USSD_ERROR_SERVICE_UNAVAIL: number;
			public static USSD_RETURN_FAILURE: number;
			public static VVM_TYPE_CVVM: string;
			public static VVM_TYPE_OMTP: string;
			public setVoiceMailNumber(param0: string, param1: string): boolean;
			public getCallState(): number;
			public iccExchangeSimIO(param0: number, param1: number, param2: number, param3: number, param4: number, param5: string): native.Array<number>;
			public isVoiceCapable(): boolean;
			public getNetworkOperatorName(): string;
			public getVisualVoicemailPackageName(): string;
			public setOperatorBrandOverride(param0: string): boolean;
			public isDataEnabled(): boolean;
			public getPhoneCount(): number;
			/** @deprecated */
			public isTtyModeSupported(): boolean;
			public isSmsCapable(): boolean;
			public getForbiddenPlmns(): native.Array<string>;
			/** @deprecated */
			public setVoicemailVibrationEnabled(param0: android.telecom.PhoneAccountHandle, param1: boolean): void;
			public getNetworkOperator(): string;
			/** @deprecated */
			public setVoicemailRingtoneUri(param0: android.telecom.PhoneAccountHandle, param1: android.net.Uri): void;
			/** @deprecated */
			public getCellLocation(): android.telephony.CellLocation;
			public getVoiceNetworkType(): number;
			public getNetworkSpecifier(): string;
			/** @deprecated */
			public getDeviceId(param0: number): string;
			public iccTransmitApduBasicChannel(param0: number, param1: number, param2: number, param3: number, param4: number, param5: string): string;
			public getIccAuthentication(param0: number, param1: number, param2: string): string;
			public getNetworkCountryIso(): string;
			public setNetworkSelectionModeAutomatic(): void;
			public getSimOperator(): string;
			public canChangeDtmfToneLength(): boolean;
			public getNetworkType(): number;
			public getDataState(): number;
			/** @deprecated */
			public iccOpenLogicalChannel(param0: string): android.telephony.IccOpenLogicalChannelResponse;
			public iccOpenLogicalChannel(param0: string, param1: number): android.telephony.IccOpenLogicalChannelResponse;
			public isConcurrentVoiceAndDataSupported(): boolean;
			public getSimCountryIso(): string;
			public getMmsUAProfUrl(): string;
			public getMeid(): string;
			public setDataEnabled(param0: boolean): void;
			public getCarrierConfig(): any;
			public getVoiceMailNumber(): string;
			public isHearingAidCompatibilitySupported(): boolean;
			public getNai(): string;
			public setPreferredNetworkTypeToGlobal(): boolean;
			public createForSubscriptionId(param0: number): android.telephony.TelephonyManager;
			public getSubscriberId(): string;
			public getMmsUserAgent(): string;
			public getVoiceMailAlphaTag(): string;
			public getDeviceSoftwareVersion(): string;
			public getSignalStrength(): android.telephony.SignalStrength;
			public sendVisualVoicemailSms(param0: string, param1: number, param2: string, param3: android.app.PendingIntent): void;
			public getServiceState(): android.telephony.ServiceState;
			public getLine1Number(): string;
			public sendUssdRequest(param0: string, param1: android.telephony.TelephonyManager.UssdResponseCallback, param2: android.os.Handler): void;
			public getVoicemailRingtoneUri(param0: android.telecom.PhoneAccountHandle): android.net.Uri;
			public hasCarrierPrivileges(): boolean;
			public getSimCarrierIdName(): string;
			public getImei(param0: number): string;
			public getSimOperatorName(): string;
			public listen(param0: android.telephony.PhoneStateListener, param1: number): void;
			public setNetworkSelectionModeManual(param0: string, param1: boolean): boolean;
			public createForPhoneAccountHandle(param0: android.telecom.PhoneAccountHandle): android.telephony.TelephonyManager;
			public getDataNetworkType(): number;
			public iccCloseLogicalChannel(param0: number): boolean;
			public getAllCellInfo(): java.util.List<android.telephony.CellInfo>;
			public isVoicemailVibrationEnabled(param0: android.telecom.PhoneAccountHandle): boolean;
			public getImei(): string;
			/** @deprecated */
			public getNeighboringCellInfo(): java.util.List<android.telephony.NeighboringCellInfo>;
			public iccTransmitApduLogicalChannel(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: string): string;
			public hasIccCard(): boolean;
			public sendEnvelopeWithStatus(param0: string): string;
			/** @deprecated */
			public getDeviceId(): string;
			public sendDialerSpecialCode(param0: string): void;
			public setLine1NumberForDisplay(param0: string, param1: string): boolean;
			public getPhoneType(): number;
			public getSimState(param0: number): number;
			public getSimState(): number;
			public isNetworkRoaming(): boolean;
			public getGroupIdLevel1(): string;
			public isWorldPhone(): boolean;
			public getSimSerialNumber(): string;
			public getSimCarrierId(): number;
			public setVisualVoicemailSmsFilterSettings(param0: android.telephony.VisualVoicemailSmsFilterSettings): void;
			public getDataActivity(): number;
			public getMeid(param0: number): string;
			public requestNetworkScan(param0: android.telephony.NetworkScanRequest, param1: java.util.concurrent.Executor, param2: android.telephony.TelephonyScanManager.NetworkScanCallback): android.telephony.NetworkScan;
		}
		export module TelephonyManager {
			export abstract class UssdResponseCallback extends java.lang.Object {
				public static class: java.lang.Class<android.telephony.TelephonyManager.UssdResponseCallback>;
				public onReceiveUssdResponse(param0: android.telephony.TelephonyManager, param1: string, param2: string): void;
				public onReceiveUssdResponseFailed(param0: android.telephony.TelephonyManager, param1: string, param2: number): void;
				public constructor();
			}
		}
	}
}

declare module android {
	export module telephony {
		export class TelephonyScanManager extends java.lang.Object {
			public static class: java.lang.Class<android.telephony.TelephonyScanManager>;
			public constructor();
		}
		export module TelephonyScanManager {
			export abstract class NetworkScanCallback extends java.lang.Object {
				public static class: java.lang.Class<android.telephony.TelephonyScanManager.NetworkScanCallback>;
				public onComplete(): void;
				public onError(param0: number): void;
				public onResults(param0: java.util.List<android.telephony.CellInfo>): void;
				public constructor();
			}
		}
	}
}

declare module android {
	export module telephony {
		export abstract class VisualVoicemailService extends android.app.Service {
			public static class: java.lang.Class<android.telephony.VisualVoicemailService>;
			public static SERVICE_INTERFACE: string;
			public onSmsReceived(param0: android.telephony.VisualVoicemailService.VisualVoicemailTask, param1: android.telephony.VisualVoicemailSms): void;
			public onTrimMemory(param0: number): void;
			public onBind(param0: android.content.Intent): android.os.IBinder;
			public constructor(param0: android.content.Context);
			public onCellServiceConnected(param0: android.telephony.VisualVoicemailService.VisualVoicemailTask, param1: android.telecom.PhoneAccountHandle): void;
			public onStopped(param0: android.telephony.VisualVoicemailService.VisualVoicemailTask): void;
			public constructor();
			public onSimRemoved(param0: android.telephony.VisualVoicemailService.VisualVoicemailTask, param1: android.telecom.PhoneAccountHandle): void;
		}
		export module VisualVoicemailService {
			export class VisualVoicemailTask extends java.lang.Object {
				public static class: java.lang.Class<android.telephony.VisualVoicemailService.VisualVoicemailTask>;
				public hashCode(): number;
				public equals(param0: any): boolean;
				public finish(): void;
			}
		}
	}
}

declare module android {
	export module telephony {
		export class VisualVoicemailSms extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.telephony.VisualVoicemailSms>;
			public static CREATOR: android.os.Parcelable.Creator<android.telephony.VisualVoicemailSms>;
			public getFields(): android.os.Bundle;
			public getPhoneAccountHandle(): android.telecom.PhoneAccountHandle;
			public describeContents(): number;
			public getPrefix(): string;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getMessageBody(): string;
		}
	}
}

declare module android {
	export module telephony {
		export class VisualVoicemailSmsFilterSettings extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.telephony.VisualVoicemailSmsFilterSettings>;
			public static CREATOR: android.os.Parcelable.Creator<android.telephony.VisualVoicemailSmsFilterSettings>;
			public static DESTINATION_PORT_ANY: number;
			public static DESTINATION_PORT_DATA_SMS: number;
			public clientPrefix: string;
			public destinationPort: number;
			public originatingNumbers: java.util.List<string>;
			public toString(): string;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
		}
		export module VisualVoicemailSmsFilterSettings {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.telephony.VisualVoicemailSmsFilterSettings.Builder>;
				public build(): android.telephony.VisualVoicemailSmsFilterSettings;
				public setDestinationPort(param0: number): android.telephony.VisualVoicemailSmsFilterSettings.Builder;
				public setOriginatingNumbers(param0: java.util.List<string>): android.telephony.VisualVoicemailSmsFilterSettings.Builder;
				public setClientPrefix(param0: string): android.telephony.VisualVoicemailSmsFilterSettings.Builder;
				public constructor();
			}
		}
	}
}

declare module android {
	export module telephony {
		export module cdma {
			export class CdmaCellLocation extends android.telephony.CellLocation {
				public static class: java.lang.Class<android.telephony.cdma.CdmaCellLocation>;
				public fillInNotifierBundle(param0: android.os.Bundle): void;
				public setCellLocationData(param0: number, param1: number, param2: number, param3: number, param4: number): void;
				public constructor(param0: android.os.Bundle);
				public getBaseStationLongitude(): number;
				public setCellLocationData(param0: number, param1: number, param2: number): void;
				public getBaseStationLatitude(): number;
				public toString(): string;
				public constructor();
				public getNetworkId(): number;
				public setStateInvalid(): void;
				public getBaseStationId(): number;
				public hashCode(): number;
				public static convertQuartSecToDecDegrees(param0: number): number;
				public equals(param0: any): boolean;
				public getSystemId(): number;
			}
		}
	}
}

declare module android {
	export module telephony {
		export module data {
			export class ApnSetting extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.telephony.data.ApnSetting>;
				public static AUTH_TYPE_CHAP: number;
				public static AUTH_TYPE_NONE: number;
				public static AUTH_TYPE_PAP: number;
				public static AUTH_TYPE_PAP_OR_CHAP: number;
				public static CREATOR: android.os.Parcelable.Creator<android.telephony.data.ApnSetting>;
				public static MVNO_TYPE_GID: number;
				public static MVNO_TYPE_ICCID: number;
				public static MVNO_TYPE_IMSI: number;
				public static MVNO_TYPE_SPN: number;
				public static PROTOCOL_IP: number;
				public static PROTOCOL_IPV4V6: number;
				public static PROTOCOL_IPV6: number;
				public static PROTOCOL_PPP: number;
				public static TYPE_CBS: number;
				public static TYPE_DEFAULT: number;
				public static TYPE_DUN: number;
				public static TYPE_EMERGENCY: number;
				public static TYPE_FOTA: number;
				public static TYPE_HIPRI: number;
				public static TYPE_IA: number;
				public static TYPE_IMS: number;
				public static TYPE_MMS: number;
				public static TYPE_SUPL: number;
				public getUser(): string;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getApnName(): string;
				public getId(): number;
				public getProtocol(): number;
				public toString(): string;
				public getAuthType(): number;
				public getEntryName(): string;
				public getMmsc(): android.net.Uri;
				public getMmsProxyPort(): number;
				public getRoamingProtocol(): number;
				public equals(param0: any): boolean;
				public describeContents(): number;
				public getProxyAddress(): java.net.InetAddress;
				public getApnTypeBitmask(): number;
				public isEnabled(): boolean;
				public getPassword(): string;
				public getOperatorNumeric(): string;
				public getMvnoType(): number;
				public getMmsProxyAddress(): java.net.InetAddress;
				public getNetworkTypeBitmask(): number;
				public getProxyPort(): number;
			}
			export module ApnSetting {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.telephony.data.ApnSetting.Builder>;
					public setOperatorNumeric(param0: string): android.telephony.data.ApnSetting.Builder;
					public setProtocol(param0: number): android.telephony.data.ApnSetting.Builder;
					public setMmsProxyPort(param0: number): android.telephony.data.ApnSetting.Builder;
					public setMmsc(param0: android.net.Uri): android.telephony.data.ApnSetting.Builder;
					public setProxyAddress(param0: java.net.InetAddress): android.telephony.data.ApnSetting.Builder;
					public setMvnoType(param0: number): android.telephony.data.ApnSetting.Builder;
					public setCarrierEnabled(param0: boolean): android.telephony.data.ApnSetting.Builder;
					public setUser(param0: string): android.telephony.data.ApnSetting.Builder;
					public setApnTypeBitmask(param0: number): android.telephony.data.ApnSetting.Builder;
					public setAuthType(param0: number): android.telephony.data.ApnSetting.Builder;
					public build(): android.telephony.data.ApnSetting;
					public setEntryName(param0: string): android.telephony.data.ApnSetting.Builder;
					public setProxyPort(param0: number): android.telephony.data.ApnSetting.Builder;
					public setMmsProxyAddress(param0: java.net.InetAddress): android.telephony.data.ApnSetting.Builder;
					public constructor();
					public setApnName(param0: string): android.telephony.data.ApnSetting.Builder;
					public setNetworkTypeBitmask(param0: number): android.telephony.data.ApnSetting.Builder;
					public setRoamingProtocol(param0: number): android.telephony.data.ApnSetting.Builder;
					public setPassword(param0: string): android.telephony.data.ApnSetting.Builder;
				}
			}
		}
	}
}

declare module android {
	export module telephony {
		export module euicc {
			export class DownloadableSubscription extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.telephony.euicc.DownloadableSubscription>;
				public static CREATOR: android.os.Parcelable.Creator<android.telephony.euicc.DownloadableSubscription>;
				public getEncodedActivationCode(): string;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getConfirmationCode(): string;
				public static forActivationCode(param0: string): android.telephony.euicc.DownloadableSubscription;
				public describeContents(): number;
			}
		}
	}
}

declare module android {
	export module telephony {
		export module euicc {
			export class EuiccInfo extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.telephony.euicc.EuiccInfo>;
				public static CREATOR: android.os.Parcelable.Creator<android.telephony.euicc.EuiccInfo>;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getOsVersion(): string;
				public constructor(param0: string);
			}
		}
	}
}

declare module android {
	export module telephony {
		export module euicc {
			export class EuiccManager extends java.lang.Object {
				public static class: java.lang.Class<android.telephony.euicc.EuiccManager>;
				public static ACTION_MANAGE_EMBEDDED_SUBSCRIPTIONS: string;
				public static ACTION_NOTIFY_CARRIER_SETUP_INCOMPLETE: string;
				public static EMBEDDED_SUBSCRIPTION_RESULT_ERROR: number;
				public static EMBEDDED_SUBSCRIPTION_RESULT_OK: number;
				public static EMBEDDED_SUBSCRIPTION_RESULT_RESOLVABLE_ERROR: number;
				public static EXTRA_EMBEDDED_SUBSCRIPTION_DETAILED_CODE: string;
				public static EXTRA_EMBEDDED_SUBSCRIPTION_DOWNLOADABLE_SUBSCRIPTION: string;
				public static META_DATA_CARRIER_ICON: string;
				public downloadSubscription(param0: android.telephony.euicc.DownloadableSubscription, param1: boolean, param2: android.app.PendingIntent): void;
				public deleteSubscription(param0: number, param1: android.app.PendingIntent): void;
				public getEid(): string;
				public isEnabled(): boolean;
				public startResolutionActivity(param0: android.app.Activity, param1: number, param2: android.content.Intent, param3: android.app.PendingIntent): void;
				public getEuiccInfo(): android.telephony.euicc.EuiccInfo;
				public switchToSubscription(param0: number, param1: android.app.PendingIntent): void;
			}
		}
	}
}

declare module android {
	export module telephony {
		export module gsm {
			export class GsmCellLocation extends android.telephony.CellLocation {
				public static class: java.lang.Class<android.telephony.gsm.GsmCellLocation>;
				public fillInNotifierBundle(param0: android.os.Bundle): void;
				public setLacAndCid(param0: number, param1: number): void;
				public hashCode(): number;
				public constructor(param0: android.os.Bundle);
				public getCid(): number;
				public equals(param0: any): boolean;
				public getLac(): number;
				public toString(): string;
				public getPsc(): number;
				public constructor();
				public setStateInvalid(): void;
			}
		}
	}
}

declare module android {
	export module telephony {
		export module gsm {
			export class SmsManager extends java.lang.Object {
				public static class: java.lang.Class<android.telephony.gsm.SmsManager>;
				public static RESULT_ERROR_GENERIC_FAILURE: number;
				public static RESULT_ERROR_NO_SERVICE: number;
				public static RESULT_ERROR_NULL_PDU: number;
				public static RESULT_ERROR_RADIO_OFF: number;
				public static STATUS_ON_SIM_FREE: number;
				public static STATUS_ON_SIM_READ: number;
				public static STATUS_ON_SIM_SENT: number;
				public static STATUS_ON_SIM_UNREAD: number;
				public static STATUS_ON_SIM_UNSENT: number;
				/** @deprecated */
				public sendTextMessage(param0: string, param1: string, param2: string, param3: android.app.PendingIntent, param4: android.app.PendingIntent): void;
				/** @deprecated */
				public divideMessage(param0: string): java.util.ArrayList<string>;
				/** @deprecated */
				public sendDataMessage(param0: string, param1: string, param2: number, param3: native.Array<number>, param4: android.app.PendingIntent, param5: android.app.PendingIntent): void;
				/** @deprecated */
				public static getDefault(): android.telephony.gsm.SmsManager;
				/** @deprecated */
				public sendMultipartTextMessage(param0: string, param1: string, param2: java.util.ArrayList<string>, param3: java.util.ArrayList<android.app.PendingIntent>, param4: java.util.ArrayList<android.app.PendingIntent>): void;
			}
		}
	}
}

declare module android {
	export module telephony {
		export module gsm {
			export class SmsMessage extends java.lang.Object {
				public static class: java.lang.Class<android.telephony.gsm.SmsMessage>;
				public static ENCODING_16BIT: number;
				public static ENCODING_7BIT: number;
				public static ENCODING_8BIT: number;
				public static ENCODING_UNKNOWN: number;
				public static MAX_USER_DATA_BYTES: number;
				public static MAX_USER_DATA_SEPTETS: number;
				public static MAX_USER_DATA_SEPTETS_WITH_HEADER: number;
				/** @deprecated */
				public getDisplayMessageBody(): string;
				/** @deprecated */
				public static createFromPdu(param0: native.Array<number>): android.telephony.gsm.SmsMessage;
				/** @deprecated */
				public getServiceCenterAddress(): string;
				/** @deprecated */
				public getEmailFrom(): string;
				/** @deprecated */
				public getOriginatingAddress(): string;
				/** @deprecated */
				public getStatusOnSim(): number;
				/** @deprecated */
				public getTimestampMillis(): number;
				/** @deprecated */
				public getProtocolIdentifier(): number;
				/** @deprecated */
				public static calculateLength(param0: string, param1: boolean): native.Array<number>;
				/** @deprecated */
				public getIndexOnSim(): number;
				/** @deprecated */
				public getPdu(): native.Array<number>;
				/** @deprecated */
				public isReplace(): boolean;
				/** @deprecated */
				public static getSubmitPdu(param0: string, param1: string, param2: number, param3: native.Array<number>, param4: boolean): android.telephony.gsm.SmsMessage.SubmitPdu;
				/** @deprecated */
				public getStatus(): number;
				/** @deprecated */
				public isEmail(): boolean;
				/** @deprecated */
				public static getSubmitPdu(param0: string, param1: string, param2: string, param3: boolean): android.telephony.gsm.SmsMessage.SubmitPdu;
				/** @deprecated */
				public getMessageClass(): android.telephony.gsm.SmsMessage.MessageClass;
				/** @deprecated */
				public isMWISetMessage(): boolean;
				/** @deprecated */
				public getEmailBody(): string;
				/** @deprecated */
				public getPseudoSubject(): string;
				/** @deprecated */
				public isMWIClearMessage(): boolean;
				/** @deprecated */
				public isCphsMwiMessage(): boolean;
				/** @deprecated */
				public isReplyPathPresent(): boolean;
				/** @deprecated */
				public isStatusReportMessage(): boolean;
				/** @deprecated */
				public isMwiDontStore(): boolean;
				/** @deprecated */
				public getMessageBody(): string;
				/** @deprecated */
				public constructor();
				/** @deprecated */
				public getDisplayOriginatingAddress(): string;
				/** @deprecated */
				public getUserData(): native.Array<number>;
				/** @deprecated */
				public static getTPLayerLengthForPDU(param0: string): number;
			}
			export module SmsMessage {
				export class MessageClass {
					public static class: java.lang.Class<android.telephony.gsm.SmsMessage.MessageClass>;
					public static UNKNOWN: android.telephony.gsm.SmsMessage.MessageClass;
					public static CLASS_0: android.telephony.gsm.SmsMessage.MessageClass;
					public static CLASS_1: android.telephony.gsm.SmsMessage.MessageClass;
					public static CLASS_2: android.telephony.gsm.SmsMessage.MessageClass;
					public static CLASS_3: android.telephony.gsm.SmsMessage.MessageClass;
					public static valueOf(param0: string): android.telephony.gsm.SmsMessage.MessageClass;
					public static values(): native.Array<android.telephony.gsm.SmsMessage.MessageClass>;
					public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
				}
				export class SubmitPdu extends java.lang.Object {
					public static class: java.lang.Class<android.telephony.gsm.SmsMessage.SubmitPdu>;
					public encodedMessage: native.Array<number>;
					public encodedScAddress: native.Array<number>;
					public toString(): string;
					/** @deprecated */
					public constructor();
					/** @deprecated */
					public toString(): string;
				}
			}
		}
	}
}














declare module android {
	export module text {
		export class AlteredCharSequence extends java.lang.Object implements java.lang.CharSequence, android.text.GetChars {
			public static class: java.lang.Class<android.text.AlteredCharSequence>;
			public charAt(param0: number): string;
			public getChars(param0: number, param1: number, param2: native.Array<string>, param3: number): void;
			public subSequence(param0: number, param1: number): string;
			public toString(): string;
			public length(): number;
			public static make(param0: string, param1: native.Array<string>, param2: number, param3: number): android.text.AlteredCharSequence;
			public chars(): java.util.stream.IntStream;
			public codePoints(): java.util.stream.IntStream;
		}
	}
}

declare module android {
	export module text {
		export class AndroidCharacter extends java.lang.Object {
			public static class: java.lang.Class<android.text.AndroidCharacter>;
			public static EAST_ASIAN_WIDTH_AMBIGUOUS: number;
			public static EAST_ASIAN_WIDTH_FULL_WIDTH: number;
			public static EAST_ASIAN_WIDTH_HALF_WIDTH: number;
			public static EAST_ASIAN_WIDTH_NARROW: number;
			public static EAST_ASIAN_WIDTH_NEUTRAL: number;
			public static EAST_ASIAN_WIDTH_WIDE: number;
			public static getEastAsianWidth(param0: string): number;
			public static mirror(param0: native.Array<string>, param1: number, param2: number): boolean;
			public static getDirectionalities(param0: native.Array<string>, param1: native.Array<number>, param2: number): void;
			public static getEastAsianWidths(param0: native.Array<string>, param1: number, param2: number, param3: native.Array<number>): void;
			public constructor();
			public static getMirror(param0: string): string;
		}
	}
}

declare module android {
	export module text {
		export class Annotation extends java.lang.Object implements android.text.ParcelableSpan {
			public static class: java.lang.Class<android.text.Annotation>;
			public constructor(param0: string, param1: string);
			public getSpanTypeId(): number;
			public constructor(param0: android.os.Parcel);
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getKey(): string;
			public getValue(): string;
		}
	}
}

declare module android {
	export module text {
		export class AutoText extends java.lang.Object {
			public static class: java.lang.Class<android.text.AutoText>;
			public static get(param0: string, param1: number, param2: number, param3: android.view.View): string;
			public static getSize(param0: android.view.View): number;
		}
	}
}

declare module android {
	export module text {
		export class BidiFormatter extends java.lang.Object {
			public static class: java.lang.Class<android.text.BidiFormatter>;
			public static getInstance(param0: boolean): android.text.BidiFormatter;
			public unicodeWrap(param0: string, param1: any): string;
			public unicodeWrap(param0: string): string;
			public static getInstance(): android.text.BidiFormatter;
			public isRtlContext(): boolean;
			public unicodeWrap(param0: string, param1: boolean): string;
			public unicodeWrap(param0: string, param1: any, param2: boolean): string;
			public static getInstance(param0: java.util.Locale): android.text.BidiFormatter;
			public getStereoReset(): boolean;
			public isRtl(param0: string): boolean;
		}
		export module BidiFormatter {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.text.BidiFormatter.Builder>;
				public stereoReset(param0: boolean): android.text.BidiFormatter.Builder;
				public constructor(param0: java.util.Locale);
				public constructor(param0: boolean);
				public setTextDirectionHeuristic(param0: any): android.text.BidiFormatter.Builder;
				public build(): android.text.BidiFormatter;
				public constructor();
			}
		}
	}
}

declare module android {
	export module text {
		export class BoringLayout extends android.text.Layout implements android.text.TextUtils.EllipsizeCallback {
			public static class: java.lang.Class<android.text.BoringLayout>;
			public replaceOrMake(param0: string, param1: android.text.TextPaint, param2: number, param3: android.text.Layout.Alignment, param4: number, param5: number, param6: android.text.BoringLayout.Metrics, param7: boolean, param8: android.text.TextUtils.TruncateAt, param9: number): android.text.BoringLayout;
			public getEllipsisStart(param0: number): number;
			public getLineMax(param0: number): number;
			public getEllipsizedWidth(): number;
			public constructor(param0: string, param1: android.text.TextPaint, param2: number, param3: android.text.Layout.Alignment, param4: number, param5: number);
			public draw(param0: android.graphics.Canvas, param1: android.graphics.Path, param2: android.graphics.Paint, param3: number): void;
			public static isBoring(param0: string, param1: android.text.TextPaint): android.text.BoringLayout.Metrics;
			public replaceOrMake(param0: string, param1: android.text.TextPaint, param2: number, param3: android.text.Layout.Alignment, param4: number, param5: number, param6: android.text.BoringLayout.Metrics, param7: boolean): android.text.BoringLayout;
			public getEllipsisCount(param0: number): number;
			public ellipsized(param0: number, param1: number): void;
			public static make(param0: string, param1: android.text.TextPaint, param2: number, param3: android.text.Layout.Alignment, param4: number, param5: number, param6: android.text.BoringLayout.Metrics, param7: boolean, param8: android.text.TextUtils.TruncateAt, param9: number): android.text.BoringLayout;
			public getLineWidth(param0: number): number;
			public getLineCount(): number;
			public getParagraphDirection(param0: number): number;
			public getTopPadding(): number;
			public static make(param0: string, param1: android.text.TextPaint, param2: number, param3: android.text.Layout.Alignment, param4: number, param5: number, param6: android.text.BoringLayout.Metrics, param7: boolean): android.text.BoringLayout;
			public getLineContainsTab(param0: number): boolean;
			public constructor(param0: string, param1: android.text.TextPaint, param2: number, param3: android.text.Layout.Alignment, param4: number, param5: number, param6: android.text.BoringLayout.Metrics, param7: boolean);
			public getBottomPadding(): number;
			public draw(param0: android.graphics.Canvas): void;
			public getHeight(): number;
			public static isBoring(param0: string, param1: android.text.TextPaint, param2: android.text.BoringLayout.Metrics): android.text.BoringLayout.Metrics;
			public getLineStart(param0: number): number;
			public getLineTop(param0: number): number;
			public getLineDirections(param0: number): android.text.Layout.Directions;
			public getLineDescent(param0: number): number;
			public constructor(param0: string, param1: android.text.TextPaint, param2: number, param3: android.text.Layout.Alignment, param4: number, param5: number, param6: android.text.BoringLayout.Metrics, param7: boolean, param8: android.text.TextUtils.TruncateAt, param9: number);
		}
		export module BoringLayout {
			export class Metrics extends android.graphics.Paint.FontMetricsInt {
				public static class: java.lang.Class<android.text.BoringLayout.Metrics>;
				public width: number;
				public toString(): string;
				public constructor();
			}
		}
	}
}

declare module android {
	export module text {
		export abstract class ClipboardManager extends java.lang.Object {
			public static class: java.lang.Class<android.text.ClipboardManager>;
			public setText(param0: string): void;
			public hasText(): boolean;
			public getText(): string;
			public constructor();
		}
	}
}

declare module android {
	export module text {
		export class DynamicLayout extends android.text.Layout {
			public static class: java.lang.Class<android.text.DynamicLayout>;
			public getEllipsisStart(param0: number): number;
			public getEllipsizedWidth(): number;
			public constructor(param0: string, param1: android.text.TextPaint, param2: number, param3: android.text.Layout.Alignment, param4: number, param5: number);
			/** @deprecated */
			public constructor(param0: string, param1: string, param2: android.text.TextPaint, param3: number, param4: android.text.Layout.Alignment, param5: number, param6: number, param7: boolean);
			/** @deprecated */
			public constructor(param0: string, param1: string, param2: android.text.TextPaint, param3: number, param4: android.text.Layout.Alignment, param5: number, param6: number, param7: boolean, param8: android.text.TextUtils.TruncateAt, param9: number);
			public getEllipsisCount(param0: number): number;
			public getLineStart(param0: number): number;
			public getLineCount(): number;
			public getParagraphDirection(param0: number): number;
			public getLineTop(param0: number): number;
			public getLineDirections(param0: number): android.text.Layout.Directions;
			public getTopPadding(): number;
			public getLineContainsTab(param0: number): boolean;
			/** @deprecated */
			public constructor(param0: string, param1: android.text.TextPaint, param2: number, param3: android.text.Layout.Alignment, param4: number, param5: number, param6: boolean);
			public getLineDescent(param0: number): number;
			public getBottomPadding(): number;
		}
		export module DynamicLayout {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.text.DynamicLayout.Builder>;
				public setJustificationMode(param0: number): android.text.DynamicLayout.Builder;
				public setLineSpacing(param0: number, param1: number): android.text.DynamicLayout.Builder;
				public setEllipsize(param0: android.text.TextUtils.TruncateAt): android.text.DynamicLayout.Builder;
				public setBreakStrategy(param0: number): android.text.DynamicLayout.Builder;
				public static obtain(param0: string, param1: android.text.TextPaint, param2: number): android.text.DynamicLayout.Builder;
				public setUseLineSpacingFromFallbacks(param0: boolean): android.text.DynamicLayout.Builder;
				public setEllipsizedWidth(param0: number): android.text.DynamicLayout.Builder;
				public setHyphenationFrequency(param0: number): android.text.DynamicLayout.Builder;
				public setDisplayText(param0: string): android.text.DynamicLayout.Builder;
				public setTextDirection(param0: any): android.text.DynamicLayout.Builder;
				public build(): android.text.DynamicLayout;
				public setAlignment(param0: android.text.Layout.Alignment): android.text.DynamicLayout.Builder;
				public setIncludePad(param0: boolean): android.text.DynamicLayout.Builder;
			}
		}
	}
}

declare module android {
	export module text {
		export class Editable extends java.lang.Object implements java.lang.CharSequence, android.text.GetChars, android.text.Spannable, java.lang.Appendable {
			public static class: java.lang.Class<android.text.Editable>;
			/**
			 * Constructs a new instance of the android.text.Editable interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				replace(param0: number, param1: number, param2: string, param3: number, param4: number): android.text.Editable;
				replace(param0: number, param1: number, param2: string): android.text.Editable;
				insert(param0: number, param1: string, param2: number, param3: number): android.text.Editable;
				insert(param0: number, param1: string): android.text.Editable;
				delete(param0: number, param1: number): android.text.Editable;
				append(param0: string): android.text.Editable;
				append(param0: string, param1: number, param2: number): android.text.Editable;
				append(param0: string): android.text.Editable;
				clear(): void;
				clearSpans(): void;
				setFilters(param0: native.Array<android.text.InputFilter>): void;
				getFilters(): native.Array<android.text.InputFilter>;
				append(param0: string): java.lang.Appendable;
				append(param0: string, param1: number, param2: number): java.lang.Appendable;
				append(param0: string): java.lang.Appendable;
				length(): number;
				charAt(param0: number): string;
				subSequence(param0: number, param1: number): string;
				toString(): string;
				chars(): java.util.stream.IntStream;
				codePoints(): java.util.stream.IntStream;
				getChars(param0: number, param1: number, param2: native.Array<string>, param3: number): void;
				setSpan(param0: any, param1: number, param2: number, param3: number): void;
				removeSpan(param0: any): void;
				append(param0: string): java.lang.Appendable;
				append(param0: string, param1: number, param2: number): java.lang.Appendable;
				append(param0: string): java.lang.Appendable;
				length(): number;
				charAt(param0: number): string;
				subSequence(param0: number, param1: number): string;
				toString(): string;
				chars(): java.util.stream.IntStream;
				codePoints(): java.util.stream.IntStream;
				getSpans(param0: number, param1: number, param2: java.lang.Class<any>): native.Array<any>;
				getSpanStart(param0: any): number;
				getSpanEnd(param0: any): number;
				getSpanFlags(param0: any): number;
				nextSpanTransition(param0: number, param1: number, param2: java.lang.Class<any>): number;
				length(): number;
				charAt(param0: number): string;
				subSequence(param0: number, param1: number): string;
				toString(): string;
				chars(): java.util.stream.IntStream;
				codePoints(): java.util.stream.IntStream;
			});
			public constructor();
			public static SPAN_POINT_MARK: number;
			public static SPAN_USER_SHIFT: number;
			public static SPAN_INCLUSIVE_EXCLUSIVE: number;
			public static SPAN_EXCLUSIVE_EXCLUSIVE: number;
			public static SPAN_PRIORITY_SHIFT: number;
			public static SPAN_INCLUSIVE_INCLUSIVE: number;
			public static SPAN_EXCLUSIVE_INCLUSIVE: number;
			public static SPAN_MARK_POINT: number;
			public static SPAN_PRIORITY: number;
			public static SPAN_INTERMEDIATE: number;
			public static SPAN_USER: number;
			public static SPAN_POINT_MARK_MASK: number;
			public static SPAN_MARK_MARK: number;
			public static SPAN_PARAGRAPH: number;
			public static SPAN_POINT_POINT: number;
			public static SPAN_COMPOSING: number;
			public insert(param0: number, param1: string, param2: number, param3: number): android.text.Editable;
			public setFilters(param0: native.Array<android.text.InputFilter>): void;
			public getSpanEnd(param0: any): number;
			public getSpanFlags(param0: any): number;
			public delete(param0: number, param1: number): android.text.Editable;
			public append(param0: string): android.text.Editable;
			public getFilters(): native.Array<android.text.InputFilter>;
			public getChars(param0: number, param1: number, param2: native.Array<string>, param3: number): void;
			public subSequence(param0: number, param1: number): string;
			public replace(param0: number, param1: number, param2: string): android.text.Editable;
			public append(param0: string, param1: number, param2: number): android.text.Editable;
			public setSpan(param0: any, param1: number, param2: number, param3: number): void;
			public chars(): java.util.stream.IntStream;
			public codePoints(): java.util.stream.IntStream;
			public clear(): void;
			public length(): number;
			public clearSpans(): void;
			public insert(param0: number, param1: string): android.text.Editable;
			public append(param0: string, param1: number, param2: number): java.lang.Appendable;
			public getSpanStart(param0: any): number;
			public replace(param0: number, param1: number, param2: string, param3: number, param4: number): android.text.Editable;
			public charAt(param0: number): string;
			public toString(): string;
			public nextSpanTransition(param0: number, param1: number, param2: java.lang.Class<any>): number;
			public removeSpan(param0: any): void;
			public append(param0: string): java.lang.Appendable;
			public getSpans(param0: number, param1: number, param2: java.lang.Class<any>): native.Array<any>;
		}
		export module Editable {
			export class Factory extends java.lang.Object {
				public static class: java.lang.Class<android.text.Editable.Factory>;
				public static getInstance(): android.text.Editable.Factory;
				public newEditable(param0: string): android.text.Editable;
				public constructor();
			}
		}
	}
}

declare module android {
	export module text {
		export class GetChars extends java.lang.Object implements java.lang.CharSequence {
			public static class: java.lang.Class<android.text.GetChars>;
			/**
			 * Constructs a new instance of the android.text.GetChars interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				getChars(param0: number, param1: number, param2: native.Array<string>, param3: number): void;
				length(): number;
				charAt(param0: number): string;
				subSequence(param0: number, param1: number): string;
				toString(): string;
				chars(): java.util.stream.IntStream;
				codePoints(): java.util.stream.IntStream;
			});
			public constructor();
			public getChars(param0: number, param1: number, param2: native.Array<string>, param3: number): void;
			public charAt(param0: number): string;
			public subSequence(param0: number, param1: number): string;
			public toString(): string;
			public length(): number;
			public chars(): java.util.stream.IntStream;
			public codePoints(): java.util.stream.IntStream;
		}
	}
}

declare module android {
	export module text {
		export class Html extends java.lang.Object {
			public static class: java.lang.Class<android.text.Html>;
			public static FROM_HTML_MODE_COMPACT: number;
			public static FROM_HTML_MODE_LEGACY: number;
			public static FROM_HTML_OPTION_USE_CSS_COLORS: number;
			public static FROM_HTML_SEPARATOR_LINE_BREAK_BLOCKQUOTE: number;
			public static FROM_HTML_SEPARATOR_LINE_BREAK_DIV: number;
			public static FROM_HTML_SEPARATOR_LINE_BREAK_HEADING: number;
			public static FROM_HTML_SEPARATOR_LINE_BREAK_LIST: number;
			public static FROM_HTML_SEPARATOR_LINE_BREAK_LIST_ITEM: number;
			public static FROM_HTML_SEPARATOR_LINE_BREAK_PARAGRAPH: number;
			public static TO_HTML_PARAGRAPH_LINES_CONSECUTIVE: number;
			public static TO_HTML_PARAGRAPH_LINES_INDIVIDUAL: number;
			/** @deprecated */
			public static fromHtml(param0: string, param1: android.text.Html.ImageGetter, param2: android.text.Html.TagHandler): android.text.Spanned;
			public static fromHtml(param0: string, param1: number): android.text.Spanned;
			public static toHtml(param0: android.text.Spanned, param1: number): string;
			public static fromHtml(param0: string, param1: number, param2: android.text.Html.ImageGetter, param3: android.text.Html.TagHandler): android.text.Spanned;
			/** @deprecated */
			public static toHtml(param0: android.text.Spanned): string;
			public static escapeHtml(param0: string): string;
			/** @deprecated */
			public static fromHtml(param0: string): android.text.Spanned;
		}
		export module Html {
			export class ImageGetter extends java.lang.Object {
				public static class: java.lang.Class<android.text.Html.ImageGetter>;
				/**
				 * Constructs a new instance of the android.text.Html$ImageGetter interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getDrawable(param0: string): android.graphics.drawable.Drawable;
				});
				public constructor();
				public getDrawable(param0: string): android.graphics.drawable.Drawable;
			}
			export class TagHandler extends java.lang.Object {
				public static class: java.lang.Class<android.text.Html.TagHandler>;
				/**
				 * Constructs a new instance of the android.text.Html$TagHandler interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					handleTag(param0: boolean, param1: string, param2: android.text.Editable, param3: org.xml.sax.XMLReader): void;
				});
				public constructor();
				public handleTag(param0: boolean, param1: string, param2: android.text.Editable, param3: org.xml.sax.XMLReader): void;
			}
		}
	}
}

declare module android {
	export module text {
		export class InputFilter extends java.lang.Object {
			public static class: java.lang.Class<android.text.InputFilter>;
			/**
			 * Constructs a new instance of the android.text.InputFilter interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				filter(param0: string, param1: number, param2: number, param3: android.text.Spanned, param4: number, param5: number): string;
			});
			public constructor();
			public filter(param0: string, param1: number, param2: number, param3: android.text.Spanned, param4: number, param5: number): string;
		}
		export module InputFilter {
			export class AllCaps extends java.lang.Object implements android.text.InputFilter {
				public static class: java.lang.Class<android.text.InputFilter.AllCaps>;
				public constructor(param0: java.util.Locale);
				public filter(param0: string, param1: number, param2: number, param3: android.text.Spanned, param4: number, param5: number): string;
				public constructor();
			}
			export class LengthFilter extends java.lang.Object implements android.text.InputFilter {
				public static class: java.lang.Class<android.text.InputFilter.LengthFilter>;
				public getMax(): number;
				public constructor(param0: number);
				public filter(param0: string, param1: number, param2: number, param3: android.text.Spanned, param4: number, param5: number): string;
			}
		}
	}
}

declare module android {
	export module text {
		export class InputType extends java.lang.Object {
			public static class: java.lang.Class<android.text.InputType>;
			/**
			 * Constructs a new instance of the android.text.InputType interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
			});
			public constructor();
			public static TYPE_TEXT_VARIATION_FILTER: number;
			public static TYPE_TEXT_FLAG_AUTO_COMPLETE: number;
			public static TYPE_NUMBER_VARIATION_NORMAL: number;
			public static TYPE_TEXT_FLAG_CAP_CHARACTERS: number;
			public static TYPE_TEXT_VARIATION_EMAIL_ADDRESS: number;
			public static TYPE_CLASS_DATETIME: number;
			public static TYPE_TEXT_FLAG_CAP_SENTENCES: number;
			public static TYPE_NUMBER_VARIATION_PASSWORD: number;
			public static TYPE_TEXT_VARIATION_POSTAL_ADDRESS: number;
			public static TYPE_NUMBER_FLAG_DECIMAL: number;
			public static TYPE_TEXT_FLAG_MULTI_LINE: number;
			public static TYPE_MASK_CLASS: number;
			public static TYPE_DATETIME_VARIATION_NORMAL: number;
			public static TYPE_TEXT_FLAG_NO_SUGGESTIONS: number;
			public static TYPE_TEXT_VARIATION_PASSWORD: number;
			public static TYPE_TEXT_VARIATION_WEB_PASSWORD: number;
			public static TYPE_TEXT_VARIATION_SHORT_MESSAGE: number;
			public static TYPE_TEXT_VARIATION_VISIBLE_PASSWORD: number;
			public static TYPE_TEXT_VARIATION_URI: number;
			public static TYPE_DATETIME_VARIATION_TIME: number;
			public static TYPE_TEXT_VARIATION_LONG_MESSAGE: number;
			public static TYPE_TEXT_FLAG_CAP_WORDS: number;
			public static TYPE_TEXT_VARIATION_NORMAL: number;
			public static TYPE_MASK_FLAGS: number;
			public static TYPE_TEXT_VARIATION_WEB_EDIT_TEXT: number;
			public static TYPE_NULL: number;
			public static TYPE_TEXT_VARIATION_PHONETIC: number;
			public static TYPE_CLASS_PHONE: number;
			public static TYPE_MASK_VARIATION: number;
			public static TYPE_TEXT_VARIATION_EMAIL_SUBJECT: number;
			public static TYPE_TEXT_VARIATION_WEB_EMAIL_ADDRESS: number;
			public static TYPE_TEXT_FLAG_IME_MULTI_LINE: number;
			public static TYPE_TEXT_VARIATION_PERSON_NAME: number;
			public static TYPE_DATETIME_VARIATION_DATE: number;
			public static TYPE_NUMBER_FLAG_SIGNED: number;
			public static TYPE_TEXT_FLAG_AUTO_CORRECT: number;
			public static TYPE_CLASS_TEXT: number;
			public static TYPE_CLASS_NUMBER: number;
		}
	}
}

declare module android {
	export module text {
		export abstract class Layout extends java.lang.Object {
			public static class: java.lang.Class<android.text.Layout>;
			public static BREAK_STRATEGY_BALANCED: number;
			public static BREAK_STRATEGY_HIGH_QUALITY: number;
			public static BREAK_STRATEGY_SIMPLE: number;
			public static DEFAULT_LINESPACING_ADDITION: number;
			public static DEFAULT_LINESPACING_MULTIPLIER: number;
			public static DIR_LEFT_TO_RIGHT: number;
			public static DIR_RIGHT_TO_LEFT: number;
			public static HYPHENATION_FREQUENCY_FULL: number;
			public static HYPHENATION_FREQUENCY_NONE: number;
			public static HYPHENATION_FREQUENCY_NORMAL: number;
			public static JUSTIFICATION_MODE_INTER_WORD: number;
			public static JUSTIFICATION_MODE_NONE: number;
			public getEllipsisStart(param0: number): number;
			public getEllipsizedWidth(): number;
			public getLineMax(param0: number): number;
			public getOffsetToLeftOf(param0: number): number;
			public getParagraphLeft(param0: number): number;
			public draw(param0: android.graphics.Canvas, param1: android.graphics.Path, param2: android.graphics.Paint, param3: number): void;
			public getLineRight(param0: number): number;
			public getWidth(): number;
			public getLineWidth(param0: number): number;
			public getLineBottom(param0: number): number;
			public getLineCount(): number;
			public getCursorPath(param0: number, param1: android.graphics.Path, param2: string): void;
			public getSpacingAdd(): number;
			public getLineContainsTab(param0: number): boolean;
			public draw(param0: android.graphics.Canvas): void;
			public getSecondaryHorizontal(param0: number): number;
			public getLineBaseline(param0: number): number;
			public getHeight(): number;
			public isRtlCharAt(param0: number): boolean;
			public getText(): string;
			public static getDesiredWidth(param0: string, param1: number, param2: number, param3: android.text.TextPaint): number;
			public increaseWidthTo(param0: number): void;
			public getPrimaryHorizontal(param0: number): number;
			public getOffsetToRightOf(param0: number): number;
			public getAlignment(): android.text.Layout.Alignment;
			public getSpacingMultiplier(): number;
			public getLineTop(param0: number): number;
			public getLineLeft(param0: number): number;
			public isSpanned(): boolean;
			public getLineVisibleEnd(param0: number): number;
			public constructor(param0: string, param1: android.text.TextPaint, param2: number, param3: android.text.Layout.Alignment, param4: number, param5: number);
			public getEllipsisCount(param0: number): number;
			public getLineEnd(param0: number): number;
			public getOffsetForHorizontal(param0: number, param1: number): number;
			public getParagraphDirection(param0: number): number;
			public getTopPadding(): number;
			public getBottomPadding(): number;
			public getLineAscent(param0: number): number;
			public static getDesiredWidth(param0: string, param1: android.text.TextPaint): number;
			public getLineBounds(param0: number, param1: android.graphics.Rect): number;
			public getLineStart(param0: number): number;
			public getSelectionPath(param0: number, param1: number, param2: android.graphics.Path): void;
			public getPaint(): android.text.TextPaint;
			public getParagraphAlignment(param0: number): android.text.Layout.Alignment;
			public getLineForVertical(param0: number): number;
			public getLineForOffset(param0: number): number;
			public getLineDirections(param0: number): android.text.Layout.Directions;
			public getLineDescent(param0: number): number;
			public getParagraphRight(param0: number): number;
		}
		export module Layout {
			export class Alignment {
				public static class: java.lang.Class<android.text.Layout.Alignment>;
				public static ALIGN_NORMAL: android.text.Layout.Alignment;
				public static ALIGN_OPPOSITE: android.text.Layout.Alignment;
				public static ALIGN_CENTER: android.text.Layout.Alignment;
				public static ALIGN_LEFT: android.text.Layout.Alignment;
				public static ALIGN_RIGHT: android.text.Layout.Alignment;
				public static values(): native.Array<android.text.Layout.Alignment>;
				public static valueOf(param0: string): android.text.Layout.Alignment;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			}
			export class Directions extends java.lang.Object {
				public static class: java.lang.Class<android.text.Layout.Directions>;
			}
		}
	}
}

declare module android {
	export module text {
		export abstract class LoginFilter extends java.lang.Object implements android.text.InputFilter {
			public static class: java.lang.Class<android.text.LoginFilter>;
			public isAllowed(param0: string): boolean;
			public onInvalidCharacter(param0: string): void;
			public onStart(): void;
			public filter(param0: string, param1: number, param2: number, param3: android.text.Spanned, param4: number, param5: number): string;
			public onStop(): void;
		}
		export module LoginFilter {
			export class PasswordFilterGMail extends android.text.LoginFilter {
				public static class: java.lang.Class<android.text.LoginFilter.PasswordFilterGMail>;
				public isAllowed(param0: string): boolean;
				public constructor(param0: boolean);
				public filter(param0: string, param1: number, param2: number, param3: android.text.Spanned, param4: number, param5: number): string;
				public constructor();
			}
			export class UsernameFilterGMail extends android.text.LoginFilter {
				public static class: java.lang.Class<android.text.LoginFilter.UsernameFilterGMail>;
				public isAllowed(param0: string): boolean;
				public constructor(param0: boolean);
				public filter(param0: string, param1: number, param2: number, param3: android.text.Spanned, param4: number, param5: number): string;
				public constructor();
			}
			export class UsernameFilterGeneric extends android.text.LoginFilter {
				public static class: java.lang.Class<android.text.LoginFilter.UsernameFilterGeneric>;
				public isAllowed(param0: string): boolean;
				public constructor(param0: boolean);
				public filter(param0: string, param1: number, param2: number, param3: android.text.Spanned, param4: number, param5: number): string;
				public constructor();
			}
		}
	}
}

declare module android {
	export module text {
		export class NoCopySpan extends java.lang.Object {
			public static class: java.lang.Class<android.text.NoCopySpan>;
			/**
			 * Constructs a new instance of the android.text.NoCopySpan interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
			});
			public constructor();
		}
		export module NoCopySpan {
			export class Concrete extends java.lang.Object implements android.text.NoCopySpan {
				public static class: java.lang.Class<android.text.NoCopySpan.Concrete>;
				public constructor();
			}
		}
	}
}

declare module android {
	export module text {
		export class ParcelableSpan extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.text.ParcelableSpan>;
			/**
			 * Constructs a new instance of the android.text.ParcelableSpan interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				getSpanTypeId(): number;
				describeContents(): number;
				writeToParcel(param0: android.os.Parcel, param1: number): void;
			});
			public constructor();
			public static PARCELABLE_WRITE_RETURN_VALUE: number;
			public static CONTENTS_FILE_DESCRIPTOR: number;
			public getSpanTypeId(): number;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
		}
	}
}

declare module android {
	export module text {
		export class PrecomputedText extends java.lang.Object implements android.text.Spannable {
			public static class: java.lang.Class<any>;
			public getSpanEnd(param0: any): number;
			public getSpanFlags(param0: any): number;
			public length(): number;
			public getWidth(param0: number, param1: number): number;
			public getBounds(param0: number, param1: number, param2: android.graphics.Rect): void;
			public getSpanStart(param0: any): number;
			public getParams(): any;
			public getParagraphCount(): number;
			public getParagraphEnd(param0: number): number;
			public charAt(param0: number): string;
			public subSequence(param0: number, param1: number): string;
			public toString(): string;
			public nextSpanTransition(param0: number, param1: number, param2: java.lang.Class<any>): number;
			public setSpan(param0: any, param1: number, param2: number, param3: number): void;
			public getParagraphStart(param0: number): number;
			public static create(param0: string, param1: any): any;
			public removeSpan(param0: any): void;
			public getSpans(param0: number, param1: number, param2: java.lang.Class<any>): native.Array<any>;
			public chars(): java.util.stream.IntStream;
			public codePoints(): java.util.stream.IntStream;
		}
		export module PrecomputedText {
			export class Params extends java.lang.Object {
				public static class: java.lang.Class<any>;
				public hashCode(): number;
				public equals(param0: any): boolean;
				public getTextPaint(): android.text.TextPaint;
				public getTextDirection(): any;
				public toString(): string;
				public getBreakStrategy(): number;
				public getHyphenationFrequency(): number;
			}
			export module Params {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<any>;
					public setBreakStrategy(param0: number): any;
					public constructor(param0: android.text.TextPaint);
					public build(): any;
					public setHyphenationFrequency(param0: number): any;
					public setTextDirection(param0: any): any;
				}
			}
		}
	}
}

declare module android {
	export module text {
		export class Selection extends java.lang.Object {
			public static class: java.lang.Class<android.text.Selection>;
			public static SELECTION_END: any;
			public static SELECTION_START: any;
			public static moveDown(param0: android.text.Spannable, param1: android.text.Layout): boolean;
			public static moveUp(param0: android.text.Spannable, param1: android.text.Layout): boolean;
			public static extendUp(param0: android.text.Spannable, param1: android.text.Layout): boolean;
			public static extendSelection(param0: android.text.Spannable, param1: number): void;
			public static selectAll(param0: android.text.Spannable): void;
			public static extendLeft(param0: android.text.Spannable, param1: android.text.Layout): boolean;
			public static setSelection(param0: android.text.Spannable, param1: number): void;
			public static moveToLeftEdge(param0: android.text.Spannable, param1: android.text.Layout): boolean;
			public static moveLeft(param0: android.text.Spannable, param1: android.text.Layout): boolean;
			public static moveToRightEdge(param0: android.text.Spannable, param1: android.text.Layout): boolean;
			public static extendToLeftEdge(param0: android.text.Spannable, param1: android.text.Layout): boolean;
			public static moveRight(param0: android.text.Spannable, param1: android.text.Layout): boolean;
			public static setSelection(param0: android.text.Spannable, param1: number, param2: number): void;
			public static removeSelection(param0: android.text.Spannable): void;
			public static getSelectionEnd(param0: string): number;
			public static extendDown(param0: android.text.Spannable, param1: android.text.Layout): boolean;
			public static getSelectionStart(param0: string): number;
			public static extendRight(param0: android.text.Spannable, param1: android.text.Layout): boolean;
			public static extendToRightEdge(param0: android.text.Spannable, param1: android.text.Layout): boolean;
		}
	}
}

declare module android {
	export module text {
		export class SpanWatcher extends java.lang.Object implements android.text.NoCopySpan {
			public static class: java.lang.Class<android.text.SpanWatcher>;
			/**
			 * Constructs a new instance of the android.text.SpanWatcher interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				onSpanAdded(param0: android.text.Spannable, param1: any, param2: number, param3: number): void;
				onSpanRemoved(param0: android.text.Spannable, param1: any, param2: number, param3: number): void;
				onSpanChanged(param0: android.text.Spannable, param1: any, param2: number, param3: number, param4: number, param5: number): void;
			});
			public constructor();
			public onSpanAdded(param0: android.text.Spannable, param1: any, param2: number, param3: number): void;
			public onSpanChanged(param0: android.text.Spannable, param1: any, param2: number, param3: number, param4: number, param5: number): void;
			public onSpanRemoved(param0: android.text.Spannable, param1: any, param2: number, param3: number): void;
		}
	}
}

declare module android {
	export module text {
		export class Spannable extends java.lang.Object implements android.text.Spanned {
			public static class: java.lang.Class<android.text.Spannable>;
			/**
			 * Constructs a new instance of the android.text.Spannable interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				setSpan(param0: any, param1: number, param2: number, param3: number): void;
				removeSpan(param0: any): void;
				getSpans(param0: number, param1: number, param2: java.lang.Class<any>): native.Array<any>;
				getSpanStart(param0: any): number;
				getSpanEnd(param0: any): number;
				getSpanFlags(param0: any): number;
				nextSpanTransition(param0: number, param1: number, param2: java.lang.Class<any>): number;
				length(): number;
				charAt(param0: number): string;
				subSequence(param0: number, param1: number): string;
				toString(): string;
				chars(): java.util.stream.IntStream;
				codePoints(): java.util.stream.IntStream;
			});
			public constructor();
			public static SPAN_POINT_MARK: number;
			public static SPAN_USER_SHIFT: number;
			public static SPAN_INCLUSIVE_EXCLUSIVE: number;
			public static SPAN_EXCLUSIVE_EXCLUSIVE: number;
			public static SPAN_PRIORITY_SHIFT: number;
			public static SPAN_INCLUSIVE_INCLUSIVE: number;
			public static SPAN_EXCLUSIVE_INCLUSIVE: number;
			public static SPAN_MARK_POINT: number;
			public static SPAN_PRIORITY: number;
			public static SPAN_INTERMEDIATE: number;
			public static SPAN_USER: number;
			public static SPAN_POINT_MARK_MASK: number;
			public static SPAN_MARK_MARK: number;
			public static SPAN_PARAGRAPH: number;
			public static SPAN_POINT_POINT: number;
			public static SPAN_COMPOSING: number;
			public getSpanEnd(param0: any): number;
			public getSpanFlags(param0: any): number;
			public length(): number;
			public getSpanStart(param0: any): number;
			public charAt(param0: number): string;
			public subSequence(param0: number, param1: number): string;
			public toString(): string;
			public nextSpanTransition(param0: number, param1: number, param2: java.lang.Class<any>): number;
			public setSpan(param0: any, param1: number, param2: number, param3: number): void;
			public removeSpan(param0: any): void;
			public getSpans(param0: number, param1: number, param2: java.lang.Class<any>): native.Array<any>;
			public chars(): java.util.stream.IntStream;
			public codePoints(): java.util.stream.IntStream;
		}
		export module Spannable {
			export class Factory extends java.lang.Object {
				public static class: java.lang.Class<android.text.Spannable.Factory>;
				public static getInstance(): android.text.Spannable.Factory;
				public newSpannable(param0: string): android.text.Spannable;
				public constructor();
			}
		}
	}
}

declare module android {
	export module text {
		export class SpannableString extends java.lang.Object implements java.lang.CharSequence, android.text.GetChars, android.text.Spannable {
			public static class: java.lang.Class<android.text.SpannableString>;
			public equals(param0: any): boolean;
			public getSpanEnd(param0: any): number;
			public getSpanFlags(param0: any): number;
			public length(): number;
			public static valueOf(param0: string): android.text.SpannableString;
			public getSpanStart(param0: any): number;
			public getChars(param0: number, param1: number, param2: native.Array<string>, param3: number): void;
			public charAt(param0: number): string;
			public subSequence(param0: number, param1: number): string;
			public toString(): string;
			public nextSpanTransition(param0: number, param1: number, param2: java.lang.Class<any>): number;
			public setSpan(param0: any, param1: number, param2: number, param3: number): void;
			public removeSpan(param0: any): void;
			public constructor(param0: string);
			public getSpans(param0: number, param1: number, param2: java.lang.Class<any>): native.Array<any>;
			public hashCode(): number;
			public chars(): java.util.stream.IntStream;
			public codePoints(): java.util.stream.IntStream;
		}
	}
}

declare module android {
	export module text {
		export class SpannableStringBuilder extends java.lang.Object implements java.lang.CharSequence, android.text.GetChars, android.text.Spannable, android.text.Editable, java.lang.Appendable {
			public static class: java.lang.Class<android.text.SpannableStringBuilder>;
			public equals(param0: any): boolean;
			public setFilters(param0: native.Array<android.text.InputFilter>): void;
			public insert(param0: number, param1: string, param2: number, param3: number): android.text.Editable;
			public getSpanEnd(param0: any): number;
			public replace(param0: number, param1: number, param2: string): android.text.SpannableStringBuilder;
			public getSpanFlags(param0: any): number;
			public delete(param0: number, param1: number): android.text.Editable;
			public append(param0: string): android.text.Editable;
			public insert(param0: number, param1: string, param2: number, param3: number): android.text.SpannableStringBuilder;
			public append(param0: string, param1: number, param2: number): android.text.SpannableStringBuilder;
			public getFilters(): native.Array<android.text.InputFilter>;
			/** @deprecated */
			public getTextRunCursor(param0: number, param1: number, param2: number, param3: number, param4: number, param5: android.graphics.Paint): number;
			public getChars(param0: number, param1: number, param2: native.Array<string>, param3: number): void;
			public delete(param0: number, param1: number): android.text.SpannableStringBuilder;
			public subSequence(param0: number, param1: number): string;
			public replace(param0: number, param1: number, param2: string): android.text.Editable;
			public constructor(param0: string, param1: number, param2: number);
			public setSpan(param0: any, param1: number, param2: number, param3: number): void;
			public append(param0: string, param1: number, param2: number): android.text.Editable;
			public insert(param0: number, param1: string): android.text.SpannableStringBuilder;
			public getTextWatcherDepth(): number;
			public constructor(param0: string);
			public chars(): java.util.stream.IntStream;
			public codePoints(): java.util.stream.IntStream;
			public append(param0: string, param1: any, param2: number): android.text.SpannableStringBuilder;
			public clear(): void;
			public length(): number;
			public clearSpans(): void;
			public static valueOf(param0: string): android.text.SpannableStringBuilder;
			public insert(param0: number, param1: string): android.text.Editable;
			public replace(param0: number, param1: number, param2: string, param3: number, param4: number): android.text.SpannableStringBuilder;
			public append(param0: string, param1: number, param2: number): java.lang.Appendable;
			public constructor();
			public getSpanStart(param0: any): number;
			public replace(param0: number, param1: number, param2: string, param3: number, param4: number): android.text.Editable;
			public append(param0: string): android.text.SpannableStringBuilder;
			public charAt(param0: number): string;
			public toString(): string;
			public nextSpanTransition(param0: number, param1: number, param2: java.lang.Class<any>): number;
			public removeSpan(param0: any): void;
			public append(param0: string): java.lang.Appendable;
			public getSpans(param0: number, param1: number, param2: java.lang.Class<any>): native.Array<any>;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module text {
		export class Spanned extends java.lang.Object implements java.lang.CharSequence {
			public static class: java.lang.Class<android.text.Spanned>;
			/**
			 * Constructs a new instance of the android.text.Spanned interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				getSpans(param0: number, param1: number, param2: java.lang.Class<any>): native.Array<any>;
				getSpanStart(param0: any): number;
				getSpanEnd(param0: any): number;
				getSpanFlags(param0: any): number;
				nextSpanTransition(param0: number, param1: number, param2: java.lang.Class<any>): number;
				length(): number;
				charAt(param0: number): string;
				subSequence(param0: number, param1: number): string;
				toString(): string;
				chars(): java.util.stream.IntStream;
				codePoints(): java.util.stream.IntStream;
			});
			public constructor();
			public static SPAN_POINT_MARK: number;
			public static SPAN_USER_SHIFT: number;
			public static SPAN_INCLUSIVE_EXCLUSIVE: number;
			public static SPAN_EXCLUSIVE_EXCLUSIVE: number;
			public static SPAN_PRIORITY_SHIFT: number;
			public static SPAN_INCLUSIVE_INCLUSIVE: number;
			public static SPAN_EXCLUSIVE_INCLUSIVE: number;
			public static SPAN_MARK_POINT: number;
			public static SPAN_PRIORITY: number;
			public static SPAN_INTERMEDIATE: number;
			public static SPAN_USER: number;
			public static SPAN_POINT_MARK_MASK: number;
			public static SPAN_MARK_MARK: number;
			public static SPAN_PARAGRAPH: number;
			public static SPAN_POINT_POINT: number;
			public static SPAN_COMPOSING: number;
			public charAt(param0: number): string;
			public getSpanEnd(param0: any): number;
			public subSequence(param0: number, param1: number): string;
			public toString(): string;
			public getSpanFlags(param0: any): number;
			public nextSpanTransition(param0: number, param1: number, param2: java.lang.Class<any>): number;
			public length(): number;
			public getSpanStart(param0: any): number;
			public getSpans(param0: number, param1: number, param2: java.lang.Class<any>): native.Array<any>;
			public chars(): java.util.stream.IntStream;
			public codePoints(): java.util.stream.IntStream;
		}
	}
}

declare module android {
	export module text {
		export class SpannedString extends java.lang.Object implements java.lang.CharSequence, android.text.GetChars, android.text.Spanned {
			public static class: java.lang.Class<android.text.SpannedString>;
			public equals(param0: any): boolean;
			public getSpanEnd(param0: any): number;
			public getSpanFlags(param0: any): number;
			public length(): number;
			public getSpanStart(param0: any): number;
			public getChars(param0: number, param1: number, param2: native.Array<string>, param3: number): void;
			public charAt(param0: number): string;
			public subSequence(param0: number, param1: number): string;
			public toString(): string;
			public nextSpanTransition(param0: number, param1: number, param2: java.lang.Class<any>): number;
			public static valueOf(param0: string): android.text.SpannedString;
			public constructor(param0: string);
			public getSpans(param0: number, param1: number, param2: java.lang.Class<any>): native.Array<any>;
			public hashCode(): number;
			public chars(): java.util.stream.IntStream;
			public codePoints(): java.util.stream.IntStream;
		}
	}
}

declare module android {
	export module text {
		export class StaticLayout extends android.text.Layout {
			public static class: java.lang.Class<android.text.StaticLayout>;
			public getEllipsisStart(param0: number): number;
			public getEllipsizedWidth(): number;
			public constructor(param0: string, param1: android.text.TextPaint, param2: number, param3: android.text.Layout.Alignment, param4: number, param5: number);
			/** @deprecated */
			public constructor(param0: string, param1: number, param2: number, param3: android.text.TextPaint, param4: number, param5: android.text.Layout.Alignment, param6: number, param7: number, param8: boolean, param9: android.text.TextUtils.TruncateAt, param10: number);
			public getEllipsisCount(param0: number): number;
			public getLineStart(param0: number): number;
			public getLineCount(): number;
			public getParagraphDirection(param0: number): number;
			public getLineTop(param0: number): number;
			/** @deprecated */
			public constructor(param0: string, param1: number, param2: number, param3: android.text.TextPaint, param4: number, param5: android.text.Layout.Alignment, param6: number, param7: number, param8: boolean);
			public getLineForVertical(param0: number): number;
			public getLineDirections(param0: number): android.text.Layout.Directions;
			public getTopPadding(): number;
			public getLineContainsTab(param0: number): boolean;
			/** @deprecated */
			public constructor(param0: string, param1: android.text.TextPaint, param2: number, param3: android.text.Layout.Alignment, param4: number, param5: number, param6: boolean);
			public getLineDescent(param0: number): number;
			public getBottomPadding(): number;
		}
		export module StaticLayout {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.text.StaticLayout.Builder>;
				public setAlignment(param0: android.text.Layout.Alignment): android.text.StaticLayout.Builder;
				public setTextDirection(param0: any): android.text.StaticLayout.Builder;
				public setMaxLines(param0: number): android.text.StaticLayout.Builder;
				public setText(param0: string): android.text.StaticLayout.Builder;
				public build(): android.text.StaticLayout;
				public setHyphenationFrequency(param0: number): android.text.StaticLayout.Builder;
				public static obtain(param0: string, param1: number, param2: number, param3: android.text.TextPaint, param4: number): android.text.StaticLayout.Builder;
				public setBreakStrategy(param0: number): android.text.StaticLayout.Builder;
				public setJustificationMode(param0: number): android.text.StaticLayout.Builder;
				public setIncludePad(param0: boolean): android.text.StaticLayout.Builder;
				public setEllipsizedWidth(param0: number): android.text.StaticLayout.Builder;
				public setEllipsize(param0: android.text.TextUtils.TruncateAt): android.text.StaticLayout.Builder;
				public setIndents(param0: native.Array<number>, param1: native.Array<number>): android.text.StaticLayout.Builder;
				public setLineSpacing(param0: number, param1: number): android.text.StaticLayout.Builder;
				public setUseLineSpacingFromFallbacks(param0: boolean): android.text.StaticLayout.Builder;
			}
		}
	}
}

declare module android {
	export module text {
		export class TextDirectionHeuristic extends java.lang.Object {
			public static class: java.lang.Class<android.text.TextDirectionHeuristic>;
			/**
			 * Constructs a new instance of the android.text.TextDirectionHeuristic interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				isRtl(param0: native.Array<string>, param1: number, param2: number): boolean;
				isRtl(param0: string, param1: number, param2: number): boolean;
			});
			public constructor();
			public isRtl(param0: string, param1: number, param2: number): boolean;
			public isRtl(param0: native.Array<string>, param1: number, param2: number): boolean;
		}
	}
}

declare module android {
	export module text {
		export class TextDirectionHeuristics extends java.lang.Object {
			public static class: java.lang.Class<android.text.TextDirectionHeuristics>;
			public static ANYRTL_LTR: any;
			public static FIRSTSTRONG_LTR: any;
			public static FIRSTSTRONG_RTL: any;
			public static LOCALE: any;
			public static LTR: any;
			public static RTL: any;
			public constructor();
		}
	}
}

declare module android {
	export module text {
		export class TextPaint extends android.graphics.Paint {
			public static class: java.lang.Class<android.text.TextPaint>;
			public baselineShift: number;
			public bgColor: number;
			public density: number;
			public drawableState: native.Array<number>;
			public linkColor: number;
			public set(param0: android.graphics.Paint): void;
			public constructor(param0: number);
			public set(param0: android.text.TextPaint): void;
			public constructor();
			public constructor(param0: android.graphics.Paint);
		}
	}
}

declare module android {
	export module text {
		export class TextUtils extends java.lang.Object {
			public static class: java.lang.Class<android.text.TextUtils>;
			public static CAP_MODE_CHARACTERS: number;
			public static CAP_MODE_SENTENCES: number;
			public static CAP_MODE_WORDS: number;
			public static CHAR_SEQUENCE_CREATOR: android.os.Parcelable.Creator<string>;
			public equals(param0: any): boolean;
			public static lastIndexOf(param0: string, param1: string, param2: number, param3: number): number;
			public static listEllipsize(param0: android.content.Context, param1: java.util.List<string>, param2: string, param3: android.text.TextPaint, param4: number, param5: number): string;
			public static getChars(param0: string, param1: number, param2: number, param3: native.Array<string>, param4: number): void;
			public static copySpansFrom(param0: android.text.Spanned, param1: number, param2: number, param3: java.lang.Class<any>, param4: android.text.Spannable, param5: number): void;
			public static getOffsetBefore(param0: string, param1: number): number;
			public static getTrimmedLength(param0: string): number;
			public static htmlEncode(param0: string): string;
			public static regionMatches(param0: string, param1: number, param2: string, param3: number, param4: number): boolean;
			public static join(param0: string, param1: native.Array<any>): string;
			public static indexOf(param0: string, param1: string, param2: number, param3: number): number;
			/** @deprecated */
			public static isGraphic(param0: string): boolean;
			public static dumpSpans(param0: string, param1: android.util.Printer, param2: string): void;
			/** @deprecated */
			public static commaEllipsize(param0: string, param1: android.text.TextPaint, param2: number, param3: string, param4: string): string;
			public static expandTemplate(param0: string, param1: native.Array<string>): string;
			/** @deprecated */
			public static getReverse(param0: string, param1: number, param2: number): string;
			public static indexOf(param0: string, param1: string, param2: number): number;
			public static substring(param0: string, param1: number, param2: number): string;
			public static replace(param0: string, param1: native.Array<string>, param2: native.Array<string>): string;
			public static join(param0: string, param1: java.lang.Iterable<any>): string;
			public static ellipsize(param0: string, param1: android.text.TextPaint, param2: number, param3: android.text.TextUtils.TruncateAt): string;
			public static split(param0: string, param1: java.util.regex.Pattern): native.Array<string>;
			public static stringOrSpannedString(param0: string): string;
			public static isDigitsOnly(param0: string): boolean;
			public static getOffsetAfter(param0: string, param1: number): number;
			public static writeToParcel(param0: string, param1: android.os.Parcel, param2: number): void;
			public static lastIndexOf(param0: string, param1: string): number;
			public static equals(param0: string, param1: string): boolean;
			public static getLayoutDirectionFromLocale(param0: java.util.Locale): number;
			public static isGraphic(param0: string): boolean;
			public static ellipsize(param0: string, param1: android.text.TextPaint, param2: number, param3: android.text.TextUtils.TruncateAt, param4: boolean, param5: android.text.TextUtils.EllipsizeCallback): string;
			public static lastIndexOf(param0: string, param1: string, param2: number): number;
			public static split(param0: string, param1: string): native.Array<string>;
			public static indexOf(param0: string, param1: string): number;
			public static concat(param0: native.Array<string>): string;
			public static isEmpty(param0: string): boolean;
			public static getCapsMode(param0: string, param1: number, param2: number): number;
		}
		export module TextUtils {
			export class EllipsizeCallback extends java.lang.Object {
				public static class: java.lang.Class<android.text.TextUtils.EllipsizeCallback>;
				/**
				 * Constructs a new instance of the android.text.TextUtils$EllipsizeCallback interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					ellipsized(param0: number, param1: number): void;
				});
				public constructor();
				public ellipsized(param0: number, param1: number): void;
			}
			export class SimpleStringSplitter extends java.lang.Object {
				public static class: java.lang.Class<android.text.TextUtils.SimpleStringSplitter>;
				public remove(): void;
				public spliterator(): java.util.Spliterator<any>;
				public setString(param0: string): void;
				public iterator(): java.util.Iterator<string>;
				public hasNext(): boolean;
				public forEach(param0: any /* any*/): void;
				public next(): string;
				public iterator(): java.util.Iterator<any>;
				public constructor(param0: string);
			}
			export class StringSplitter extends java.lang.Iterable<string> {
				public static class: java.lang.Class<android.text.TextUtils.StringSplitter>;
				/**
				 * Constructs a new instance of the android.text.TextUtils$StringSplitter interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					setString(param0: string): void;
					iterator(): java.util.Iterator<any>;
					forEach(param0: any /* any*/): void;
					spliterator(): java.util.Spliterator<any>;
				});
				public constructor();
				public spliterator(): java.util.Spliterator<any>;
				public setString(param0: string): void;
				public forEach(param0: any /* any*/): void;
				public iterator(): java.util.Iterator<any>;
			}
			export class TruncateAt {
				public static class: java.lang.Class<android.text.TextUtils.TruncateAt>;
				public static START: android.text.TextUtils.TruncateAt;
				public static MIDDLE: android.text.TextUtils.TruncateAt;
				public static END: android.text.TextUtils.TruncateAt;
				public static MARQUEE: android.text.TextUtils.TruncateAt;
				public static END_SMALL: android.text.TextUtils.TruncateAt;
				public static valueOf(param0: string): android.text.TextUtils.TruncateAt;
				public static values(): native.Array<android.text.TextUtils.TruncateAt>;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			}
		}
	}
}

declare module android {
	export module text {
		export class TextWatcher extends java.lang.Object implements android.text.NoCopySpan {
			public static class: java.lang.Class<android.text.TextWatcher>;
			/**
			 * Constructs a new instance of the android.text.TextWatcher interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				beforeTextChanged(param0: string, param1: number, param2: number, param3: number): void;
				onTextChanged(param0: string, param1: number, param2: number, param3: number): void;
				afterTextChanged(param0: android.text.Editable): void;
			});
			public constructor();
			public afterTextChanged(param0: android.text.Editable): void;
			public onTextChanged(param0: string, param1: number, param2: number, param3: number): void;
			public beforeTextChanged(param0: string, param1: number, param2: number, param3: number): void;
		}
	}
}

declare module android {
	export module text {
		export module format {
			export class DateFormat extends java.lang.Object {
				public static class: java.lang.Class<android.text.format.DateFormat>;
				public static is24HourFormat(param0: android.content.Context): boolean;
				public static format(param0: string, param1: java.util.Calendar): string;
				public static getLongDateFormat(param0: android.content.Context): java.text.DateFormat;
				public static format(param0: string, param1: java.util.Date): string;
				public static getBestDateTimePattern(param0: java.util.Locale, param1: string): string;
				public static getTimeFormat(param0: android.content.Context): java.text.DateFormat;
				public static getDateFormat(param0: android.content.Context): java.text.DateFormat;
				public static getMediumDateFormat(param0: android.content.Context): java.text.DateFormat;
				public static format(param0: string, param1: number): string;
				public constructor();
				public static getDateFormatOrder(param0: android.content.Context): native.Array<string>;
			}
		}
	}
}

declare module android {
	export module text {
		export module format {
			export class DateUtils extends java.lang.Object {
				public static class: java.lang.Class<android.text.format.DateUtils>;
				public static ABBREV_MONTH_FORMAT: string;
				public static ABBREV_WEEKDAY_FORMAT: string;
				public static DAY_IN_MILLIS: number;
				public static FORMAT_12HOUR: number;
				public static FORMAT_24HOUR: number;
				public static FORMAT_ABBREV_ALL: number;
				public static FORMAT_ABBREV_MONTH: number;
				public static FORMAT_ABBREV_RELATIVE: number;
				public static FORMAT_ABBREV_TIME: number;
				public static FORMAT_ABBREV_WEEKDAY: number;
				public static FORMAT_CAP_AMPM: number;
				public static FORMAT_CAP_MIDNIGHT: number;
				public static FORMAT_CAP_NOON: number;
				public static FORMAT_CAP_NOON_MIDNIGHT: number;
				public static FORMAT_NO_MIDNIGHT: number;
				public static FORMAT_NO_MONTH_DAY: number;
				public static FORMAT_NO_NOON: number;
				public static FORMAT_NO_NOON_MIDNIGHT: number;
				public static FORMAT_NO_YEAR: number;
				public static FORMAT_NUMERIC_DATE: number;
				public static FORMAT_SHOW_DATE: number;
				public static FORMAT_SHOW_TIME: number;
				public static FORMAT_SHOW_WEEKDAY: number;
				public static FORMAT_SHOW_YEAR: number;
				public static FORMAT_UTC: number;
				public static HOUR_IN_MILLIS: number;
				public static HOUR_MINUTE_24: string;
				public static LENGTH_LONG: number;
				public static LENGTH_MEDIUM: number;
				public static LENGTH_SHORT: number;
				public static LENGTH_SHORTER: number;
				public static LENGTH_SHORTEST: number;
				public static MINUTE_IN_MILLIS: number;
				public static MONTH_DAY_FORMAT: string;
				public static MONTH_FORMAT: string;
				public static NUMERIC_MONTH_FORMAT: string;
				public static SECOND_IN_MILLIS: number;
				public static WEEKDAY_FORMAT: string;
				public static WEEK_IN_MILLIS: number;
				public static YEAR_FORMAT: string;
				public static YEAR_FORMAT_TWO_DIGITS: string;
				public static YEAR_IN_MILLIS: number;
				public static sameMonthTable: native.Array<number>;
				public static sameYearTable: native.Array<number>;
				/** @deprecated */
				public static getAMPMString(param0: number): string;
				public static formatSameDayTime(param0: number, param1: number, param2: number, param3: number): string;
				public static getRelativeTimeSpanString(param0: number, param1: number, param2: number): string;
				public static formatDateRange(param0: android.content.Context, param1: java.util.Formatter, param2: number, param3: number, param4: number): java.util.Formatter;
				public static getRelativeTimeSpanString(param0: number, param1: number, param2: number, param3: number): string;
				public static getRelativeTimeSpanString(param0: number): string;
				public static formatElapsedTime(param0: number): string;
				public static isToday(param0: number): boolean;
				public static formatDateRange(param0: android.content.Context, param1: number, param2: number, param3: number): string;
				public static formatElapsedTime(param0: java.lang.StringBuilder, param1: number): string;
				public static formatDateTime(param0: android.content.Context, param1: number, param2: number): string;
				public constructor();
				public static getRelativeTimeSpanString(param0: android.content.Context, param1: number, param2: boolean): string;
				public static getRelativeDateTimeString(param0: android.content.Context, param1: number, param2: number, param3: number, param4: number): string;
				/** @deprecated */
				public static getDayOfWeekString(param0: number, param1: number): string;
				/** @deprecated */
				public static getMonthString(param0: number, param1: number): string;
				public static getRelativeTimeSpanString(param0: android.content.Context, param1: number): string;
				public static formatDateRange(param0: android.content.Context, param1: java.util.Formatter, param2: number, param3: number, param4: number, param5: string): java.util.Formatter;
			}
		}
	}
}

declare module android {
	export module text {
		export module format {
			export class Formatter extends java.lang.Object {
				public static class: java.lang.Class<android.text.format.Formatter>;
				public static formatFileSize(param0: android.content.Context, param1: number): string;
				public static formatShortFileSize(param0: android.content.Context, param1: number): string;
				/** @deprecated */
				public static formatIpAddress(param0: number): string;
				public constructor();
			}
		}
	}
}

declare module android {
	export module text {
		export module format {
			export class Time extends java.lang.Object {
				public static class: java.lang.Class<android.text.format.Time>;
				public static EPOCH_JULIAN_DAY: number;
				public static FRIDAY: number;
				public static HOUR: number;
				public static MINUTE: number;
				public static MONDAY: number;
				public static MONDAY_BEFORE_JULIAN_EPOCH: number;
				public static MONTH: number;
				public static MONTH_DAY: number;
				public static SATURDAY: number;
				public static SECOND: number;
				public static SUNDAY: number;
				public static THURSDAY: number;
				public static TIMEZONE_UTC: string;
				public static TUESDAY: number;
				public static WEDNESDAY: number;
				public static WEEK_DAY: number;
				public static WEEK_NUM: number;
				public static YEAR: number;
				public static YEAR_DAY: number;
				public allDay: boolean;
				public gmtoff: number;
				public hour: number;
				public isDst: number;
				public minute: number;
				public month: number;
				public monthDay: number;
				public second: number;
				public timezone: string;
				public weekDay: number;
				public year: number;
				public yearDay: number;
				public before(param0: android.text.format.Time): boolean;
				public parse(param0: string): boolean;
				public set(param0: number): void;
				public set(param0: android.text.format.Time): void;
				public getWeekNumber(): number;
				public static getCurrentTimezone(): string;
				public switchTimezone(param0: string): void;
				public constructor(param0: string);
				public constructor();
				public setToNow(): void;
				public static getJulianDay(param0: number, param1: number): number;
				public setJulianDay(param0: number): number;
				public static getJulianMondayFromWeeksSinceEpoch(param0: number): number;
				public after(param0: android.text.format.Time): boolean;
				public format2445(): string;
				public static isEpoch(param0: android.text.format.Time): boolean;
				public format3339(param0: boolean): string;
				public static compare(param0: android.text.format.Time, param1: android.text.format.Time): number;
				public toMillis(param0: boolean): number;
				public normalize(param0: boolean): number;
				public toString(): string;
				public set(param0: number, param1: number, param2: number): void;
				public constructor(param0: android.text.format.Time);
				public clear(param0: string): void;
				public parse3339(param0: string): boolean;
				public format(param0: string): string;
				public static getWeeksSinceEpochFromJulianDay(param0: number, param1: number): number;
				public getActualMaximum(param0: number): number;
				public set(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number): void;
			}
		}
	}
}

declare module android {
	export module text {
		export module method {
			export class ArrowKeyMovementMethod extends android.text.method.BaseMovementMethod implements android.text.method.MovementMethod {
				public static class: java.lang.Class<android.text.method.ArrowKeyMovementMethod>;
				public lineStart(param0: android.widget.TextView, param1: android.text.Spannable): boolean;
				public up(param0: android.widget.TextView, param1: android.text.Spannable): boolean;
				public down(param0: android.widget.TextView, param1: android.text.Spannable): boolean;
				public handleMovementKey(param0: android.widget.TextView, param1: android.text.Spannable, param2: number, param3: number, param4: android.view.KeyEvent): boolean;
				public initialize(param0: android.widget.TextView, param1: android.text.Spannable): void;
				public home(param0: android.widget.TextView, param1: android.text.Spannable): boolean;
				public static getInstance(): android.text.method.MovementMethod;
				public onGenericMotionEvent(param0: android.widget.TextView, param1: android.text.Spannable, param2: android.view.MotionEvent): boolean;
				public bottom(param0: android.widget.TextView, param1: android.text.Spannable): boolean;
				public onTrackballEvent(param0: android.widget.TextView, param1: android.text.Spannable, param2: android.view.MotionEvent): boolean;
				public onKeyDown(param0: android.widget.TextView, param1: android.text.Spannable, param2: number, param3: android.view.KeyEvent): boolean;
				public onKeyUp(param0: android.widget.TextView, param1: android.text.Spannable, param2: number, param3: android.view.KeyEvent): boolean;
				public canSelectArbitrarily(): boolean;
				public end(param0: android.widget.TextView, param1: android.text.Spannable): boolean;
				public onTakeFocus(param0: android.widget.TextView, param1: android.text.Spannable, param2: number): void;
				public left(param0: android.widget.TextView, param1: android.text.Spannable): boolean;
				public right(param0: android.widget.TextView, param1: android.text.Spannable): boolean;
				public lineEnd(param0: android.widget.TextView, param1: android.text.Spannable): boolean;
				public onKeyOther(param0: android.widget.TextView, param1: android.text.Spannable, param2: android.view.KeyEvent): boolean;
				public constructor();
				public pageUp(param0: android.widget.TextView, param1: android.text.Spannable): boolean;
				public top(param0: android.widget.TextView, param1: android.text.Spannable): boolean;
				public pageDown(param0: android.widget.TextView, param1: android.text.Spannable): boolean;
				public onTouchEvent(param0: android.widget.TextView, param1: android.text.Spannable, param2: android.view.MotionEvent): boolean;
			}
		}
	}
}

declare module android {
	export module text {
		export module method {
			export abstract class BaseKeyListener extends android.text.method.MetaKeyKeyListener implements android.text.method.KeyListener {
				public static class: java.lang.Class<android.text.method.BaseKeyListener>;
				public backspace(param0: android.view.View, param1: android.text.Editable, param2: number, param3: android.view.KeyEvent): boolean;
				public clearMetaKeyState(param0: android.view.View, param1: android.text.Editable, param2: number): void;
				public onKeyUp(param0: android.view.View, param1: android.text.Editable, param2: number, param3: android.view.KeyEvent): boolean;
				public forwardDelete(param0: android.view.View, param1: android.text.Editable, param2: number, param3: android.view.KeyEvent): boolean;
				public getInputType(): number;
				public static clearMetaKeyState(param0: android.text.Editable, param1: number): void;
				public clearMetaKeyState(param0: number, param1: number): number;
				public onKeyOther(param0: android.view.View, param1: android.text.Editable, param2: android.view.KeyEvent): boolean;
				public onKeyDown(param0: android.view.View, param1: android.text.Editable, param2: number, param3: android.view.KeyEvent): boolean;
				public constructor();
			}
		}
	}
}

declare module android {
	export module text {
		export module method {
			export class BaseMovementMethod extends java.lang.Object implements android.text.method.MovementMethod {
				public static class: java.lang.Class<android.text.method.BaseMovementMethod>;
				public lineStart(param0: android.widget.TextView, param1: android.text.Spannable): boolean;
				public up(param0: android.widget.TextView, param1: android.text.Spannable): boolean;
				public down(param0: android.widget.TextView, param1: android.text.Spannable): boolean;
				public initialize(param0: android.widget.TextView, param1: android.text.Spannable): void;
				public handleMovementKey(param0: android.widget.TextView, param1: android.text.Spannable, param2: number, param3: number, param4: android.view.KeyEvent): boolean;
				public home(param0: android.widget.TextView, param1: android.text.Spannable): boolean;
				public onGenericMotionEvent(param0: android.widget.TextView, param1: android.text.Spannable, param2: android.view.MotionEvent): boolean;
				public onTrackballEvent(param0: android.widget.TextView, param1: android.text.Spannable, param2: android.view.MotionEvent): boolean;
				public bottom(param0: android.widget.TextView, param1: android.text.Spannable): boolean;
				public onKeyDown(param0: android.widget.TextView, param1: android.text.Spannable, param2: number, param3: android.view.KeyEvent): boolean;
				public onKeyUp(param0: android.widget.TextView, param1: android.text.Spannable, param2: number, param3: android.view.KeyEvent): boolean;
				public canSelectArbitrarily(): boolean;
				public onTakeFocus(param0: android.widget.TextView, param1: android.text.Spannable, param2: number): void;
				public getMovementMetaState(param0: android.text.Spannable, param1: android.view.KeyEvent): number;
				public end(param0: android.widget.TextView, param1: android.text.Spannable): boolean;
				public onKeyOther(param0: android.widget.TextView, param1: android.text.Spannable, param2: android.view.KeyEvent): boolean;
				public left(param0: android.widget.TextView, param1: android.text.Spannable): boolean;
				public right(param0: android.widget.TextView, param1: android.text.Spannable): boolean;
				public lineEnd(param0: android.widget.TextView, param1: android.text.Spannable): boolean;
				public constructor();
				public pageUp(param0: android.widget.TextView, param1: android.text.Spannable): boolean;
				public top(param0: android.widget.TextView, param1: android.text.Spannable): boolean;
				public pageDown(param0: android.widget.TextView, param1: android.text.Spannable): boolean;
				public onTouchEvent(param0: android.widget.TextView, param1: android.text.Spannable, param2: android.view.MotionEvent): boolean;
			}
		}
	}
}

declare module android {
	export module text {
		export module method {
			export class CharacterPickerDialog extends android.app.Dialog implements android.widget.AdapterView.OnItemClickListener, android.view.View.OnClickListener {
				public static class: java.lang.Class<android.text.method.CharacterPickerDialog>;
				public dispatchGenericMotionEvent(param0: android.view.MotionEvent): boolean;
				public onWindowStartingActionMode(param0: android.view.ActionMode.Callback): android.view.ActionMode;
				public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
				public onItemClick(param0: android.widget.AdapterView<any>, param1: android.view.View, param2: number, param3: number): void;
				public onProvideKeyboardShortcuts(param0: java.util.List<any>, param1: android.view.Menu, param2: number): void;
				public dismiss(): void;
				public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
				public dispatchPopulateAccessibilityEvent(param0: android.view.accessibility.AccessibilityEvent): boolean;
				public onPreparePanel(param0: number, param1: android.view.View, param2: android.view.Menu): boolean;
				public onSearchRequested(param0: any): boolean;
				public onMenuItemSelected(param0: number, param1: android.view.MenuItem): boolean;
				public onCreate(param0: android.os.Bundle): void;
				public onPanelClosed(param0: number, param1: android.view.Menu): void;
				public cancel(): void;
				public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
				public onCreatePanelView(param0: number): android.view.View;
				public onCreateContextMenu(param0: android.view.ContextMenu, param1: android.view.View, param2: android.view.ContextMenu.ContextMenuInfo): void;
				public onClick(param0: android.view.View): void;
				public onActionModeStarted(param0: android.view.ActionMode): void;
				public onMenuOpened(param0: number, param1: android.view.Menu): boolean;
				public constructor(param0: android.content.Context, param1: number);
				public dispatchTrackballEvent(param0: android.view.MotionEvent): boolean;
				public onWindowStartingActionMode(param0: android.view.ActionMode.Callback, param1: number): android.view.ActionMode;
				public constructor(param0: android.content.Context, param1: android.view.View, param2: android.text.Editable, param3: string, param4: boolean);
				public onPointerCaptureChanged(param0: boolean): void;
				public onActionModeFinished(param0: android.view.ActionMode): void;
				public dispatchKeyShortcutEvent(param0: android.view.KeyEvent): boolean;
				public constructor(param0: android.content.Context, param1: boolean, param2: android.content.DialogInterface.OnCancelListener);
				public onWindowAttributesChanged(param0: android.view.WindowManager.LayoutParams): void;
				public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
				public onContentChanged(): void;
				public onItemClick(param0: android.widget.AdapterView<any>, param1: android.view.View, param2: number, param3: number): void;
				public constructor(param0: android.content.Context);
				public dispatchKeyEvent(param0: android.view.KeyEvent): boolean;
				public onCreatePanelMenu(param0: number, param1: android.view.Menu): boolean;
				public onDetachedFromWindow(): void;
				public dispatchTouchEvent(param0: android.view.MotionEvent): boolean;
				public onSearchRequested(): boolean;
				public onWindowFocusChanged(param0: boolean): void;
				public onAttachedToWindow(): void;
			}
		}
	}
}

declare module android {
	export module text {
		export module method {
			export class DateKeyListener extends android.text.method.NumberKeyListener {
				public static class: java.lang.Class<android.text.method.DateKeyListener>;
				public static CHARACTERS: native.Array<string>;
				public getAcceptedChars(): native.Array<string>;
				public clearMetaKeyState(param0: android.view.View, param1: android.text.Editable, param2: number): void;
				public onKeyUp(param0: android.view.View, param1: android.text.Editable, param2: number, param3: android.view.KeyEvent): boolean;
				public clearMetaKeyState(param0: number, param1: number): number;
				/** @deprecated */
				public static getInstance(): android.text.method.DateKeyListener;
				public constructor(param0: java.util.Locale);
				public onKeyDown(param0: android.view.View, param1: android.text.Editable, param2: number, param3: android.view.KeyEvent): boolean;
				public filter(param0: string, param1: number, param2: number, param3: android.text.Spanned, param4: number, param5: number): string;
				public constructor();
				/** @deprecated */
				public constructor();
				public getInputType(): number;
				public static clearMetaKeyState(param0: android.text.Editable, param1: number): void;
				public onKeyOther(param0: android.view.View, param1: android.text.Editable, param2: android.view.KeyEvent): boolean;
				public static getInstance(param0: java.util.Locale): android.text.method.DateKeyListener;
			}
		}
	}
}

declare module android {
	export module text {
		export module method {
			export class DateTimeKeyListener extends android.text.method.NumberKeyListener {
				public static class: java.lang.Class<android.text.method.DateTimeKeyListener>;
				public static CHARACTERS: native.Array<string>;
				public getAcceptedChars(): native.Array<string>;
				public clearMetaKeyState(param0: android.view.View, param1: android.text.Editable, param2: number): void;
				public onKeyUp(param0: android.view.View, param1: android.text.Editable, param2: number, param3: android.view.KeyEvent): boolean;
				public clearMetaKeyState(param0: number, param1: number): number;
				public constructor(param0: java.util.Locale);
				public onKeyDown(param0: android.view.View, param1: android.text.Editable, param2: number, param3: android.view.KeyEvent): boolean;
				public filter(param0: string, param1: number, param2: number, param3: android.text.Spanned, param4: number, param5: number): string;
				public constructor();
				public static getInstance(param0: java.util.Locale): android.text.method.DateTimeKeyListener;
				/** @deprecated */
				public constructor();
				public getInputType(): number;
				public static clearMetaKeyState(param0: android.text.Editable, param1: number): void;
				/** @deprecated */
				public static getInstance(): android.text.method.DateTimeKeyListener;
				public onKeyOther(param0: android.view.View, param1: android.text.Editable, param2: android.view.KeyEvent): boolean;
			}
		}
	}
}

declare module android {
	export module text {
		export module method {
			export class DialerKeyListener extends android.text.method.NumberKeyListener {
				public static class: java.lang.Class<android.text.method.DialerKeyListener>;
				public static CHARACTERS: native.Array<string>;
				public getAcceptedChars(): native.Array<string>;
				public static getInstance(): android.text.method.DialerKeyListener;
				public clearMetaKeyState(param0: android.view.View, param1: android.text.Editable, param2: number): void;
				public onKeyUp(param0: android.view.View, param1: android.text.Editable, param2: number, param3: android.view.KeyEvent): boolean;
				public getInputType(): number;
				public static clearMetaKeyState(param0: android.text.Editable, param1: number): void;
				public clearMetaKeyState(param0: number, param1: number): number;
				public lookup(param0: android.view.KeyEvent, param1: android.text.Spannable): number;
				public onKeyOther(param0: android.view.View, param1: android.text.Editable, param2: android.view.KeyEvent): boolean;
				public onKeyDown(param0: android.view.View, param1: android.text.Editable, param2: number, param3: android.view.KeyEvent): boolean;
				public filter(param0: string, param1: number, param2: number, param3: android.text.Spanned, param4: number, param5: number): string;
				public constructor();
			}
		}
	}
}

declare module android {
	export module text {
		export module method {
			export class DigitsKeyListener extends android.text.method.NumberKeyListener {
				public static class: java.lang.Class<android.text.method.DigitsKeyListener>;
				public getAcceptedChars(): native.Array<string>;
				public clearMetaKeyState(param0: android.view.View, param1: android.text.Editable, param2: number): void;
				public onKeyUp(param0: android.view.View, param1: android.text.Editable, param2: number, param3: android.view.KeyEvent): boolean;
				public clearMetaKeyState(param0: number, param1: number): number;
				public constructor(param0: java.util.Locale);
				public onKeyDown(param0: android.view.View, param1: android.text.Editable, param2: number, param3: android.view.KeyEvent): boolean;
				public static getInstance(param0: java.util.Locale, param1: boolean, param2: boolean): android.text.method.DigitsKeyListener;
				public filter(param0: string, param1: number, param2: number, param3: android.text.Spanned, param4: number, param5: number): string;
				public constructor();
				/** @deprecated */
				public constructor(param0: boolean, param1: boolean);
				/** @deprecated */
				public constructor();
				public getInputType(): number;
				public static clearMetaKeyState(param0: android.text.Editable, param1: number): void;
				public static getInstance(param0: string): android.text.method.DigitsKeyListener;
				public static getInstance(param0: java.util.Locale): android.text.method.DigitsKeyListener;
				public onKeyOther(param0: android.view.View, param1: android.text.Editable, param2: android.view.KeyEvent): boolean;
				/** @deprecated */
				public static getInstance(): android.text.method.DigitsKeyListener;
				public constructor(param0: java.util.Locale, param1: boolean, param2: boolean);
				/** @deprecated */
				public static getInstance(param0: boolean, param1: boolean): android.text.method.DigitsKeyListener;
			}
		}
	}
}

declare module android {
	export module text {
		export module method {
			export class HideReturnsTransformationMethod extends android.text.method.ReplacementTransformationMethod {
				public static class: java.lang.Class<android.text.method.HideReturnsTransformationMethod>;
				public getReplacement(): native.Array<string>;
				public getTransformation(param0: string, param1: android.view.View): string;
				public static getInstance(): android.text.method.HideReturnsTransformationMethod;
				public getOriginal(): native.Array<string>;
				public onFocusChanged(param0: android.view.View, param1: string, param2: boolean, param3: number, param4: android.graphics.Rect): void;
				public constructor();
			}
		}
	}
}

declare module android {
	export module text {
		export module method {
			export class KeyListener extends java.lang.Object {
				public static class: java.lang.Class<android.text.method.KeyListener>;
				/**
				 * Constructs a new instance of the android.text.method.KeyListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getInputType(): number;
					onKeyDown(param0: android.view.View, param1: android.text.Editable, param2: number, param3: android.view.KeyEvent): boolean;
					onKeyUp(param0: android.view.View, param1: android.text.Editable, param2: number, param3: android.view.KeyEvent): boolean;
					onKeyOther(param0: android.view.View, param1: android.text.Editable, param2: android.view.KeyEvent): boolean;
					clearMetaKeyState(param0: android.view.View, param1: android.text.Editable, param2: number): void;
				});
				public constructor();
				public clearMetaKeyState(param0: android.view.View, param1: android.text.Editable, param2: number): void;
				public onKeyUp(param0: android.view.View, param1: android.text.Editable, param2: number, param3: android.view.KeyEvent): boolean;
				public getInputType(): number;
				public onKeyOther(param0: android.view.View, param1: android.text.Editable, param2: android.view.KeyEvent): boolean;
				public onKeyDown(param0: android.view.View, param1: android.text.Editable, param2: number, param3: android.view.KeyEvent): boolean;
			}
		}
	}
}

declare module android {
	export module text {
		export module method {
			export class LinkMovementMethod extends android.text.method.ScrollingMovementMethod {
				public static class: java.lang.Class<android.text.method.LinkMovementMethod>;
				public up(param0: android.widget.TextView, param1: android.text.Spannable): boolean;
				public down(param0: android.widget.TextView, param1: android.text.Spannable): boolean;
				public handleMovementKey(param0: android.widget.TextView, param1: android.text.Spannable, param2: number, param3: number, param4: android.view.KeyEvent): boolean;
				public initialize(param0: android.widget.TextView, param1: android.text.Spannable): void;
				public static getInstance(): android.text.method.MovementMethod;
				public onGenericMotionEvent(param0: android.widget.TextView, param1: android.text.Spannable, param2: android.view.MotionEvent): boolean;
				public onTrackballEvent(param0: android.widget.TextView, param1: android.text.Spannable, param2: android.view.MotionEvent): boolean;
				public onKeyDown(param0: android.widget.TextView, param1: android.text.Spannable, param2: number, param3: android.view.KeyEvent): boolean;
				public onKeyUp(param0: android.widget.TextView, param1: android.text.Spannable, param2: number, param3: android.view.KeyEvent): boolean;
				public canSelectArbitrarily(): boolean;
				public onTakeFocus(param0: android.widget.TextView, param1: android.text.Spannable, param2: number): void;
				public left(param0: android.widget.TextView, param1: android.text.Spannable): boolean;
				public right(param0: android.widget.TextView, param1: android.text.Spannable): boolean;
				public onKeyOther(param0: android.widget.TextView, param1: android.text.Spannable, param2: android.view.KeyEvent): boolean;
				public constructor();
				public onTouchEvent(param0: android.widget.TextView, param1: android.text.Spannable, param2: android.view.MotionEvent): boolean;
			}
		}
	}
}

declare module android {
	export module text {
		export module method {
			export abstract class MetaKeyKeyListener extends java.lang.Object {
				public static class: java.lang.Class<android.text.method.MetaKeyKeyListener>;
				public static META_ALT_LOCKED: number;
				public static META_ALT_ON: number;
				public static META_CAP_LOCKED: number;
				public static META_SHIFT_ON: number;
				public static META_SYM_LOCKED: number;
				public static META_SYM_ON: number;
				public clearMetaKeyState(param0: android.view.View, param1: android.text.Editable, param2: number): void;
				public onKeyUp(param0: android.view.View, param1: android.text.Editable, param2: number, param3: android.view.KeyEvent): boolean;
				public clearMetaKeyState(param0: number, param1: number): number;
				public static handleKeyUp(param0: number, param1: number, param2: android.view.KeyEvent): number;
				public static adjustMetaAfterKeypress(param0: android.text.Spannable): void;
				public static isSelectingMetaTracker(param0: string, param1: any): boolean;
				public onKeyDown(param0: android.view.View, param1: android.text.Editable, param2: number, param3: android.view.KeyEvent): boolean;
				public constructor();
				public static resetMetaState(param0: android.text.Spannable): void;
				public static resetLockedMeta(param0: number): number;
				public static getMetaState(param0: string): number;
				public static getMetaState(param0: string, param1: android.view.KeyEvent): number;
				public static resetLockedMeta(param0: android.text.Spannable): void;
				public static getMetaState(param0: string, param1: number, param2: android.view.KeyEvent): number;
				public static clearMetaKeyState(param0: android.text.Editable, param1: number): void;
				public static handleKeyDown(param0: number, param1: number, param2: android.view.KeyEvent): number;
				public static isMetaTracker(param0: string, param1: any): boolean;
				public static getMetaState(param0: number, param1: number): number;
				public static adjustMetaAfterKeypress(param0: number): number;
				public static getMetaState(param0: string, param1: number): number;
				public static getMetaState(param0: number): number;
			}
		}
	}
}

declare module android {
	export module text {
		export module method {
			export class MovementMethod extends java.lang.Object {
				public static class: java.lang.Class<android.text.method.MovementMethod>;
				/**
				 * Constructs a new instance of the android.text.method.MovementMethod interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					initialize(param0: android.widget.TextView, param1: android.text.Spannable): void;
					onKeyDown(param0: android.widget.TextView, param1: android.text.Spannable, param2: number, param3: android.view.KeyEvent): boolean;
					onKeyUp(param0: android.widget.TextView, param1: android.text.Spannable, param2: number, param3: android.view.KeyEvent): boolean;
					onKeyOther(param0: android.widget.TextView, param1: android.text.Spannable, param2: android.view.KeyEvent): boolean;
					onTakeFocus(param0: android.widget.TextView, param1: android.text.Spannable, param2: number): void;
					onTrackballEvent(param0: android.widget.TextView, param1: android.text.Spannable, param2: android.view.MotionEvent): boolean;
					onTouchEvent(param0: android.widget.TextView, param1: android.text.Spannable, param2: android.view.MotionEvent): boolean;
					onGenericMotionEvent(param0: android.widget.TextView, param1: android.text.Spannable, param2: android.view.MotionEvent): boolean;
					canSelectArbitrarily(): boolean;
				});
				public constructor();
				public initialize(param0: android.widget.TextView, param1: android.text.Spannable): void;
				public onGenericMotionEvent(param0: android.widget.TextView, param1: android.text.Spannable, param2: android.view.MotionEvent): boolean;
				public onTrackballEvent(param0: android.widget.TextView, param1: android.text.Spannable, param2: android.view.MotionEvent): boolean;
				public onKeyDown(param0: android.widget.TextView, param1: android.text.Spannable, param2: number, param3: android.view.KeyEvent): boolean;
				public onKeyUp(param0: android.widget.TextView, param1: android.text.Spannable, param2: number, param3: android.view.KeyEvent): boolean;
				public onTouchEvent(param0: android.widget.TextView, param1: android.text.Spannable, param2: android.view.MotionEvent): boolean;
				public canSelectArbitrarily(): boolean;
				public onTakeFocus(param0: android.widget.TextView, param1: android.text.Spannable, param2: number): void;
				public onKeyOther(param0: android.widget.TextView, param1: android.text.Spannable, param2: android.view.KeyEvent): boolean;
			}
		}
	}
}

declare module android {
	export module text {
		export module method {
			export class MultiTapKeyListener extends android.text.method.BaseKeyListener implements android.text.SpanWatcher {
				public static class: java.lang.Class<android.text.method.MultiTapKeyListener>;
				public onSpanChanged(param0: android.text.Spannable, param1: any, param2: number, param3: number, param4: number, param5: number): void;
				public clearMetaKeyState(param0: android.view.View, param1: android.text.Editable, param2: number): void;
				public onKeyUp(param0: android.view.View, param1: android.text.Editable, param2: number, param3: android.view.KeyEvent): boolean;
				public onSpanAdded(param0: android.text.Spannable, param1: any, param2: number, param3: number): void;
				public constructor(param0: android.text.method.TextKeyListener.Capitalize, param1: boolean);
				public clearMetaKeyState(param0: number, param1: number): number;
				public onKeyDown(param0: android.view.View, param1: android.text.Editable, param2: number, param3: android.view.KeyEvent): boolean;
				public constructor();
				public getInputType(): number;
				public static clearMetaKeyState(param0: android.text.Editable, param1: number): void;
				public onSpanRemoved(param0: android.text.Spannable, param1: any, param2: number, param3: number): void;
				public static getInstance(param0: boolean, param1: android.text.method.TextKeyListener.Capitalize): android.text.method.MultiTapKeyListener;
				public onKeyOther(param0: android.view.View, param1: android.text.Editable, param2: android.view.KeyEvent): boolean;
			}
		}
	}
}

declare module android {
	export module text {
		export module method {
			export abstract class NumberKeyListener extends android.text.method.BaseKeyListener implements android.text.InputFilter {
				public static class: java.lang.Class<android.text.method.NumberKeyListener>;
				public getAcceptedChars(): native.Array<string>;
				public clearMetaKeyState(param0: android.view.View, param1: android.text.Editable, param2: number): void;
				public onKeyUp(param0: android.view.View, param1: android.text.Editable, param2: number, param3: android.view.KeyEvent): boolean;
				public getInputType(): number;
				public static clearMetaKeyState(param0: android.text.Editable, param1: number): void;
				public clearMetaKeyState(param0: number, param1: number): number;
				public lookup(param0: android.view.KeyEvent, param1: android.text.Spannable): number;
				public static ok(param0: native.Array<string>, param1: string): boolean;
				public onKeyOther(param0: android.view.View, param1: android.text.Editable, param2: android.view.KeyEvent): boolean;
				public onKeyDown(param0: android.view.View, param1: android.text.Editable, param2: number, param3: android.view.KeyEvent): boolean;
				public filter(param0: string, param1: number, param2: number, param3: android.text.Spanned, param4: number, param5: number): string;
				public constructor();
			}
		}
	}
}

declare module android {
	export module text {
		export module method {
			export class PasswordTransformationMethod extends java.lang.Object implements android.text.method.TransformationMethod, android.text.TextWatcher {
				public static class: java.lang.Class<android.text.method.PasswordTransformationMethod>;
				public getTransformation(param0: string, param1: android.view.View): string;
				public onTextChanged(param0: string, param1: number, param2: number, param3: number): void;
				public onFocusChanged(param0: android.view.View, param1: string, param2: boolean, param3: number, param4: android.graphics.Rect): void;
				public static getInstance(): android.text.method.PasswordTransformationMethod;
				public beforeTextChanged(param0: string, param1: number, param2: number, param3: number): void;
				public constructor();
				public afterTextChanged(param0: android.text.Editable): void;
			}
		}
	}
}

declare module android {
	export module text {
		export module method {
			export class QwertyKeyListener extends android.text.method.BaseKeyListener {
				public static class: java.lang.Class<android.text.method.QwertyKeyListener>;
				public static markAsReplaced(param0: android.text.Spannable, param1: number, param2: number, param3: string): void;
				public clearMetaKeyState(param0: android.view.View, param1: android.text.Editable, param2: number): void;
				public onKeyUp(param0: android.view.View, param1: android.text.Editable, param2: number, param3: android.view.KeyEvent): boolean;
				public constructor(param0: android.text.method.TextKeyListener.Capitalize, param1: boolean);
				public getInputType(): number;
				public static clearMetaKeyState(param0: android.text.Editable, param1: number): void;
				public clearMetaKeyState(param0: number, param1: number): number;
				public static getInstance(param0: boolean, param1: android.text.method.TextKeyListener.Capitalize): android.text.method.QwertyKeyListener;
				public onKeyOther(param0: android.view.View, param1: android.text.Editable, param2: android.view.KeyEvent): boolean;
				public onKeyDown(param0: android.view.View, param1: android.text.Editable, param2: number, param3: android.view.KeyEvent): boolean;
				public constructor();
				public static getInstanceForFullKeyboard(): android.text.method.QwertyKeyListener;
			}
		}
	}
}

declare module android {
	export module text {
		export module method {
			export abstract class ReplacementTransformationMethod extends java.lang.Object implements android.text.method.TransformationMethod {
				public static class: java.lang.Class<android.text.method.ReplacementTransformationMethod>;
				public getReplacement(): native.Array<string>;
				public getTransformation(param0: string, param1: android.view.View): string;
				public getOriginal(): native.Array<string>;
				public onFocusChanged(param0: android.view.View, param1: string, param2: boolean, param3: number, param4: android.graphics.Rect): void;
				public constructor();
			}
		}
	}
}

declare module android {
	export module text {
		export module method {
			export class ScrollingMovementMethod extends android.text.method.BaseMovementMethod implements android.text.method.MovementMethod {
				public static class: java.lang.Class<android.text.method.ScrollingMovementMethod>;
				public lineStart(param0: android.widget.TextView, param1: android.text.Spannable): boolean;
				public up(param0: android.widget.TextView, param1: android.text.Spannable): boolean;
				public down(param0: android.widget.TextView, param1: android.text.Spannable): boolean;
				public initialize(param0: android.widget.TextView, param1: android.text.Spannable): void;
				public home(param0: android.widget.TextView, param1: android.text.Spannable): boolean;
				public static getInstance(): android.text.method.MovementMethod;
				public onGenericMotionEvent(param0: android.widget.TextView, param1: android.text.Spannable, param2: android.view.MotionEvent): boolean;
				public bottom(param0: android.widget.TextView, param1: android.text.Spannable): boolean;
				public onTrackballEvent(param0: android.widget.TextView, param1: android.text.Spannable, param2: android.view.MotionEvent): boolean;
				public onKeyDown(param0: android.widget.TextView, param1: android.text.Spannable, param2: number, param3: android.view.KeyEvent): boolean;
				public onKeyUp(param0: android.widget.TextView, param1: android.text.Spannable, param2: number, param3: android.view.KeyEvent): boolean;
				public canSelectArbitrarily(): boolean;
				public end(param0: android.widget.TextView, param1: android.text.Spannable): boolean;
				public onTakeFocus(param0: android.widget.TextView, param1: android.text.Spannable, param2: number): void;
				public left(param0: android.widget.TextView, param1: android.text.Spannable): boolean;
				public right(param0: android.widget.TextView, param1: android.text.Spannable): boolean;
				public lineEnd(param0: android.widget.TextView, param1: android.text.Spannable): boolean;
				public onKeyOther(param0: android.widget.TextView, param1: android.text.Spannable, param2: android.view.KeyEvent): boolean;
				public constructor();
				public pageUp(param0: android.widget.TextView, param1: android.text.Spannable): boolean;
				public top(param0: android.widget.TextView, param1: android.text.Spannable): boolean;
				public pageDown(param0: android.widget.TextView, param1: android.text.Spannable): boolean;
				public onTouchEvent(param0: android.widget.TextView, param1: android.text.Spannable, param2: android.view.MotionEvent): boolean;
			}
		}
	}
}

declare module android {
	export module text {
		export module method {
			export class SingleLineTransformationMethod extends android.text.method.ReplacementTransformationMethod {
				public static class: java.lang.Class<android.text.method.SingleLineTransformationMethod>;
				public getReplacement(): native.Array<string>;
				public getTransformation(param0: string, param1: android.view.View): string;
				public getOriginal(): native.Array<string>;
				public static getInstance(): android.text.method.SingleLineTransformationMethod;
				public onFocusChanged(param0: android.view.View, param1: string, param2: boolean, param3: number, param4: android.graphics.Rect): void;
				public constructor();
			}
		}
	}
}

declare module android {
	export module text {
		export module method {
			export class TextKeyListener extends android.text.method.BaseKeyListener implements android.text.SpanWatcher {
				public static class: java.lang.Class<android.text.method.TextKeyListener>;
				public static getInstance(): android.text.method.TextKeyListener;
				public onSpanChanged(param0: android.text.Spannable, param1: any, param2: number, param3: number, param4: number, param5: number): void;
				public clearMetaKeyState(param0: android.view.View, param1: android.text.Editable, param2: number): void;
				public onKeyUp(param0: android.view.View, param1: android.text.Editable, param2: number, param3: android.view.KeyEvent): boolean;
				public release(): void;
				public onSpanAdded(param0: android.text.Spannable, param1: any, param2: number, param3: number): void;
				public constructor(param0: android.text.method.TextKeyListener.Capitalize, param1: boolean);
				public clearMetaKeyState(param0: number, param1: number): number;
				public static clear(param0: android.text.Editable): void;
				public onKeyDown(param0: android.view.View, param1: android.text.Editable, param2: number, param3: android.view.KeyEvent): boolean;
				public constructor();
				public static shouldCap(param0: android.text.method.TextKeyListener.Capitalize, param1: string, param2: number): boolean;
				public getInputType(): number;
				public static clearMetaKeyState(param0: android.text.Editable, param1: number): void;
				public onSpanRemoved(param0: android.text.Spannable, param1: any, param2: number, param3: number): void;
				public onKeyOther(param0: android.view.View, param1: android.text.Editable, param2: android.view.KeyEvent): boolean;
				public static getInstance(param0: boolean, param1: android.text.method.TextKeyListener.Capitalize): android.text.method.TextKeyListener;
			}
			export module TextKeyListener {
				export class Capitalize {
					public static class: java.lang.Class<android.text.method.TextKeyListener.Capitalize>;
					public static NONE: android.text.method.TextKeyListener.Capitalize;
					public static SENTENCES: android.text.method.TextKeyListener.Capitalize;
					public static WORDS: android.text.method.TextKeyListener.Capitalize;
					public static CHARACTERS: android.text.method.TextKeyListener.Capitalize;
					public static values(): native.Array<android.text.method.TextKeyListener.Capitalize>;
					public static valueOf(param0: string): android.text.method.TextKeyListener.Capitalize;
					public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
				}
			}
		}
	}
}

declare module android {
	export module text {
		export module method {
			export class TimeKeyListener extends android.text.method.NumberKeyListener {
				public static class: java.lang.Class<android.text.method.TimeKeyListener>;
				public static CHARACTERS: native.Array<string>;
				public getAcceptedChars(): native.Array<string>;
				public clearMetaKeyState(param0: android.view.View, param1: android.text.Editable, param2: number): void;
				public onKeyUp(param0: android.view.View, param1: android.text.Editable, param2: number, param3: android.view.KeyEvent): boolean;
				public clearMetaKeyState(param0: number, param1: number): number;
				public static getInstance(param0: java.util.Locale): android.text.method.TimeKeyListener;
				public constructor(param0: java.util.Locale);
				public onKeyDown(param0: android.view.View, param1: android.text.Editable, param2: number, param3: android.view.KeyEvent): boolean;
				public filter(param0: string, param1: number, param2: number, param3: android.text.Spanned, param4: number, param5: number): string;
				public constructor();
				/** @deprecated */
				public static getInstance(): android.text.method.TimeKeyListener;
				/** @deprecated */
				public constructor();
				public getInputType(): number;
				public static clearMetaKeyState(param0: android.text.Editable, param1: number): void;
				public onKeyOther(param0: android.view.View, param1: android.text.Editable, param2: android.view.KeyEvent): boolean;
			}
		}
	}
}

declare module android {
	export module text {
		export module method {
			export class Touch extends java.lang.Object {
				public static class: java.lang.Class<android.text.method.Touch>;
				public static scrollTo(param0: android.widget.TextView, param1: android.text.Layout, param2: number, param3: number): void;
				public static getInitialScrollX(param0: android.widget.TextView, param1: android.text.Spannable): number;
				public static getInitialScrollY(param0: android.widget.TextView, param1: android.text.Spannable): number;
				public static onTouchEvent(param0: android.widget.TextView, param1: android.text.Spannable, param2: android.view.MotionEvent): boolean;
			}
		}
	}
}

declare module android {
	export module text {
		export module method {
			export class TransformationMethod extends java.lang.Object {
				public static class: java.lang.Class<android.text.method.TransformationMethod>;
				/**
				 * Constructs a new instance of the android.text.method.TransformationMethod interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getTransformation(param0: string, param1: android.view.View): string;
					onFocusChanged(param0: android.view.View, param1: string, param2: boolean, param3: number, param4: android.graphics.Rect): void;
				});
				public constructor();
				public getTransformation(param0: string, param1: android.view.View): string;
				public onFocusChanged(param0: android.view.View, param1: string, param2: boolean, param3: number, param4: android.graphics.Rect): void;
			}
		}
	}
}

declare module android {
	export module text {
		export module style {
			export class AbsoluteSizeSpan extends android.text.style.MetricAffectingSpan implements android.text.ParcelableSpan {
				public static class: java.lang.Class<android.text.style.AbsoluteSizeSpan>;
				public updateDrawState(param0: android.text.TextPaint): void;
				public constructor(param0: android.os.Parcel);
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getSize(): number;
				public getSpanTypeId(): number;
				public describeContents(): number;
				public updateMeasureState(param0: android.text.TextPaint): void;
				public constructor(param0: number);
				public constructor(param0: number, param1: boolean);
				public getDip(): boolean;
				public constructor();
			}
		}
	}
}

declare module android {
	export module text {
		export module style {
			export class AlignmentSpan extends java.lang.Object implements android.text.style.ParagraphStyle {
				public static class: java.lang.Class<android.text.style.AlignmentSpan>;
				/**
				 * Constructs a new instance of the android.text.style.AlignmentSpan interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getAlignment(): android.text.Layout.Alignment;
				});
				public constructor();
				public getAlignment(): android.text.Layout.Alignment;
			}
			export module AlignmentSpan {
				export class Standard extends java.lang.Object implements android.text.style.AlignmentSpan, android.text.ParcelableSpan {
					public static class: java.lang.Class<android.text.style.AlignmentSpan.Standard>;
					public getAlignment(): android.text.Layout.Alignment;
					public constructor(param0: android.os.Parcel);
					public describeContents(): number;
					public getSpanTypeId(): number;
					public constructor(param0: android.text.Layout.Alignment);
					public writeToParcel(param0: android.os.Parcel, param1: number): void;
				}
			}
		}
	}
}

declare module android {
	export module text {
		export module style {
			export class BackgroundColorSpan extends android.text.style.CharacterStyle implements android.text.style.UpdateAppearance, android.text.ParcelableSpan {
				public static class: java.lang.Class<android.text.style.BackgroundColorSpan>;
				public getBackgroundColor(): number;
				public updateDrawState(param0: android.text.TextPaint): void;
				public constructor(param0: android.os.Parcel);
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getSpanTypeId(): number;
				public describeContents(): number;
				public constructor(param0: number);
				public constructor();
			}
		}
	}
}

declare module android {
	export module text {
		export module style {
			export class BulletSpan extends java.lang.Object implements android.text.style.LeadingMarginSpan, android.text.ParcelableSpan {
				public static class: java.lang.Class<android.text.style.BulletSpan>;
				public static STANDARD_GAP_WIDTH: number;
				public constructor(param0: number, param1: number);
				public constructor(param0: number, param1: number, param2: number);
				public getColor(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getSpanTypeId(): number;
				public getGapWidth(): number;
				public constructor();
				public constructor(param0: android.os.Parcel);
				public getBulletRadius(): number;
				public describeContents(): number;
				public constructor(param0: number);
				public drawLeadingMargin(param0: android.graphics.Canvas, param1: android.graphics.Paint, param2: number, param3: number, param4: number, param5: number, param6: number, param7: string, param8: number, param9: number, param10: boolean, param11: android.text.Layout): void;
				public getLeadingMargin(param0: boolean): number;
			}
		}
	}
}

declare module android {
	export module text {
		export module style {
			export abstract class CharacterStyle extends java.lang.Object {
				public static class: java.lang.Class<android.text.style.CharacterStyle>;
				public getUnderlying(): android.text.style.CharacterStyle;
				public updateDrawState(param0: android.text.TextPaint): void;
				public static wrap(param0: android.text.style.CharacterStyle): android.text.style.CharacterStyle;
				public constructor();
			}
		}
	}
}

declare module android {
	export module text {
		export module style {
			export abstract class ClickableSpan extends android.text.style.CharacterStyle implements android.text.style.UpdateAppearance {
				public static class: java.lang.Class<android.text.style.ClickableSpan>;
				public onClick(param0: android.view.View): void;
				public updateDrawState(param0: android.text.TextPaint): void;
				public constructor();
			}
		}
	}
}

declare module android {
	export module text {
		export module style {
			export class DrawableMarginSpan extends java.lang.Object implements android.text.style.LeadingMarginSpan, android.text.style.LineHeightSpan {
				public static class: java.lang.Class<android.text.style.DrawableMarginSpan>;
				public constructor(param0: android.graphics.drawable.Drawable);
				public constructor(param0: android.graphics.drawable.Drawable, param1: number);
				public chooseHeight(param0: string, param1: number, param2: number, param3: number, param4: number, param5: android.graphics.Paint.FontMetricsInt): void;
				public drawLeadingMargin(param0: android.graphics.Canvas, param1: android.graphics.Paint, param2: number, param3: number, param4: number, param5: number, param6: number, param7: string, param8: number, param9: number, param10: boolean, param11: android.text.Layout): void;
				public getLeadingMargin(param0: boolean): number;
			}
		}
	}
}

declare module android {
	export module text {
		export module style {
			export abstract class DynamicDrawableSpan extends android.text.style.ReplacementSpan {
				public static class: java.lang.Class<android.text.style.DynamicDrawableSpan>;
				public static ALIGN_BASELINE: number;
				public static ALIGN_BOTTOM: number;
				public mVerticalAlignment: number;
				public getDrawable(): android.graphics.drawable.Drawable;
				public getSize(param0: android.graphics.Paint, param1: string, param2: number, param3: number, param4: android.graphics.Paint.FontMetricsInt): number;
				public draw(param0: android.graphics.Canvas, param1: string, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number, param8: android.graphics.Paint): void;
				public constructor(param0: number);
				public getVerticalAlignment(): number;
				public constructor();
			}
		}
	}
}

declare module android {
	export module text {
		export module style {
			export class EasyEditSpan extends java.lang.Object implements android.text.ParcelableSpan {
				public static class: java.lang.Class<android.text.style.EasyEditSpan>;
				public static EXTRA_TEXT_CHANGED_TYPE: string;
				public static TEXT_DELETED: number;
				public static TEXT_MODIFIED: number;
				public constructor(param0: android.app.PendingIntent);
				public constructor(param0: android.os.Parcel);
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getSpanTypeId(): number;
				public constructor();
			}
		}
	}
}

declare module android {
	export module text {
		export module style {
			export class ForegroundColorSpan extends android.text.style.CharacterStyle implements android.text.style.UpdateAppearance, android.text.ParcelableSpan {
				public static class: java.lang.Class<android.text.style.ForegroundColorSpan>;
				public updateDrawState(param0: android.text.TextPaint): void;
				public constructor(param0: android.os.Parcel);
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getForegroundColor(): number;
				public getSpanTypeId(): number;
				public describeContents(): number;
				public constructor(param0: number);
				public constructor();
			}
		}
	}
}

declare module android {
	export module text {
		export module style {
			export class IconMarginSpan extends java.lang.Object implements android.text.style.LeadingMarginSpan, android.text.style.LineHeightSpan {
				public static class: java.lang.Class<android.text.style.IconMarginSpan>;
				public chooseHeight(param0: string, param1: number, param2: number, param3: number, param4: number, param5: android.graphics.Paint.FontMetricsInt): void;
				public constructor(param0: android.graphics.Bitmap, param1: number);
				public drawLeadingMargin(param0: android.graphics.Canvas, param1: android.graphics.Paint, param2: number, param3: number, param4: number, param5: number, param6: number, param7: string, param8: number, param9: number, param10: boolean, param11: android.text.Layout): void;
				public constructor(param0: android.graphics.Bitmap);
				public getLeadingMargin(param0: boolean): number;
			}
		}
	}
}

declare module android {
	export module text {
		export module style {
			export class ImageSpan extends android.text.style.DynamicDrawableSpan {
				public static class: java.lang.Class<android.text.style.ImageSpan>;
				public constructor(param0: android.graphics.drawable.Drawable, param1: number);
				public constructor(param0: android.content.Context, param1: number);
				public getDrawable(): android.graphics.drawable.Drawable;
				/** @deprecated */
				public constructor(param0: android.graphics.Bitmap, param1: number);
				public constructor(param0: android.graphics.drawable.Drawable, param1: string);
				/** @deprecated */
				public constructor(param0: android.graphics.Bitmap);
				public constructor();
				public constructor(param0: android.graphics.drawable.Drawable);
				public constructor(param0: android.content.Context, param1: number, param2: number);
				public constructor(param0: android.graphics.drawable.Drawable, param1: string, param2: number);
				public constructor(param0: android.content.Context, param1: android.graphics.Bitmap);
				public constructor(param0: number);
				public getSource(): string;
				public constructor(param0: android.content.Context, param1: android.graphics.Bitmap, param2: number);
				public constructor(param0: android.content.Context, param1: android.net.Uri, param2: number);
				public constructor(param0: android.content.Context, param1: android.net.Uri);
			}
		}
	}
}

declare module android {
	export module text {
		export module style {
			export class LeadingMarginSpan extends java.lang.Object implements android.text.style.ParagraphStyle {
				public static class: java.lang.Class<android.text.style.LeadingMarginSpan>;
				/**
				 * Constructs a new instance of the android.text.style.LeadingMarginSpan interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getLeadingMargin(param0: boolean): number;
					drawLeadingMargin(param0: android.graphics.Canvas, param1: android.graphics.Paint, param2: number, param3: number, param4: number, param5: number, param6: number, param7: string, param8: number, param9: number, param10: boolean, param11: android.text.Layout): void;
				});
				public constructor();
				public drawLeadingMargin(param0: android.graphics.Canvas, param1: android.graphics.Paint, param2: number, param3: number, param4: number, param5: number, param6: number, param7: string, param8: number, param9: number, param10: boolean, param11: android.text.Layout): void;
				public getLeadingMargin(param0: boolean): number;
			}
			export module LeadingMarginSpan {
				export class LeadingMarginSpan2 extends java.lang.Object implements android.text.style.LeadingMarginSpan, android.text.style.WrapTogetherSpan {
					public static class: java.lang.Class<android.text.style.LeadingMarginSpan.LeadingMarginSpan2>;
					/**
					 * Constructs a new instance of the android.text.style.LeadingMarginSpan$LeadingMarginSpan2 interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						getLeadingMarginLineCount(): number;
						getLeadingMargin(param0: boolean): number;
						drawLeadingMargin(param0: android.graphics.Canvas, param1: android.graphics.Paint, param2: number, param3: number, param4: number, param5: number, param6: number, param7: string, param8: number, param9: number, param10: boolean, param11: android.text.Layout): void;
					});
					public constructor();
					public getLeadingMargin(param0: boolean): number;
					public getLeadingMarginLineCount(): number;
					public drawLeadingMargin(param0: android.graphics.Canvas, param1: android.graphics.Paint, param2: number, param3: number, param4: number, param5: number, param6: number, param7: string, param8: number, param9: number, param10: boolean, param11: android.text.Layout): void;
				}
				export class Standard extends java.lang.Object implements android.text.style.LeadingMarginSpan, android.text.ParcelableSpan {
					public static class: java.lang.Class<android.text.style.LeadingMarginSpan.Standard>;
					public constructor(param0: android.os.Parcel);
					public getLeadingMargin(param0: boolean): number;
					public describeContents(): number;
					public getSpanTypeId(): number;
					public drawLeadingMargin(param0: android.graphics.Canvas, param1: android.graphics.Paint, param2: number, param3: number, param4: number, param5: number, param6: number, param7: string, param8: number, param9: number, param10: boolean, param11: android.text.Layout): void;
					public constructor(param0: number);
					public constructor(param0: number, param1: number);
					public writeToParcel(param0: android.os.Parcel, param1: number): void;
				}
			}
		}
	}
}

declare module android {
	export module text {
		export module style {
			export class LineBackgroundSpan extends java.lang.Object implements android.text.style.ParagraphStyle {
				public static class: java.lang.Class<android.text.style.LineBackgroundSpan>;
				/**
				 * Constructs a new instance of the android.text.style.LineBackgroundSpan interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					drawBackground(param0: android.graphics.Canvas, param1: android.graphics.Paint, param2: number, param3: number, param4: number, param5: number, param6: number, param7: string, param8: number, param9: number, param10: number): void;
				});
				public constructor();
				public drawBackground(param0: android.graphics.Canvas, param1: android.graphics.Paint, param2: number, param3: number, param4: number, param5: number, param6: number, param7: string, param8: number, param9: number, param10: number): void;
			}
		}
	}
}

declare module android {
	export module text {
		export module style {
			export class LineHeightSpan extends java.lang.Object implements android.text.style.ParagraphStyle, android.text.style.WrapTogetherSpan {
				public static class: java.lang.Class<android.text.style.LineHeightSpan>;
				/**
				 * Constructs a new instance of the android.text.style.LineHeightSpan interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					chooseHeight(param0: string, param1: number, param2: number, param3: number, param4: number, param5: android.graphics.Paint.FontMetricsInt): void;
				});
				public constructor();
				public chooseHeight(param0: string, param1: number, param2: number, param3: number, param4: number, param5: android.graphics.Paint.FontMetricsInt): void;
			}
			export module LineHeightSpan {
				export class WithDensity extends java.lang.Object implements android.text.style.LineHeightSpan {
					public static class: java.lang.Class<android.text.style.LineHeightSpan.WithDensity>;
					/**
					 * Constructs a new instance of the android.text.style.LineHeightSpan$WithDensity interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						chooseHeight(param0: string, param1: number, param2: number, param3: number, param4: number, param5: android.graphics.Paint.FontMetricsInt, param6: android.text.TextPaint): void;
						chooseHeight(param0: string, param1: number, param2: number, param3: number, param4: number, param5: android.graphics.Paint.FontMetricsInt): void;
					});
					public constructor();
					public chooseHeight(param0: string, param1: number, param2: number, param3: number, param4: number, param5: android.graphics.Paint.FontMetricsInt): void;
					public chooseHeight(param0: string, param1: number, param2: number, param3: number, param4: number, param5: android.graphics.Paint.FontMetricsInt, param6: android.text.TextPaint): void;
				}
			}
		}
	}
}

declare module android {
	export module text {
		export module style {
			export class LocaleSpan extends android.text.style.MetricAffectingSpan implements android.text.ParcelableSpan {
				public static class: java.lang.Class<android.text.style.LocaleSpan>;
				public updateDrawState(param0: android.text.TextPaint): void;
				public constructor(param0: android.os.Parcel);
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getLocales(): any;
				public constructor(param0: java.util.Locale);
				public getSpanTypeId(): number;
				public describeContents(): number;
				public getLocale(): java.util.Locale;
				public updateMeasureState(param0: android.text.TextPaint): void;
				public constructor(param0: any);
				public constructor();
			}
		}
	}
}

declare module android {
	export module text {
		export module style {
			export class MaskFilterSpan extends android.text.style.CharacterStyle implements android.text.style.UpdateAppearance {
				public static class: java.lang.Class<android.text.style.MaskFilterSpan>;
				public updateDrawState(param0: android.text.TextPaint): void;
				public constructor(param0: android.graphics.MaskFilter);
				public getMaskFilter(): android.graphics.MaskFilter;
				public constructor();
			}
		}
	}
}

declare module android {
	export module text {
		export module style {
			export abstract class MetricAffectingSpan extends android.text.style.CharacterStyle implements android.text.style.UpdateLayout {
				public static class: java.lang.Class<android.text.style.MetricAffectingSpan>;
				public getUnderlying(): android.text.style.CharacterStyle;
				public updateMeasureState(param0: android.text.TextPaint): void;
				public getUnderlying(): android.text.style.MetricAffectingSpan;
				public constructor();
			}
		}
	}
}

declare module android {
	export module text {
		export module style {
			export class ParagraphStyle extends java.lang.Object {
				public static class: java.lang.Class<android.text.style.ParagraphStyle>;
				/**
				 * Constructs a new instance of the android.text.style.ParagraphStyle interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
				});
				public constructor();
			}
		}
	}
}

declare module android {
	export module text {
		export module style {
			export class QuoteSpan extends java.lang.Object implements android.text.style.LeadingMarginSpan, android.text.ParcelableSpan {
				public static class: java.lang.Class<android.text.style.QuoteSpan>;
				public static STANDARD_COLOR: number;
				public static STANDARD_GAP_WIDTH_PX: number;
				public static STANDARD_STRIPE_WIDTH_PX: number;
				public constructor(param0: number, param1: number, param2: number);
				public getColor(): number;
				public constructor(param0: android.os.Parcel);
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getSpanTypeId(): number;
				public describeContents(): number;
				public getGapWidth(): number;
				public constructor(param0: number);
				public drawLeadingMargin(param0: android.graphics.Canvas, param1: android.graphics.Paint, param2: number, param3: number, param4: number, param5: number, param6: number, param7: string, param8: number, param9: number, param10: boolean, param11: android.text.Layout): void;
				public getStripeWidth(): number;
				public constructor();
				public getLeadingMargin(param0: boolean): number;
			}
		}
	}
}

declare module android {
	export module text {
		export module style {
			export class RelativeSizeSpan extends android.text.style.MetricAffectingSpan implements android.text.ParcelableSpan {
				public static class: java.lang.Class<android.text.style.RelativeSizeSpan>;
				public updateDrawState(param0: android.text.TextPaint): void;
				public constructor(param0: android.os.Parcel);
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getSpanTypeId(): number;
				public describeContents(): number;
				public updateMeasureState(param0: android.text.TextPaint): void;
				public constructor(param0: number);
				public getSizeChange(): number;
				public constructor();
			}
		}
	}
}

declare module android {
	export module text {
		export module style {
			export abstract class ReplacementSpan extends android.text.style.MetricAffectingSpan {
				public static class: java.lang.Class<android.text.style.ReplacementSpan>;
				public updateDrawState(param0: android.text.TextPaint): void;
				public getSize(param0: android.graphics.Paint, param1: string, param2: number, param3: number, param4: android.graphics.Paint.FontMetricsInt): number;
				public draw(param0: android.graphics.Canvas, param1: string, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number, param8: android.graphics.Paint): void;
				public updateMeasureState(param0: android.text.TextPaint): void;
				public constructor();
			}
		}
	}
}

declare module android {
	export module text {
		export module style {
			export class ScaleXSpan extends android.text.style.MetricAffectingSpan implements android.text.ParcelableSpan {
				public static class: java.lang.Class<android.text.style.ScaleXSpan>;
				public updateDrawState(param0: android.text.TextPaint): void;
				public constructor(param0: android.os.Parcel);
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getSpanTypeId(): number;
				public describeContents(): number;
				public updateMeasureState(param0: android.text.TextPaint): void;
				public constructor(param0: number);
				public getScaleX(): number;
				public constructor();
			}
		}
	}
}

declare module android {
	export module text {
		export module style {
			export class StrikethroughSpan extends android.text.style.CharacterStyle implements android.text.style.UpdateAppearance, android.text.ParcelableSpan {
				public static class: java.lang.Class<android.text.style.StrikethroughSpan>;
				public updateDrawState(param0: android.text.TextPaint): void;
				public constructor(param0: android.os.Parcel);
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getSpanTypeId(): number;
				public describeContents(): number;
				public constructor();
			}
		}
	}
}

declare module android {
	export module text {
		export module style {
			export class StyleSpan extends android.text.style.MetricAffectingSpan implements android.text.ParcelableSpan {
				public static class: java.lang.Class<android.text.style.StyleSpan>;
				public updateDrawState(param0: android.text.TextPaint): void;
				public constructor(param0: android.os.Parcel);
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getSpanTypeId(): number;
				public describeContents(): number;
				public updateMeasureState(param0: android.text.TextPaint): void;
				public constructor(param0: number);
				public getStyle(): number;
				public constructor();
			}
		}
	}
}

declare module android {
	export module text {
		export module style {
			export class SubscriptSpan extends android.text.style.MetricAffectingSpan implements android.text.ParcelableSpan {
				public static class: java.lang.Class<android.text.style.SubscriptSpan>;
				public updateDrawState(param0: android.text.TextPaint): void;
				public constructor(param0: android.os.Parcel);
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getSpanTypeId(): number;
				public describeContents(): number;
				public updateMeasureState(param0: android.text.TextPaint): void;
				public constructor();
			}
		}
	}
}

declare module android {
	export module text {
		export module style {
			export class SuggestionSpan extends android.text.style.CharacterStyle implements android.text.ParcelableSpan {
				public static class: java.lang.Class<android.text.style.SuggestionSpan>;
				public static ACTION_SUGGESTION_PICKED: string;
				public static CREATOR: android.os.Parcelable.Creator<android.text.style.SuggestionSpan>;
				public static FLAG_AUTO_CORRECTION: number;
				public static FLAG_EASY_CORRECT: number;
				public static FLAG_MISSPELLED: number;
				public static SUGGESTIONS_MAX_SIZE: number;
				public static SUGGESTION_SPAN_PICKED_AFTER: string;
				public static SUGGESTION_SPAN_PICKED_BEFORE: string;
				public static SUGGESTION_SPAN_PICKED_HASHCODE: string;
				public getSuggestions(): native.Array<string>;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getSpanTypeId(): number;
				public getLocaleObject(): java.util.Locale;
				public setFlags(param0: number): void;
				public constructor();
				public constructor(param0: java.util.Locale, param1: native.Array<string>, param2: number);
				public updateDrawState(param0: android.text.TextPaint): void;
				public constructor(param0: android.os.Parcel);
				public constructor(param0: android.content.Context, param1: native.Array<string>, param2: number);
				public hashCode(): number;
				public constructor(param0: android.content.Context, param1: java.util.Locale, param2: native.Array<string>, param3: number, param4: java.lang.Class<any>);
				/** @deprecated */
				public getLocale(): string;
				public describeContents(): number;
				public equals(param0: any): boolean;
				public getFlags(): number;
			}
		}
	}
}

declare module android {
	export module text {
		export module style {
			export class SuperscriptSpan extends android.text.style.MetricAffectingSpan implements android.text.ParcelableSpan {
				public static class: java.lang.Class<android.text.style.SuperscriptSpan>;
				public updateDrawState(param0: android.text.TextPaint): void;
				public constructor(param0: android.os.Parcel);
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getSpanTypeId(): number;
				public describeContents(): number;
				public updateMeasureState(param0: android.text.TextPaint): void;
				public constructor();
			}
		}
	}
}

declare module android {
	export module text {
		export module style {
			export class TabStopSpan extends java.lang.Object implements android.text.style.ParagraphStyle {
				public static class: java.lang.Class<android.text.style.TabStopSpan>;
				/**
				 * Constructs a new instance of the android.text.style.TabStopSpan interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getTabStop(): number;
				});
				public constructor();
				public getTabStop(): number;
			}
			export module TabStopSpan {
				export class Standard extends java.lang.Object implements android.text.style.TabStopSpan {
					public static class: java.lang.Class<android.text.style.TabStopSpan.Standard>;
					public getTabStop(): number;
					public constructor(param0: number);
				}
			}
		}
	}
}

declare module android {
	export module text {
		export module style {
			export class TextAppearanceSpan extends android.text.style.MetricAffectingSpan implements android.text.ParcelableSpan {
				public static class: java.lang.Class<android.text.style.TextAppearanceSpan>;
				public constructor(param0: android.content.Context, param1: number);
				public getTextStyle(): number;
				public constructor(param0: string, param1: number, param2: number, param3: android.content.res.ColorStateList, param4: android.content.res.ColorStateList);
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getSpanTypeId(): number;
				public getTextColor(): android.content.res.ColorStateList;
				public updateMeasureState(param0: android.text.TextPaint): void;
				public getFamily(): string;
				public constructor();
				public constructor(param0: android.content.Context, param1: number, param2: number);
				public getTextSize(): number;
				public updateDrawState(param0: android.text.TextPaint): void;
				public constructor(param0: android.os.Parcel);
				public getLinkTextColor(): android.content.res.ColorStateList;
				public describeContents(): number;
			}
		}
	}
}

declare module android {
	export module text {
		export module style {
			export class TtsSpan extends java.lang.Object implements android.text.ParcelableSpan {
				public static class: java.lang.Class<android.text.style.TtsSpan>;
				public static ANIMACY_ANIMATE: string;
				public static ANIMACY_INANIMATE: string;
				public static ARG_ANIMACY: string;
				public static ARG_CASE: string;
				public static ARG_COUNTRY_CODE: string;
				public static ARG_CURRENCY: string;
				public static ARG_DAY: string;
				public static ARG_DENOMINATOR: string;
				public static ARG_DIGITS: string;
				public static ARG_DOMAIN: string;
				public static ARG_EXTENSION: string;
				public static ARG_FRACTIONAL_PART: string;
				public static ARG_FRAGMENT_ID: string;
				public static ARG_GENDER: string;
				public static ARG_HOURS: string;
				public static ARG_INTEGER_PART: string;
				public static ARG_MINUTES: string;
				public static ARG_MONTH: string;
				public static ARG_MULTIPLICITY: string;
				public static ARG_NUMBER: string;
				public static ARG_NUMBER_PARTS: string;
				public static ARG_NUMERATOR: string;
				public static ARG_PASSWORD: string;
				public static ARG_PATH: string;
				public static ARG_PORT: string;
				public static ARG_PROTOCOL: string;
				public static ARG_QUANTITY: string;
				public static ARG_QUERY_STRING: string;
				public static ARG_TEXT: string;
				public static ARG_UNIT: string;
				public static ARG_USERNAME: string;
				public static ARG_VERBATIM: string;
				public static ARG_WEEKDAY: string;
				public static ARG_YEAR: string;
				public static CASE_ABLATIVE: string;
				public static CASE_ACCUSATIVE: string;
				public static CASE_DATIVE: string;
				public static CASE_GENITIVE: string;
				public static CASE_INSTRUMENTAL: string;
				public static CASE_LOCATIVE: string;
				public static CASE_NOMINATIVE: string;
				public static CASE_VOCATIVE: string;
				public static GENDER_FEMALE: string;
				public static GENDER_MALE: string;
				public static GENDER_NEUTRAL: string;
				public static MONTH_APRIL: number;
				public static MONTH_AUGUST: number;
				public static MONTH_DECEMBER: number;
				public static MONTH_FEBRUARY: number;
				public static MONTH_JANUARY: number;
				public static MONTH_JULY: number;
				public static MONTH_JUNE: number;
				public static MONTH_MARCH: number;
				public static MONTH_MAY: number;
				public static MONTH_NOVEMBER: number;
				public static MONTH_OCTOBER: number;
				public static MONTH_SEPTEMBER: number;
				public static MULTIPLICITY_DUAL: string;
				public static MULTIPLICITY_PLURAL: string;
				public static MULTIPLICITY_SINGLE: string;
				public static TYPE_CARDINAL: string;
				public static TYPE_DATE: string;
				public static TYPE_DECIMAL: string;
				public static TYPE_DIGITS: string;
				public static TYPE_ELECTRONIC: string;
				public static TYPE_FRACTION: string;
				public static TYPE_MEASURE: string;
				public static TYPE_MONEY: string;
				public static TYPE_ORDINAL: string;
				public static TYPE_TELEPHONE: string;
				public static TYPE_TEXT: string;
				public static TYPE_TIME: string;
				public static TYPE_VERBATIM: string;
				public static WEEKDAY_FRIDAY: number;
				public static WEEKDAY_MONDAY: number;
				public static WEEKDAY_SATURDAY: number;
				public static WEEKDAY_SUNDAY: number;
				public static WEEKDAY_THURSDAY: number;
				public static WEEKDAY_TUESDAY: number;
				public static WEEKDAY_WEDNESDAY: number;
				public getType(): string;
				public getArgs(): any;
				public constructor(param0: android.os.Parcel);
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getSpanTypeId(): number;
				public constructor(param0: string, param1: any);
			}
			export module TtsSpan {
				export class Builder<C>  extends java.lang.Object {
					public static class: java.lang.Class<android.text.style.TtsSpan.Builder<any>>;
					public build(): android.text.style.TtsSpan;
					public setIntArgument(param0: string, param1: number): C;
					public constructor(param0: string);
					public setStringArgument(param0: string, param1: string): C;
					public setLongArgument(param0: string, param1: number): C;
				}
				export class CardinalBuilder extends android.text.style.TtsSpan.SemioticClassBuilder<android.text.style.TtsSpan.CardinalBuilder> {
					public static class: java.lang.Class<android.text.style.TtsSpan.CardinalBuilder>;
					public constructor(param0: string);
					public constructor();
					public setNumber(param0: number): android.text.style.TtsSpan.CardinalBuilder;
					public setNumber(param0: string): android.text.style.TtsSpan.CardinalBuilder;
					public constructor(param0: number);
				}
				export class DateBuilder extends android.text.style.TtsSpan.SemioticClassBuilder<android.text.style.TtsSpan.DateBuilder> {
					public static class: java.lang.Class<android.text.style.TtsSpan.DateBuilder>;
					public setYear(param0: number): android.text.style.TtsSpan.DateBuilder;
					public setMonth(param0: number): android.text.style.TtsSpan.DateBuilder;
					public constructor(param0: string);
					public constructor();
					public setDay(param0: number): android.text.style.TtsSpan.DateBuilder;
					public constructor(param0: java.lang.Integer, param1: java.lang.Integer, param2: java.lang.Integer, param3: java.lang.Integer);
					public setWeekday(param0: number): android.text.style.TtsSpan.DateBuilder;
				}
				export class DecimalBuilder extends android.text.style.TtsSpan.SemioticClassBuilder<android.text.style.TtsSpan.DecimalBuilder> {
					public static class: java.lang.Class<android.text.style.TtsSpan.DecimalBuilder>;
					public constructor(param0: string, param1: string);
					public setIntegerPart(param0: number): android.text.style.TtsSpan.DecimalBuilder;
					public constructor(param0: string);
					public constructor();
					public constructor(param0: number, param1: number, param2: number);
					public setFractionalPart(param0: string): android.text.style.TtsSpan.DecimalBuilder;
					public setIntegerPart(param0: string): android.text.style.TtsSpan.DecimalBuilder;
					public setArgumentsFromDouble(param0: number, param1: number, param2: number): android.text.style.TtsSpan.DecimalBuilder;
				}
				export class DigitsBuilder extends android.text.style.TtsSpan.SemioticClassBuilder<android.text.style.TtsSpan.DigitsBuilder> {
					public static class: java.lang.Class<android.text.style.TtsSpan.DigitsBuilder>;
					public constructor(param0: string);
					public constructor();
					public setDigits(param0: string): android.text.style.TtsSpan.DigitsBuilder;
				}
				export class ElectronicBuilder extends android.text.style.TtsSpan.SemioticClassBuilder<android.text.style.TtsSpan.ElectronicBuilder> {
					public static class: java.lang.Class<android.text.style.TtsSpan.ElectronicBuilder>;
					public constructor(param0: string);
					public setEmailArguments(param0: string, param1: string): android.text.style.TtsSpan.ElectronicBuilder;
					public setProtocol(param0: string): android.text.style.TtsSpan.ElectronicBuilder;
					public constructor();
					public setUsername(param0: string): android.text.style.TtsSpan.ElectronicBuilder;
					public setPassword(param0: string): android.text.style.TtsSpan.ElectronicBuilder;
					public setFragmentId(param0: string): android.text.style.TtsSpan.ElectronicBuilder;
					public setPort(param0: number): android.text.style.TtsSpan.ElectronicBuilder;
					public setDomain(param0: string): android.text.style.TtsSpan.ElectronicBuilder;
					public setQueryString(param0: string): android.text.style.TtsSpan.ElectronicBuilder;
					public setPath(param0: string): android.text.style.TtsSpan.ElectronicBuilder;
				}
				export class FractionBuilder extends android.text.style.TtsSpan.SemioticClassBuilder<android.text.style.TtsSpan.FractionBuilder> {
					public static class: java.lang.Class<android.text.style.TtsSpan.FractionBuilder>;
					public setIntegerPart(param0: string): android.text.style.TtsSpan.FractionBuilder;
					public setNumerator(param0: number): android.text.style.TtsSpan.FractionBuilder;
					public setDenominator(param0: string): android.text.style.TtsSpan.FractionBuilder;
					public constructor(param0: string);
					public setIntegerPart(param0: number): android.text.style.TtsSpan.FractionBuilder;
					public constructor();
					public constructor(param0: number, param1: number, param2: number);
					public setDenominator(param0: number): android.text.style.TtsSpan.FractionBuilder;
					public setNumerator(param0: string): android.text.style.TtsSpan.FractionBuilder;
				}
				export class MeasureBuilder extends android.text.style.TtsSpan.SemioticClassBuilder<android.text.style.TtsSpan.MeasureBuilder> {
					public static class: java.lang.Class<android.text.style.TtsSpan.MeasureBuilder>;
					public setFractionalPart(param0: string): android.text.style.TtsSpan.MeasureBuilder;
					public setIntegerPart(param0: string): android.text.style.TtsSpan.MeasureBuilder;
					public constructor(param0: string);
					public setUnit(param0: string): android.text.style.TtsSpan.MeasureBuilder;
					public constructor();
					public setNumber(param0: number): android.text.style.TtsSpan.MeasureBuilder;
					public setNumerator(param0: string): android.text.style.TtsSpan.MeasureBuilder;
					public setDenominator(param0: string): android.text.style.TtsSpan.MeasureBuilder;
					public setIntegerPart(param0: number): android.text.style.TtsSpan.MeasureBuilder;
					public setDenominator(param0: number): android.text.style.TtsSpan.MeasureBuilder;
					public setNumerator(param0: number): android.text.style.TtsSpan.MeasureBuilder;
					public setNumber(param0: string): android.text.style.TtsSpan.MeasureBuilder;
				}
				export class MoneyBuilder extends android.text.style.TtsSpan.SemioticClassBuilder<android.text.style.TtsSpan.MoneyBuilder> {
					public static class: java.lang.Class<android.text.style.TtsSpan.MoneyBuilder>;
					public setIntegerPart(param0: number): android.text.style.TtsSpan.MoneyBuilder;
					public setCurrency(param0: string): android.text.style.TtsSpan.MoneyBuilder;
					public constructor(param0: string);
					public setQuantity(param0: string): android.text.style.TtsSpan.MoneyBuilder;
					public constructor();
					public setIntegerPart(param0: string): android.text.style.TtsSpan.MoneyBuilder;
					public setFractionalPart(param0: string): android.text.style.TtsSpan.MoneyBuilder;
				}
				export class OrdinalBuilder extends android.text.style.TtsSpan.SemioticClassBuilder<android.text.style.TtsSpan.OrdinalBuilder> {
					public static class: java.lang.Class<android.text.style.TtsSpan.OrdinalBuilder>;
					public constructor(param0: string);
					public constructor();
					public setNumber(param0: number): android.text.style.TtsSpan.OrdinalBuilder;
					public setNumber(param0: string): android.text.style.TtsSpan.OrdinalBuilder;
					public constructor(param0: number);
				}
				export class SemioticClassBuilder<C>  extends android.text.style.TtsSpan.Builder<any> {
					public static class: java.lang.Class<android.text.style.TtsSpan.SemioticClassBuilder<any>>;
					public setMultiplicity(param0: string): any;
					public constructor(param0: string);
					public setAnimacy(param0: string): any;
					public setGender(param0: string): any;
					public setCase(param0: string): any;
				}
				export class TelephoneBuilder extends android.text.style.TtsSpan.SemioticClassBuilder<android.text.style.TtsSpan.TelephoneBuilder> {
					public static class: java.lang.Class<android.text.style.TtsSpan.TelephoneBuilder>;
					public setCountryCode(param0: string): android.text.style.TtsSpan.TelephoneBuilder;
					public setNumberParts(param0: string): android.text.style.TtsSpan.TelephoneBuilder;
					public constructor(param0: string);
					public constructor();
					public setExtension(param0: string): android.text.style.TtsSpan.TelephoneBuilder;
				}
				export class TextBuilder extends android.text.style.TtsSpan.SemioticClassBuilder<android.text.style.TtsSpan.TextBuilder> {
					public static class: java.lang.Class<android.text.style.TtsSpan.TextBuilder>;
					public constructor(param0: string);
					public constructor();
					public setText(param0: string): android.text.style.TtsSpan.TextBuilder;
				}
				export class TimeBuilder extends android.text.style.TtsSpan.SemioticClassBuilder<android.text.style.TtsSpan.TimeBuilder> {
					public static class: java.lang.Class<android.text.style.TtsSpan.TimeBuilder>;
					public setMinutes(param0: number): android.text.style.TtsSpan.TimeBuilder;
					public constructor(param0: string);
					public constructor();
					public setHours(param0: number): android.text.style.TtsSpan.TimeBuilder;
					public constructor(param0: number, param1: number);
				}
				export class VerbatimBuilder extends android.text.style.TtsSpan.SemioticClassBuilder<android.text.style.TtsSpan.VerbatimBuilder> {
					public static class: java.lang.Class<android.text.style.TtsSpan.VerbatimBuilder>;
					public setVerbatim(param0: string): android.text.style.TtsSpan.VerbatimBuilder;
					public constructor(param0: string);
					public constructor();
				}
			}
		}
	}
}

declare module android {
	export module text {
		export module style {
			export class TypefaceSpan extends android.text.style.MetricAffectingSpan implements android.text.ParcelableSpan {
				public static class: java.lang.Class<android.text.style.TypefaceSpan>;
				public getTypeface(): android.graphics.Typeface;
				public constructor(param0: android.graphics.Typeface);
				public updateDrawState(param0: android.text.TextPaint): void;
				public constructor(param0: android.os.Parcel);
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getSpanTypeId(): number;
				public describeContents(): number;
				public updateMeasureState(param0: android.text.TextPaint): void;
				public getFamily(): string;
				public constructor(param0: string);
				public constructor();
			}
		}
	}
}

declare module android {
	export module text {
		export module style {
			export class URLSpan extends android.text.style.ClickableSpan implements android.text.ParcelableSpan {
				public static class: java.lang.Class<android.text.style.URLSpan>;
				public getURL(): string;
				public onClick(param0: android.view.View): void;
				public constructor(param0: android.os.Parcel);
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getSpanTypeId(): number;
				public describeContents(): number;
				public constructor(param0: string);
				public constructor();
			}
		}
	}
}

declare module android {
	export module text {
		export module style {
			export class UnderlineSpan extends android.text.style.CharacterStyle implements android.text.style.UpdateAppearance, android.text.ParcelableSpan {
				public static class: java.lang.Class<android.text.style.UnderlineSpan>;
				public updateDrawState(param0: android.text.TextPaint): void;
				public constructor(param0: android.os.Parcel);
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getSpanTypeId(): number;
				public describeContents(): number;
				public constructor();
			}
		}
	}
}

declare module android {
	export module text {
		export module style {
			export class UpdateAppearance extends java.lang.Object {
				public static class: java.lang.Class<android.text.style.UpdateAppearance>;
				/**
				 * Constructs a new instance of the android.text.style.UpdateAppearance interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
				});
				public constructor();
			}
		}
	}
}

declare module android {
	export module text {
		export module style {
			export class UpdateLayout extends java.lang.Object implements android.text.style.UpdateAppearance {
				public static class: java.lang.Class<android.text.style.UpdateLayout>;
				/**
				 * Constructs a new instance of the android.text.style.UpdateLayout interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
				});
				public constructor();
			}
		}
	}
}

declare module android {
	export module text {
		export module style {
			export class WrapTogetherSpan extends java.lang.Object implements android.text.style.ParagraphStyle {
				public static class: java.lang.Class<android.text.style.WrapTogetherSpan>;
				/**
				 * Constructs a new instance of the android.text.style.WrapTogetherSpan interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
				});
				public constructor();
			}
		}
	}
}

declare module android {
	export module text {
		export module util {
			export class Linkify extends java.lang.Object {
				public static class: java.lang.Class<android.text.util.Linkify>;
				public static ALL: number;
				public static EMAIL_ADDRESSES: number;
				public static MAP_ADDRESSES: number;
				public static PHONE_NUMBERS: number;
				public static WEB_URLS: number;
				public static sPhoneNumberMatchFilter: android.text.util.Linkify.MatchFilter;
				public static sPhoneNumberTransformFilter: android.text.util.Linkify.TransformFilter;
				public static sUrlMatchFilter: android.text.util.Linkify.MatchFilter;
				public static addLinks(param0: android.widget.TextView, param1: java.util.regex.Pattern, param2: string, param3: native.Array<string>, param4: android.text.util.Linkify.MatchFilter, param5: android.text.util.Linkify.TransformFilter): void;
				public static addLinks(param0: android.text.Spannable, param1: java.util.regex.Pattern, param2: string, param3: native.Array<string>, param4: android.text.util.Linkify.MatchFilter, param5: android.text.util.Linkify.TransformFilter): boolean;
				public static addLinks(param0: android.text.Spannable, param1: number): boolean;
				public static addLinks(param0: android.text.Spannable, param1: java.util.regex.Pattern, param2: string, param3: android.text.util.Linkify.MatchFilter, param4: android.text.util.Linkify.TransformFilter): boolean;
				public static addLinks(param0: android.widget.TextView, param1: number): boolean;
				public static addLinks(param0: android.widget.TextView, param1: java.util.regex.Pattern, param2: string): void;
				public static addLinks(param0: android.widget.TextView, param1: java.util.regex.Pattern, param2: string, param3: android.text.util.Linkify.MatchFilter, param4: android.text.util.Linkify.TransformFilter): void;
				public static addLinks(param0: android.text.Spannable, param1: java.util.regex.Pattern, param2: string): boolean;
				public constructor();
			}
			export module Linkify {
				export class MatchFilter extends java.lang.Object {
					public static class: java.lang.Class<android.text.util.Linkify.MatchFilter>;
					/**
					 * Constructs a new instance of the android.text.util.Linkify$MatchFilter interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						acceptMatch(param0: string, param1: number, param2: number): boolean;
					});
					public constructor();
					public acceptMatch(param0: string, param1: number, param2: number): boolean;
				}
				export class TransformFilter extends java.lang.Object {
					public static class: java.lang.Class<android.text.util.Linkify.TransformFilter>;
					/**
					 * Constructs a new instance of the android.text.util.Linkify$TransformFilter interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						transformUrl(param0: java.util.regex.Matcher, param1: string): string;
					});
					public constructor();
					public transformUrl(param0: java.util.regex.Matcher, param1: string): string;
				}
			}
		}
	}
}

declare module android {
	export module text {
		export module util {
			export class Rfc822Token extends java.lang.Object {
				public static class: java.lang.Class<android.text.util.Rfc822Token>;
				public setName(param0: string): void;
				public setComment(param0: string): void;
				public constructor(param0: string, param1: string, param2: string);
				public getName(): string;
				public toString(): string;
				public static quoteName(param0: string): string;
				public static quoteComment(param0: string): string;
				public hashCode(): number;
				public static quoteNameIfNecessary(param0: string): string;
				public equals(param0: any): boolean;
				public setAddress(param0: string): void;
				public getAddress(): string;
				public getComment(): string;
			}
		}
	}
}

declare module android {
	export module text {
		export module util {
			export class Rfc822Tokenizer extends java.lang.Object implements android.widget.MultiAutoCompleteTextView.Tokenizer {
				public static class: java.lang.Class<android.text.util.Rfc822Tokenizer>;
				public static tokenize(param0: string, param1: java.util.Collection<android.text.util.Rfc822Token>): void;
				public findTokenStart(param0: string, param1: number): number;
				public static tokenize(param0: string): native.Array<android.text.util.Rfc822Token>;
				public terminateToken(param0: string): string;
				public findTokenEnd(param0: string, param1: number): number;
				public constructor();
			}
		}
	}
}

declare module android {
	export module transition {
		export class ArcMotion extends android.transition.PathMotion {
			public static class: java.lang.Class<android.transition.ArcMotion>;
			public getMaximumAngle(): number;
			public setMinimumHorizontalAngle(param0: number): void;
			public getMinimumVerticalAngle(): number;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public getMinimumHorizontalAngle(): number;
			public constructor();
			public setMinimumVerticalAngle(param0: number): void;
			public getPath(param0: number, param1: number, param2: number, param3: number): android.graphics.Path;
			public setMaximumAngle(param0: number): void;
		}
	}
}

declare module android {
	export module transition {
		export class AutoTransition extends android.transition.TransitionSet {
			public static class: java.lang.Class<android.transition.AutoTransition>;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public constructor();
		}
	}
}

declare module android {
	export module transition {
		export class ChangeBounds extends android.transition.Transition {
			public static class: java.lang.Class<android.transition.ChangeBounds>;
			public createAnimator(param0: android.view.ViewGroup, param1: android.transition.TransitionValues, param2: android.transition.TransitionValues): android.animation.Animator;
			public setResizeClip(param0: boolean): void;
			public getResizeClip(): boolean;
			public getTransitionProperties(): native.Array<string>;
			public captureEndValues(param0: android.transition.TransitionValues): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public constructor();
			/** @deprecated */
			public setReparent(param0: boolean): void;
			public captureStartValues(param0: android.transition.TransitionValues): void;
		}
	}
}

declare module android {
	export module transition {
		export class ChangeClipBounds extends android.transition.Transition {
			public static class: java.lang.Class<android.transition.ChangeClipBounds>;
			public createAnimator(param0: android.view.ViewGroup, param1: android.transition.TransitionValues, param2: android.transition.TransitionValues): android.animation.Animator;
			public getTransitionProperties(): native.Array<string>;
			public captureEndValues(param0: android.transition.TransitionValues): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public constructor();
			public captureStartValues(param0: android.transition.TransitionValues): void;
		}
	}
}

declare module android {
	export module transition {
		export class ChangeImageTransform extends android.transition.Transition {
			public static class: java.lang.Class<android.transition.ChangeImageTransform>;
			public createAnimator(param0: android.view.ViewGroup, param1: android.transition.TransitionValues, param2: android.transition.TransitionValues): android.animation.Animator;
			public getTransitionProperties(): native.Array<string>;
			public captureEndValues(param0: android.transition.TransitionValues): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public constructor();
			public captureStartValues(param0: android.transition.TransitionValues): void;
		}
	}
}

declare module android {
	export module transition {
		export class ChangeScroll extends android.transition.Transition {
			public static class: java.lang.Class<android.transition.ChangeScroll>;
			public createAnimator(param0: android.view.ViewGroup, param1: android.transition.TransitionValues, param2: android.transition.TransitionValues): android.animation.Animator;
			public getTransitionProperties(): native.Array<string>;
			public captureEndValues(param0: android.transition.TransitionValues): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public constructor();
			public captureStartValues(param0: android.transition.TransitionValues): void;
		}
	}
}

declare module android {
	export module transition {
		export class ChangeTransform extends android.transition.Transition {
			public static class: java.lang.Class<android.transition.ChangeTransform>;
			public getReparent(): boolean;
			public createAnimator(param0: android.view.ViewGroup, param1: android.transition.TransitionValues, param2: android.transition.TransitionValues): android.animation.Animator;
			public getReparentWithOverlay(): boolean;
			public getTransitionProperties(): native.Array<string>;
			public captureEndValues(param0: android.transition.TransitionValues): void;
			public setReparent(param0: boolean): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public constructor();
			public setReparentWithOverlay(param0: boolean): void;
			public captureStartValues(param0: android.transition.TransitionValues): void;
		}
	}
}

declare module android {
	export module transition {
		export class CircularPropagation extends android.transition.VisibilityPropagation {
			public static class: java.lang.Class<android.transition.CircularPropagation>;
			public getStartDelay(param0: android.view.ViewGroup, param1: android.transition.Transition, param2: android.transition.TransitionValues, param3: android.transition.TransitionValues): number;
			public setPropagationSpeed(param0: number): void;
			public constructor();
		}
	}
}

declare module android {
	export module transition {
		export class Explode extends android.transition.Visibility {
			public static class: java.lang.Class<android.transition.Explode>;
			public onDisappear(param0: android.view.ViewGroup, param1: android.view.View, param2: android.transition.TransitionValues, param3: android.transition.TransitionValues): android.animation.Animator;
			public onAppear(param0: android.view.ViewGroup, param1: android.transition.TransitionValues, param2: number, param3: android.transition.TransitionValues, param4: number): android.animation.Animator;
			public captureEndValues(param0: android.transition.TransitionValues): void;
			public onDisappear(param0: android.view.ViewGroup, param1: android.transition.TransitionValues, param2: number, param3: android.transition.TransitionValues, param4: number): android.animation.Animator;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public onAppear(param0: android.view.ViewGroup, param1: android.view.View, param2: android.transition.TransitionValues, param3: android.transition.TransitionValues): android.animation.Animator;
			public constructor();
			public captureStartValues(param0: android.transition.TransitionValues): void;
		}
	}
}

declare module android {
	export module transition {
		export class Fade extends android.transition.Visibility {
			public static class: java.lang.Class<android.transition.Fade>;
			public static IN: number;
			public static OUT: number;
			public onDisappear(param0: android.view.ViewGroup, param1: android.view.View, param2: android.transition.TransitionValues, param3: android.transition.TransitionValues): android.animation.Animator;
			public onAppear(param0: android.view.ViewGroup, param1: android.transition.TransitionValues, param2: number, param3: android.transition.TransitionValues, param4: number): android.animation.Animator;
			public constructor(param0: number);
			public onDisappear(param0: android.view.ViewGroup, param1: android.transition.TransitionValues, param2: number, param3: android.transition.TransitionValues, param4: number): android.animation.Animator;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public onAppear(param0: android.view.ViewGroup, param1: android.view.View, param2: android.transition.TransitionValues, param3: android.transition.TransitionValues): android.animation.Animator;
			public constructor();
			public captureStartValues(param0: android.transition.TransitionValues): void;
		}
	}
}

declare module android {
	export module transition {
		export abstract class PathMotion extends java.lang.Object {
			public static class: java.lang.Class<android.transition.PathMotion>;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public constructor();
			public getPath(param0: number, param1: number, param2: number, param3: number): android.graphics.Path;
		}
	}
}

declare module android {
	export module transition {
		export class PatternPathMotion extends android.transition.PathMotion {
			public static class: java.lang.Class<android.transition.PatternPathMotion>;
			public getPatternPath(): android.graphics.Path;
			public constructor(param0: android.graphics.Path);
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public constructor();
			public getPath(param0: number, param1: number, param2: number, param3: number): android.graphics.Path;
			public setPatternPath(param0: android.graphics.Path): void;
		}
	}
}

declare module android {
	export module transition {
		export class Scene extends java.lang.Object {
			public static class: java.lang.Class<android.transition.Scene>;
			public setExitAction(param0: java.lang.Runnable): void;
			/** @deprecated */
			public constructor(param0: android.view.ViewGroup, param1: android.view.ViewGroup);
			public getSceneRoot(): android.view.ViewGroup;
			public static getSceneForLayout(param0: android.view.ViewGroup, param1: number, param2: android.content.Context): android.transition.Scene;
			public exit(): void;
			public enter(): void;
			public constructor(param0: android.view.ViewGroup);
			public constructor(param0: android.view.ViewGroup, param1: android.view.View);
			public setEnterAction(param0: java.lang.Runnable): void;
		}
	}
}

declare module android {
	export module transition {
		export class SidePropagation extends android.transition.VisibilityPropagation {
			public static class: java.lang.Class<android.transition.SidePropagation>;
			public getStartDelay(param0: android.view.ViewGroup, param1: android.transition.Transition, param2: android.transition.TransitionValues, param3: android.transition.TransitionValues): number;
			public setPropagationSpeed(param0: number): void;
			public setSide(param0: number): void;
			public constructor();
		}
	}
}

declare module android {
	export module transition {
		export class Slide extends android.transition.Visibility {
			public static class: java.lang.Class<android.transition.Slide>;
			public setSlideEdge(param0: number): void;
			public onDisappear(param0: android.view.ViewGroup, param1: android.view.View, param2: android.transition.TransitionValues, param3: android.transition.TransitionValues): android.animation.Animator;
			public onAppear(param0: android.view.ViewGroup, param1: android.transition.TransitionValues, param2: number, param3: android.transition.TransitionValues, param4: number): android.animation.Animator;
			public captureEndValues(param0: android.transition.TransitionValues): void;
			public constructor(param0: number);
			public onDisappear(param0: android.view.ViewGroup, param1: android.transition.TransitionValues, param2: number, param3: android.transition.TransitionValues, param4: number): android.animation.Animator;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public onAppear(param0: android.view.ViewGroup, param1: android.view.View, param2: android.transition.TransitionValues, param3: android.transition.TransitionValues): android.animation.Animator;
			public constructor();
			public getSlideEdge(): number;
			public captureStartValues(param0: android.transition.TransitionValues): void;
		}
	}
}

declare module android {
	export module transition {
		export abstract class Transition extends java.lang.Object implements java.lang.Cloneable {
			public static class: java.lang.Class<android.transition.Transition>;
			public static MATCH_ID: number;
			public static MATCH_INSTANCE: number;
			public static MATCH_ITEM_ID: number;
			public static MATCH_NAME: number;
			public setStartDelay(param0: number): android.transition.Transition;
			public createAnimator(param0: android.view.ViewGroup, param1: android.transition.TransitionValues, param2: android.transition.TransitionValues): android.animation.Animator;
			public clone(): android.transition.Transition;
			public getDuration(): number;
			public getTargetTypes(): java.util.List<java.lang.Class<any>>;
			public removeTarget(param0: string): android.transition.Transition;
			public getTargetIds(): java.util.List<java.lang.Integer>;
			public getInterpolator(): android.animation.TimeInterpolator;
			public removeTarget(param0: java.lang.Class<any>): android.transition.Transition;
			public addTarget(param0: string): android.transition.Transition;
			public excludeChildren(param0: java.lang.Class<any>, param1: boolean): android.transition.Transition;
			public isTransitionRequired(param0: android.transition.TransitionValues, param1: android.transition.TransitionValues): boolean;
			public captureEndValues(param0: android.transition.TransitionValues): void;
			public canRemoveViews(): boolean;
			public getEpicenterCallback(): android.transition.Transition.EpicenterCallback;
			public addTarget(param0: java.lang.Class<any>): android.transition.Transition;
			public setPropagation(param0: android.transition.TransitionPropagation): void;
			public getStartDelay(): number;
			public captureStartValues(param0: android.transition.TransitionValues): void;
			public excludeTarget(param0: android.view.View, param1: boolean): android.transition.Transition;
			public setPathMotion(param0: android.transition.PathMotion): void;
			public removeTarget(param0: android.view.View): android.transition.Transition;
			public setMatchOrder(param0: native.Array<number>): void;
			public excludeTarget(param0: string, param1: boolean): android.transition.Transition;
			public setEpicenterCallback(param0: android.transition.Transition.EpicenterCallback): void;
			public getPathMotion(): android.transition.PathMotion;
			public constructor();
			public addListener(param0: android.transition.Transition.TransitionListener): android.transition.Transition;
			public excludeTarget(param0: java.lang.Class<any>, param1: boolean): android.transition.Transition;
			public getPropagation(): android.transition.TransitionPropagation;
			public addTarget(param0: android.view.View): android.transition.Transition;
			public getTransitionValues(param0: android.view.View, param1: boolean): android.transition.TransitionValues;
			public setInterpolator(param0: android.animation.TimeInterpolator): android.transition.Transition;
			public excludeChildren(param0: number, param1: boolean): android.transition.Transition;
			public excludeChildren(param0: android.view.View, param1: boolean): android.transition.Transition;
			public toString(): string;
			public clone(): any;
			public getTargets(): java.util.List<android.view.View>;
			public getName(): string;
			public getTransitionProperties(): native.Array<string>;
			public getTargetNames(): java.util.List<string>;
			public removeListener(param0: android.transition.Transition.TransitionListener): android.transition.Transition;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public excludeTarget(param0: number, param1: boolean): android.transition.Transition;
			public removeTarget(param0: number): android.transition.Transition;
			public getEpicenter(): android.graphics.Rect;
			public setDuration(param0: number): android.transition.Transition;
			public addTarget(param0: number): android.transition.Transition;
		}
		export module Transition {
			export abstract class EpicenterCallback extends java.lang.Object {
				public static class: java.lang.Class<android.transition.Transition.EpicenterCallback>;
				public constructor();
				public onGetEpicenter(param0: android.transition.Transition): android.graphics.Rect;
			}
			export class TransitionListener extends java.lang.Object {
				public static class: java.lang.Class<android.transition.Transition.TransitionListener>;
				/**
				 * Constructs a new instance of the android.transition.Transition$TransitionListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onTransitionStart(param0: android.transition.Transition): void;
					onTransitionEnd(param0: android.transition.Transition): void;
					onTransitionCancel(param0: android.transition.Transition): void;
					onTransitionPause(param0: android.transition.Transition): void;
					onTransitionResume(param0: android.transition.Transition): void;
				});
				public constructor();
				public onTransitionStart(param0: android.transition.Transition): void;
				public onTransitionEnd(param0: android.transition.Transition): void;
				public onTransitionResume(param0: android.transition.Transition): void;
				public onTransitionPause(param0: android.transition.Transition): void;
				public onTransitionCancel(param0: android.transition.Transition): void;
			}
		}
	}
}

declare module android {
	export module transition {
		export class TransitionInflater extends java.lang.Object {
			public static class: java.lang.Class<android.transition.TransitionInflater>;
			public static from(param0: android.content.Context): android.transition.TransitionInflater;
			public inflateTransitionManager(param0: number, param1: android.view.ViewGroup): android.transition.TransitionManager;
			public inflateTransition(param0: number): android.transition.Transition;
		}
	}
}

declare module android {
	export module transition {
		export abstract class TransitionListenerAdapter extends java.lang.Object implements android.transition.Transition.TransitionListener {
			public static class: java.lang.Class<android.transition.TransitionListenerAdapter>;
			public onTransitionCancel(param0: android.transition.Transition): void;
			public onTransitionStart(param0: android.transition.Transition): void;
			public onTransitionPause(param0: android.transition.Transition): void;
			public onTransitionEnd(param0: android.transition.Transition): void;
			public constructor();
			public onTransitionResume(param0: android.transition.Transition): void;
		}
	}
}

declare module android {
	export module transition {
		export class TransitionManager extends java.lang.Object {
			public static class: java.lang.Class<android.transition.TransitionManager>;
			public setTransition(param0: android.transition.Scene, param1: android.transition.Scene, param2: android.transition.Transition): void;
			public static go(param0: android.transition.Scene, param1: android.transition.Transition): void;
			public setTransition(param0: android.transition.Scene, param1: android.transition.Transition): void;
			public constructor();
			public static go(param0: android.transition.Scene): void;
			public static beginDelayedTransition(param0: android.view.ViewGroup): void;
			public static beginDelayedTransition(param0: android.view.ViewGroup, param1: android.transition.Transition): void;
			public static endTransitions(param0: android.view.ViewGroup): void;
			public transitionTo(param0: android.transition.Scene): void;
		}
	}
}

declare module android {
	export module transition {
		export abstract class TransitionPropagation extends java.lang.Object {
			public static class: java.lang.Class<android.transition.TransitionPropagation>;
			public getStartDelay(param0: android.view.ViewGroup, param1: android.transition.Transition, param2: android.transition.TransitionValues, param3: android.transition.TransitionValues): number;
			public captureValues(param0: android.transition.TransitionValues): void;
			public constructor();
			public getPropagationProperties(): native.Array<string>;
		}
	}
}

declare module android {
	export module transition {
		export class TransitionSet extends android.transition.Transition {
			public static class: java.lang.Class<android.transition.TransitionSet>;
			public static ORDERING_SEQUENTIAL: number;
			public static ORDERING_TOGETHER: number;
			public getOrdering(): number;
			public setStartDelay(param0: number): android.transition.Transition;
			public setStartDelay(param0: number): android.transition.TransitionSet;
			public removeTarget(param0: java.lang.Class<any>): android.transition.TransitionSet;
			public clone(): android.transition.Transition;
			public addListener(param0: android.transition.Transition.TransitionListener): android.transition.TransitionSet;
			public addTarget(param0: number): android.transition.TransitionSet;
			public removeTarget(param0: string): android.transition.Transition;
			public addTransition(param0: android.transition.Transition): android.transition.TransitionSet;
			public removeTarget(param0: string): android.transition.TransitionSet;
			public removeTarget(param0: java.lang.Class<any>): android.transition.Transition;
			public removeListener(param0: android.transition.Transition.TransitionListener): android.transition.TransitionSet;
			public getTransitionAt(param0: number): android.transition.Transition;
			public addTarget(param0: string): android.transition.Transition;
			public setOrdering(param0: number): android.transition.TransitionSet;
			public setInterpolator(param0: android.animation.TimeInterpolator): android.transition.TransitionSet;
			public captureEndValues(param0: android.transition.TransitionValues): void;
			public addTarget(param0: java.lang.Class<any>): android.transition.Transition;
			public setPropagation(param0: android.transition.TransitionPropagation): void;
			public excludeTarget(param0: android.view.View, param1: boolean): android.transition.Transition;
			public setPathMotion(param0: android.transition.PathMotion): void;
			public captureStartValues(param0: android.transition.TransitionValues): void;
			public removeTarget(param0: android.view.View): android.transition.Transition;
			public excludeTarget(param0: string, param1: boolean): android.transition.Transition;
			public setEpicenterCallback(param0: android.transition.Transition.EpicenterCallback): void;
			public addTarget(param0: android.view.View): android.transition.TransitionSet;
			public removeTarget(param0: android.view.View): android.transition.TransitionSet;
			public clone(): android.transition.TransitionSet;
			public constructor();
			public addListener(param0: android.transition.Transition.TransitionListener): android.transition.Transition;
			public excludeTarget(param0: java.lang.Class<any>, param1: boolean): android.transition.Transition;
			public addTarget(param0: android.view.View): android.transition.Transition;
			public getTransitionCount(): number;
			public setDuration(param0: number): android.transition.TransitionSet;
			public setInterpolator(param0: android.animation.TimeInterpolator): android.transition.Transition;
			public removeTransition(param0: android.transition.Transition): android.transition.TransitionSet;
			public clone(): any;
			public addTarget(param0: java.lang.Class<any>): android.transition.TransitionSet;
			public removeListener(param0: android.transition.Transition.TransitionListener): android.transition.Transition;
			public addTarget(param0: string): android.transition.TransitionSet;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public excludeTarget(param0: number, param1: boolean): android.transition.Transition;
			public removeTarget(param0: number): android.transition.Transition;
			public setDuration(param0: number): android.transition.Transition;
			public addTarget(param0: number): android.transition.Transition;
			public removeTarget(param0: number): android.transition.TransitionSet;
		}
	}
}

declare module android {
	export module transition {
		export class TransitionValues extends java.lang.Object {
			public static class: java.lang.Class<android.transition.TransitionValues>;
			public values: java.util.Map<string,any>;
			public view: android.view.View;
			public equals(param0: any): boolean;
			public toString(): string;
			public constructor();
			public hashCode(): number;
		}
	}
}

declare module android {
	export module transition {
		export abstract class Visibility extends android.transition.Transition {
			public static class: java.lang.Class<android.transition.Visibility>;
			public static MODE_IN: number;
			public static MODE_OUT: number;
			public onAppear(param0: android.view.ViewGroup, param1: android.transition.TransitionValues, param2: number, param3: android.transition.TransitionValues, param4: number): android.animation.Animator;
			public createAnimator(param0: android.view.ViewGroup, param1: android.transition.TransitionValues, param2: android.transition.TransitionValues): android.animation.Animator;
			public setMode(param0: number): void;
			public onDisappear(param0: android.view.ViewGroup, param1: android.transition.TransitionValues, param2: number, param3: android.transition.TransitionValues, param4: number): android.animation.Animator;
			public onAppear(param0: android.view.ViewGroup, param1: android.view.View, param2: android.transition.TransitionValues, param3: android.transition.TransitionValues): android.animation.Animator;
			public constructor();
			public onDisappear(param0: android.view.ViewGroup, param1: android.view.View, param2: android.transition.TransitionValues, param3: android.transition.TransitionValues): android.animation.Animator;
			public getTransitionProperties(): native.Array<string>;
			public isTransitionRequired(param0: android.transition.TransitionValues, param1: android.transition.TransitionValues): boolean;
			public captureEndValues(param0: android.transition.TransitionValues): void;
			public isVisible(param0: android.transition.TransitionValues): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public getMode(): number;
			public captureStartValues(param0: android.transition.TransitionValues): void;
		}
	}
}

declare module android {
	export module transition {
		export abstract class VisibilityPropagation extends android.transition.TransitionPropagation {
			public static class: java.lang.Class<android.transition.VisibilityPropagation>;
			public captureValues(param0: android.transition.TransitionValues): void;
			public getViewVisibility(param0: android.transition.TransitionValues): number;
			public getViewY(param0: android.transition.TransitionValues): number;
			public getViewX(param0: android.transition.TransitionValues): number;
			public constructor();
			public getPropagationProperties(): native.Array<string>;
		}
	}
}

declare module android {
	export module util {
		export class AndroidException extends java.lang.Exception {
			public static class: java.lang.Class<android.util.AndroidException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
			public constructor(param0: java.lang.Exception);
		}
	}
}

declare module android {
	export module util {
		export class AndroidRuntimeException extends java.lang.RuntimeException {
			public static class: java.lang.Class<android.util.AndroidRuntimeException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
			public constructor(param0: java.lang.Exception);
		}
	}
}

declare module android {
	export module util {
		export class ArrayMap<K, V>  extends java.util.Map<any,any> {
			public static class: java.lang.Class<android.util.ArrayMap<any,any>>;
			public replaceAll(param0: any /* any<any,any,any>*/): void;
			public equals(param0: any): boolean;
			public replace(param0: any, param1: any): any;
			public compute(param0: any, param1: any /* any<any,any,any>*/): any;
			public containsValue(param0: any): boolean;
			public replace(param0: any, param1: any, param2: any): boolean;
			public get(param0: any): any;
			public forEach(param0: any /* any<any,any>*/): void;
			public getOrDefault(param0: any, param1: any): any;
			public ensureCapacity(param0: number): void;
			public putIfAbsent(param0: any, param1: any): any;
			public remove(param0: any): any;
			public putAll(param0: java.util.Map<any,any>): void;
			public putAll(param0: android.util.ArrayMap<any,any>): void;
			public values(): java.util.Collection<any>;
			public clear(): void;
			public constructor(param0: android.util.ArrayMap<any,any>);
			public isEmpty(): boolean;
			public size(): number;
			public entrySet(): java.util.Set<java.util.Map.Entry<any,any>>;
			public keySet(): java.util.Set<any>;
			public setValueAt(param0: number, param1: any): any;
			public computeIfPresent(param0: any, param1: any /* any<any,any,any>*/): any;
			public constructor(param0: number);
			public constructor();
			public computeIfAbsent(param0: any, param1: any /* any<any,any>*/): any;
			public keyAt(param0: number): any;
			public removeAt(param0: number): any;
			public retainAll(param0: java.util.Collection<any>): boolean;
			public put(param0: any, param1: any): any;
			public merge(param0: any, param1: any, param2: any /* any<any,any,any>*/): any;
			public containsAll(param0: java.util.Collection<any>): boolean;
			public valueAt(param0: number): any;
			public toString(): string;
			public indexOfKey(param0: any): number;
			public remove(param0: any, param1: any): boolean;
			public containsKey(param0: any): boolean;
			public removeAll(param0: java.util.Collection<any>): boolean;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module util {
		export class ArraySet<E>  extends java.lang.Object {
			public static class: java.lang.Class<android.util.ArraySet<any>>;
			public addAll(param0: android.util.ArraySet<any>): void;
			public equals(param0: any): boolean;
			public toArray(): native.Array<any>;
			public iterator(): java.util.Iterator<E>;
			public removeAt(param0: number): E;
			public ensureCapacity(param0: number): void;
			public spliterator(): java.util.Spliterator<E>;
			public contains(param0: any): boolean;
			public stream(): java.util.stream.Stream<E>;
			public iterator(): java.util.Iterator<any>;
			public clear(): void;
			public constructor(param0: android.util.ArraySet<E>);
			public isEmpty(): boolean;
			public size(): number;
			public parallelStream(): java.util.stream.Stream<E>;
			public constructor(param0: number);
			public add(param0: E): boolean;
			public toArray(param0: native.Array<any>): native.Array<any>;
			public constructor();
			public addAll(param0: java.util.Collection<any>): boolean;
			public retainAll(param0: java.util.Collection<any>): boolean;
			public forEach(param0: any /* any*/): void;
			public remove(param0: any): boolean;
			public containsAll(param0: java.util.Collection<any>): boolean;
			public toString(): string;
			public removeAll(param0: android.util.ArraySet<any>): boolean;
			public valueAt(param0: number): E;
			public removeAll(param0: java.util.Collection<any>): boolean;
			public indexOf(param0: any): number;
			public spliterator(): java.util.Spliterator<any>;
			public removeIf(param0: any /* any*/): boolean;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module util {
		export class AtomicFile extends java.lang.Object {
			public static class: java.lang.Class<android.util.AtomicFile>;
			public delete(): void;
			public startWrite(): java.io.FileOutputStream;
			public getBaseFile(): java.io.File;
			public constructor(param0: java.io.File);
			public openRead(): java.io.FileInputStream;
			public finishWrite(param0: java.io.FileOutputStream): void;
			public failWrite(param0: java.io.FileOutputStream): void;
			public readFully(): native.Array<number>;
		}
	}
}

declare module android {
	export module util {
		export class AttributeSet extends java.lang.Object {
			public static class: java.lang.Class<android.util.AttributeSet>;
			/**
			 * Constructs a new instance of the android.util.AttributeSet interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				getAttributeCount(): number;
				getAttributeNamespace(param0: number): string;
				getAttributeName(param0: number): string;
				getAttributeValue(param0: number): string;
				getAttributeValue(param0: string, param1: string): string;
				getPositionDescription(): string;
				getAttributeNameResource(param0: number): number;
				getAttributeListValue(param0: string, param1: string, param2: native.Array<string>, param3: number): number;
				getAttributeBooleanValue(param0: string, param1: string, param2: boolean): boolean;
				getAttributeResourceValue(param0: string, param1: string, param2: number): number;
				getAttributeIntValue(param0: string, param1: string, param2: number): number;
				getAttributeUnsignedIntValue(param0: string, param1: string, param2: number): number;
				getAttributeFloatValue(param0: string, param1: string, param2: number): number;
				getAttributeListValue(param0: number, param1: native.Array<string>, param2: number): number;
				getAttributeBooleanValue(param0: number, param1: boolean): boolean;
				getAttributeResourceValue(param0: number, param1: number): number;
				getAttributeIntValue(param0: number, param1: number): number;
				getAttributeUnsignedIntValue(param0: number, param1: number): number;
				getAttributeFloatValue(param0: number, param1: number): number;
				getIdAttribute(): string;
				getClassAttribute(): string;
				getIdAttributeResourceValue(param0: number): number;
				getStyleAttribute(): number;
			});
			public constructor();
			public getAttributeFloatValue(param0: number, param1: number): number;
			public getAttributeUnsignedIntValue(param0: string, param1: string, param2: number): number;
			public getAttributeBooleanValue(param0: string, param1: string, param2: boolean): boolean;
			public getAttributeIntValue(param0: number, param1: number): number;
			public getPositionDescription(): string;
			public getAttributeListValue(param0: number, param1: native.Array<string>, param2: number): number;
			public getAttributeResourceValue(param0: number, param1: number): number;
			public getAttributeUnsignedIntValue(param0: number, param1: number): number;
			public getAttributeName(param0: number): string;
			public getAttributeValue(param0: string, param1: string): string;
			public getAttributeFloatValue(param0: string, param1: string, param2: number): number;
			public getAttributeNameResource(param0: number): number;
			public getAttributeResourceValue(param0: string, param1: string, param2: number): number;
			public getAttributeListValue(param0: string, param1: string, param2: native.Array<string>, param3: number): number;
			public getAttributeNamespace(param0: number): string;
			public getAttributeValue(param0: number): string;
			public getAttributeCount(): number;
			public getIdAttributeResourceValue(param0: number): number;
			public getAttributeIntValue(param0: string, param1: string, param2: number): number;
			public getAttributeBooleanValue(param0: number, param1: boolean): boolean;
			public getIdAttribute(): string;
			public getClassAttribute(): string;
			public getStyleAttribute(): number;
		}
	}
}

declare module android {
	export module util {
		export class Base64 extends java.lang.Object {
			public static class: java.lang.Class<android.util.Base64>;
			public static CRLF: number;
			public static DEFAULT: number;
			public static NO_CLOSE: number;
			public static NO_PADDING: number;
			public static NO_WRAP: number;
			public static URL_SAFE: number;
			public static decode(param0: native.Array<number>, param1: number, param2: number, param3: number): native.Array<number>;
			public static encodeToString(param0: native.Array<number>, param1: number, param2: number, param3: number): string;
			public static decode(param0: string, param1: number): native.Array<number>;
			public static encode(param0: native.Array<number>, param1: number, param2: number, param3: number): native.Array<number>;
			public static decode(param0: native.Array<number>, param1: number): native.Array<number>;
			public static encodeToString(param0: native.Array<number>, param1: number): string;
			public static encode(param0: native.Array<number>, param1: number): native.Array<number>;
		}
	}
}

declare module android {
	export module util {
		export class Base64DataException extends java.io.IOException {
			public static class: java.lang.Class<android.util.Base64DataException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module android {
	export module util {
		export class Base64InputStream extends java.io.FilterInputStream {
			public static class: java.lang.Class<android.util.Base64InputStream>;
			public markSupported(): boolean;
			public constructor(param0: java.io.InputStream, param1: number);
			public read(param0: native.Array<number>): number;
			public skip(param0: number): number;
			public reset(): void;
			public constructor(param0: java.io.InputStream);
			public read(param0: native.Array<number>, param1: number, param2: number): number;
			public constructor();
			public close(): void;
			public mark(param0: number): void;
			public available(): number;
			public read(): number;
		}
	}
}

declare module android {
	export module util {
		export class Base64OutputStream extends java.io.FilterOutputStream {
			public static class: java.lang.Class<android.util.Base64OutputStream>;
			public flush(): void;
			public constructor(param0: java.io.OutputStream, param1: number);
			public write(param0: number): void;
			public constructor(param0: java.io.OutputStream);
			public write(param0: native.Array<number>, param1: number, param2: number): void;
			public constructor();
			public write(param0: native.Array<number>): void;
			public close(): void;
		}
	}
}

declare module android {
	export module util {
		export class Config extends java.lang.Object {
			public static class: java.lang.Class<android.util.Config>;
			public static DEBUG: boolean;
			public static LOGD: boolean;
			public static LOGV: boolean;
			public static PROFILE: boolean;
			public static RELEASE: boolean;
		}
	}
}

declare module android {
	export module util {
		export class DebugUtils extends java.lang.Object {
			public static class: java.lang.Class<android.util.DebugUtils>;
			public static isObjectSelected(param0: any): boolean;
		}
	}
}

declare module android {
	export module util {
		export class DisplayMetrics extends java.lang.Object {
			public static class: java.lang.Class<android.util.DisplayMetrics>;
			public static DENSITY_260: number;
			public static DENSITY_280: number;
			public static DENSITY_300: number;
			public static DENSITY_340: number;
			public static DENSITY_360: number;
			public static DENSITY_400: number;
			public static DENSITY_420: number;
			public static DENSITY_440: number;
			public static DENSITY_560: number;
			public static DENSITY_DEFAULT: number;
			public static DENSITY_DEVICE_STABLE: number;
			public static DENSITY_HIGH: number;
			public static DENSITY_LOW: number;
			public static DENSITY_MEDIUM: number;
			public static DENSITY_TV: number;
			public static DENSITY_XHIGH: number;
			public static DENSITY_XXHIGH: number;
			public static DENSITY_XXXHIGH: number;
			public density: number;
			public densityDpi: number;
			public heightPixels: number;
			public scaledDensity: number;
			public widthPixels: number;
			public xdpi: number;
			public ydpi: number;
			public equals(param0: any): boolean;
			public setTo(param0: android.util.DisplayMetrics): void;
			public toString(): string;
			public equals(param0: android.util.DisplayMetrics): boolean;
			public setToDefaults(): void;
			public constructor();
			public hashCode(): number;
		}
	}
}

declare module android {
	export module util {
		export class EventLog extends java.lang.Object {
			public static class: java.lang.Class<android.util.EventLog>;
			public static writeEvent(param0: number, param1: string): number;
			public static getTagCode(param0: string): number;
			public static readEvents(param0: native.Array<number>, param1: java.util.Collection<android.util.EventLog.Event>): void;
			public static getTagName(param0: number): string;
			public static writeEvent(param0: number, param1: native.Array<any>): number;
			public static writeEvent(param0: number, param1: number): number;
		}
		export module EventLog {
			export class Event extends java.lang.Object {
				public static class: java.lang.Class<android.util.EventLog.Event>;
				public getProcessId(): number;
				public getTimeNanos(): number;
				public getThreadId(): number;
				public hashCode(): number;
				public equals(param0: any): boolean;
				public getTag(): number;
				public getData(): any;
			}
		}
	}
}

declare module android {
	export module util {
		export class EventLogTags extends java.lang.Object {
			public static class: java.lang.Class<android.util.EventLogTags>;
			public get(param0: string): android.util.EventLogTags.Description;
			public constructor(param0: java.io.BufferedReader);
			public constructor();
			public get(param0: number): android.util.EventLogTags.Description;
		}
		export module EventLogTags {
			export class Description extends java.lang.Object {
				public static class: java.lang.Class<android.util.EventLogTags.Description>;
				public mName: string;
				public mTag: number;
			}
		}
	}
}

declare module android {
	export module util {
		export class FloatMath extends java.lang.Object {
			public static class: java.lang.Class<android.util.FloatMath>;
		}
	}
}

declare module android {
	export module util {
		export abstract class FloatProperty<T>  extends android.util.Property<any,java.lang.Float> {
			public static class: java.lang.Class<android.util.FloatProperty<any>>;
			public constructor(param0: java.lang.Class<any>, param1: string);
			public set(param0: any, param1: any): void;
			public set(param0: any, param1: java.lang.Float): void;
			public constructor(param0: string);
			public setValue(param0: any, param1: number): void;
		}
	}
}

declare module android {
	export module util {
		export class Half extends java.lang.Number implements java.lang.Comparable<android.util.Half>  {
			public static class: java.lang.Class<android.util.Half>;
			public static EPSILON: number;
			public static LOWEST_VALUE: number;
			public static MAX_EXPONENT: number;
			public static MAX_VALUE: number;
			public static MIN_EXPONENT: number;
			public static MIN_NORMAL: number;
			public static MIN_VALUE: number;
			public static NEGATIVE_INFINITY: number;
			public static NEGATIVE_ZERO: number;
			public static NaN: number;
			public static POSITIVE_INFINITY: number;
			public static POSITIVE_ZERO: number;
			public static SIZE: number;
			public static getExponent(param0: number): number;
			public equals(param0: any): boolean;
			public static getSignificand(param0: number): number;
			public static getSign(param0: number): number;
			public static lessEquals(param0: number, param1: number): boolean;
			public static copySign(param0: number, param1: number): number;
			public shortValue(): number;
			public static ceil(param0: number): number;
			public doubleValue(): number;
			public static valueOf(param0: string): android.util.Half;
			public static toFloat(param0: number): number;
			public static halfToShortBits(param0: number): number;
			public static trunc(param0: number): number;
			public static isNormalized(param0: number): boolean;
			public static less(param0: number, param1: number): boolean;
			public static equals(param0: number, param1: number): boolean;
			public compareTo(param0: android.util.Half): number;
			public static min(param0: number, param1: number): number;
			public constructor(param0: string);
			public static toHalf(param0: number): number;
			public static greater(param0: number, param1: number): boolean;
			public static round(param0: number): number;
			public static floor(param0: number): number;
			public constructor(param0: number);
			public constructor();
			public static halfToIntBits(param0: number): number;
			public halfValue(): number;
			public static parseHalf(param0: string): number;
			public floatValue(): number;
			public isNaN(): boolean;
			public static halfToRawIntBits(param0: number): number;
			public static valueOf(param0: number): android.util.Half;
			public intValue(): number;
			public toString(): string;
			public static toHexString(param0: number): string;
			public static compare(param0: number, param1: number): number;
			public static max(param0: number, param1: number): number;
			public byteValue(): number;
			public static hashCode(param0: number): number;
			public static intBitsToHalf(param0: number): number;
			public static abs(param0: number): number;
			public static isNaN(param0: number): boolean;
			public static greaterEquals(param0: number, param1: number): boolean;
			public static isInfinite(param0: number): boolean;
			public static toString(param0: number): string;
			public longValue(): number;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module util {
		export abstract class IntProperty<T>  extends android.util.Property<any,java.lang.Integer> {
			public static class: java.lang.Class<android.util.IntProperty<any>>;
			public constructor(param0: java.lang.Class<any>, param1: string);
			public set(param0: any, param1: any): void;
			public set(param0: any, param1: java.lang.Integer): void;
			public constructor(param0: string);
			public setValue(param0: any, param1: number): void;
		}
	}
}

declare module android {
	export module util {
		export class JsonReader extends java.lang.Object implements java.io.Closeable {
			public static class: java.lang.Class<android.util.JsonReader>;
			public beginArray(): void;
			public nextString(): string;
			public nextBoolean(): boolean;
			public isLenient(): boolean;
			public nextNull(): void;
			public hasNext(): boolean;
			public nextLong(): number;
			public nextName(): string;
			public nextDouble(): number;
			public constructor(param0: java.io.Reader);
			public endArray(): void;
			public beginObject(): void;
			public toString(): string;
			public endObject(): void;
			public setLenient(param0: boolean): void;
			public peek(): android.util.JsonToken;
			public nextInt(): number;
			public close(): void;
			public skipValue(): void;
		}
	}
}

declare module android {
	export module util {
		export class JsonToken {
			public static class: java.lang.Class<android.util.JsonToken>;
			public static BEGIN_ARRAY: android.util.JsonToken;
			public static END_ARRAY: android.util.JsonToken;
			public static BEGIN_OBJECT: android.util.JsonToken;
			public static END_OBJECT: android.util.JsonToken;
			public static NAME: android.util.JsonToken;
			public static STRING: android.util.JsonToken;
			public static NUMBER: android.util.JsonToken;
			public static BOOLEAN: android.util.JsonToken;
			public static NULL: android.util.JsonToken;
			public static END_DOCUMENT: android.util.JsonToken;
			public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			public static values(): native.Array<android.util.JsonToken>;
			public static valueOf(param0: string): android.util.JsonToken;
		}
	}
}

declare module android {
	export module util {
		export class JsonWriter extends java.lang.Object implements java.io.Closeable {
			public static class: java.lang.Class<android.util.JsonWriter>;
			public constructor(param0: java.io.Writer);
			public flush(): void;
			public beginArray(): android.util.JsonWriter;
			public isLenient(): boolean;
			public endObject(): android.util.JsonWriter;
			public value(param0: java.lang.Number): android.util.JsonWriter;
			public beginObject(): android.util.JsonWriter;
			public name(param0: string): android.util.JsonWriter;
			public value(param0: boolean): android.util.JsonWriter;
			public endArray(): android.util.JsonWriter;
			public value(param0: number): android.util.JsonWriter;
			public setLenient(param0: boolean): void;
			public nullValue(): android.util.JsonWriter;
			public setIndent(param0: string): void;
			public close(): void;
			public value(param0: string): android.util.JsonWriter;
		}
	}
}

declare module android {
	export module util {
		export class LayoutDirection extends java.lang.Object {
			public static class: java.lang.Class<android.util.LayoutDirection>;
			public static INHERIT: number;
			public static LOCALE: number;
			public static LTR: number;
			public static RTL: number;
		}
	}
}

declare module android {
	export module util {
		export class Log extends java.lang.Object {
			public static class: java.lang.Class<android.util.Log>;
			public static ASSERT: number;
			public static DEBUG: number;
			public static ERROR: number;
			public static INFO: number;
			public static VERBOSE: number;
			public static WARN: number;
			public static v(param0: string, param1: string): number;
			public static w(param0: string, param1: string): number;
			public static i(param0: string, param1: string): number;
			public static i(param0: string, param1: string, param2: java.lang.Throwable): number;
			public static d(param0: string, param1: string, param2: java.lang.Throwable): number;
			public static wtf(param0: string, param1: string, param2: java.lang.Throwable): number;
			public static v(param0: string, param1: string, param2: java.lang.Throwable): number;
			public static d(param0: string, param1: string): number;
			public static getStackTraceString(param0: java.lang.Throwable): string;
			public static println(param0: number, param1: string, param2: string): number;
			public static isLoggable(param0: string, param1: number): boolean;
			public static e(param0: string, param1: string, param2: java.lang.Throwable): number;
			public static wtf(param0: string, param1: string): number;
			public static wtf(param0: string, param1: java.lang.Throwable): number;
			public static w(param0: string, param1: string, param2: java.lang.Throwable): number;
			public static w(param0: string, param1: java.lang.Throwable): number;
			public static e(param0: string, param1: string): number;
		}
	}
}

declare module android {
	export module util {
		export class LogPrinter extends java.lang.Object implements android.util.Printer {
			public static class: java.lang.Class<android.util.LogPrinter>;
			public constructor(param0: number, param1: string);
			public println(param0: string): void;
		}
	}
}

declare module android {
	export module util {
		export class LongSparseArray<E>  extends java.lang.Cloneable {
			public static class: java.lang.Class<android.util.LongSparseArray<any>>;
			public append(param0: number, param1: any): void;
			public clear(): void;
			public put(param0: number, param1: any): void;
			public size(): number;
			public delete(param0: number): void;
			public indexOfValue(param0: any): number;
			public constructor(param0: number);
			public constructor();
			public remove(param0: number): void;
			public clone(): android.util.LongSparseArray<any>;
			public keyAt(param0: number): number;
			public clone(): any;
			public valueAt(param0: number): any;
			public toString(): string;
			public get(param0: number): any;
			public removeAt(param0: number): void;
			public get(param0: number, param1: any): any;
			public setValueAt(param0: number, param1: any): void;
			public indexOfKey(param0: number): number;
		}
	}
}

declare module android {
	export module util {
		export class LruCache<K, V>  extends java.lang.Object {
			public static class: java.lang.Class<android.util.LruCache<any,any>>;
			public put(param0: K, param1: V): V;
			public size(): number;
			public putCount(): number;
			public createCount(): number;
			public constructor(param0: number);
			public evictAll(): void;
			public get(param0: K): V;
			public resize(param0: number): void;
			public maxSize(): number;
			public create(param0: K): V;
			public hitCount(): number;
			public snapshot(): java.util.Map<K,V>;
			public entryRemoved(param0: boolean, param1: K, param2: V, param3: V): void;
			public toString(): string;
			public sizeOf(param0: K, param1: V): number;
			public trimToSize(param0: number): void;
			public remove(param0: K): V;
			public evictionCount(): number;
			public missCount(): number;
		}
	}
}

declare module android {
	export module util {
		export class MalformedJsonException extends java.io.IOException {
			public static class: java.lang.Class<android.util.MalformedJsonException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module android {
	export module util {
		export class MonthDisplayHelper extends java.lang.Object {
			public static class: java.lang.Class<android.util.MonthDisplayHelper>;
			public constructor(param0: number, param1: number, param2: number);
			public getColumnOf(param0: number): number;
			public getOffset(): number;
			public isWithinCurrentMonth(param0: number, param1: number): boolean;
			public getDigitsForRow(param0: number): native.Array<number>;
			public previousMonth(): void;
			public getFirstDayOfMonth(): number;
			public getNumberOfDaysInMonth(): number;
			public getYear(): number;
			public getMonth(): number;
			public getRowOf(param0: number): number;
			public getDayAt(param0: number, param1: number): number;
			public constructor(param0: number, param1: number);
			public nextMonth(): void;
			public getWeekStartDay(): number;
		}
	}
}

declare module android {
	export module util {
		export class MutableBoolean extends java.lang.Object {
			public static class: java.lang.Class<android.util.MutableBoolean>;
			public value: boolean;
			public constructor(param0: boolean);
		}
	}
}

declare module android {
	export module util {
		export class MutableByte extends java.lang.Object {
			public static class: java.lang.Class<android.util.MutableByte>;
			public value: number;
			public constructor(param0: number);
		}
	}
}

declare module android {
	export module util {
		export class MutableChar extends java.lang.Object {
			public static class: java.lang.Class<android.util.MutableChar>;
			public value: string;
			public constructor(param0: string);
		}
	}
}

declare module android {
	export module util {
		export class MutableDouble extends java.lang.Object {
			public static class: java.lang.Class<android.util.MutableDouble>;
			public value: number;
			public constructor(param0: number);
		}
	}
}

declare module android {
	export module util {
		export class MutableFloat extends java.lang.Object {
			public static class: java.lang.Class<android.util.MutableFloat>;
			public value: number;
			public constructor(param0: number);
		}
	}
}

declare module android {
	export module util {
		export class MutableInt extends java.lang.Object {
			public static class: java.lang.Class<android.util.MutableInt>;
			public value: number;
			public constructor(param0: number);
		}
	}
}

declare module android {
	export module util {
		export class MutableLong extends java.lang.Object {
			public static class: java.lang.Class<android.util.MutableLong>;
			public value: number;
			public constructor(param0: number);
		}
	}
}

declare module android {
	export module util {
		export class MutableShort extends java.lang.Object {
			public static class: java.lang.Class<android.util.MutableShort>;
			public value: number;
			public constructor(param0: number);
		}
	}
}

declare module android {
	export module util {
		export class NoSuchPropertyException extends java.lang.RuntimeException {
			public static class: java.lang.Class<android.util.NoSuchPropertyException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module android {
	export module util {
		export class Pair<F, S>  extends java.lang.Object {
			public static class: java.lang.Class<android.util.Pair<any,any>>;
			public first: F;
			public second: S;
			public equals(param0: any): boolean;
			public toString(): string;
			public static create(param0: any, param1: any): android.util.Pair<any,any>;
			public constructor(param0: F, param1: S);
			public hashCode(): number;
		}
	}
}

declare module android {
	export module util {
		export class Patterns extends java.lang.Object {
			public static class: java.lang.Class<android.util.Patterns>;
			public static DOMAIN_NAME: java.util.regex.Pattern;
			public static EMAIL_ADDRESS: java.util.regex.Pattern;
			public static GOOD_IRI_CHAR: string;
			public static IP_ADDRESS: java.util.regex.Pattern;
			public static PHONE: java.util.regex.Pattern;
			public static TOP_LEVEL_DOMAIN: java.util.regex.Pattern;
			public static TOP_LEVEL_DOMAIN_STR: string;
			public static TOP_LEVEL_DOMAIN_STR_FOR_WEB_URL: string;
			public static WEB_URL: java.util.regex.Pattern;
			public static concatGroups(param0: java.util.regex.Matcher): string;
			public static digitsAndPlusOnly(param0: java.util.regex.Matcher): string;
		}
	}
}

declare module android {
	export module util {
		export class PrintStreamPrinter extends java.lang.Object implements android.util.Printer {
			public static class: java.lang.Class<android.util.PrintStreamPrinter>;
			public constructor(param0: java.io.PrintStream);
			public println(param0: string): void;
		}
	}
}

declare module android {
	export module util {
		export class PrintWriterPrinter extends java.lang.Object implements android.util.Printer {
			public static class: java.lang.Class<android.util.PrintWriterPrinter>;
			public println(param0: string): void;
			public constructor(param0: java.io.PrintWriter);
		}
	}
}

declare module android {
	export module util {
		export class Printer extends java.lang.Object {
			public static class: java.lang.Class<android.util.Printer>;
			/**
			 * Constructs a new instance of the android.util.Printer interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				println(param0: string): void;
			});
			public constructor();
			public println(param0: string): void;
		}
	}
}

declare module android {
	export module util {
		export abstract class Property<T, V>  extends java.lang.Object {
			public static class: java.lang.Class<android.util.Property<any,any>>;
			public isReadOnly(): boolean;
			public set(param0: T, param1: V): void;
			public getName(): string;
			public getType(): java.lang.Class<V>;
			public constructor(param0: java.lang.Class<V>, param1: string);
			public static of(param0: java.lang.Class<any>, param1: java.lang.Class<any>, param2: string): android.util.Property<any,any>;
			public get(param0: T): V;
		}
	}
}

declare module android {
	export module util {
		export class Range<T>  extends java.lang.Object {
			public static class: java.lang.Class<android.util.Range<any>>;
			public equals(param0: any): boolean;
			public contains(param0: android.util.Range<T>): boolean;
			public intersect(param0: T, param1: T): android.util.Range<T>;
			public extend(param0: T, param1: T): android.util.Range<T>;
			public constructor(param0: T, param1: T);
			public clamp(param0: T): T;
			public extend(param0: T): android.util.Range<T>;
			public extend(param0: android.util.Range<T>): android.util.Range<T>;
			public toString(): string;
			public getLower(): T;
			public getUpper(): T;
			public intersect(param0: android.util.Range<T>): android.util.Range<T>;
			public contains(param0: T): boolean;
			public static create(param0: java.lang.Comparable<any>, param1: java.lang.Comparable<any>): android.util.Range<any>;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module util {
		export class Rational extends java.lang.Number implements java.lang.Comparable<android.util.Rational>  {
			public static class: java.lang.Class<android.util.Rational>;
			public static NEGATIVE_INFINITY: android.util.Rational;
			public static NaN: android.util.Rational;
			public static POSITIVE_INFINITY: android.util.Rational;
			public static ZERO: android.util.Rational;
			public equals(param0: any): boolean;
			public constructor();
			public getNumerator(): number;
			public shortValue(): number;
			public doubleValue(): number;
			public floatValue(): number;
			public isNaN(): boolean;
			public intValue(): number;
			public toString(): string;
			public isFinite(): boolean;
			public compareTo(param0: android.util.Rational): number;
			public static parseRational(param0: string): android.util.Rational;
			public getDenominator(): number;
			public isZero(): boolean;
			public isInfinite(): boolean;
			public constructor(param0: number, param1: number);
			public hashCode(): number;
			public longValue(): number;
		}
	}
}

declare module android {
	export module util {
		export class Size extends java.lang.Object {
			public static class: java.lang.Class<android.util.Size>;
			public equals(param0: any): boolean;
			public toString(): string;
			public getHeight(): number;
			public getWidth(): number;
			public static parseSize(param0: string): any;
			public constructor(param0: number, param1: number);
			public hashCode(): number;
		}
	}
}

declare module android {
	export module util {
		export class SizeF extends java.lang.Object {
			public static class: java.lang.Class<android.util.SizeF>;
			public equals(param0: any): boolean;
			public toString(): string;
			public getHeight(): number;
			public static parseSizeF(param0: string): any;
			public getWidth(): number;
			public constructor(param0: number, param1: number);
			public hashCode(): number;
		}
	}
}

declare module android {
	export module util {
		export class SparseArray<E>  extends java.lang.Cloneable {
			public static class: java.lang.Class<android.util.SparseArray<any>>;
			public append(param0: number, param1: any): void;
			public clear(): void;
			public put(param0: number, param1: any): void;
			public size(): number;
			public delete(param0: number): void;
			public indexOfValue(param0: any): number;
			public constructor(param0: number);
			public constructor();
			public remove(param0: number): void;
			public keyAt(param0: number): number;
			public clone(): any;
			public valueAt(param0: number): any;
			public toString(): string;
			public removeAtRange(param0: number, param1: number): void;
			public get(param0: number): any;
			public removeAt(param0: number): void;
			public get(param0: number, param1: any): any;
			public clone(): android.util.SparseArray<any>;
			public setValueAt(param0: number, param1: any): void;
			public indexOfKey(param0: number): number;
		}
	}
}

declare module android {
	export module util {
		export class SparseBooleanArray extends java.lang.Object implements java.lang.Cloneable {
			public static class: java.lang.Class<android.util.SparseBooleanArray>;
			public clear(): void;
			public equals(param0: any): boolean;
			public size(): number;
			public delete(param0: number): void;
			public append(param0: number, param1: boolean): void;
			public constructor(param0: number);
			public constructor();
			public clone(): android.util.SparseBooleanArray;
			public get(param0: number, param1: boolean): boolean;
			public keyAt(param0: number): number;
			public clone(): any;
			public toString(): string;
			public get(param0: number): boolean;
			public put(param0: number, param1: boolean): void;
			public removeAt(param0: number): void;
			public valueAt(param0: number): boolean;
			public indexOfValue(param0: boolean): number;
			public indexOfKey(param0: number): number;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module util {
		export class SparseIntArray extends java.lang.Object implements java.lang.Cloneable {
			public static class: java.lang.Class<android.util.SparseIntArray>;
			public clear(): void;
			public put(param0: number, param1: number): void;
			public size(): number;
			public valueAt(param0: number): number;
			public delete(param0: number): void;
			public append(param0: number, param1: number): void;
			public constructor(param0: number);
			public constructor();
			public clone(): android.util.SparseIntArray;
			public keyAt(param0: number): number;
			public clone(): any;
			public toString(): string;
			public indexOfValue(param0: number): number;
			public removeAt(param0: number): void;
			public get(param0: number): number;
			public indexOfKey(param0: number): number;
			public get(param0: number, param1: number): number;
		}
	}
}

declare module android {
	export module util {
		export class SparseLongArray extends java.lang.Object implements java.lang.Cloneable {
			public static class: java.lang.Class<android.util.SparseLongArray>;
			public clear(): void;
			public put(param0: number, param1: number): void;
			public size(): number;
			public valueAt(param0: number): number;
			public delete(param0: number): void;
			public append(param0: number, param1: number): void;
			public constructor(param0: number);
			public constructor();
			public keyAt(param0: number): number;
			public clone(): any;
			public clone(): android.util.SparseLongArray;
			public toString(): string;
			public indexOfValue(param0: number): number;
			public removeAt(param0: number): void;
			public get(param0: number): number;
			public indexOfKey(param0: number): number;
			public get(param0: number, param1: number): number;
		}
	}
}

declare module android {
	export module util {
		export class StateSet extends java.lang.Object {
			public static class: java.lang.Class<android.util.StateSet>;
			public static NOTHING: native.Array<number>;
			public static WILD_CARD: native.Array<number>;
			public static isWildCard(param0: native.Array<number>): boolean;
			public static stateSetMatches(param0: native.Array<number>, param1: number): boolean;
			public static trimStateSet(param0: native.Array<number>, param1: number): native.Array<number>;
			public static dump(param0: native.Array<number>): string;
			public static stateSetMatches(param0: native.Array<number>, param1: native.Array<number>): boolean;
		}
	}
}

declare module android {
	export module util {
		export class StatsLog extends java.lang.Object {
			public static class: java.lang.Class<android.util.StatsLog>;
			public static logStop(param0: number): boolean;
			public static logStart(param0: number): boolean;
			public static logEvent(param0: number): boolean;
		}
	}
}

declare module android {
	export module util {
		export class StringBuilderPrinter extends java.lang.Object implements android.util.Printer {
			public static class: java.lang.Class<android.util.StringBuilderPrinter>;
			public println(param0: string): void;
			public constructor(param0: java.lang.StringBuilder);
		}
	}
}

declare module android {
	export module util {
		export class TimeFormatException extends java.lang.RuntimeException {
			public static class: java.lang.Class<android.util.TimeFormatException>;
		}
	}
}

declare module android {
	export module util {
		export class TimeUtils extends java.lang.Object {
			public static class: java.lang.Class<android.util.TimeUtils>;
			public static getTimeZone(param0: number, param1: boolean, param2: number, param3: string): java.util.TimeZone;
			public static getTimeZoneDatabaseVersion(): string;
		}
	}
}

declare module android {
	export module util {
		export class TimingLogger extends java.lang.Object {
			public static class: java.lang.Class<android.util.TimingLogger>;
			public constructor(param0: string, param1: string);
			public reset(param0: string, param1: string): void;
			public dumpToLog(): void;
			public reset(): void;
			public addSplit(param0: string): void;
		}
	}
}

declare module android {
	export module util {
		export class TypedValue extends java.lang.Object {
			public static class: java.lang.Class<android.util.TypedValue>;
			public static COMPLEX_MANTISSA_MASK: number;
			public static COMPLEX_MANTISSA_SHIFT: number;
			public static COMPLEX_RADIX_0p23: number;
			public static COMPLEX_RADIX_16p7: number;
			public static COMPLEX_RADIX_23p0: number;
			public static COMPLEX_RADIX_8p15: number;
			public static COMPLEX_RADIX_MASK: number;
			public static COMPLEX_RADIX_SHIFT: number;
			public static COMPLEX_UNIT_DIP: number;
			public static COMPLEX_UNIT_FRACTION: number;
			public static COMPLEX_UNIT_FRACTION_PARENT: number;
			public static COMPLEX_UNIT_IN: number;
			public static COMPLEX_UNIT_MASK: number;
			public static COMPLEX_UNIT_MM: number;
			public static COMPLEX_UNIT_PT: number;
			public static COMPLEX_UNIT_PX: number;
			public static COMPLEX_UNIT_SHIFT: number;
			public static COMPLEX_UNIT_SP: number;
			public static DATA_NULL_EMPTY: number;
			public static DATA_NULL_UNDEFINED: number;
			public static DENSITY_DEFAULT: number;
			public static DENSITY_NONE: number;
			public static TYPE_ATTRIBUTE: number;
			public static TYPE_DIMENSION: number;
			public static TYPE_FIRST_COLOR_INT: number;
			public static TYPE_FIRST_INT: number;
			public static TYPE_FLOAT: number;
			public static TYPE_FRACTION: number;
			public static TYPE_INT_BOOLEAN: number;
			public static TYPE_INT_COLOR_ARGB4: number;
			public static TYPE_INT_COLOR_ARGB8: number;
			public static TYPE_INT_COLOR_RGB4: number;
			public static TYPE_INT_COLOR_RGB8: number;
			public static TYPE_INT_DEC: number;
			public static TYPE_INT_HEX: number;
			public static TYPE_LAST_COLOR_INT: number;
			public static TYPE_LAST_INT: number;
			public static TYPE_NULL: number;
			public static TYPE_REFERENCE: number;
			public static TYPE_STRING: number;
			public assetCookie: number;
			public changingConfigurations: number;
			public data: number;
			public density: number;
			public resourceId: number;
			public string: string;
			public type: number;
			public static applyDimension(param0: number, param1: number, param2: android.util.DisplayMetrics): number;
			public static complexToDimension(param0: number, param1: android.util.DisplayMetrics): number;
			public static complexToDimensionPixelOffset(param0: number, param1: android.util.DisplayMetrics): number;
			public constructor();
			public setTo(param0: android.util.TypedValue): void;
			public getDimension(param0: android.util.DisplayMetrics): number;
			public getFraction(param0: number, param1: number): number;
			public coerceToString(): string;
			public toString(): string;
			public static complexToFloat(param0: number): number;
			public static complexToDimensionPixelSize(param0: number, param1: android.util.DisplayMetrics): number;
			public static coerceToString(param0: number, param1: number): string;
			public getComplexUnit(): number;
			public static complexToFraction(param0: number, param1: number, param2: number): number;
			public getFloat(): number;
		}
	}
}

declare module android {
	export module util {
		export class Xml extends java.lang.Object {
			public static class: java.lang.Class<android.util.Xml>;
			public static FEATURE_RELAXED: string;
			public static parse(param0: java.io.InputStream, param1: android.util.Xml.Encoding, param2: org.xml.sax.ContentHandler): void;
			public static parse(param0: string, param1: org.xml.sax.ContentHandler): void;
			public static findEncodingByName(param0: string): android.util.Xml.Encoding;
			public static newSerializer(): org.xmlpull.v1.XmlSerializer;
			public static newPullParser(): org.xmlpull.v1.XmlPullParser;
			public static parse(param0: java.io.Reader, param1: org.xml.sax.ContentHandler): void;
			public static asAttributeSet(param0: org.xmlpull.v1.XmlPullParser): android.util.AttributeSet;
		}
		export module Xml {
			export class Encoding {
				public static class: java.lang.Class<android.util.Xml.Encoding>;
				public static US_ASCII: android.util.Xml.Encoding;
				public static UTF_8: android.util.Xml.Encoding;
				public static UTF_16: android.util.Xml.Encoding;
				public static ISO_8859_1: android.util.Xml.Encoding;
				public static valueOf(param0: string): android.util.Xml.Encoding;
				public static values(): native.Array<android.util.Xml.Encoding>;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			}
		}
	}
}

declare module android {
	export module view {
		export abstract class AbsSavedState extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.view.AbsSavedState>;
			public static CREATOR: android.os.Parcelable.Creator<android.view.AbsSavedState>;
			public static EMPTY_STATE: android.view.AbsSavedState;
			public constructor(param0: android.os.Parcel);
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getSuperState(): android.os.Parcelable;
			public constructor(param0: android.os.Parcelable);
			public constructor(param0: android.os.Parcel, param1: java.lang.ClassLoader);
		}
	}
}

declare module android {
	export module view {
		export abstract class ActionMode extends java.lang.Object {
			public static class: java.lang.Class<android.view.ActionMode>;
			public static DEFAULT_HIDE_DURATION: number;
			public static TYPE_FLOATING: number;
			public static TYPE_PRIMARY: number;
			public setTag(param0: any): void;
			public getType(): number;
			public getTitle(): string;
			public setTitle(param0: string): void;
			public getSubtitle(): string;
			public getMenu(): android.view.Menu;
			public getTitleOptionalHint(): boolean;
			public isTitleOptional(): boolean;
			public finish(): void;
			public setSubtitle(param0: number): void;
			public setType(param0: number): void;
			public constructor();
			public setTitle(param0: number): void;
			public getMenuInflater(): android.view.MenuInflater;
			public invalidate(): void;
			public getCustomView(): android.view.View;
			public hide(param0: number): void;
			public setSubtitle(param0: string): void;
			public onWindowFocusChanged(param0: boolean): void;
			public getTag(): any;
			public invalidateContentRect(): void;
			public setTitleOptionalHint(param0: boolean): void;
			public setCustomView(param0: android.view.View): void;
		}
		export module ActionMode {
			export class Callback extends java.lang.Object {
				public static class: java.lang.Class<android.view.ActionMode.Callback>;
				/**
				 * Constructs a new instance of the android.view.ActionMode$Callback interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onCreateActionMode(param0: android.view.ActionMode, param1: android.view.Menu): boolean;
					onPrepareActionMode(param0: android.view.ActionMode, param1: android.view.Menu): boolean;
					onActionItemClicked(param0: android.view.ActionMode, param1: android.view.MenuItem): boolean;
					onDestroyActionMode(param0: android.view.ActionMode): void;
				});
				public constructor();
				public onPrepareActionMode(param0: android.view.ActionMode, param1: android.view.Menu): boolean;
				public onActionItemClicked(param0: android.view.ActionMode, param1: android.view.MenuItem): boolean;
				public onCreateActionMode(param0: android.view.ActionMode, param1: android.view.Menu): boolean;
				public onDestroyActionMode(param0: android.view.ActionMode): void;
			}
			export abstract class Callback2 extends java.lang.Object implements android.view.ActionMode.Callback {
				public static class: java.lang.Class<android.view.ActionMode.Callback2>;
				public onPrepareActionMode(param0: android.view.ActionMode, param1: android.view.Menu): boolean;
				public onActionItemClicked(param0: android.view.ActionMode, param1: android.view.MenuItem): boolean;
				public onCreateActionMode(param0: android.view.ActionMode, param1: android.view.Menu): boolean;
				public onGetContentRect(param0: android.view.ActionMode, param1: android.view.View, param2: android.graphics.Rect): void;
				public constructor();
				public onDestroyActionMode(param0: android.view.ActionMode): void;
			}
		}
	}
}

declare module android {
	export module view {
		export abstract class ActionProvider extends java.lang.Object {
			public static class: java.lang.Class<android.view.ActionProvider>;
			public setVisibilityListener(param0: android.view.ActionProvider.VisibilityListener): void;
			/** @deprecated */
			public onCreateActionView(): android.view.View;
			public onPerformDefaultAction(): boolean;
			public constructor(param0: android.content.Context);
			public overridesItemVisibility(): boolean;
			public onPrepareSubMenu(param0: android.view.SubMenu): void;
			public refreshVisibility(): void;
			public onCreateActionView(param0: android.view.MenuItem): android.view.View;
			public hasSubMenu(): boolean;
			public isVisible(): boolean;
		}
		export module ActionProvider {
			export class VisibilityListener extends java.lang.Object {
				public static class: java.lang.Class<android.view.ActionProvider.VisibilityListener>;
				/**
				 * Constructs a new instance of the android.view.ActionProvider$VisibilityListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onActionProviderVisibilityChanged(param0: boolean): void;
				});
				public constructor();
				public onActionProviderVisibilityChanged(param0: boolean): void;
			}
		}
	}
}

declare module android {
	export module view {
		export class Choreographer extends java.lang.Object {
			public static class: java.lang.Class<android.view.Choreographer>;
			public removeFrameCallback(param0: android.view.Choreographer.FrameCallback): void;
			public postFrameCallback(param0: android.view.Choreographer.FrameCallback): void;
			public static getInstance(): android.view.Choreographer;
			public postFrameCallbackDelayed(param0: android.view.Choreographer.FrameCallback, param1: number): void;
		}
		export module Choreographer {
			export class FrameCallback extends java.lang.Object {
				public static class: java.lang.Class<android.view.Choreographer.FrameCallback>;
				/**
				 * Constructs a new instance of the android.view.Choreographer$FrameCallback interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					doFrame(param0: number): void;
				});
				public constructor();
				public doFrame(param0: number): void;
			}
		}
	}
}

declare module android {
	export module view {
		export class CollapsibleActionView extends java.lang.Object {
			public static class: java.lang.Class<android.view.CollapsibleActionView>;
			/**
			 * Constructs a new instance of the android.view.CollapsibleActionView interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				onActionViewExpanded(): void;
				onActionViewCollapsed(): void;
			});
			public constructor();
			public onActionViewCollapsed(): void;
			public onActionViewExpanded(): void;
		}
	}
}

declare module android {
	export module view {
		export class ContextMenu extends java.lang.Object implements android.view.Menu {
			public static class: java.lang.Class<android.view.ContextMenu>;
			/**
			 * Constructs a new instance of the android.view.ContextMenu interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				setHeaderTitle(param0: number): android.view.ContextMenu;
				setHeaderTitle(param0: string): android.view.ContextMenu;
				setHeaderIcon(param0: number): android.view.ContextMenu;
				setHeaderIcon(param0: android.graphics.drawable.Drawable): android.view.ContextMenu;
				setHeaderView(param0: android.view.View): android.view.ContextMenu;
				clearHeader(): void;
				add(param0: string): android.view.MenuItem;
				add(param0: number): android.view.MenuItem;
				add(param0: number, param1: number, param2: number, param3: string): android.view.MenuItem;
				add(param0: number, param1: number, param2: number, param3: number): android.view.MenuItem;
				addSubMenu(param0: string): android.view.SubMenu;
				addSubMenu(param0: number): android.view.SubMenu;
				addSubMenu(param0: number, param1: number, param2: number, param3: string): android.view.SubMenu;
				addSubMenu(param0: number, param1: number, param2: number, param3: number): android.view.SubMenu;
				addIntentOptions(param0: number, param1: number, param2: number, param3: android.content.ComponentName, param4: native.Array<android.content.Intent>, param5: android.content.Intent, param6: number, param7: native.Array<android.view.MenuItem>): number;
				removeItem(param0: number): void;
				removeGroup(param0: number): void;
				clear(): void;
				setGroupCheckable(param0: number, param1: boolean, param2: boolean): void;
				setGroupVisible(param0: number, param1: boolean): void;
				setGroupEnabled(param0: number, param1: boolean): void;
				hasVisibleItems(): boolean;
				findItem(param0: number): android.view.MenuItem;
				size(): number;
				getItem(param0: number): android.view.MenuItem;
				close(): void;
				performShortcut(param0: number, param1: android.view.KeyEvent, param2: number): boolean;
				isShortcutKey(param0: number, param1: android.view.KeyEvent): boolean;
				performIdentifierAction(param0: number, param1: number): boolean;
				setQwertyMode(param0: boolean): void;
				setGroupDividerEnabled(param0: boolean): void;
			});
			public constructor();
			public static CATEGORY_SECONDARY: number;
			public static FLAG_APPEND_TO_GROUP: number;
			public static FIRST: number;
			public static NONE: number;
			public static SUPPORTED_MODIFIERS_MASK: number;
			public static CATEGORY_ALTERNATIVE: number;
			public static FLAG_ALWAYS_PERFORM_CLOSE: number;
			public static CATEGORY_CONTAINER: number;
			public static FLAG_PERFORM_NO_CLOSE: number;
			public static CATEGORY_SYSTEM: number;
			public hasVisibleItems(): boolean;
			public setHeaderTitle(param0: string): android.view.ContextMenu;
			public setGroupEnabled(param0: number, param1: boolean): void;
			public add(param0: number, param1: number, param2: number, param3: number): android.view.MenuItem;
			public addSubMenu(param0: string): android.view.SubMenu;
			public addSubMenu(param0: number): android.view.SubMenu;
			public setHeaderIcon(param0: android.graphics.drawable.Drawable): android.view.ContextMenu;
			public removeItem(param0: number): void;
			public setHeaderView(param0: android.view.View): android.view.ContextMenu;
			public setQwertyMode(param0: boolean): void;
			public addIntentOptions(param0: number, param1: number, param2: number, param3: android.content.ComponentName, param4: native.Array<android.content.Intent>, param5: android.content.Intent, param6: number, param7: native.Array<android.view.MenuItem>): number;
			public close(): void;
			public setGroupDividerEnabled(param0: boolean): void;
			public clear(): void;
			public clearHeader(): void;
			public isShortcutKey(param0: number, param1: android.view.KeyEvent): boolean;
			public setGroupCheckable(param0: number, param1: boolean, param2: boolean): void;
			public size(): number;
			public add(param0: string): android.view.MenuItem;
			public add(param0: number): android.view.MenuItem;
			public setHeaderTitle(param0: number): android.view.ContextMenu;
			public add(param0: number, param1: number, param2: number, param3: string): android.view.MenuItem;
			public removeGroup(param0: number): void;
			public getItem(param0: number): android.view.MenuItem;
			public addSubMenu(param0: number, param1: number, param2: number, param3: number): android.view.SubMenu;
			public performIdentifierAction(param0: number, param1: number): boolean;
			public performShortcut(param0: number, param1: android.view.KeyEvent, param2: number): boolean;
			public setGroupVisible(param0: number, param1: boolean): void;
			public addSubMenu(param0: number, param1: number, param2: number, param3: string): android.view.SubMenu;
			public findItem(param0: number): android.view.MenuItem;
			public setHeaderIcon(param0: number): android.view.ContextMenu;
		}
		export module ContextMenu {
			export class ContextMenuInfo extends java.lang.Object {
				public static class: java.lang.Class<android.view.ContextMenu.ContextMenuInfo>;
				/**
				 * Constructs a new instance of the android.view.ContextMenu$ContextMenuInfo interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
				});
				public constructor();
			}
		}
	}
}

declare module android {
	export module view {
		export class ContextThemeWrapper extends android.content.ContextWrapper {
			public static class: java.lang.Class<android.view.ContextThemeWrapper>;
			public onApplyThemeResource(param0: android.content.res.Resources.Theme, param1: number, param2: boolean): void;
			public getResources(): android.content.res.Resources;
			public getAssets(): android.content.res.AssetManager;
			public attachBaseContext(param0: android.content.Context): void;
			public getSystemService(param0: java.lang.Class<any>): any;
			public constructor();
			public constructor(param0: android.content.Context, param1: number);
			public getSystemService(param0: string): any;
			public applyOverrideConfiguration(param0: android.content.res.Configuration): void;
			public setTheme(param0: number): void;
			public constructor(param0: android.content.Context);
			public constructor(param0: android.content.Context, param1: android.content.res.Resources.Theme);
			public getTheme(): android.content.res.Resources.Theme;
		}
	}
}

declare module android {
	export module view {
		export class Display extends java.lang.Object {
			public static class: java.lang.Class<android.view.Display>;
			public static DEFAULT_DISPLAY: number;
			public static FLAG_PRESENTATION: number;
			public static FLAG_PRIVATE: number;
			public static FLAG_ROUND: number;
			public static FLAG_SECURE: number;
			public static FLAG_SUPPORTS_PROTECTED_BUFFERS: number;
			public static INVALID_DISPLAY: number;
			public static STATE_DOZE: number;
			public static STATE_DOZE_SUSPEND: number;
			public static STATE_OFF: number;
			public static STATE_ON: number;
			public static STATE_ON_SUSPEND: number;
			public static STATE_UNKNOWN: number;
			public static STATE_VR: number;
			public getRectSize(param0: android.graphics.Rect): void;
			/** @deprecated */
			public getHeight(): number;
			public getPresentationDeadlineNanos(): number;
			public getRefreshRate(): number;
			/** @deprecated */
			public getPixelFormat(): number;
			public getCurrentSizeRange(param0: android.graphics.Point, param1: android.graphics.Point): void;
			public getRealSize(param0: android.graphics.Point): void;
			/** @deprecated */
			public getWidth(): number;
			public getHdrCapabilities(): android.view.Display.HdrCapabilities;
			public isHdr(): boolean;
			public isValid(): boolean;
			public getState(): number;
			public getMetrics(param0: android.util.DisplayMetrics): void;
			public getFlags(): number;
			public getRotation(): number;
			public getAppVsyncOffsetNanos(): number;
			/** @deprecated */
			public getOrientation(): number;
			/** @deprecated */
			public getSupportedRefreshRates(): native.Array<number>;
			public getMode(): android.view.Display.Mode;
			public toString(): string;
			public getName(): string;
			public getRealMetrics(param0: android.util.DisplayMetrics): void;
			public getSize(param0: android.graphics.Point): void;
			public getSupportedModes(): native.Array<android.view.Display.Mode>;
			public getDisplayId(): number;
			public isWideColorGamut(): boolean;
		}
		export module Display {
			export class HdrCapabilities extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.view.Display.HdrCapabilities>;
				public static CREATOR: android.os.Parcelable.Creator<android.view.Display.HdrCapabilities>;
				public static HDR_TYPE_DOLBY_VISION: number;
				public static HDR_TYPE_HDR10: number;
				public static HDR_TYPE_HLG: number;
				public static INVALID_LUMINANCE: number;
				public getDesiredMaxLuminance(): number;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public equals(param0: any): boolean;
				public describeContents(): number;
				public getSupportedHdrTypes(): native.Array<number>;
				public getDesiredMinLuminance(): number;
				public getDesiredMaxAverageLuminance(): number;
			}
			export class Mode extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.view.Display.Mode>;
				public static CREATOR: android.os.Parcelable.Creator<android.view.Display.Mode>;
				public getModeId(): number;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public equals(param0: any): boolean;
				public describeContents(): number;
				public getPhysicalWidth(): number;
				public getRefreshRate(): number;
				public toString(): string;
				public getPhysicalHeight(): number;
			}
		}
	}
}

declare module android {
	export module view {
		export class DisplayCutout extends java.lang.Object {
			public static class: java.lang.Class<android.view.DisplayCutout>;
			public equals(param0: any): boolean;
			public toString(): string;
			public getSafeInsetRight(): number;
			public getSafeInsetTop(): number;
			public getSafeInsetBottom(): number;
			public getBoundingRects(): java.util.List<android.graphics.Rect>;
			public getSafeInsetLeft(): number;
			public constructor(param0: android.graphics.Rect, param1: java.util.List<android.graphics.Rect>);
			public hashCode(): number;
		}
	}
}

declare module android {
	export module view {
		export class DragAndDropPermissions extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.view.DragAndDropPermissions>;
			public static CREATOR: android.os.Parcelable.Creator<android.view.DragAndDropPermissions>;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public release(): void;
		}
	}
}

declare module android {
	export module view {
		export class DragEvent extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.view.DragEvent>;
			public static ACTION_DRAG_ENDED: number;
			public static ACTION_DRAG_ENTERED: number;
			public static ACTION_DRAG_EXITED: number;
			public static ACTION_DRAG_LOCATION: number;
			public static ACTION_DRAG_STARTED: number;
			public static ACTION_DROP: number;
			public static CREATOR: android.os.Parcelable.Creator<android.view.DragEvent>;
			public getClipData(): android.content.ClipData;
			public toString(): string;
			public describeContents(): number;
			public getY(): number;
			public getResult(): boolean;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getX(): number;
			public getClipDescription(): android.content.ClipDescription;
			public getLocalState(): any;
			public getAction(): number;
		}
	}
}

declare module android {
	export module view {
		export class FocusFinder extends java.lang.Object {
			public static class: java.lang.Class<android.view.FocusFinder>;
			public findNextFocusFromRect(param0: android.view.ViewGroup, param1: android.graphics.Rect, param2: number): android.view.View;
			public findNextFocus(param0: android.view.ViewGroup, param1: android.view.View, param2: number): android.view.View;
			public findNearestTouchable(param0: android.view.ViewGroup, param1: number, param2: number, param3: number, param4: native.Array<number>): android.view.View;
			public static getInstance(): android.view.FocusFinder;
			public findNextKeyboardNavigationCluster(param0: android.view.View, param1: android.view.View, param2: number): android.view.View;
		}
	}
}

declare module android {
	export module view {
		export class FrameMetrics extends java.lang.Object {
			public static class: java.lang.Class<android.view.FrameMetrics>;
			public static ANIMATION_DURATION: number;
			public static COMMAND_ISSUE_DURATION: number;
			public static DRAW_DURATION: number;
			public static FIRST_DRAW_FRAME: number;
			public static INPUT_HANDLING_DURATION: number;
			public static INTENDED_VSYNC_TIMESTAMP: number;
			public static LAYOUT_MEASURE_DURATION: number;
			public static SWAP_BUFFERS_DURATION: number;
			public static SYNC_DURATION: number;
			public static TOTAL_DURATION: number;
			public static UNKNOWN_DELAY_DURATION: number;
			public static VSYNC_TIMESTAMP: number;
			public constructor(param0: android.view.FrameMetrics);
			public getMetric(param0: number): number;
		}
	}
}

declare module android {
	export module view {
		export abstract class FrameStats extends java.lang.Object {
			public static class: java.lang.Class<android.view.FrameStats>;
			public static UNDEFINED_TIME_NANO: number;
			public getFrameCount(): number;
			public getStartTimeNano(): number;
			public getEndTimeNano(): number;
			public constructor();
			public getFramePresentedTimeNano(param0: number): number;
			public getRefreshPeriodNano(): number;
		}
	}
}

declare module android {
	export module view {
		export class GestureDetector extends java.lang.Object {
			public static class: java.lang.Class<android.view.GestureDetector>;
			/** @deprecated */
			public constructor(param0: android.view.GestureDetector.OnGestureListener);
			public constructor(param0: android.content.Context, param1: android.view.GestureDetector.OnGestureListener, param2: android.os.Handler, param3: boolean);
			public isLongpressEnabled(): boolean;
			/** @deprecated */
			public constructor(param0: android.view.GestureDetector.OnGestureListener, param1: android.os.Handler);
			public setIsLongpressEnabled(param0: boolean): void;
			public constructor(param0: android.content.Context, param1: android.view.GestureDetector.OnGestureListener, param2: android.os.Handler);
			public setContextClickListener(param0: android.view.GestureDetector.OnContextClickListener): void;
			public onTouchEvent(param0: android.view.MotionEvent): boolean;
			public onGenericMotionEvent(param0: android.view.MotionEvent): boolean;
			public constructor(param0: android.content.Context, param1: android.view.GestureDetector.OnGestureListener);
			public setOnDoubleTapListener(param0: android.view.GestureDetector.OnDoubleTapListener): void;
		}
		export module GestureDetector {
			export class OnContextClickListener extends java.lang.Object {
				public static class: java.lang.Class<android.view.GestureDetector.OnContextClickListener>;
				/**
				 * Constructs a new instance of the android.view.GestureDetector$OnContextClickListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onContextClick(param0: android.view.MotionEvent): boolean;
				});
				public constructor();
				public onContextClick(param0: android.view.MotionEvent): boolean;
			}
			export class OnDoubleTapListener extends java.lang.Object {
				public static class: java.lang.Class<android.view.GestureDetector.OnDoubleTapListener>;
				/**
				 * Constructs a new instance of the android.view.GestureDetector$OnDoubleTapListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onSingleTapConfirmed(param0: android.view.MotionEvent): boolean;
					onDoubleTap(param0: android.view.MotionEvent): boolean;
					onDoubleTapEvent(param0: android.view.MotionEvent): boolean;
				});
				public constructor();
				public onSingleTapConfirmed(param0: android.view.MotionEvent): boolean;
				public onDoubleTap(param0: android.view.MotionEvent): boolean;
				public onDoubleTapEvent(param0: android.view.MotionEvent): boolean;
			}
			export class OnGestureListener extends java.lang.Object {
				public static class: java.lang.Class<android.view.GestureDetector.OnGestureListener>;
				/**
				 * Constructs a new instance of the android.view.GestureDetector$OnGestureListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onDown(param0: android.view.MotionEvent): boolean;
					onShowPress(param0: android.view.MotionEvent): void;
					onSingleTapUp(param0: android.view.MotionEvent): boolean;
					onScroll(param0: android.view.MotionEvent, param1: android.view.MotionEvent, param2: number, param3: number): boolean;
					onLongPress(param0: android.view.MotionEvent): void;
					onFling(param0: android.view.MotionEvent, param1: android.view.MotionEvent, param2: number, param3: number): boolean;
				});
				public constructor();
				public onFling(param0: android.view.MotionEvent, param1: android.view.MotionEvent, param2: number, param3: number): boolean;
				public onShowPress(param0: android.view.MotionEvent): void;
				public onScroll(param0: android.view.MotionEvent, param1: android.view.MotionEvent, param2: number, param3: number): boolean;
				public onLongPress(param0: android.view.MotionEvent): void;
				public onDown(param0: android.view.MotionEvent): boolean;
				public onSingleTapUp(param0: android.view.MotionEvent): boolean;
			}
			export class SimpleOnGestureListener extends java.lang.Object implements android.view.GestureDetector.OnGestureListener, android.view.GestureDetector.OnDoubleTapListener, android.view.GestureDetector.OnContextClickListener {
				public static class: java.lang.Class<android.view.GestureDetector.SimpleOnGestureListener>;
				public onFling(param0: android.view.MotionEvent, param1: android.view.MotionEvent, param2: number, param3: number): boolean;
				public onShowPress(param0: android.view.MotionEvent): void;
				public onSingleTapConfirmed(param0: android.view.MotionEvent): boolean;
				public onScroll(param0: android.view.MotionEvent, param1: android.view.MotionEvent, param2: number, param3: number): boolean;
				public onContextClick(param0: android.view.MotionEvent): boolean;
				public onLongPress(param0: android.view.MotionEvent): void;
				public onDoubleTap(param0: android.view.MotionEvent): boolean;
				public onDoubleTapEvent(param0: android.view.MotionEvent): boolean;
				public onSingleTapUp(param0: android.view.MotionEvent): boolean;
				public onDown(param0: android.view.MotionEvent): boolean;
				public constructor();
			}
		}
	}
}

declare module android {
	export module view {
		export class Gravity extends java.lang.Object {
			public static class: java.lang.Class<android.view.Gravity>;
			public static AXIS_CLIP: number;
			public static AXIS_PULL_AFTER: number;
			public static AXIS_PULL_BEFORE: number;
			public static AXIS_SPECIFIED: number;
			public static AXIS_X_SHIFT: number;
			public static AXIS_Y_SHIFT: number;
			public static BOTTOM: number;
			public static CENTER: number;
			public static CENTER_HORIZONTAL: number;
			public static CENTER_VERTICAL: number;
			public static CLIP_HORIZONTAL: number;
			public static CLIP_VERTICAL: number;
			public static DISPLAY_CLIP_HORIZONTAL: number;
			public static DISPLAY_CLIP_VERTICAL: number;
			public static END: number;
			public static FILL: number;
			public static FILL_HORIZONTAL: number;
			public static FILL_VERTICAL: number;
			public static HORIZONTAL_GRAVITY_MASK: number;
			public static LEFT: number;
			public static NO_GRAVITY: number;
			public static RELATIVE_HORIZONTAL_GRAVITY_MASK: number;
			public static RELATIVE_LAYOUT_DIRECTION: number;
			public static RIGHT: number;
			public static START: number;
			public static TOP: number;
			public static VERTICAL_GRAVITY_MASK: number;
			public static apply(param0: number, param1: number, param2: number, param3: android.graphics.Rect, param4: android.graphics.Rect): void;
			public static apply(param0: number, param1: number, param2: number, param3: android.graphics.Rect, param4: android.graphics.Rect, param5: number): void;
			public static apply(param0: number, param1: number, param2: number, param3: android.graphics.Rect, param4: number, param5: number, param6: android.graphics.Rect): void;
			public static apply(param0: number, param1: number, param2: number, param3: android.graphics.Rect, param4: number, param5: number, param6: android.graphics.Rect, param7: number): void;
			public static isVertical(param0: number): boolean;
			public static isHorizontal(param0: number): boolean;
			public static getAbsoluteGravity(param0: number, param1: number): number;
			public static applyDisplay(param0: number, param1: android.graphics.Rect, param2: android.graphics.Rect, param3: number): void;
			public constructor();
			public static applyDisplay(param0: number, param1: android.graphics.Rect, param2: android.graphics.Rect): void;
		}
	}
}

declare module android {
	export module view {
		export class HapticFeedbackConstants extends java.lang.Object {
			public static class: java.lang.Class<android.view.HapticFeedbackConstants>;
			public static CLOCK_TICK: number;
			public static CONTEXT_CLICK: number;
			public static FLAG_IGNORE_GLOBAL_SETTING: number;
			public static FLAG_IGNORE_VIEW_SETTING: number;
			public static KEYBOARD_PRESS: number;
			public static KEYBOARD_RELEASE: number;
			public static KEYBOARD_TAP: number;
			public static LONG_PRESS: number;
			public static TEXT_HANDLE_MOVE: number;
			public static VIRTUAL_KEY: number;
			public static VIRTUAL_KEY_RELEASE: number;
		}
	}
}

declare module android {
	export module view {
		export class InflateException extends java.lang.RuntimeException {
			public static class: java.lang.Class<android.view.InflateException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module android {
	export module view {
		export class InputDevice extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.view.InputDevice>;
			public static CREATOR: android.os.Parcelable.Creator<android.view.InputDevice>;
			public static KEYBOARD_TYPE_ALPHABETIC: number;
			public static KEYBOARD_TYPE_NONE: number;
			public static KEYBOARD_TYPE_NON_ALPHABETIC: number;
			public static MOTION_RANGE_ORIENTATION: number;
			public static MOTION_RANGE_PRESSURE: number;
			public static MOTION_RANGE_SIZE: number;
			public static MOTION_RANGE_TOOL_MAJOR: number;
			public static MOTION_RANGE_TOOL_MINOR: number;
			public static MOTION_RANGE_TOUCH_MAJOR: number;
			public static MOTION_RANGE_TOUCH_MINOR: number;
			public static MOTION_RANGE_X: number;
			public static MOTION_RANGE_Y: number;
			public static SOURCE_ANY: number;
			public static SOURCE_BLUETOOTH_STYLUS: number;
			public static SOURCE_CLASS_BUTTON: number;
			public static SOURCE_CLASS_JOYSTICK: number;
			public static SOURCE_CLASS_MASK: number;
			public static SOURCE_CLASS_NONE: number;
			public static SOURCE_CLASS_POINTER: number;
			public static SOURCE_CLASS_POSITION: number;
			public static SOURCE_CLASS_TRACKBALL: number;
			public static SOURCE_DPAD: number;
			public static SOURCE_GAMEPAD: number;
			public static SOURCE_HDMI: number;
			public static SOURCE_JOYSTICK: number;
			public static SOURCE_KEYBOARD: number;
			public static SOURCE_MOUSE: number;
			public static SOURCE_MOUSE_RELATIVE: number;
			public static SOURCE_ROTARY_ENCODER: number;
			public static SOURCE_STYLUS: number;
			public static SOURCE_TOUCHPAD: number;
			public static SOURCE_TOUCHSCREEN: number;
			public static SOURCE_TOUCH_NAVIGATION: number;
			public static SOURCE_TRACKBALL: number;
			public static SOURCE_UNKNOWN: number;
			public getKeyboardType(): number;
			public isVirtual(): boolean;
			public getMotionRange(param0: number, param1: number): android.view.InputDevice.MotionRange;
			public getProductId(): number;
			public getMotionRange(param0: number): android.view.InputDevice.MotionRange;
			public getControllerNumber(): number;
			public isEnabled(): boolean;
			public getVendorId(): number;
			public getMotionRanges(): java.util.List<android.view.InputDevice.MotionRange>;
			public toString(): string;
			public getName(): string;
			public hasKeys(param0: native.Array<number>): native.Array<boolean>;
			public getVibrator(): android.os.Vibrator;
			public hasMicrophone(): boolean;
			public getId(): number;
			public getDescriptor(): string;
			public static getDeviceIds(): native.Array<number>;
			public describeContents(): number;
			public getSources(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getKeyCharacterMap(): android.view.KeyCharacterMap;
			public static getDevice(param0: number): android.view.InputDevice;
			public supportsSource(param0: number): boolean;
		}
		export module InputDevice {
			export class MotionRange extends java.lang.Object {
				public static class: java.lang.Class<android.view.InputDevice.MotionRange>;
				public isFromSource(param0: number): boolean;
				public getMax(): number;
				public getRange(): number;
				public getResolution(): number;
				public getMin(): number;
				public getAxis(): number;
				public getFlat(): number;
				public getFuzz(): number;
				public getSource(): number;
			}
		}
	}
}

declare module android {
	export module view {
		export abstract class InputEvent extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.view.InputEvent>;
			public static CREATOR: android.os.Parcelable.Creator<android.view.InputEvent>;
			public getDeviceId(): number;
			public getDevice(): android.view.InputDevice;
			public describeContents(): number;
			public getSource(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public isFromSource(param0: number): boolean;
			public getEventTime(): number;
		}
	}
}

declare module android {
	export module view {
		export class InputQueue extends java.lang.Object {
			public static class: java.lang.Class<android.view.InputQueue>;
			public finalize(): void;
		}
		export module InputQueue {
			export class Callback extends java.lang.Object {
				public static class: java.lang.Class<android.view.InputQueue.Callback>;
				/**
				 * Constructs a new instance of the android.view.InputQueue$Callback interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onInputQueueCreated(param0: android.view.InputQueue): void;
					onInputQueueDestroyed(param0: android.view.InputQueue): void;
				});
				public constructor();
				public onInputQueueCreated(param0: android.view.InputQueue): void;
				public onInputQueueDestroyed(param0: android.view.InputQueue): void;
			}
		}
	}
}

declare module android {
	export module view {
		export class KeyCharacterMap extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.view.KeyCharacterMap>;
			public static ALPHA: number;
			public static BUILT_IN_KEYBOARD: number;
			public static COMBINING_ACCENT: number;
			public static COMBINING_ACCENT_MASK: number;
			public static CREATOR: android.os.Parcelable.Creator<android.view.KeyCharacterMap>;
			public static FULL: number;
			public static HEX_INPUT: string;
			public static MODIFIER_BEHAVIOR_CHORDED: number;
			public static MODIFIER_BEHAVIOR_CHORDED_OR_TOGGLED: number;
			public static NUMERIC: number;
			public static PICKER_DIALOG_INPUT: string;
			public static PREDICTIVE: number;
			public static SPECIAL_FUNCTION: number;
			public static VIRTUAL_KEYBOARD: number;
			public getDisplayLabel(param0: number): string;
			public getKeyboardType(): number;
			/** @deprecated */
			public getKeyData(param0: number, param1: android.view.KeyCharacterMap.KeyData): boolean;
			public getModifierBehavior(): number;
			public static deviceHasKey(param0: number): boolean;
			public getEvents(param0: native.Array<string>): native.Array<android.view.KeyEvent>;
			public static getDeadChar(param0: number, param1: number): number;
			public getMatch(param0: number, param1: native.Array<string>): string;
			public getNumber(param0: number): string;
			public getMatch(param0: number, param1: native.Array<string>, param2: number): string;
			public describeContents(): number;
			public static deviceHasKeys(param0: native.Array<number>): native.Array<boolean>;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public isPrintingKey(param0: number): boolean;
			public finalize(): void;
			public static load(param0: number): android.view.KeyCharacterMap;
			public get(param0: number, param1: number): number;
		}
		export module KeyCharacterMap {
			export class KeyData extends java.lang.Object {
				public static class: java.lang.Class<android.view.KeyCharacterMap.KeyData>;
				public static META_LENGTH: number;
				public displayLabel: string;
				public meta: native.Array<string>;
				public number: string;
				public constructor();
			}
			export class UnavailableException extends android.util.AndroidRuntimeException {
				public static class: java.lang.Class<android.view.KeyCharacterMap.UnavailableException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Exception);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module android {
	export module view {
		export class KeyEvent extends android.view.InputEvent implements android.os.Parcelable {
			public static class: java.lang.Class<android.view.KeyEvent>;
			public static ACTION_DOWN: number;
			public static ACTION_MULTIPLE: number;
			public static ACTION_UP: number;
			public static CREATOR: android.os.Parcelable.Creator<android.view.KeyEvent>;
			public static FLAG_CANCELED: number;
			public static FLAG_CANCELED_LONG_PRESS: number;
			public static FLAG_EDITOR_ACTION: number;
			public static FLAG_FALLBACK: number;
			public static FLAG_FROM_SYSTEM: number;
			public static FLAG_KEEP_TOUCH_MODE: number;
			public static FLAG_LONG_PRESS: number;
			public static FLAG_SOFT_KEYBOARD: number;
			public static FLAG_TRACKING: number;
			public static FLAG_VIRTUAL_HARD_KEY: number;
			public static FLAG_WOKE_HERE: number;
			public static KEYCODE_0: number;
			public static KEYCODE_1: number;
			public static KEYCODE_11: number;
			public static KEYCODE_12: number;
			public static KEYCODE_2: number;
			public static KEYCODE_3: number;
			public static KEYCODE_3D_MODE: number;
			public static KEYCODE_4: number;
			public static KEYCODE_5: number;
			public static KEYCODE_6: number;
			public static KEYCODE_7: number;
			public static KEYCODE_8: number;
			public static KEYCODE_9: number;
			public static KEYCODE_A: number;
			public static KEYCODE_ALL_APPS: number;
			public static KEYCODE_ALT_LEFT: number;
			public static KEYCODE_ALT_RIGHT: number;
			public static KEYCODE_APOSTROPHE: number;
			public static KEYCODE_APP_SWITCH: number;
			public static KEYCODE_ASSIST: number;
			public static KEYCODE_AT: number;
			public static KEYCODE_AVR_INPUT: number;
			public static KEYCODE_AVR_POWER: number;
			public static KEYCODE_B: number;
			public static KEYCODE_BACK: number;
			public static KEYCODE_BACKSLASH: number;
			public static KEYCODE_BOOKMARK: number;
			public static KEYCODE_BREAK: number;
			public static KEYCODE_BRIGHTNESS_DOWN: number;
			public static KEYCODE_BRIGHTNESS_UP: number;
			public static KEYCODE_BUTTON_1: number;
			public static KEYCODE_BUTTON_10: number;
			public static KEYCODE_BUTTON_11: number;
			public static KEYCODE_BUTTON_12: number;
			public static KEYCODE_BUTTON_13: number;
			public static KEYCODE_BUTTON_14: number;
			public static KEYCODE_BUTTON_15: number;
			public static KEYCODE_BUTTON_16: number;
			public static KEYCODE_BUTTON_2: number;
			public static KEYCODE_BUTTON_3: number;
			public static KEYCODE_BUTTON_4: number;
			public static KEYCODE_BUTTON_5: number;
			public static KEYCODE_BUTTON_6: number;
			public static KEYCODE_BUTTON_7: number;
			public static KEYCODE_BUTTON_8: number;
			public static KEYCODE_BUTTON_9: number;
			public static KEYCODE_BUTTON_A: number;
			public static KEYCODE_BUTTON_B: number;
			public static KEYCODE_BUTTON_C: number;
			public static KEYCODE_BUTTON_L1: number;
			public static KEYCODE_BUTTON_L2: number;
			public static KEYCODE_BUTTON_MODE: number;
			public static KEYCODE_BUTTON_R1: number;
			public static KEYCODE_BUTTON_R2: number;
			public static KEYCODE_BUTTON_SELECT: number;
			public static KEYCODE_BUTTON_START: number;
			public static KEYCODE_BUTTON_THUMBL: number;
			public static KEYCODE_BUTTON_THUMBR: number;
			public static KEYCODE_BUTTON_X: number;
			public static KEYCODE_BUTTON_Y: number;
			public static KEYCODE_BUTTON_Z: number;
			public static KEYCODE_C: number;
			public static KEYCODE_CALCULATOR: number;
			public static KEYCODE_CALENDAR: number;
			public static KEYCODE_CALL: number;
			public static KEYCODE_CAMERA: number;
			public static KEYCODE_CAPS_LOCK: number;
			public static KEYCODE_CAPTIONS: number;
			public static KEYCODE_CHANNEL_DOWN: number;
			public static KEYCODE_CHANNEL_UP: number;
			public static KEYCODE_CLEAR: number;
			public static KEYCODE_COMMA: number;
			public static KEYCODE_CONTACTS: number;
			public static KEYCODE_COPY: number;
			public static KEYCODE_CTRL_LEFT: number;
			public static KEYCODE_CTRL_RIGHT: number;
			public static KEYCODE_CUT: number;
			public static KEYCODE_D: number;
			public static KEYCODE_DEL: number;
			public static KEYCODE_DPAD_CENTER: number;
			public static KEYCODE_DPAD_DOWN: number;
			public static KEYCODE_DPAD_DOWN_LEFT: number;
			public static KEYCODE_DPAD_DOWN_RIGHT: number;
			public static KEYCODE_DPAD_LEFT: number;
			public static KEYCODE_DPAD_RIGHT: number;
			public static KEYCODE_DPAD_UP: number;
			public static KEYCODE_DPAD_UP_LEFT: number;
			public static KEYCODE_DPAD_UP_RIGHT: number;
			public static KEYCODE_DVR: number;
			public static KEYCODE_E: number;
			public static KEYCODE_EISU: number;
			public static KEYCODE_ENDCALL: number;
			public static KEYCODE_ENTER: number;
			public static KEYCODE_ENVELOPE: number;
			public static KEYCODE_EQUALS: number;
			public static KEYCODE_ESCAPE: number;
			public static KEYCODE_EXPLORER: number;
			public static KEYCODE_F: number;
			public static KEYCODE_F1: number;
			public static KEYCODE_F10: number;
			public static KEYCODE_F11: number;
			public static KEYCODE_F12: number;
			public static KEYCODE_F2: number;
			public static KEYCODE_F3: number;
			public static KEYCODE_F4: number;
			public static KEYCODE_F5: number;
			public static KEYCODE_F6: number;
			public static KEYCODE_F7: number;
			public static KEYCODE_F8: number;
			public static KEYCODE_F9: number;
			public static KEYCODE_FOCUS: number;
			public static KEYCODE_FORWARD: number;
			public static KEYCODE_FORWARD_DEL: number;
			public static KEYCODE_FUNCTION: number;
			public static KEYCODE_G: number;
			public static KEYCODE_GRAVE: number;
			public static KEYCODE_GUIDE: number;
			public static KEYCODE_H: number;
			public static KEYCODE_HEADSETHOOK: number;
			public static KEYCODE_HELP: number;
			public static KEYCODE_HENKAN: number;
			public static KEYCODE_HOME: number;
			public static KEYCODE_I: number;
			public static KEYCODE_INFO: number;
			public static KEYCODE_INSERT: number;
			public static KEYCODE_J: number;
			public static KEYCODE_K: number;
			public static KEYCODE_KANA: number;
			public static KEYCODE_KATAKANA_HIRAGANA: number;
			public static KEYCODE_L: number;
			public static KEYCODE_LANGUAGE_SWITCH: number;
			public static KEYCODE_LAST_CHANNEL: number;
			public static KEYCODE_LEFT_BRACKET: number;
			public static KEYCODE_M: number;
			public static KEYCODE_MANNER_MODE: number;
			public static KEYCODE_MEDIA_AUDIO_TRACK: number;
			public static KEYCODE_MEDIA_CLOSE: number;
			public static KEYCODE_MEDIA_EJECT: number;
			public static KEYCODE_MEDIA_FAST_FORWARD: number;
			public static KEYCODE_MEDIA_NEXT: number;
			public static KEYCODE_MEDIA_PAUSE: number;
			public static KEYCODE_MEDIA_PLAY: number;
			public static KEYCODE_MEDIA_PLAY_PAUSE: number;
			public static KEYCODE_MEDIA_PREVIOUS: number;
			public static KEYCODE_MEDIA_RECORD: number;
			public static KEYCODE_MEDIA_REWIND: number;
			public static KEYCODE_MEDIA_SKIP_BACKWARD: number;
			public static KEYCODE_MEDIA_SKIP_FORWARD: number;
			public static KEYCODE_MEDIA_STEP_BACKWARD: number;
			public static KEYCODE_MEDIA_STEP_FORWARD: number;
			public static KEYCODE_MEDIA_STOP: number;
			public static KEYCODE_MEDIA_TOP_MENU: number;
			public static KEYCODE_MENU: number;
			public static KEYCODE_META_LEFT: number;
			public static KEYCODE_META_RIGHT: number;
			public static KEYCODE_MINUS: number;
			public static KEYCODE_MOVE_END: number;
			public static KEYCODE_MOVE_HOME: number;
			public static KEYCODE_MUHENKAN: number;
			public static KEYCODE_MUSIC: number;
			public static KEYCODE_MUTE: number;
			public static KEYCODE_N: number;
			public static KEYCODE_NAVIGATE_IN: number;
			public static KEYCODE_NAVIGATE_NEXT: number;
			public static KEYCODE_NAVIGATE_OUT: number;
			public static KEYCODE_NAVIGATE_PREVIOUS: number;
			public static KEYCODE_NOTIFICATION: number;
			public static KEYCODE_NUM: number;
			public static KEYCODE_NUMPAD_0: number;
			public static KEYCODE_NUMPAD_1: number;
			public static KEYCODE_NUMPAD_2: number;
			public static KEYCODE_NUMPAD_3: number;
			public static KEYCODE_NUMPAD_4: number;
			public static KEYCODE_NUMPAD_5: number;
			public static KEYCODE_NUMPAD_6: number;
			public static KEYCODE_NUMPAD_7: number;
			public static KEYCODE_NUMPAD_8: number;
			public static KEYCODE_NUMPAD_9: number;
			public static KEYCODE_NUMPAD_ADD: number;
			public static KEYCODE_NUMPAD_COMMA: number;
			public static KEYCODE_NUMPAD_DIVIDE: number;
			public static KEYCODE_NUMPAD_DOT: number;
			public static KEYCODE_NUMPAD_ENTER: number;
			public static KEYCODE_NUMPAD_EQUALS: number;
			public static KEYCODE_NUMPAD_LEFT_PAREN: number;
			public static KEYCODE_NUMPAD_MULTIPLY: number;
			public static KEYCODE_NUMPAD_RIGHT_PAREN: number;
			public static KEYCODE_NUMPAD_SUBTRACT: number;
			public static KEYCODE_NUM_LOCK: number;
			public static KEYCODE_O: number;
			public static KEYCODE_P: number;
			public static KEYCODE_PAGE_DOWN: number;
			public static KEYCODE_PAGE_UP: number;
			public static KEYCODE_PAIRING: number;
			public static KEYCODE_PASTE: number;
			public static KEYCODE_PERIOD: number;
			public static KEYCODE_PICTSYMBOLS: number;
			public static KEYCODE_PLUS: number;
			public static KEYCODE_POUND: number;
			public static KEYCODE_POWER: number;
			public static KEYCODE_PROG_BLUE: number;
			public static KEYCODE_PROG_GREEN: number;
			public static KEYCODE_PROG_RED: number;
			public static KEYCODE_PROG_YELLOW: number;
			public static KEYCODE_Q: number;
			public static KEYCODE_R: number;
			public static KEYCODE_REFRESH: number;
			public static KEYCODE_RIGHT_BRACKET: number;
			public static KEYCODE_RO: number;
			public static KEYCODE_S: number;
			public static KEYCODE_SCROLL_LOCK: number;
			public static KEYCODE_SEARCH: number;
			public static KEYCODE_SEMICOLON: number;
			public static KEYCODE_SETTINGS: number;
			public static KEYCODE_SHIFT_LEFT: number;
			public static KEYCODE_SHIFT_RIGHT: number;
			public static KEYCODE_SLASH: number;
			public static KEYCODE_SLEEP: number;
			public static KEYCODE_SOFT_LEFT: number;
			public static KEYCODE_SOFT_RIGHT: number;
			public static KEYCODE_SOFT_SLEEP: number;
			public static KEYCODE_SPACE: number;
			public static KEYCODE_STAR: number;
			public static KEYCODE_STB_INPUT: number;
			public static KEYCODE_STB_POWER: number;
			public static KEYCODE_STEM_1: number;
			public static KEYCODE_STEM_2: number;
			public static KEYCODE_STEM_3: number;
			public static KEYCODE_STEM_PRIMARY: number;
			public static KEYCODE_SWITCH_CHARSET: number;
			public static KEYCODE_SYM: number;
			public static KEYCODE_SYSRQ: number;
			public static KEYCODE_SYSTEM_NAVIGATION_DOWN: number;
			public static KEYCODE_SYSTEM_NAVIGATION_LEFT: number;
			public static KEYCODE_SYSTEM_NAVIGATION_RIGHT: number;
			public static KEYCODE_SYSTEM_NAVIGATION_UP: number;
			public static KEYCODE_T: number;
			public static KEYCODE_TAB: number;
			public static KEYCODE_TV: number;
			public static KEYCODE_TV_ANTENNA_CABLE: number;
			public static KEYCODE_TV_AUDIO_DESCRIPTION: number;
			public static KEYCODE_TV_AUDIO_DESCRIPTION_MIX_DOWN: number;
			public static KEYCODE_TV_AUDIO_DESCRIPTION_MIX_UP: number;
			public static KEYCODE_TV_CONTENTS_MENU: number;
			public static KEYCODE_TV_DATA_SERVICE: number;
			public static KEYCODE_TV_INPUT: number;
			public static KEYCODE_TV_INPUT_COMPONENT_1: number;
			public static KEYCODE_TV_INPUT_COMPONENT_2: number;
			public static KEYCODE_TV_INPUT_COMPOSITE_1: number;
			public static KEYCODE_TV_INPUT_COMPOSITE_2: number;
			public static KEYCODE_TV_INPUT_HDMI_1: number;
			public static KEYCODE_TV_INPUT_HDMI_2: number;
			public static KEYCODE_TV_INPUT_HDMI_3: number;
			public static KEYCODE_TV_INPUT_HDMI_4: number;
			public static KEYCODE_TV_INPUT_VGA_1: number;
			public static KEYCODE_TV_MEDIA_CONTEXT_MENU: number;
			public static KEYCODE_TV_NETWORK: number;
			public static KEYCODE_TV_NUMBER_ENTRY: number;
			public static KEYCODE_TV_POWER: number;
			public static KEYCODE_TV_RADIO_SERVICE: number;
			public static KEYCODE_TV_SATELLITE: number;
			public static KEYCODE_TV_SATELLITE_BS: number;
			public static KEYCODE_TV_SATELLITE_CS: number;
			public static KEYCODE_TV_SATELLITE_SERVICE: number;
			public static KEYCODE_TV_TELETEXT: number;
			public static KEYCODE_TV_TERRESTRIAL_ANALOG: number;
			public static KEYCODE_TV_TERRESTRIAL_DIGITAL: number;
			public static KEYCODE_TV_TIMER_PROGRAMMING: number;
			public static KEYCODE_TV_ZOOM_MODE: number;
			public static KEYCODE_U: number;
			public static KEYCODE_UNKNOWN: number;
			public static KEYCODE_V: number;
			public static KEYCODE_VOICE_ASSIST: number;
			public static KEYCODE_VOLUME_DOWN: number;
			public static KEYCODE_VOLUME_MUTE: number;
			public static KEYCODE_VOLUME_UP: number;
			public static KEYCODE_W: number;
			public static KEYCODE_WAKEUP: number;
			public static KEYCODE_WINDOW: number;
			public static KEYCODE_X: number;
			public static KEYCODE_Y: number;
			public static KEYCODE_YEN: number;
			public static KEYCODE_Z: number;
			public static KEYCODE_ZENKAKU_HANKAKU: number;
			public static KEYCODE_ZOOM_IN: number;
			public static KEYCODE_ZOOM_OUT: number;
			public static MAX_KEYCODE: number;
			public static META_ALT_LEFT_ON: number;
			public static META_ALT_MASK: number;
			public static META_ALT_ON: number;
			public static META_ALT_RIGHT_ON: number;
			public static META_CAPS_LOCK_ON: number;
			public static META_CTRL_LEFT_ON: number;
			public static META_CTRL_MASK: number;
			public static META_CTRL_ON: number;
			public static META_CTRL_RIGHT_ON: number;
			public static META_FUNCTION_ON: number;
			public static META_META_LEFT_ON: number;
			public static META_META_MASK: number;
			public static META_META_ON: number;
			public static META_META_RIGHT_ON: number;
			public static META_NUM_LOCK_ON: number;
			public static META_SCROLL_LOCK_ON: number;
			public static META_SHIFT_LEFT_ON: number;
			public static META_SHIFT_MASK: number;
			public static META_SHIFT_ON: number;
			public static META_SHIFT_RIGHT_ON: number;
			public static META_SYM_ON: number;
			public static keyCodeToString(param0: number): string;
			public getDeviceId(): number;
			public isShiftPressed(): boolean;
			public static keyCodeFromString(param0: string): number;
			public constructor(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number, param8: number, param9: number);
			public static changeFlags(param0: android.view.KeyEvent, param1: number): android.view.KeyEvent;
			public isSymPressed(): boolean;
			public static metaStateHasNoModifiers(param0: number): boolean;
			public dispatch(param0: android.view.KeyEvent.Callback, param1: android.view.KeyEvent.DispatcherState, param2: any): boolean;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public isCtrlPressed(): boolean;
			public getEventTime(): number;
			public getModifiers(): number;
			public getUnicodeChar(): number;
			public getFlags(): number;
			public constructor(param0: number, param1: string, param2: number, param3: number);
			public isPrintingKey(): boolean;
			public static getModifierMetaStateMask(): number;
			public constructor(param0: android.view.KeyEvent);
			public constructor(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number);
			public isTracking(): boolean;
			public getAction(): number;
			public getScanCode(): number;
			public static isModifierKey(param0: number): boolean;
			public isNumLockOn(): boolean;
			public isScrollLockOn(): boolean;
			public static isGamepadButton(param0: number): boolean;
			public getDisplayLabel(): string;
			public describeContents(): number;
			public getSource(): number;
			public isCanceled(): boolean;
			public getRepeatCount(): number;
			public static changeAction(param0: android.view.KeyEvent, param1: number): android.view.KeyEvent;
			public getMatch(param0: native.Array<string>, param1: number): string;
			/** @deprecated */
			public constructor(param0: android.view.KeyEvent, param1: number, param2: number);
			public static normalizeMetaState(param0: number): number;
			public isCapsLockOn(): boolean;
			public constructor(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number, param8: number);
			public getDownTime(): number;
			public static getMaxKeyCode(): number;
			public constructor(param0: number, param1: number, param2: number, param3: number, param4: number);
			public getKeyCharacterMap(): android.view.KeyCharacterMap;
			public static metaStateHasModifiers(param0: number, param1: number): boolean;
			public getCharacters(): string;
			public constructor(param0: number, param1: number);
			public static changeTimeRepeat(param0: android.view.KeyEvent, param1: number, param2: number): android.view.KeyEvent;
			public hasModifiers(param0: number): boolean;
			public startTracking(): void;
			public getNumber(): string;
			public setSource(param0: number): void;
			public getMetaState(): number;
			/** @deprecated */
			public dispatch(param0: android.view.KeyEvent.Callback): boolean;
			public isMetaPressed(): boolean;
			public isAltPressed(): boolean;
			/** @deprecated */
			public getKeyData(param0: android.view.KeyCharacterMap.KeyData): boolean;
			public constructor(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number);
			public hasNoModifiers(): boolean;
			public isLongPress(): boolean;
			public static getDeadChar(param0: number, param1: number): number;
			public static changeTimeRepeat(param0: android.view.KeyEvent, param1: number, param2: number, param3: number): android.view.KeyEvent;
			public toString(): string;
			public isFunctionPressed(): boolean;
			public getMatch(param0: native.Array<string>): string;
			public getKeyCode(): number;
			public getUnicodeChar(param0: number): number;
			public isSystem(): boolean;
		}
		export module KeyEvent {
			export class Callback extends java.lang.Object {
				public static class: java.lang.Class<android.view.KeyEvent.Callback>;
				/**
				 * Constructs a new instance of the android.view.KeyEvent$Callback interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
					onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
					onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
					onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
				});
				public constructor();
				public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
				public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
				public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
				public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			}
			export class DispatcherState extends java.lang.Object {
				public static class: java.lang.Class<android.view.KeyEvent.DispatcherState>;
				public reset(): void;
				public performedLongPress(param0: android.view.KeyEvent): void;
				public reset(param0: any): void;
				public handleUpEvent(param0: android.view.KeyEvent): void;
				public isTracking(param0: android.view.KeyEvent): boolean;
				public constructor();
				public startTracking(param0: android.view.KeyEvent, param1: any): void;
			}
		}
	}
}

declare module android {
	export module view {
		export class KeyboardShortcutGroup extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<any>;
			public static CREATOR: android.os.Parcelable.Creator<any>;
			public getLabel(): string;
			public getItems(): java.util.List<android.view.KeyboardShortcutInfo>;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public addItem(param0: android.view.KeyboardShortcutInfo): void;
			public constructor(param0: string, param1: java.util.List<android.view.KeyboardShortcutInfo>);
			public constructor(param0: string);
		}
	}
}

declare module android {
	export module view {
		export class KeyboardShortcutInfo extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.view.KeyboardShortcutInfo>;
			public static CREATOR: android.os.Parcelable.Creator<android.view.KeyboardShortcutInfo>;
			public getLabel(): string;
			public constructor(param0: string, param1: number, param2: number);
			public getBaseCharacter(): string;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public constructor(param0: string, param1: string, param2: number);
			public getKeycode(): number;
			public getModifiers(): number;
		}
	}
}

declare module android {
	export module view {
		export abstract class LayoutInflater extends java.lang.Object {
			public static class: java.lang.Class<android.view.LayoutInflater>;
			public constructor(param0: android.view.LayoutInflater, param1: android.content.Context);
			public inflate(param0: number, param1: android.view.ViewGroup, param2: boolean): android.view.View;
			public cloneInContext(param0: android.content.Context): android.view.LayoutInflater;
			public setFilter(param0: android.view.LayoutInflater.Filter): void;
			public setFactory2(param0: android.view.LayoutInflater.Factory2): void;
			public onCreateView(param0: string, param1: android.util.AttributeSet): android.view.View;
			public inflate(param0: org.xmlpull.v1.XmlPullParser, param1: android.view.ViewGroup, param2: boolean): android.view.View;
			public constructor(param0: android.content.Context);
			public inflate(param0: number, param1: android.view.ViewGroup): android.view.View;
			public inflate(param0: org.xmlpull.v1.XmlPullParser, param1: android.view.ViewGroup): android.view.View;
			public getContext(): android.content.Context;
			public getFactory2(): android.view.LayoutInflater.Factory2;
			public getFilter(): android.view.LayoutInflater.Filter;
			public onCreateView(param0: android.view.View, param1: string, param2: android.util.AttributeSet): android.view.View;
			public getFactory(): android.view.LayoutInflater.Factory;
			public static from(param0: android.content.Context): android.view.LayoutInflater;
			public setFactory(param0: android.view.LayoutInflater.Factory): void;
			public createView(param0: string, param1: string, param2: android.util.AttributeSet): android.view.View;
		}
		export module LayoutInflater {
			export class Factory extends java.lang.Object {
				public static class: java.lang.Class<android.view.LayoutInflater.Factory>;
				/**
				 * Constructs a new instance of the android.view.LayoutInflater$Factory interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onCreateView(param0: string, param1: android.content.Context, param2: android.util.AttributeSet): android.view.View;
				});
				public constructor();
				public onCreateView(param0: string, param1: android.content.Context, param2: android.util.AttributeSet): android.view.View;
			}
			export class Factory2 extends java.lang.Object implements android.view.LayoutInflater.Factory {
				public static class: java.lang.Class<android.view.LayoutInflater.Factory2>;
				/**
				 * Constructs a new instance of the android.view.LayoutInflater$Factory2 interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onCreateView(param0: android.view.View, param1: string, param2: android.content.Context, param3: android.util.AttributeSet): android.view.View;
					onCreateView(param0: string, param1: android.content.Context, param2: android.util.AttributeSet): android.view.View;
				});
				public constructor();
				public onCreateView(param0: android.view.View, param1: string, param2: android.content.Context, param3: android.util.AttributeSet): android.view.View;
				public onCreateView(param0: string, param1: android.content.Context, param2: android.util.AttributeSet): android.view.View;
			}
			export class Filter extends java.lang.Object {
				public static class: java.lang.Class<android.view.LayoutInflater.Filter>;
				/**
				 * Constructs a new instance of the android.view.LayoutInflater$Filter interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onLoadClass(param0: java.lang.Class<any>): boolean;
				});
				public constructor();
				public onLoadClass(param0: java.lang.Class<any>): boolean;
			}
		}
	}
}

declare module android {
	export module view {
		export class Menu extends java.lang.Object {
			public static class: java.lang.Class<android.view.Menu>;
			/**
			 * Constructs a new instance of the android.view.Menu interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				add(param0: string): android.view.MenuItem;
				add(param0: number): android.view.MenuItem;
				add(param0: number, param1: number, param2: number, param3: string): android.view.MenuItem;
				add(param0: number, param1: number, param2: number, param3: number): android.view.MenuItem;
				addSubMenu(param0: string): android.view.SubMenu;
				addSubMenu(param0: number): android.view.SubMenu;
				addSubMenu(param0: number, param1: number, param2: number, param3: string): android.view.SubMenu;
				addSubMenu(param0: number, param1: number, param2: number, param3: number): android.view.SubMenu;
				addIntentOptions(param0: number, param1: number, param2: number, param3: android.content.ComponentName, param4: native.Array<android.content.Intent>, param5: android.content.Intent, param6: number, param7: native.Array<android.view.MenuItem>): number;
				removeItem(param0: number): void;
				removeGroup(param0: number): void;
				clear(): void;
				setGroupCheckable(param0: number, param1: boolean, param2: boolean): void;
				setGroupVisible(param0: number, param1: boolean): void;
				setGroupEnabled(param0: number, param1: boolean): void;
				hasVisibleItems(): boolean;
				findItem(param0: number): android.view.MenuItem;
				size(): number;
				getItem(param0: number): android.view.MenuItem;
				close(): void;
				performShortcut(param0: number, param1: android.view.KeyEvent, param2: number): boolean;
				isShortcutKey(param0: number, param1: android.view.KeyEvent): boolean;
				performIdentifierAction(param0: number, param1: number): boolean;
				setQwertyMode(param0: boolean): void;
				setGroupDividerEnabled(param0: boolean): void;
			});
			public constructor();
			public static CATEGORY_SECONDARY: number;
			public static FLAG_APPEND_TO_GROUP: number;
			public static FIRST: number;
			public static NONE: number;
			public static SUPPORTED_MODIFIERS_MASK: number;
			public static CATEGORY_ALTERNATIVE: number;
			public static FLAG_ALWAYS_PERFORM_CLOSE: number;
			public static CATEGORY_CONTAINER: number;
			public static FLAG_PERFORM_NO_CLOSE: number;
			public static CATEGORY_SYSTEM: number;
			public hasVisibleItems(): boolean;
			public setGroupEnabled(param0: number, param1: boolean): void;
			public add(param0: number, param1: number, param2: number, param3: number): android.view.MenuItem;
			public addSubMenu(param0: string): android.view.SubMenu;
			public addSubMenu(param0: number): android.view.SubMenu;
			public removeItem(param0: number): void;
			public setQwertyMode(param0: boolean): void;
			public addIntentOptions(param0: number, param1: number, param2: number, param3: android.content.ComponentName, param4: native.Array<android.content.Intent>, param5: android.content.Intent, param6: number, param7: native.Array<android.view.MenuItem>): number;
			public close(): void;
			public setGroupDividerEnabled(param0: boolean): void;
			public clear(): void;
			public isShortcutKey(param0: number, param1: android.view.KeyEvent): boolean;
			public setGroupCheckable(param0: number, param1: boolean, param2: boolean): void;
			public size(): number;
			public add(param0: string): android.view.MenuItem;
			public add(param0: number): android.view.MenuItem;
			public add(param0: number, param1: number, param2: number, param3: string): android.view.MenuItem;
			public removeGroup(param0: number): void;
			public getItem(param0: number): android.view.MenuItem;
			public addSubMenu(param0: number, param1: number, param2: number, param3: number): android.view.SubMenu;
			public performIdentifierAction(param0: number, param1: number): boolean;
			public performShortcut(param0: number, param1: android.view.KeyEvent, param2: number): boolean;
			public setGroupVisible(param0: number, param1: boolean): void;
			public addSubMenu(param0: number, param1: number, param2: number, param3: string): android.view.SubMenu;
			public findItem(param0: number): android.view.MenuItem;
		}
	}
}

declare module android {
	export module view {
		export class MenuInflater extends java.lang.Object {
			public static class: java.lang.Class<android.view.MenuInflater>;
			public constructor(param0: android.content.Context);
			public inflate(param0: number, param1: android.view.Menu): void;
		}
	}
}

declare module android {
	export module view {
		export class MenuItem extends java.lang.Object {
			public static class: java.lang.Class<android.view.MenuItem>;
			/**
			 * Constructs a new instance of the android.view.MenuItem interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				getItemId(): number;
				getGroupId(): number;
				getOrder(): number;
				setTitle(param0: string): android.view.MenuItem;
				setTitle(param0: number): android.view.MenuItem;
				getTitle(): string;
				setTitleCondensed(param0: string): android.view.MenuItem;
				getTitleCondensed(): string;
				setIcon(param0: android.graphics.drawable.Drawable): android.view.MenuItem;
				setIcon(param0: number): android.view.MenuItem;
				getIcon(): android.graphics.drawable.Drawable;
				setIconTintList(param0: android.content.res.ColorStateList): android.view.MenuItem;
				getIconTintList(): android.content.res.ColorStateList;
				setIconTintMode(param0: android.graphics.PorterDuff.Mode): android.view.MenuItem;
				getIconTintMode(): android.graphics.PorterDuff.Mode;
				setIntent(param0: android.content.Intent): android.view.MenuItem;
				getIntent(): android.content.Intent;
				setShortcut(param0: string, param1: string): android.view.MenuItem;
				setShortcut(param0: string, param1: string, param2: number, param3: number): android.view.MenuItem;
				setNumericShortcut(param0: string): android.view.MenuItem;
				setNumericShortcut(param0: string, param1: number): android.view.MenuItem;
				getNumericShortcut(): string;
				getNumericModifiers(): number;
				setAlphabeticShortcut(param0: string): android.view.MenuItem;
				setAlphabeticShortcut(param0: string, param1: number): android.view.MenuItem;
				getAlphabeticShortcut(): string;
				getAlphabeticModifiers(): number;
				setCheckable(param0: boolean): android.view.MenuItem;
				isCheckable(): boolean;
				setChecked(param0: boolean): android.view.MenuItem;
				isChecked(): boolean;
				setVisible(param0: boolean): android.view.MenuItem;
				isVisible(): boolean;
				setEnabled(param0: boolean): android.view.MenuItem;
				isEnabled(): boolean;
				hasSubMenu(): boolean;
				getSubMenu(): android.view.SubMenu;
				setOnMenuItemClickListener(param0: android.view.MenuItem.OnMenuItemClickListener): android.view.MenuItem;
				getMenuInfo(): android.view.ContextMenu.ContextMenuInfo;
				setShowAsAction(param0: number): void;
				setShowAsActionFlags(param0: number): android.view.MenuItem;
				setActionView(param0: android.view.View): android.view.MenuItem;
				setActionView(param0: number): android.view.MenuItem;
				getActionView(): android.view.View;
				setActionProvider(param0: android.view.ActionProvider): android.view.MenuItem;
				getActionProvider(): android.view.ActionProvider;
				expandActionView(): boolean;
				collapseActionView(): boolean;
				isActionViewExpanded(): boolean;
				setOnActionExpandListener(param0: android.view.MenuItem.OnActionExpandListener): android.view.MenuItem;
				setContentDescription(param0: string): android.view.MenuItem;
				getContentDescription(): string;
				setTooltipText(param0: string): android.view.MenuItem;
				getTooltipText(): string;
			});
			public constructor();
			public static SHOW_AS_ACTION_WITH_TEXT: number;
			public static SHOW_AS_ACTION_ALWAYS: number;
			public static SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW: number;
			public static SHOW_AS_ACTION_NEVER: number;
			public static SHOW_AS_ACTION_IF_ROOM: number;
			public setTooltipText(param0: string): android.view.MenuItem;
			public setNumericShortcut(param0: string, param1: number): android.view.MenuItem;
			public setShortcut(param0: string, param1: string, param2: number, param3: number): android.view.MenuItem;
			public isCheckable(): boolean;
			public getContentDescription(): string;
			public getNumericShortcut(): string;
			public getIconTintMode(): android.graphics.PorterDuff.Mode;
			public setIcon(param0: number): android.view.MenuItem;
			public setTitle(param0: number): android.view.MenuItem;
			public setCheckable(param0: boolean): android.view.MenuItem;
			public getAlphabeticModifiers(): number;
			public getTitle(): string;
			public setEnabled(param0: boolean): android.view.MenuItem;
			public setActionView(param0: android.view.View): android.view.MenuItem;
			public getTitleCondensed(): string;
			public getOrder(): number;
			public setChecked(param0: boolean): android.view.MenuItem;
			public setShowAsAction(param0: number): void;
			public setAlphabeticShortcut(param0: string): android.view.MenuItem;
			public setOnMenuItemClickListener(param0: android.view.MenuItem.OnMenuItemClickListener): android.view.MenuItem;
			public getTooltipText(): string;
			public setNumericShortcut(param0: string): android.view.MenuItem;
			public setTitle(param0: string): android.view.MenuItem;
			public setIconTintList(param0: android.content.res.ColorStateList): android.view.MenuItem;
			public setActionProvider(param0: android.view.ActionProvider): android.view.MenuItem;
			public getIntent(): android.content.Intent;
			public getMenuInfo(): android.view.ContextMenu.ContextMenuInfo;
			public getActionView(): android.view.View;
			public collapseActionView(): boolean;
			public setOnActionExpandListener(param0: android.view.MenuItem.OnActionExpandListener): android.view.MenuItem;
			public getAlphabeticShortcut(): string;
			public isActionViewExpanded(): boolean;
			public getActionProvider(): android.view.ActionProvider;
			public setIntent(param0: android.content.Intent): android.view.MenuItem;
			public getSubMenu(): android.view.SubMenu;
			public getNumericModifiers(): number;
			public setIcon(param0: android.graphics.drawable.Drawable): android.view.MenuItem;
			public setAlphabeticShortcut(param0: string, param1: number): android.view.MenuItem;
			public isChecked(): boolean;
			public setActionView(param0: number): android.view.MenuItem;
			public setTitleCondensed(param0: string): android.view.MenuItem;
			public setContentDescription(param0: string): android.view.MenuItem;
			public isVisible(): boolean;
			public expandActionView(): boolean;
			public getGroupId(): number;
			public setShowAsActionFlags(param0: number): android.view.MenuItem;
			public getItemId(): number;
			public getIcon(): android.graphics.drawable.Drawable;
			public isEnabled(): boolean;
			public setShortcut(param0: string, param1: string): android.view.MenuItem;
			public setVisible(param0: boolean): android.view.MenuItem;
			public setIconTintMode(param0: android.graphics.PorterDuff.Mode): android.view.MenuItem;
			public hasSubMenu(): boolean;
			public getIconTintList(): android.content.res.ColorStateList;
		}
		export module MenuItem {
			export class OnActionExpandListener extends java.lang.Object {
				public static class: java.lang.Class<android.view.MenuItem.OnActionExpandListener>;
				/**
				 * Constructs a new instance of the android.view.MenuItem$OnActionExpandListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onMenuItemActionExpand(param0: android.view.MenuItem): boolean;
					onMenuItemActionCollapse(param0: android.view.MenuItem): boolean;
				});
				public constructor();
				public onMenuItemActionExpand(param0: android.view.MenuItem): boolean;
				public onMenuItemActionCollapse(param0: android.view.MenuItem): boolean;
			}
			export class OnMenuItemClickListener extends java.lang.Object {
				public static class: java.lang.Class<android.view.MenuItem.OnMenuItemClickListener>;
				/**
				 * Constructs a new instance of the android.view.MenuItem$OnMenuItemClickListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onMenuItemClick(param0: android.view.MenuItem): boolean;
				});
				public constructor();
				public onMenuItemClick(param0: android.view.MenuItem): boolean;
			}
		}
	}
}

declare module android {
	export module view {
		export class MotionEvent extends android.view.InputEvent implements android.os.Parcelable {
			public static class: java.lang.Class<android.view.MotionEvent>;
			public static ACTION_BUTTON_PRESS: number;
			public static ACTION_BUTTON_RELEASE: number;
			public static ACTION_CANCEL: number;
			public static ACTION_DOWN: number;
			public static ACTION_HOVER_ENTER: number;
			public static ACTION_HOVER_EXIT: number;
			public static ACTION_HOVER_MOVE: number;
			public static ACTION_MASK: number;
			public static ACTION_MOVE: number;
			public static ACTION_OUTSIDE: number;
			public static ACTION_POINTER_1_DOWN: number;
			public static ACTION_POINTER_1_UP: number;
			public static ACTION_POINTER_2_DOWN: number;
			public static ACTION_POINTER_2_UP: number;
			public static ACTION_POINTER_3_DOWN: number;
			public static ACTION_POINTER_3_UP: number;
			public static ACTION_POINTER_DOWN: number;
			public static ACTION_POINTER_ID_MASK: number;
			public static ACTION_POINTER_ID_SHIFT: number;
			public static ACTION_POINTER_INDEX_MASK: number;
			public static ACTION_POINTER_INDEX_SHIFT: number;
			public static ACTION_POINTER_UP: number;
			public static ACTION_SCROLL: number;
			public static ACTION_UP: number;
			public static AXIS_BRAKE: number;
			public static AXIS_DISTANCE: number;
			public static AXIS_GAS: number;
			public static AXIS_GENERIC_1: number;
			public static AXIS_GENERIC_10: number;
			public static AXIS_GENERIC_11: number;
			public static AXIS_GENERIC_12: number;
			public static AXIS_GENERIC_13: number;
			public static AXIS_GENERIC_14: number;
			public static AXIS_GENERIC_15: number;
			public static AXIS_GENERIC_16: number;
			public static AXIS_GENERIC_2: number;
			public static AXIS_GENERIC_3: number;
			public static AXIS_GENERIC_4: number;
			public static AXIS_GENERIC_5: number;
			public static AXIS_GENERIC_6: number;
			public static AXIS_GENERIC_7: number;
			public static AXIS_GENERIC_8: number;
			public static AXIS_GENERIC_9: number;
			public static AXIS_HAT_X: number;
			public static AXIS_HAT_Y: number;
			public static AXIS_HSCROLL: number;
			public static AXIS_LTRIGGER: number;
			public static AXIS_ORIENTATION: number;
			public static AXIS_PRESSURE: number;
			public static AXIS_RELATIVE_X: number;
			public static AXIS_RELATIVE_Y: number;
			public static AXIS_RTRIGGER: number;
			public static AXIS_RUDDER: number;
			public static AXIS_RX: number;
			public static AXIS_RY: number;
			public static AXIS_RZ: number;
			public static AXIS_SCROLL: number;
			public static AXIS_SIZE: number;
			public static AXIS_THROTTLE: number;
			public static AXIS_TILT: number;
			public static AXIS_TOOL_MAJOR: number;
			public static AXIS_TOOL_MINOR: number;
			public static AXIS_TOUCH_MAJOR: number;
			public static AXIS_TOUCH_MINOR: number;
			public static AXIS_VSCROLL: number;
			public static AXIS_WHEEL: number;
			public static AXIS_X: number;
			public static AXIS_Y: number;
			public static AXIS_Z: number;
			public static BUTTON_BACK: number;
			public static BUTTON_FORWARD: number;
			public static BUTTON_PRIMARY: number;
			public static BUTTON_SECONDARY: number;
			public static BUTTON_STYLUS_PRIMARY: number;
			public static BUTTON_STYLUS_SECONDARY: number;
			public static BUTTON_TERTIARY: number;
			public static CREATOR: android.os.Parcelable.Creator<android.view.MotionEvent>;
			public static EDGE_BOTTOM: number;
			public static EDGE_LEFT: number;
			public static EDGE_RIGHT: number;
			public static EDGE_TOP: number;
			public static FLAG_WINDOW_IS_OBSCURED: number;
			public static INVALID_POINTER_ID: number;
			public static TOOL_TYPE_ERASER: number;
			public static TOOL_TYPE_FINGER: number;
			public static TOOL_TYPE_MOUSE: number;
			public static TOOL_TYPE_STYLUS: number;
			public static TOOL_TYPE_UNKNOWN: number;
			public getAxisValue(param0: number): number;
			public getPointerCount(): number;
			/** @deprecated */
			public static obtain(param0: number, param1: number, param2: number, param3: number, param4: native.Array<number>, param5: native.Array<android.view.MotionEvent.PointerCoords>, param6: number, param7: number, param8: number, param9: number, param10: number, param11: number, param12: number): android.view.MotionEvent;
			public getRawX(): number;
			public getXPrecision(): number;
			public getDeviceId(): number;
			public getToolMajor(param0: number): number;
			public getHistoricalToolMajor(param0: number): number;
			public setAction(param0: number): void;
			public getX(param0: number): number;
			public getHistoricalSize(param0: number, param1: number): number;
			public recycle(): void;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getActionMasked(): number;
			public getX(): number;
			public getActionButton(): number;
			public getEventTime(): number;
			public getHistoricalX(param0: number): number;
			public getHistoricalToolMajor(param0: number, param1: number): number;
			public addBatch(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number): void;
			public static obtain(param0: number, param1: number, param2: number, param3: number, param4: native.Array<android.view.MotionEvent.PointerProperties>, param5: native.Array<android.view.MotionEvent.PointerCoords>, param6: number, param7: number, param8: number, param9: number, param10: number, param11: number, param12: number, param13: number): android.view.MotionEvent;
			public getHistoricalPressure(param0: number): number;
			/** @deprecated */
			public static obtain(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number, param8: number, param9: number, param10: number, param11: number, param12: number): android.view.MotionEvent;
			public static axisFromString(param0: string): number;
			public getFlags(): number;
			public offsetLocation(param0: number, param1: number): void;
			public getTouchMinor(param0: number): number;
			public getHistoricalTouchMinor(param0: number): number;
			public getAction(): number;
			public getActionIndex(): number;
			public getHistoricalEventTime(param0: number): number;
			public getTouchMajor(): number;
			public describeContents(): number;
			public getSource(): number;
			public getPressure(): number;
			public getHistoricalTouchMajor(param0: number, param1: number): number;
			public getPointerCoords(param0: number, param1: android.view.MotionEvent.PointerCoords): void;
			public getToolMinor(): number;
			public getEdgeFlags(): number;
			public getHistoricalAxisValue(param0: number, param1: number, param2: number): number;
			public getPointerId(param0: number): number;
			public getHistoricalTouchMinor(param0: number, param1: number): number;
			public getHistoricalOrientation(param0: number, param1: number): number;
			public static obtainNoHistory(param0: android.view.MotionEvent): android.view.MotionEvent;
			public getY(): number;
			public static obtain(param0: android.view.MotionEvent): android.view.MotionEvent;
			public getToolMajor(): number;
			public getSize(): number;
			public getToolType(param0: number): number;
			public getAxisValue(param0: number, param1: number): number;
			public getDownTime(): number;
			public getHistoricalY(param0: number): number;
			public getY(param0: number): number;
			public getHistorySize(): number;
			public getHistoricalToolMinor(param0: number): number;
			public getToolMinor(param0: number): number;
			public getHistoricalPressure(param0: number, param1: number): number;
			public getHistoricalToolMinor(param0: number, param1: number): number;
			public getHistoricalSize(param0: number): number;
			public getOrientation(): number;
			public getPointerProperties(param0: number, param1: android.view.MotionEvent.PointerProperties): void;
			public getHistoricalPointerCoords(param0: number, param1: number, param2: android.view.MotionEvent.PointerCoords): void;
			public addBatch(param0: number, param1: native.Array<android.view.MotionEvent.PointerCoords>, param2: number): void;
			public finalize(): void;
			public getTouchMinor(): number;
			public transform(param0: android.graphics.Matrix): void;
			public getOrientation(param0: number): number;
			public setSource(param0: number): void;
			public getSize(param0: number): number;
			public setEdgeFlags(param0: number): void;
			public getMetaState(): number;
			public isButtonPressed(param0: number): boolean;
			public getYPrecision(): number;
			public static axisToString(param0: number): string;
			public getTouchMajor(param0: number): number;
			public setLocation(param0: number, param1: number): void;
			public static obtain(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number, param8: number, param9: number, param10: number, param11: number): android.view.MotionEvent;
			public toString(): string;
			public getHistoricalAxisValue(param0: number, param1: number): number;
			public findPointerIndex(param0: number): number;
			public getHistoricalY(param0: number, param1: number): number;
			public getButtonState(): number;
			public getRawY(): number;
			public static obtain(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number): android.view.MotionEvent;
			public static actionToString(param0: number): string;
			public getPressure(param0: number): number;
			public getHistoricalTouchMajor(param0: number): number;
			public getHistoricalX(param0: number, param1: number): number;
			public getHistoricalOrientation(param0: number): number;
		}
		export module MotionEvent {
			export class PointerCoords extends java.lang.Object {
				public static class: java.lang.Class<android.view.MotionEvent.PointerCoords>;
				public orientation: number;
				public pressure: number;
				public size: number;
				public toolMajor: number;
				public toolMinor: number;
				public touchMajor: number;
				public touchMinor: number;
				public x: number;
				public y: number;
				public copyFrom(param0: android.view.MotionEvent.PointerCoords): void;
				public constructor(param0: android.view.MotionEvent.PointerCoords);
				public clear(): void;
				public getAxisValue(param0: number): number;
				public setAxisValue(param0: number, param1: number): void;
				public constructor();
			}
			export class PointerProperties extends java.lang.Object {
				public static class: java.lang.Class<android.view.MotionEvent.PointerProperties>;
				public id: number;
				public toolType: number;
				public constructor(param0: android.view.MotionEvent.PointerProperties);
				public hashCode(): number;
				public copyFrom(param0: android.view.MotionEvent.PointerProperties): void;
				public clear(): void;
				public equals(param0: any): boolean;
				public constructor();
			}
		}
	}
}

declare module android {
	export module view {
		export abstract class OrientationEventListener extends java.lang.Object {
			public static class: java.lang.Class<android.view.OrientationEventListener>;
			public static ORIENTATION_UNKNOWN: number;
			public disable(): void;
			public onOrientationChanged(param0: number): void;
			public constructor(param0: android.content.Context);
			public enable(): void;
			public constructor(param0: android.content.Context, param1: number);
			public canDetectOrientation(): boolean;
		}
	}
}

declare module android {
	export module view {
		export abstract class OrientationListener extends java.lang.Object implements android.hardware.SensorListener {
			public static class: java.lang.Class<android.view.OrientationListener>;
			public static ORIENTATION_UNKNOWN: number;
			public onSensorChanged(param0: number, param1: native.Array<number>): void;
			public disable(): void;
			public onOrientationChanged(param0: number): void;
			public constructor(param0: android.content.Context);
			public onAccuracyChanged(param0: number, param1: number): void;
			public enable(): void;
			public constructor(param0: android.content.Context, param1: number);
		}
	}
}

declare module android {
	export module view {
		export class PixelCopy extends java.lang.Object {
			public static class: java.lang.Class<android.view.PixelCopy>;
			public static ERROR_DESTINATION_INVALID: number;
			public static ERROR_SOURCE_INVALID: number;
			public static ERROR_SOURCE_NO_DATA: number;
			public static ERROR_TIMEOUT: number;
			public static ERROR_UNKNOWN: number;
			public static SUCCESS: number;
			public static request(param0: android.view.Window, param1: android.graphics.Rect, param2: android.graphics.Bitmap, param3: android.view.PixelCopy.OnPixelCopyFinishedListener, param4: android.os.Handler): void;
			public static request(param0: android.view.SurfaceView, param1: android.graphics.Rect, param2: android.graphics.Bitmap, param3: android.view.PixelCopy.OnPixelCopyFinishedListener, param4: android.os.Handler): void;
			public static request(param0: android.view.Surface, param1: android.graphics.Rect, param2: android.graphics.Bitmap, param3: android.view.PixelCopy.OnPixelCopyFinishedListener, param4: android.os.Handler): void;
			public static request(param0: android.view.SurfaceView, param1: android.graphics.Bitmap, param2: android.view.PixelCopy.OnPixelCopyFinishedListener, param3: android.os.Handler): void;
			public static request(param0: android.view.Window, param1: android.graphics.Bitmap, param2: android.view.PixelCopy.OnPixelCopyFinishedListener, param3: android.os.Handler): void;
			public static request(param0: android.view.Surface, param1: android.graphics.Bitmap, param2: android.view.PixelCopy.OnPixelCopyFinishedListener, param3: android.os.Handler): void;
		}
		export module PixelCopy {
			export class OnPixelCopyFinishedListener extends java.lang.Object {
				public static class: java.lang.Class<android.view.PixelCopy.OnPixelCopyFinishedListener>;
				/**
				 * Constructs a new instance of the android.view.PixelCopy$OnPixelCopyFinishedListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onPixelCopyFinished(param0: number): void;
				});
				public constructor();
				public onPixelCopyFinished(param0: number): void;
			}
		}
	}
}

declare module android {
	export module view {
		export class PointerIcon extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.view.PointerIcon>;
			public static CREATOR: android.os.Parcelable.Creator<any>;
			public static TYPE_ALIAS: number;
			public static TYPE_ALL_SCROLL: number;
			public static TYPE_ARROW: number;
			public static TYPE_CELL: number;
			public static TYPE_CONTEXT_MENU: number;
			public static TYPE_COPY: number;
			public static TYPE_CROSSHAIR: number;
			public static TYPE_DEFAULT: number;
			public static TYPE_GRAB: number;
			public static TYPE_GRABBING: number;
			public static TYPE_HAND: number;
			public static TYPE_HELP: number;
			public static TYPE_HORIZONTAL_DOUBLE_ARROW: number;
			public static TYPE_NO_DROP: number;
			public static TYPE_NULL: number;
			public static TYPE_TEXT: number;
			public static TYPE_TOP_LEFT_DIAGONAL_DOUBLE_ARROW: number;
			public static TYPE_TOP_RIGHT_DIAGONAL_DOUBLE_ARROW: number;
			public static TYPE_VERTICAL_DOUBLE_ARROW: number;
			public static TYPE_VERTICAL_TEXT: number;
			public static TYPE_WAIT: number;
			public static TYPE_ZOOM_IN: number;
			public static TYPE_ZOOM_OUT: number;
			public equals(param0: any): boolean;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public static create(param0: android.graphics.Bitmap, param1: number, param2: number): any;
			public static getSystemIcon(param0: android.content.Context, param1: number): any;
			public static load(param0: android.content.res.Resources, param1: number): any;
		}
	}
}

declare module android {
	export module view {
		export class ScaleGestureDetector extends java.lang.Object {
			public static class: java.lang.Class<android.view.ScaleGestureDetector>;
			public setQuickScaleEnabled(param0: boolean): void;
			public getCurrentSpan(): number;
			public getPreviousSpan(): number;
			public constructor(param0: android.content.Context, param1: android.view.ScaleGestureDetector.OnScaleGestureListener);
			public isStylusScaleEnabled(): boolean;
			public getFocusX(): number;
			public getCurrentSpanX(): number;
			public getPreviousSpanY(): number;
			public onTouchEvent(param0: android.view.MotionEvent): boolean;
			public getCurrentSpanY(): number;
			public getPreviousSpanX(): number;
			public setStylusScaleEnabled(param0: boolean): void;
			public getScaleFactor(): number;
			public getTimeDelta(): number;
			public isInProgress(): boolean;
			public getFocusY(): number;
			public getEventTime(): number;
			public constructor(param0: android.content.Context, param1: android.view.ScaleGestureDetector.OnScaleGestureListener, param2: android.os.Handler);
			public isQuickScaleEnabled(): boolean;
		}
		export module ScaleGestureDetector {
			export class OnScaleGestureListener extends java.lang.Object {
				public static class: java.lang.Class<android.view.ScaleGestureDetector.OnScaleGestureListener>;
				/**
				 * Constructs a new instance of the android.view.ScaleGestureDetector$OnScaleGestureListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onScale(param0: android.view.ScaleGestureDetector): boolean;
					onScaleBegin(param0: android.view.ScaleGestureDetector): boolean;
					onScaleEnd(param0: android.view.ScaleGestureDetector): void;
				});
				public constructor();
				public onScale(param0: android.view.ScaleGestureDetector): boolean;
				public onScaleEnd(param0: android.view.ScaleGestureDetector): void;
				public onScaleBegin(param0: android.view.ScaleGestureDetector): boolean;
			}
			export class SimpleOnScaleGestureListener extends java.lang.Object implements android.view.ScaleGestureDetector.OnScaleGestureListener {
				public static class: java.lang.Class<android.view.ScaleGestureDetector.SimpleOnScaleGestureListener>;
				public onScale(param0: android.view.ScaleGestureDetector): boolean;
				public onScaleEnd(param0: android.view.ScaleGestureDetector): void;
				public onScaleBegin(param0: android.view.ScaleGestureDetector): boolean;
				public constructor();
			}
		}
	}
}

declare module android {
	export module view {
		export class SearchEvent extends java.lang.Object {
			public static class: java.lang.Class<any>;
			public constructor(param0: android.view.InputDevice);
			public getInputDevice(): android.view.InputDevice;
		}
	}
}

declare module android {
	export module view {
		export class SoundEffectConstants extends java.lang.Object {
			public static class: java.lang.Class<android.view.SoundEffectConstants>;
			public static CLICK: number;
			public static NAVIGATION_DOWN: number;
			public static NAVIGATION_LEFT: number;
			public static NAVIGATION_RIGHT: number;
			public static NAVIGATION_UP: number;
			public static getContantForFocusDirection(param0: number): number;
		}
	}
}

declare module android {
	export module view {
		export class SubMenu extends java.lang.Object implements android.view.Menu {
			public static class: java.lang.Class<android.view.SubMenu>;
			/**
			 * Constructs a new instance of the android.view.SubMenu interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				setHeaderTitle(param0: number): android.view.SubMenu;
				setHeaderTitle(param0: string): android.view.SubMenu;
				setHeaderIcon(param0: number): android.view.SubMenu;
				setHeaderIcon(param0: android.graphics.drawable.Drawable): android.view.SubMenu;
				setHeaderView(param0: android.view.View): android.view.SubMenu;
				clearHeader(): void;
				setIcon(param0: number): android.view.SubMenu;
				setIcon(param0: android.graphics.drawable.Drawable): android.view.SubMenu;
				getItem(): android.view.MenuItem;
				add(param0: string): android.view.MenuItem;
				add(param0: number): android.view.MenuItem;
				add(param0: number, param1: number, param2: number, param3: string): android.view.MenuItem;
				add(param0: number, param1: number, param2: number, param3: number): android.view.MenuItem;
				addSubMenu(param0: string): android.view.SubMenu;
				addSubMenu(param0: number): android.view.SubMenu;
				addSubMenu(param0: number, param1: number, param2: number, param3: string): android.view.SubMenu;
				addSubMenu(param0: number, param1: number, param2: number, param3: number): android.view.SubMenu;
				addIntentOptions(param0: number, param1: number, param2: number, param3: android.content.ComponentName, param4: native.Array<android.content.Intent>, param5: android.content.Intent, param6: number, param7: native.Array<android.view.MenuItem>): number;
				removeItem(param0: number): void;
				removeGroup(param0: number): void;
				clear(): void;
				setGroupCheckable(param0: number, param1: boolean, param2: boolean): void;
				setGroupVisible(param0: number, param1: boolean): void;
				setGroupEnabled(param0: number, param1: boolean): void;
				hasVisibleItems(): boolean;
				findItem(param0: number): android.view.MenuItem;
				size(): number;
				getItem(param0: number): android.view.MenuItem;
				close(): void;
				performShortcut(param0: number, param1: android.view.KeyEvent, param2: number): boolean;
				isShortcutKey(param0: number, param1: android.view.KeyEvent): boolean;
				performIdentifierAction(param0: number, param1: number): boolean;
				setQwertyMode(param0: boolean): void;
				setGroupDividerEnabled(param0: boolean): void;
			});
			public constructor();
			public static CATEGORY_SECONDARY: number;
			public static FLAG_APPEND_TO_GROUP: number;
			public static FIRST: number;
			public static NONE: number;
			public static SUPPORTED_MODIFIERS_MASK: number;
			public static CATEGORY_ALTERNATIVE: number;
			public static FLAG_ALWAYS_PERFORM_CLOSE: number;
			public static CATEGORY_CONTAINER: number;
			public static FLAG_PERFORM_NO_CLOSE: number;
			public static CATEGORY_SYSTEM: number;
			public hasVisibleItems(): boolean;
			public setIcon(param0: number): android.view.SubMenu;
			public getItem(): android.view.MenuItem;
			public setGroupEnabled(param0: number, param1: boolean): void;
			public add(param0: number, param1: number, param2: number, param3: number): android.view.MenuItem;
			public setHeaderIcon(param0: number): android.view.SubMenu;
			public addSubMenu(param0: string): android.view.SubMenu;
			public addSubMenu(param0: number): android.view.SubMenu;
			public removeItem(param0: number): void;
			public setQwertyMode(param0: boolean): void;
			public addIntentOptions(param0: number, param1: number, param2: number, param3: android.content.ComponentName, param4: native.Array<android.content.Intent>, param5: android.content.Intent, param6: number, param7: native.Array<android.view.MenuItem>): number;
			public close(): void;
			public setGroupDividerEnabled(param0: boolean): void;
			public clear(): void;
			public clearHeader(): void;
			public isShortcutKey(param0: number, param1: android.view.KeyEvent): boolean;
			public setGroupCheckable(param0: number, param1: boolean, param2: boolean): void;
			public size(): number;
			public add(param0: string): android.view.MenuItem;
			public add(param0: number): android.view.MenuItem;
			public setIcon(param0: android.graphics.drawable.Drawable): android.view.SubMenu;
			public add(param0: number, param1: number, param2: number, param3: string): android.view.MenuItem;
			public removeGroup(param0: number): void;
			public getItem(param0: number): android.view.MenuItem;
			public setHeaderView(param0: android.view.View): android.view.SubMenu;
			public setHeaderTitle(param0: number): android.view.SubMenu;
			public addSubMenu(param0: number, param1: number, param2: number, param3: number): android.view.SubMenu;
			public setHeaderTitle(param0: string): android.view.SubMenu;
			public performIdentifierAction(param0: number, param1: number): boolean;
			public performShortcut(param0: number, param1: android.view.KeyEvent, param2: number): boolean;
			public setGroupVisible(param0: number, param1: boolean): void;
			public addSubMenu(param0: number, param1: number, param2: number, param3: string): android.view.SubMenu;
			public findItem(param0: number): android.view.MenuItem;
			public setHeaderIcon(param0: android.graphics.drawable.Drawable): android.view.SubMenu;
		}
	}
}

declare module android {
	export module view {
		export class Surface extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.view.Surface>;
			public static CREATOR: android.os.Parcelable.Creator<android.view.Surface>;
			public static ROTATION_0: number;
			public static ROTATION_180: number;
			public static ROTATION_270: number;
			public static ROTATION_90: number;
			public constructor(param0: android.graphics.SurfaceTexture);
			public lockHardwareCanvas(): android.graphics.Canvas;
			public toString(): string;
			public unlockCanvasAndPost(param0: android.graphics.Canvas): void;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public isValid(): boolean;
			public lockCanvas(param0: android.graphics.Rect): android.graphics.Canvas;
			/** @deprecated */
			public unlockCanvas(param0: android.graphics.Canvas): void;
			public finalize(): void;
			public release(): void;
			public readFromParcel(param0: android.os.Parcel): void;
		}
		export module Surface {
			export class OutOfResourcesException extends java.lang.RuntimeException {
				public static class: java.lang.Class<android.view.Surface.OutOfResourcesException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module android {
	export module view {
		export class SurfaceHolder extends java.lang.Object {
			public static class: java.lang.Class<android.view.SurfaceHolder>;
			/**
			 * Constructs a new instance of the android.view.SurfaceHolder interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				addCallback(param0: android.view.SurfaceHolder.Callback): void;
				removeCallback(param0: android.view.SurfaceHolder.Callback): void;
				isCreating(): boolean;
				setType(param0: number): void;
				setFixedSize(param0: number, param1: number): void;
				setSizeFromLayout(): void;
				setFormat(param0: number): void;
				setKeepScreenOn(param0: boolean): void;
				lockCanvas(): android.graphics.Canvas;
				lockCanvas(param0: android.graphics.Rect): android.graphics.Canvas;
				lockHardwareCanvas(): android.graphics.Canvas;
				unlockCanvasAndPost(param0: android.graphics.Canvas): void;
				getSurfaceFrame(): android.graphics.Rect;
				getSurface(): android.view.Surface;
			});
			public constructor();
			public static SURFACE_TYPE_GPU: number;
			public static SURFACE_TYPE_HARDWARE: number;
			public static SURFACE_TYPE_PUSH_BUFFERS: number;
			public static SURFACE_TYPE_NORMAL: number;
			public lockHardwareCanvas(): android.graphics.Canvas;
			public setFixedSize(param0: number, param1: number): void;
			public lockCanvas(): android.graphics.Canvas;
			public unlockCanvasAndPost(param0: android.graphics.Canvas): void;
			/** @deprecated */
			public setType(param0: number): void;
			public setSizeFromLayout(): void;
			public lockCanvas(param0: android.graphics.Rect): android.graphics.Canvas;
			public getSurfaceFrame(): android.graphics.Rect;
			public addCallback(param0: android.view.SurfaceHolder.Callback): void;
			public getSurface(): android.view.Surface;
			public removeCallback(param0: android.view.SurfaceHolder.Callback): void;
			public isCreating(): boolean;
			public setKeepScreenOn(param0: boolean): void;
			public setFormat(param0: number): void;
		}
		export module SurfaceHolder {
			export class BadSurfaceTypeException extends java.lang.RuntimeException {
				public static class: java.lang.Class<android.view.SurfaceHolder.BadSurfaceTypeException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
			export class Callback extends java.lang.Object {
				public static class: java.lang.Class<android.view.SurfaceHolder.Callback>;
				/**
				 * Constructs a new instance of the android.view.SurfaceHolder$Callback interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					surfaceCreated(param0: android.view.SurfaceHolder): void;
					surfaceChanged(param0: android.view.SurfaceHolder, param1: number, param2: number, param3: number): void;
					surfaceDestroyed(param0: android.view.SurfaceHolder): void;
				});
				public constructor();
				public surfaceCreated(param0: android.view.SurfaceHolder): void;
				public surfaceChanged(param0: android.view.SurfaceHolder, param1: number, param2: number, param3: number): void;
				public surfaceDestroyed(param0: android.view.SurfaceHolder): void;
			}
			export class Callback2 extends java.lang.Object implements android.view.SurfaceHolder.Callback {
				public static class: java.lang.Class<android.view.SurfaceHolder.Callback2>;
				/**
				 * Constructs a new instance of the android.view.SurfaceHolder$Callback2 interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					surfaceRedrawNeeded(param0: android.view.SurfaceHolder): void;
					surfaceRedrawNeededAsync(param0: android.view.SurfaceHolder, param1: java.lang.Runnable): void;
					surfaceCreated(param0: android.view.SurfaceHolder): void;
					surfaceChanged(param0: android.view.SurfaceHolder, param1: number, param2: number, param3: number): void;
					surfaceDestroyed(param0: android.view.SurfaceHolder): void;
				});
				public constructor();
				public surfaceRedrawNeeded(param0: android.view.SurfaceHolder): void;
				public surfaceCreated(param0: android.view.SurfaceHolder): void;
				public surfaceChanged(param0: android.view.SurfaceHolder, param1: number, param2: number, param3: number): void;
				public surfaceRedrawNeededAsync(param0: android.view.SurfaceHolder, param1: java.lang.Runnable): void;
				public surfaceDestroyed(param0: android.view.SurfaceHolder): void;
			}
		}
	}
}

declare module android {
	export module view {
		export class SurfaceView extends android.view.View {
			public static class: java.lang.Class<android.view.SurfaceView>;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public onMeasure(param0: number, param1: number): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public getHolder(): android.view.SurfaceHolder;
			public gatherTransparentRegion(param0: android.graphics.Region): boolean;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public onWindowVisibilityChanged(param0: number): void;
			public setZOrderOnTop(param0: boolean): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public onDetachedFromWindow(): void;
			public draw(param0: android.graphics.Canvas): void;
			public sendAccessibilityEvent(param0: number): void;
			public setVisibility(param0: number): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public dispatchDraw(param0: android.graphics.Canvas): void;
			public constructor(param0: android.content.Context);
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public onAttachedToWindow(): void;
			public setSecure(param0: boolean): void;
			public setZOrderMediaOverlay(param0: boolean): void;
		}
	}
}

declare module android {
	export module view {
		export class TextureView extends android.view.View {
			public static class: java.lang.Class<android.view.TextureView>;
			public setLayerType(param0: number, param1: android.graphics.Paint): void;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public onSizeChanged(param0: number, param1: number, param2: number, param3: number): void;
			public lockCanvas(): android.graphics.Canvas;
			/** @deprecated */
			public setBackgroundDrawable(param0: android.graphics.drawable.Drawable): void;
			public lockCanvas(param0: android.graphics.Rect): android.graphics.Canvas;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public setOpaque(param0: boolean): void;
			public setTransform(param0: android.graphics.Matrix): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public setLayerPaint(param0: android.graphics.Paint): void;
			public setBackgroundDrawable(param0: android.graphics.drawable.Drawable): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public getSurfaceTexture(): android.graphics.SurfaceTexture;
			public getLayerType(): number;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public setSurfaceTexture(param0: android.graphics.SurfaceTexture): void;
			public isOpaque(): boolean;
			public draw(param0: android.graphics.Canvas): void;
			public sendAccessibilityEvent(param0: number): void;
			public getBitmap(param0: number, param1: number): android.graphics.Bitmap;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public unlockCanvasAndPost(param0: android.graphics.Canvas): void;
			public setForeground(param0: android.graphics.drawable.Drawable): void;
			public getBitmap(): android.graphics.Bitmap;
			public getBitmap(param0: android.graphics.Bitmap): android.graphics.Bitmap;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public onVisibilityChanged(param0: android.view.View, param1: number): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public getSurfaceTextureListener(): android.view.TextureView.SurfaceTextureListener;
			public constructor(param0: android.content.Context);
			public buildLayer(): void;
			public setSurfaceTextureListener(param0: android.view.TextureView.SurfaceTextureListener): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public onDraw(param0: android.graphics.Canvas): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public onAttachedToWindow(): void;
			public getTransform(param0: android.graphics.Matrix): android.graphics.Matrix;
			public isAvailable(): boolean;
		}
		export module TextureView {
			export class SurfaceTextureListener extends java.lang.Object {
				public static class: java.lang.Class<android.view.TextureView.SurfaceTextureListener>;
				/**
				 * Constructs a new instance of the android.view.TextureView$SurfaceTextureListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onSurfaceTextureAvailable(param0: android.graphics.SurfaceTexture, param1: number, param2: number): void;
					onSurfaceTextureSizeChanged(param0: android.graphics.SurfaceTexture, param1: number, param2: number): void;
					onSurfaceTextureDestroyed(param0: android.graphics.SurfaceTexture): boolean;
					onSurfaceTextureUpdated(param0: android.graphics.SurfaceTexture): void;
				});
				public constructor();
				public onSurfaceTextureUpdated(param0: android.graphics.SurfaceTexture): void;
				public onSurfaceTextureAvailable(param0: android.graphics.SurfaceTexture, param1: number, param2: number): void;
				public onSurfaceTextureSizeChanged(param0: android.graphics.SurfaceTexture, param1: number, param2: number): void;
				public onSurfaceTextureDestroyed(param0: android.graphics.SurfaceTexture): boolean;
			}
		}
	}
}

declare module android {
	export module view {
		export class TouchDelegate extends java.lang.Object {
			public static class: java.lang.Class<android.view.TouchDelegate>;
			public static ABOVE: number;
			public static BELOW: number;
			public static TO_LEFT: number;
			public static TO_RIGHT: number;
			public constructor(param0: android.graphics.Rect, param1: android.view.View);
			public onTouchEvent(param0: android.view.MotionEvent): boolean;
		}
	}
}

declare module android {
	export module view {
		export class VelocityTracker extends java.lang.Object {
			public static class: java.lang.Class<android.view.VelocityTracker>;
			public clear(): void;
			public computeCurrentVelocity(param0: number): void;
			public getXVelocity(): number;
			public getYVelocity(param0: number): number;
			public getYVelocity(): number;
			public recycle(): void;
			public static obtain(): android.view.VelocityTracker;
			public getXVelocity(param0: number): number;
			public finalize(): void;
			public addMovement(param0: android.view.MotionEvent): void;
			public computeCurrentVelocity(param0: number, param1: number): void;
		}
	}
}

declare module android {
	export module view {
		export class View extends java.lang.Object implements android.graphics.drawable.Drawable.Callback, android.view.KeyEvent.Callback, android.view.accessibility.AccessibilityEventSource {
			public static class: java.lang.Class<android.view.View>;
			public static ACCESSIBILITY_LIVE_REGION_ASSERTIVE: number;
			public static ACCESSIBILITY_LIVE_REGION_NONE: number;
			public static ACCESSIBILITY_LIVE_REGION_POLITE: number;
			public static ALPHA: android.util.Property<android.view.View,java.lang.Float>;
			public static AUTOFILL_FLAG_INCLUDE_NOT_IMPORTANT_VIEWS: number;
			public static AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DATE: string;
			public static AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DAY: string;
			public static AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_MONTH: string;
			public static AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_YEAR: string;
			public static AUTOFILL_HINT_CREDIT_CARD_NUMBER: string;
			public static AUTOFILL_HINT_CREDIT_CARD_SECURITY_CODE: string;
			public static AUTOFILL_HINT_EMAIL_ADDRESS: string;
			public static AUTOFILL_HINT_NAME: string;
			public static AUTOFILL_HINT_PASSWORD: string;
			public static AUTOFILL_HINT_PHONE: string;
			public static AUTOFILL_HINT_POSTAL_ADDRESS: string;
			public static AUTOFILL_HINT_POSTAL_CODE: string;
			public static AUTOFILL_HINT_USERNAME: string;
			public static AUTOFILL_TYPE_DATE: number;
			public static AUTOFILL_TYPE_LIST: number;
			public static AUTOFILL_TYPE_NONE: number;
			public static AUTOFILL_TYPE_TEXT: number;
			public static AUTOFILL_TYPE_TOGGLE: number;
			public static DRAG_FLAG_GLOBAL: number;
			public static DRAG_FLAG_GLOBAL_PERSISTABLE_URI_PERMISSION: number;
			public static DRAG_FLAG_GLOBAL_PREFIX_URI_PERMISSION: number;
			public static DRAG_FLAG_GLOBAL_URI_READ: number;
			public static DRAG_FLAG_GLOBAL_URI_WRITE: number;
			public static DRAG_FLAG_OPAQUE: number;
			public static DRAWING_CACHE_QUALITY_AUTO: number;
			public static DRAWING_CACHE_QUALITY_HIGH: number;
			public static DRAWING_CACHE_QUALITY_LOW: number;
			public static EMPTY_STATE_SET: native.Array<number>;
			public static ENABLED_FOCUSED_SELECTED_STATE_SET: native.Array<number>;
			public static ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET: native.Array<number>;
			public static ENABLED_FOCUSED_STATE_SET: native.Array<number>;
			public static ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET: native.Array<number>;
			public static ENABLED_SELECTED_STATE_SET: native.Array<number>;
			public static ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET: native.Array<number>;
			public static ENABLED_STATE_SET: native.Array<number>;
			public static ENABLED_WINDOW_FOCUSED_STATE_SET: native.Array<number>;
			public static FIND_VIEWS_WITH_CONTENT_DESCRIPTION: number;
			public static FIND_VIEWS_WITH_TEXT: number;
			public static FOCUSABLE: number;
			public static FOCUSABLES_ALL: number;
			public static FOCUSABLES_TOUCH_MODE: number;
			public static FOCUSABLE_AUTO: number;
			public static FOCUSED_SELECTED_STATE_SET: native.Array<number>;
			public static FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET: native.Array<number>;
			public static FOCUSED_STATE_SET: native.Array<number>;
			public static FOCUSED_WINDOW_FOCUSED_STATE_SET: native.Array<number>;
			public static FOCUS_BACKWARD: number;
			public static FOCUS_DOWN: number;
			public static FOCUS_FORWARD: number;
			public static FOCUS_LEFT: number;
			public static FOCUS_RIGHT: number;
			public static FOCUS_UP: number;
			public static GONE: number;
			public static HAPTIC_FEEDBACK_ENABLED: number;
			public static IMPORTANT_FOR_ACCESSIBILITY_AUTO: number;
			public static IMPORTANT_FOR_ACCESSIBILITY_NO: number;
			public static IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS: number;
			public static IMPORTANT_FOR_ACCESSIBILITY_YES: number;
			public static IMPORTANT_FOR_AUTOFILL_AUTO: number;
			public static IMPORTANT_FOR_AUTOFILL_NO: number;
			public static IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS: number;
			public static IMPORTANT_FOR_AUTOFILL_YES: number;
			public static IMPORTANT_FOR_AUTOFILL_YES_EXCLUDE_DESCENDANTS: number;
			public static INVISIBLE: number;
			public static KEEP_SCREEN_ON: number;
			public static LAYER_TYPE_HARDWARE: number;
			public static LAYER_TYPE_NONE: number;
			public static LAYER_TYPE_SOFTWARE: number;
			public static LAYOUT_DIRECTION_INHERIT: number;
			public static LAYOUT_DIRECTION_LOCALE: number;
			public static LAYOUT_DIRECTION_LTR: number;
			public static LAYOUT_DIRECTION_RTL: number;
			public static MEASURED_HEIGHT_STATE_SHIFT: number;
			public static MEASURED_SIZE_MASK: number;
			public static MEASURED_STATE_MASK: number;
			public static MEASURED_STATE_TOO_SMALL: number;
			public static NOT_FOCUSABLE: number;
			public static NO_ID: number;
			public static OVER_SCROLL_ALWAYS: number;
			public static OVER_SCROLL_IF_CONTENT_SCROLLS: number;
			public static OVER_SCROLL_NEVER: number;
			public static PRESSED_ENABLED_FOCUSED_SELECTED_STATE_SET: native.Array<number>;
			public static PRESSED_ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET: native.Array<number>;
			public static PRESSED_ENABLED_FOCUSED_STATE_SET: native.Array<number>;
			public static PRESSED_ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET: native.Array<number>;
			public static PRESSED_ENABLED_SELECTED_STATE_SET: native.Array<number>;
			public static PRESSED_ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET: native.Array<number>;
			public static PRESSED_ENABLED_STATE_SET: native.Array<number>;
			public static PRESSED_ENABLED_WINDOW_FOCUSED_STATE_SET: native.Array<number>;
			public static PRESSED_FOCUSED_SELECTED_STATE_SET: native.Array<number>;
			public static PRESSED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET: native.Array<number>;
			public static PRESSED_FOCUSED_STATE_SET: native.Array<number>;
			public static PRESSED_FOCUSED_WINDOW_FOCUSED_STATE_SET: native.Array<number>;
			public static PRESSED_SELECTED_STATE_SET: native.Array<number>;
			public static PRESSED_SELECTED_WINDOW_FOCUSED_STATE_SET: native.Array<number>;
			public static PRESSED_STATE_SET: native.Array<number>;
			public static PRESSED_WINDOW_FOCUSED_STATE_SET: native.Array<number>;
			public static ROTATION: android.util.Property<android.view.View,java.lang.Float>;
			public static ROTATION_X: android.util.Property<android.view.View,java.lang.Float>;
			public static ROTATION_Y: android.util.Property<android.view.View,java.lang.Float>;
			public static SCALE_X: android.util.Property<android.view.View,java.lang.Float>;
			public static SCALE_Y: android.util.Property<android.view.View,java.lang.Float>;
			public static SCREEN_STATE_OFF: number;
			public static SCREEN_STATE_ON: number;
			public static SCROLLBARS_INSIDE_INSET: number;
			public static SCROLLBARS_INSIDE_OVERLAY: number;
			public static SCROLLBARS_OUTSIDE_INSET: number;
			public static SCROLLBARS_OUTSIDE_OVERLAY: number;
			public static SCROLLBAR_POSITION_DEFAULT: number;
			public static SCROLLBAR_POSITION_LEFT: number;
			public static SCROLLBAR_POSITION_RIGHT: number;
			public static SCROLL_AXIS_HORIZONTAL: number;
			public static SCROLL_AXIS_NONE: number;
			public static SCROLL_AXIS_VERTICAL: number;
			public static SCROLL_INDICATOR_BOTTOM: number;
			public static SCROLL_INDICATOR_END: number;
			public static SCROLL_INDICATOR_LEFT: number;
			public static SCROLL_INDICATOR_RIGHT: number;
			public static SCROLL_INDICATOR_START: number;
			public static SCROLL_INDICATOR_TOP: number;
			public static SELECTED_STATE_SET: native.Array<number>;
			public static SELECTED_WINDOW_FOCUSED_STATE_SET: native.Array<number>;
			public static SOUND_EFFECTS_ENABLED: number;
			public static STATUS_BAR_HIDDEN: number;
			public static STATUS_BAR_VISIBLE: number;
			public static SYSTEM_UI_FLAG_FULLSCREEN: number;
			public static SYSTEM_UI_FLAG_HIDE_NAVIGATION: number;
			public static SYSTEM_UI_FLAG_IMMERSIVE: number;
			public static SYSTEM_UI_FLAG_IMMERSIVE_STICKY: number;
			public static SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN: number;
			public static SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION: number;
			public static SYSTEM_UI_FLAG_LAYOUT_STABLE: number;
			public static SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR: number;
			public static SYSTEM_UI_FLAG_LIGHT_STATUS_BAR: number;
			public static SYSTEM_UI_FLAG_LOW_PROFILE: number;
			public static SYSTEM_UI_FLAG_VISIBLE: number;
			public static SYSTEM_UI_LAYOUT_FLAGS: number;
			public static TEXT_ALIGNMENT_CENTER: number;
			public static TEXT_ALIGNMENT_GRAVITY: number;
			public static TEXT_ALIGNMENT_INHERIT: number;
			public static TEXT_ALIGNMENT_TEXT_END: number;
			public static TEXT_ALIGNMENT_TEXT_START: number;
			public static TEXT_ALIGNMENT_VIEW_END: number;
			public static TEXT_ALIGNMENT_VIEW_START: number;
			public static TEXT_DIRECTION_ANY_RTL: number;
			public static TEXT_DIRECTION_FIRST_STRONG: number;
			public static TEXT_DIRECTION_FIRST_STRONG_LTR: number;
			public static TEXT_DIRECTION_FIRST_STRONG_RTL: number;
			public static TEXT_DIRECTION_INHERIT: number;
			public static TEXT_DIRECTION_LOCALE: number;
			public static TEXT_DIRECTION_LTR: number;
			public static TEXT_DIRECTION_RTL: number;
			public static TRANSLATION_X: android.util.Property<android.view.View,java.lang.Float>;
			public static TRANSLATION_Y: android.util.Property<android.view.View,java.lang.Float>;
			public static TRANSLATION_Z: android.util.Property<android.view.View,java.lang.Float>;
			public static VIEW_LOG_TAG: string;
			public static VISIBLE: number;
			public static WINDOW_FOCUSED_STATE_SET: native.Array<number>;
			public static X: android.util.Property<android.view.View,java.lang.Float>;
			public static Y: android.util.Property<android.view.View,java.lang.Float>;
			public static Z: android.util.Property<android.view.View,java.lang.Float>;
			public onVisibilityAggregated(param0: boolean): void;
			public getTranslationZ(): number;
			public setLayerType(param0: number, param1: android.graphics.Paint): void;
			public getRight(): number;
			public getTag(param0: number): any;
			public resetPivot(): void;
			public setNextFocusRightId(param0: number): void;
			public setSystemUiVisibility(param0: number): void;
			public setAccessibilityPaneTitle(param0: string): void;
			public getPointerIcon(): any;
			public setLayoutParams(param0: android.view.ViewGroup.LayoutParams): void;
			public getX(): number;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public scrollTo(param0: number, param1: number): void;
			public isFocusable(): boolean;
			public setVisibility(param0: number): void;
			public isLongClickable(): boolean;
			public getAccessibilityLiveRegion(): number;
			public setKeyboardNavigationCluster(param0: boolean): void;
			public setHapticFeedbackEnabled(param0: boolean): void;
			public computeVerticalScrollRange(): number;
			public getNextFocusRightId(): number;
			public isFocusableInTouchMode(): boolean;
			public canScrollVertically(param0: number): boolean;
			public getBackgroundTintList(): android.content.res.ColorStateList;
			public onKeyPreIme(param0: number, param1: android.view.KeyEvent): boolean;
			public refreshDrawableState(): void;
			public setBackgroundResource(param0: number): void;
			public setOnCapturedPointerListener(param0: android.view.View.OnCapturedPointerListener): void;
			public getOverlay(): android.view.ViewOverlay;
			public getAccessibilityClassName(): string;
			public setActivated(param0: boolean): void;
			public performContextClick(param0: number, param1: number): boolean;
			public getDrawingRect(param0: android.graphics.Rect): void;
			public getApplicationWindowToken(): android.os.IBinder;
			public setBackground(param0: android.graphics.drawable.Drawable): void;
			public setForegroundTintList(param0: android.content.res.ColorStateList): void;
			public dispatchProvideStructure(param0: any): void;
			public setOnScrollChangeListener(param0: android.view.View.OnScrollChangeListener): void;
			public awakenScrollBars(): boolean;
			public playSoundEffect(param0: number): void;
			public getVerticalScrollbarPosition(): number;
			public static resolveSize(param0: number, param1: number): number;
			public setSoundEffectsEnabled(param0: boolean): void;
			public setFadingEdgeLength(param0: number): void;
			public static inflate(param0: android.content.Context, param1: number, param2: android.view.ViewGroup): android.view.View;
			public setImportantForAccessibility(param0: number): void;
			public getAutofillType(): number;
			public getScrollY(): number;
			public static generateViewId(): number;
			public onHoverChanged(param0: boolean): void;
			public setScrollBarStyle(param0: number): void;
			public addTouchables(param0: java.util.ArrayList<android.view.View>): void;
			public onConfigurationChanged(param0: android.content.res.Configuration): void;
			public requestLayout(): void;
			public getHorizontalFadingEdgeLength(): number;
			public getViewTreeObserver(): android.view.ViewTreeObserver;
			public canResolveTextDirection(): boolean;
			public startAnimation(param0: android.view.animation.Animation): void;
			public getScrollIndicators(): number;
			public getRevealOnFocusHint(): boolean;
			public getOutlineProvider(): android.view.ViewOutlineProvider;
			public setLayoutDirection(param0: number): void;
			public isKeyboardNavigationCluster(): boolean;
			public onOverScrolled(param0: number, param1: number, param2: boolean, param3: boolean): void;
			public isNestedScrollingEnabled(): boolean;
			public setFocusable(param0: boolean): void;
			public isHardwareAccelerated(): boolean;
			public performLongClick(param0: number, param1: number): boolean;
			/** @deprecated */
			public setWillNotCacheDrawing(param0: boolean): void;
			public drawableStateChanged(): void;
			/** @deprecated */
			public willNotCacheDrawing(): boolean;
			public findViewById(param0: number): android.view.View;
			public setMeasuredDimension(param0: number, param1: number): void;
			public dispatchConfigurationChanged(param0: android.content.res.Configuration): void;
			public isSelected(): boolean;
			public showContextMenu(param0: number, param1: number): boolean;
			public getId(): number;
			/** @deprecated */
			public getDrawingCacheBackgroundColor(): number;
			public getScrollBarFadeDuration(): number;
			public setRevealOnFocusHint(param0: boolean): void;
			public setHorizontalScrollBarEnabled(param0: boolean): void;
			public setForegroundTintMode(param0: android.graphics.PorterDuff.Mode): void;
			public isInTouchMode(): boolean;
			public onKeyShortcut(param0: number, param1: android.view.KeyEvent): boolean;
			public getFilterTouchesWhenObscured(): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public dispatchApplyWindowInsets(param0: android.view.WindowInsets): android.view.WindowInsets;
			public getVerticalFadingEdgeLength(): number;
			public isShown(): boolean;
			public getPaddingEnd(): number;
			public onTrackballEvent(param0: android.view.MotionEvent): boolean;
			public setNextFocusLeftId(param0: number): void;
			public getNextFocusUpId(): number;
			public setScaleY(param0: number): void;
			public getTextAlignment(): number;
			public performContextClick(): boolean;
			public onInitializeAccessibilityEvent(param0: android.view.accessibility.AccessibilityEvent): void;
			public invalidateOutline(): void;
			public static resolveSizeAndState(param0: number, param1: number, param2: number): number;
			public onWindowFocusChanged(param0: boolean): void;
			public setSaveEnabled(param0: boolean): void;
			public setClickable(param0: boolean): void;
			public onPointerCaptureChange(param0: boolean): void;
			public onApplyWindowInsets(param0: android.view.WindowInsets): android.view.WindowInsets;
			public addOnUnhandledKeyEventListener(param0: android.view.View.OnUnhandledKeyEventListener): void;
			public getAccessibilityNodeProvider(): android.view.accessibility.AccessibilityNodeProvider;
			public hasFocusable(): boolean;
			public setScrollX(param0: number): void;
			public static combineMeasuredStates(param0: number, param1: number): number;
			public getSystemUiVisibility(): number;
			public onCheckIsTextEditor(): boolean;
			public setClipBounds(param0: android.graphics.Rect): void;
			public getPaddingTop(): number;
			public autofill(param0: android.util.SparseArray<android.view.autofill.AutofillValue>): void;
			public setY(param0: number): void;
			/** @deprecated */
			public getDrawingCache(param0: boolean): android.graphics.Bitmap;
			public stopNestedScroll(): void;
			public isTemporarilyDetached(): boolean;
			public animate(): android.view.ViewPropertyAnimator;
			public setImportantForAutofill(param0: number): void;
			public requestPointerCapture(): void;
			public setTranslationZ(param0: number): void;
			public setTag(param0: any): void;
			public setOnHoverListener(param0: android.view.View.OnHoverListener): void;
			public getAutofillHints(): native.Array<string>;
			public getRotation(): number;
			public addChildrenForAccessibility(param0: java.util.ArrayList<android.view.View>): void;
			public setScrollBarFadeDuration(param0: number): void;
			public getTextDirection(): number;
			public onTouchEvent(param0: android.view.MotionEvent): boolean;
			public measure(param0: number, param1: number): void;
			public setFilterTouchesWhenObscured(param0: boolean): void;
			public addOnAttachStateChangeListener(param0: android.view.View.OnAttachStateChangeListener): void;
			public dispatchTrackballEvent(param0: android.view.MotionEvent): boolean;
			public getForegroundGravity(): number;
			public dispatchKeyEvent(param0: android.view.KeyEvent): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public dispatchPopulateAccessibilityEvent(param0: android.view.accessibility.AccessibilityEvent): boolean;
			public computeHorizontalScrollExtent(): number;
			public onHoverEvent(param0: android.view.MotionEvent): boolean;
			public isScreenReaderFocusable(): boolean;
			public dispatchSetActivated(param0: boolean): void;
			public getHitRect(param0: android.graphics.Rect): void;
			public setScrollBarDefaultDelayBeforeFade(param0: number): void;
			public onScreenStateChanged(param0: number): void;
			/** @deprecated */
			public getDrawingCacheQuality(): number;
			public requestFocusFromTouch(): boolean;
			public getTransitionName(): string;
			public setId(param0: number): void;
			public dispatchHoverEvent(param0: android.view.MotionEvent): boolean;
			/** @deprecated */
			public setBackgroundDrawable(param0: android.graphics.drawable.Drawable): void;
			public overScrollBy(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number, param8: boolean): boolean;
			public getNextClusterForwardId(): number;
			public onPopulateAccessibilityEvent(param0: android.view.accessibility.AccessibilityEvent): void;
			public getSuggestedMinimumHeight(): number;
			public getClipBounds(param0: android.graphics.Rect): boolean;
			public getPaddingRight(): number;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public forceLayout(): void;
			public setClipToOutline(param0: boolean): void;
			/** @deprecated */
			public fitSystemWindows(param0: android.graphics.Rect): boolean;
			public getContext(): android.content.Context;
			public setVerticalScrollBarEnabled(param0: boolean): void;
			public setEnabled(param0: boolean): void;
			public onDetachedFromWindow(): void;
			public dispatchVisibilityChanged(param0: android.view.View, param1: number): void;
			public getForegroundTintMode(): android.graphics.PorterDuff.Mode;
			public setOnApplyWindowInsetsListener(param0: android.view.View.OnApplyWindowInsetsListener): void;
			public isVerticalScrollBarEnabled(): boolean;
			public setHorizontalFadingEdgeEnabled(param0: boolean): void;
			public getNextFocusLeftId(): number;
			public isScrollbarFadingEnabled(): boolean;
			public onCancelPendingInputEvents(): void;
			public getLocalVisibleRect(param0: android.graphics.Rect): boolean;
			public setBottom(param0: number): void;
			public getLeft(): number;
			public performClick(): boolean;
			public setCameraDistance(param0: number): void;
			public hasFocus(): boolean;
			public dispatchNestedScroll(param0: number, param1: number, param2: number, param3: number, param4: native.Array<number>): boolean;
			public computeVerticalScrollExtent(): number;
			public onDragEvent(param0: android.view.DragEvent): boolean;
			public getMeasuredHeightAndState(): number;
			public getRightPaddingOffset(): number;
			public isAccessibilityHeading(): boolean;
			public setVerticalScrollbarPosition(param0: number): void;
			public getKeyDispatcherState(): android.view.KeyEvent.DispatcherState;
			public setLayerPaint(param0: android.graphics.Paint): void;
			public setVerticalFadingEdgeEnabled(param0: boolean): void;
			public getTopFadingEdgeStrength(): number;
			public dispatchProvideAutofillStructure(param0: any, param1: number): void;
			public onWindowVisibilityChanged(param0: number): void;
			public isHorizontalFadingEdgeEnabled(): boolean;
			public getLayerType(): number;
			public findFocus(): android.view.View;
			public postInvalidate(): void;
			public requestRectangleOnScreen(param0: android.graphics.Rect, param1: boolean): boolean;
			public getElevation(): number;
			public getFitsSystemWindows(): boolean;
			public setLeft(param0: number): void;
			public setForeground(param0: android.graphics.drawable.Drawable): void;
			public onDisplayHint(param0: number): void;
			/** @deprecated */
			public requestFitSystemWindows(): void;
			/** @deprecated */
			public setDrawingCacheBackgroundColor(param0: number): void;
			public setTag(param0: number, param1: any): void;
			public setAccessibilityDelegate(param0: any): void;
			public onVisibilityChanged(param0: android.view.View, param1: number): void;
			public setOnSystemUiVisibilityChangeListener(param0: android.view.View.OnSystemUiVisibilityChangeListener): void;
			public removeOnLayoutChangeListener(param0: android.view.View.OnLayoutChangeListener): void;
			public constructor(param0: android.content.Context);
			public findViewWithTag(param0: any): android.view.View;
			public getZ(): number;
			public setOnFocusChangeListener(param0: android.view.View.OnFocusChangeListener): void;
			public setContentDescription(param0: string): void;
			public setFocusableInTouchMode(param0: boolean): void;
			public addOnLayoutChangeListener(param0: android.view.View.OnLayoutChangeListener): void;
			public postDelayed(param0: java.lang.Runnable, param1: number): boolean;
			public isLayoutDirectionResolved(): boolean;
			public onDrawForeground(param0: android.graphics.Canvas): void;
			public createContextMenu(param0: android.view.ContextMenu): void;
			public onInitializeAccessibilityNodeInfo(param0: android.view.accessibility.AccessibilityNodeInfo): void;
			public getAccessibilityTraversalAfter(): number;
			public getHasOverlappingRendering(): boolean;
			public getAccessibilityPaneTitle(): string;
			public onAnimationEnd(): void;
			public setOnTouchListener(param0: android.view.View.OnTouchListener): void;
			public getContentDescription(): string;
			public offsetTopAndBottom(param0: number): void;
			public canResolveLayoutDirection(): boolean;
			public getAutofillValue(): android.view.autofill.AutofillValue;
			public onFinishTemporaryDetach(): void;
			public postInvalidateOnAnimation(param0: number, param1: number, param2: number, param3: number): void;
			public setDuplicateParentStateEnabled(param0: boolean): void;
			public setPadding(param0: number, param1: number, param2: number, param3: number): void;
			public checkInputConnectionProxy(param0: android.view.View): boolean;
			public setPointerIcon(param0: any): void;
			public draw(param0: android.graphics.Canvas): void;
			public onRestoreInstanceState(param0: android.os.Parcelable): void;
			public dispatchNestedPrePerformAccessibilityAction(param0: number, param1: android.os.Bundle): boolean;
			public getMeasuredState(): number;
			public setScrollContainer(param0: boolean): void;
			public getParentForAccessibility(): android.view.ViewParent;
			public isDirty(): boolean;
			public getCameraDistance(): number;
			public requestFocus(param0: number): boolean;
			public onProvideAutofillStructure(param0: any, param1: number): void;
			public onDrawScrollBars(param0: android.graphics.Canvas): void;
			public scrollBy(param0: number, param1: number): void;
			public getAnimation(): android.view.animation.Animation;
			public dispatchTouchEvent(param0: android.view.MotionEvent): boolean;
			public hasWindowFocus(): boolean;
			public setScrollIndicators(param0: number, param1: number): void;
			public setLabelFor(param0: number): void;
			public getLabelFor(): number;
			public setOutlineProvider(param0: android.view.ViewOutlineProvider): void;
			public buildLayer(): void;
			public onScrollChanged(param0: number, param1: number, param2: number, param3: number): void;
			public setBackgroundTintMode(param0: android.graphics.PorterDuff.Mode): void;
			public performAccessibilityAction(param0: number, param1: android.os.Bundle): boolean;
			public setAutofillId(param0: android.view.autofill.AutofillId): void;
			public onGenericMotionEvent(param0: android.view.MotionEvent): boolean;
			public setSaveFromParentEnabled(param0: boolean): void;
			public setAccessibilityTraversalBefore(param0: number): void;
			public setScrollbarFadingEnabled(param0: boolean): void;
			public getScrollBarStyle(): number;
			public getRootView(): android.view.View;
			public jumpDrawablesToCurrentState(): void;
			public computeHorizontalScrollOffset(): number;
			public setTooltipText(param0: string): void;
			public getBackgroundTintMode(): android.graphics.PorterDuff.Mode;
			public computeScroll(): void;
			public onFilterTouchEventForSecurity(param0: android.view.MotionEvent): boolean;
			public isFocusedByDefault(): boolean;
			public getLocationOnScreen(param0: native.Array<number>): void;
			public setWillNotDraw(param0: boolean): void;
			public setScrollY(param0: number): void;
			public isFocused(): boolean;
			public setTouchDelegate(param0: android.view.TouchDelegate): void;
			public drawableHotspotChanged(param0: number, param1: number): void;
			public startDragAndDrop(param0: android.content.ClipData, param1: android.view.View.DragShadowBuilder, param2: any, param3: number): boolean;
			public announceForAccessibility(param0: string): void;
			public getTop(): number;
			public getScaleX(): number;
			public setZ(param0: number): void;
			public releasePointerCapture(): void;
			public postInvalidateDelayed(param0: number, param1: number, param2: number, param3: number, param4: number): void;
			public getScrollX(): number;
			public autofill(param0: android.view.autofill.AutofillValue): void;
			public getAlpha(): number;
			public getWidth(): number;
			public getOnFocusChangeListener(): android.view.View.OnFocusChangeListener;
			public dispatchPointerCaptureChanged(param0: boolean): void;
			public getFocusable(): number;
			public onMeasure(param0: number, param1: number): void;
			public restoreHierarchyState(param0: android.util.SparseArray<android.os.Parcelable>): void;
			public requestFocus(): boolean;
			public setOutlineAmbientShadowColor(param0: number): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public updateDragShadow(param0: android.view.View.DragShadowBuilder): void;
			public setTranslationX(param0: number): void;
			public getWindowVisibleDisplayFrame(param0: android.graphics.Rect): void;
			public setOnCreateContextMenuListener(param0: android.view.View.OnCreateContextMenuListener): void;
			public setTop(param0: number): void;
			public keyboardNavigationClusterSearch(param0: android.view.View, param1: number): android.view.View;
			public getPivotX(): number;
			public dispatchGenericMotionEvent(param0: android.view.MotionEvent): boolean;
			public setFitsSystemWindows(param0: boolean): void;
			public isHapticFeedbackEnabled(): boolean;
			public getWindowVisibility(): number;
			public sendAccessibilityEvent(param0: number): void;
			public onResolvePointerIcon(param0: android.view.MotionEvent, param1: number): any;
			public addExtraDataToAccessibilityNodeInfo(param0: android.view.accessibility.AccessibilityNodeInfo, param1: string, param2: android.os.Bundle): void;
			public getHeight(): number;
			public onCapturedPointerEvent(param0: android.view.MotionEvent): boolean;
			public dispatchRestoreInstanceState(param0: android.util.SparseArray<android.os.Parcelable>): void;
			public getMinimumHeight(): number;
			public onSetAlpha(param0: number): boolean;
			public getAccessibilityTraversalBefore(): number;
			public setMinimumHeight(param0: number): void;
			public setNextFocusUpId(param0: number): void;
			public setPressed(param0: boolean): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public setRotationY(param0: number): void;
			public offsetLeftAndRight(param0: number): void;
			public getRightFadingEdgeStrength(): number;
			public getLayoutDirection(): number;
			public setMinimumWidth(param0: number): void;
			/** @deprecated */
			public isDrawingCacheEnabled(): boolean;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public getTooltipText(): string;
			public setAutofillHints(param0: native.Array<string>): void;
			public getStateListAnimator(): android.animation.StateListAnimator;
			public setOverScrollMode(param0: number): void;
			public getTouchDelegate(): android.view.TouchDelegate;
			public getBottom(): number;
			public hasTransientState(): boolean;
			public getY(): number;
			public requestRectangleOnScreen(param0: android.graphics.Rect): boolean;
			public getVerticalScrollbarWidth(): number;
			public willNotDraw(): boolean;
			public getWindowToken(): android.os.IBinder;
			public clearAnimation(): void;
			public dispatchKeyShortcutEvent(param0: android.view.KeyEvent): boolean;
			public onCreateContextMenu(param0: android.view.ContextMenu): void;
			public isVerticalFadingEdgeEnabled(): boolean;
			public bringToFront(): void;
			public setNestedScrollingEnabled(param0: boolean): void;
			public isVisibleToUserForAutofill(param0: number): boolean;
			public dispatchDrawableHotspotChanged(param0: number, param1: number): void;
			public setAccessibilityLiveRegion(param0: number): void;
			public getDisplay(): android.view.Display;
			public isAttachedToWindow(): boolean;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public layout(param0: number, param1: number, param2: number, param3: number): void;
			public removeOnUnhandledKeyEventListener(param0: android.view.View.OnUnhandledKeyEventListener): void;
			public getWindowId(): android.view.WindowId;
			public isEnabled(): boolean;
			public isLaidOut(): boolean;
			public removeCallbacks(param0: java.lang.Runnable): boolean;
			public setBackgroundColor(param0: number): void;
			public getSolidColor(): number;
			public postOnAnimation(param0: java.lang.Runnable): void;
			public performHapticFeedback(param0: number): boolean;
			public setOnLongClickListener(param0: android.view.View.OnLongClickListener): void;
			public performLongClick(): boolean;
			public getRootWindowInsets(): android.view.WindowInsets;
			public dispatchNestedFling(param0: number, param1: number, param2: boolean): boolean;
			public setOnGenericMotionListener(param0: android.view.View.OnGenericMotionListener): void;
			public setKeepScreenOn(param0: boolean): void;
			public onFinishInflate(): void;
			public isSaveFromParentEnabled(): boolean;
			public restoreDefaultFocus(): boolean;
			public getRotationY(): number;
			public getAutofillId(): android.view.autofill.AutofillId;
			public setFocusable(param0: number): void;
			public getDrawingTime(): number;
			public onFocusChanged(param0: boolean, param1: number, param2: android.graphics.Rect): void;
			/** @deprecated */
			public invalidate(param0: android.graphics.Rect): void;
			public static getDefaultSize(param0: number, param1: number): number;
			public getScrollBarDefaultDelayBeforeFade(): number;
			public computeHorizontalScrollRange(): number;
			public getTag(): any;
			/** @deprecated */
			public destroyDrawingCache(): void;
			public dispatchWindowSystemUiVisiblityChanged(param0: number): void;
			public isPivotSet(): boolean;
			public isDuplicateParentStateEnabled(): boolean;
			public performHapticFeedback(param0: number, param1: number): boolean;
			public setHovered(param0: boolean): void;
			public isImportantForAccessibility(): boolean;
			public dispatchNestedPreScroll(param0: number, param1: number, param2: native.Array<number>, param3: native.Array<number>): boolean;
			public verifyDrawable(param0: android.graphics.drawable.Drawable): boolean;
			public setTransitionName(param0: string): void;
			public isSoundEffectsEnabled(): boolean;
			public setSelected(param0: boolean): void;
			public getSuggestedMinimumWidth(): number;
			public dispatchKeyEventPreIme(param0: android.view.KeyEvent): boolean;
			public setContextClickable(param0: boolean): void;
			public getLeftPaddingOffset(): number;
			public setAnimation(param0: android.view.animation.Animation): void;
			public setPivotY(param0: number): void;
			public isActivated(): boolean;
			public getVisibility(): number;
			public dispatchDragEvent(param0: android.view.DragEvent): boolean;
			public isPressed(): boolean;
			public setNextClusterForwardId(param0: number): void;
			public getMeasuredHeight(): number;
			/** @deprecated */
			public buildDrawingCache(): void;
			public onCreateDrawableState(param0: number): native.Array<number>;
			public onAnimationStart(): void;
			public requestUnbufferedDispatch(param0: android.view.MotionEvent): void;
			public getTranslationY(): number;
			public getOutlineSpotShadowColor(): number;
			public isSaveEnabled(): boolean;
			public isPaddingOffsetRequired(): boolean;
			public getBottomPaddingOffset(): number;
			public cancelLongPress(): void;
			public getWindowAttachCount(): number;
			public setOnKeyListener(param0: android.view.View.OnKeyListener): void;
			public onProvideVirtualStructure(param0: any): void;
			public isOpaque(): boolean;
			public getScaleY(): number;
			public setPaddingRelative(param0: number, param1: number, param2: number, param3: number): void;
			public isTextAlignmentResolved(): boolean;
			public awakenScrollBars(param0: number): boolean;
			public dispatchStartTemporaryDetach(): void;
			public dispatchDisplayHint(param0: number): void;
			public getClipToOutline(): boolean;
			public toString(): string;
			public requestApplyInsets(): void;
			public startActionMode(param0: android.view.ActionMode.Callback): android.view.ActionMode;
			public onWindowSystemUiVisibilityChanged(param0: number): void;
			public dispatchSaveInstanceState(param0: android.util.SparseArray<android.os.Parcelable>): void;
			public getFocusables(param0: number): java.util.ArrayList<android.view.View>;
			public getBackground(): android.graphics.drawable.Drawable;
			public onCreateInputConnection(param0: android.view.inputmethod.EditorInfo): android.view.inputmethod.InputConnection;
			/** @deprecated */
			public invalidate(param0: number, param1: number, param2: number, param3: number): void;
			public getHorizontalScrollbarHeight(): number;
			public requireViewById(param0: number): android.view.View;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public postInvalidateDelayed(param0: number): void;
			public setScreenReaderFocusable(param0: boolean): void;
			public getBottomFadingEdgeStrength(): number;
			public setRotationX(param0: number): void;
			public isHovered(): boolean;
			public setRight(param0: number): void;
			public setAccessibilityHeading(param0: boolean): void;
			public postOnAnimationDelayed(param0: java.lang.Runnable, param1: number): void;
			public getForeground(): android.graphics.drawable.Drawable;
			public showContextMenu(): boolean;
			public hasOnClickListeners(): boolean;
			public isInEditMode(): boolean;
			public getRotationX(): number;
			public getPaddingStart(): number;
			public canResolveTextAlignment(): boolean;
			public getParent(): android.view.ViewParent;
			public setStateListAnimator(param0: android.animation.StateListAnimator): void;
			public startNestedScroll(param0: number): boolean;
			public setScrollIndicators(param0: number): void;
			public onProvideStructure(param0: any): void;
			public setAccessibilityTraversalAfter(param0: number): void;
			public dispatchDraw(param0: android.graphics.Canvas): void;
			public getLeftFadingEdgeStrength(): number;
			public isScrollContainer(): boolean;
			public setTextAlignment(param0: number): void;
			public isClickable(): boolean;
			public dispatchWindowFocusChanged(param0: boolean): void;
			public getKeepScreenOn(): boolean;
			public setScrollBarSize(param0: number): void;
			public getMatrix(): android.graphics.Matrix;
			public static mergeDrawableStates(param0: native.Array<number>, param1: native.Array<number>): native.Array<number>;
			public setTranslationY(param0: number): void;
			public focusSearch(param0: number): android.view.View;
			public getImportantForAccessibility(): number;
			public getMeasuredWidth(): number;
			public setTextDirection(param0: number): void;
			public getResources(): android.content.res.Resources;
			public getDefaultFocusHighlightEnabled(): boolean;
			public isLayoutRequested(): boolean;
			public setFocusedByDefault(param0: boolean): void;
			public requestFocus(param0: number, param1: android.graphics.Rect): boolean;
			public hasNestedScrollingParent(): boolean;
			public forceHasOverlappingRendering(param0: boolean): void;
			public getHandler(): android.os.Handler;
			public post(param0: java.lang.Runnable): boolean;
			public getMinimumWidth(): number;
			public dispatchGenericFocusedEvent(param0: android.view.MotionEvent): boolean;
			public removeOnAttachStateChangeListener(param0: android.view.View.OnAttachStateChangeListener): void;
			public saveHierarchyState(param0: android.util.SparseArray<android.os.Parcelable>): void;
			public dispatchSetSelected(param0: boolean): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public cancelDragAndDrop(): void;
			public getTouchables(): java.util.ArrayList<android.view.View>;
			public setOnDragListener(param0: android.view.View.OnDragListener): void;
			public setHasTransientState(param0: boolean): void;
			public findViewsWithText(param0: java.util.ArrayList<android.view.View>, param1: string, param2: number): void;
			public setOnContextClickListener(param0: android.view.View.OnContextClickListener): void;
			public setAlpha(param0: number): void;
			/** @deprecated */
			public buildDrawingCache(param0: boolean): void;
			public getClipBounds(): android.graphics.Rect;
			public dispatchFinishTemporaryDetach(): void;
			public getOverScrollMode(): number;
			public getMeasuredWidthAndState(): number;
			public addFocusables(param0: java.util.ArrayList<android.view.View>, param1: number, param2: number): void;
			public onProvideAutofillVirtualStructure(param0: any, param1: number): void;
			public onRtlPropertiesChanged(param0: number): void;
			public addKeyboardNavigationClusters(param0: java.util.Collection<android.view.View>, param1: number): void;
			public getTopPaddingOffset(): number;
			public isContextClickable(): boolean;
			public isHorizontalScrollBarEnabled(): boolean;
			public onLayout(param0: boolean, param1: number, param2: number, param3: number, param4: number): void;
			public dispatchNestedPreFling(param0: number, param1: number): boolean;
			public setNextFocusForwardId(param0: number): void;
			public getGlobalVisibleRect(param0: android.graphics.Rect, param1: android.graphics.Point): boolean;
			public createAccessibilityNodeInfo(): android.view.accessibility.AccessibilityNodeInfo;
			public getDrawableState(): native.Array<number>;
			public isImportantForAutofill(): boolean;
			/** @deprecated */
			public setDrawingCacheEnabled(param0: boolean): void;
			public getLayoutParams(): android.view.ViewGroup.LayoutParams;
			public getWindowSystemUiVisibility(): number;
			public setOnClickListener(param0: android.view.View.OnClickListener): void;
			public dispatchSetPressed(param0: boolean): void;
			public isAccessibilityFocused(): boolean;
			public isInLayout(): boolean;
			public onStartTemporaryDetach(): void;
			public getFocusedRect(param0: android.graphics.Rect): void;
			public getNextFocusForwardId(): number;
			public setRotation(param0: number): void;
			public getContextMenuInfo(): android.view.ContextMenu.ContextMenuInfo;
			public awakenScrollBars(param0: number, param1: boolean): boolean;
			/** @deprecated */
			public setDrawingCacheQuality(param0: number): void;
			public getScrollBarSize(): number;
			public setOutlineSpotShadowColor(param0: number): void;
			public cancelPendingInputEvents(): void;
			public dispatchCapturedPointerEvent(param0: android.view.MotionEvent): boolean;
			public getPivotY(): number;
			public setElevation(param0: number): void;
			public getTranslationX(): number;
			public setForegroundGravity(param0: number): void;
			public isPaddingRelative(): boolean;
			public setLongClickable(param0: boolean): void;
			public computeVerticalScrollOffset(): number;
			public getNextFocusDownId(): number;
			public getGlobalVisibleRect(param0: android.graphics.Rect): boolean;
			public setX(param0: number): void;
			public onDraw(param0: android.graphics.Canvas): void;
			public startActionMode(param0: android.view.ActionMode.Callback, param1: number): android.view.ActionMode;
			public onSaveInstanceState(): android.os.Parcelable;
			public callOnClick(): boolean;
			public getImportantForAutofill(): number;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public canScrollHorizontally(param0: number): boolean;
			public hasOverlappingRendering(): boolean;
			public onSizeChanged(param0: number, param1: number, param2: number, param3: number): void;
			public setNextFocusDownId(param0: number): void;
			public computeSystemWindowInsets(param0: android.view.WindowInsets, param1: android.graphics.Rect): android.view.WindowInsets;
			public hasExplicitFocusable(): boolean;
			/** @deprecated */
			public getDrawingCache(): android.graphics.Bitmap;
			public getPaddingBottom(): number;
			public setScaleX(param0: number): void;
			public invalidate(): void;
			public getPaddingLeft(): number;
			public dispatchWindowVisibilityChanged(param0: number): void;
			public clearFocus(): void;
			public getForegroundTintList(): android.content.res.ColorStateList;
			public getBaseline(): number;
			public setPivotX(param0: number): void;
			public hasPointerCapture(): boolean;
			public dispatchGenericPointerEvent(param0: android.view.MotionEvent): boolean;
			public postInvalidate(param0: number, param1: number, param2: number, param3: number): void;
			public setDefaultFocusHighlightEnabled(param0: boolean): void;
			public dispatchSystemUiVisibilityChanged(param0: number): void;
			public isTextDirectionResolved(): boolean;
			public setBackgroundTintList(param0: android.content.res.ColorStateList): void;
			/** @deprecated */
			public startDrag(param0: android.content.ClipData, param1: android.view.View.DragShadowBuilder, param2: any, param3: number): boolean;
			public postInvalidateOnAnimation(): void;
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public onAttachedToWindow(): void;
			public dispatchUnhandledMove(param0: android.view.View, param1: number): boolean;
			public addFocusables(param0: java.util.ArrayList<android.view.View>, param1: number): void;
			public getOutlineAmbientShadowColor(): number;
			public getLocationInWindow(param0: native.Array<number>): void;
		}
		export module View {
			export class androidviewViewAccessibilityDelegate extends java.lang.Object {
				public static class: java.lang.Class<android.view.View.AccessibilityDelegate>;
				public sendAccessibilityEvent(param0: android.view.View, param1: number): void;
				public getAccessibilityNodeProvider(param0: android.view.View): android.view.accessibility.AccessibilityNodeProvider;
				public dispatchPopulateAccessibilityEvent(param0: android.view.View, param1: android.view.accessibility.AccessibilityEvent): boolean;
				public onInitializeAccessibilityEvent(param0: android.view.View, param1: android.view.accessibility.AccessibilityEvent): void;
				public onRequestSendAccessibilityEvent(param0: android.view.ViewGroup, param1: android.view.View, param2: android.view.accessibility.AccessibilityEvent): boolean;
				public performAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
				public onInitializeAccessibilityNodeInfo(param0: android.view.View, param1: android.view.accessibility.AccessibilityNodeInfo): void;
				public addExtraDataToAccessibilityNodeInfo(param0: android.view.View, param1: android.view.accessibility.AccessibilityNodeInfo, param2: string, param3: android.os.Bundle): void;
				public constructor();
				public sendAccessibilityEventUnchecked(param0: android.view.View, param1: android.view.accessibility.AccessibilityEvent): void;
				public onPopulateAccessibilityEvent(param0: android.view.View, param1: android.view.accessibility.AccessibilityEvent): void;
			}
			export type AccessibilityDelegate = androidviewViewAccessibilityDelegate
			export class BaseSavedState extends android.view.AbsSavedState {
				public static class: java.lang.Class<android.view.View.BaseSavedState>;
				public static CREATOR: android.os.Parcelable.Creator<android.view.View.BaseSavedState>;
				public constructor(param0: android.os.Parcel, param1: java.lang.ClassLoader);
				public constructor(param0: android.os.Parcel);
				public constructor(param0: android.os.Parcelable);
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
			}
			export class DragShadowBuilder extends java.lang.Object {
				public static class: java.lang.Class<android.view.View.DragShadowBuilder>;
				public constructor(param0: android.view.View);
				public onProvideShadowMetrics(param0: android.graphics.Point, param1: android.graphics.Point): void;
				public onDrawShadow(param0: android.graphics.Canvas): void;
				public getView(): android.view.View;
				public constructor();
			}
			export class MeasureSpec extends java.lang.Object {
				public static class: java.lang.Class<android.view.View.MeasureSpec>;
				public static AT_MOST: number;
				public static EXACTLY: number;
				public static UNSPECIFIED: number;
				public static getSize(param0: number): number;
				public static toString(param0: number): string;
				public static makeMeasureSpec(param0: number, param1: number): number;
				public toString(): string;
				public constructor();
				public static getMode(param0: number): number;
			}
			export class OnApplyWindowInsetsListener extends java.lang.Object {
				public static class: java.lang.Class<android.view.View.OnApplyWindowInsetsListener>;
				/**
				 * Constructs a new instance of the android.view.View$OnApplyWindowInsetsListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onApplyWindowInsets(param0: android.view.View, param1: android.view.WindowInsets): android.view.WindowInsets;
				});
				public constructor();
				public onApplyWindowInsets(param0: android.view.View, param1: android.view.WindowInsets): android.view.WindowInsets;
			}
			export class OnAttachStateChangeListener extends java.lang.Object {
				public static class: java.lang.Class<android.view.View.OnAttachStateChangeListener>;
				/**
				 * Constructs a new instance of the android.view.View$OnAttachStateChangeListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onViewAttachedToWindow(param0: android.view.View): void;
					onViewDetachedFromWindow(param0: android.view.View): void;
				});
				public constructor();
				public onViewDetachedFromWindow(param0: android.view.View): void;
				public onViewAttachedToWindow(param0: android.view.View): void;
			}
			export class OnCapturedPointerListener extends java.lang.Object {
				public static class: java.lang.Class<android.view.View.OnCapturedPointerListener>;
				/**
				 * Constructs a new instance of the android.view.View$OnCapturedPointerListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onCapturedPointer(param0: android.view.View, param1: android.view.MotionEvent): boolean;
				});
				public constructor();
				public onCapturedPointer(param0: android.view.View, param1: android.view.MotionEvent): boolean;
			}
			export class OnClickListener extends java.lang.Object {
				public static class: java.lang.Class<android.view.View.OnClickListener>;
				/**
				 * Constructs a new instance of the android.view.View$OnClickListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onClick(param0: android.view.View): void;
				});
				public constructor();
				public onClick(param0: android.view.View): void;
			}
			export class OnContextClickListener extends java.lang.Object {
				public static class: java.lang.Class<android.view.View.OnContextClickListener>;
				/**
				 * Constructs a new instance of the android.view.View$OnContextClickListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onContextClick(param0: android.view.View): boolean;
				});
				public constructor();
				public onContextClick(param0: android.view.View): boolean;
			}
			export class OnCreateContextMenuListener extends java.lang.Object {
				public static class: java.lang.Class<android.view.View.OnCreateContextMenuListener>;
				/**
				 * Constructs a new instance of the android.view.View$OnCreateContextMenuListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onCreateContextMenu(param0: android.view.ContextMenu, param1: android.view.View, param2: android.view.ContextMenu.ContextMenuInfo): void;
				});
				public constructor();
				public onCreateContextMenu(param0: android.view.ContextMenu, param1: android.view.View, param2: android.view.ContextMenu.ContextMenuInfo): void;
			}
			export class OnDragListener extends java.lang.Object {
				public static class: java.lang.Class<android.view.View.OnDragListener>;
				/**
				 * Constructs a new instance of the android.view.View$OnDragListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onDrag(param0: android.view.View, param1: android.view.DragEvent): boolean;
				});
				public constructor();
				public onDrag(param0: android.view.View, param1: android.view.DragEvent): boolean;
			}
			export class OnFocusChangeListener extends java.lang.Object {
				public static class: java.lang.Class<android.view.View.OnFocusChangeListener>;
				/**
				 * Constructs a new instance of the android.view.View$OnFocusChangeListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onFocusChange(param0: android.view.View, param1: boolean): void;
				});
				public constructor();
				public onFocusChange(param0: android.view.View, param1: boolean): void;
			}
			export class OnGenericMotionListener extends java.lang.Object {
				public static class: java.lang.Class<android.view.View.OnGenericMotionListener>;
				/**
				 * Constructs a new instance of the android.view.View$OnGenericMotionListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onGenericMotion(param0: android.view.View, param1: android.view.MotionEvent): boolean;
				});
				public constructor();
				public onGenericMotion(param0: android.view.View, param1: android.view.MotionEvent): boolean;
			}
			export class OnHoverListener extends java.lang.Object {
				public static class: java.lang.Class<android.view.View.OnHoverListener>;
				/**
				 * Constructs a new instance of the android.view.View$OnHoverListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onHover(param0: android.view.View, param1: android.view.MotionEvent): boolean;
				});
				public constructor();
				public onHover(param0: android.view.View, param1: android.view.MotionEvent): boolean;
			}
			export class OnKeyListener extends java.lang.Object {
				public static class: java.lang.Class<android.view.View.OnKeyListener>;
				/**
				 * Constructs a new instance of the android.view.View$OnKeyListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onKey(param0: android.view.View, param1: number, param2: android.view.KeyEvent): boolean;
				});
				public constructor();
				public onKey(param0: android.view.View, param1: number, param2: android.view.KeyEvent): boolean;
			}
			export class OnLayoutChangeListener extends java.lang.Object {
				public static class: java.lang.Class<android.view.View.OnLayoutChangeListener>;
				/**
				 * Constructs a new instance of the android.view.View$OnLayoutChangeListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onLayoutChange(param0: android.view.View, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number, param8: number): void;
				});
				public constructor();
				public onLayoutChange(param0: android.view.View, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number, param8: number): void;
			}
			export class OnLongClickListener extends java.lang.Object {
				public static class: java.lang.Class<android.view.View.OnLongClickListener>;
				/**
				 * Constructs a new instance of the android.view.View$OnLongClickListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onLongClick(param0: android.view.View): boolean;
				});
				public constructor();
				public onLongClick(param0: android.view.View): boolean;
			}
			export class OnScrollChangeListener extends java.lang.Object {
				public static class: java.lang.Class<android.view.View.OnScrollChangeListener>;
				/**
				 * Constructs a new instance of the android.view.View$OnScrollChangeListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onScrollChange(param0: android.view.View, param1: number, param2: number, param3: number, param4: number): void;
				});
				public constructor();
				public onScrollChange(param0: android.view.View, param1: number, param2: number, param3: number, param4: number): void;
			}
			export class OnSystemUiVisibilityChangeListener extends java.lang.Object {
				public static class: java.lang.Class<android.view.View.OnSystemUiVisibilityChangeListener>;
				/**
				 * Constructs a new instance of the android.view.View$OnSystemUiVisibilityChangeListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onSystemUiVisibilityChange(param0: number): void;
				});
				public constructor();
				public onSystemUiVisibilityChange(param0: number): void;
			}
			export class OnTouchListener extends java.lang.Object {
				public static class: java.lang.Class<android.view.View.OnTouchListener>;
				/**
				 * Constructs a new instance of the android.view.View$OnTouchListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onTouch(param0: android.view.View, param1: android.view.MotionEvent): boolean;
				});
				public constructor();
				public onTouch(param0: android.view.View, param1: android.view.MotionEvent): boolean;
			}
			export class OnUnhandledKeyEventListener extends java.lang.Object {
				public static class: java.lang.Class<android.view.View.OnUnhandledKeyEventListener>;
				/**
				 * Constructs a new instance of the android.view.View$OnUnhandledKeyEventListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onUnhandledKeyEvent(param0: android.view.View, param1: android.view.KeyEvent): boolean;
				});
				public constructor();
				public onUnhandledKeyEvent(param0: android.view.View, param1: android.view.KeyEvent): boolean;
			}
		}
	}
}

declare module android {
	export module view {
		export class ViewAnimationUtils extends java.lang.Object {
			public static class: java.lang.Class<android.view.ViewAnimationUtils>;
			public static createCircularReveal(param0: android.view.View, param1: number, param2: number, param3: number, param4: number): android.animation.Animator;
		}
	}
}

declare module android {
	export module view {
		export class ViewConfiguration extends java.lang.Object {
			public static class: java.lang.Class<android.view.ViewConfiguration>;
			public getScaledWindowTouchSlop(): number;
			public static getScrollDefaultDelay(): number;
			/** @deprecated */
			public static getMaximumFlingVelocity(): number;
			/** @deprecated */
			public static getFadingEdgeLength(): number;
			public getScaledMinimumFlingVelocity(): number;
			public getScaledOverflingDistance(): number;
			/** @deprecated */
			public static getEdgeSlop(): number;
			public getScaledPagingTouchSlop(): number;
			public static getKeyRepeatTimeout(): number;
			public static getDoubleTapTimeout(): number;
			public getScaledOverscrollDistance(): number;
			public getScaledHorizontalScrollFactor(): number;
			/** @deprecated */
			public static getMaximumDrawingCacheSize(): number;
			public static getDefaultActionModeHideDuration(): number;
			public getScaledFadingEdgeLength(): number;
			/** @deprecated */
			public static getWindowTouchSlop(): number;
			/** @deprecated */
			public constructor();
			public getScaledVerticalScrollFactor(): number;
			public getScaledTouchSlop(): number;
			public static getKeyRepeatDelay(): number;
			public static getJumpTapTimeout(): number;
			public static getPressedStateDuration(): number;
			public getScaledMaximumDrawingCacheSize(): number;
			public hasPermanentMenuKey(): boolean;
			public static getScrollFriction(): number;
			public getScaledMaximumFlingVelocity(): number;
			/** @deprecated */
			public static getScrollBarSize(): number;
			public getScaledEdgeSlop(): number;
			/** @deprecated */
			public static getTouchSlop(): number;
			public getScaledDoubleTapSlop(): number;
			public static getTapTimeout(): number;
			/** @deprecated */
			public static getGlobalActionKeyTimeout(): number;
			public getScaledHoverSlop(): number;
			public static get(param0: android.content.Context): android.view.ViewConfiguration;
			public getScaledScrollBarSize(): number;
			/** @deprecated */
			public static getMinimumFlingVelocity(): number;
			public static getScrollBarFadeDuration(): number;
			public static getZoomControlsTimeout(): number;
			public static getLongPressTimeout(): number;
			public shouldShowMenuShortcutsWhenKeyboardPresent(): boolean;
		}
	}
}

declare module android {
	export module view {
		export class ViewDebug extends java.lang.Object {
			public static class: java.lang.Class<android.view.ViewDebug>;
			public static TRACE_HIERARCHY: boolean;
			public static TRACE_RECYCLER: boolean;
			public static dumpCapturedView(param0: string, param1: any): void;
			/** @deprecated */
			public static startHierarchyTracing(param0: string, param1: android.view.View): void;
			/** @deprecated */
			public static trace(param0: android.view.View, param1: android.view.ViewDebug.RecyclerTraceType, param2: native.Array<number>): void;
			/** @deprecated */
			public static startRecyclerTracing(param0: string, param1: android.view.View): void;
			/** @deprecated */
			public static stopHierarchyTracing(): void;
			/** @deprecated */
			public static trace(param0: android.view.View, param1: android.view.ViewDebug.HierarchyTraceType): void;
			public constructor();
			/** @deprecated */
			public static stopRecyclerTracing(): void;
		}
		export module ViewDebug {
			export class CapturedViewProperty extends java.lang.Object implements java.lang.annotation.Annotation {
				public static class: java.lang.Class<android.view.ViewDebug.CapturedViewProperty>;
				/**
				 * Constructs a new instance of the android.view.ViewDebug$CapturedViewProperty interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					retrieveReturn(): boolean;
					equals(param0: any): boolean;
					hashCode(): number;
					toString(): string;
					annotationType(): java.lang.Class<any>;
				});
				public constructor();
				public hashCode(): number;
				public equals(param0: any): boolean;
				public annotationType(): java.lang.Class<any>;
				public retrieveReturn(): boolean;
				public toString(): string;
			}
			export class ExportedProperty extends java.lang.Object implements java.lang.annotation.Annotation {
				public static class: java.lang.Class<android.view.ViewDebug.ExportedProperty>;
				/**
				 * Constructs a new instance of the android.view.ViewDebug$ExportedProperty interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					resolveId(): boolean;
					mapping(): native.Array<android.view.ViewDebug.IntToString>;
					indexMapping(): native.Array<android.view.ViewDebug.IntToString>;
					flagMapping(): native.Array<android.view.ViewDebug.FlagToString>;
					deepExport(): boolean;
					prefix(): string;
					category(): string;
					formatToHexString(): boolean;
					hasAdjacentMapping(): boolean;
					equals(param0: any): boolean;
					hashCode(): number;
					toString(): string;
					annotationType(): java.lang.Class<any>;
				});
				public constructor();
				public hasAdjacentMapping(): boolean;
				public resolveId(): boolean;
				public indexMapping(): native.Array<android.view.ViewDebug.IntToString>;
				public category(): string;
				public flagMapping(): native.Array<android.view.ViewDebug.FlagToString>;
				public prefix(): string;
				public toString(): string;
				public mapping(): native.Array<android.view.ViewDebug.IntToString>;
				public deepExport(): boolean;
				public hashCode(): number;
				public formatToHexString(): boolean;
				public equals(param0: any): boolean;
				public annotationType(): java.lang.Class<any>;
			}
			export class FlagToString extends java.lang.Object implements java.lang.annotation.Annotation {
				public static class: java.lang.Class<android.view.ViewDebug.FlagToString>;
				/**
				 * Constructs a new instance of the android.view.ViewDebug$FlagToString interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					mask(): number;
					equals(): number;
					name(): string;
					outputIf(): boolean;
					equals(param0: any): boolean;
					hashCode(): number;
					toString(): string;
					annotationType(): java.lang.Class<any>;
				});
				public constructor();
				public outputIf(): boolean;
				public name(): string;
				public equals(): number;
				public mask(): number;
				public hashCode(): number;
				public equals(param0: any): boolean;
				public annotationType(): java.lang.Class<any>;
				public toString(): string;
			}
			export class HierarchyTraceType {
				public static class: java.lang.Class<android.view.ViewDebug.HierarchyTraceType>;
				public static INVALIDATE: android.view.ViewDebug.HierarchyTraceType;
				public static INVALIDATE_CHILD: android.view.ViewDebug.HierarchyTraceType;
				public static INVALIDATE_CHILD_IN_PARENT: android.view.ViewDebug.HierarchyTraceType;
				public static REQUEST_LAYOUT: android.view.ViewDebug.HierarchyTraceType;
				public static ON_LAYOUT: android.view.ViewDebug.HierarchyTraceType;
				public static ON_MEASURE: android.view.ViewDebug.HierarchyTraceType;
				public static DRAW: android.view.ViewDebug.HierarchyTraceType;
				public static BUILD_CACHE: android.view.ViewDebug.HierarchyTraceType;
				public static valueOf(param0: string): android.view.ViewDebug.HierarchyTraceType;
				public static values(): native.Array<android.view.ViewDebug.HierarchyTraceType>;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			}
			export class IntToString extends java.lang.Object implements java.lang.annotation.Annotation {
				public static class: java.lang.Class<android.view.ViewDebug.IntToString>;
				/**
				 * Constructs a new instance of the android.view.ViewDebug$IntToString interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					from(): number;
					to(): string;
					equals(param0: any): boolean;
					hashCode(): number;
					toString(): string;
					annotationType(): java.lang.Class<any>;
				});
				public constructor();
				public hashCode(): number;
				public equals(param0: any): boolean;
				public to(): string;
				public annotationType(): java.lang.Class<any>;
				public from(): number;
				public toString(): string;
			}
			export class RecyclerTraceType {
				public static class: java.lang.Class<android.view.ViewDebug.RecyclerTraceType>;
				public static NEW_VIEW: android.view.ViewDebug.RecyclerTraceType;
				public static BIND_VIEW: android.view.ViewDebug.RecyclerTraceType;
				public static RECYCLE_FROM_ACTIVE_HEAP: android.view.ViewDebug.RecyclerTraceType;
				public static RECYCLE_FROM_SCRAP_HEAP: android.view.ViewDebug.RecyclerTraceType;
				public static MOVE_TO_SCRAP_HEAP: android.view.ViewDebug.RecyclerTraceType;
				public static MOVE_FROM_ACTIVE_TO_SCRAP_HEAP: android.view.ViewDebug.RecyclerTraceType;
				public static values(): native.Array<android.view.ViewDebug.RecyclerTraceType>;
				public static valueOf(param0: string): android.view.ViewDebug.RecyclerTraceType;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			}
		}
	}
}

declare module android {
	export module view {
		export abstract class ViewGroup extends android.view.View implements android.view.ViewParent, android.view.ViewManager {
			public static class: java.lang.Class<android.view.ViewGroup>;
			public static CLIP_TO_PADDING_MASK: number;
			public static FOCUS_AFTER_DESCENDANTS: number;
			public static FOCUS_BEFORE_DESCENDANTS: number;
			public static FOCUS_BLOCK_DESCENDANTS: number;
			public static LAYOUT_MODE_CLIP_BOUNDS: number;
			public static LAYOUT_MODE_OPTICAL_BOUNDS: number;
			public static PERSISTENT_ALL_CACHES: number;
			public static PERSISTENT_ANIMATION_CACHE: number;
			public static PERSISTENT_NO_CACHE: number;
			public static PERSISTENT_SCROLLING_CACHE: number;
			public getClipChildren(): boolean;
			/** @deprecated */
			public isChildrenDrawnWithCacheEnabled(): boolean;
			public onStopNestedScroll(param0: android.view.View): void;
			public dispatchPointerCaptureChanged(param0: boolean): void;
			public requestFocus(): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public childHasTransientStateChanged(param0: android.view.View, param1: boolean): void;
			public onNestedScrollAccepted(param0: android.view.View, param1: android.view.View, param2: number): void;
			public showContextMenuForChild(param0: android.view.View): boolean;
			public keyboardNavigationClusterSearch(param0: android.view.View, param1: number): android.view.View;
			public getFocusedChild(): android.view.View;
			public dispatchThawSelfOnly(param0: android.util.SparseArray<android.os.Parcelable>): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public onDescendantInvalidated(param0: android.view.View, param1: android.view.View): void;
			public setLayoutMode(param0: number): void;
			public startViewTransition(param0: android.view.View): void;
			public sendAccessibilityEvent(param0: number): void;
			public onResolvePointerIcon(param0: android.view.MotionEvent, param1: number): any;
			public removeViewsInLayout(param0: number, param1: number): void;
			public dispatchRestoreInstanceState(param0: android.util.SparseArray<android.os.Parcelable>): void;
			public onStartNestedScroll(param0: android.view.View, param1: android.view.View, param2: number): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			/** @deprecated */
			public getPersistentDrawingCache(): number;
			public getLayoutDirection(): number;
			public requestChildFocus(param0: android.view.View, param1: android.view.View): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public getOverlay(): android.view.ViewOverlay;
			public attachViewToParent(param0: android.view.View, param1: number, param2: android.view.ViewGroup.LayoutParams): void;
			public getAccessibilityClassName(): string;
			public isChildrenDrawingOrderEnabled(): boolean;
			public hasTransientState(): boolean;
			public setAddStatesFromChildren(param0: boolean): void;
			public getOverlay(): android.view.ViewGroupOverlay;
			public dispatchProvideStructure(param0: any): void;
			public removeViews(param0: number, param1: number): void;
			public removeAllViews(): void;
			public scheduleLayoutAnimation(): void;
			public debug(param0: number): void;
			public addTouchables(param0: java.util.ArrayList<android.view.View>): void;
			public dispatchKeyShortcutEvent(param0: android.view.KeyEvent): boolean;
			public requestLayout(): void;
			public canResolveTextDirection(): boolean;
			public dispatchDrawableHotspotChanged(param0: number, param1: number): void;
			public layout(param0: number, param1: number, param2: number, param3: number): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public offsetRectIntoDescendantCoords(param0: android.view.View, param1: android.graphics.Rect): void;
			public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public addView(param0: android.view.View, param1: number, param2: android.view.ViewGroup.LayoutParams): void;
			public requestFitSystemWindows(): void;
			public offsetDescendantRectToMyCoords(param0: android.view.View, param1: android.graphics.Rect): void;
			public drawableStateChanged(): void;
			public dispatchConfigurationChanged(param0: android.content.res.Configuration): void;
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public restoreDefaultFocus(): boolean;
			public setLayoutAnimationListener(param0: android.view.animation.Animation.AnimationListener): void;
			public canAnimate(): boolean;
			public setLayoutTransition(param0: android.animation.LayoutTransition): void;
			public onViewRemoved(param0: android.view.View): void;
			/** @deprecated */
			public isAlwaysDrawnWithCacheEnabled(): boolean;
			public dispatchWindowSystemUiVisiblityChanged(param0: number): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public dispatchApplyWindowInsets(param0: android.view.WindowInsets): android.view.WindowInsets;
			public onRequestFocusInDescendants(param0: number, param1: android.graphics.Rect): boolean;
			public setLayoutAnimation(param0: android.view.animation.LayoutAnimationController): void;
			public detachViewFromParent(param0: number): void;
			/** @deprecated */
			public setPersistentDrawingCache(param0: number): void;
			/** @deprecated */
			public invalidateChildInParent(param0: native.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			/** @deprecated */
			public setChildrenDrawingCacheEnabled(param0: boolean): void;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback): android.view.ActionMode;
			public dispatchKeyEventPreIme(param0: android.view.KeyEvent): boolean;
			public getTextAlignment(): number;
			public generateDefaultLayoutParams(): android.view.ViewGroup.LayoutParams;
			public onNestedScroll(param0: android.view.View, param1: number, param2: number, param3: number, param4: number): void;
			public setTouchscreenBlocksFocus(param0: boolean): void;
			public onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public dispatchDragEvent(param0: android.view.DragEvent): boolean;
			/** @deprecated */
			public setAnimationCacheEnabled(param0: boolean): void;
			public getLayoutTransition(): android.animation.LayoutTransition;
			public removeAllViewsInLayout(): void;
			public onCreateDrawableState(param0: number): native.Array<number>;
			public addStatesFromChildren(): boolean;
			public removeViewAt(param0: number): void;
			/** @deprecated */
			public setAlwaysDrawnWithCacheEnabled(param0: boolean): void;
			public getLayoutAnimationListener(): android.view.animation.Animation.AnimationListener;
			public setOnHierarchyChangeListener(param0: android.view.ViewGroup.OnHierarchyChangeListener): void;
			public getChildAt(param0: number): android.view.View;
			public isTextAlignmentResolved(): boolean;
			public dispatchDisplayHint(param0: number): void;
			public dispatchStartTemporaryDetach(): void;
			public addChildrenForAccessibility(param0: java.util.ArrayList<android.view.View>): void;
			public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public getTextDirection(): number;
			public onRequestSendAccessibilityEvent(param0: android.view.View, param1: android.view.accessibility.AccessibilityEvent): boolean;
			public setTransitionGroup(param0: boolean): void;
			public dispatchTrackballEvent(param0: android.view.MotionEvent): boolean;
			public dispatchSaveInstanceState(param0: android.util.SparseArray<android.os.Parcelable>): void;
			public dispatchKeyEvent(param0: android.view.KeyEvent): boolean;
			public getLayoutMode(): number;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public dispatchSetActivated(param0: boolean): void;
			public addView(param0: android.view.View, param1: number): void;
			public getNestedScrollAxes(): number;
			public addViewInLayout(param0: android.view.View, param1: number, param2: android.view.ViewGroup.LayoutParams): boolean;
			public dispatchHoverEvent(param0: android.view.MotionEvent): boolean;
			public generateLayoutParams(param0: android.util.AttributeSet): android.view.ViewGroup.LayoutParams;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public addView(param0: android.view.View, param1: number, param2: number): void;
			public requestSendAccessibilityEvent(param0: android.view.View, param1: android.view.accessibility.AccessibilityEvent): boolean;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public getClipToPadding(): boolean;
			public bringChildToFront(param0: android.view.View): void;
			public isTransitionGroup(): boolean;
			public onDetachedFromWindow(): void;
			/** @deprecated */
			public invalidateChild(param0: android.view.View, param1: android.graphics.Rect): void;
			public dispatchVisibilityChanged(param0: android.view.View, param1: number): void;
			public requestTransparentRegion(param0: android.view.View): void;
			public canResolveTextAlignment(): boolean;
			public drawChild(param0: android.graphics.Canvas, param1: android.view.View, param2: number): boolean;
			public getParent(): android.view.ViewParent;
			public attachLayoutAnimationParameters(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams, param2: number, param3: number): void;
			public dispatchDraw(param0: android.graphics.Canvas): void;
			public dispatchWindowFocusChanged(param0: boolean): void;
			public hasFocus(): boolean;
			public focusSearch(param0: number): android.view.View;
			public recomputeViewAttributes(param0: android.view.View): void;
			public onInterceptTouchEvent(param0: android.view.MotionEvent): boolean;
			public isLayoutRequested(): boolean;
			public cleanupLayoutState(param0: android.view.View): void;
			public requestFocus(param0: number, param1: android.graphics.Rect): boolean;
			public detachViewFromParent(param0: android.view.View): void;
			public setClipChildren(param0: boolean): void;
			public addViewInLayout(param0: android.view.View, param1: number, param2: android.view.ViewGroup.LayoutParams, param3: boolean): boolean;
			public getChildStaticTransformation(param0: android.view.View, param1: android.view.animation.Transformation): boolean;
			public dispatchGenericFocusedEvent(param0: android.view.MotionEvent): boolean;
			public measureChildren(param0: number, param1: number): void;
			public clearDisappearingChildren(): void;
			public startLayoutAnimation(): void;
			public dispatchProvideAutofillStructure(param0: any, param1: number): void;
			public getDescendantFocusability(): number;
			public dispatchSetSelected(param0: boolean): void;
			public getChildDrawingOrder(param0: number, param1: number): number;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public findFocus(): android.view.View;
			public getTouchscreenBlocksFocus(): boolean;
			public findViewsWithText(param0: java.util.ArrayList<android.view.View>, param1: string, param2: number): void;
			public addView(param0: android.view.View): void;
			public childDrawableStateChanged(param0: android.view.View): void;
			public isMotionEventSplittingEnabled(): boolean;
			/** @deprecated */
			public requestFitSystemWindows(): void;
			public dispatchFinishTemporaryDetach(): void;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public constructor(param0: android.content.Context);
			public addFocusables(param0: java.util.ArrayList<android.view.View>, param1: number, param2: number): void;
			public addKeyboardNavigationClusters(param0: java.util.Collection<android.view.View>, param1: number): void;
			public setStaticTransformationsEnabled(param0: boolean): void;
			public onViewAdded(param0: android.view.View): void;
			public onLayout(param0: boolean, param1: number, param2: number, param3: number, param4: number): void;
			public measureChildWithMargins(param0: android.view.View, param1: number, param2: number, param3: number, param4: number): void;
			public isLayoutDirectionResolved(): boolean;
			public focusableViewAvailable(param0: android.view.View): void;
			public static getChildMeasureSpec(param0: number, param1: number, param2: number): number;
			public createContextMenu(param0: android.view.ContextMenu): void;
			public shouldDelayChildPressedState(): boolean;
			public dispatchSetPressed(param0: boolean): void;
			public dispatchFreezeSelfOnly(param0: android.util.SparseArray<android.os.Parcelable>): void;
			public canResolveLayoutDirection(): boolean;
			public onNestedFling(param0: android.view.View, param1: number, param2: number, param3: boolean): boolean;
			public detachAllViewsFromParent(): void;
			public dispatchCapturedPointerEvent(param0: android.view.MotionEvent): boolean;
			public onInterceptHoverEvent(param0: android.view.MotionEvent): boolean;
			/** @deprecated */
			public isAnimationCacheEnabled(): boolean;
			public getParentForAccessibility(): android.view.ViewParent;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public requestFocus(param0: number): boolean;
			public setClipToPadding(param0: boolean): void;
			public endViewTransition(param0: android.view.View): void;
			public removeViewInLayout(param0: android.view.View): void;
			public dispatchTouchEvent(param0: android.view.MotionEvent): boolean;
			public setChildrenDrawingOrderEnabled(param0: boolean): void;
			public generateLayoutParams(param0: android.view.ViewGroup.LayoutParams): android.view.ViewGroup.LayoutParams;
			public requestChildRectangleOnScreen(param0: android.view.View, param1: android.graphics.Rect, param2: boolean): boolean;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: native.Array<number>): void;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public detachViewsFromParent(param0: number, param1: number): void;
			public setMotionEventSplittingEnabled(param0: boolean): void;
			public getLayoutAnimation(): android.view.animation.LayoutAnimationController;
			public getChildCount(): number;
			public gatherTransparentRegion(param0: android.graphics.Region): boolean;
			public dispatchWindowVisibilityChanged(param0: number): void;
			public jumpDrawablesToCurrentState(): void;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			public removeDetachedView(param0: android.view.View, param1: boolean): void;
			public clearFocus(): void;
			public dispatchGenericPointerEvent(param0: android.view.MotionEvent): boolean;
			public checkLayoutParams(param0: android.view.ViewGroup.LayoutParams): boolean;
			public removeView(param0: android.view.View): void;
			public clearChildFocus(param0: android.view.View): void;
			/** @deprecated */
			public setChildrenDrawnWithCacheEnabled(param0: boolean): void;
			public indexOfChild(param0: android.view.View): number;
			public requestDisallowInterceptTouchEvent(param0: boolean): void;
			public dispatchSystemUiVisibilityChanged(param0: number): void;
			public isTextDirectionResolved(): boolean;
			public measureChild(param0: android.view.View, param1: number, param2: number): void;
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public onAttachedToWindow(): void;
			public dispatchUnhandledMove(param0: android.view.View, param1: number): boolean;
			public setDescendantFocusability(param0: number): void;
			public addFocusables(param0: java.util.ArrayList<android.view.View>, param1: number): void;
		}
		export module ViewGroup {
			export class LayoutParams extends java.lang.Object {
				public static class: java.lang.Class<android.view.ViewGroup.LayoutParams>;
				public static FILL_PARENT: number;
				public static MATCH_PARENT: number;
				public static WRAP_CONTENT: number;
				public height: number;
				public layoutAnimationParameters: android.view.animation.LayoutAnimationController.AnimationParameters;
				public width: number;
				public constructor(param0: number, param1: number);
				public constructor(param0: android.view.ViewGroup.LayoutParams);
				public resolveLayoutDirection(param0: number): void;
				public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
				public setBaseAttributes(param0: android.content.res.TypedArray, param1: number, param2: number): void;
			}
			export class MarginLayoutParams extends android.view.ViewGroup.LayoutParams {
				public static class: java.lang.Class<android.view.ViewGroup.MarginLayoutParams>;
				public bottomMargin: number;
				public leftMargin: number;
				public rightMargin: number;
				public topMargin: number;
				public constructor(param0: number, param1: number);
				public resolveLayoutDirection(param0: number): void;
				public getLayoutDirection(): number;
				public getMarginStart(): number;
				public setMargins(param0: number, param1: number, param2: number, param3: number): void;
				public setLayoutDirection(param0: number): void;
				public constructor(param0: android.view.ViewGroup.LayoutParams);
				public constructor(param0: android.view.ViewGroup.MarginLayoutParams);
				public getMarginEnd(): number;
				public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
				public setMarginStart(param0: number): void;
				public isMarginRelative(): boolean;
				public setMarginEnd(param0: number): void;
			}
			export class OnHierarchyChangeListener extends java.lang.Object {
				public static class: java.lang.Class<android.view.ViewGroup.OnHierarchyChangeListener>;
				/**
				 * Constructs a new instance of the android.view.ViewGroup$OnHierarchyChangeListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onChildViewAdded(param0: android.view.View, param1: android.view.View): void;
					onChildViewRemoved(param0: android.view.View, param1: android.view.View): void;
				});
				public constructor();
				public onChildViewRemoved(param0: android.view.View, param1: android.view.View): void;
				public onChildViewAdded(param0: android.view.View, param1: android.view.View): void;
			}
		}
	}
}

declare module android {
	export module view {
		export class ViewGroupOverlay extends android.view.ViewOverlay {
			public static class: java.lang.Class<android.view.ViewGroupOverlay>;
			public remove(param0: android.view.View): void;
			public add(param0: android.view.View): void;
			public add(param0: android.graphics.drawable.Drawable): void;
			public remove(param0: android.graphics.drawable.Drawable): void;
		}
	}
}

declare module android {
	export module view {
		export class ViewManager extends java.lang.Object {
			public static class: java.lang.Class<android.view.ViewManager>;
			/**
			 * Constructs a new instance of the android.view.ViewManager interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
				updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
				removeView(param0: android.view.View): void;
			});
			public constructor();
			public removeView(param0: android.view.View): void;
			public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
		}
	}
}

declare module android {
	export module view {
		export abstract class ViewOutlineProvider extends java.lang.Object {
			public static class: java.lang.Class<android.view.ViewOutlineProvider>;
			public static BACKGROUND: android.view.ViewOutlineProvider;
			public static BOUNDS: android.view.ViewOutlineProvider;
			public static PADDED_BOUNDS: android.view.ViewOutlineProvider;
			public getOutline(param0: android.view.View, param1: any): void;
			public constructor();
		}
	}
}

declare module android {
	export module view {
		export class ViewOverlay extends java.lang.Object {
			public static class: java.lang.Class<android.view.ViewOverlay>;
			public clear(): void;
			public add(param0: android.graphics.drawable.Drawable): void;
			public remove(param0: android.graphics.drawable.Drawable): void;
		}
	}
}

declare module android {
	export module view {
		export class ViewParent extends java.lang.Object {
			public static class: java.lang.Class<android.view.ViewParent>;
			/**
			 * Constructs a new instance of the android.view.ViewParent interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				requestLayout(): void;
				isLayoutRequested(): boolean;
				requestTransparentRegion(param0: android.view.View): void;
				onDescendantInvalidated(param0: android.view.View, param1: android.view.View): void;
				invalidateChild(param0: android.view.View, param1: android.graphics.Rect): void;
				invalidateChildInParent(param0: native.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
				getParent(): android.view.ViewParent;
				requestChildFocus(param0: android.view.View, param1: android.view.View): void;
				recomputeViewAttributes(param0: android.view.View): void;
				clearChildFocus(param0: android.view.View): void;
				getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
				focusSearch(param0: android.view.View, param1: number): android.view.View;
				keyboardNavigationClusterSearch(param0: android.view.View, param1: number): android.view.View;
				bringChildToFront(param0: android.view.View): void;
				focusableViewAvailable(param0: android.view.View): void;
				showContextMenuForChild(param0: android.view.View): boolean;
				showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
				createContextMenu(param0: android.view.ContextMenu): void;
				startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback): android.view.ActionMode;
				startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
				childDrawableStateChanged(param0: android.view.View): void;
				requestDisallowInterceptTouchEvent(param0: boolean): void;
				requestChildRectangleOnScreen(param0: android.view.View, param1: android.graphics.Rect, param2: boolean): boolean;
				requestSendAccessibilityEvent(param0: android.view.View, param1: android.view.accessibility.AccessibilityEvent): boolean;
				childHasTransientStateChanged(param0: android.view.View, param1: boolean): void;
				requestFitSystemWindows(): void;
				getParentForAccessibility(): android.view.ViewParent;
				notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
				canResolveLayoutDirection(): boolean;
				isLayoutDirectionResolved(): boolean;
				getLayoutDirection(): number;
				canResolveTextDirection(): boolean;
				isTextDirectionResolved(): boolean;
				getTextDirection(): number;
				canResolveTextAlignment(): boolean;
				isTextAlignmentResolved(): boolean;
				getTextAlignment(): number;
				onStartNestedScroll(param0: android.view.View, param1: android.view.View, param2: number): boolean;
				onNestedScrollAccepted(param0: android.view.View, param1: android.view.View, param2: number): void;
				onStopNestedScroll(param0: android.view.View): void;
				onNestedScroll(param0: android.view.View, param1: number, param2: number, param3: number, param4: number): void;
				onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: native.Array<number>): void;
				onNestedFling(param0: android.view.View, param1: number, param2: number, param3: boolean): boolean;
				onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
				onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			});
			public constructor();
			public recomputeViewAttributes(param0: android.view.View): void;
			public isLayoutRequested(): boolean;
			public isLayoutDirectionResolved(): boolean;
			public onStopNestedScroll(param0: android.view.View): void;
			public focusableViewAvailable(param0: android.view.View): void;
			public createContextMenu(param0: android.view.ContextMenu): void;
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public requestSendAccessibilityEvent(param0: android.view.View, param1: android.view.accessibility.AccessibilityEvent): boolean;
			public childHasTransientStateChanged(param0: android.view.View, param1: boolean): void;
			public canResolveLayoutDirection(): boolean;
			public onNestedScrollAccepted(param0: android.view.View, param1: android.view.View, param2: number): void;
			public keyboardNavigationClusterSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(param0: android.view.View): boolean;
			public onNestedFling(param0: android.view.View, param1: number, param2: number, param3: boolean): boolean;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			public bringChildToFront(param0: android.view.View): void;
			public onDescendantInvalidated(param0: android.view.View, param1: android.view.View): void;
			public requestLayout(): void;
			/** @deprecated */
			public invalidateChild(param0: android.view.View, param1: android.graphics.Rect): void;
			public childDrawableStateChanged(param0: android.view.View): void;
			public isTextAlignmentResolved(): boolean;
			public requestTransparentRegion(param0: android.view.View): void;
			public clearChildFocus(param0: android.view.View): void;
			public getParentForAccessibility(): android.view.ViewParent;
			public canResolveTextAlignment(): boolean;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public getParent(): android.view.ViewParent;
			public canResolveTextDirection(): boolean;
			public getTextDirection(): number;
			/** @deprecated */
			public invalidateChildInParent(param0: native.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public requestDisallowInterceptTouchEvent(param0: boolean): void;
			public onStartNestedScroll(param0: android.view.View, param1: android.view.View, param2: number): boolean;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public isTextDirectionResolved(): boolean;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback): android.view.ActionMode;
			public getLayoutDirection(): number;
			public getTextAlignment(): number;
			public requestChildFocus(param0: android.view.View, param1: android.view.View): void;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			public requestChildRectangleOnScreen(param0: android.view.View, param1: android.graphics.Rect, param2: boolean): boolean;
			public notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public onNestedScroll(param0: android.view.View, param1: number, param2: number, param3: number, param4: number): void;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: native.Array<number>): void;
			public requestFitSystemWindows(): void;
			public onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
		}
	}
}

declare module android {
	export module view {
		export class ViewPropertyAnimator extends java.lang.Object {
			public static class: java.lang.Class<android.view.ViewPropertyAnimator>;
			public rotationYBy(param0: number): android.view.ViewPropertyAnimator;
			public translationYBy(param0: number): android.view.ViewPropertyAnimator;
			public getDuration(): number;
			public setDuration(param0: number): android.view.ViewPropertyAnimator;
			public cancel(): void;
			public getInterpolator(): android.animation.TimeInterpolator;
			public scaleXBy(param0: number): android.view.ViewPropertyAnimator;
			public xBy(param0: number): android.view.ViewPropertyAnimator;
			public z(param0: number): android.view.ViewPropertyAnimator;
			public translationY(param0: number): android.view.ViewPropertyAnimator;
			public scaleY(param0: number): android.view.ViewPropertyAnimator;
			public translationX(param0: number): android.view.ViewPropertyAnimator;
			public scaleX(param0: number): android.view.ViewPropertyAnimator;
			public setStartDelay(param0: number): android.view.ViewPropertyAnimator;
			public translationZ(param0: number): android.view.ViewPropertyAnimator;
			public setUpdateListener(param0: android.animation.ValueAnimator.AnimatorUpdateListener): android.view.ViewPropertyAnimator;
			public yBy(param0: number): android.view.ViewPropertyAnimator;
			public start(): void;
			public getStartDelay(): number;
			public withLayer(): android.view.ViewPropertyAnimator;
			public x(param0: number): android.view.ViewPropertyAnimator;
			public withEndAction(param0: java.lang.Runnable): android.view.ViewPropertyAnimator;
			public setListener(param0: android.animation.Animator.AnimatorListener): android.view.ViewPropertyAnimator;
			public withStartAction(param0: java.lang.Runnable): android.view.ViewPropertyAnimator;
			public rotationBy(param0: number): android.view.ViewPropertyAnimator;
			public translationXBy(param0: number): android.view.ViewPropertyAnimator;
			public scaleYBy(param0: number): android.view.ViewPropertyAnimator;
			public y(param0: number): android.view.ViewPropertyAnimator;
			public alphaBy(param0: number): android.view.ViewPropertyAnimator;
			public rotationY(param0: number): android.view.ViewPropertyAnimator;
			public translationZBy(param0: number): android.view.ViewPropertyAnimator;
			public zBy(param0: number): android.view.ViewPropertyAnimator;
			public rotationX(param0: number): android.view.ViewPropertyAnimator;
			public alpha(param0: number): android.view.ViewPropertyAnimator;
			public rotation(param0: number): android.view.ViewPropertyAnimator;
			public setInterpolator(param0: android.animation.TimeInterpolator): android.view.ViewPropertyAnimator;
			public rotationXBy(param0: number): android.view.ViewPropertyAnimator;
		}
	}
}

declare module android {
	export module view {
		export abstract class ViewStructure extends java.lang.Object {
			public static class: java.lang.Class<any>;
			public setDimens(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number): void;
			public setClassName(param0: string): void;
			public setMaxTextEms(param0: number): void;
			public setLocaleList(param0: any): void;
			public setContentDescription(param0: string): void;
			public setFocusable(param0: boolean): void;
			public setAutofillOptions(param0: native.Array<string>): void;
			public setOpaque(param0: boolean): void;
			public setAutofillId(param0: android.view.autofill.AutofillId, param1: number): void;
			public setInputType(param0: number): void;
			public getAutofillId(): android.view.autofill.AutofillId;
			public setAutofillValue(param0: android.view.autofill.AutofillValue): void;
			public setText(param0: string, param1: number, param2: number): void;
			public asyncCommit(): void;
			public setWebDomain(param0: string): void;
			public setEnabled(param0: boolean): void;
			public setMinTextEms(param0: number): void;
			public setChecked(param0: boolean): void;
			public setVisibility(param0: number): void;
			public setCheckable(param0: boolean): void;
			public setElevation(param0: number): void;
			public setHtmlInfo(param0: any): void;
			public getText(): string;
			public setTextLines(param0: native.Array<number>, param1: native.Array<number>): void;
			public constructor();
			public setAutofillType(param0: number): void;
			public setSelected(param0: boolean): void;
			public asyncNewChild(param0: number): any;
			public setLongClickable(param0: boolean): void;
			public setContextClickable(param0: boolean): void;
			public setTextIdEntry(param0: string): void;
			public setAutofillHints(param0: native.Array<string>): void;
			public getExtras(): android.os.Bundle;
			public setClickable(param0: boolean): void;
			public setActivated(param0: boolean): void;
			public setDataIsSensitive(param0: boolean): void;
			public setAutofillId(param0: android.view.autofill.AutofillId): void;
			public getChildCount(): number;
			public getHint(): string;
			public setHint(param0: string): void;
			public setTextStyle(param0: number, param1: number, param2: number, param3: number): void;
			public setMaxTextLength(param0: number): void;
			public setAccessibilityFocused(param0: boolean): void;
			public setChildCount(param0: number): void;
			public setTransformation(param0: android.graphics.Matrix): void;
			public setId(param0: number, param1: string, param2: string, param3: string): void;
			public setImportantForAutofill(param0: number): void;
			public setAlpha(param0: number): void;
			public setFocused(param0: boolean): void;
			public addChildCount(param0: number): number;
			public setText(param0: string): void;
			public getTextSelectionStart(): number;
			public getTextSelectionEnd(): number;
			public newChild(param0: number): any;
			public newHtmlInfoBuilder(param0: string): any;
			public hasExtras(): boolean;
		}
		export module ViewStructure {
			export abstract class HtmlInfo extends java.lang.Object {
				public static class: java.lang.Class<any>;
				public getAttributes(): java.util.List<android.util.Pair<string,string>>;
				public getTag(): string;
				public constructor();
			}
			export module HtmlInfo {
				export abstract class Builder extends java.lang.Object {
					public static class: java.lang.Class<any>;
					public constructor();
					public addAttribute(param0: string, param1: string): any;
					public build(): any;
				}
			}
		}
	}
}

declare module android {
	export module view {
		export class ViewStub extends android.view.View {
			public static class: java.lang.Class<android.view.ViewStub>;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public getLayoutInflater(): android.view.LayoutInflater;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public onMeasure(param0: number, param1: number): void;
			public setOnInflateListener(param0: android.view.ViewStub.OnInflateListener): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public getLayoutResource(): number;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public static inflate(param0: android.content.Context, param1: number, param2: android.view.ViewGroup): android.view.View;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public getInflatedId(): number;
			public draw(param0: android.graphics.Canvas): void;
			public sendAccessibilityEvent(param0: number): void;
			public inflate(): android.view.View;
			public setVisibility(param0: number): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public constructor(param0: android.content.Context, param1: number);
			public setLayoutResource(param0: number): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public setInflatedId(param0: number): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public dispatchDraw(param0: android.graphics.Canvas): void;
			public setLayoutInflater(param0: android.view.LayoutInflater): void;
			public constructor(param0: android.content.Context);
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
		}
		export module ViewStub {
			export class OnInflateListener extends java.lang.Object {
				public static class: java.lang.Class<android.view.ViewStub.OnInflateListener>;
				/**
				 * Constructs a new instance of the android.view.ViewStub$OnInflateListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onInflate(param0: android.view.ViewStub, param1: android.view.View): void;
				});
				public constructor();
				public onInflate(param0: android.view.ViewStub, param1: android.view.View): void;
			}
		}
	}
}

declare module android {
	export module view {
		export class ViewTreeObserver extends java.lang.Object {
			public static class: java.lang.Class<android.view.ViewTreeObserver>;
			public addOnWindowAttachListener(param0: android.view.ViewTreeObserver.OnWindowAttachListener): void;
			public removeOnWindowAttachListener(param0: android.view.ViewTreeObserver.OnWindowAttachListener): void;
			public dispatchOnPreDraw(): boolean;
			/** @deprecated */
			public removeGlobalOnLayoutListener(param0: android.view.ViewTreeObserver.OnGlobalLayoutListener): void;
			public removeOnDrawListener(param0: android.view.ViewTreeObserver.OnDrawListener): void;
			public dispatchOnGlobalLayout(): void;
			public addOnGlobalFocusChangeListener(param0: android.view.ViewTreeObserver.OnGlobalFocusChangeListener): void;
			public removeOnPreDrawListener(param0: android.view.ViewTreeObserver.OnPreDrawListener): void;
			public removeOnGlobalFocusChangeListener(param0: android.view.ViewTreeObserver.OnGlobalFocusChangeListener): void;
			public addOnWindowFocusChangeListener(param0: android.view.ViewTreeObserver.OnWindowFocusChangeListener): void;
			public removeOnWindowFocusChangeListener(param0: android.view.ViewTreeObserver.OnWindowFocusChangeListener): void;
			public addOnDrawListener(param0: android.view.ViewTreeObserver.OnDrawListener): void;
			public removeOnScrollChangedListener(param0: android.view.ViewTreeObserver.OnScrollChangedListener): void;
			public removeOnTouchModeChangeListener(param0: android.view.ViewTreeObserver.OnTouchModeChangeListener): void;
			public addOnGlobalLayoutListener(param0: android.view.ViewTreeObserver.OnGlobalLayoutListener): void;
			public removeOnGlobalLayoutListener(param0: android.view.ViewTreeObserver.OnGlobalLayoutListener): void;
			public addOnScrollChangedListener(param0: android.view.ViewTreeObserver.OnScrollChangedListener): void;
			public addOnTouchModeChangeListener(param0: android.view.ViewTreeObserver.OnTouchModeChangeListener): void;
			public addOnPreDrawListener(param0: android.view.ViewTreeObserver.OnPreDrawListener): void;
			public isAlive(): boolean;
			public dispatchOnDraw(): void;
		}
		export module ViewTreeObserver {
			export class OnDrawListener extends java.lang.Object {
				public static class: java.lang.Class<android.view.ViewTreeObserver.OnDrawListener>;
				/**
				 * Constructs a new instance of the android.view.ViewTreeObserver$OnDrawListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onDraw(): void;
				});
				public constructor();
				public onDraw(): void;
			}
			export class OnGlobalFocusChangeListener extends java.lang.Object {
				public static class: java.lang.Class<android.view.ViewTreeObserver.OnGlobalFocusChangeListener>;
				/**
				 * Constructs a new instance of the android.view.ViewTreeObserver$OnGlobalFocusChangeListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onGlobalFocusChanged(param0: android.view.View, param1: android.view.View): void;
				});
				public constructor();
				public onGlobalFocusChanged(param0: android.view.View, param1: android.view.View): void;
			}
			export class OnGlobalLayoutListener extends java.lang.Object {
				public static class: java.lang.Class<android.view.ViewTreeObserver.OnGlobalLayoutListener>;
				/**
				 * Constructs a new instance of the android.view.ViewTreeObserver$OnGlobalLayoutListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onGlobalLayout(): void;
				});
				public constructor();
				public onGlobalLayout(): void;
			}
			export class OnPreDrawListener extends java.lang.Object {
				public static class: java.lang.Class<android.view.ViewTreeObserver.OnPreDrawListener>;
				/**
				 * Constructs a new instance of the android.view.ViewTreeObserver$OnPreDrawListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onPreDraw(): boolean;
				});
				public constructor();
				public onPreDraw(): boolean;
			}
			export class OnScrollChangedListener extends java.lang.Object {
				public static class: java.lang.Class<android.view.ViewTreeObserver.OnScrollChangedListener>;
				/**
				 * Constructs a new instance of the android.view.ViewTreeObserver$OnScrollChangedListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onScrollChanged(): void;
				});
				public constructor();
				public onScrollChanged(): void;
			}
			export class OnTouchModeChangeListener extends java.lang.Object {
				public static class: java.lang.Class<android.view.ViewTreeObserver.OnTouchModeChangeListener>;
				/**
				 * Constructs a new instance of the android.view.ViewTreeObserver$OnTouchModeChangeListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onTouchModeChanged(param0: boolean): void;
				});
				public constructor();
				public onTouchModeChanged(param0: boolean): void;
			}
			export class OnWindowAttachListener extends java.lang.Object {
				public static class: java.lang.Class<android.view.ViewTreeObserver.OnWindowAttachListener>;
				/**
				 * Constructs a new instance of the android.view.ViewTreeObserver$OnWindowAttachListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onWindowAttached(): void;
					onWindowDetached(): void;
				});
				public constructor();
				public onWindowAttached(): void;
				public onWindowDetached(): void;
			}
			export class OnWindowFocusChangeListener extends java.lang.Object {
				public static class: java.lang.Class<android.view.ViewTreeObserver.OnWindowFocusChangeListener>;
				/**
				 * Constructs a new instance of the android.view.ViewTreeObserver$OnWindowFocusChangeListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onWindowFocusChanged(param0: boolean): void;
				});
				public constructor();
				public onWindowFocusChanged(param0: boolean): void;
			}
		}
	}
}

declare module android {
	export module view {
		export abstract class Window extends java.lang.Object {
			public static class: java.lang.Class<android.view.Window>;
			public static DECOR_CAPTION_SHADE_AUTO: number;
			public static DECOR_CAPTION_SHADE_DARK: number;
			public static DECOR_CAPTION_SHADE_LIGHT: number;
			public static DEFAULT_FEATURES: number;
			public static FEATURE_ACTION_BAR: number;
			public static FEATURE_ACTION_BAR_OVERLAY: number;
			public static FEATURE_ACTION_MODE_OVERLAY: number;
			public static FEATURE_ACTIVITY_TRANSITIONS: number;
			public static FEATURE_CONTENT_TRANSITIONS: number;
			public static FEATURE_CONTEXT_MENU: number;
			public static FEATURE_CUSTOM_TITLE: number;
			public static FEATURE_INDETERMINATE_PROGRESS: number;
			public static FEATURE_LEFT_ICON: number;
			public static FEATURE_NO_TITLE: number;
			public static FEATURE_OPTIONS_PANEL: number;
			public static FEATURE_PROGRESS: number;
			public static FEATURE_RIGHT_ICON: number;
			public static FEATURE_SWIPE_TO_DISMISS: number;
			public static ID_ANDROID_CONTENT: number;
			public static NAVIGATION_BAR_BACKGROUND_TRANSITION_NAME: string;
			public static PROGRESS_END: number;
			public static PROGRESS_INDETERMINATE_OFF: number;
			public static PROGRESS_INDETERMINATE_ON: number;
			public static PROGRESS_SECONDARY_END: number;
			public static PROGRESS_SECONDARY_START: number;
			public static PROGRESS_START: number;
			public static PROGRESS_VISIBILITY_OFF: number;
			public static PROGRESS_VISIBILITY_ON: number;
			public static STATUS_BAR_BACKGROUND_TRANSITION_NAME: string;
			public onActive(): void;
			public getStatusBarColor(): number;
			public hasSoftInputMode(): boolean;
			public requireViewById(param0: number): android.view.View;
			public getLayoutInflater(): android.view.LayoutInflater;
			public getTransitionBackgroundFadeDuration(): number;
			public setContentView(param0: android.view.View): void;
			public clearFlags(param0: number): void;
			public hasFeature(param0: number): boolean;
			public performPanelShortcut(param0: number, param1: number, param2: android.view.KeyEvent, param3: number): boolean;
			public setFeatureDrawableUri(param0: number, param1: android.net.Uri): void;
			public superDispatchKeyShortcutEvent(param0: android.view.KeyEvent): boolean;
			public setSharedElementEnterTransition(param0: android.transition.Transition): void;
			public getReenterTransition(): android.transition.Transition;
			public setClipToOutline(param0: boolean): void;
			public getContext(): android.content.Context;
			public addFlags(param0: number): void;
			public setContentView(param0: number): void;
			public superDispatchTouchEvent(param0: android.view.MotionEvent): boolean;
			public setDecorCaptionShade(param0: number): void;
			public setRestrictedCaptionAreaListener(param0: android.view.Window.OnRestrictedCaptionAreaChangedListener): void;
			public performPanelIdentifierAction(param0: number, param1: number, param2: number): boolean;
			public getEnterTransition(): android.transition.Transition;
			public requestFeature(param0: number): boolean;
			public getCallback(): android.view.Window.Callback;
			public setAllowReturnTransitionOverlap(param0: boolean): void;
			public getContainer(): android.view.Window;
			/** @deprecated */
			public setTitleColor(param0: number): void;
			public setFlags(param0: number, param1: number): void;
			public setAllowEnterTransitionOverlap(param0: boolean): void;
			public setSustainedPerformanceMode(param0: boolean): void;
			public setMediaController(param0: any): void;
			public getSharedElementReturnTransition(): android.transition.Transition;
			public getAllowEnterTransitionOverlap(): boolean;
			public setCallback(param0: android.view.Window.Callback): void;
			public getForcedWindowFlags(): number;
			public setSharedElementReturnTransition(param0: android.transition.Transition): void;
			public getFeatures(): number;
			public getColorMode(): number;
			public getSharedElementExitTransition(): android.transition.Transition;
			public setBackgroundDrawable(param0: android.graphics.drawable.Drawable): void;
			public setChildDrawable(param0: number, param1: android.graphics.drawable.Drawable): void;
			public getNavigationBarColor(): number;
			public setNavigationBarColor(param0: number): void;
			public hasChildren(): boolean;
			public setDefaultWindowFormat(param0: number): void;
			public setTransitionManager(param0: android.transition.TransitionManager): void;
			public setDimAmount(param0: number): void;
			public setFeatureInt(param0: number, param1: number): void;
			public onConfigurationChanged(param0: android.content.res.Configuration): void;
			public makeActive(): void;
			public openPanel(param0: number, param1: android.view.KeyEvent): void;
			public setChildInt(param0: number, param1: number): void;
			public getAllowReturnTransitionOverlap(): boolean;
			public setSoftInputMode(param0: number): void;
			public getMediaController(): any;
			public setContentView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public setFeatureDrawableAlpha(param0: number, param1: number): void;
			public invalidatePanelMenu(param0: number): void;
			public setBackgroundDrawableResource(param0: number): void;
			public constructor(param0: android.content.Context);
			public removeOnFrameMetricsAvailableListener(param0: android.view.Window.OnFrameMetricsAvailableListener): void;
			public superDispatchTrackballEvent(param0: android.view.MotionEvent): boolean;
			public setFormat(param0: number): void;
			public isWideColorGamut(): boolean;
			public injectInputEvent(param0: android.view.InputEvent): void;
			public setTitle(param0: string): void;
			public setSharedElementsUseOverlay(param0: boolean): void;
			public setFeatureDrawableResource(param0: number, param1: number): void;
			public setContainer(param0: android.view.Window): void;
			public setType(param0: number): void;
			public setLayout(param0: number, param1: number): void;
			public findViewById(param0: number): android.view.View;
			public setLogo(param0: number): void;
			public takeSurface(param0: android.view.SurfaceHolder.Callback2): void;
			public getLocalFeatures(): number;
			public static getDefaultFeatures(param0: android.content.Context): number;
			public getDecorView(): android.view.View;
			public getNavigationBarDividerColor(): number;
			public setWindowManager(param0: android.view.WindowManager, param1: android.os.IBinder, param2: string): void;
			public performContextMenuIdentifierAction(param0: number, param1: number): boolean;
			public getWindowStyle(): android.content.res.TypedArray;
			public isShortcutKey(param0: number, param1: android.view.KeyEvent): boolean;
			public setElevation(param0: number): void;
			public getExitTransition(): android.transition.Transition;
			public getVolumeControlStream(): number;
			public setNavigationBarDividerColor(param0: number): void;
			public takeKeyEvents(param0: boolean): void;
			public setTransitionBackgroundFadeDuration(param0: number): void;
			public getSharedElementEnterTransition(): android.transition.Transition;
			public restoreHierarchyState(param0: android.os.Bundle): void;
			public getReturnTransition(): android.transition.Transition;
			public setColorMode(param0: number): void;
			public getCurrentFocus(): android.view.View;
			public superDispatchKeyEvent(param0: android.view.KeyEvent): boolean;
			public peekDecorView(): android.view.View;
			public setWindowManager(param0: android.view.WindowManager, param1: android.os.IBinder, param2: string, param3: boolean): void;
			public getSharedElementReenterTransition(): android.transition.Transition;
			public closeAllPanels(): void;
			public setGravity(param0: number): void;
			public isActive(): boolean;
			public setExitTransition(param0: android.transition.Transition): void;
			public setSharedElementExitTransition(param0: android.transition.Transition): void;
			public setSharedElementReenterTransition(param0: android.transition.Transition): void;
			public setVolumeControlStream(param0: number): void;
			public setStatusBarColor(param0: number): void;
			public isFloating(): boolean;
			public setEnterTransition(param0: android.transition.Transition): void;
			public getAttributes(): android.view.WindowManager.LayoutParams;
			public setFeatureDrawable(param0: number, param1: android.graphics.drawable.Drawable): void;
			public takeInputQueue(param0: android.view.InputQueue.Callback): void;
			public getContentScene(): android.transition.Scene;
			public setLocalFocus(param0: boolean, param1: boolean): void;
			public getWindowManager(): android.view.WindowManager;
			public togglePanel(param0: number, param1: android.view.KeyEvent): void;
			public setUiOptions(param0: number, param1: number): void;
			public getTransitionManager(): android.transition.TransitionManager;
			public addOnFrameMetricsAvailableListener(param0: android.view.Window.OnFrameMetricsAvailableListener, param1: android.os.Handler): void;
			public setReturnTransition(param0: android.transition.Transition): void;
			public setUiOptions(param0: number): void;
			public saveHierarchyState(): android.os.Bundle;
			public setIcon(param0: number): void;
			public getSharedElementsUseOverlay(): boolean;
			public closePanel(param0: number): void;
			public superDispatchGenericMotionEvent(param0: android.view.MotionEvent): boolean;
			public addContentView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public setWindowAnimations(param0: number): void;
			public setResizingCaptionDrawable(param0: android.graphics.drawable.Drawable): void;
			public setAttributes(param0: android.view.WindowManager.LayoutParams): void;
			public setReenterTransition(param0: android.transition.Transition): void;
		}
		export module Window {
			export class Callback extends java.lang.Object {
				public static class: java.lang.Class<android.view.Window.Callback>;
				/**
				 * Constructs a new instance of the android.view.Window$Callback interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					dispatchKeyEvent(param0: android.view.KeyEvent): boolean;
					dispatchKeyShortcutEvent(param0: android.view.KeyEvent): boolean;
					dispatchTouchEvent(param0: android.view.MotionEvent): boolean;
					dispatchTrackballEvent(param0: android.view.MotionEvent): boolean;
					dispatchGenericMotionEvent(param0: android.view.MotionEvent): boolean;
					dispatchPopulateAccessibilityEvent(param0: android.view.accessibility.AccessibilityEvent): boolean;
					onCreatePanelView(param0: number): android.view.View;
					onCreatePanelMenu(param0: number, param1: android.view.Menu): boolean;
					onPreparePanel(param0: number, param1: android.view.View, param2: android.view.Menu): boolean;
					onMenuOpened(param0: number, param1: android.view.Menu): boolean;
					onMenuItemSelected(param0: number, param1: android.view.MenuItem): boolean;
					onWindowAttributesChanged(param0: android.view.WindowManager.LayoutParams): void;
					onContentChanged(): void;
					onWindowFocusChanged(param0: boolean): void;
					onAttachedToWindow(): void;
					onDetachedFromWindow(): void;
					onPanelClosed(param0: number, param1: android.view.Menu): void;
					onSearchRequested(): boolean;
					onSearchRequested(param0: any): boolean;
					onWindowStartingActionMode(param0: android.view.ActionMode.Callback): android.view.ActionMode;
					onWindowStartingActionMode(param0: android.view.ActionMode.Callback, param1: number): android.view.ActionMode;
					onActionModeStarted(param0: android.view.ActionMode): void;
					onActionModeFinished(param0: android.view.ActionMode): void;
					onProvideKeyboardShortcuts(param0: java.util.List<any>, param1: android.view.Menu, param2: number): void;
					onPointerCaptureChanged(param0: boolean): void;
				});
				public constructor();
				public dispatchGenericMotionEvent(param0: android.view.MotionEvent): boolean;
				public onWindowStartingActionMode(param0: android.view.ActionMode.Callback): android.view.ActionMode;
				public onProvideKeyboardShortcuts(param0: java.util.List<any>, param1: android.view.Menu, param2: number): void;
				public dispatchPopulateAccessibilityEvent(param0: android.view.accessibility.AccessibilityEvent): boolean;
				public onPreparePanel(param0: number, param1: android.view.View, param2: android.view.Menu): boolean;
				public onSearchRequested(param0: any): boolean;
				public onMenuItemSelected(param0: number, param1: android.view.MenuItem): boolean;
				public onPanelClosed(param0: number, param1: android.view.Menu): void;
				public onCreatePanelView(param0: number): android.view.View;
				public onActionModeStarted(param0: android.view.ActionMode): void;
				public onMenuOpened(param0: number, param1: android.view.Menu): boolean;
				public dispatchTrackballEvent(param0: android.view.MotionEvent): boolean;
				public onWindowStartingActionMode(param0: android.view.ActionMode.Callback, param1: number): android.view.ActionMode;
				public onPointerCaptureChanged(param0: boolean): void;
				public onActionModeFinished(param0: android.view.ActionMode): void;
				public dispatchKeyShortcutEvent(param0: android.view.KeyEvent): boolean;
				public onWindowAttributesChanged(param0: android.view.WindowManager.LayoutParams): void;
				public onContentChanged(): void;
				public dispatchKeyEvent(param0: android.view.KeyEvent): boolean;
				public onCreatePanelMenu(param0: number, param1: android.view.Menu): boolean;
				public onDetachedFromWindow(): void;
				public dispatchTouchEvent(param0: android.view.MotionEvent): boolean;
				public onSearchRequested(): boolean;
				public onWindowFocusChanged(param0: boolean): void;
				public onAttachedToWindow(): void;
			}
			export class OnFrameMetricsAvailableListener extends java.lang.Object {
				public static class: java.lang.Class<android.view.Window.OnFrameMetricsAvailableListener>;
				/**
				 * Constructs a new instance of the android.view.Window$OnFrameMetricsAvailableListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onFrameMetricsAvailable(param0: android.view.Window, param1: android.view.FrameMetrics, param2: number): void;
				});
				public constructor();
				public onFrameMetricsAvailable(param0: android.view.Window, param1: android.view.FrameMetrics, param2: number): void;
			}
			export class OnRestrictedCaptionAreaChangedListener extends java.lang.Object {
				public static class: java.lang.Class<android.view.Window.OnRestrictedCaptionAreaChangedListener>;
				/**
				 * Constructs a new instance of the android.view.Window$OnRestrictedCaptionAreaChangedListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onRestrictedCaptionAreaChanged(param0: android.graphics.Rect): void;
				});
				public constructor();
				public onRestrictedCaptionAreaChanged(param0: android.graphics.Rect): void;
			}
		}
	}
}

declare module android {
	export module view {
		export class WindowAnimationFrameStats extends android.view.FrameStats implements android.os.Parcelable {
			public static class: java.lang.Class<android.view.WindowAnimationFrameStats>;
			public static CREATOR: android.os.Parcelable.Creator<android.view.WindowAnimationFrameStats>;
			public toString(): string;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
		}
	}
}

declare module android {
	export module view {
		export class WindowContentFrameStats extends android.view.FrameStats implements android.os.Parcelable {
			public static class: java.lang.Class<android.view.WindowContentFrameStats>;
			public static CREATOR: android.os.Parcelable.Creator<android.view.WindowContentFrameStats>;
			public getFramePostedTimeNano(param0: number): number;
			public toString(): string;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public getFrameReadyTimeNano(param0: number): number;
		}
	}
}

declare module android {
	export module view {
		export class WindowId extends java.lang.Object implements android.os.Parcelable {
			public static class: java.lang.Class<android.view.WindowId>;
			public static CREATOR: android.os.Parcelable.Creator<android.view.WindowId>;
			public equals(param0: any): boolean;
			public toString(): string;
			public unregisterFocusObserver(param0: android.view.WindowId.FocusObserver): void;
			public describeContents(): number;
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public registerFocusObserver(param0: android.view.WindowId.FocusObserver): void;
			public isFocused(): boolean;
			public hashCode(): number;
		}
		export module WindowId {
			export abstract class FocusObserver extends java.lang.Object {
				public static class: java.lang.Class<android.view.WindowId.FocusObserver>;
				public onFocusLost(param0: android.view.WindowId): void;
				public onFocusGained(param0: android.view.WindowId): void;
				public constructor();
			}
		}
	}
}

declare module android {
	export module view {
		export class WindowInsets extends java.lang.Object {
			public static class: java.lang.Class<android.view.WindowInsets>;
			public getStableInsetLeft(): number;
			public getSystemWindowInsetRight(): number;
			public getStableInsetRight(): number;
			public equals(param0: any): boolean;
			public constructor(param0: android.view.WindowInsets);
			public isConsumed(): boolean;
			public getSystemWindowInsetTop(): number;
			public hasInsets(): boolean;
			public hasStableInsets(): boolean;
			public consumeStableInsets(): android.view.WindowInsets;
			public getDisplayCutout(): android.view.DisplayCutout;
			public getSystemWindowInsetLeft(): number;
			public getStableInsetTop(): number;
			public consumeSystemWindowInsets(): android.view.WindowInsets;
			public toString(): string;
			public isRound(): boolean;
			public replaceSystemWindowInsets(param0: number, param1: number, param2: number, param3: number): android.view.WindowInsets;
			public getSystemWindowInsetBottom(): number;
			public replaceSystemWindowInsets(param0: android.graphics.Rect): android.view.WindowInsets;
			public getStableInsetBottom(): number;
			public hasSystemWindowInsets(): boolean;
			public consumeDisplayCutout(): android.view.WindowInsets;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module view {
		export class WindowManager extends java.lang.Object implements android.view.ViewManager {
			public static class: java.lang.Class<android.view.WindowManager>;
			/**
			 * Constructs a new instance of the android.view.WindowManager interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				getDefaultDisplay(): android.view.Display;
				removeViewImmediate(param0: android.view.View): void;
				addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
				updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
				removeView(param0: android.view.View): void;
			});
			public constructor();
			public removeView(param0: android.view.View): void;
			public getDefaultDisplay(): android.view.Display;
			public removeViewImmediate(param0: android.view.View): void;
			public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
		}
		export module WindowManager {
			export class BadTokenException extends java.lang.RuntimeException {
				public static class: java.lang.Class<android.view.WindowManager.BadTokenException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
			export class InvalidDisplayException extends java.lang.RuntimeException {
				public static class: java.lang.Class<android.view.WindowManager.InvalidDisplayException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
			export class LayoutParams extends android.view.ViewGroup.LayoutParams implements android.os.Parcelable {
				public static class: java.lang.Class<android.view.WindowManager.LayoutParams>;
				public static ALPHA_CHANGED: number;
				public static ANIMATION_CHANGED: number;
				public static BRIGHTNESS_OVERRIDE_FULL: number;
				public static BRIGHTNESS_OVERRIDE_NONE: number;
				public static BRIGHTNESS_OVERRIDE_OFF: number;
				public static CREATOR: android.os.Parcelable.Creator<android.view.WindowManager.LayoutParams>;
				public static DIM_AMOUNT_CHANGED: number;
				public static FIRST_APPLICATION_WINDOW: number;
				public static FIRST_SUB_WINDOW: number;
				public static FIRST_SYSTEM_WINDOW: number;
				public static FLAGS_CHANGED: number;
				public static FLAG_ALLOW_LOCK_WHILE_SCREEN_ON: number;
				public static FLAG_ALT_FOCUSABLE_IM: number;
				public static FLAG_BLUR_BEHIND: number;
				public static FLAG_DIM_BEHIND: number;
				public static FLAG_DISMISS_KEYGUARD: number;
				public static FLAG_DITHER: number;
				public static FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS: number;
				public static FLAG_FORCE_NOT_FULLSCREEN: number;
				public static FLAG_FULLSCREEN: number;
				public static FLAG_HARDWARE_ACCELERATED: number;
				public static FLAG_IGNORE_CHEEK_PRESSES: number;
				public static FLAG_KEEP_SCREEN_ON: number;
				public static FLAG_LAYOUT_ATTACHED_IN_DECOR: number;
				public static FLAG_LAYOUT_INSET_DECOR: number;
				public static FLAG_LAYOUT_IN_OVERSCAN: number;
				public static FLAG_LAYOUT_IN_SCREEN: number;
				public static FLAG_LAYOUT_NO_LIMITS: number;
				public static FLAG_LOCAL_FOCUS_MODE: number;
				public static FLAG_NOT_FOCUSABLE: number;
				public static FLAG_NOT_TOUCHABLE: number;
				public static FLAG_NOT_TOUCH_MODAL: number;
				public static FLAG_SCALED: number;
				public static FLAG_SECURE: number;
				public static FLAG_SHOW_WALLPAPER: number;
				public static FLAG_SHOW_WHEN_LOCKED: number;
				public static FLAG_SPLIT_TOUCH: number;
				public static FLAG_TOUCHABLE_WHEN_WAKING: number;
				public static FLAG_TRANSLUCENT_NAVIGATION: number;
				public static FLAG_TRANSLUCENT_STATUS: number;
				public static FLAG_TURN_SCREEN_ON: number;
				public static FLAG_WATCH_OUTSIDE_TOUCH: number;
				public static FORMAT_CHANGED: number;
				public static LAST_APPLICATION_WINDOW: number;
				public static LAST_SUB_WINDOW: number;
				public static LAST_SYSTEM_WINDOW: number;
				public static LAYOUT_CHANGED: number;
				public static LAYOUT_IN_DISPLAY_CUTOUT_MODE_DEFAULT: number;
				public static LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER: number;
				public static LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES: number;
				public static MEMORY_TYPE_CHANGED: number;
				public static MEMORY_TYPE_GPU: number;
				public static MEMORY_TYPE_HARDWARE: number;
				public static MEMORY_TYPE_NORMAL: number;
				public static MEMORY_TYPE_PUSH_BUFFERS: number;
				public static ROTATION_ANIMATION_CHANGED: number;
				public static ROTATION_ANIMATION_CROSSFADE: number;
				public static ROTATION_ANIMATION_JUMPCUT: number;
				public static ROTATION_ANIMATION_ROTATE: number;
				public static ROTATION_ANIMATION_SEAMLESS: number;
				public static SCREEN_BRIGHTNESS_CHANGED: number;
				public static SCREEN_ORIENTATION_CHANGED: number;
				public static SOFT_INPUT_ADJUST_NOTHING: number;
				public static SOFT_INPUT_ADJUST_PAN: number;
				public static SOFT_INPUT_ADJUST_RESIZE: number;
				public static SOFT_INPUT_ADJUST_UNSPECIFIED: number;
				public static SOFT_INPUT_IS_FORWARD_NAVIGATION: number;
				public static SOFT_INPUT_MASK_ADJUST: number;
				public static SOFT_INPUT_MASK_STATE: number;
				public static SOFT_INPUT_MODE_CHANGED: number;
				public static SOFT_INPUT_STATE_ALWAYS_HIDDEN: number;
				public static SOFT_INPUT_STATE_ALWAYS_VISIBLE: number;
				public static SOFT_INPUT_STATE_HIDDEN: number;
				public static SOFT_INPUT_STATE_UNCHANGED: number;
				public static SOFT_INPUT_STATE_UNSPECIFIED: number;
				public static SOFT_INPUT_STATE_VISIBLE: number;
				public static TITLE_CHANGED: number;
				public static TYPE_ACCESSIBILITY_OVERLAY: number;
				public static TYPE_APPLICATION: number;
				public static TYPE_APPLICATION_ATTACHED_DIALOG: number;
				public static TYPE_APPLICATION_MEDIA: number;
				public static TYPE_APPLICATION_OVERLAY: number;
				public static TYPE_APPLICATION_PANEL: number;
				public static TYPE_APPLICATION_STARTING: number;
				public static TYPE_APPLICATION_SUB_PANEL: number;
				public static TYPE_BASE_APPLICATION: number;
				public static TYPE_CHANGED: number;
				public static TYPE_DRAWN_APPLICATION: number;
				public static TYPE_INPUT_METHOD: number;
				public static TYPE_INPUT_METHOD_DIALOG: number;
				public static TYPE_KEYGUARD_DIALOG: number;
				public static TYPE_PHONE: number;
				public static TYPE_PRIORITY_PHONE: number;
				public static TYPE_PRIVATE_PRESENTATION: number;
				public static TYPE_SEARCH_BAR: number;
				public static TYPE_STATUS_BAR: number;
				public static TYPE_STATUS_BAR_PANEL: number;
				public static TYPE_SYSTEM_ALERT: number;
				public static TYPE_SYSTEM_DIALOG: number;
				public static TYPE_SYSTEM_ERROR: number;
				public static TYPE_SYSTEM_OVERLAY: number;
				public static TYPE_TOAST: number;
				public static TYPE_WALLPAPER: number;
				public alpha: number;
				public buttonBrightness: number;
				public dimAmount: number;
				public flags: number;
				public format: number;
				public gravity: number;
				public horizontalMargin: number;
				public horizontalWeight: number;
				public layoutInDisplayCutoutMode: number;
				public memoryType: number;
				public packageName: string;
				public preferredDisplayModeId: number;
				public preferredRefreshRate: number;
				public rotationAnimation: number;
				public screenBrightness: number;
				public screenOrientation: number;
				public softInputMode: number;
				public systemUiVisibility: number;
				public token: android.os.IBinder;
				public type: number;
				public verticalMargin: number;
				public verticalWeight: number;
				public windowAnimations: number;
				public x: number;
				public y: number;
				public constructor(param0: number, param1: number);
				public debug(param0: string): string;
				public constructor(param0: number, param1: number, param2: number);
				public constructor(param0: number, param1: number, param2: number, param3: number, param4: number);
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public copyFrom(param0: android.view.WindowManager.LayoutParams): number;
				public constructor(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number);
				public toString(): string;
				public setTitle(param0: string): void;
				public getTitle(): string;
				public constructor();
				public constructor(param0: android.view.ViewGroup.LayoutParams);
				public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
				public constructor(param0: android.os.Parcel);
				public setColorMode(param0: number): void;
				public describeContents(): number;
				public constructor(param0: number);
				public getColorMode(): number;
				public static mayUseInputMethod(param0: number): boolean;
			}
		}
	}
}

declare module android {
	export module view {
		export module accessibility {
			export class AccessibilityEvent extends android.view.accessibility.AccessibilityRecord implements android.os.Parcelable {
				public static class: java.lang.Class<android.view.accessibility.AccessibilityEvent>;
				public static CONTENT_CHANGE_TYPE_CONTENT_DESCRIPTION: number;
				public static CONTENT_CHANGE_TYPE_PANE_APPEARED: number;
				public static CONTENT_CHANGE_TYPE_PANE_DISAPPEARED: number;
				public static CONTENT_CHANGE_TYPE_PANE_TITLE: number;
				public static CONTENT_CHANGE_TYPE_SUBTREE: number;
				public static CONTENT_CHANGE_TYPE_TEXT: number;
				public static CONTENT_CHANGE_TYPE_UNDEFINED: number;
				public static CREATOR: android.os.Parcelable.Creator<android.view.accessibility.AccessibilityEvent>;
				public static INVALID_POSITION: number;
				public static MAX_TEXT_LENGTH: number;
				public static TYPES_ALL_MASK: number;
				public static TYPE_ANNOUNCEMENT: number;
				public static TYPE_ASSIST_READING_CONTEXT: number;
				public static TYPE_GESTURE_DETECTION_END: number;
				public static TYPE_GESTURE_DETECTION_START: number;
				public static TYPE_NOTIFICATION_STATE_CHANGED: number;
				public static TYPE_TOUCH_EXPLORATION_GESTURE_END: number;
				public static TYPE_TOUCH_EXPLORATION_GESTURE_START: number;
				public static TYPE_TOUCH_INTERACTION_END: number;
				public static TYPE_TOUCH_INTERACTION_START: number;
				public static TYPE_VIEW_ACCESSIBILITY_FOCUSED: number;
				public static TYPE_VIEW_ACCESSIBILITY_FOCUS_CLEARED: number;
				public static TYPE_VIEW_CLICKED: number;
				public static TYPE_VIEW_CONTEXT_CLICKED: number;
				public static TYPE_VIEW_FOCUSED: number;
				public static TYPE_VIEW_HOVER_ENTER: number;
				public static TYPE_VIEW_HOVER_EXIT: number;
				public static TYPE_VIEW_LONG_CLICKED: number;
				public static TYPE_VIEW_SCROLLED: number;
				public static TYPE_VIEW_SELECTED: number;
				public static TYPE_VIEW_TEXT_CHANGED: number;
				public static TYPE_VIEW_TEXT_SELECTION_CHANGED: number;
				public static TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY: number;
				public static TYPE_WINDOWS_CHANGED: number;
				public static TYPE_WINDOW_CONTENT_CHANGED: number;
				public static TYPE_WINDOW_STATE_CHANGED: number;
				public static WINDOWS_CHANGE_ACCESSIBILITY_FOCUSED: number;
				public static WINDOWS_CHANGE_ACTIVE: number;
				public static WINDOWS_CHANGE_ADDED: number;
				public static WINDOWS_CHANGE_BOUNDS: number;
				public static WINDOWS_CHANGE_CHILDREN: number;
				public static WINDOWS_CHANGE_FOCUSED: number;
				public static WINDOWS_CHANGE_LAYER: number;
				public static WINDOWS_CHANGE_PARENT: number;
				public static WINDOWS_CHANGE_PIP: number;
				public static WINDOWS_CHANGE_REMOVED: number;
				public static WINDOWS_CHANGE_TITLE: number;
				public recycle(): void;
				public getEventType(): number;
				public getAction(): number;
				public getContentChangeTypes(): number;
				public getWindowChanges(): number;
				public getEventTime(): number;
				public static obtain(): android.view.accessibility.AccessibilityRecord;
				public static obtain(param0: android.view.accessibility.AccessibilityRecord): android.view.accessibility.AccessibilityRecord;
				public static obtain(param0: number): android.view.accessibility.AccessibilityEvent;
				public setContentChangeTypes(param0: number): void;
				public setEventTime(param0: number): void;
				public getRecord(param0: number): android.view.accessibility.AccessibilityRecord;
				public static obtain(param0: android.view.accessibility.AccessibilityEvent): android.view.accessibility.AccessibilityEvent;
				public setMovementGranularity(param0: number): void;
				public initFromParcel(param0: android.os.Parcel): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getPackageName(): string;
				public toString(): string;
				public static obtain(): android.view.accessibility.AccessibilityEvent;
				public setPackageName(param0: string): void;
				public static eventTypeToString(param0: number): string;
				public appendRecord(param0: android.view.accessibility.AccessibilityRecord): void;
				public setAction(param0: number): void;
				public describeContents(): number;
				public getRecordCount(): number;
				public setEventType(param0: number): void;
				public getMovementGranularity(): number;
			}
		}
	}
}

declare module android {
	export module view {
		export module accessibility {
			export class AccessibilityEventSource extends java.lang.Object {
				public static class: java.lang.Class<android.view.accessibility.AccessibilityEventSource>;
				/**
				 * Constructs a new instance of the android.view.accessibility.AccessibilityEventSource interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					sendAccessibilityEvent(param0: number): void;
					sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
				});
				public constructor();
				public sendAccessibilityEvent(param0: number): void;
				public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			}
		}
	}
}

declare module android {
	export module view {
		export module accessibility {
			export class AccessibilityManager extends java.lang.Object {
				public static class: java.lang.Class<android.view.accessibility.AccessibilityManager>;
				public getInstalledAccessibilityServiceList(): java.util.List<android.accessibilityservice.AccessibilityServiceInfo>;
				public removeAccessibilityStateChangeListener(param0: android.view.accessibility.AccessibilityManager.AccessibilityStateChangeListener): boolean;
				/** @deprecated */
				public getAccessibilityServiceList(): java.util.List<android.content.pm.ServiceInfo>;
				public interrupt(): void;
				public getEnabledAccessibilityServiceList(param0: number): java.util.List<android.accessibilityservice.AccessibilityServiceInfo>;
				public removeAccessibilityRequestPreparer(param0: android.view.accessibility.AccessibilityRequestPreparer): void;
				public static isAccessibilityButtonSupported(): boolean;
				public isTouchExplorationEnabled(): boolean;
				public removeTouchExplorationStateChangeListener(param0: android.view.accessibility.AccessibilityManager.TouchExplorationStateChangeListener): boolean;
				public addAccessibilityStateChangeListener(param0: android.view.accessibility.AccessibilityManager.AccessibilityStateChangeListener): boolean;
				public addTouchExplorationStateChangeListener(param0: android.view.accessibility.AccessibilityManager.TouchExplorationStateChangeListener): boolean;
				public addTouchExplorationStateChangeListener(param0: android.view.accessibility.AccessibilityManager.TouchExplorationStateChangeListener, param1: android.os.Handler): void;
				public isEnabled(): boolean;
				public addAccessibilityStateChangeListener(param0: android.view.accessibility.AccessibilityManager.AccessibilityStateChangeListener, param1: android.os.Handler): void;
				public sendAccessibilityEvent(param0: android.view.accessibility.AccessibilityEvent): void;
				public addAccessibilityRequestPreparer(param0: android.view.accessibility.AccessibilityRequestPreparer): void;
			}
			export module AccessibilityManager {
				export class AccessibilityStateChangeListener extends java.lang.Object {
					public static class: java.lang.Class<android.view.accessibility.AccessibilityManager.AccessibilityStateChangeListener>;
					/**
					 * Constructs a new instance of the android.view.accessibility.AccessibilityManager$AccessibilityStateChangeListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						onAccessibilityStateChanged(param0: boolean): void;
					});
					public constructor();
					public onAccessibilityStateChanged(param0: boolean): void;
				}
				export class TouchExplorationStateChangeListener extends java.lang.Object {
					public static class: java.lang.Class<android.view.accessibility.AccessibilityManager.TouchExplorationStateChangeListener>;
					/**
					 * Constructs a new instance of the android.view.accessibility.AccessibilityManager$TouchExplorationStateChangeListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						onTouchExplorationStateChanged(param0: boolean): void;
					});
					public constructor();
					public onTouchExplorationStateChanged(param0: boolean): void;
				}
			}
		}
	}
}

declare module android {
	export module view {
		export module accessibility {
			export class AccessibilityNodeInfo extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.view.accessibility.AccessibilityNodeInfo>;
				public static ACTION_ACCESSIBILITY_FOCUS: number;
				public static ACTION_ARGUMENT_COLUMN_INT: string;
				public static ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN: string;
				public static ACTION_ARGUMENT_HTML_ELEMENT_STRING: string;
				public static ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT: string;
				public static ACTION_ARGUMENT_MOVE_WINDOW_X: string;
				public static ACTION_ARGUMENT_MOVE_WINDOW_Y: string;
				public static ACTION_ARGUMENT_PROGRESS_VALUE: string;
				public static ACTION_ARGUMENT_ROW_INT: string;
				public static ACTION_ARGUMENT_SELECTION_END_INT: string;
				public static ACTION_ARGUMENT_SELECTION_START_INT: string;
				public static ACTION_ARGUMENT_SET_TEXT_CHARSEQUENCE: string;
				public static ACTION_CLEAR_ACCESSIBILITY_FOCUS: number;
				public static ACTION_CLEAR_FOCUS: number;
				public static ACTION_CLEAR_SELECTION: number;
				public static ACTION_CLICK: number;
				public static ACTION_COLLAPSE: number;
				public static ACTION_COPY: number;
				public static ACTION_CUT: number;
				public static ACTION_DISMISS: number;
				public static ACTION_EXPAND: number;
				public static ACTION_FOCUS: number;
				public static ACTION_LONG_CLICK: number;
				public static ACTION_NEXT_AT_MOVEMENT_GRANULARITY: number;
				public static ACTION_NEXT_HTML_ELEMENT: number;
				public static ACTION_PASTE: number;
				public static ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY: number;
				public static ACTION_PREVIOUS_HTML_ELEMENT: number;
				public static ACTION_SCROLL_BACKWARD: number;
				public static ACTION_SCROLL_FORWARD: number;
				public static ACTION_SELECT: number;
				public static ACTION_SET_SELECTION: number;
				public static ACTION_SET_TEXT: number;
				public static CREATOR: android.os.Parcelable.Creator<android.view.accessibility.AccessibilityNodeInfo>;
				public static EXTRA_DATA_TEXT_CHARACTER_LOCATION_ARG_LENGTH: string;
				public static EXTRA_DATA_TEXT_CHARACTER_LOCATION_ARG_START_INDEX: string;
				public static EXTRA_DATA_TEXT_CHARACTER_LOCATION_KEY: string;
				public static FOCUS_ACCESSIBILITY: number;
				public static FOCUS_INPUT: number;
				public static MOVEMENT_GRANULARITY_CHARACTER: number;
				public static MOVEMENT_GRANULARITY_LINE: number;
				public static MOVEMENT_GRANULARITY_PAGE: number;
				public static MOVEMENT_GRANULARITY_PARAGRAPH: number;
				public static MOVEMENT_GRANULARITY_WORD: number;
				public recycle(): void;
				public findFocus(param0: number): android.view.accessibility.AccessibilityNodeInfo;
				public getContentDescription(): string;
				public getDrawingOrder(): number;
				public setRangeInfo(param0: android.view.accessibility.AccessibilityNodeInfo.RangeInfo): void;
				public setContextClickable(param0: boolean): void;
				/** @deprecated */
				public addAction(param0: number): void;
				public setEnabled(param0: boolean): void;
				public getTextSelectionStart(): number;
				public getWindow(): android.view.accessibility.AccessibilityWindowInfo;
				public setPaneTitle(param0: string): void;
				public setDrawingOrder(param0: number): void;
				public getWindowId(): number;
				public refreshWithExtraData(param0: string, param1: android.os.Bundle): boolean;
				public setAccessibilityFocused(param0: boolean): void;
				public getBoundsInParent(param0: android.graphics.Rect): void;
				public setSelected(param0: boolean): void;
				public setVisibleToUser(param0: boolean): void;
				public isContentInvalid(): boolean;
				public setTraversalBefore(param0: android.view.View): void;
				public getPackageName(): string;
				public addChild(param0: android.view.View): void;
				public getTooltipText(): string;
				public isContextClickable(): boolean;
				public setMultiLine(param0: boolean): void;
				public setEditable(param0: boolean): void;
				public setMaxTextLength(param0: number): void;
				public getParent(): android.view.accessibility.AccessibilityNodeInfo;
				public getError(): string;
				public isDismissable(): boolean;
				public setContentDescription(param0: string): void;
				public setLabelFor(param0: android.view.View, param1: number): void;
				public removeChild(param0: android.view.View, param1: number): boolean;
				public removeChild(param0: android.view.View): boolean;
				public getLabeledBy(): android.view.accessibility.AccessibilityNodeInfo;
				public setBoundsInScreen(param0: android.graphics.Rect): void;
				public isLongClickable(): boolean;
				public getCollectionInfo(): android.view.accessibility.AccessibilityNodeInfo.CollectionInfo;
				public static obtain(param0: android.view.accessibility.AccessibilityNodeInfo): android.view.accessibility.AccessibilityNodeInfo;
				public setLongClickable(param0: boolean): void;
				public setHeading(param0: boolean): void;
				public setError(param0: string): void;
				public setDismissable(param0: boolean): void;
				public getInputType(): number;
				public isFocused(): boolean;
				public findAccessibilityNodeInfosByText(param0: string): java.util.List<android.view.accessibility.AccessibilityNodeInfo>;
				public isPassword(): boolean;
				public setLabeledBy(param0: android.view.View, param1: number): void;
				public performAction(param0: number, param1: android.os.Bundle): boolean;
				public setParent(param0: android.view.View): void;
				public setSource(param0: android.view.View, param1: number): void;
				public getChildCount(): number;
				public getBoundsInScreen(param0: android.graphics.Rect): void;
				public isSelected(): boolean;
				public getLabelFor(): android.view.accessibility.AccessibilityNodeInfo;
				public addAction(param0: android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction): void;
				/** @deprecated */
				public getActions(): number;
				public isEditable(): boolean;
				public setCheckable(param0: boolean): void;
				public getText(): string;
				public setPackageName(param0: string): void;
				public getRangeInfo(): android.view.accessibility.AccessibilityNodeInfo.RangeInfo;
				public isFocusable(): boolean;
				public setChecked(param0: boolean): void;
				public setFocusable(param0: boolean): void;
				public getClassName(): string;
				public isCheckable(): boolean;
				public setContentInvalid(param0: boolean): void;
				public setViewIdResourceName(param0: string): void;
				public setClickable(param0: boolean): void;
				public static obtain(param0: android.view.View): android.view.accessibility.AccessibilityNodeInfo;
				public setScreenReaderFocusable(param0: boolean): void;
				public setTextSelection(param0: number, param1: number): void;
				public setScrollable(param0: boolean): void;
				public isShowingHintText(): boolean;
				public isAccessibilityFocused(): boolean;
				public setTraversalAfter(param0: android.view.View, param1: number): void;
				public hashCode(): number;
				public equals(param0: any): boolean;
				public setParent(param0: android.view.View, param1: number): void;
				public setHintText(param0: string): void;
				public getExtras(): android.os.Bundle;
				public setClassName(param0: string): void;
				public setLiveRegion(param0: number): void;
				public isMultiLine(): boolean;
				public isScrollable(): boolean;
				public addChild(param0: android.view.View, param1: number): void;
				public getActionList(): java.util.List<android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction>;
				public setMovementGranularities(param0: number): void;
				public performAction(param0: number): boolean;
				public findAccessibilityNodeInfosByViewId(param0: string): java.util.List<android.view.accessibility.AccessibilityNodeInfo>;
				public toString(): string;
				public getTraversalBefore(): android.view.accessibility.AccessibilityNodeInfo;
				public isScreenReaderFocusable(): boolean;
				public setSource(param0: android.view.View): void;
				public setTraversalAfter(param0: android.view.View): void;
				public getMovementGranularities(): number;
				public setPassword(param0: boolean): void;
				public describeContents(): number;
				public getMaxTextLength(): number;
				public setText(param0: string): void;
				public isChecked(): boolean;
				public getHintText(): string;
				public setFocused(param0: boolean): void;
				public getCollectionItemInfo(): android.view.accessibility.AccessibilityNodeInfo.CollectionItemInfo;
				public isImportantForAccessibility(): boolean;
				public removeAction(param0: android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction): boolean;
				public focusSearch(param0: number): android.view.accessibility.AccessibilityNodeInfo;
				public isClickable(): boolean;
				public setCanOpenPopup(param0: boolean): void;
				public setImportantForAccessibility(param0: boolean): void;
				public getTextSelectionEnd(): number;
				public getAvailableExtraData(): java.util.List<string>;
				public setCollectionInfo(param0: android.view.accessibility.AccessibilityNodeInfo.CollectionInfo): void;
				public getChild(param0: number): android.view.accessibility.AccessibilityNodeInfo;
				public setInputType(param0: number): void;
				public getViewIdResourceName(): string;
				public setLabeledBy(param0: android.view.View): void;
				public static obtain(param0: android.view.View, param1: number): android.view.accessibility.AccessibilityNodeInfo;
				public setCollectionItemInfo(param0: android.view.accessibility.AccessibilityNodeInfo.CollectionItemInfo): void;
				public setLabelFor(param0: android.view.View): void;
				public getPaneTitle(): string;
				public static obtain(): android.view.accessibility.AccessibilityNodeInfo;
				public getTraversalAfter(): android.view.accessibility.AccessibilityNodeInfo;
				public getLiveRegion(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public setTooltipText(param0: string): void;
				public setBoundsInParent(param0: android.graphics.Rect): void;
				public isVisibleToUser(): boolean;
				public canOpenPopup(): boolean;
				public isHeading(): boolean;
				public setTraversalBefore(param0: android.view.View, param1: number): void;
				/** @deprecated */
				public removeAction(param0: number): void;
				public setAvailableExtraData(param0: java.util.List<string>): void;
				public isEnabled(): boolean;
				public setShowingHintText(param0: boolean): void;
				public refresh(): boolean;
			}
			export module AccessibilityNodeInfo {
				export class AccessibilityAction extends java.lang.Object {
					public static class: java.lang.Class<android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction>;
					public static ACTION_ACCESSIBILITY_FOCUS: android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction;
					public static ACTION_CLEAR_ACCESSIBILITY_FOCUS: android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction;
					public static ACTION_CLEAR_FOCUS: android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction;
					public static ACTION_CLEAR_SELECTION: android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction;
					public static ACTION_CLICK: android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction;
					public static ACTION_COLLAPSE: android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction;
					public static ACTION_CONTEXT_CLICK: android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction;
					public static ACTION_COPY: android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction;
					public static ACTION_CUT: android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction;
					public static ACTION_DISMISS: android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction;
					public static ACTION_EXPAND: android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction;
					public static ACTION_FOCUS: android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction;
					public static ACTION_HIDE_TOOLTIP: android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction;
					public static ACTION_LONG_CLICK: android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction;
					public static ACTION_MOVE_WINDOW: android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction;
					public static ACTION_NEXT_AT_MOVEMENT_GRANULARITY: android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction;
					public static ACTION_NEXT_HTML_ELEMENT: android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction;
					public static ACTION_PASTE: android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction;
					public static ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY: android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction;
					public static ACTION_PREVIOUS_HTML_ELEMENT: android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction;
					public static ACTION_SCROLL_BACKWARD: android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction;
					public static ACTION_SCROLL_DOWN: android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction;
					public static ACTION_SCROLL_FORWARD: android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction;
					public static ACTION_SCROLL_LEFT: android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction;
					public static ACTION_SCROLL_RIGHT: android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction;
					public static ACTION_SCROLL_TO_POSITION: android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction;
					public static ACTION_SCROLL_UP: android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction;
					public static ACTION_SELECT: android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction;
					public static ACTION_SET_PROGRESS: android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction;
					public static ACTION_SET_SELECTION: android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction;
					public static ACTION_SET_TEXT: android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction;
					public static ACTION_SHOW_ON_SCREEN: android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction;
					public static ACTION_SHOW_TOOLTIP: android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction;
					public getLabel(): string;
					public equals(param0: any): boolean;
					public toString(): string;
					public getId(): number;
					public constructor(param0: number, param1: string);
					public hashCode(): number;
				}
				export class CollectionInfo extends java.lang.Object {
					public static class: java.lang.Class<android.view.accessibility.AccessibilityNodeInfo.CollectionInfo>;
					public static SELECTION_MODE_MULTIPLE: number;
					public static SELECTION_MODE_NONE: number;
					public static SELECTION_MODE_SINGLE: number;
					public getRowCount(): number;
					public getColumnCount(): number;
					public getSelectionMode(): number;
					public static obtain(param0: number, param1: number, param2: boolean, param3: number): android.view.accessibility.AccessibilityNodeInfo.CollectionInfo;
					public static obtain(param0: number, param1: number, param2: boolean): android.view.accessibility.AccessibilityNodeInfo.CollectionInfo;
					public isHierarchical(): boolean;
				}
				export class CollectionItemInfo extends java.lang.Object {
					public static class: java.lang.Class<android.view.accessibility.AccessibilityNodeInfo.CollectionItemInfo>;
					public static obtain(param0: number, param1: number, param2: number, param3: number, param4: boolean): android.view.accessibility.AccessibilityNodeInfo.CollectionItemInfo;
					public getRowSpan(): number;
					public getColumnSpan(): number;
					/** @deprecated */
					public isHeading(): boolean;
					public getRowIndex(): number;
					public static obtain(param0: number, param1: number, param2: number, param3: number, param4: boolean, param5: boolean): android.view.accessibility.AccessibilityNodeInfo.CollectionItemInfo;
					public getColumnIndex(): number;
					public isSelected(): boolean;
				}
				export class RangeInfo extends java.lang.Object {
					public static class: java.lang.Class<android.view.accessibility.AccessibilityNodeInfo.RangeInfo>;
					public static RANGE_TYPE_FLOAT: number;
					public static RANGE_TYPE_INT: number;
					public static RANGE_TYPE_PERCENT: number;
					public getType(): number;
					public getCurrent(): number;
					public static obtain(param0: number, param1: number, param2: number, param3: number): android.view.accessibility.AccessibilityNodeInfo.RangeInfo;
					public getMax(): number;
					public getMin(): number;
				}
			}
		}
	}
}

declare module android {
	export module view {
		export module accessibility {
			export abstract class AccessibilityNodeProvider extends java.lang.Object {
				public static class: java.lang.Class<android.view.accessibility.AccessibilityNodeProvider>;
				public static HOST_VIEW_ID: number;
				public addExtraDataToAccessibilityNodeInfo(param0: number, param1: android.view.accessibility.AccessibilityNodeInfo, param2: string, param3: android.os.Bundle): void;
				public findAccessibilityNodeInfosByText(param0: string, param1: number): java.util.List<android.view.accessibility.AccessibilityNodeInfo>;
				public findFocus(param0: number): android.view.accessibility.AccessibilityNodeInfo;
				public performAction(param0: number, param1: number, param2: android.os.Bundle): boolean;
				public createAccessibilityNodeInfo(param0: number): android.view.accessibility.AccessibilityNodeInfo;
				public constructor();
			}
		}
	}
}

declare module android {
	export module view {
		export module accessibility {
			export class AccessibilityRecord extends java.lang.Object {
				public static class: java.lang.Class<android.view.accessibility.AccessibilityRecord>;
				public setChecked(param0: boolean): void;
				public recycle(): void;
				public getClassName(): string;
				public getContentDescription(): string;
				public getParcelableData(): android.os.Parcelable;
				public getRemovedCount(): number;
				public setEnabled(param0: boolean): void;
				public getItemCount(): number;
				public static obtain(param0: android.view.accessibility.AccessibilityRecord): android.view.accessibility.AccessibilityRecord;
				public getWindowId(): number;
				public setParcelableData(param0: android.os.Parcelable): void;
				public setScrollable(param0: boolean): void;
				public setScrollDeltaX(param0: number): void;
				public setFullScreen(param0: boolean): void;
				public setClassName(param0: string): void;
				public setCurrentItemIndex(param0: number): void;
				public setBeforeText(param0: string): void;
				public isScrollable(): boolean;
				public getScrollX(): number;
				public setMaxScrollX(param0: number): void;
				public toString(): string;
				public setFromIndex(param0: number): void;
				public setSource(param0: android.view.View): void;
				public setScrollY(param0: number): void;
				public getText(): java.util.List<string>;
				public getBeforeText(): string;
				public setPassword(param0: boolean): void;
				public setScrollDeltaY(param0: number): void;
				public setContentDescription(param0: string): void;
				public getSource(): android.view.accessibility.AccessibilityNodeInfo;
				public isChecked(): boolean;
				public setAddedCount(param0: number): void;
				public getAddedCount(): number;
				public getToIndex(): number;
				public static obtain(): android.view.accessibility.AccessibilityRecord;
				public getScrollY(): number;
				public getCurrentItemIndex(): number;
				public setScrollX(param0: number): void;
				public setToIndex(param0: number): void;
				public isFullScreen(): boolean;
				public isPassword(): boolean;
				public setSource(param0: android.view.View, param1: number): void;
				public getScrollDeltaY(): number;
				public getMaxScrollX(): number;
				public setRemovedCount(param0: number): void;
				public setItemCount(param0: number): void;
				public getScrollDeltaX(): number;
				public setMaxScrollY(param0: number): void;
				public getMaxScrollY(): number;
				public isEnabled(): boolean;
				public getFromIndex(): number;
			}
		}
	}
}

declare module android {
	export module view {
		export module accessibility {
			export abstract class AccessibilityRequestPreparer extends java.lang.Object {
				public static class: java.lang.Class<android.view.accessibility.AccessibilityRequestPreparer>;
				public static REQUEST_TYPE_EXTRA_DATA: number;
				public constructor(param0: android.view.View, param1: number);
				public getView(): android.view.View;
				public onPrepareExtraData(param0: number, param1: string, param2: android.os.Bundle, param3: android.os.Message): void;
			}
		}
	}
}

declare module android {
	export module view {
		export module accessibility {
			export class AccessibilityWindowInfo extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.view.accessibility.AccessibilityWindowInfo>;
				public static CREATOR: android.os.Parcelable.Creator<android.view.accessibility.AccessibilityWindowInfo>;
				public static TYPE_ACCESSIBILITY_OVERLAY: number;
				public static TYPE_APPLICATION: number;
				public static TYPE_INPUT_METHOD: number;
				public static TYPE_SPLIT_SCREEN_DIVIDER: number;
				public static TYPE_SYSTEM: number;
				public static obtain(): android.view.accessibility.AccessibilityWindowInfo;
				public recycle(): void;
				public getBoundsInScreen(param0: android.graphics.Rect): void;
				public getChildCount(): number;
				public static obtain(param0: android.view.accessibility.AccessibilityWindowInfo): android.view.accessibility.AccessibilityWindowInfo;
				public getType(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getId(): number;
				public toString(): string;
				public getParent(): android.view.accessibility.AccessibilityWindowInfo;
				public getTitle(): string;
				public isInPictureInPictureMode(): boolean;
				public getLayer(): number;
				public getRoot(): android.view.accessibility.AccessibilityNodeInfo;
				public isAccessibilityFocused(): boolean;
				public isFocused(): boolean;
				public hashCode(): number;
				public isActive(): boolean;
				public describeContents(): number;
				public equals(param0: any): boolean;
				public getAnchor(): android.view.accessibility.AccessibilityNodeInfo;
				public getChild(param0: number): android.view.accessibility.AccessibilityWindowInfo;
			}
		}
	}
}

declare module android {
	export module view {
		export module accessibility {
			export class CaptioningManager extends java.lang.Object {
				public static class: java.lang.Class<android.view.accessibility.CaptioningManager>;
				public getLocale(): java.util.Locale;
				public removeCaptioningChangeListener(param0: android.view.accessibility.CaptioningManager.CaptioningChangeListener): void;
				public isEnabled(): boolean;
				public getUserStyle(): android.view.accessibility.CaptioningManager.CaptionStyle;
				public addCaptioningChangeListener(param0: android.view.accessibility.CaptioningManager.CaptioningChangeListener): void;
				public getFontScale(): number;
			}
			export module CaptioningManager {
				export class CaptionStyle extends java.lang.Object {
					public static class: java.lang.Class<android.view.accessibility.CaptioningManager.CaptionStyle>;
					public static EDGE_TYPE_DEPRESSED: number;
					public static EDGE_TYPE_DROP_SHADOW: number;
					public static EDGE_TYPE_NONE: number;
					public static EDGE_TYPE_OUTLINE: number;
					public static EDGE_TYPE_RAISED: number;
					public static EDGE_TYPE_UNSPECIFIED: number;
					public backgroundColor: number;
					public edgeColor: number;
					public edgeType: number;
					public foregroundColor: number;
					public windowColor: number;
					public hasEdgeColor(): boolean;
					public hasWindowColor(): boolean;
					public hasEdgeType(): boolean;
					public getTypeface(): android.graphics.Typeface;
					public hasBackgroundColor(): boolean;
					public hasForegroundColor(): boolean;
				}
				export abstract class CaptioningChangeListener extends java.lang.Object {
					public static class: java.lang.Class<android.view.accessibility.CaptioningManager.CaptioningChangeListener>;
					public onFontScaleChanged(param0: number): void;
					public onLocaleChanged(param0: java.util.Locale): void;
					public constructor();
					public onUserStyleChanged(param0: android.view.accessibility.CaptioningManager.CaptionStyle): void;
					public onEnabledChanged(param0: boolean): void;
				}
			}
		}
	}
}

declare module android {
	export module view {
		export module animation {
			export class AccelerateDecelerateInterpolator extends android.view.animation.BaseInterpolator {
				public static class: java.lang.Class<android.view.animation.AccelerateDecelerateInterpolator>;
				public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
				public getInterpolation(param0: number): number;
				public constructor();
			}
		}
	}
}

declare module android {
	export module view {
		export module animation {
			export class AccelerateInterpolator extends android.view.animation.BaseInterpolator {
				public static class: java.lang.Class<android.view.animation.AccelerateInterpolator>;
				public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
				public getInterpolation(param0: number): number;
				public constructor(param0: number);
				public constructor();
			}
		}
	}
}

declare module android {
	export module view {
		export module animation {
			export class AlphaAnimation extends android.view.animation.Animation {
				public static class: java.lang.Class<android.view.animation.AlphaAnimation>;
				public constructor(param0: number, param1: number);
				public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
				public willChangeTransformationMatrix(): boolean;
				public applyTransformation(param0: number, param1: android.view.animation.Transformation): void;
				public willChangeBounds(): boolean;
				public constructor();
			}
		}
	}
}

declare module android {
	export module view {
		export module animation {
			export abstract class Animation extends java.lang.Object implements java.lang.Cloneable {
				public static class: java.lang.Class<android.view.animation.Animation>;
				public static ABSOLUTE: number;
				public static INFINITE: number;
				public static RELATIVE_TO_PARENT: number;
				public static RELATIVE_TO_SELF: number;
				public static RESTART: number;
				public static REVERSE: number;
				public static START_ON_FIRST_FRAME: number;
				public static ZORDER_BOTTOM: number;
				public static ZORDER_NORMAL: number;
				public static ZORDER_TOP: number;
				public getFillAfter(): boolean;
				public setDetachWallpaper(param0: boolean): void;
				public getFillBefore(): boolean;
				public constructor();
				public scaleCurrentDuration(param0: number): void;
				public hasEnded(): boolean;
				public getStartOffset(): number;
				public clone(): any;
				public cancel(): void;
				public setStartOffset(param0: number): void;
				public hasStarted(): boolean;
				public setAnimationListener(param0: android.view.animation.Animation.AnimationListener): void;
				public applyTransformation(param0: number, param1: android.view.animation.Transformation): void;
				public getDetachWallpaper(): boolean;
				public setInterpolator(param0: android.content.Context, param1: number): void;
				public getRepeatCount(): number;
				public setStartTime(param0: number): void;
				public startNow(): void;
				public clone(): android.view.animation.Animation;
				public willChangeTransformationMatrix(): boolean;
				public setInterpolator(param0: android.view.animation.Interpolator): void;
				public setRepeatMode(param0: number): void;
				public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
				public setFillEnabled(param0: boolean): void;
				public willChangeBounds(): boolean;
				public ensureInterpolator(): void;
				public restrictDuration(param0: number): void;
				public getDuration(): number;
				public setZAdjustment(param0: number): void;
				public finalize(): void;
				public initialize(param0: number, param1: number, param2: number, param3: number): void;
				public getStartTime(): number;
				public reset(): void;
				public getZAdjustment(): number;
				public setFillBefore(param0: boolean): void;
				public start(): void;
				public isInitialized(): boolean;
				public setDuration(param0: number): void;
				public getTransformation(param0: number, param1: android.view.animation.Transformation, param2: number): boolean;
				public setBackgroundColor(param0: number): void;
				public getRepeatMode(): number;
				public getInterpolator(): android.view.animation.Interpolator;
				public computeDurationHint(): number;
				public getTransformation(param0: number, param1: android.view.animation.Transformation): boolean;
				public getBackgroundColor(): number;
				public getScaleFactor(): number;
				public setRepeatCount(param0: number): void;
				public setFillAfter(param0: boolean): void;
				public resolveSize(param0: number, param1: number, param2: number, param3: number): number;
				public isFillEnabled(): boolean;
			}
			export module Animation {
				export class AnimationListener extends java.lang.Object {
					public static class: java.lang.Class<android.view.animation.Animation.AnimationListener>;
					/**
					 * Constructs a new instance of the android.view.animation.Animation$AnimationListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						onAnimationStart(param0: android.view.animation.Animation): void;
						onAnimationEnd(param0: android.view.animation.Animation): void;
						onAnimationRepeat(param0: android.view.animation.Animation): void;
					});
					public constructor();
					public onAnimationStart(param0: android.view.animation.Animation): void;
					public onAnimationEnd(param0: android.view.animation.Animation): void;
					public onAnimationRepeat(param0: android.view.animation.Animation): void;
				}
				export class Description extends java.lang.Object {
					public static class: java.lang.Class<android.view.animation.Animation.Description>;
					public type: number;
					public value: number;
					public constructor();
				}
			}
		}
	}
}

declare module android {
	export module view {
		export module animation {
			export class AnimationSet extends android.view.animation.Animation {
				public static class: java.lang.Class<android.view.animation.AnimationSet>;
				public getDuration(): number;
				public constructor(param0: boolean);
				public initialize(param0: number, param1: number, param2: number, param3: number): void;
				public constructor();
				public getStartTime(): number;
				public scaleCurrentDuration(param0: number): void;
				public reset(): void;
				public setFillBefore(param0: boolean): void;
				public clone(): any;
				public setStartOffset(param0: number): void;
				public setDuration(param0: number): void;
				public getTransformation(param0: number, param1: android.view.animation.Transformation, param2: number): boolean;
				public setStartTime(param0: number): void;
				public clone(): android.view.animation.Animation;
				public willChangeTransformationMatrix(): boolean;
				public getAnimations(): java.util.List<android.view.animation.Animation>;
				public computeDurationHint(): number;
				public getTransformation(param0: number, param1: android.view.animation.Transformation): boolean;
				public setRepeatMode(param0: number): void;
				public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
				public addAnimation(param0: android.view.animation.Animation): void;
				public willChangeBounds(): boolean;
				public setFillAfter(param0: boolean): void;
				public restrictDuration(param0: number): void;
				public clone(): android.view.animation.AnimationSet;
			}
		}
	}
}

declare module android {
	export module view {
		export module animation {
			export class AnimationUtils extends java.lang.Object {
				public static class: java.lang.Class<android.view.animation.AnimationUtils>;
				public static currentAnimationTimeMillis(): number;
				public static makeInChildBottomAnimation(param0: android.content.Context): android.view.animation.Animation;
				public static makeInAnimation(param0: android.content.Context, param1: boolean): android.view.animation.Animation;
				public static makeOutAnimation(param0: android.content.Context, param1: boolean): android.view.animation.Animation;
				public static loadInterpolator(param0: android.content.Context, param1: number): android.view.animation.Interpolator;
				public static loadLayoutAnimation(param0: android.content.Context, param1: number): android.view.animation.LayoutAnimationController;
				public constructor();
				public static loadAnimation(param0: android.content.Context, param1: number): android.view.animation.Animation;
			}
		}
	}
}

declare module android {
	export module view {
		export module animation {
			export class AnticipateInterpolator extends android.view.animation.BaseInterpolator {
				public static class: java.lang.Class<android.view.animation.AnticipateInterpolator>;
				public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
				public getInterpolation(param0: number): number;
				public constructor(param0: number);
				public constructor();
			}
		}
	}
}

declare module android {
	export module view {
		export module animation {
			export class AnticipateOvershootInterpolator extends android.view.animation.BaseInterpolator {
				public static class: java.lang.Class<android.view.animation.AnticipateOvershootInterpolator>;
				public constructor(param0: number, param1: number);
				public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
				public getInterpolation(param0: number): number;
				public constructor(param0: number);
				public constructor();
			}
		}
	}
}

declare module android {
	export module view {
		export module animation {
			export abstract class BaseInterpolator extends java.lang.Object implements android.view.animation.Interpolator {
				public static class: java.lang.Class<android.view.animation.BaseInterpolator>;
				public getInterpolation(param0: number): number;
				public constructor();
			}
		}
	}
}

declare module android {
	export module view {
		export module animation {
			export class BounceInterpolator extends android.view.animation.BaseInterpolator {
				public static class: java.lang.Class<android.view.animation.BounceInterpolator>;
				public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
				public getInterpolation(param0: number): number;
				public constructor();
			}
		}
	}
}

declare module android {
	export module view {
		export module animation {
			export class CycleInterpolator extends android.view.animation.BaseInterpolator {
				public static class: java.lang.Class<android.view.animation.CycleInterpolator>;
				public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
				public getInterpolation(param0: number): number;
				public constructor(param0: number);
				public constructor();
			}
		}
	}
}

declare module android {
	export module view {
		export module animation {
			export class DecelerateInterpolator extends android.view.animation.BaseInterpolator {
				public static class: java.lang.Class<android.view.animation.DecelerateInterpolator>;
				public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
				public getInterpolation(param0: number): number;
				public constructor(param0: number);
				public constructor();
			}
		}
	}
}

declare module android {
	export module view {
		export module animation {
			export class GridLayoutAnimationController extends android.view.animation.LayoutAnimationController {
				public static class: java.lang.Class<android.view.animation.GridLayoutAnimationController>;
				public static DIRECTION_BOTTOM_TO_TOP: number;
				public static DIRECTION_HORIZONTAL_MASK: number;
				public static DIRECTION_LEFT_TO_RIGHT: number;
				public static DIRECTION_RIGHT_TO_LEFT: number;
				public static DIRECTION_TOP_TO_BOTTOM: number;
				public static DIRECTION_VERTICAL_MASK: number;
				public static PRIORITY_COLUMN: number;
				public static PRIORITY_NONE: number;
				public static PRIORITY_ROW: number;
				public setDirectionPriority(param0: number): void;
				public constructor(param0: android.view.animation.Animation, param1: number, param2: number);
				public getRowDelay(): number;
				public setRowDelay(param0: number): void;
				public getDirectionPriority(): number;
				public willOverlap(): boolean;
				public getColumnDelay(): number;
				public getDelayForView(param0: android.view.View): number;
				public setColumnDelay(param0: number): void;
				public setDirection(param0: number): void;
				public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
				public getDirection(): number;
				public constructor(param0: android.view.animation.Animation, param1: number);
				public constructor(param0: android.view.animation.Animation);
			}
			export module GridLayoutAnimationController {
				export class AnimationParameters extends android.view.animation.LayoutAnimationController.AnimationParameters {
					public static class: java.lang.Class<android.view.animation.GridLayoutAnimationController.AnimationParameters>;
					public column: number;
					public columnsCount: number;
					public row: number;
					public rowsCount: number;
					public constructor();
				}
			}
		}
	}
}

declare module android {
	export module view {
		export module animation {
			export class Interpolator extends java.lang.Object implements android.animation.TimeInterpolator {
				public static class: java.lang.Class<android.view.animation.Interpolator>;
				/**
				 * Constructs a new instance of the android.view.animation.Interpolator interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getInterpolation(param0: number): number;
				});
				public constructor();
				public getInterpolation(param0: number): number;
			}
		}
	}
}

declare module android {
	export module view {
		export module animation {
			export class LayoutAnimationController extends java.lang.Object {
				public static class: java.lang.Class<android.view.animation.LayoutAnimationController>;
				public static ORDER_NORMAL: number;
				public static ORDER_RANDOM: number;
				public static ORDER_REVERSE: number;
				public mAnimation: android.view.animation.Animation;
				public mInterpolator: android.view.animation.Interpolator;
				public mRandomizer: java.util.Random;
				public setInterpolator(param0: android.content.Context, param1: number): void;
				public getAnimationForView(param0: android.view.View): android.view.animation.Animation;
				public setAnimation(param0: android.content.Context, param1: number): void;
				public getAnimation(): android.view.animation.Animation;
				public setOrder(param0: number): void;
				public getInterpolator(): android.view.animation.Interpolator;
				public willOverlap(): boolean;
				public getDelayForView(param0: android.view.View): number;
				public setInterpolator(param0: android.view.animation.Interpolator): void;
				public getDelay(): number;
				public setAnimation(param0: android.view.animation.Animation): void;
				public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
				public isDone(): boolean;
				public constructor(param0: android.view.animation.Animation, param1: number);
				public start(): void;
				public getTransformedIndex(param0: android.view.animation.LayoutAnimationController.AnimationParameters): number;
				public setDelay(param0: number): void;
				public getOrder(): number;
				public constructor(param0: android.view.animation.Animation);
			}
			export module LayoutAnimationController {
				export class AnimationParameters extends java.lang.Object {
					public static class: java.lang.Class<android.view.animation.LayoutAnimationController.AnimationParameters>;
					public count: number;
					public index: number;
					public constructor();
				}
			}
		}
	}
}

declare module android {
	export module view {
		export module animation {
			export class LinearInterpolator extends android.view.animation.BaseInterpolator {
				public static class: java.lang.Class<android.view.animation.LinearInterpolator>;
				public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
				public getInterpolation(param0: number): number;
				public constructor();
			}
		}
	}
}

declare module android {
	export module view {
		export module animation {
			export class OvershootInterpolator extends android.view.animation.BaseInterpolator {
				public static class: java.lang.Class<android.view.animation.OvershootInterpolator>;
				public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
				public getInterpolation(param0: number): number;
				public constructor(param0: number);
				public constructor();
			}
		}
	}
}

declare module android {
	export module view {
		export module animation {
			export class PathInterpolator extends android.view.animation.BaseInterpolator {
				public static class: java.lang.Class<android.view.animation.PathInterpolator>;
				public constructor(param0: number, param1: number);
				public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
				public constructor(param0: number, param1: number, param2: number, param3: number);
				public constructor(param0: android.graphics.Path);
				public getInterpolation(param0: number): number;
				public constructor();
			}
		}
	}
}

declare module android {
	export module view {
		export module animation {
			export class RotateAnimation extends android.view.animation.Animation {
				public static class: java.lang.Class<android.view.animation.RotateAnimation>;
				public constructor(param0: number, param1: number);
				public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
				public constructor(param0: number, param1: number, param2: number, param3: number);
				public initialize(param0: number, param1: number, param2: number, param3: number): void;
				public applyTransformation(param0: number, param1: android.view.animation.Transformation): void;
				public constructor(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number);
				public constructor();
			}
		}
	}
}

declare module android {
	export module view {
		export module animation {
			export class ScaleAnimation extends android.view.animation.Animation {
				public static class: java.lang.Class<android.view.animation.ScaleAnimation>;
				public constructor(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number);
				public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
				public constructor(param0: number, param1: number, param2: number, param3: number);
				public initialize(param0: number, param1: number, param2: number, param3: number): void;
				public applyTransformation(param0: number, param1: android.view.animation.Transformation): void;
				public constructor(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number);
				public constructor();
			}
		}
	}
}

declare module android {
	export module view {
		export module animation {
			export class Transformation extends java.lang.Object {
				public static class: java.lang.Class<android.view.animation.Transformation>;
				public static TYPE_ALPHA: number;
				public static TYPE_BOTH: number;
				public static TYPE_IDENTITY: number;
				public static TYPE_MATRIX: number;
				public mAlpha: number;
				public mMatrix: android.graphics.Matrix;
				public mTransformationType: number;
				public setTransformationType(param0: number): void;
				public getMatrix(): android.graphics.Matrix;
				public clear(): void;
				public setAlpha(param0: number): void;
				public getAlpha(): number;
				public compose(param0: android.view.animation.Transformation): void;
				public toString(): string;
				public getTransformationType(): number;
				public set(param0: android.view.animation.Transformation): void;
				public toShortString(): string;
				public constructor();
			}
		}
	}
}

declare module android {
	export module view {
		export module animation {
			export class TranslateAnimation extends android.view.animation.Animation {
				public static class: java.lang.Class<android.view.animation.TranslateAnimation>;
				public constructor(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number);
				public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
				public constructor(param0: number, param1: number, param2: number, param3: number);
				public initialize(param0: number, param1: number, param2: number, param3: number): void;
				public applyTransformation(param0: number, param1: android.view.animation.Transformation): void;
				public constructor();
			}
		}
	}
}

declare module android {
	export module view {
		export module autofill {
			export class AutofillId extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.view.autofill.AutofillId>;
				public static CREATOR: android.os.Parcelable.Creator<android.view.autofill.AutofillId>;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public equals(param0: any): boolean;
				public describeContents(): number;
				public toString(): string;
			}
		}
	}
}

declare module android {
	export module view {
		export module autofill {
			export class AutofillManager extends java.lang.Object {
				public static class: java.lang.Class<android.view.autofill.AutofillManager>;
				public static EXTRA_ASSIST_STRUCTURE: string;
				public static EXTRA_AUTHENTICATION_RESULT: string;
				public static EXTRA_CLIENT_STATE: string;
				public getAvailableFieldClassificationAlgorithms(): java.util.List<string>;
				public isAutofillSupported(): boolean;
				public notifyViewExited(param0: android.view.View): void;
				public requestAutofill(param0: android.view.View, param1: number, param2: android.graphics.Rect): void;
				public notifyValueChanged(param0: android.view.View, param1: number, param2: android.view.autofill.AutofillValue): void;
				public getUserData(): android.service.autofill.UserData;
				public notifyViewVisibilityChanged(param0: android.view.View, param1: boolean): void;
				public isFieldClassificationEnabled(): boolean;
				public cancel(): void;
				public hasEnabledAutofillServices(): boolean;
				public notifyViewEntered(param0: android.view.View): void;
				public notifyViewClicked(param0: android.view.View, param1: number): void;
				public notifyValueChanged(param0: android.view.View): void;
				public getDefaultFieldClassificationAlgorithm(): string;
				public requestAutofill(param0: android.view.View): void;
				public unregisterCallback(param0: android.view.autofill.AutofillManager.AutofillCallback): void;
				public notifyViewClicked(param0: android.view.View): void;
				public registerCallback(param0: android.view.autofill.AutofillManager.AutofillCallback): void;
				public notifyViewExited(param0: android.view.View, param1: number): void;
				public notifyViewEntered(param0: android.view.View, param1: number, param2: android.graphics.Rect): void;
				public commit(): void;
				public notifyViewVisibilityChanged(param0: android.view.View, param1: number, param2: boolean): void;
				public getNextAutofillId(): android.view.autofill.AutofillId;
				public disableAutofillServices(): void;
				public setUserData(param0: android.service.autofill.UserData): void;
				public isEnabled(): boolean;
				public getUserDataId(): string;
				public getAutofillServiceComponentName(): android.content.ComponentName;
			}
			export module AutofillManager {
				export abstract class AutofillCallback extends java.lang.Object {
					public static class: java.lang.Class<android.view.autofill.AutofillManager.AutofillCallback>;
					public static EVENT_INPUT_HIDDEN: number;
					public static EVENT_INPUT_SHOWN: number;
					public static EVENT_INPUT_UNAVAILABLE: number;
					public onAutofillEvent(param0: android.view.View, param1: number): void;
					public constructor();
					public onAutofillEvent(param0: android.view.View, param1: number, param2: number): void;
				}
			}
		}
	}
}

declare module android {
	export module view {
		export module autofill {
			export class AutofillValue extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.view.autofill.AutofillValue>;
				public static CREATOR: android.os.Parcelable.Creator<android.view.autofill.AutofillValue>;
				public isList(): boolean;
				public getDateValue(): number;
				public static forDate(param0: number): android.view.autofill.AutofillValue;
				public getTextValue(): string;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public isDate(): boolean;
				public toString(): string;
				public static forList(param0: number): android.view.autofill.AutofillValue;
				public static forToggle(param0: boolean): android.view.autofill.AutofillValue;
				public static forText(param0: string): android.view.autofill.AutofillValue;
				public hashCode(): number;
				public isToggle(): boolean;
				public equals(param0: any): boolean;
				public describeContents(): number;
				public isText(): boolean;
				public getToggleValue(): boolean;
				public getListValue(): number;
			}
		}
	}
}

declare module android {
	export module view {
		export module inputmethod {
			export class BaseInputConnection extends java.lang.Object implements android.view.inputmethod.InputConnection {
				public static class: java.lang.Class<android.view.inputmethod.BaseInputConnection>;
				public getHandler(): android.os.Handler;
				public performPrivateCommand(param0: string, param1: android.os.Bundle): boolean;
				public clearMetaKeyStates(param0: number): boolean;
				public commitCompletion(param0: android.view.inputmethod.CompletionInfo): boolean;
				public deleteSurroundingText(param0: number, param1: number): boolean;
				public getTextAfterCursor(param0: number, param1: number): string;
				public commitText(param0: string, param1: number): boolean;
				public getSelectedText(param0: number): string;
				public performEditorAction(param0: number): boolean;
				public static getComposingSpanStart(param0: android.text.Spannable): number;
				public commitCorrection(param0: android.view.inputmethod.CorrectionInfo): boolean;
				public getExtractedText(param0: android.view.inputmethod.ExtractedTextRequest, param1: number): android.view.inputmethod.ExtractedText;
				public getCursorCapsMode(param0: number): number;
				public getEditable(): android.text.Editable;
				public beginBatchEdit(): boolean;
				public setSelection(param0: number, param1: number): boolean;
				public sendKeyEvent(param0: android.view.KeyEvent): boolean;
				public static removeComposingSpans(param0: android.text.Spannable): void;
				public commitContent(param0: android.view.inputmethod.InputContentInfo, param1: number, param2: android.os.Bundle): boolean;
				public static setComposingSpans(param0: android.text.Spannable): void;
				public getTextBeforeCursor(param0: number, param1: number): string;
				public deleteSurroundingTextInCodePoints(param0: number, param1: number): boolean;
				public finishComposingText(): boolean;
				public performContextMenuAction(param0: number): boolean;
				public endBatchEdit(): boolean;
				public constructor(param0: android.view.View, param1: boolean);
				public setComposingRegion(param0: number, param1: number): boolean;
				public static getComposingSpanEnd(param0: android.text.Spannable): number;
				public closeConnection(): void;
				public setComposingText(param0: string, param1: number): boolean;
				public requestCursorUpdates(param0: number): boolean;
				public reportFullscreenMode(param0: boolean): boolean;
			}
		}
	}
}

declare module android {
	export module view {
		export module inputmethod {
			export class CompletionInfo extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.view.inputmethod.CompletionInfo>;
				public static CREATOR: android.os.Parcelable.Creator<android.view.inputmethod.CompletionInfo>;
				public constructor(param0: number, param1: number, param2: string, param3: string);
				public getLabel(): string;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public constructor(param0: number, param1: number, param2: string);
				public getId(): number;
				public describeContents(): number;
				public getPosition(): number;
				public toString(): string;
				public getText(): string;
			}
		}
	}
}

declare module android {
	export module view {
		export module inputmethod {
			export class CorrectionInfo extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.view.inputmethod.CorrectionInfo>;
				public static CREATOR: android.os.Parcelable.Creator<android.view.inputmethod.CorrectionInfo>;
				public getOffset(): number;
				public getNewText(): string;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getOldText(): string;
				public toString(): string;
				public constructor(param0: number, param1: string, param2: string);
			}
		}
	}
}

declare module android {
	export module view {
		export module inputmethod {
			export class CursorAnchorInfo extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.view.inputmethod.CursorAnchorInfo>;
				public static CREATOR: android.os.Parcelable.Creator<android.view.inputmethod.CursorAnchorInfo>;
				public static FLAG_HAS_INVISIBLE_REGION: number;
				public static FLAG_HAS_VISIBLE_REGION: number;
				public static FLAG_IS_RTL: number;
				public getInsertionMarkerBaseline(): number;
				public getMatrix(): android.graphics.Matrix;
				public getInsertionMarkerHorizontal(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getSelectionEnd(): number;
				public getComposingText(): string;
				public toString(): string;
				public getSelectionStart(): number;
				public getComposingTextStart(): number;
				public getCharacterBoundsFlags(param0: number): number;
				public getCharacterBounds(param0: number): android.graphics.RectF;
				public constructor(param0: android.os.Parcel);
				public hashCode(): number;
				public equals(param0: any): boolean;
				public describeContents(): number;
				public getInsertionMarkerTop(): number;
				public getInsertionMarkerBottom(): number;
				public getInsertionMarkerFlags(): number;
			}
			export module CursorAnchorInfo {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<android.view.inputmethod.CursorAnchorInfo.Builder>;
					public build(): android.view.inputmethod.CursorAnchorInfo;
					public reset(): void;
					public constructor();
					public setInsertionMarkerLocation(param0: number, param1: number, param2: number, param3: number, param4: number): android.view.inputmethod.CursorAnchorInfo.Builder;
					public setMatrix(param0: android.graphics.Matrix): android.view.inputmethod.CursorAnchorInfo.Builder;
					public setComposingText(param0: number, param1: string): android.view.inputmethod.CursorAnchorInfo.Builder;
					public setSelectionRange(param0: number, param1: number): android.view.inputmethod.CursorAnchorInfo.Builder;
					public addCharacterBounds(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number): android.view.inputmethod.CursorAnchorInfo.Builder;
				}
			}
		}
	}
}

declare module android {
	export module view {
		export module inputmethod {
			export class EditorInfo extends java.lang.Object implements android.text.InputType, android.os.Parcelable {
				public static class: java.lang.Class<android.view.inputmethod.EditorInfo>;
				public static CREATOR: android.os.Parcelable.Creator<android.view.inputmethod.EditorInfo>;
				public static IME_ACTION_DONE: number;
				public static IME_ACTION_GO: number;
				public static IME_ACTION_NEXT: number;
				public static IME_ACTION_NONE: number;
				public static IME_ACTION_PREVIOUS: number;
				public static IME_ACTION_SEARCH: number;
				public static IME_ACTION_SEND: number;
				public static IME_ACTION_UNSPECIFIED: number;
				public static IME_FLAG_FORCE_ASCII: number;
				public static IME_FLAG_NAVIGATE_NEXT: number;
				public static IME_FLAG_NAVIGATE_PREVIOUS: number;
				public static IME_FLAG_NO_ACCESSORY_ACTION: number;
				public static IME_FLAG_NO_ENTER_ACTION: number;
				public static IME_FLAG_NO_EXTRACT_UI: number;
				public static IME_FLAG_NO_FULLSCREEN: number;
				public static IME_FLAG_NO_PERSONALIZED_LEARNING: number;
				public static IME_MASK_ACTION: number;
				public static IME_NULL: number;
				public actionId: number;
				public actionLabel: string;
				public contentMimeTypes: native.Array<string>;
				public extras: android.os.Bundle;
				public fieldId: number;
				public fieldName: string;
				public hintLocales: any;
				public hintText: string;
				public imeOptions: number;
				public initialCapsMode: number;
				public initialSelEnd: number;
				public initialSelStart: number;
				public inputType: number;
				public label: string;
				public packageName: string;
				public privateImeOptions: string;
				public makeCompatible(param0: number): void;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public dump(param0: android.util.Printer, param1: string): void;
				public describeContents(): number;
				public constructor();
			}
		}
	}
}

declare module android {
	export module view {
		export module inputmethod {
			export class ExtractedText extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.view.inputmethod.ExtractedText>;
				public static CREATOR: android.os.Parcelable.Creator<android.view.inputmethod.ExtractedText>;
				public static FLAG_SELECTING: number;
				public static FLAG_SINGLE_LINE: number;
				public flags: number;
				public hint: string;
				public partialEndOffset: number;
				public partialStartOffset: number;
				public selectionEnd: number;
				public selectionStart: number;
				public startOffset: number;
				public text: string;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public constructor();
			}
		}
	}
}

declare module android {
	export module view {
		export module inputmethod {
			export class ExtractedTextRequest extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.view.inputmethod.ExtractedTextRequest>;
				public static CREATOR: android.os.Parcelable.Creator<android.view.inputmethod.ExtractedTextRequest>;
				public flags: number;
				public hintMaxChars: number;
				public hintMaxLines: number;
				public token: number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public constructor();
			}
		}
	}
}

declare module android {
	export module view {
		export module inputmethod {
			export class InputBinding extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.view.inputmethod.InputBinding>;
				public static CREATOR: android.os.Parcelable.Creator<android.view.inputmethod.InputBinding>;
				public getConnectionToken(): android.os.IBinder;
				public getUid(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public constructor(param0: android.view.inputmethod.InputConnection, param1: android.os.IBinder, param2: number, param3: number);
				public getPid(): number;
				public describeContents(): number;
				public toString(): string;
				public constructor(param0: android.view.inputmethod.InputConnection, param1: android.view.inputmethod.InputBinding);
				public getConnection(): android.view.inputmethod.InputConnection;
			}
		}
	}
}

declare module android {
	export module view {
		export module inputmethod {
			export class InputConnection extends java.lang.Object {
				public static class: java.lang.Class<android.view.inputmethod.InputConnection>;
				/**
				 * Constructs a new instance of the android.view.inputmethod.InputConnection interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getTextBeforeCursor(param0: number, param1: number): string;
					getTextAfterCursor(param0: number, param1: number): string;
					getSelectedText(param0: number): string;
					getCursorCapsMode(param0: number): number;
					getExtractedText(param0: android.view.inputmethod.ExtractedTextRequest, param1: number): android.view.inputmethod.ExtractedText;
					deleteSurroundingText(param0: number, param1: number): boolean;
					deleteSurroundingTextInCodePoints(param0: number, param1: number): boolean;
					setComposingText(param0: string, param1: number): boolean;
					setComposingRegion(param0: number, param1: number): boolean;
					finishComposingText(): boolean;
					commitText(param0: string, param1: number): boolean;
					commitCompletion(param0: android.view.inputmethod.CompletionInfo): boolean;
					commitCorrection(param0: android.view.inputmethod.CorrectionInfo): boolean;
					setSelection(param0: number, param1: number): boolean;
					performEditorAction(param0: number): boolean;
					performContextMenuAction(param0: number): boolean;
					beginBatchEdit(): boolean;
					endBatchEdit(): boolean;
					sendKeyEvent(param0: android.view.KeyEvent): boolean;
					clearMetaKeyStates(param0: number): boolean;
					reportFullscreenMode(param0: boolean): boolean;
					performPrivateCommand(param0: string, param1: android.os.Bundle): boolean;
					requestCursorUpdates(param0: number): boolean;
					getHandler(): android.os.Handler;
					closeConnection(): void;
					commitContent(param0: android.view.inputmethod.InputContentInfo, param1: number, param2: android.os.Bundle): boolean;
				});
				public constructor();
				public static GET_EXTRACTED_TEXT_MONITOR: number;
				public static INPUT_CONTENT_GRANT_READ_URI_PERMISSION: number;
				public static CURSOR_UPDATE_IMMEDIATE: number;
				public static GET_TEXT_WITH_STYLES: number;
				public static CURSOR_UPDATE_MONITOR: number;
				public getHandler(): android.os.Handler;
				public performPrivateCommand(param0: string, param1: android.os.Bundle): boolean;
				public clearMetaKeyStates(param0: number): boolean;
				public deleteSurroundingText(param0: number, param1: number): boolean;
				public commitCompletion(param0: android.view.inputmethod.CompletionInfo): boolean;
				public getTextAfterCursor(param0: number, param1: number): string;
				public getSelectedText(param0: number): string;
				public commitText(param0: string, param1: number): boolean;
				public performEditorAction(param0: number): boolean;
				public commitCorrection(param0: android.view.inputmethod.CorrectionInfo): boolean;
				public getExtractedText(param0: android.view.inputmethod.ExtractedTextRequest, param1: number): android.view.inputmethod.ExtractedText;
				public getCursorCapsMode(param0: number): number;
				public beginBatchEdit(): boolean;
				public setSelection(param0: number, param1: number): boolean;
				public sendKeyEvent(param0: android.view.KeyEvent): boolean;
				public commitContent(param0: android.view.inputmethod.InputContentInfo, param1: number, param2: android.os.Bundle): boolean;
				public getTextBeforeCursor(param0: number, param1: number): string;
				public deleteSurroundingTextInCodePoints(param0: number, param1: number): boolean;
				public finishComposingText(): boolean;
				public performContextMenuAction(param0: number): boolean;
				public endBatchEdit(): boolean;
				public setComposingRegion(param0: number, param1: number): boolean;
				public closeConnection(): void;
				public setComposingText(param0: string, param1: number): boolean;
				public requestCursorUpdates(param0: number): boolean;
				public reportFullscreenMode(param0: boolean): boolean;
			}
		}
	}
}

declare module android {
	export module view {
		export module inputmethod {
			export class InputConnectionWrapper extends java.lang.Object implements android.view.inputmethod.InputConnection {
				public static class: java.lang.Class<android.view.inputmethod.InputConnectionWrapper>;
				public getHandler(): android.os.Handler;
				public setTarget(param0: android.view.inputmethod.InputConnection): void;
				public performPrivateCommand(param0: string, param1: android.os.Bundle): boolean;
				public clearMetaKeyStates(param0: number): boolean;
				public constructor(param0: android.view.inputmethod.InputConnection, param1: boolean);
				public deleteSurroundingText(param0: number, param1: number): boolean;
				public commitCompletion(param0: android.view.inputmethod.CompletionInfo): boolean;
				public getTextAfterCursor(param0: number, param1: number): string;
				public getSelectedText(param0: number): string;
				public commitText(param0: string, param1: number): boolean;
				public performEditorAction(param0: number): boolean;
				public commitCorrection(param0: android.view.inputmethod.CorrectionInfo): boolean;
				public getExtractedText(param0: android.view.inputmethod.ExtractedTextRequest, param1: number): android.view.inputmethod.ExtractedText;
				public getCursorCapsMode(param0: number): number;
				public beginBatchEdit(): boolean;
				public setSelection(param0: number, param1: number): boolean;
				public sendKeyEvent(param0: android.view.KeyEvent): boolean;
				public commitContent(param0: android.view.inputmethod.InputContentInfo, param1: number, param2: android.os.Bundle): boolean;
				public getTextBeforeCursor(param0: number, param1: number): string;
				public deleteSurroundingTextInCodePoints(param0: number, param1: number): boolean;
				public finishComposingText(): boolean;
				public performContextMenuAction(param0: number): boolean;
				public endBatchEdit(): boolean;
				public setComposingRegion(param0: number, param1: number): boolean;
				public closeConnection(): void;
				public setComposingText(param0: string, param1: number): boolean;
				public requestCursorUpdates(param0: number): boolean;
				public reportFullscreenMode(param0: boolean): boolean;
			}
		}
	}
}

declare module android {
	export module view {
		export module inputmethod {
			export class InputContentInfo extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.view.inputmethod.InputContentInfo>;
				public static CREATOR: android.os.Parcelable.Creator<android.view.inputmethod.InputContentInfo>;
				public constructor(param0: android.net.Uri, param1: android.content.ClipDescription);
				public constructor(param0: android.net.Uri, param1: android.content.ClipDescription, param2: android.net.Uri);
				public getLinkUri(): android.net.Uri;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public getContentUri(): android.net.Uri;
				public requestPermission(): void;
				public getDescription(): android.content.ClipDescription;
				public releasePermission(): void;
			}
		}
	}
}

declare module android {
	export module view {
		export module inputmethod {
			export class InputMethod extends java.lang.Object {
				public static class: java.lang.Class<android.view.inputmethod.InputMethod>;
				/**
				 * Constructs a new instance of the android.view.inputmethod.InputMethod interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					attachToken(param0: android.os.IBinder): void;
					bindInput(param0: android.view.inputmethod.InputBinding): void;
					unbindInput(): void;
					startInput(param0: android.view.inputmethod.InputConnection, param1: android.view.inputmethod.EditorInfo): void;
					restartInput(param0: android.view.inputmethod.InputConnection, param1: android.view.inputmethod.EditorInfo): void;
					createSession(param0: android.view.inputmethod.InputMethod.SessionCallback): void;
					setSessionEnabled(param0: android.view.inputmethod.InputMethodSession, param1: boolean): void;
					revokeSession(param0: android.view.inputmethod.InputMethodSession): void;
					showSoftInput(param0: number, param1: android.os.ResultReceiver): void;
					hideSoftInput(param0: number, param1: android.os.ResultReceiver): void;
					changeInputMethodSubtype(param0: android.view.inputmethod.InputMethodSubtype): void;
				});
				public constructor();
				public static SERVICE_INTERFACE: string;
				public static SHOW_EXPLICIT: number;
				public static SHOW_FORCED: number;
				public static SERVICE_META_DATA: string;
				public startInput(param0: android.view.inputmethod.InputConnection, param1: android.view.inputmethod.EditorInfo): void;
				public bindInput(param0: android.view.inputmethod.InputBinding): void;
				public restartInput(param0: android.view.inputmethod.InputConnection, param1: android.view.inputmethod.EditorInfo): void;
				public setSessionEnabled(param0: android.view.inputmethod.InputMethodSession, param1: boolean): void;
				public unbindInput(): void;
				public showSoftInput(param0: number, param1: android.os.ResultReceiver): void;
				public hideSoftInput(param0: number, param1: android.os.ResultReceiver): void;
				public revokeSession(param0: android.view.inputmethod.InputMethodSession): void;
				public attachToken(param0: android.os.IBinder): void;
				public createSession(param0: android.view.inputmethod.InputMethod.SessionCallback): void;
				public changeInputMethodSubtype(param0: android.view.inputmethod.InputMethodSubtype): void;
			}
			export module InputMethod {
				export class SessionCallback extends java.lang.Object {
					public static class: java.lang.Class<android.view.inputmethod.InputMethod.SessionCallback>;
					/**
					 * Constructs a new instance of the android.view.inputmethod.InputMethod$SessionCallback interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						sessionCreated(param0: android.view.inputmethod.InputMethodSession): void;
					});
					public constructor();
					public sessionCreated(param0: android.view.inputmethod.InputMethodSession): void;
				}
			}
		}
	}
}

declare module android {
	export module view {
		export module inputmethod {
			export class InputMethodInfo extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.view.inputmethod.InputMethodInfo>;
				public static CREATOR: android.os.Parcelable.Creator<android.view.inputmethod.InputMethodInfo>;
				public getServiceName(): string;
				public constructor(param0: android.content.Context, param1: android.content.pm.ResolveInfo);
				public getId(): string;
				public getIsDefaultResourceId(): number;
				public loadLabel(param0: android.content.pm.PackageManager): string;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getPackageName(): string;
				public loadIcon(param0: android.content.pm.PackageManager): android.graphics.drawable.Drawable;
				public getSettingsActivity(): string;
				public dump(param0: android.util.Printer, param1: string): void;
				public getComponent(): android.content.ComponentName;
				public getServiceInfo(): android.content.pm.ServiceInfo;
				public toString(): string;
				public getSubtypeCount(): number;
				public getSubtypeAt(param0: number): android.view.inputmethod.InputMethodSubtype;
				public constructor(param0: string, param1: string, param2: string, param3: string);
				public hashCode(): number;
				public equals(param0: any): boolean;
				public describeContents(): number;
			}
		}
	}
}

declare module android {
	export module view {
		export module inputmethod {
			export class InputMethodManager extends java.lang.Object {
				public static class: java.lang.Class<android.view.inputmethod.InputMethodManager>;
				public static HIDE_IMPLICIT_ONLY: number;
				public static HIDE_NOT_ALWAYS: number;
				public static RESULT_HIDDEN: number;
				public static RESULT_SHOWN: number;
				public static RESULT_UNCHANGED_HIDDEN: number;
				public static RESULT_UNCHANGED_SHOWN: number;
				public static SHOW_FORCED: number;
				public static SHOW_IMPLICIT: number;
				public showSoftInput(param0: android.view.View, param1: number): boolean;
				public isFullscreenMode(): boolean;
				public getCurrentInputMethodSubtype(): android.view.inputmethod.InputMethodSubtype;
				public getInputMethodList(): java.util.List<android.view.inputmethod.InputMethodInfo>;
				public isAcceptingText(): boolean;
				/** @deprecated */
				public showSoftInputFromInputMethod(param0: android.os.IBinder, param1: number): void;
				public viewClicked(param0: android.view.View): void;
				public setAdditionalInputMethodSubtypes(param0: string, param1: native.Array<android.view.inputmethod.InputMethodSubtype>): void;
				public toggleSoftInputFromWindow(param0: android.os.IBinder, param1: number, param2: number): void;
				public sendAppPrivateCommand(param0: android.view.View, param1: string, param2: android.os.Bundle): void;
				public restartInput(param0: android.view.View): void;
				/** @deprecated */
				public setInputMethodAndSubtype(param0: android.os.IBinder, param1: string, param2: android.view.inputmethod.InputMethodSubtype): void;
				public showInputMethodPicker(): void;
				/** @deprecated */
				public switchToNextInputMethod(param0: android.os.IBinder, param1: boolean): boolean;
				/** @deprecated */
				public shouldOfferSwitchingToNextInputMethod(param0: android.os.IBinder): boolean;
				public getEnabledInputMethodSubtypeList(param0: android.view.inputmethod.InputMethodInfo, param1: boolean): java.util.List<android.view.inputmethod.InputMethodSubtype>;
				/** @deprecated */
				public hideStatusIcon(param0: android.os.IBinder): void;
				public isActive(param0: android.view.View): boolean;
				public getShortcutInputMethodsAndSubtypes(): java.util.Map<android.view.inputmethod.InputMethodInfo,java.util.List<android.view.inputmethod.InputMethodSubtype>>;
				public updateCursorAnchorInfo(param0: android.view.View, param1: android.view.inputmethod.CursorAnchorInfo): void;
				/** @deprecated */
				public isWatchingCursor(param0: android.view.View): boolean;
				public getEnabledInputMethodList(): java.util.List<android.view.inputmethod.InputMethodInfo>;
				public showInputMethodAndSubtypeEnabler(param0: string): void;
				public getLastInputMethodSubtype(): android.view.inputmethod.InputMethodSubtype;
				public showSoftInput(param0: android.view.View, param1: number, param2: android.os.ResultReceiver): boolean;
				public updateExtractedText(param0: android.view.View, param1: number, param2: android.view.inputmethod.ExtractedText): void;
				/** @deprecated */
				public showStatusIcon(param0: android.os.IBinder, param1: string, param2: number): void;
				public hideSoftInputFromWindow(param0: android.os.IBinder, param1: number, param2: android.os.ResultReceiver): boolean;
				public dispatchKeyEventFromInputMethod(param0: android.view.View, param1: android.view.KeyEvent): void;
				/** @deprecated */
				public switchToLastInputMethod(param0: android.os.IBinder): boolean;
				public hideSoftInputFromWindow(param0: android.os.IBinder, param1: number): boolean;
				/** @deprecated */
				public updateCursor(param0: android.view.View, param1: number, param2: number, param3: number, param4: number): void;
				public isActive(): boolean;
				public toggleSoftInput(param0: number, param1: number): void;
				public displayCompletions(param0: android.view.View, param1: native.Array<android.view.inputmethod.CompletionInfo>): void;
				/** @deprecated */
				public hideSoftInputFromInputMethod(param0: android.os.IBinder, param1: number): void;
				public setCurrentInputMethodSubtype(param0: android.view.inputmethod.InputMethodSubtype): boolean;
				public updateSelection(param0: android.view.View, param1: number, param2: number, param3: number, param4: number): void;
				/** @deprecated */
				public setInputMethod(param0: android.os.IBinder, param1: string): void;
			}
		}
	}
}

declare module android {
	export module view {
		export module inputmethod {
			export class InputMethodSession extends java.lang.Object {
				public static class: java.lang.Class<android.view.inputmethod.InputMethodSession>;
				/**
				 * Constructs a new instance of the android.view.inputmethod.InputMethodSession interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					finishInput(): void;
					updateSelection(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number): void;
					viewClicked(param0: boolean): void;
					updateCursor(param0: android.graphics.Rect): void;
					displayCompletions(param0: native.Array<android.view.inputmethod.CompletionInfo>): void;
					updateExtractedText(param0: number, param1: android.view.inputmethod.ExtractedText): void;
					dispatchKeyEvent(param0: number, param1: android.view.KeyEvent, param2: android.view.inputmethod.InputMethodSession.EventCallback): void;
					dispatchTrackballEvent(param0: number, param1: android.view.MotionEvent, param2: android.view.inputmethod.InputMethodSession.EventCallback): void;
					dispatchGenericMotionEvent(param0: number, param1: android.view.MotionEvent, param2: android.view.inputmethod.InputMethodSession.EventCallback): void;
					appPrivateCommand(param0: string, param1: android.os.Bundle): void;
					toggleSoftInput(param0: number, param1: number): void;
					updateCursorAnchorInfo(param0: android.view.inputmethod.CursorAnchorInfo): void;
				});
				public constructor();
				public viewClicked(param0: boolean): void;
				public finishInput(): void;
				public updateCursor(param0: android.graphics.Rect): void;
				public dispatchTrackballEvent(param0: number, param1: android.view.MotionEvent, param2: android.view.inputmethod.InputMethodSession.EventCallback): void;
				public appPrivateCommand(param0: string, param1: android.os.Bundle): void;
				public toggleSoftInput(param0: number, param1: number): void;
				public updateSelection(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number): void;
				public dispatchGenericMotionEvent(param0: number, param1: android.view.MotionEvent, param2: android.view.inputmethod.InputMethodSession.EventCallback): void;
				public displayCompletions(param0: native.Array<android.view.inputmethod.CompletionInfo>): void;
				public updateCursorAnchorInfo(param0: android.view.inputmethod.CursorAnchorInfo): void;
				public dispatchKeyEvent(param0: number, param1: android.view.KeyEvent, param2: android.view.inputmethod.InputMethodSession.EventCallback): void;
				public updateExtractedText(param0: number, param1: android.view.inputmethod.ExtractedText): void;
			}
			export module InputMethodSession {
				export class EventCallback extends java.lang.Object {
					public static class: java.lang.Class<android.view.inputmethod.InputMethodSession.EventCallback>;
					/**
					 * Constructs a new instance of the android.view.inputmethod.InputMethodSession$EventCallback interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						finishedEvent(param0: number, param1: boolean): void;
					});
					public constructor();
					public finishedEvent(param0: number, param1: boolean): void;
				}
			}
		}
	}
}

declare module android {
	export module view {
		export module inputmethod {
			export class InputMethodSubtype extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.view.inputmethod.InputMethodSubtype>;
				public static CREATOR: android.os.Parcelable.Creator<android.view.inputmethod.InputMethodSubtype>;
				public getNameResId(): number;
				public isAsciiCapable(): boolean;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				/** @deprecated */
				public constructor(param0: number, param1: number, param2: string, param3: string, param4: string, param5: boolean, param6: boolean, param7: number);
				public getDisplayName(param0: android.content.Context, param1: string, param2: android.content.pm.ApplicationInfo): string;
				public containsExtraValueKey(param0: string): boolean;
				public getIconResId(): number;
				public getLanguageTag(): string;
				public getExtraValue(): string;
				public overridesImplicitlyEnabledSubtype(): boolean;
				public getExtraValueOf(param0: string): string;
				public hashCode(): number;
				/** @deprecated */
				public getLocale(): string;
				public equals(param0: any): boolean;
				public describeContents(): number;
				/** @deprecated */
				public constructor(param0: number, param1: number, param2: string, param3: string, param4: string, param5: boolean, param6: boolean);
				public getMode(): string;
				public isAuxiliary(): boolean;
			}
			export module InputMethodSubtype {
				export class InputMethodSubtypeBuilder extends java.lang.Object {
					public static class: java.lang.Class<android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder>;
					public setSubtypeIconResId(param0: number): android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder;
					public setSubtypeLocale(param0: string): android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder;
					public build(): android.view.inputmethod.InputMethodSubtype;
					public setSubtypeId(param0: number): android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder;
					public setSubtypeNameResId(param0: number): android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder;
					public constructor();
					public setLanguageTag(param0: string): android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder;
					public setOverridesImplicitlyEnabledSubtype(param0: boolean): android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder;
					public setSubtypeExtraValue(param0: string): android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder;
					public setSubtypeMode(param0: string): android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder;
					public setIsAuxiliary(param0: boolean): android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder;
					public setIsAsciiCapable(param0: boolean): android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder;
				}
			}
		}
	}
}










declare module android {
	export module view {
		export module textservice {
			export class SentenceSuggestionsInfo extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.view.textservice.SentenceSuggestionsInfo>;
				public static CREATOR: android.os.Parcelable.Creator<android.view.textservice.SentenceSuggestionsInfo>;
				public getLengthAt(param0: number): number;
				public constructor(param0: native.Array<android.view.textservice.SuggestionsInfo>, param1: native.Array<number>, param2: native.Array<number>);
				public constructor(param0: android.os.Parcel);
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getOffsetAt(param0: number): number;
				public describeContents(): number;
				public getSuggestionsInfoAt(param0: number): android.view.textservice.SuggestionsInfo;
				public getSuggestionsCount(): number;
			}
		}
	}
}

declare module android {
	export module view {
		export module textservice {
			export class SpellCheckerInfo extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.view.textservice.SpellCheckerInfo>;
				public static CREATOR: android.os.Parcelable.Creator<android.view.textservice.SpellCheckerInfo>;
				public getSubtypeCount(): number;
				public getId(): string;
				public loadLabel(param0: android.content.pm.PackageManager): string;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getPackageName(): string;
				public loadIcon(param0: android.content.pm.PackageManager): android.graphics.drawable.Drawable;
				public getSettingsActivity(): string;
				public describeContents(): number;
				public getComponent(): android.content.ComponentName;
				public getServiceInfo(): android.content.pm.ServiceInfo;
				public getSubtypeAt(param0: number): android.view.textservice.SpellCheckerSubtype;
			}
		}
	}
}

declare module android {
	export module view {
		export module textservice {
			export class SpellCheckerSession extends java.lang.Object {
				public static class: java.lang.Class<android.view.textservice.SpellCheckerSession>;
				public static SERVICE_META_DATA: string;
				public close(): void;
				/** @deprecated */
				public getSuggestions(param0: native.Array<android.view.textservice.TextInfo>, param1: number, param2: boolean): void;
				/** @deprecated */
				public getSuggestions(param0: android.view.textservice.TextInfo, param1: number): void;
				public finalize(): void;
				public cancel(): void;
				public getSentenceSuggestions(param0: native.Array<android.view.textservice.TextInfo>, param1: number): void;
				public isSessionDisconnected(): boolean;
				public getSpellChecker(): android.view.textservice.SpellCheckerInfo;
			}
			export module SpellCheckerSession {
				export class SpellCheckerSessionListener extends java.lang.Object {
					public static class: java.lang.Class<android.view.textservice.SpellCheckerSession.SpellCheckerSessionListener>;
					/**
					 * Constructs a new instance of the android.view.textservice.SpellCheckerSession$SpellCheckerSessionListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						onGetSuggestions(param0: native.Array<android.view.textservice.SuggestionsInfo>): void;
						onGetSentenceSuggestions(param0: native.Array<android.view.textservice.SentenceSuggestionsInfo>): void;
					});
					public constructor();
					public onGetSentenceSuggestions(param0: native.Array<android.view.textservice.SentenceSuggestionsInfo>): void;
					public onGetSuggestions(param0: native.Array<android.view.textservice.SuggestionsInfo>): void;
				}
			}
		}
	}
}

declare module android {
	export module view {
		export module textservice {
			export class SpellCheckerSubtype extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.view.textservice.SpellCheckerSubtype>;
				public static CREATOR: android.os.Parcelable.Creator<android.view.textservice.SpellCheckerSubtype>;
				public getNameResId(): number;
				public getExtraValue(): string;
				public getExtraValueOf(param0: string): string;
				public hashCode(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				/** @deprecated */
				public getLocale(): string;
				public containsExtraValueKey(param0: string): boolean;
				public equals(param0: any): boolean;
				public getDisplayName(param0: android.content.Context, param1: string, param2: android.content.pm.ApplicationInfo): string;
				public describeContents(): number;
				public getLanguageTag(): string;
				/** @deprecated */
				public constructor(param0: number, param1: string, param2: string);
			}
		}
	}
}

declare module android {
	export module view {
		export module textservice {
			export class SuggestionsInfo extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.view.textservice.SuggestionsInfo>;
				public static CREATOR: android.os.Parcelable.Creator<android.view.textservice.SuggestionsInfo>;
				public static RESULT_ATTR_HAS_RECOMMENDED_SUGGESTIONS: number;
				public static RESULT_ATTR_IN_THE_DICTIONARY: number;
				public static RESULT_ATTR_LOOKS_LIKE_TYPO: number;
				public constructor(param0: android.os.Parcel);
				public getSequence(): number;
				public constructor(param0: number, param1: native.Array<string>);
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getCookie(): number;
				public setCookieAndSequence(param0: number, param1: number): void;
				public describeContents(): number;
				public getSuggestionAt(param0: number): string;
				public constructor(param0: number, param1: native.Array<string>, param2: number, param3: number);
				public getSuggestionsAttributes(): number;
				public getSuggestionsCount(): number;
			}
		}
	}
}

declare module android {
	export module view {
		export module textservice {
			export class TextInfo extends java.lang.Object implements android.os.Parcelable {
				public static class: java.lang.Class<android.view.textservice.TextInfo>;
				public static CREATOR: android.os.Parcelable.Creator<android.view.textservice.TextInfo>;
				public constructor(param0: string, param1: number, param2: number, param3: number, param4: number);
				public constructor(param0: android.os.Parcel);
				public getSequence(): number;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public getCookie(): number;
				public describeContents(): number;
				public constructor(param0: string, param1: number, param2: number);
				public constructor(param0: string);
				public getCharSequence(): string;
				public getText(): string;
			}
		}
	}
}

declare module android {
	export module view {
		export module textservice {
			export class TextServicesManager extends java.lang.Object {
				public static class: java.lang.Class<android.view.textservice.TextServicesManager>;
				public newSpellCheckerSession(param0: android.os.Bundle, param1: java.util.Locale, param2: android.view.textservice.SpellCheckerSession.SpellCheckerSessionListener, param3: boolean): android.view.textservice.SpellCheckerSession;
			}
		}
	}
}

declare module android {
	export module webkit {
		export abstract class ClientCertRequest extends java.lang.Object {
			public static class: java.lang.Class<android.webkit.ClientCertRequest>;
			public getKeyTypes(): native.Array<string>;
			public proceed(param0: java.security.PrivateKey, param1: native.Array<java.security.cert.X509Certificate>): void;
			public getHost(): string;
			public ignore(): void;
			public cancel(): void;
			public constructor();
			public getPort(): number;
			public getPrincipals(): native.Array<java.security.Principal>;
		}
	}
}

declare module android {
	export module webkit {
		export class ConsoleMessage extends java.lang.Object {
			public static class: java.lang.Class<android.webkit.ConsoleMessage>;
			public constructor(param0: string, param1: string, param2: number, param3: android.webkit.ConsoleMessage.MessageLevel);
			public messageLevel(): android.webkit.ConsoleMessage.MessageLevel;
			public message(): string;
			public sourceId(): string;
			public lineNumber(): number;
		}
		export module ConsoleMessage {
			export class MessageLevel {
				public static class: java.lang.Class<android.webkit.ConsoleMessage.MessageLevel>;
				public static TIP: android.webkit.ConsoleMessage.MessageLevel;
				public static LOG: android.webkit.ConsoleMessage.MessageLevel;
				public static WARNING: android.webkit.ConsoleMessage.MessageLevel;
				public static ERROR: android.webkit.ConsoleMessage.MessageLevel;
				public static DEBUG: android.webkit.ConsoleMessage.MessageLevel;
				public static valueOf(param0: string): android.webkit.ConsoleMessage.MessageLevel;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
				public static values(): native.Array<android.webkit.ConsoleMessage.MessageLevel>;
			}
		}
	}
}

declare module android {
	export module webkit {
		export abstract class CookieManager extends java.lang.Object {
			public static class: java.lang.Class<android.webkit.CookieManager>;
			public static getInstance(): android.webkit.CookieManager;
			public acceptThirdPartyCookies(param0: android.webkit.WebView): boolean;
			public flush(): void;
			public setCookie(param0: string, param1: string, param2: android.webkit.ValueCallback<java.lang.Boolean>): void;
			/** @deprecated */
			public removeAllCookie(): void;
			public removeAllCookies(param0: android.webkit.ValueCallback<java.lang.Boolean>): void;
			public hasCookies(): boolean;
			public acceptCookie(): boolean;
			/** @deprecated */
			public removeExpiredCookie(): void;
			public static setAcceptFileSchemeCookies(param0: boolean): void;
			public constructor();
			public setAcceptCookie(param0: boolean): void;
			/** @deprecated */
			public removeSessionCookie(): void;
			public clone(): any;
			public setAcceptThirdPartyCookies(param0: android.webkit.WebView, param1: boolean): void;
			public removeSessionCookies(param0: android.webkit.ValueCallback<java.lang.Boolean>): void;
			public setCookie(param0: string, param1: string): void;
			public getCookie(param0: string): string;
			public static allowFileSchemeCookies(): boolean;
		}
	}
}

declare module android {
	export module webkit {
		export class CookieSyncManager extends java.lang.Object implements java.lang.Runnable {
			public static class: java.lang.Class<android.webkit.CookieSyncManager>;
			/** @deprecated */
			public resetSync(): void;
			public onSyncInit(): void;
			public clone(): any;
			/** @deprecated */
			public stopSync(): void;
			/** @deprecated */
			public startSync(): void;
			public static createInstance(param0: android.content.Context): android.webkit.CookieSyncManager;
			/** @deprecated */
			public sync(): void;
			public run(): void;
			public static getInstance(): android.webkit.CookieSyncManager;
			/** @deprecated */
			public syncFromRamToFlash(): void;
		}
	}
}

declare module android {
	export module webkit {
		export class DateSorter extends java.lang.Object {
			public static class: java.lang.Class<android.webkit.DateSorter>;
			public static DAY_COUNT: number;
			public getIndex(param0: number): number;
			public getLabel(param0: number): string;
			public constructor(param0: android.content.Context);
			public getBoundary(param0: number): number;
		}
	}
}

declare module android {
	export module webkit {
		export class DownloadListener extends java.lang.Object {
			public static class: java.lang.Class<android.webkit.DownloadListener>;
			/**
			 * Constructs a new instance of the android.webkit.DownloadListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				onDownloadStart(param0: string, param1: string, param2: string, param3: string, param4: number): void;
			});
			public constructor();
			public onDownloadStart(param0: string, param1: string, param2: string, param3: string, param4: number): void;
		}
	}
}

declare module android {
	export module webkit {
		export class GeolocationPermissions extends java.lang.Object {
			public static class: java.lang.Class<android.webkit.GeolocationPermissions>;
			public getOrigins(param0: android.webkit.ValueCallback<java.util.Set<string>>): void;
			public allow(param0: string): void;
			public clearAll(): void;
			public clear(param0: string): void;
			public static getInstance(): android.webkit.GeolocationPermissions;
			public getAllowed(param0: string, param1: android.webkit.ValueCallback<java.lang.Boolean>): void;
		}
		export module GeolocationPermissions {
			export class Callback extends java.lang.Object {
				public static class: java.lang.Class<android.webkit.GeolocationPermissions.Callback>;
				/**
				 * Constructs a new instance of the android.webkit.GeolocationPermissions$Callback interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					invoke(param0: string, param1: boolean, param2: boolean): void;
				});
				public constructor();
				public invoke(param0: string, param1: boolean, param2: boolean): void;
			}
		}
	}
}

declare module android {
	export module webkit {
		export class HttpAuthHandler extends android.os.Handler {
			public static class: java.lang.Class<android.webkit.HttpAuthHandler>;
			public cancel(): void;
			public proceed(param0: string, param1: string): void;
			public useHttpAuthUsernamePassword(): boolean;
		}
	}
}

declare module android {
	export module webkit {
		export class JavascriptInterface extends java.lang.Object implements java.lang.annotation.Annotation {
			public static class: java.lang.Class<android.webkit.JavascriptInterface>;
			/**
			 * Constructs a new instance of the android.webkit.JavascriptInterface interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				equals(param0: any): boolean;
				hashCode(): number;
				toString(): string;
				annotationType(): java.lang.Class<any>;
			});
			public constructor();
			public equals(param0: any): boolean;
			public toString(): string;
			public annotationType(): java.lang.Class<any>;
			public hashCode(): number;
		}
	}
}

declare module android {
	export module webkit {
		export class JsPromptResult extends android.webkit.JsResult {
			public static class: java.lang.Class<android.webkit.JsPromptResult>;
			public confirm(): void;
			public confirm(param0: string): void;
		}
	}
}

declare module android {
	export module webkit {
		export class JsResult extends java.lang.Object {
			public static class: java.lang.Class<android.webkit.JsResult>;
			public cancel(): void;
			public confirm(): void;
		}
	}
}

declare module android {
	export module webkit {
		export class MimeTypeMap extends java.lang.Object {
			public static class: java.lang.Class<android.webkit.MimeTypeMap>;
			public static getFileExtensionFromUrl(param0: string): string;
			public hasMimeType(param0: string): boolean;
			public static getSingleton(): android.webkit.MimeTypeMap;
			public hasExtension(param0: string): boolean;
			public getMimeTypeFromExtension(param0: string): string;
			public getExtensionFromMimeType(param0: string): string;
		}
	}
}

declare module android {
	export module webkit {
		export abstract class PermissionRequest extends java.lang.Object {
			public static class: java.lang.Class<android.webkit.PermissionRequest>;
			public static RESOURCE_AUDIO_CAPTURE: string;
			public static RESOURCE_MIDI_SYSEX: string;
			public static RESOURCE_PROTECTED_MEDIA_ID: string;
			public static RESOURCE_VIDEO_CAPTURE: string;
			public getOrigin(): android.net.Uri;
			public grant(param0: native.Array<string>): void;
			public getResources(): native.Array<string>;
			public deny(): void;
			public constructor();
		}
	}
}

declare module android {
	export module webkit {
		export class PluginStub extends java.lang.Object {
			public static class: java.lang.Class<android.webkit.PluginStub>;
			/**
			 * Constructs a new instance of the android.webkit.PluginStub interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				getEmbeddedView(param0: number, param1: android.content.Context): android.view.View;
				getFullScreenView(param0: number, param1: android.content.Context): android.view.View;
			});
			public constructor();
			public getEmbeddedView(param0: number, param1: android.content.Context): android.view.View;
			public getFullScreenView(param0: number, param1: android.content.Context): android.view.View;
		}
	}
}

declare module android {
	export module webkit {
		export abstract class RenderProcessGoneDetail extends java.lang.Object {
			public static class: java.lang.Class<android.webkit.RenderProcessGoneDetail>;
			public constructor();
			public didCrash(): boolean;
			public rendererPriorityAtExit(): number;
		}
	}
}

declare module android {
	export module webkit {
		export abstract class SafeBrowsingResponse extends java.lang.Object {
			public static class: java.lang.Class<android.webkit.SafeBrowsingResponse>;
			public showInterstitial(param0: boolean): void;
			public backToSafety(param0: boolean): void;
			public constructor();
			public proceed(param0: boolean): void;
		}
	}
}

declare module android {
	export module webkit {
		export class ServiceWorkerClient extends java.lang.Object {
			public static class: java.lang.Class<android.webkit.ServiceWorkerClient>;
			public constructor();
			public shouldInterceptRequest(param0: android.webkit.WebResourceRequest): android.webkit.WebResourceResponse;
		}
	}
}

declare module android {
	export module webkit {
		export abstract class ServiceWorkerController extends java.lang.Object {
			public static class: java.lang.Class<android.webkit.ServiceWorkerController>;
			public getServiceWorkerWebSettings(): android.webkit.ServiceWorkerWebSettings;
			public static getInstance(): android.webkit.ServiceWorkerController;
			public setServiceWorkerClient(param0: android.webkit.ServiceWorkerClient): void;
			public constructor();
		}
	}
}

declare module android {
	export module webkit {
		export abstract class ServiceWorkerWebSettings extends java.lang.Object {
			public static class: java.lang.Class<android.webkit.ServiceWorkerWebSettings>;
			public getBlockNetworkLoads(): boolean;
			public setCacheMode(param0: number): void;
			public setAllowFileAccess(param0: boolean): void;
			public setBlockNetworkLoads(param0: boolean): void;
			public setAllowContentAccess(param0: boolean): void;
			public getAllowContentAccess(): boolean;
			public constructor();
			public getAllowFileAccess(): boolean;
			public getCacheMode(): number;
		}
	}
}

declare module android {
	export module webkit {
		export class SslErrorHandler extends android.os.Handler {
			public static class: java.lang.Class<android.webkit.SslErrorHandler>;
			public proceed(): void;
			public cancel(): void;
		}
	}
}

declare module android {
	export module webkit {
		export class TracingConfig extends java.lang.Object {
			public static class: java.lang.Class<android.webkit.TracingConfig>;
			public static CATEGORIES_ALL: number;
			public static CATEGORIES_ANDROID_WEBVIEW: number;
			public static CATEGORIES_FRAME_VIEWER: number;
			public static CATEGORIES_INPUT_LATENCY: number;
			public static CATEGORIES_JAVASCRIPT_AND_RENDERING: number;
			public static CATEGORIES_NONE: number;
			public static CATEGORIES_RENDERING: number;
			public static CATEGORIES_WEB_DEVELOPER: number;
			public static RECORD_CONTINUOUSLY: number;
			public static RECORD_UNTIL_FULL: number;
			public getCustomIncludedCategories(): java.util.List<string>;
			public getTracingMode(): number;
			public getPredefinedCategories(): number;
		}
		export module TracingConfig {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<android.webkit.TracingConfig.Builder>;
				public addCategories(param0: native.Array<string>): android.webkit.TracingConfig.Builder;
				public addCategories(param0: native.Array<number>): android.webkit.TracingConfig.Builder;
				public setTracingMode(param0: number): android.webkit.TracingConfig.Builder;
				public build(): android.webkit.TracingConfig;
				public addCategories(param0: java.util.Collection<string>): android.webkit.TracingConfig.Builder;
				public constructor();
			}
		}
	}
}

declare module android {
	export module webkit {
		export abstract class TracingController extends java.lang.Object {
			public static class: java.lang.Class<android.webkit.TracingController>;
			public static getInstance(): android.webkit.TracingController;
			public start(param0: android.webkit.TracingConfig): void;
			public constructor();
			public isTracing(): boolean;
			public stop(param0: java.io.OutputStream, param1: java.util.concurrent.Executor): boolean;
		}
	}
}

declare module android {
	export module webkit {
		export class URLUtil extends java.lang.Object {
			public static class: java.lang.Class<android.webkit.URLUtil>;
			public static decode(param0: native.Array<number>): native.Array<number>;
			public static guessFileName(param0: string, param1: string, param2: string): string;
			/** @deprecated */
			public static isCookielessProxyUrl(param0: string): boolean;
			public static isNetworkUrl(param0: string): boolean;
			public static isValidUrl(param0: string): boolean;
			public static guessUrl(param0: string): string;
			public static isDataUrl(param0: string): boolean;
			public constructor();
			public static stripAnchor(param0: string): string;
			public static isJavaScriptUrl(param0: string): boolean;
			public static isContentUrl(param0: string): boolean;
			public static isHttpUrl(param0: string): boolean;
			public static composeSearchUrl(param0: string, param1: string, param2: string): string;
			public static isAboutUrl(param0: string): boolean;
			public static isFileUrl(param0: string): boolean;
			public static isAssetUrl(param0: string): boolean;
			public static isHttpsUrl(param0: string): boolean;
		}
	}
}

declare module android {
	export module webkit {
		export class ValueCallback<T>  extends java.lang.Object {
			public static class: java.lang.Class<android.webkit.ValueCallback<any>>;
			/**
			 * Constructs a new instance of the android.webkit.ValueCallback<any> interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				onReceiveValue(param0: T): void;
			});
			public constructor();
			public onReceiveValue(param0: T): void;
		}
	}
}

declare module android {
	export module webkit {
		export abstract class WebBackForwardList extends java.lang.Object implements java.lang.Cloneable, java.io.Serializable {
			public static class: java.lang.Class<android.webkit.WebBackForwardList>;
			public getCurrentItem(): android.webkit.WebHistoryItem;
			public clone(): any;
			public clone(): android.webkit.WebBackForwardList;
			public constructor();
			public getItemAtIndex(param0: number): android.webkit.WebHistoryItem;
			public getSize(): number;
			public getCurrentIndex(): number;
		}
	}
}

declare module android {
	export module webkit {
		export class WebChromeClient extends java.lang.Object {
			public static class: java.lang.Class<android.webkit.WebChromeClient>;
			/** @deprecated */
			public onConsoleMessage(param0: string, param1: number, param2: string): void;
			public onGeolocationPermissionsHidePrompt(): void;
			public onConsoleMessage(param0: android.webkit.ConsoleMessage): boolean;
			public onShowCustomView(param0: android.view.View, param1: android.webkit.WebChromeClient.CustomViewCallback): void;
			public onGeolocationPermissionsShowPrompt(param0: string, param1: android.webkit.GeolocationPermissions.Callback): void;
			public onHideCustomView(): void;
			public onJsPrompt(param0: android.webkit.WebView, param1: string, param2: string, param3: string, param4: android.webkit.JsPromptResult): boolean;
			public getVideoLoadingProgressView(): android.view.View;
			public onProgressChanged(param0: android.webkit.WebView, param1: number): void;
			public onPermissionRequest(param0: android.webkit.PermissionRequest): void;
			public onShowFileChooser(param0: android.webkit.WebView, param1: android.webkit.ValueCallback<native.Array<android.net.Uri>>, param2: android.webkit.WebChromeClient.FileChooserParams): boolean;
			public onReceivedIcon(param0: android.webkit.WebView, param1: android.graphics.Bitmap): void;
			public onRequestFocus(param0: android.webkit.WebView): void;
			public getVisitedHistory(param0: android.webkit.ValueCallback<native.Array<string>>): void;
			/** @deprecated */
			public onExceededDatabaseQuota(param0: string, param1: string, param2: number, param3: number, param4: number, param5: android.webkit.WebStorage.QuotaUpdater): void;
			public onCreateWindow(param0: android.webkit.WebView, param1: boolean, param2: boolean, param3: android.os.Message): boolean;
			public onCloseWindow(param0: android.webkit.WebView): void;
			public onJsAlert(param0: android.webkit.WebView, param1: string, param2: string, param3: android.webkit.JsResult): boolean;
			public onJsConfirm(param0: android.webkit.WebView, param1: string, param2: string, param3: android.webkit.JsResult): boolean;
			/** @deprecated */
			public onReachedMaxAppCacheSize(param0: number, param1: number, param2: android.webkit.WebStorage.QuotaUpdater): void;
			public onPermissionRequestCanceled(param0: android.webkit.PermissionRequest): void;
			public onReceivedTouchIconUrl(param0: android.webkit.WebView, param1: string, param2: boolean): void;
			public onJsBeforeUnload(param0: android.webkit.WebView, param1: string, param2: string, param3: android.webkit.JsResult): boolean;
			public constructor();
			/** @deprecated */
			public onJsTimeout(): boolean;
			public getDefaultVideoPoster(): android.graphics.Bitmap;
			public onReceivedTitle(param0: android.webkit.WebView, param1: string): void;
			/** @deprecated */
			public onShowCustomView(param0: android.view.View, param1: number, param2: android.webkit.WebChromeClient.CustomViewCallback): void;
		}
		export module WebChromeClient {
			export class CustomViewCallback extends java.lang.Object {
				public static class: java.lang.Class<android.webkit.WebChromeClient.CustomViewCallback>;
				/**
				 * Constructs a new instance of the android.webkit.WebChromeClient$CustomViewCallback interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onCustomViewHidden(): void;
				});
				public constructor();
				public onCustomViewHidden(): void;
			}
			export abstract class FileChooserParams extends java.lang.Object {
				public static class: java.lang.Class<android.webkit.WebChromeClient.FileChooserParams>;
				public static MODE_OPEN: number;
				public static MODE_OPEN_MULTIPLE: number;
				public static MODE_SAVE: number;
				public getMode(): number;
				public getAcceptTypes(): native.Array<string>;
				public static parseResult(param0: number, param1: android.content.Intent): native.Array<android.net.Uri>;
				public isCaptureEnabled(): boolean;
				public getFilenameHint(): string;
				public getTitle(): string;
				public constructor();
				public createIntent(): android.content.Intent;
			}
		}
	}
}

declare module android {
	export module webkit {
		export abstract class WebHistoryItem extends java.lang.Object implements java.lang.Cloneable {
			public static class: java.lang.Class<android.webkit.WebHistoryItem>;
			public getTitle(): string;
			public getUrl(): string;
			public clone(): any;
			public getOriginalUrl(): string;
			public getFavicon(): android.graphics.Bitmap;
			public clone(): android.webkit.WebHistoryItem;
			public constructor();
		}
	}
}

declare module android {
	export module webkit {
		export abstract class WebIconDatabase extends java.lang.Object {
			public static class: java.lang.Class<android.webkit.WebIconDatabase>;
			public releaseIconForPageUrl(param0: string): void;
			public removeAllIcons(): void;
			public open(param0: string): void;
			public retainIconForPageUrl(param0: string): void;
			public static getInstance(): android.webkit.WebIconDatabase;
			public constructor();
			public close(): void;
			public requestIconForPageUrl(param0: string, param1: android.webkit.WebIconDatabase.IconListener): void;
		}
		export module WebIconDatabase {
			export class IconListener extends java.lang.Object {
				public static class: java.lang.Class<android.webkit.WebIconDatabase.IconListener>;
				/**
				 * Constructs a new instance of the android.webkit.WebIconDatabase$IconListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onReceivedIcon(param0: string, param1: android.graphics.Bitmap): void;
				});
				public constructor();
				public onReceivedIcon(param0: string, param1: android.graphics.Bitmap): void;
			}
		}
	}
}

declare module android {
	export module webkit {
		export class WebMessage extends java.lang.Object {
			public static class: java.lang.Class<android.webkit.WebMessage>;
			public getData(): string;
			public getPorts(): native.Array<android.webkit.WebMessagePort>;
			public constructor(param0: string);
			public constructor(param0: string, param1: native.Array<android.webkit.WebMessagePort>);
		}
	}
}

declare module android {
	export module webkit {
		export abstract class WebMessagePort extends java.lang.Object {
			public static class: java.lang.Class<android.webkit.WebMessagePort>;
			public setWebMessageCallback(param0: android.webkit.WebMessagePort.WebMessageCallback): void;
			public postMessage(param0: android.webkit.WebMessage): void;
			public close(): void;
			public setWebMessageCallback(param0: android.webkit.WebMessagePort.WebMessageCallback, param1: android.os.Handler): void;
		}
		export module WebMessagePort {
			export abstract class WebMessageCallback extends java.lang.Object {
				public static class: java.lang.Class<android.webkit.WebMessagePort.WebMessageCallback>;
				public onMessage(param0: android.webkit.WebMessagePort, param1: android.webkit.WebMessage): void;
				public constructor();
			}
		}
	}
}

declare module android {
	export module webkit {
		export abstract class WebResourceError extends java.lang.Object {
			public static class: java.lang.Class<android.webkit.WebResourceError>;
			public getErrorCode(): number;
			public getDescription(): string;
		}
	}
}

declare module android {
	export module webkit {
		export class WebResourceRequest extends java.lang.Object {
			public static class: java.lang.Class<android.webkit.WebResourceRequest>;
			/**
			 * Constructs a new instance of the android.webkit.WebResourceRequest interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				getUrl(): android.net.Uri;
				isForMainFrame(): boolean;
				isRedirect(): boolean;
				hasGesture(): boolean;
				getMethod(): string;
				getRequestHeaders(): java.util.Map<string,string>;
			});
			public constructor();
			public isForMainFrame(): boolean;
			public isRedirect(): boolean;
			public getUrl(): android.net.Uri;
			public getMethod(): string;
			public hasGesture(): boolean;
			public getRequestHeaders(): java.util.Map<string,string>;
		}
	}
}

declare module android {
	export module webkit {
		export class WebResourceResponse extends java.lang.Object {
			public static class: java.lang.Class<android.webkit.WebResourceResponse>;
			public setMimeType(param0: string): void;
			public getMimeType(): string;
			public setResponseHeaders(param0: java.util.Map<string,string>): void;
			public getData(): java.io.InputStream;
			public constructor(param0: string, param1: string, param2: java.io.InputStream);
			public getStatusCode(): number;
			public setEncoding(param0: string): void;
			public getReasonPhrase(): string;
			public getEncoding(): string;
			public setStatusCodeAndReasonPhrase(param0: number, param1: string): void;
			public constructor(param0: string, param1: string, param2: number, param3: string, param4: java.util.Map<string,string>, param5: java.io.InputStream);
			public setData(param0: java.io.InputStream): void;
			public getResponseHeaders(): java.util.Map<string,string>;
		}
	}
}

declare module android {
	export module webkit {
		export abstract class WebSettings extends java.lang.Object {
			public static class: java.lang.Class<android.webkit.WebSettings>;
			public static LOAD_CACHE_ELSE_NETWORK: number;
			public static LOAD_CACHE_ONLY: number;
			public static LOAD_DEFAULT: number;
			public static LOAD_NORMAL: number;
			public static LOAD_NO_CACHE: number;
			public static MENU_ITEM_NONE: number;
			public static MENU_ITEM_PROCESS_TEXT: number;
			public static MENU_ITEM_SHARE: number;
			public static MENU_ITEM_WEB_SEARCH: number;
			public static MIXED_CONTENT_ALWAYS_ALLOW: number;
			public static MIXED_CONTENT_COMPATIBILITY_MODE: number;
			public static MIXED_CONTENT_NEVER_ALLOW: number;
			public getFixedFontFamily(): string;
			public setNeedInitialFocus(param0: boolean): void;
			public setSansSerifFontFamily(param0: string): void;
			public setJavaScriptEnabled(param0: boolean): void;
			public getJavaScriptCanOpenWindowsAutomatically(): boolean;
			public setSupportZoom(param0: boolean): void;
			public getAllowFileAccessFromFileURLs(): boolean;
			public setAppCacheEnabled(param0: boolean): void;
			public getSansSerifFontFamily(): string;
			public setSupportMultipleWindows(param0: boolean): void;
			/** @deprecated */
			public setAppCacheMaxSize(param0: number): void;
			/** @deprecated */
			public getDefaultZoom(): android.webkit.WebSettings.ZoomDensity;
			public constructor();
			public setFixedFontFamily(param0: string): void;
			public getDatabaseEnabled(): boolean;
			/** @deprecated */
			public setRenderPriority(param0: android.webkit.WebSettings.RenderPriority): void;
			public setAllowContentAccess(param0: boolean): void;
			public setAppCachePath(param0: string): void;
			public getMinimumLogicalFontSize(): number;
			public getDisplayZoomControls(): boolean;
			public setSafeBrowsingEnabled(param0: boolean): void;
			public setAllowFileAccess(param0: boolean): void;
			public setBlockNetworkLoads(param0: boolean): void;
			public setCursiveFontFamily(param0: string): void;
			/** @deprecated */
			public setLightTouchEnabled(param0: boolean): void;
			public static getDefaultUserAgent(param0: android.content.Context): string;
			public getStandardFontFamily(): string;
			public getLoadWithOverviewMode(): boolean;
			public setMinimumLogicalFontSize(param0: number): void;
			public getDefaultTextEncodingName(): string;
			public setDisplayZoomControls(param0: boolean): void;
			public getAllowContentAccess(): boolean;
			public getDefaultFontSize(): number;
			public setMinimumFontSize(param0: number): void;
			/** @deprecated */
			public enableSmoothTransition(): boolean;
			public setUseWideViewPort(param0: boolean): void;
			public getDisabledActionModeMenuItems(): number;
			public setDisabledActionModeMenuItems(param0: number): void;
			/** @deprecated */
			public getDatabasePath(): string;
			public getLoadsImagesAutomatically(): boolean;
			public getAllowUniversalAccessFromFileURLs(): boolean;
			/** @deprecated */
			public setSaveFormData(param0: boolean): void;
			/** @deprecated */
			public setPluginState(param0: android.webkit.WebSettings.PluginState): void;
			public getUseWideViewPort(): boolean;
			/** @deprecated */
			public setGeolocationDatabasePath(param0: string): void;
			public getDomStorageEnabled(): boolean;
			public setDefaultTextEncodingName(param0: string): void;
			public setBlockNetworkImage(param0: boolean): void;
			public getSerifFontFamily(): string;
			/** @deprecated */
			public setDatabasePath(param0: string): void;
			/** @deprecated */
			public setSavePassword(param0: boolean): void;
			public supportZoom(): boolean;
			public getAllowFileAccess(): boolean;
			/** @deprecated */
			public getPluginState(): android.webkit.WebSettings.PluginState;
			public getJavaScriptEnabled(): boolean;
			public getDefaultFixedFontSize(): number;
			public getBlockNetworkLoads(): boolean;
			public getOffscreenPreRaster(): boolean;
			/** @deprecated */
			public setDefaultZoom(param0: android.webkit.WebSettings.ZoomDensity): void;
			public getBlockNetworkImage(): boolean;
			public setDefaultFontSize(param0: number): void;
			public getUserAgentString(): string;
			public setAllowFileAccessFromFileURLs(param0: boolean): void;
			/** @deprecated */
			public setTextSize(param0: android.webkit.WebSettings.TextSize): void;
			/** @deprecated */
			public getTextSize(): android.webkit.WebSettings.TextSize;
			public supportMultipleWindows(): boolean;
			public getMinimumFontSize(): number;
			public setFantasyFontFamily(param0: string): void;
			public getSafeBrowsingEnabled(): boolean;
			/** @deprecated */
			public getLightTouchEnabled(): boolean;
			public getBuiltInZoomControls(): boolean;
			public setGeolocationEnabled(param0: boolean): void;
			public getCacheMode(): number;
			/** @deprecated */
			public setEnableSmoothTransition(param0: boolean): void;
			public setDomStorageEnabled(param0: boolean): void;
			public getMediaPlaybackRequiresUserGesture(): boolean;
			public setCacheMode(param0: number): void;
			public setLoadsImagesAutomatically(param0: boolean): void;
			public setTextZoom(param0: number): void;
			public getMixedContentMode(): number;
			public getTextZoom(): number;
			public setMixedContentMode(param0: number): void;
			public setDatabaseEnabled(param0: boolean): void;
			public getLayoutAlgorithm(): android.webkit.WebSettings.LayoutAlgorithm;
			public getCursiveFontFamily(): string;
			public setUserAgentString(param0: string): void;
			public setLayoutAlgorithm(param0: android.webkit.WebSettings.LayoutAlgorithm): void;
			public setStandardFontFamily(param0: string): void;
			public setAllowUniversalAccessFromFileURLs(param0: boolean): void;
			public setMediaPlaybackRequiresUserGesture(param0: boolean): void;
			public setBuiltInZoomControls(param0: boolean): void;
			/** @deprecated */
			public getSaveFormData(): boolean;
			public setLoadWithOverviewMode(param0: boolean): void;
			public setOffscreenPreRaster(param0: boolean): void;
			/** @deprecated */
			public getSavePassword(): boolean;
			public getFantasyFontFamily(): string;
			public setDefaultFixedFontSize(param0: number): void;
			public setSerifFontFamily(param0: string): void;
			public setJavaScriptCanOpenWindowsAutomatically(param0: boolean): void;
		}
		export module WebSettings {
			export class LayoutAlgorithm {
				public static class: java.lang.Class<android.webkit.WebSettings.LayoutAlgorithm>;
				public static NORMAL: android.webkit.WebSettings.LayoutAlgorithm;
				public static SINGLE_COLUMN: android.webkit.WebSettings.LayoutAlgorithm;
				public static NARROW_COLUMNS: android.webkit.WebSettings.LayoutAlgorithm;
				public static TEXT_AUTOSIZING: android.webkit.WebSettings.LayoutAlgorithm;
				public static valueOf(param0: string): android.webkit.WebSettings.LayoutAlgorithm;
				public static values(): native.Array<android.webkit.WebSettings.LayoutAlgorithm>;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			}
			export class PluginState {
				public static class: java.lang.Class<android.webkit.WebSettings.PluginState>;
				public static ON: android.webkit.WebSettings.PluginState;
				public static ON_DEMAND: android.webkit.WebSettings.PluginState;
				public static OFF: android.webkit.WebSettings.PluginState;
				public static values(): native.Array<android.webkit.WebSettings.PluginState>;
				public static valueOf(param0: string): android.webkit.WebSettings.PluginState;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			}
			export class RenderPriority {
				public static class: java.lang.Class<android.webkit.WebSettings.RenderPriority>;
				public static NORMAL: android.webkit.WebSettings.RenderPriority;
				public static HIGH: android.webkit.WebSettings.RenderPriority;
				public static LOW: android.webkit.WebSettings.RenderPriority;
				public static values(): native.Array<android.webkit.WebSettings.RenderPriority>;
				public static valueOf(param0: string): android.webkit.WebSettings.RenderPriority;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			}
			export class TextSize {
				public static class: java.lang.Class<android.webkit.WebSettings.TextSize>;
				public static SMALLEST: android.webkit.WebSettings.TextSize;
				public static SMALLER: android.webkit.WebSettings.TextSize;
				public static NORMAL: android.webkit.WebSettings.TextSize;
				public static LARGER: android.webkit.WebSettings.TextSize;
				public static LARGEST: android.webkit.WebSettings.TextSize;
				public static valueOf(param0: string): android.webkit.WebSettings.TextSize;
				public static values(): native.Array<android.webkit.WebSettings.TextSize>;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			}
			export class ZoomDensity {
				public static class: java.lang.Class<android.webkit.WebSettings.ZoomDensity>;
				public static FAR: android.webkit.WebSettings.ZoomDensity;
				public static MEDIUM: android.webkit.WebSettings.ZoomDensity;
				public static CLOSE: android.webkit.WebSettings.ZoomDensity;
				public static valueOf(param0: string): android.webkit.WebSettings.ZoomDensity;
				public static values(): native.Array<android.webkit.WebSettings.ZoomDensity>;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			}
		}
	}
}

declare module android {
	export module webkit {
		export class WebStorage extends java.lang.Object {
			public static class: java.lang.Class<android.webkit.WebStorage>;
			public deleteAllData(): void;
			public getOrigins(param0: android.webkit.ValueCallback<java.util.Map<any,any>>): void;
			public deleteOrigin(param0: string): void;
			public getUsageForOrigin(param0: string, param1: android.webkit.ValueCallback<java.lang.Long>): void;
			public getQuotaForOrigin(param0: string, param1: android.webkit.ValueCallback<java.lang.Long>): void;
			/** @deprecated */
			public setQuotaForOrigin(param0: string, param1: number): void;
			public static getInstance(): android.webkit.WebStorage;
		}
		export module WebStorage {
			export class Origin extends java.lang.Object {
				public static class: java.lang.Class<android.webkit.WebStorage.Origin>;
				public getQuota(): number;
				public getUsage(): number;
				public getOrigin(): string;
			}
			export class QuotaUpdater extends java.lang.Object {
				public static class: java.lang.Class<android.webkit.WebStorage.QuotaUpdater>;
				/**
				 * Constructs a new instance of the android.webkit.WebStorage$QuotaUpdater interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					updateQuota(param0: number): void;
				});
				public constructor();
				public updateQuota(param0: number): void;
			}
		}
	}
}

declare module android {
	export module webkit {
		export class WebView extends android.widget.AbsoluteLayout implements android.view.ViewTreeObserver.OnGlobalFocusChangeListener, android.view.ViewGroup.OnHierarchyChangeListener {
			public static class: java.lang.Class<android.webkit.WebView>;
			public static RENDERER_PRIORITY_BOUND: number;
			public static RENDERER_PRIORITY_IMPORTANT: number;
			public static RENDERER_PRIORITY_WAIVED: number;
			public static SCHEME_GEO: string;
			public static SCHEME_MAILTO: string;
			public static SCHEME_TEL: string;
			public setRendererPriorityPolicy(param0: number, param1: boolean): void;
			public setLayerType(param0: number, param1: android.graphics.Paint): void;
			public autofill(param0: android.view.autofill.AutofillValue): void;
			public onStopNestedScroll(param0: android.view.View): void;
			public saveWebArchive(param0: string): void;
			public resumeTimers(): void;
			public onMeasure(param0: number, param1: number): void;
			public requestFocus(): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public childHasTransientStateChanged(param0: android.view.View, param1: boolean): void;
			public setLayoutParams(param0: android.view.ViewGroup.LayoutParams): void;
			public onNestedScrollAccepted(param0: android.view.View, param1: android.view.View, param2: number): void;
			public saveState(param0: android.os.Bundle): android.webkit.WebBackForwardList;
			public keyboardNavigationClusterSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(param0: android.view.View): boolean;
			/** @deprecated */
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: boolean);
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public findAllAsync(param0: string): void;
			public onDescendantInvalidated(param0: android.view.View, param1: android.view.View): void;
			/** @deprecated */
			public setMapTrackballToArrowKeys(param0: boolean): void;
			public sendAccessibilityEvent(param0: number): void;
			public loadDataWithBaseURL(param0: string, param1: string, param2: string, param3: string, param4: string): void;
			public clearMatches(): void;
			public restoreState(param0: android.os.Bundle): android.webkit.WebBackForwardList;
			/** @deprecated */
			public static findAddress(param0: string): string;
			public onStartNestedScroll(param0: android.view.View, param1: android.view.View, param2: number): boolean;
			public canGoForward(): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public computeVerticalScrollRange(): number;
			public getLayoutDirection(): number;
			public requestChildFocus(param0: android.view.View, param1: android.view.View): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public setNetworkAvailable(param0: boolean): void;
			public getContentHeight(): number;
			public setOverScrollMode(param0: number): void;
			public static enableSlowWholeDocumentDraw(): void;
			public getAccessibilityClassName(): string;
			/** @deprecated */
			public onGlobalFocusChanged(param0: android.view.View, param1: android.view.View): void;
			public getWebViewLooper(): android.os.Looper;
			/** @deprecated */
			public getHttpAuthUsernamePassword(param0: string, param1: string): native.Array<string>;
			public clearFormData(): void;
			public findNext(param0: boolean): void;
			/** @deprecated */
			public setHorizontalScrollbarOverlay(param0: boolean): void;
			/** @deprecated */
			public getScale(): number;
			public static clearClientCertPreferences(param0: java.lang.Runnable): void;
			public setScrollBarStyle(param0: number): void;
			public onConfigurationChanged(param0: android.content.res.Configuration): void;
			public requestLayout(): void;
			public getUrl(): string;
			public clearCache(param0: boolean): void;
			public canResolveTextDirection(): boolean;
			public isVisibleToUserForAutofill(param0: number): boolean;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			/** @deprecated */
			public overlayVerticalScrollbar(): boolean;
			/** @deprecated */
			public overlayHorizontalScrollbar(): boolean;
			public getTextClassifier(): any;
			public static startSafeBrowsing(param0: android.content.Context, param1: android.webkit.ValueCallback<java.lang.Boolean>): void;
			public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public addView(param0: android.view.View, param1: number, param2: android.view.ViewGroup.LayoutParams): void;
			public setBackgroundColor(param0: number): void;
			public postVisualStateCallback(param0: number, param1: android.webkit.WebView.VisualStateCallback): void;
			public requestFitSystemWindows(): void;
			public onOverScrolled(param0: number, param1: number, param2: boolean, param3: boolean): void;
			public getProgress(): number;
			public setWebViewClient(param0: android.webkit.WebViewClient): void;
			public getOriginalUrl(): string;
			public performLongClick(param0: number, param1: number): boolean;
			public performLongClick(): boolean;
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public onFocusChanged(param0: boolean, param1: number, param2: android.graphics.Rect): void;
			public computeHorizontalScrollRange(): number;
			public zoomIn(): boolean;
			public getHitTestResult(): android.webkit.WebView.HitTestResult;
			public getTitle(): string;
			public setInitialScale(param0: number): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			/** @deprecated */
			public invalidateChildInParent(param0: native.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public canGoBack(): boolean;
			public onTrackballEvent(param0: android.view.MotionEvent): boolean;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback): android.view.ActionMode;
			public stopLoading(): void;
			public getTextAlignment(): number;
			public getRendererPriorityWaivedWhenNotVisible(): boolean;
			public onWindowFocusChanged(param0: boolean): void;
			public onNestedScroll(param0: android.view.View, param1: number, param2: number, param3: number, param4: number): void;
			public onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public getAccessibilityNodeProvider(): android.view.accessibility.AccessibilityNodeProvider;
			/** @deprecated */
			public setHttpAuthUsernamePassword(param0: string, param1: string, param2: string, param3: string): void;
			/** @deprecated */
			public freeMemory(): void;
			public onCheckIsTextEditor(): boolean;
			public createPrintDocumentAdapter(param0: string): any;
			public autofill(param0: android.util.SparseArray<android.view.autofill.AutofillValue>): void;
			/** @deprecated */
			public canZoomIn(): boolean;
			public onChildViewRemoved(param0: android.view.View, param1: android.view.View): void;
			public requestImageRef(param0: android.os.Message): void;
			public saveWebArchive(param0: string, param1: boolean, param2: android.webkit.ValueCallback<string>): void;
			public onPause(): void;
			public onProvideVirtualStructure(param0: any): void;
			/** @deprecated */
			public clearView(): void;
			public isTextAlignmentResolved(): boolean;
			public removeJavascriptInterface(param0: string): void;
			public getTextDirection(): number;
			public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public onTouchEvent(param0: android.view.MotionEvent): boolean;
			/** @deprecated */
			public setPictureListener(param0: android.webkit.WebView.PictureListener): void;
			public dispatchKeyEvent(param0: android.view.KeyEvent): boolean;
			public postWebMessage(param0: android.webkit.WebMessage, param1: android.net.Uri): void;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public clearHistory(): void;
			public onHoverEvent(param0: android.view.MotionEvent): boolean;
			public notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public static setWebContentsDebuggingEnabled(param0: boolean): void;
			public addView(param0: android.view.View, param1: number): void;
			public goForward(): void;
			public onCreateInputConnection(param0: android.view.inputmethod.EditorInfo): android.view.inputmethod.InputConnection;
			public getWebChromeClient(): android.webkit.WebChromeClient;
			public loadData(param0: string, param1: string, param2: string): void;
			/** @deprecated */
			public onChildViewAdded(param0: android.view.View, param1: android.view.View): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public getWebViewClient(): android.webkit.WebViewClient;
			public reload(): void;
			public addView(param0: android.view.View, param1: number, param2: number): void;
			public requestSendAccessibilityEvent(param0: android.view.View, param1: android.view.accessibility.AccessibilityEvent): boolean;
			public requestFocusNodeHref(param0: android.os.Message): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public bringChildToFront(param0: android.view.View): void;
			/** @deprecated */
			public savePassword(param0: string, param1: string, param2: string): void;
			/** @deprecated */
			public invalidateChild(param0: android.view.View, param1: android.graphics.Rect): void;
			public copyBackForwardList(): android.webkit.WebBackForwardList;
			public requestTransparentRegion(param0: android.view.View): void;
			public canResolveTextAlignment(): boolean;
			public getParent(): android.view.ViewParent;
			/** @deprecated */
			public capturePicture(): android.graphics.Picture;
			public static getSafeBrowsingPrivacyPolicyUrl(): android.net.Uri;
			public dispatchDraw(param0: android.graphics.Canvas): void;
			public getFavicon(): android.graphics.Bitmap;
			public static setSafeBrowsingWhitelist(param0: java.util.List<string>, param1: android.webkit.ValueCallback<java.lang.Boolean>): void;
			public setDownloadListener(param0: android.webkit.DownloadListener): void;
			/** @deprecated */
			public canZoomOut(): boolean;
			public focusSearch(param0: number): android.view.View;
			public recomputeViewAttributes(param0: android.view.View): void;
			public isLayoutRequested(): boolean;
			public computeVerticalScrollExtent(): number;
			public onDragEvent(param0: android.view.DragEvent): boolean;
			public requestFocus(param0: number, param1: android.graphics.Rect): boolean;
			/** @deprecated */
			public setCertificate(param0: android.net.http.SslCertificate): void;
			public setTextClassifier(param0: any): void;
			public getHandler(): android.os.Handler;
			public static getWebViewClassLoader(): java.lang.ClassLoader;
			public pageUp(param0: boolean): boolean;
			public onChildViewAdded(param0: android.view.View, param1: android.view.View): void;
			public invokeZoomPicker(): void;
			public getRendererRequestedPriority(): number;
			public onWindowVisibilityChanged(param0: number): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public findFocus(): android.view.View;
			public static setDataDirectorySuffix(param0: string): void;
			public childDrawableStateChanged(param0: android.view.View): void;
			public addView(param0: android.view.View): void;
			public goBack(): void;
			public createWebMessageChannel(): native.Array<android.webkit.WebMessagePort>;
			/** @deprecated */
			public requestFitSystemWindows(): void;
			public documentHasImages(param0: android.os.Message): void;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public clearSslPreferences(): void;
			public onVisibilityChanged(param0: android.view.View, param1: number): void;
			/** @deprecated */
			public onChildViewRemoved(param0: android.view.View, param1: android.view.View): void;
			public loadUrl(param0: string): void;
			public constructor(param0: android.content.Context);
			public pageDown(param0: boolean): boolean;
			public static disableWebView(): void;
			public onProvideAutofillVirtualStructure(param0: any, param1: number): void;
			public static getCurrentWebViewPackage(): android.content.pm.PackageInfo;
			/** @deprecated */
			public shouldDelayChildPressedState(): boolean;
			public postUrl(param0: string, param1: native.Array<number>): void;
			public flingScroll(param0: number, param1: number): void;
			public isLayoutDirectionResolved(): boolean;
			public focusableViewAvailable(param0: android.view.View): void;
			public createContextMenu(param0: android.view.ContextMenu): void;
			public shouldDelayChildPressedState(): boolean;
			public onStartTemporaryDetach(): void;
			public canResolveLayoutDirection(): boolean;
			public onFinishTemporaryDetach(): void;
			public onGlobalFocusChanged(param0: android.view.View, param1: android.view.View): void;
			public onNestedFling(param0: android.view.View, param1: number, param2: number, param3: boolean): boolean;
			public getCertificate(): android.net.http.SslCertificate;
			public getSettings(): android.webkit.WebSettings;
			public getParentForAccessibility(): android.view.ViewParent;
			public evaluateJavascript(param0: string, param1: android.webkit.ValueCallback<string>): void;
			public onResume(): void;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public pauseTimers(): void;
			public requestFocus(param0: number): boolean;
			/** @deprecated */
			public findAll(param0: string): number;
			public zoomBy(param0: number): void;
			public canGoBackOrForward(param0: number): boolean;
			public computeVerticalScrollOffset(): number;
			public onDraw(param0: android.graphics.Canvas): void;
			public setWebChromeClient(param0: android.webkit.WebChromeClient): void;
			public requestChildRectangleOnScreen(param0: android.view.View, param1: android.graphics.Rect, param2: boolean): boolean;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: native.Array<number>): void;
			/** @deprecated */
			public createPrintDocumentAdapter(): any;
			public onScrollChanged(param0: number, param1: number, param2: number, param3: number): void;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public onSizeChanged(param0: number, param1: number, param2: number, param3: number): void;
			public goBackOrForward(param0: number): void;
			public onGenericMotionEvent(param0: android.view.MotionEvent): boolean;
			/** @deprecated */
			public setVerticalScrollbarOverlay(param0: boolean): void;
			public addJavascriptInterface(param0: any, param1: string): void;
			public isPrivateBrowsingEnabled(): boolean;
			public computeHorizontalScrollOffset(): number;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			/** @deprecated */
			public showFindDialog(param0: string, param1: boolean): boolean;
			public zoomOut(): boolean;
			public computeScroll(): void;
			public removeView(param0: android.view.View): void;
			public clearChildFocus(param0: android.view.View): void;
			public destroy(): void;
			public requestDisallowInterceptTouchEvent(param0: boolean): void;
			public isTextDirectionResolved(): boolean;
			public loadUrl(param0: string, param1: java.util.Map<string,string>): void;
			public setFindListener(param0: android.webkit.WebView.FindListener): void;
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public onAttachedToWindow(): void;
		}
		export module WebView {
			export class FindListener extends java.lang.Object {
				public static class: java.lang.Class<android.webkit.WebView.FindListener>;
				/**
				 * Constructs a new instance of the android.webkit.WebView$FindListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onFindResultReceived(param0: number, param1: number, param2: boolean): void;
				});
				public constructor();
				public onFindResultReceived(param0: number, param1: number, param2: boolean): void;
			}
			export class HitTestResult extends java.lang.Object {
				public static class: java.lang.Class<android.webkit.WebView.HitTestResult>;
				public static ANCHOR_TYPE: number;
				public static EDIT_TEXT_TYPE: number;
				public static EMAIL_TYPE: number;
				public static GEO_TYPE: number;
				public static IMAGE_ANCHOR_TYPE: number;
				public static IMAGE_TYPE: number;
				public static PHONE_TYPE: number;
				public static SRC_ANCHOR_TYPE: number;
				public static SRC_IMAGE_ANCHOR_TYPE: number;
				public static UNKNOWN_TYPE: number;
				public getType(): number;
				public getExtra(): string;
			}
			export class PictureListener extends java.lang.Object {
				public static class: java.lang.Class<android.webkit.WebView.PictureListener>;
				/**
				 * Constructs a new instance of the android.webkit.WebView$PictureListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onNewPicture(param0: android.webkit.WebView, param1: android.graphics.Picture): void;
				});
				public constructor();
				/** @deprecated */
				public onNewPicture(param0: android.webkit.WebView, param1: android.graphics.Picture): void;
			}
			export abstract class VisualStateCallback extends java.lang.Object {
				public static class: java.lang.Class<android.webkit.WebView.VisualStateCallback>;
				public onComplete(param0: number): void;
				public constructor();
			}
			export class WebViewTransport extends java.lang.Object {
				public static class: java.lang.Class<android.webkit.WebView.WebViewTransport>;
				public getWebView(): android.webkit.WebView;
				public constructor(param0: android.webkit.WebView);
				public setWebView(param0: android.webkit.WebView): void;
			}
		}
	}
}

declare module android {
	export module webkit {
		export class WebViewClient extends java.lang.Object {
			public static class: java.lang.Class<android.webkit.WebViewClient>;
			public static ERROR_AUTHENTICATION: number;
			public static ERROR_BAD_URL: number;
			public static ERROR_CONNECT: number;
			public static ERROR_FAILED_SSL_HANDSHAKE: number;
			public static ERROR_FILE: number;
			public static ERROR_FILE_NOT_FOUND: number;
			public static ERROR_HOST_LOOKUP: number;
			public static ERROR_IO: number;
			public static ERROR_PROXY_AUTHENTICATION: number;
			public static ERROR_REDIRECT_LOOP: number;
			public static ERROR_TIMEOUT: number;
			public static ERROR_TOO_MANY_REQUESTS: number;
			public static ERROR_UNKNOWN: number;
			public static ERROR_UNSAFE_RESOURCE: number;
			public static ERROR_UNSUPPORTED_AUTH_SCHEME: number;
			public static ERROR_UNSUPPORTED_SCHEME: number;
			public static SAFE_BROWSING_THREAT_MALWARE: number;
			public static SAFE_BROWSING_THREAT_PHISHING: number;
			public static SAFE_BROWSING_THREAT_UNKNOWN: number;
			public static SAFE_BROWSING_THREAT_UNWANTED_SOFTWARE: number;
			/** @deprecated */
			public onTooManyRedirects(param0: android.webkit.WebView, param1: android.os.Message, param2: android.os.Message): void;
			public onScaleChanged(param0: android.webkit.WebView, param1: number, param2: number): void;
			public shouldInterceptRequest(param0: android.webkit.WebView, param1: android.webkit.WebResourceRequest): android.webkit.WebResourceResponse;
			public onReceivedHttpError(param0: android.webkit.WebView, param1: android.webkit.WebResourceRequest, param2: android.webkit.WebResourceResponse): void;
			public onFormResubmission(param0: android.webkit.WebView, param1: android.os.Message, param2: android.os.Message): void;
			public onReceivedClientCertRequest(param0: android.webkit.WebView, param1: android.webkit.ClientCertRequest): void;
			public shouldOverrideUrlLoading(param0: android.webkit.WebView, param1: android.webkit.WebResourceRequest): boolean;
			public onReceivedSslError(param0: android.webkit.WebView, param1: android.webkit.SslErrorHandler, param2: android.net.http.SslError): void;
			public onUnhandledKeyEvent(param0: android.webkit.WebView, param1: android.view.KeyEvent): void;
			public constructor();
			public onPageCommitVisible(param0: android.webkit.WebView, param1: string): void;
			public onPageFinished(param0: android.webkit.WebView, param1: string): void;
			public onPageStarted(param0: android.webkit.WebView, param1: string, param2: android.graphics.Bitmap): void;
			public onLoadResource(param0: android.webkit.WebView, param1: string): void;
			public onRenderProcessGone(param0: android.webkit.WebView, param1: android.webkit.RenderProcessGoneDetail): boolean;
			public onSafeBrowsingHit(param0: android.webkit.WebView, param1: android.webkit.WebResourceRequest, param2: number, param3: android.webkit.SafeBrowsingResponse): void;
			public doUpdateVisitedHistory(param0: android.webkit.WebView, param1: string, param2: boolean): void;
			/** @deprecated */
			public onReceivedError(param0: android.webkit.WebView, param1: number, param2: string, param3: string): void;
			public onReceivedError(param0: android.webkit.WebView, param1: android.webkit.WebResourceRequest, param2: android.webkit.WebResourceError): void;
			/** @deprecated */
			public shouldOverrideUrlLoading(param0: android.webkit.WebView, param1: string): boolean;
			/** @deprecated */
			public shouldInterceptRequest(param0: android.webkit.WebView, param1: string): android.webkit.WebResourceResponse;
			public shouldOverrideKeyEvent(param0: android.webkit.WebView, param1: android.view.KeyEvent): boolean;
			public onReceivedLoginRequest(param0: android.webkit.WebView, param1: string, param2: string, param3: string): void;
			public onReceivedHttpAuthRequest(param0: android.webkit.WebView, param1: android.webkit.HttpAuthHandler, param2: string, param3: string): void;
		}
	}
}

declare module android {
	export module webkit {
		export abstract class WebViewDatabase extends java.lang.Object {
			public static class: java.lang.Class<android.webkit.WebViewDatabase>;
			/** @deprecated */
			public clearFormData(): void;
			public static getInstance(param0: android.content.Context): android.webkit.WebViewDatabase;
			/** @deprecated */
			public hasFormData(): boolean;
			/** @deprecated */
			public clearUsernamePassword(): void;
			public getHttpAuthUsernamePassword(param0: string, param1: string): native.Array<string>;
			public setHttpAuthUsernamePassword(param0: string, param1: string, param2: string, param3: string): void;
			public constructor();
			public hasHttpAuthUsernamePassword(): boolean;
			public clearHttpAuthUsernamePassword(): void;
			/** @deprecated */
			public hasUsernamePassword(): boolean;
		}
	}
}

declare module android {
	export module webkit {
		export class WebViewFragment extends android.app.Fragment {
			public static class: java.lang.Class<android.webkit.WebViewFragment>;
			public onCreateContextMenu(param0: android.view.ContextMenu, param1: android.view.View, param2: android.view.ContextMenu.ContextMenuInfo): void;
			public onTrimMemory(param0: number): void;
			public onCreateView(param0: android.view.LayoutInflater, param1: android.view.ViewGroup, param2: android.os.Bundle): android.view.View;
			public onResume(): void;
			public onPause(): void;
			public onDestroyView(): void;
			public getWebView(): android.webkit.WebView;
			public constructor();
			public onDestroy(): void;
		}
	}
}

declare module android {
	export module widget {
		export abstract class AbsListView extends android.widget.AdapterView<android.widget.ListAdapter> {
			public static class: java.lang.Class<android.widget.AbsListView>;
			public static CHOICE_MODE_MULTIPLE: number;
			public static CHOICE_MODE_MULTIPLE_MODAL: number;
			public static CHOICE_MODE_NONE: number;
			public static CHOICE_MODE_SINGLE: number;
			public static TRANSCRIPT_MODE_ALWAYS_SCROLL: number;
			public static TRANSCRIPT_MODE_DISABLED: number;
			public static TRANSCRIPT_MODE_NORMAL: number;
			public setScrollIndicators(param0: android.view.View, param1: android.view.View): void;
			public deferNotifyDataSetChanged(): void;
			public onStopNestedScroll(param0: android.view.View): void;
			public onMeasure(param0: number, param1: number): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public invalidateViews(): void;
			public handleDataChanged(): void;
			public childHasTransientStateChanged(param0: android.view.View, param1: boolean): void;
			public onNestedScrollAccepted(param0: android.view.View, param1: android.view.View, param2: number): void;
			public showContextMenuForChild(param0: android.view.View): boolean;
			public keyboardNavigationClusterSearch(param0: android.view.View, param1: number): android.view.View;
			public getListPaddingTop(): number;
			public setSelectionFromTop(param0: number, param1: number): void;
			public beforeTextChanged(param0: string, param1: number, param2: number, param3: number): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public reclaimViews(param0: java.util.List<android.view.View>): void;
			public onDescendantInvalidated(param0: android.view.View, param1: android.view.View): void;
			public sendAccessibilityEvent(param0: number): void;
			public onResolvePointerIcon(param0: android.view.MotionEvent, param1: number): any;
			public onTextChanged(param0: string, param1: number, param2: number, param3: number): void;
			public onStartNestedScroll(param0: android.view.View, param1: android.view.View, param2: number): boolean;
			public isSmoothScrollbarEnabled(): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public setFilterText(param0: string): void;
			public computeVerticalScrollRange(): number;
			public getLayoutDirection(): number;
			public setTranscriptMode(param0: number): void;
			public requestChildFocus(param0: android.view.View, param1: android.view.View): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public setOverScrollMode(param0: number): void;
			public setStackFromBottom(param0: boolean): void;
			public isTextFilterEnabled(): boolean;
			public setSelector(param0: number): void;
			public getAccessibilityClassName(): string;
			public onTouchModeChanged(param0: boolean): void;
			public isFastScrollAlwaysVisible(): boolean;
			public getVerticalScrollbarWidth(): number;
			public setFastScrollEnabled(param0: boolean): void;
			public setSelector(param0: android.graphics.drawable.Drawable): void;
			public setFastScrollAlwaysVisible(param0: boolean): void;
			public getCheckedItemPositions(): android.util.SparseBooleanArray;
			public setScrollBarStyle(param0: number): void;
			public addTouchables(param0: java.util.ArrayList<android.view.View>): void;
			public requestLayout(): void;
			public scrollListBy(param0: number): void;
			public smoothScrollToPosition(param0: number): void;
			public canResolveTextDirection(): boolean;
			public dispatchDrawableHotspotChanged(param0: number, param1: number): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public addView(param0: android.view.View, param1: number, param2: android.view.ViewGroup.LayoutParams): void;
			public getSolidColor(): number;
			public requestFitSystemWindows(): void;
			public onOverScrolled(param0: number, param1: number, param2: boolean, param3: boolean): void;
			public setMultiChoiceModeListener(param0: android.widget.AbsListView.MultiChoiceModeListener): void;
			public isStackFromBottom(): boolean;
			public drawableStateChanged(): void;
			public getCheckedItemIds(): native.Array<number>;
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenu(param0: number, param1: number): boolean;
			public onFocusChanged(param0: boolean, param1: number, param2: android.graphics.Rect): void;
			public getListPaddingRight(): number;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public verifyDrawable(param0: android.graphics.drawable.Drawable): boolean;
			/** @deprecated */
			public invalidateChildInParent(param0: native.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback): android.view.ActionMode;
			public layoutChildren(): void;
			public getTextAlignment(): number;
			public getLeftPaddingOffset(): number;
			public onWindowFocusChanged(param0: boolean): void;
			public onNestedScroll(param0: android.view.View, param1: number, param2: number, param3: number, param4: number): void;
			public generateDefaultLayoutParams(): android.view.ViewGroup.LayoutParams;
			public pointToRowId(param0: number, param1: number): number;
			public onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public setAdapter(param0: any): void;
			public getCheckedItemCount(): number;
			public isPaddingOffsetRequired(): boolean;
			public clearTextFilter(): void;
			public getBottomPaddingOffset(): number;
			public setRecyclerListener(param0: android.widget.AbsListView.RecyclerListener): void;
			public isTextAlignmentResolved(): boolean;
			public onRemoteAdapterDisconnected(): void;
			public setFastScrollStyle(param0: number): void;
			public getTextDirection(): number;
			public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public fling(param0: number): void;
			public onTouchEvent(param0: android.view.MotionEvent): boolean;
			public setVelocityScale(param0: number): void;
			public smoothScrollToPositionFromTop(param0: number, param1: number): void;
			public getSelector(): android.graphics.drawable.Drawable;
			public smoothScrollBy(param0: number, param1: number): void;
			public isInFilterMode(): boolean;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public isScrollingCacheEnabled(): boolean;
			public notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public addView(param0: android.view.View, param1: number): void;
			public onCreateInputConnection(param0: android.view.inputmethod.EditorInfo): android.view.inputmethod.InputConnection;
			public smoothScrollToPositionFromTop(param0: number, param1: number, param2: number): void;
			public smoothScrollToPosition(param0: number, param1: number): void;
			public generateLayoutParams(param0: android.util.AttributeSet): android.view.ViewGroup.LayoutParams;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public getBottomFadingEdgeStrength(): number;
			public addView(param0: android.view.View, param1: number, param2: number): void;
			public requestSendAccessibilityEvent(param0: android.view.View, param1: android.view.accessibility.AccessibilityEvent): boolean;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public setTextFilterEnabled(param0: boolean): void;
			public setAdapter(param0: android.widget.ListAdapter): void;
			public isFastScrollEnabled(): boolean;
			public bringChildToFront(param0: android.view.View): void;
			public onDetachedFromWindow(): void;
			/** @deprecated */
			public invalidateChild(param0: android.view.View, param1: android.graphics.Rect): void;
			public showContextMenu(): boolean;
			public setFriction(param0: number): void;
			public afterTextChanged(param0: android.text.Editable): void;
			public requestTransparentRegion(param0: android.view.View): void;
			public canResolveTextAlignment(): boolean;
			public getParent(): android.view.ViewParent;
			public setScrollIndicators(param0: number): void;
			public onCancelPendingInputEvents(): void;
			public dispatchDraw(param0: android.graphics.Canvas): void;
			public setDrawSelectorOnTop(param0: boolean): void;
			public getCheckedItemPosition(): number;
			public focusSearch(param0: number): android.view.View;
			public onInterceptTouchEvent(param0: android.view.MotionEvent): boolean;
			public recomputeViewAttributes(param0: android.view.View): void;
			public isLayoutRequested(): boolean;
			public computeVerticalScrollExtent(): number;
			public getRightPaddingOffset(): number;
			public setVerticalScrollbarPosition(param0: number): void;
			public getTopFadingEdgeStrength(): number;
			public onGlobalLayout(): void;
			public getTextFilter(): string;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public performItemClick(param0: android.view.View, param1: number, param2: number): boolean;
			public setCacheColorHint(param0: number): void;
			public setScrollingCacheEnabled(param0: boolean): void;
			public onFilterComplete(param0: number): void;
			public childDrawableStateChanged(param0: android.view.View): void;
			public addView(param0: android.view.View): void;
			public onDisplayHint(param0: number): void;
			/** @deprecated */
			public requestFitSystemWindows(): void;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public canScrollList(param0: number): boolean;
			public constructor(param0: android.content.Context);
			public onRtlPropertiesChanged(param0: number): void;
			public setChoiceMode(param0: number): void;
			public getTopPaddingOffset(): number;
			public isItemChecked(param0: number): boolean;
			public onLayout(param0: boolean, param1: number, param2: number, param3: number, param4: number): void;
			public hasTextFilter(): boolean;
			public getListPaddingBottom(): number;
			public isLayoutDirectionResolved(): boolean;
			public focusableViewAvailable(param0: android.view.View): void;
			public createContextMenu(param0: android.view.ContextMenu): void;
			public dispatchSetPressed(param0: boolean): void;
			public setItemChecked(param0: number, param1: boolean): void;
			public setSmoothScrollbarEnabled(param0: boolean): void;
			public getFocusedRect(param0: android.graphics.Rect): void;
			public canResolveLayoutDirection(): boolean;
			public getContextMenuInfo(): android.view.ContextMenu.ContextMenuInfo;
			public onNestedFling(param0: android.view.View, param1: number, param2: number, param3: boolean): boolean;
			public setRemoteViewsAdapter(param0: android.content.Intent): void;
			public checkInputConnectionProxy(param0: android.view.View): boolean;
			public draw(param0: android.graphics.Canvas): void;
			public onRestoreInstanceState(param0: android.os.Parcelable): void;
			public onInterceptHoverEvent(param0: android.view.MotionEvent): boolean;
			public getParentForAccessibility(): android.view.ViewParent;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public setOnScrollListener(param0: android.widget.AbsListView.OnScrollListener): void;
			public computeVerticalScrollOffset(): number;
			public setScrollIndicators(param0: number, param1: number): void;
			public generateLayoutParams(param0: android.view.ViewGroup.LayoutParams): android.view.ViewGroup.LayoutParams;
			public requestChildRectangleOnScreen(param0: android.view.View, param1: android.graphics.Rect, param2: boolean): boolean;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: native.Array<number>): void;
			public onSaveInstanceState(): android.os.Parcelable;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public onSizeChanged(param0: number, param1: number, param2: number, param3: number): void;
			public getSelectedView(): android.view.View;
			public onGenericMotionEvent(param0: android.view.MotionEvent): boolean;
			public getCacheColorHint(): number;
			public onRemoteAdapterConnected(): boolean;
			public clearChoices(): void;
			public jumpDrawablesToCurrentState(): void;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			public getTranscriptMode(): number;
			public generateLayoutParams(param0: android.util.AttributeSet): android.widget.AbsListView.LayoutParams;
			public checkLayoutParams(param0: android.view.ViewGroup.LayoutParams): boolean;
			public getChoiceMode(): number;
			public removeView(param0: android.view.View): void;
			public clearChildFocus(param0: android.view.View): void;
			public pointToPosition(param0: number, param1: number): number;
			public onInitializeAccessibilityNodeInfoForItem(param0: android.view.View, param1: number, param2: android.view.accessibility.AccessibilityNodeInfo): void;
			public requestDisallowInterceptTouchEvent(param0: boolean): void;
			public isTextDirectionResolved(): boolean;
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public getListPaddingLeft(): number;
			public onAttachedToWindow(): void;
		}
		export module AbsListView {
			export class LayoutParams extends android.view.ViewGroup.LayoutParams {
				public static class: java.lang.Class<android.widget.AbsListView.LayoutParams>;
				public constructor(param0: number, param1: number);
				public constructor(param0: android.view.ViewGroup.LayoutParams);
				public constructor(param0: number, param1: number, param2: number);
				public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			}
			export class MultiChoiceModeListener extends java.lang.Object implements android.view.ActionMode.Callback {
				public static class: java.lang.Class<android.widget.AbsListView.MultiChoiceModeListener>;
				/**
				 * Constructs a new instance of the android.widget.AbsListView$MultiChoiceModeListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onItemCheckedStateChanged(param0: android.view.ActionMode, param1: number, param2: number, param3: boolean): void;
					onCreateActionMode(param0: android.view.ActionMode, param1: android.view.Menu): boolean;
					onPrepareActionMode(param0: android.view.ActionMode, param1: android.view.Menu): boolean;
					onActionItemClicked(param0: android.view.ActionMode, param1: android.view.MenuItem): boolean;
					onDestroyActionMode(param0: android.view.ActionMode): void;
				});
				public constructor();
				public onPrepareActionMode(param0: android.view.ActionMode, param1: android.view.Menu): boolean;
				public onActionItemClicked(param0: android.view.ActionMode, param1: android.view.MenuItem): boolean;
				public onCreateActionMode(param0: android.view.ActionMode, param1: android.view.Menu): boolean;
				public onItemCheckedStateChanged(param0: android.view.ActionMode, param1: number, param2: number, param3: boolean): void;
				public onDestroyActionMode(param0: android.view.ActionMode): void;
			}
			export class OnScrollListener extends java.lang.Object {
				public static class: java.lang.Class<android.widget.AbsListView.OnScrollListener>;
				/**
				 * Constructs a new instance of the android.widget.AbsListView$OnScrollListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onScrollStateChanged(param0: android.widget.AbsListView, param1: number): void;
					onScroll(param0: android.widget.AbsListView, param1: number, param2: number, param3: number): void;
				});
				public constructor();
				public static SCROLL_STATE_FLING: number;
				public static SCROLL_STATE_TOUCH_SCROLL: number;
				public static SCROLL_STATE_IDLE: number;
				public onScroll(param0: android.widget.AbsListView, param1: number, param2: number, param3: number): void;
				public onScrollStateChanged(param0: android.widget.AbsListView, param1: number): void;
			}
			export class RecyclerListener extends java.lang.Object {
				public static class: java.lang.Class<android.widget.AbsListView.RecyclerListener>;
				/**
				 * Constructs a new instance of the android.widget.AbsListView$RecyclerListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onMovedToScrapHeap(param0: android.view.View): void;
				});
				public constructor();
				public onMovedToScrapHeap(param0: android.view.View): void;
			}
			export class SelectionBoundsAdjuster extends java.lang.Object {
				public static class: java.lang.Class<android.widget.AbsListView.SelectionBoundsAdjuster>;
				/**
				 * Constructs a new instance of the android.widget.AbsListView$SelectionBoundsAdjuster interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					adjustListItemSelectionBounds(param0: android.graphics.Rect): void;
				});
				public constructor();
				public adjustListItemSelectionBounds(param0: android.graphics.Rect): void;
			}
		}
	}
}

declare module android {
	export module widget {
		export abstract class AbsSeekBar extends android.widget.ProgressBar {
			public static class: java.lang.Class<android.widget.AbsSeekBar>;
			public getSplitTrack(): boolean;
			public getAccessibilityClassName(): string;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public setTickMarkTintList(param0: android.content.res.ColorStateList): void;
			public setThumbTintList(param0: android.content.res.ColorStateList): void;
			public onSizeChanged(param0: number, param1: number, param2: number, param3: number): void;
			public setMin(param0: number): void;
			public drawableStateChanged(): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public onMeasure(param0: number, param1: number): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public setSplitTrack(param0: boolean): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public jumpDrawablesToCurrentState(): void;
			public setMax(param0: number): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public sendAccessibilityEvent(param0: number): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public getThumb(): android.graphics.drawable.Drawable;
			public getTickMarkTintList(): android.content.res.ColorStateList;
			public verifyDrawable(param0: android.graphics.drawable.Drawable): boolean;
			public onTouchEvent(param0: android.view.MotionEvent): boolean;
			public getThumbTintMode(): android.graphics.PorterDuff.Mode;
			public getTickMark(): android.graphics.drawable.Drawable;
			public getThumbTintList(): android.content.res.ColorStateList;
			public setTickMarkTintMode(param0: android.graphics.PorterDuff.Mode): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public setThumbTintMode(param0: android.graphics.PorterDuff.Mode): void;
			public drawableHotspotChanged(param0: number, param1: number): void;
			public setThumbOffset(param0: number): void;
			public constructor(param0: android.content.Context);
			public getTickMarkTintMode(): android.graphics.PorterDuff.Mode;
			public getKeyProgressIncrement(): number;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public setThumb(param0: android.graphics.drawable.Drawable): void;
			public onDraw(param0: android.graphics.Canvas): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public setTickMark(param0: android.graphics.drawable.Drawable): void;
			public getThumbOffset(): number;
			public onRtlPropertiesChanged(param0: number): void;
			public setKeyProgressIncrement(param0: number): void;
		}
	}
}

declare module android {
	export module widget {
		export abstract class AbsSpinner extends android.widget.AdapterView<android.widget.SpinnerAdapter> {
			public static class: java.lang.Class<android.widget.AbsSpinner>;
			public setSelection(param0: number): void;
			public autofill(param0: android.view.autofill.AutofillValue): void;
			public isLayoutDirectionResolved(): boolean;
			public setSelection(param0: number, param1: boolean): void;
			public onStopNestedScroll(param0: android.view.View): void;
			public focusableViewAvailable(param0: android.view.View): void;
			public createContextMenu(param0: android.view.ContextMenu): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public onMeasure(param0: number, param1: number): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public addView(param0: android.view.View, param1: number, param2: number): void;
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public requestSendAccessibilityEvent(param0: android.view.View, param1: android.view.accessibility.AccessibilityEvent): boolean;
			public childHasTransientStateChanged(param0: android.view.View, param1: boolean): void;
			public canResolveLayoutDirection(): boolean;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public getAutofillValue(): android.view.autofill.AutofillValue;
			public onNestedScrollAccepted(param0: android.view.View, param1: android.view.View, param2: number): void;
			public keyboardNavigationClusterSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(param0: android.view.View): boolean;
			public onNestedFling(param0: android.view.View, param1: number, param2: number, param3: boolean): boolean;
			public getCount(): number;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public onDescendantInvalidated(param0: android.view.View, param1: android.view.View): void;
			public sendAccessibilityEvent(param0: number): void;
			public onRestoreInstanceState(param0: android.os.Parcelable): void;
			/** @deprecated */
			public invalidateChild(param0: android.view.View, param1: android.graphics.Rect): void;
			public requestTransparentRegion(param0: android.view.View): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public getAdapter(): android.widget.SpinnerAdapter;
			public getParentForAccessibility(): android.view.ViewParent;
			public canResolveTextAlignment(): boolean;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public getParent(): android.view.ViewParent;
			public dispatchRestoreInstanceState(param0: android.util.SparseArray<android.os.Parcelable>): void;
			/** @deprecated */
			public invalidateChildInParent(param0: native.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public onStartNestedScroll(param0: android.view.View, param1: android.view.View, param2: number): boolean;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback): android.view.ActionMode;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public getLayoutDirection(): number;
			public getTextAlignment(): number;
			public setAdapter(param0: android.widget.SpinnerAdapter): void;
			public requestChildFocus(param0: android.view.View, param1: android.view.View): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public generateDefaultLayoutParams(): android.view.ViewGroup.LayoutParams;
			public requestChildRectangleOnScreen(param0: android.view.View, param1: android.graphics.Rect, param2: boolean): boolean;
			public onNestedScroll(param0: android.view.View, param1: number, param2: number, param3: number, param4: number): void;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: native.Array<number>): void;
			public onSaveInstanceState(): android.os.Parcelable;
			public onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public getAccessibilityClassName(): string;
			public focusSearch(param0: number): android.view.View;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public recomputeViewAttributes(param0: android.view.View): void;
			public setAdapter(param0: any): void;
			public isLayoutRequested(): boolean;
			public getSelectedView(): android.view.View;
			public autofill(param0: android.util.SparseArray<android.view.autofill.AutofillValue>): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			public getAdapter(): any;
			public getAutofillType(): number;
			public requestLayout(): void;
			public childDrawableStateChanged(param0: android.view.View): void;
			public isTextAlignmentResolved(): boolean;
			public addView(param0: android.view.View): void;
			public removeView(param0: android.view.View): void;
			public clearChildFocus(param0: android.view.View): void;
			public pointToPosition(param0: number, param1: number): number;
			public canResolveTextDirection(): boolean;
			public getTextDirection(): number;
			public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			/** @deprecated */
			public requestFitSystemWindows(): void;
			public requestDisallowInterceptTouchEvent(param0: boolean): void;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public isTextDirectionResolved(): boolean;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public constructor(param0: android.content.Context);
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public addView(param0: android.view.View, param1: number, param2: android.view.ViewGroup.LayoutParams): void;
			public notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public requestFitSystemWindows(): void;
			public addView(param0: android.view.View, param1: number): void;
		}
	}
}

declare module android {
	export module widget {
		export class AbsoluteLayout extends android.view.ViewGroup {
			public static class: java.lang.Class<android.widget.AbsoluteLayout>;
			public onLayout(param0: boolean, param1: number, param2: number, param3: number, param4: number): void;
			public isLayoutDirectionResolved(): boolean;
			public generateLayoutParams(param0: android.util.AttributeSet): android.view.ViewGroup.LayoutParams;
			public onStopNestedScroll(param0: android.view.View): void;
			public focusableViewAvailable(param0: android.view.View): void;
			public createContextMenu(param0: android.view.ContextMenu): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public onMeasure(param0: number, param1: number): void;
			public shouldDelayChildPressedState(): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public addView(param0: android.view.View, param1: number, param2: number): void;
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public requestSendAccessibilityEvent(param0: android.view.View, param1: android.view.accessibility.AccessibilityEvent): boolean;
			public childHasTransientStateChanged(param0: android.view.View, param1: boolean): void;
			public canResolveLayoutDirection(): boolean;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public onNestedScrollAccepted(param0: android.view.View, param1: android.view.View, param2: number): void;
			public keyboardNavigationClusterSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(param0: android.view.View): boolean;
			public onNestedFling(param0: android.view.View, param1: number, param2: number, param3: boolean): boolean;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public onDescendantInvalidated(param0: android.view.View, param1: android.view.View): void;
			public sendAccessibilityEvent(param0: number): void;
			/** @deprecated */
			public invalidateChild(param0: android.view.View, param1: android.graphics.Rect): void;
			public requestTransparentRegion(param0: android.view.View): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public getParentForAccessibility(): android.view.ViewParent;
			public canResolveTextAlignment(): boolean;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public getParent(): android.view.ViewParent;
			/** @deprecated */
			public invalidateChildInParent(param0: native.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public onStartNestedScroll(param0: android.view.View, param1: android.view.View, param2: number): boolean;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback): android.view.ActionMode;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public getLayoutDirection(): number;
			public getTextAlignment(): number;
			public requestChildFocus(param0: android.view.View, param1: android.view.View): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public generateLayoutParams(param0: android.view.ViewGroup.LayoutParams): android.view.ViewGroup.LayoutParams;
			public generateDefaultLayoutParams(): android.view.ViewGroup.LayoutParams;
			public requestChildRectangleOnScreen(param0: android.view.View, param1: android.graphics.Rect, param2: boolean): boolean;
			public onNestedScroll(param0: android.view.View, param1: number, param2: number, param3: number, param4: number): void;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: native.Array<number>): void;
			public onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public focusSearch(param0: number): android.view.View;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public recomputeViewAttributes(param0: android.view.View): void;
			public isLayoutRequested(): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			public requestLayout(): void;
			public checkLayoutParams(param0: android.view.ViewGroup.LayoutParams): boolean;
			public childDrawableStateChanged(param0: android.view.View): void;
			public isTextAlignmentResolved(): boolean;
			public addView(param0: android.view.View): void;
			public removeView(param0: android.view.View): void;
			public clearChildFocus(param0: android.view.View): void;
			public canResolveTextDirection(): boolean;
			public getTextDirection(): number;
			public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			/** @deprecated */
			public requestFitSystemWindows(): void;
			public requestDisallowInterceptTouchEvent(param0: boolean): void;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public isTextDirectionResolved(): boolean;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public constructor(param0: android.content.Context);
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public addView(param0: android.view.View, param1: number, param2: android.view.ViewGroup.LayoutParams): void;
			public notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public requestFitSystemWindows(): void;
			public addView(param0: android.view.View, param1: number): void;
		}
		export module AbsoluteLayout {
			export class LayoutParams extends android.view.ViewGroup.LayoutParams {
				public static class: java.lang.Class<android.widget.AbsoluteLayout.LayoutParams>;
				public x: number;
				public y: number;
				public constructor(param0: number, param1: number);
				public constructor(param0: android.view.ViewGroup.LayoutParams);
				public debug(param0: string): string;
				public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
				public constructor(param0: number, param1: number, param2: number, param3: number);
			}
		}
	}
}

declare module android {
	export module widget {
		export class ActionMenuView extends android.widget.LinearLayout {
			public static class: java.lang.Class<android.widget.ActionMenuView>;
			public getMenu(): android.view.Menu;
			public onLayout(param0: boolean, param1: number, param2: number, param3: number, param4: number): void;
			public getOverflowIcon(): android.graphics.drawable.Drawable;
			public isLayoutDirectionResolved(): boolean;
			public generateLayoutParams(param0: android.util.AttributeSet): android.view.ViewGroup.LayoutParams;
			public onStopNestedScroll(param0: android.view.View): void;
			public focusableViewAvailable(param0: android.view.View): void;
			public createContextMenu(param0: android.view.ContextMenu): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public onMeasure(param0: number, param1: number): void;
			public setOnMenuItemClickListener(param0: android.widget.ActionMenuView.OnMenuItemClickListener): void;
			public dismissPopupMenus(): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public addView(param0: android.view.View, param1: number, param2: number): void;
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public requestSendAccessibilityEvent(param0: android.view.View, param1: android.view.accessibility.AccessibilityEvent): boolean;
			public getPopupTheme(): number;
			public childHasTransientStateChanged(param0: android.view.View, param1: boolean): void;
			public canResolveLayoutDirection(): boolean;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public generateLayoutParams(param0: android.view.ViewGroup.LayoutParams): android.widget.ActionMenuView.LayoutParams;
			public hideOverflowMenu(): boolean;
			public onNestedScrollAccepted(param0: android.view.View, param1: android.view.View, param2: number): void;
			public keyboardNavigationClusterSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(param0: android.view.View): boolean;
			public onNestedFling(param0: android.view.View, param1: number, param2: number, param3: boolean): boolean;
			public generateLayoutParams(param0: android.util.AttributeSet): android.widget.ActionMenuView.LayoutParams;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public onDescendantInvalidated(param0: android.view.View, param1: android.view.View): void;
			public onDetachedFromWindow(): void;
			public sendAccessibilityEvent(param0: number): void;
			/** @deprecated */
			public invalidateChild(param0: android.view.View, param1: android.graphics.Rect): void;
			public setOverflowIcon(param0: android.graphics.drawable.Drawable): void;
			public requestTransparentRegion(param0: android.view.View): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public getParentForAccessibility(): android.view.ViewParent;
			public canResolveTextAlignment(): boolean;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public getParent(): android.view.ViewParent;
			/** @deprecated */
			public invalidateChildInParent(param0: native.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public onStartNestedScroll(param0: android.view.View, param1: android.view.View, param2: number): boolean;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback): android.view.ActionMode;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public getLayoutDirection(): number;
			public getTextAlignment(): number;
			public requestChildFocus(param0: android.view.View, param1: android.view.View): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public generateDefaultLayoutParams(): android.widget.ActionMenuView.LayoutParams;
			public generateLayoutParams(param0: android.view.ViewGroup.LayoutParams): android.view.ViewGroup.LayoutParams;
			public generateDefaultLayoutParams(): android.view.ViewGroup.LayoutParams;
			public requestChildRectangleOnScreen(param0: android.view.View, param1: android.graphics.Rect, param2: boolean): boolean;
			public onNestedScroll(param0: android.view.View, param1: number, param2: number, param3: number, param4: number): void;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: native.Array<number>): void;
			public onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public focusSearch(param0: number): android.view.View;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public recomputeViewAttributes(param0: android.view.View): void;
			public showOverflowMenu(): boolean;
			public isLayoutRequested(): boolean;
			public generateLayoutParams(param0: android.view.ViewGroup.LayoutParams): android.widget.LinearLayout.LayoutParams;
			public generateDefaultLayoutParams(): android.widget.LinearLayout.LayoutParams;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			public onConfigurationChanged(param0: android.content.res.Configuration): void;
			public requestLayout(): void;
			public generateLayoutParams(param0: android.util.AttributeSet): android.widget.LinearLayout.LayoutParams;
			public checkLayoutParams(param0: android.view.ViewGroup.LayoutParams): boolean;
			public childDrawableStateChanged(param0: android.view.View): void;
			public isTextAlignmentResolved(): boolean;
			public addView(param0: android.view.View): void;
			public removeView(param0: android.view.View): void;
			public isOverflowMenuShowing(): boolean;
			public clearChildFocus(param0: android.view.View): void;
			public canResolveTextDirection(): boolean;
			public getTextDirection(): number;
			public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			/** @deprecated */
			public requestFitSystemWindows(): void;
			public requestDisallowInterceptTouchEvent(param0: boolean): void;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public isTextDirectionResolved(): boolean;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public constructor(param0: android.content.Context);
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public addView(param0: android.view.View, param1: number, param2: android.view.ViewGroup.LayoutParams): void;
			public setPopupTheme(param0: number): void;
			public notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public requestFitSystemWindows(): void;
			public addView(param0: android.view.View, param1: number): void;
		}
		export module ActionMenuView {
			export class LayoutParams extends android.widget.LinearLayout.LayoutParams {
				public static class: java.lang.Class<android.widget.ActionMenuView.LayoutParams>;
				public constructor(param0: number, param1: number);
				public constructor(param0: android.view.ViewGroup.LayoutParams);
				public constructor(param0: android.view.ViewGroup.MarginLayoutParams);
				public constructor(param0: android.widget.ActionMenuView.LayoutParams);
				public constructor(param0: number, param1: number, param2: number);
				public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
				public constructor(param0: android.widget.LinearLayout.LayoutParams);
			}
			export class OnMenuItemClickListener extends java.lang.Object {
				public static class: java.lang.Class<android.widget.ActionMenuView.OnMenuItemClickListener>;
				/**
				 * Constructs a new instance of the android.widget.ActionMenuView$OnMenuItemClickListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onMenuItemClick(param0: android.view.MenuItem): boolean;
				});
				public constructor();
				public onMenuItemClick(param0: android.view.MenuItem): boolean;
			}
		}
	}
}

declare module android {
	export module widget {
		export class Adapter extends java.lang.Object {
			public static class: java.lang.Class<android.widget.Adapter>;
			/**
			 * Constructs a new instance of the android.widget.Adapter interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				registerDataSetObserver(param0: android.database.DataSetObserver): void;
				unregisterDataSetObserver(param0: android.database.DataSetObserver): void;
				getCount(): number;
				getItem(param0: number): any;
				getItemId(param0: number): number;
				hasStableIds(): boolean;
				getView(param0: number, param1: android.view.View, param2: android.view.ViewGroup): android.view.View;
				getItemViewType(param0: number): number;
				getViewTypeCount(): number;
				isEmpty(): boolean;
				getAutofillOptions(): native.Array<string>;
			});
			public constructor();
			public static NO_SELECTION: number;
			public static IGNORE_ITEM_VIEW_TYPE: number;
			public unregisterDataSetObserver(param0: android.database.DataSetObserver): void;
			public getItem(param0: number): any;
			public getView(param0: number, param1: android.view.View, param2: android.view.ViewGroup): android.view.View;
			public registerDataSetObserver(param0: android.database.DataSetObserver): void;
			public getItemViewType(param0: number): number;
			public isEmpty(): boolean;
			public getViewTypeCount(): number;
			public getItemId(param0: number): number;
			public getAutofillOptions(): native.Array<string>;
			public hasStableIds(): boolean;
			public getCount(): number;
		}
	}
}

declare module android {
	export module widget {
		export abstract class AdapterView<T>  extends android.view.ViewGroup {
			public static class: java.lang.Class<android.widget.AdapterView<any>>;
			public static INVALID_POSITION: number;
			public static INVALID_ROW_ID: number;
			public static ITEM_VIEW_TYPE_HEADER_OR_FOOTER: number;
			public static ITEM_VIEW_TYPE_IGNORE: number;
			public setSelection(param0: number): void;
			public onStopNestedScroll(param0: android.view.View): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public setOnItemClickListener(param0: android.widget.AdapterView.OnItemClickListener): void;
			public addView(param0: android.view.View, param1: number, param2: number): void;
			public requestSendAccessibilityEvent(param0: android.view.View, param1: android.view.accessibility.AccessibilityEvent): boolean;
			public getOnItemClickListener(): android.widget.AdapterView.OnItemClickListener;
			public childHasTransientStateChanged(param0: android.view.View, param1: boolean): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public onNestedScrollAccepted(param0: android.view.View, param1: android.view.View, param2: number): void;
			public keyboardNavigationClusterSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(param0: android.view.View): boolean;
			public setOnItemSelectedListener(param0: android.widget.AdapterView.OnItemSelectedListener): void;
			public getItemIdAtPosition(param0: number): number;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public onDescendantInvalidated(param0: android.view.View, param1: android.view.View): void;
			public onDetachedFromWindow(): void;
			public sendAccessibilityEvent(param0: number): void;
			/** @deprecated */
			public invalidateChild(param0: android.view.View, param1: android.graphics.Rect): void;
			public requestTransparentRegion(param0: android.view.View): void;
			public getPositionForView(param0: android.view.View): number;
			public canResolveTextAlignment(): boolean;
			public getParent(): android.view.ViewParent;
			public dispatchRestoreInstanceState(param0: android.util.SparseArray<android.os.Parcelable>): void;
			public onStartNestedScroll(param0: android.view.View, param1: android.view.View, param2: number): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public getLayoutDirection(): number;
			public requestChildFocus(param0: android.view.View, param1: android.view.View): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public getAccessibilityClassName(): string;
			public focusSearch(param0: number): android.view.View;
			public recomputeViewAttributes(param0: android.view.View): void;
			public isLayoutRequested(): boolean;
			public getSelectedItemId(): number;
			public getEmptyView(): android.view.View;
			public removeAllViews(): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public performItemClick(param0: android.view.View, param1: number, param2: number): boolean;
			public requestLayout(): void;
			public addView(param0: android.view.View): void;
			public childDrawableStateChanged(param0: android.view.View): void;
			public canResolveTextDirection(): boolean;
			public getOnItemSelectedListener(): android.widget.AdapterView.OnItemSelectedListener;
			/** @deprecated */
			public requestFitSystemWindows(): void;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public getItemAtPosition(param0: number): any;
			public constructor(param0: android.content.Context);
			public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public addView(param0: android.view.View, param1: number, param2: android.view.ViewGroup.LayoutParams): void;
			public requestFitSystemWindows(): void;
			public onLayout(param0: boolean, param1: number, param2: number, param3: number, param4: number): void;
			public getSelectedItem(): any;
			public setFocusable(param0: boolean): void;
			public setFocusableInTouchMode(param0: boolean): void;
			public isLayoutDirectionResolved(): boolean;
			public focusableViewAvailable(param0: android.view.View): void;
			public createContextMenu(param0: android.view.ContextMenu): void;
			public setOnClickListener(param0: android.view.View.OnClickListener): void;
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public canResolveLayoutDirection(): boolean;
			public canAnimate(): boolean;
			public setFocusable(param0: number): void;
			public onNestedFling(param0: android.view.View, param1: number, param2: number, param3: boolean): boolean;
			public getOnItemLongClickListener(): android.widget.AdapterView.OnItemLongClickListener;
			public getCount(): number;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public getParentForAccessibility(): android.view.ViewParent;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			/** @deprecated */
			public invalidateChildInParent(param0: native.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public setEmptyView(param0: android.view.View): void;
			public onProvideAutofillStructure(param0: any, param1: number): void;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback): android.view.ActionMode;
			public getTextAlignment(): number;
			public requestChildRectangleOnScreen(param0: android.view.View, param1: android.graphics.Rect, param2: boolean): boolean;
			public onNestedScroll(param0: android.view.View, param1: number, param2: number, param3: number, param4: number): void;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: native.Array<number>): void;
			public onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public setAdapter(param0: any): void;
			public getSelectedView(): android.view.View;
			public setOnItemLongClickListener(param0: android.widget.AdapterView.OnItemLongClickListener): void;
			public removeViewAt(param0: number): void;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			public getAdapter(): any;
			public getFirstVisiblePosition(): number;
			public isTextAlignmentResolved(): boolean;
			public removeView(param0: android.view.View): void;
			public clearChildFocus(param0: android.view.View): void;
			public getLastVisiblePosition(): number;
			public getTextDirection(): number;
			public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public requestDisallowInterceptTouchEvent(param0: boolean): void;
			public isTextDirectionResolved(): boolean;
			public getSelectedItemPosition(): number;
			public dispatchSaveInstanceState(param0: android.util.SparseArray<android.os.Parcelable>): void;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public addView(param0: android.view.View, param1: number): void;
		}
		export module AdapterView {
			export class AdapterContextMenuInfo extends java.lang.Object implements android.view.ContextMenu.ContextMenuInfo {
				public static class: java.lang.Class<android.widget.AdapterView.AdapterContextMenuInfo>;
				public id: number;
				public position: number;
				public targetView: android.view.View;
				public constructor(param0: android.view.View, param1: number, param2: number);
			}
			export class OnItemClickListener extends java.lang.Object {
				public static class: java.lang.Class<android.widget.AdapterView.OnItemClickListener>;
				/**
				 * Constructs a new instance of the android.widget.AdapterView$OnItemClickListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onItemClick(param0: android.widget.AdapterView<any>, param1: android.view.View, param2: number, param3: number): void;
				});
				public constructor();
				public onItemClick(param0: android.widget.AdapterView<any>, param1: android.view.View, param2: number, param3: number): void;
			}
			export class OnItemLongClickListener extends java.lang.Object {
				public static class: java.lang.Class<android.widget.AdapterView.OnItemLongClickListener>;
				/**
				 * Constructs a new instance of the android.widget.AdapterView$OnItemLongClickListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onItemLongClick(param0: android.widget.AdapterView<any>, param1: android.view.View, param2: number, param3: number): boolean;
				});
				public constructor();
				public onItemLongClick(param0: android.widget.AdapterView<any>, param1: android.view.View, param2: number, param3: number): boolean;
			}
			export class OnItemSelectedListener extends java.lang.Object {
				public static class: java.lang.Class<android.widget.AdapterView.OnItemSelectedListener>;
				/**
				 * Constructs a new instance of the android.widget.AdapterView$OnItemSelectedListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onItemSelected(param0: android.widget.AdapterView<any>, param1: android.view.View, param2: number, param3: number): void;
					onNothingSelected(param0: android.widget.AdapterView<any>): void;
				});
				public constructor();
				public onItemSelected(param0: android.widget.AdapterView<any>, param1: android.view.View, param2: number, param3: number): void;
				public onNothingSelected(param0: android.widget.AdapterView<any>): void;
			}
		}
	}
}

declare module android {
	export module widget {
		export abstract class AdapterViewAnimator extends android.widget.AdapterView<android.widget.Adapter> implements android.widget.Advanceable  {
			public static class: java.lang.Class<android.widget.AdapterViewAnimator>;
			public setInAnimation(param0: android.content.Context, param1: number): void;
			public deferNotifyDataSetChanged(): void;
			public setSelection(param0: number): void;
			public onStopNestedScroll(param0: android.view.View): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public onMeasure(param0: number, param1: number): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public addView(param0: android.view.View, param1: number, param2: number): void;
			public requestSendAccessibilityEvent(param0: android.view.View, param1: android.view.accessibility.AccessibilityEvent): boolean;
			public getInAnimation(): android.animation.ObjectAnimator;
			public childHasTransientStateChanged(param0: android.view.View, param1: boolean): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public onNestedScrollAccepted(param0: android.view.View, param1: android.view.View, param2: number): void;
			public keyboardNavigationClusterSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(param0: android.view.View): boolean;
			public fyiWillBeAdvancedByHostKThx(): void;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public setAdapter(param0: android.widget.Adapter): void;
			public onDescendantInvalidated(param0: android.view.View, param1: android.view.View): void;
			public setDisplayedChild(param0: number): void;
			public sendAccessibilityEvent(param0: number): void;
			/** @deprecated */
			public invalidateChild(param0: android.view.View, param1: android.graphics.Rect): void;
			public requestTransparentRegion(param0: android.view.View): void;
			public canResolveTextAlignment(): boolean;
			public getParent(): android.view.ViewParent;
			public onStartNestedScroll(param0: android.view.View, param1: android.view.View, param2: number): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public getLayoutDirection(): number;
			public setInAnimation(param0: android.animation.ObjectAnimator): void;
			public requestChildFocus(param0: android.view.View, param1: android.view.View): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public getAccessibilityClassName(): string;
			public focusSearch(param0: number): android.view.View;
			public recomputeViewAttributes(param0: android.view.View): void;
			public showNext(): void;
			public isLayoutRequested(): boolean;
			public advance(): void;
			public getDisplayedChild(): number;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public requestLayout(): void;
			public childDrawableStateChanged(param0: android.view.View): void;
			public addView(param0: android.view.View): void;
			public canResolveTextDirection(): boolean;
			/** @deprecated */
			public requestFitSystemWindows(): void;
			public getAdapter(): android.widget.Adapter;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public constructor(param0: android.content.Context);
			public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public addView(param0: android.view.View, param1: number, param2: android.view.ViewGroup.LayoutParams): void;
			public requestFitSystemWindows(): void;
			public onLayout(param0: boolean, param1: number, param2: number, param3: number, param4: number): void;
			public isLayoutDirectionResolved(): boolean;
			public focusableViewAvailable(param0: android.view.View): void;
			public createContextMenu(param0: android.view.ContextMenu): void;
			public setOutAnimation(param0: android.content.Context, param1: number): void;
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public canResolveLayoutDirection(): boolean;
			public onNestedFling(param0: android.view.View, param1: number, param2: number, param3: boolean): boolean;
			public setRemoteViewsAdapter(param0: android.content.Intent): void;
			public onRestoreInstanceState(param0: android.os.Parcelable): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public getParentForAccessibility(): android.view.ViewParent;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			/** @deprecated */
			public invalidateChildInParent(param0: native.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback): android.view.ActionMode;
			public getTextAlignment(): number;
			public requestChildRectangleOnScreen(param0: android.view.View, param1: android.graphics.Rect, param2: boolean): boolean;
			public onNestedScroll(param0: android.view.View, param1: number, param2: number, param3: number, param4: number): void;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: native.Array<number>): void;
			public onSaveInstanceState(): android.os.Parcelable;
			public onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public setAdapter(param0: any): void;
			public setAnimateFirstView(param0: boolean): void;
			public getSelectedView(): android.view.View;
			public onRemoteAdapterConnected(): boolean;
			public getOutAnimation(): android.animation.ObjectAnimator;
			public showPrevious(): void;
			public getCurrentView(): android.view.View;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			public setOutAnimation(param0: android.animation.ObjectAnimator): void;
			public getAdapter(): any;
			public getBaseline(): number;
			public isTextAlignmentResolved(): boolean;
			public removeView(param0: android.view.View): void;
			public clearChildFocus(param0: android.view.View): void;
			public onRemoteAdapterDisconnected(): void;
			public getTextDirection(): number;
			public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public onTouchEvent(param0: android.view.MotionEvent): boolean;
			public requestDisallowInterceptTouchEvent(param0: boolean): void;
			public isTextDirectionResolved(): boolean;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public addView(param0: android.view.View, param1: number): void;
		}
	}
}

declare module android {
	export module widget {
		export class AdapterViewFlipper extends android.widget.AdapterViewAnimator {
			public static class: java.lang.Class<android.widget.AdapterViewFlipper>;
			public startFlipping(): void;
			public isLayoutDirectionResolved(): boolean;
			public onStopNestedScroll(param0: android.view.View): void;
			public focusableViewAvailable(param0: android.view.View): void;
			public createContextMenu(param0: android.view.ContextMenu): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public addView(param0: android.view.View, param1: number, param2: number): void;
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public requestSendAccessibilityEvent(param0: android.view.View, param1: android.view.accessibility.AccessibilityEvent): boolean;
			public childHasTransientStateChanged(param0: android.view.View, param1: boolean): void;
			public canResolveLayoutDirection(): boolean;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public stopFlipping(): void;
			public onNestedScrollAccepted(param0: android.view.View, param1: android.view.View, param2: number): void;
			public keyboardNavigationClusterSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(param0: android.view.View): boolean;
			public onNestedFling(param0: android.view.View, param1: number, param2: number, param3: boolean): boolean;
			public fyiWillBeAdvancedByHostKThx(): void;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public setAdapter(param0: android.widget.Adapter): void;
			public onDescendantInvalidated(param0: android.view.View, param1: android.view.View): void;
			public onDetachedFromWindow(): void;
			public sendAccessibilityEvent(param0: number): void;
			/** @deprecated */
			public invalidateChild(param0: android.view.View, param1: android.graphics.Rect): void;
			public requestTransparentRegion(param0: android.view.View): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public getParentForAccessibility(): android.view.ViewParent;
			public canResolveTextAlignment(): boolean;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public getParent(): android.view.ViewParent;
			/** @deprecated */
			public invalidateChildInParent(param0: native.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public onStartNestedScroll(param0: android.view.View, param1: android.view.View, param2: number): boolean;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback): android.view.ActionMode;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public getLayoutDirection(): number;
			public setFlipInterval(param0: number): void;
			public getTextAlignment(): number;
			public requestChildFocus(param0: android.view.View, param1: android.view.View): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public requestChildRectangleOnScreen(param0: android.view.View, param1: android.graphics.Rect, param2: boolean): boolean;
			public onNestedScroll(param0: android.view.View, param1: number, param2: number, param3: number, param4: number): void;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: native.Array<number>): void;
			public onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public getAccessibilityClassName(): string;
			public focusSearch(param0: number): android.view.View;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public recomputeViewAttributes(param0: android.view.View): void;
			public showNext(): void;
			public isLayoutRequested(): boolean;
			public advance(): void;
			public isAutoStart(): boolean;
			public showPrevious(): void;
			public onWindowVisibilityChanged(param0: number): void;
			public getFlipInterval(): number;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			public requestLayout(): void;
			public childDrawableStateChanged(param0: android.view.View): void;
			public isTextAlignmentResolved(): boolean;
			public addView(param0: android.view.View): void;
			public removeView(param0: android.view.View): void;
			public clearChildFocus(param0: android.view.View): void;
			public isFlipping(): boolean;
			public canResolveTextDirection(): boolean;
			public getTextDirection(): number;
			public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			/** @deprecated */
			public requestFitSystemWindows(): void;
			public requestDisallowInterceptTouchEvent(param0: boolean): void;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public isTextDirectionResolved(): boolean;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public setAutoStart(param0: boolean): void;
			public constructor(param0: android.content.Context);
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public addView(param0: android.view.View, param1: number, param2: android.view.ViewGroup.LayoutParams): void;
			public onAttachedToWindow(): void;
			public notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public requestFitSystemWindows(): void;
			public addView(param0: android.view.View, param1: number): void;
		}
	}
}

declare module android {
	export module widget {
		export class Advanceable extends java.lang.Object {
			public static class: java.lang.Class<android.widget.Advanceable>;
			/**
			 * Constructs a new instance of the android.widget.Advanceable interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				advance(): void;
				fyiWillBeAdvancedByHostKThx(): void;
			});
			public constructor();
			public advance(): void;
			public fyiWillBeAdvancedByHostKThx(): void;
		}
	}
}

declare module android {
	export module widget {
		export class AlphabetIndexer extends android.database.DataSetObserver implements android.widget.SectionIndexer {
			public static class: java.lang.Class<android.widget.AlphabetIndexer>;
			public mAlphabet: string;
			public mColumnIndex: number;
			public mDataCursor: android.database.Cursor;
			public getSections(): native.Array<any>;
			public getPositionForSection(param0: number): number;
			public onInvalidated(): void;
			public constructor();
			public setCursor(param0: android.database.Cursor): void;
			public constructor(param0: android.database.Cursor, param1: number, param2: string);
			public compare(param0: string, param1: string): number;
			public getSectionForPosition(param0: number): number;
			public onChanged(): void;
		}
	}
}

declare module android {
	export module widget {
		export class AnalogClock extends android.view.View {
			public static class: java.lang.Class<android.widget.AnalogClock>;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public onSizeChanged(param0: number, param1: number, param2: number, param3: number): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public onMeasure(param0: number, param1: number): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public constructor(param0: android.content.Context);
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public onDraw(param0: android.graphics.Canvas): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public onAttachedToWindow(): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public onDetachedFromWindow(): void;
			public sendAccessibilityEvent(param0: number): void;
		}
	}
}

declare module android {
	export module widget {
		export class ArrayAdapter<T>  extends android.widget.BaseAdapter {
			public static class: java.lang.Class<android.widget.ArrayAdapter<any>>;
			public getItem(param0: number): any;
			public getFilter(): android.widget.Filter;
			public registerDataSetObserver(param0: android.database.DataSetObserver): void;
			public getPosition(param0: any): number;
			public getItemId(param0: number): number;
			public getAutofillOptions(): native.Array<string>;
			public constructor(param0: android.content.Context, param1: number, param2: java.util.List<any>);
			public hasStableIds(): boolean;
			public getDropDownViewTheme(): android.content.res.Resources.Theme;
			public add(param0: any): void;
			public addAll(param0: native.Array<any>): void;
			public remove(param0: any): void;
			public sort(param0: java.util.Comparator<any>): void;
			public unregisterDataSetObserver(param0: android.database.DataSetObserver): void;
			public static createFromResource(param0: android.content.Context, param1: number, param2: number): android.widget.ArrayAdapter<string>;
			public addAll(param0: java.util.Collection<any>): void;
			public setDropDownViewTheme(param0: android.content.res.Resources.Theme): void;
			public isEnabled(param0: number): boolean;
			public getContext(): android.content.Context;
			public getCount(): number;
			public setNotifyOnChange(param0: boolean): void;
			public constructor(param0: android.content.Context, param1: number, param2: number, param3: java.util.List<any>);
			public clear(): void;
			public insert(param0: any, param1: number): void;
			public getDropDownView(param0: number, param1: android.view.View, param2: android.view.ViewGroup): android.view.View;
			public isEmpty(): boolean;
			public constructor(param0: android.content.Context, param1: number, param2: native.Array<any>);
			public constructor();
			public constructor(param0: android.content.Context, param1: number, param2: number, param3: native.Array<any>);
			public constructor(param0: android.content.Context, param1: number);
			public getView(param0: number, param1: android.view.View, param2: android.view.ViewGroup): android.view.View;
			public getItemViewType(param0: number): number;
			public getViewTypeCount(): number;
			public areAllItemsEnabled(): boolean;
			public setDropDownViewResource(param0: number): void;
			public constructor(param0: android.content.Context, param1: number, param2: number);
			public notifyDataSetChanged(): void;
		}
	}
}

declare module android {
	export module widget {
		export class AutoCompleteTextView extends android.widget.EditText implements android.widget.Filter.FilterListener {
			public static class: java.lang.Class<android.widget.AutoCompleteTextView>;
			public getAdapter(): android.widget.ListAdapter;
			public setText(param0: native.Array<string>, param1: number, param2: number): void;
			public getValidator(): android.widget.AutoCompleteTextView.Validator;
			public setThreshold(param0: number): void;
			public performFiltering(param0: string, param1: number): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public setOnItemClickListener(param0: android.widget.AdapterView.OnItemClickListener): void;
			public setFrame(param0: number, param1: number, param2: number, param3: number): boolean;
			public setOnClickListener(param0: android.view.View.OnClickListener): void;
			public setDropDownAnchor(param0: number): void;
			public getThreshold(): number;
			public getOnItemClickListener(): android.widget.AdapterView.OnItemClickListener;
			public getDropDownVerticalOffset(): number;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public onFocusChanged(param0: boolean, param1: number, param2: android.graphics.Rect): void;
			public setDropDownWidth(param0: number): void;
			public setAdapter(param0: android.widget.ListAdapter): void;
			public performCompletion(): void;
			public setText(param0: number): void;
			public setOnItemSelectedListener(param0: android.widget.AdapterView.OnItemSelectedListener): void;
			public setListSelection(param0: number): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public onDetachedFromWindow(): void;
			public sendAccessibilityEvent(param0: number): void;
			public setDropDownBackgroundResource(param0: number): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			/** @deprecated */
			public getItemSelectedListener(): android.widget.AdapterView.OnItemSelectedListener;
			public replaceText(param0: string): void;
			public setText(param0: string, param1: android.widget.TextView.BufferType): void;
			public setDropDownVerticalOffset(param0: number): void;
			public getListSelection(): number;
			public getDropDownHeight(): number;
			public getDropDownBackground(): android.graphics.drawable.Drawable;
			public getDropDownAnchor(): number;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public onKeyPreIme(param0: number, param1: android.view.KeyEvent): boolean;
			public convertSelectionToString(param0: any): string;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public onWindowFocusChanged(param0: boolean): void;
			public setText(param0: string, param1: boolean): void;
			public getFilter(): android.widget.Filter;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public getDropDownWidth(): number;
			public isPopupShowing(): boolean;
			public clearListSelection(): void;
			public setDropDownHorizontalOffset(param0: number): void;
			public getDropDownHorizontalOffset(): number;
			public setOnDismissListener(param0: android.widget.AutoCompleteTextView.OnDismissListener): void;
			public setCompletionHint(param0: string): void;
			public setValidator(param0: android.widget.AutoCompleteTextView.Validator): void;
			/** @deprecated */
			public getItemClickListener(): android.widget.AdapterView.OnItemClickListener;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public onPreDraw(): boolean;
			public onFilterComplete(param0: number): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number, param4: android.content.res.Resources.Theme);
			public setText(param0: string): void;
			public performValidation(): void;
			public getOnItemSelectedListener(): android.widget.AdapterView.OnItemSelectedListener;
			public onDisplayHint(param0: number): void;
			public setDropDownBackgroundDrawable(param0: android.graphics.drawable.Drawable): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public setText(param0: number, param1: android.widget.TextView.BufferType): void;
			public enoughToFilter(): boolean;
			public isPerformingCompletion(): boolean;
			public dismissDropDown(): void;
			public constructor(param0: android.content.Context);
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public getCompletionHint(): string;
			public setDropDownHeight(param0: number): void;
			public onAttachedToWindow(): void;
			public onCommitCompletion(param0: android.view.inputmethod.CompletionInfo): void;
			public showDropDown(): void;
		}
		export module AutoCompleteTextView {
			export class OnDismissListener extends java.lang.Object {
				public static class: java.lang.Class<android.widget.AutoCompleteTextView.OnDismissListener>;
				/**
				 * Constructs a new instance of the android.widget.AutoCompleteTextView$OnDismissListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onDismiss(): void;
				});
				public constructor();
				public onDismiss(): void;
			}
			export class Validator extends java.lang.Object {
				public static class: java.lang.Class<android.widget.AutoCompleteTextView.Validator>;
				/**
				 * Constructs a new instance of the android.widget.AutoCompleteTextView$Validator interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					isValid(param0: string): boolean;
					fixText(param0: string): string;
				});
				public constructor();
				public isValid(param0: string): boolean;
				public fixText(param0: string): string;
			}
		}
	}
}

declare module android {
	export module widget {
		export abstract class BaseAdapter extends java.lang.Object implements android.widget.ListAdapter, android.widget.SpinnerAdapter {
			public static class: java.lang.Class<android.widget.BaseAdapter>;
			public getItem(param0: number): any;
			public getDropDownView(param0: number, param1: android.view.View, param2: android.view.ViewGroup): android.view.View;
			public registerDataSetObserver(param0: android.database.DataSetObserver): void;
			public isEmpty(): boolean;
			public getAutofillOptions(): native.Array<string>;
			public getItemId(param0: number): number;
			public setAutofillOptions(param0: native.Array<string>): void;
			public hasStableIds(): boolean;
			public constructor();
			public unregisterDataSetObserver(param0: android.database.DataSetObserver): void;
			public getView(param0: number, param1: android.view.View, param2: android.view.ViewGroup): android.view.View;
			public getItemViewType(param0: number): number;
			public getViewTypeCount(): number;
			public areAllItemsEnabled(): boolean;
			public isEnabled(param0: number): boolean;
			public getCount(): number;
			public notifyDataSetInvalidated(): void;
			public notifyDataSetChanged(): void;
		}
	}
}

declare module android {
	export module widget {
		export abstract class BaseExpandableListAdapter extends java.lang.Object implements android.widget.ExpandableListAdapter, android.widget.HeterogeneousExpandableList {
			public static class: java.lang.Class<android.widget.BaseExpandableListAdapter>;
			public registerDataSetObserver(param0: android.database.DataSetObserver): void;
			public getChildrenCount(param0: number): number;
			public getChildTypeCount(): number;
			public hasStableIds(): boolean;
			public onGroupCollapsed(param0: number): void;
			public getCombinedGroupId(param0: number): number;
			public getGroupView(param0: number, param1: boolean, param2: android.view.View, param3: android.view.ViewGroup): android.view.View;
			public getChild(param0: number, param1: number): any;
			public getChildView(param0: number, param1: number, param2: boolean, param3: android.view.View, param4: android.view.ViewGroup): android.view.View;
			public unregisterDataSetObserver(param0: android.database.DataSetObserver): void;
			public getGroupId(param0: number): number;
			public getGroupType(param0: number): number;
			public getCombinedChildId(param0: number, param1: number): number;
			public getGroupCount(): number;
			public isEmpty(): boolean;
			public getChildId(param0: number, param1: number): number;
			public constructor();
			public onGroupExpanded(param0: number): void;
			public isChildSelectable(param0: number, param1: number): boolean;
			public getGroup(param0: number): any;
			public areAllItemsEnabled(): boolean;
			public getGroupTypeCount(): number;
			public getChildType(param0: number, param1: number): number;
			public notifyDataSetInvalidated(): void;
			public notifyDataSetChanged(): void;
		}
	}
}

declare module android {
	export module widget {
		export class Button extends android.widget.TextView {
			public static class: java.lang.Class<android.widget.Button>;
			public getAccessibilityClassName(): string;
			public onResolvePointerIcon(param0: android.view.MotionEvent, param1: number): any;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public constructor(param0: android.content.Context);
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public onPreDraw(): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public sendAccessibilityEvent(param0: number): void;
		}
	}
}

declare module android {
	export module widget {
		export class CalendarView extends android.widget.FrameLayout {
			public static class: java.lang.Class<android.widget.CalendarView>;
			public getWeekDayTextAppearance(): number;
			public onStopNestedScroll(param0: android.view.View): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public setOnDateChangeListener(param0: android.widget.CalendarView.OnDateChangeListener): void;
			public addView(param0: android.view.View, param1: number, param2: number): void;
			public requestSendAccessibilityEvent(param0: android.view.View, param1: android.view.accessibility.AccessibilityEvent): boolean;
			public childHasTransientStateChanged(param0: android.view.View, param1: boolean): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public setDateTextAppearance(param0: number): void;
			public onNestedScrollAccepted(param0: android.view.View, param1: android.view.View, param2: number): void;
			public keyboardNavigationClusterSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(param0: android.view.View): boolean;
			/** @deprecated */
			public setShowWeekNumber(param0: boolean): void;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public getDateTextAppearance(): number;
			public onDescendantInvalidated(param0: android.view.View, param1: android.view.View): void;
			public sendAccessibilityEvent(param0: number): void;
			public setWeekDayTextAppearance(param0: number): void;
			/** @deprecated */
			public invalidateChild(param0: android.view.View, param1: android.graphics.Rect): void;
			public requestTransparentRegion(param0: android.view.View): void;
			public canResolveTextAlignment(): boolean;
			public getParent(): android.view.ViewParent;
			/** @deprecated */
			public setSelectedDateVerticalBar(param0: number): void;
			public onStartNestedScroll(param0: android.view.View, param1: android.view.View, param2: number): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public getLayoutDirection(): number;
			/** @deprecated */
			public getFocusedMonthDateColor(): number;
			public requestChildFocus(param0: android.view.View, param1: android.view.View): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public setFirstDayOfWeek(param0: number): void;
			public getMinDate(): number;
			public setDate(param0: number, param1: boolean, param2: boolean): void;
			public getAccessibilityClassName(): string;
			public focusSearch(param0: number): android.view.View;
			public recomputeViewAttributes(param0: android.view.View): void;
			public isLayoutRequested(): boolean;
			public setDate(param0: number): void;
			public getMaxDate(): number;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			/** @deprecated */
			public setFocusedMonthDateColor(param0: number): void;
			public onConfigurationChanged(param0: android.content.res.Configuration): void;
			public requestLayout(): void;
			public childDrawableStateChanged(param0: android.view.View): void;
			public addView(param0: android.view.View): void;
			public canResolveTextDirection(): boolean;
			/** @deprecated */
			public requestFitSystemWindows(): void;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public constructor(param0: android.content.Context);
			public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public addView(param0: android.view.View, param1: number, param2: android.view.ViewGroup.LayoutParams): void;
			/** @deprecated */
			public getSelectedDateVerticalBar(): android.graphics.drawable.Drawable;
			/** @deprecated */
			public setWeekSeparatorLineColor(param0: number): void;
			public requestFitSystemWindows(): void;
			/** @deprecated */
			public getShownWeekCount(): number;
			public setMinDate(param0: number): void;
			public isLayoutDirectionResolved(): boolean;
			public focusableViewAvailable(param0: android.view.View): void;
			public createContextMenu(param0: android.view.ContextMenu): void;
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public canResolveLayoutDirection(): boolean;
			public onNestedFling(param0: android.view.View, param1: number, param2: number, param3: boolean): boolean;
			public setMaxDate(param0: number): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public getParentForAccessibility(): android.view.ViewParent;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			/** @deprecated */
			public invalidateChildInParent(param0: native.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			/** @deprecated */
			public setWeekNumberColor(param0: number): void;
			/** @deprecated */
			public getWeekNumberColor(): number;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback): android.view.ActionMode;
			public getTextAlignment(): number;
			/** @deprecated */
			public getShowWeekNumber(): boolean;
			/** @deprecated */
			public getWeekSeparatorLineColor(): number;
			public requestChildRectangleOnScreen(param0: android.view.View, param1: android.graphics.Rect, param2: boolean): boolean;
			public onNestedScroll(param0: android.view.View, param1: number, param2: number, param3: number, param4: number): void;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: native.Array<number>): void;
			/** @deprecated */
			public setShownWeekCount(param0: number): void;
			public onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public getDate(): number;
			/** @deprecated */
			public getSelectedWeekBackgroundColor(): number;
			public getFirstDayOfWeek(): number;
			/** @deprecated */
			public setSelectedWeekBackgroundColor(param0: number): void;
			/** @deprecated */
			public setSelectedDateVerticalBar(param0: android.graphics.drawable.Drawable): void;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			public isTextAlignmentResolved(): boolean;
			public removeView(param0: android.view.View): void;
			public clearChildFocus(param0: android.view.View): void;
			/** @deprecated */
			public setUnfocusedMonthDateColor(param0: number): void;
			public getTextDirection(): number;
			public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public requestDisallowInterceptTouchEvent(param0: boolean): void;
			public isTextDirectionResolved(): boolean;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			/** @deprecated */
			public getUnfocusedMonthDateColor(): number;
			public addView(param0: android.view.View, param1: number): void;
		}
		export module CalendarView {
			export class OnDateChangeListener extends java.lang.Object {
				public static class: java.lang.Class<android.widget.CalendarView.OnDateChangeListener>;
				/**
				 * Constructs a new instance of the android.widget.CalendarView$OnDateChangeListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onSelectedDayChange(param0: android.widget.CalendarView, param1: number, param2: number, param3: number): void;
				});
				public constructor();
				public onSelectedDayChange(param0: android.widget.CalendarView, param1: number, param2: number, param3: number): void;
			}
		}
	}
}

declare module android {
	export module widget {
		export class CheckBox extends android.widget.CompoundButton {
			public static class: java.lang.Class<android.widget.CheckBox>;
			public getAccessibilityClassName(): string;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public setChecked(param0: boolean): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public isChecked(): boolean;
			public toggle(): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public constructor(param0: android.content.Context);
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public onPreDraw(): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public sendAccessibilityEvent(param0: number): void;
		}
	}
}

declare module android {
	export module widget {
		export class Checkable extends java.lang.Object {
			public static class: java.lang.Class<android.widget.Checkable>;
			/**
			 * Constructs a new instance of the android.widget.Checkable interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				setChecked(param0: boolean): void;
				isChecked(): boolean;
				toggle(): void;
			});
			public constructor();
			public setChecked(param0: boolean): void;
			public isChecked(): boolean;
			public toggle(): void;
		}
	}
}

declare module android {
	export module widget {
		export class CheckedTextView extends android.widget.TextView implements android.widget.Checkable {
			public static class: java.lang.Class<android.widget.CheckedTextView>;
			public getAccessibilityClassName(): string;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public toggle(): void;
			public setCheckMarkTintMode(param0: android.graphics.PorterDuff.Mode): void;
			public drawableStateChanged(): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public onCreateDrawableState(param0: number): native.Array<number>;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public setCheckMarkDrawable(param0: number): void;
			public setCheckMarkDrawable(param0: android.graphics.drawable.Drawable): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public setCheckMarkTintList(param0: android.content.res.ColorStateList): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public jumpDrawablesToCurrentState(): void;
			public onPreDraw(): boolean;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public sendAccessibilityEvent(param0: number): void;
			public onRestoreInstanceState(param0: android.os.Parcelable): void;
			public setChecked(param0: boolean): void;
			public setVisibility(param0: number): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public getCheckMarkDrawable(): android.graphics.drawable.Drawable;
			public isChecked(): boolean;
			public verifyDrawable(param0: android.graphics.drawable.Drawable): boolean;
			public getCheckMarkTintMode(): android.graphics.PorterDuff.Mode;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public drawableHotspotChanged(param0: number, param1: number): void;
			public constructor(param0: android.content.Context);
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public getCheckMarkTintList(): android.content.res.ColorStateList;
			public onDraw(param0: android.graphics.Canvas): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public onRtlPropertiesChanged(param0: number): void;
			public onSaveInstanceState(): android.os.Parcelable;
		}
	}
}

declare module android {
	export module widget {
		export class Chronometer extends android.widget.TextView {
			public static class: java.lang.Class<android.widget.Chronometer>;
			public getAccessibilityClassName(): string;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public setBase(param0: number): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public getBase(): number;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public isTheFinalCountDown(): boolean;
			public getContentDescription(): string;
			public setOnChronometerTickListener(param0: android.widget.Chronometer.OnChronometerTickListener): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public stop(): void;
			public onWindowVisibilityChanged(param0: number): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public onPreDraw(): boolean;
			public setCountDown(param0: boolean): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public start(): void;
			public onDetachedFromWindow(): void;
			public sendAccessibilityEvent(param0: number): void;
			public isCountDown(): boolean;
			public setFormat(param0: string): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public getOnChronometerTickListener(): android.widget.Chronometer.OnChronometerTickListener;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public onVisibilityChanged(param0: android.view.View, param1: number): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public constructor(param0: android.content.Context);
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public getFormat(): string;
		}
		export module Chronometer {
			export class OnChronometerTickListener extends java.lang.Object {
				public static class: java.lang.Class<android.widget.Chronometer.OnChronometerTickListener>;
				/**
				 * Constructs a new instance of the android.widget.Chronometer$OnChronometerTickListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onChronometerTick(param0: android.widget.Chronometer): void;
				});
				public constructor();
				public onChronometerTick(param0: android.widget.Chronometer): void;
			}
		}
	}
}

declare module android {
	export module widget {
		export abstract class CompoundButton extends android.widget.Button implements android.widget.Checkable {
			public static class: java.lang.Class<android.widget.CompoundButton>;
			public getAccessibilityClassName(): string;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public autofill(param0: android.view.autofill.AutofillValue): void;
			public toggle(): void;
			public drawableStateChanged(): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public getButtonTintList(): android.content.res.ColorStateList;
			public onCreateDrawableState(param0: number): native.Array<number>;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public getCompoundPaddingRight(): number;
			public getButtonTintMode(): android.graphics.PorterDuff.Mode;
			public setOnCheckedChangeListener(param0: android.widget.CompoundButton.OnCheckedChangeListener): void;
			public autofill(param0: android.util.SparseArray<android.view.autofill.AutofillValue>): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public getAutofillValue(): android.view.autofill.AutofillValue;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public jumpDrawablesToCurrentState(): void;
			public onPreDraw(): boolean;
			public getAutofillType(): number;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public sendAccessibilityEvent(param0: number): void;
			public onRestoreInstanceState(param0: android.os.Parcelable): void;
			public setChecked(param0: boolean): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public isChecked(): boolean;
			public getButtonDrawable(): android.graphics.drawable.Drawable;
			public setButtonTintMode(param0: android.graphics.PorterDuff.Mode): void;
			public setButtonDrawable(param0: number): void;
			public getCompoundPaddingLeft(): number;
			public verifyDrawable(param0: android.graphics.drawable.Drawable): boolean;
			public onProvideAutofillStructure(param0: any, param1: number): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public drawableHotspotChanged(param0: number, param1: number): void;
			public setButtonDrawable(param0: android.graphics.drawable.Drawable): void;
			public constructor(param0: android.content.Context);
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public onDraw(param0: android.graphics.Canvas): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public performClick(): boolean;
			public setButtonTintList(param0: android.content.res.ColorStateList): void;
			public onSaveInstanceState(): android.os.Parcelable;
		}
		export module CompoundButton {
			export class OnCheckedChangeListener extends java.lang.Object {
				public static class: java.lang.Class<android.widget.CompoundButton.OnCheckedChangeListener>;
				/**
				 * Constructs a new instance of the android.widget.CompoundButton$OnCheckedChangeListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onCheckedChanged(param0: android.widget.CompoundButton, param1: boolean): void;
				});
				public constructor();
				public onCheckedChanged(param0: android.widget.CompoundButton, param1: boolean): void;
			}
		}
	}
}

declare module android {
	export module widget {
		export abstract class CursorAdapter extends android.widget.BaseAdapter implements android.widget.Filterable, android.widget.ThemedSpinnerAdapter {
			public static class: java.lang.Class<android.widget.CursorAdapter>;
			public static FLAG_AUTO_REQUERY: number;
			public static FLAG_REGISTER_CONTENT_OBSERVER: number;
			public getItem(param0: number): any;
			/** @deprecated */
			public constructor(param0: android.content.Context, param1: android.database.Cursor);
			public getFilter(): android.widget.Filter;
			public registerDataSetObserver(param0: android.database.DataSetObserver): void;
			public getItemId(param0: number): number;
			public getAutofillOptions(): native.Array<string>;
			public constructor(param0: android.content.Context, param1: android.database.Cursor, param2: boolean);
			public hasStableIds(): boolean;
			public newView(param0: android.content.Context, param1: android.database.Cursor, param2: android.view.ViewGroup): android.view.View;
			public getDropDownViewTheme(): android.content.res.Resources.Theme;
			public unregisterDataSetObserver(param0: android.database.DataSetObserver): void;
			public setDropDownViewTheme(param0: android.content.res.Resources.Theme): void;
			public isEnabled(param0: number): boolean;
			public getCount(): number;
			public getDropDownView(param0: number, param1: android.view.View, param2: android.view.ViewGroup): android.view.View;
			public isEmpty(): boolean;
			public constructor(param0: android.content.Context, param1: android.database.Cursor, param2: number);
			public constructor();
			public bindView(param0: android.view.View, param1: android.content.Context, param2: android.database.Cursor): void;
			public swapCursor(param0: android.database.Cursor): android.database.Cursor;
			public getView(param0: number, param1: android.view.View, param2: android.view.ViewGroup): android.view.View;
			/** @deprecated */
			public init(param0: android.content.Context, param1: android.database.Cursor, param2: boolean): void;
			public getItemViewType(param0: number): number;
			public getViewTypeCount(): number;
			public getCursor(): android.database.Cursor;
			public runQueryOnBackgroundThread(param0: string): android.database.Cursor;
			public newDropDownView(param0: android.content.Context, param1: android.database.Cursor, param2: android.view.ViewGroup): android.view.View;
			public areAllItemsEnabled(): boolean;
			public changeCursor(param0: android.database.Cursor): void;
			public convertToString(param0: android.database.Cursor): string;
			public getFilterQueryProvider(): android.widget.FilterQueryProvider;
			public setFilterQueryProvider(param0: android.widget.FilterQueryProvider): void;
			public onContentChanged(): void;
		}
	}
}

declare module android {
	export module widget {
		export abstract class CursorTreeAdapter extends android.widget.BaseExpandableListAdapter implements android.widget.Filterable {
			public static class: java.lang.Class<android.widget.CursorTreeAdapter>;
			public getFilter(): android.widget.Filter;
			public constructor(param0: android.database.Cursor, param1: android.content.Context, param2: boolean);
			public setGroupCursor(param0: android.database.Cursor): void;
			public registerDataSetObserver(param0: android.database.DataSetObserver): void;
			public getChildrenCount(param0: number): number;
			public setChildrenCursor(param0: number, param1: android.database.Cursor): void;
			public newChildView(param0: android.content.Context, param1: android.database.Cursor, param2: boolean, param3: android.view.ViewGroup): android.view.View;
			public hasStableIds(): boolean;
			public getChildTypeCount(): number;
			public onGroupCollapsed(param0: number): void;
			public getGroupView(param0: number, param1: boolean, param2: android.view.View, param3: android.view.ViewGroup): android.view.View;
			public getCombinedGroupId(param0: number): number;
			public getChildView(param0: number, param1: number, param2: boolean, param3: android.view.View, param4: android.view.ViewGroup): android.view.View;
			public getChild(param0: number, param1: number): any;
			public unregisterDataSetObserver(param0: android.database.DataSetObserver): void;
			public getChildrenCursor(param0: android.database.Cursor): android.database.Cursor;
			public getGroup(param0: number): android.database.Cursor;
			public getGroupId(param0: number): number;
			public getGroupType(param0: number): number;
			public getCombinedChildId(param0: number, param1: number): number;
			public getGroupCount(): number;
			public isEmpty(): boolean;
			public getChild(param0: number, param1: number): android.database.Cursor;
			public getChildId(param0: number, param1: number): number;
			public bindChildView(param0: android.view.View, param1: android.content.Context, param2: android.database.Cursor, param3: boolean): void;
			public constructor();
			public constructor(param0: android.database.Cursor, param1: android.content.Context);
			public notifyDataSetChanged(param0: boolean): void;
			public onGroupExpanded(param0: number): void;
			public isChildSelectable(param0: number, param1: number): boolean;
			public getGroup(param0: number): any;
			public runQueryOnBackgroundThread(param0: string): android.database.Cursor;
			public getCursor(): android.database.Cursor;
			public getGroupTypeCount(): number;
			public areAllItemsEnabled(): boolean;
			public bindGroupView(param0: android.view.View, param1: android.content.Context, param2: android.database.Cursor, param3: boolean): void;
			public getChildType(param0: number, param1: number): number;
			public convertToString(param0: android.database.Cursor): string;
			public changeCursor(param0: android.database.Cursor): void;
			public newGroupView(param0: android.content.Context, param1: android.database.Cursor, param2: boolean, param3: android.view.ViewGroup): android.view.View;
			public getFilterQueryProvider(): android.widget.FilterQueryProvider;
			public setFilterQueryProvider(param0: android.widget.FilterQueryProvider): void;
			public notifyDataSetInvalidated(): void;
			public notifyDataSetChanged(): void;
		}
	}
}

declare module android {
	export module widget {
		export class DatePicker extends android.widget.FrameLayout {
			public static class: java.lang.Class<android.widget.DatePicker>;
			public autofill(param0: android.view.autofill.AutofillValue): void;
			public onStopNestedScroll(param0: android.view.View): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			/** @deprecated */
			public setCalendarViewShown(param0: boolean): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public addView(param0: android.view.View, param1: number, param2: number): void;
			public requestSendAccessibilityEvent(param0: android.view.View, param1: android.view.accessibility.AccessibilityEvent): boolean;
			public childHasTransientStateChanged(param0: android.view.View, param1: boolean): void;
			/** @deprecated */
			public getCalendarView(): android.widget.CalendarView;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public onNestedScrollAccepted(param0: android.view.View, param1: android.view.View, param2: number): void;
			public keyboardNavigationClusterSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(param0: android.view.View): boolean;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public setEnabled(param0: boolean): void;
			public onDescendantInvalidated(param0: android.view.View, param1: android.view.View): void;
			public sendAccessibilityEvent(param0: number): void;
			/** @deprecated */
			public invalidateChild(param0: android.view.View, param1: android.graphics.Rect): void;
			public init(param0: number, param1: number, param2: number, param3: android.widget.DatePicker.OnDateChangedListener): void;
			public requestTransparentRegion(param0: android.view.View): void;
			public canResolveTextAlignment(): boolean;
			public getParent(): android.view.ViewParent;
			public dispatchRestoreInstanceState(param0: android.util.SparseArray<android.os.Parcelable>): void;
			public onStartNestedScroll(param0: android.view.View, param1: android.view.View, param2: number): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public getLayoutDirection(): number;
			public requestChildFocus(param0: android.view.View, param1: android.view.View): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public setFirstDayOfWeek(param0: number): void;
			public getMinDate(): number;
			public getAccessibilityClassName(): string;
			public focusSearch(param0: number): android.view.View;
			public recomputeViewAttributes(param0: android.view.View): void;
			/** @deprecated */
			public getSpinnersShown(): boolean;
			public isLayoutRequested(): boolean;
			public getMaxDate(): number;
			public dispatchProvideAutofillStructure(param0: any, param1: number): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public getAutofillType(): number;
			public onConfigurationChanged(param0: android.content.res.Configuration): void;
			public requestLayout(): void;
			public childDrawableStateChanged(param0: android.view.View): void;
			public addView(param0: android.view.View): void;
			public canResolveTextDirection(): boolean;
			public getDayOfMonth(): number;
			/** @deprecated */
			public requestFitSystemWindows(): void;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public isEnabled(): boolean;
			public getMonth(): number;
			public constructor(param0: android.content.Context);
			public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public addView(param0: android.view.View, param1: number, param2: android.view.ViewGroup.LayoutParams): void;
			/** @deprecated */
			public getCalendarViewShown(): boolean;
			public requestFitSystemWindows(): void;
			public setMinDate(param0: number): void;
			public isLayoutDirectionResolved(): boolean;
			public focusableViewAvailable(param0: android.view.View): void;
			public createContextMenu(param0: android.view.ContextMenu): void;
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			/** @deprecated */
			public setSpinnersShown(param0: boolean): void;
			public canResolveLayoutDirection(): boolean;
			public getAutofillValue(): android.view.autofill.AutofillValue;
			public onNestedFling(param0: android.view.View, param1: number, param2: number, param3: boolean): boolean;
			public setMaxDate(param0: number): void;
			public onRestoreInstanceState(param0: android.os.Parcelable): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public getParentForAccessibility(): android.view.ViewParent;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			/** @deprecated */
			public invalidateChildInParent(param0: native.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback): android.view.ActionMode;
			public getTextAlignment(): number;
			public requestChildRectangleOnScreen(param0: android.view.View, param1: android.graphics.Rect, param2: boolean): boolean;
			public onNestedScroll(param0: android.view.View, param1: number, param2: number, param3: number, param4: number): void;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: native.Array<number>): void;
			public onSaveInstanceState(): android.os.Parcelable;
			public onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public updateDate(param0: number, param1: number, param2: number): void;
			public getFirstDayOfWeek(): number;
			public autofill(param0: android.util.SparseArray<android.view.autofill.AutofillValue>): void;
			public setOnDateChangedListener(param0: android.widget.DatePicker.OnDateChangedListener): void;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			public isTextAlignmentResolved(): boolean;
			public removeView(param0: android.view.View): void;
			public clearChildFocus(param0: android.view.View): void;
			public getTextDirection(): number;
			public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public requestDisallowInterceptTouchEvent(param0: boolean): void;
			public isTextDirectionResolved(): boolean;
			public getYear(): number;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public addView(param0: android.view.View, param1: number): void;
		}
		export module DatePicker {
			export class OnDateChangedListener extends java.lang.Object {
				public static class: java.lang.Class<android.widget.DatePicker.OnDateChangedListener>;
				/**
				 * Constructs a new instance of the android.widget.DatePicker$OnDateChangedListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onDateChanged(param0: android.widget.DatePicker, param1: number, param2: number, param3: number): void;
				});
				public constructor();
				public onDateChanged(param0: android.widget.DatePicker, param1: number, param2: number, param3: number): void;
			}
		}
	}
}

declare module android {
	export module widget {
		export class DialerFilter extends android.widget.RelativeLayout {
			public static class: java.lang.Class<android.widget.DialerFilter>;
			public static DIGITS_AND_LETTERS: number;
			public static DIGITS_AND_LETTERS_NO_DIGITS: number;
			public static DIGITS_AND_LETTERS_NO_LETTERS: number;
			public static DIGITS_ONLY: number;
			public static LETTERS_ONLY: number;
			public getLetters(): string;
			public setDigitsWatcher(param0: android.text.TextWatcher): void;
			public isLayoutDirectionResolved(): boolean;
			public append(param0: string): void;
			public onStopNestedScroll(param0: android.view.View): void;
			public focusableViewAvailable(param0: android.view.View): void;
			public createContextMenu(param0: android.view.ContextMenu): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public clearText(): void;
			public addView(param0: android.view.View, param1: number, param2: number): void;
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public requestSendAccessibilityEvent(param0: android.view.View, param1: android.view.accessibility.AccessibilityEvent): boolean;
			public onFinishInflate(): void;
			public childHasTransientStateChanged(param0: android.view.View, param1: boolean): void;
			public canResolveLayoutDirection(): boolean;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public onNestedScrollAccepted(param0: android.view.View, param1: android.view.View, param2: number): void;
			public keyboardNavigationClusterSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(param0: android.view.View): boolean;
			public onNestedFling(param0: android.view.View, param1: number, param2: number, param3: boolean): boolean;
			public onFocusChanged(param0: boolean, param1: number, param2: android.graphics.Rect): void;
			public onModeChange(param0: number, param1: number): void;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public onDescendantInvalidated(param0: android.view.View, param1: android.view.View): void;
			public sendAccessibilityEvent(param0: number): void;
			public setLettersWatcher(param0: android.text.TextWatcher): void;
			/** @deprecated */
			public invalidateChild(param0: android.view.View, param1: android.graphics.Rect): void;
			public requestTransparentRegion(param0: android.view.View): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public setFilterWatcher(param0: android.text.TextWatcher): void;
			public getParentForAccessibility(): android.view.ViewParent;
			public canResolveTextAlignment(): boolean;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public setMode(param0: number): void;
			public getParent(): android.view.ViewParent;
			public isQwertyKeyboard(): boolean;
			public getFilterText(): string;
			/** @deprecated */
			public invalidateChildInParent(param0: native.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public onStartNestedScroll(param0: android.view.View, param1: android.view.View, param2: number): boolean;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback): android.view.ActionMode;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public getLayoutDirection(): number;
			public getTextAlignment(): number;
			public requestChildFocus(param0: android.view.View, param1: android.view.View): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public getMode(): number;
			public requestChildRectangleOnScreen(param0: android.view.View, param1: android.graphics.Rect, param2: boolean): boolean;
			public onNestedScroll(param0: android.view.View, param1: number, param2: number, param3: number, param4: number): void;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: native.Array<number>): void;
			public onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public focusSearch(param0: number): android.view.View;
			public removeFilterWatcher(param0: android.text.TextWatcher): void;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public recomputeViewAttributes(param0: android.view.View): void;
			public isLayoutRequested(): boolean;
			public getDigits(): string;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			public requestLayout(): void;
			public childDrawableStateChanged(param0: android.view.View): void;
			public isTextAlignmentResolved(): boolean;
			public addView(param0: android.view.View): void;
			public removeView(param0: android.view.View): void;
			public clearChildFocus(param0: android.view.View): void;
			public canResolveTextDirection(): boolean;
			public getTextDirection(): number;
			public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			/** @deprecated */
			public requestFitSystemWindows(): void;
			public requestDisallowInterceptTouchEvent(param0: boolean): void;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public isTextDirectionResolved(): boolean;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public constructor(param0: android.content.Context);
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public addView(param0: android.view.View, param1: number, param2: android.view.ViewGroup.LayoutParams): void;
			public notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public requestFitSystemWindows(): void;
			public addView(param0: android.view.View, param1: number): void;
		}
	}
}

declare module android {
	export module widget {
		export class DigitalClock extends android.widget.TextView {
			public static class: java.lang.Class<android.widget.DigitalClock>;
			public getAccessibilityClassName(): string;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public constructor(param0: android.content.Context);
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public onPreDraw(): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public onAttachedToWindow(): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public onDetachedFromWindow(): void;
			public sendAccessibilityEvent(param0: number): void;
		}
	}
}

declare module android {
	export module widget {
		export class EdgeEffect extends java.lang.Object {
			public static class: java.lang.Class<android.widget.EdgeEffect>;
			public getColor(): number;
			public isFinished(): boolean;
			public draw(param0: android.graphics.Canvas): boolean;
			public finish(): void;
			public constructor(param0: android.content.Context);
			public setSize(param0: number, param1: number): void;
			public onPull(param0: number): void;
			public setColor(param0: number): void;
			public onRelease(): void;
			public onAbsorb(param0: number): void;
			public onPull(param0: number, param1: number): void;
			public getMaxHeight(): number;
		}
	}
}

declare module android {
	export module widget {
		export class EditText extends android.widget.TextView {
			public static class: java.lang.Class<android.widget.EditText>;
			public getAccessibilityClassName(): string;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public selectAll(): void;
			public setText(param0: native.Array<string>, param1: number, param2: number): void;
			public setSelection(param0: number): void;
			public getDefaultMovementMethod(): android.text.method.MovementMethod;
			public extendSelection(param0: number): void;
			public getFreezesText(): boolean;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public getText(): android.text.Editable;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public onPreDraw(): boolean;
			public setText(param0: number): void;
			public getDefaultEditable(): boolean;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public sendAccessibilityEvent(param0: number): void;
			public setText(param0: string): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public setText(param0: string, param1: android.widget.TextView.BufferType): void;
			public setEllipsize(param0: android.text.TextUtils.TruncateAt): void;
			public getText(): string;
			public setSelection(param0: number, param1: number): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public setText(param0: number, param1: android.widget.TextView.BufferType): void;
			public constructor(param0: android.content.Context);
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
		}
	}
}

declare module android {
	export module widget {
		export class ExpandableListAdapter extends java.lang.Object {
			public static class: java.lang.Class<android.widget.ExpandableListAdapter>;
			/**
			 * Constructs a new instance of the android.widget.ExpandableListAdapter interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				registerDataSetObserver(param0: android.database.DataSetObserver): void;
				unregisterDataSetObserver(param0: android.database.DataSetObserver): void;
				getGroupCount(): number;
				getChildrenCount(param0: number): number;
				getGroup(param0: number): any;
				getChild(param0: number, param1: number): any;
				getGroupId(param0: number): number;
				getChildId(param0: number, param1: number): number;
				hasStableIds(): boolean;
				getGroupView(param0: number, param1: boolean, param2: android.view.View, param3: android.view.ViewGroup): android.view.View;
				getChildView(param0: number, param1: number, param2: boolean, param3: android.view.View, param4: android.view.ViewGroup): android.view.View;
				isChildSelectable(param0: number, param1: number): boolean;
				areAllItemsEnabled(): boolean;
				isEmpty(): boolean;
				onGroupExpanded(param0: number): void;
				onGroupCollapsed(param0: number): void;
				getCombinedChildId(param0: number, param1: number): number;
				getCombinedGroupId(param0: number): number;
			});
			public constructor();
			public registerDataSetObserver(param0: android.database.DataSetObserver): void;
			public isEmpty(): boolean;
			public getChildrenCount(param0: number): number;
			public getChildId(param0: number, param1: number): number;
			public hasStableIds(): boolean;
			public onGroupCollapsed(param0: number): void;
			public getGroupView(param0: number, param1: boolean, param2: android.view.View, param3: android.view.ViewGroup): android.view.View;
			public getCombinedGroupId(param0: number): number;
			public getChild(param0: number, param1: number): any;
			public getChildView(param0: number, param1: number, param2: boolean, param3: android.view.View, param4: android.view.ViewGroup): android.view.View;
			public unregisterDataSetObserver(param0: android.database.DataSetObserver): void;
			public onGroupExpanded(param0: number): void;
			public isChildSelectable(param0: number, param1: number): boolean;
			public getGroup(param0: number): any;
			public getGroupId(param0: number): number;
			public areAllItemsEnabled(): boolean;
			public getCombinedChildId(param0: number, param1: number): number;
			public getGroupCount(): number;
		}
	}
}

declare module android {
	export module widget {
		export class ExpandableListView extends android.widget.ListView {
			public static class: java.lang.Class<android.widget.ExpandableListView>;
			public static CHILD_INDICATOR_INHERIT: number;
			public static PACKED_POSITION_TYPE_CHILD: number;
			public static PACKED_POSITION_TYPE_GROUP: number;
			public static PACKED_POSITION_TYPE_NULL: number;
			public static PACKED_POSITION_VALUE_NULL: number;
			public setOnGroupCollapseListener(param0: android.widget.ExpandableListView.OnGroupCollapseListener): void;
			public onStopNestedScroll(param0: android.view.View): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public setOnItemClickListener(param0: android.widget.AdapterView.OnItemClickListener): void;
			public static getPackedPositionChild(param0: number): number;
			public addView(param0: android.view.View, param1: number, param2: number): void;
			public requestSendAccessibilityEvent(param0: android.view.View, param1: android.view.accessibility.AccessibilityEvent): boolean;
			public childHasTransientStateChanged(param0: android.view.View, param1: boolean): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public onNestedScrollAccepted(param0: android.view.View, param1: android.view.View, param2: number): void;
			public setChildDivider(param0: android.graphics.drawable.Drawable): void;
			public keyboardNavigationClusterSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(param0: android.view.View): boolean;
			public setAdapter(param0: android.widget.ListAdapter): void;
			public beforeTextChanged(param0: string, param1: number, param2: number, param3: number): void;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public onDescendantInvalidated(param0: android.view.View, param1: android.view.View): void;
			public getSelectedId(): number;
			public sendAccessibilityEvent(param0: number): void;
			/** @deprecated */
			public invalidateChild(param0: android.view.View, param1: android.graphics.Rect): void;
			public requestTransparentRegion(param0: android.view.View): void;
			public afterTextChanged(param0: android.text.Editable): void;
			public setIndicatorBounds(param0: number, param1: number): void;
			public canResolveTextAlignment(): boolean;
			public getParent(): android.view.ViewParent;
			public onTextChanged(param0: string, param1: number, param2: number, param3: number): void;
			public onStartNestedScroll(param0: android.view.View, param1: android.view.View, param2: number): boolean;
			public setAdapter(param0: android.widget.ExpandableListAdapter): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public dispatchDraw(param0: android.graphics.Canvas): void;
			public expandGroup(param0: number): boolean;
			public setOnGroupClickListener(param0: android.widget.ExpandableListView.OnGroupClickListener): void;
			public getLayoutDirection(): number;
			public static getPackedPositionForGroup(param0: number): number;
			public requestChildFocus(param0: android.view.View, param1: android.view.View): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public getAccessibilityClassName(): string;
			public focusSearch(param0: number): android.view.View;
			public recomputeViewAttributes(param0: android.view.View): void;
			public onTouchModeChanged(param0: boolean): void;
			public isLayoutRequested(): boolean;
			public onGlobalLayout(): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public setOnGroupExpandListener(param0: android.widget.ExpandableListView.OnGroupExpandListener): void;
			public performItemClick(param0: android.view.View, param1: number, param2: number): boolean;
			public requestLayout(): void;
			public onFilterComplete(param0: number): void;
			public childDrawableStateChanged(param0: android.view.View): void;
			public addView(param0: android.view.View): void;
			public setGroupIndicator(param0: android.graphics.drawable.Drawable): void;
			public setOnChildClickListener(param0: android.widget.ExpandableListView.OnChildClickListener): void;
			public canResolveTextDirection(): boolean;
			public static getPackedPositionForChild(param0: number, param1: number): number;
			/** @deprecated */
			public requestFitSystemWindows(): void;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public getExpandableListAdapter(): android.widget.ExpandableListAdapter;
			public constructor(param0: android.content.Context);
			public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public addView(param0: android.view.View, param1: number, param2: android.view.ViewGroup.LayoutParams): void;
			public onRtlPropertiesChanged(param0: number): void;
			public requestFitSystemWindows(): void;
			public getAdapter(): android.widget.ListAdapter;
			public setSelectedChild(param0: number, param1: number, param2: boolean): boolean;
			public isLayoutDirectionResolved(): boolean;
			public focusableViewAvailable(param0: android.view.View): void;
			public createContextMenu(param0: android.view.ContextMenu): void;
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public canResolveLayoutDirection(): boolean;
			public onNestedFling(param0: android.view.View, param1: number, param2: number, param3: boolean): boolean;
			public isGroupExpanded(param0: number): boolean;
			public onRestoreInstanceState(param0: android.os.Parcelable): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public getParentForAccessibility(): android.view.ViewParent;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public static getPackedPositionType(param0: number): number;
			/** @deprecated */
			public invalidateChildInParent(param0: native.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback): android.view.ActionMode;
			public setSelectedGroup(param0: number): void;
			public getTextAlignment(): number;
			public collapseGroup(param0: number): boolean;
			public getFlatListPosition(param0: number): number;
			public requestChildRectangleOnScreen(param0: android.view.View, param1: android.graphics.Rect, param2: boolean): boolean;
			public onNestedScroll(param0: android.view.View, param1: number, param2: number, param3: number, param4: number): void;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: native.Array<number>): void;
			public setChildIndicator(param0: android.graphics.drawable.Drawable): void;
			public onSaveInstanceState(): android.os.Parcelable;
			public expandGroup(param0: number, param1: boolean): boolean;
			public onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public setAdapter(param0: any): void;
			public setChildIndicatorBoundsRelative(param0: number, param1: number): void;
			public static getPackedPositionGroup(param0: number): number;
			public setChildIndicatorBounds(param0: number, param1: number): void;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			public getAdapter(): any;
			public getExpandableListPosition(param0: number): number;
			public isTextAlignmentResolved(): boolean;
			public removeView(param0: android.view.View): void;
			public clearChildFocus(param0: android.view.View): void;
			public setIndicatorBoundsRelative(param0: number, param1: number): void;
			public getTextDirection(): number;
			public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public requestDisallowInterceptTouchEvent(param0: boolean): void;
			public getSelectedPosition(): number;
			public isTextDirectionResolved(): boolean;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public addView(param0: android.view.View, param1: number): void;
		}
		export module ExpandableListView {
			export class ExpandableListContextMenuInfo extends java.lang.Object implements android.view.ContextMenu.ContextMenuInfo {
				public static class: java.lang.Class<android.widget.ExpandableListView.ExpandableListContextMenuInfo>;
				public id: number;
				public packedPosition: number;
				public targetView: android.view.View;
				public constructor(param0: android.view.View, param1: number, param2: number);
			}
			export class OnChildClickListener extends java.lang.Object {
				public static class: java.lang.Class<android.widget.ExpandableListView.OnChildClickListener>;
				/**
				 * Constructs a new instance of the android.widget.ExpandableListView$OnChildClickListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onChildClick(param0: android.widget.ExpandableListView, param1: android.view.View, param2: number, param3: number, param4: number): boolean;
				});
				public constructor();
				public onChildClick(param0: android.widget.ExpandableListView, param1: android.view.View, param2: number, param3: number, param4: number): boolean;
			}
			export class OnGroupClickListener extends java.lang.Object {
				public static class: java.lang.Class<android.widget.ExpandableListView.OnGroupClickListener>;
				/**
				 * Constructs a new instance of the android.widget.ExpandableListView$OnGroupClickListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onGroupClick(param0: android.widget.ExpandableListView, param1: android.view.View, param2: number, param3: number): boolean;
				});
				public constructor();
				public onGroupClick(param0: android.widget.ExpandableListView, param1: android.view.View, param2: number, param3: number): boolean;
			}
			export class OnGroupCollapseListener extends java.lang.Object {
				public static class: java.lang.Class<android.widget.ExpandableListView.OnGroupCollapseListener>;
				/**
				 * Constructs a new instance of the android.widget.ExpandableListView$OnGroupCollapseListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onGroupCollapse(param0: number): void;
				});
				public constructor();
				public onGroupCollapse(param0: number): void;
			}
			export class OnGroupExpandListener extends java.lang.Object {
				public static class: java.lang.Class<android.widget.ExpandableListView.OnGroupExpandListener>;
				/**
				 * Constructs a new instance of the android.widget.ExpandableListView$OnGroupExpandListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onGroupExpand(param0: number): void;
				});
				public constructor();
				public onGroupExpand(param0: number): void;
			}
		}
	}
}

declare module android {
	export module widget {
		export abstract class Filter extends java.lang.Object {
			public static class: java.lang.Class<android.widget.Filter>;
			public convertResultToString(param0: any): string;
			public filter(param0: string, param1: android.widget.Filter.FilterListener): void;
			public publishResults(param0: string, param1: android.widget.Filter.FilterResults): void;
			public filter(param0: string): void;
			public performFiltering(param0: string): android.widget.Filter.FilterResults;
			public constructor();
		}
		export module Filter {
			export class FilterListener extends java.lang.Object {
				public static class: java.lang.Class<android.widget.Filter.FilterListener>;
				/**
				 * Constructs a new instance of the android.widget.Filter$FilterListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onFilterComplete(param0: number): void;
				});
				public constructor();
				public onFilterComplete(param0: number): void;
			}
			export class FilterResults extends java.lang.Object {
				public static class: java.lang.Class<android.widget.Filter.FilterResults>;
				public count: number;
				public values: any;
				public constructor();
			}
		}
	}
}

declare module android {
	export module widget {
		export class FilterQueryProvider extends java.lang.Object {
			public static class: java.lang.Class<android.widget.FilterQueryProvider>;
			/**
			 * Constructs a new instance of the android.widget.FilterQueryProvider interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				runQuery(param0: string): android.database.Cursor;
			});
			public constructor();
			public runQuery(param0: string): android.database.Cursor;
		}
	}
}

declare module android {
	export module widget {
		export class Filterable extends java.lang.Object {
			public static class: java.lang.Class<android.widget.Filterable>;
			/**
			 * Constructs a new instance of the android.widget.Filterable interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				getFilter(): android.widget.Filter;
			});
			public constructor();
			public getFilter(): android.widget.Filter;
		}
	}
}

declare module android {
	export module widget {
		export class FrameLayout extends android.view.ViewGroup {
			public static class: java.lang.Class<android.widget.FrameLayout>;
			public onLayout(param0: boolean, param1: number, param2: number, param3: number, param4: number): void;
			public isLayoutDirectionResolved(): boolean;
			public generateLayoutParams(param0: android.util.AttributeSet): android.view.ViewGroup.LayoutParams;
			public onStopNestedScroll(param0: android.view.View): void;
			public focusableViewAvailable(param0: android.view.View): void;
			public createContextMenu(param0: android.view.ContextMenu): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public onMeasure(param0: number, param1: number): void;
			public shouldDelayChildPressedState(): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public addView(param0: android.view.View, param1: number, param2: number): void;
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public requestSendAccessibilityEvent(param0: android.view.View, param1: android.view.accessibility.AccessibilityEvent): boolean;
			public childHasTransientStateChanged(param0: android.view.View, param1: boolean): void;
			public canResolveLayoutDirection(): boolean;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public onNestedScrollAccepted(param0: android.view.View, param1: android.view.View, param2: number): void;
			public keyboardNavigationClusterSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(param0: android.view.View): boolean;
			public onNestedFling(param0: android.view.View, param1: number, param2: number, param3: boolean): boolean;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public onDescendantInvalidated(param0: android.view.View, param1: android.view.View): void;
			public sendAccessibilityEvent(param0: number): void;
			/** @deprecated */
			public invalidateChild(param0: android.view.View, param1: android.graphics.Rect): void;
			public requestTransparentRegion(param0: android.view.View): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public getParentForAccessibility(): android.view.ViewParent;
			public getMeasureAllChildren(): boolean;
			public canResolveTextAlignment(): boolean;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public getParent(): android.view.ViewParent;
			public generateDefaultLayoutParams(): android.widget.FrameLayout.LayoutParams;
			/** @deprecated */
			public invalidateChildInParent(param0: native.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public onStartNestedScroll(param0: android.view.View, param1: android.view.View, param2: number): boolean;
			public setForegroundGravity(param0: number): void;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback): android.view.ActionMode;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public getLayoutDirection(): number;
			public getTextAlignment(): number;
			public requestChildFocus(param0: android.view.View, param1: android.view.View): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public generateLayoutParams(param0: android.view.ViewGroup.LayoutParams): android.view.ViewGroup.LayoutParams;
			public generateDefaultLayoutParams(): android.view.ViewGroup.LayoutParams;
			public setMeasureAllChildren(param0: boolean): void;
			public requestChildRectangleOnScreen(param0: android.view.View, param1: android.graphics.Rect, param2: boolean): boolean;
			public onNestedScroll(param0: android.view.View, param1: number, param2: number, param3: number, param4: number): void;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: native.Array<number>): void;
			public onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public getAccessibilityClassName(): string;
			public focusSearch(param0: number): android.view.View;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public recomputeViewAttributes(param0: android.view.View): void;
			/** @deprecated */
			public getConsiderGoneChildrenWhenMeasuring(): boolean;
			public isLayoutRequested(): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			public requestLayout(): void;
			public checkLayoutParams(param0: android.view.ViewGroup.LayoutParams): boolean;
			public childDrawableStateChanged(param0: android.view.View): void;
			public isTextAlignmentResolved(): boolean;
			public addView(param0: android.view.View): void;
			public removeView(param0: android.view.View): void;
			public clearChildFocus(param0: android.view.View): void;
			public canResolveTextDirection(): boolean;
			public getTextDirection(): number;
			public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			/** @deprecated */
			public requestFitSystemWindows(): void;
			public requestDisallowInterceptTouchEvent(param0: boolean): void;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public isTextDirectionResolved(): boolean;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public generateLayoutParams(param0: android.util.AttributeSet): android.widget.FrameLayout.LayoutParams;
			public constructor(param0: android.content.Context);
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public addView(param0: android.view.View, param1: number, param2: android.view.ViewGroup.LayoutParams): void;
			public notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public requestFitSystemWindows(): void;
			public addView(param0: android.view.View, param1: number): void;
		}
		export module FrameLayout {
			export class LayoutParams extends android.view.ViewGroup.MarginLayoutParams {
				public static class: java.lang.Class<android.widget.FrameLayout.LayoutParams>;
				public static UNSPECIFIED_GRAVITY: number;
				public gravity: number;
				public constructor(param0: number, param1: number);
				public constructor(param0: android.view.ViewGroup.MarginLayoutParams);
				public constructor(param0: android.view.ViewGroup.LayoutParams);
				public constructor(param0: number, param1: number, param2: number);
				public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
				public constructor(param0: android.widget.FrameLayout.LayoutParams);
			}
		}
	}
}

declare module android {
	export module widget {
		export class Gallery extends android.widget.AbsSpinner implements android.view.GestureDetector.OnGestureListener {
			public static class: java.lang.Class<android.widget.Gallery>;
			public generateLayoutParams(param0: android.util.AttributeSet): android.view.ViewGroup.LayoutParams;
			public onStopNestedScroll(param0: android.view.View): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public addView(param0: android.view.View, param1: number, param2: number): void;
			public requestSendAccessibilityEvent(param0: android.view.View, param1: android.view.accessibility.AccessibilityEvent): boolean;
			public childHasTransientStateChanged(param0: android.view.View, param1: boolean): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public onNestedScrollAccepted(param0: android.view.View, param1: android.view.View, param2: number): void;
			public showContextMenuForChild(param0: android.view.View): boolean;
			public keyboardNavigationClusterSearch(param0: android.view.View, param1: number): android.view.View;
			public onSingleTapUp(param0: android.view.MotionEvent): boolean;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public onDescendantInvalidated(param0: android.view.View, param1: android.view.View): void;
			public setSpacing(param0: number): void;
			public sendAccessibilityEvent(param0: number): void;
			/** @deprecated */
			public invalidateChild(param0: android.view.View, param1: android.graphics.Rect): void;
			public setCallbackDuringFling(param0: boolean): void;
			public showContextMenu(): boolean;
			public requestTransparentRegion(param0: android.view.View): void;
			public canResolveTextAlignment(): boolean;
			public getParent(): android.view.ViewParent;
			public onStartNestedScroll(param0: android.view.View, param1: android.view.View, param2: number): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public getLayoutDirection(): number;
			public requestChildFocus(param0: android.view.View, param1: android.view.View): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public getAccessibilityClassName(): string;
			public focusSearch(param0: number): android.view.View;
			public recomputeViewAttributes(param0: android.view.View): void;
			public isLayoutRequested(): boolean;
			public getChildStaticTransformation(param0: android.view.View, param1: android.view.animation.Transformation): boolean;
			public dispatchSetSelected(param0: boolean): void;
			public onDown(param0: android.view.MotionEvent): boolean;
			public getChildDrawingOrder(param0: number, param1: number): number;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public onFling(param0: android.view.MotionEvent, param1: android.view.MotionEvent, param2: number, param3: number): boolean;
			public onLongPress(param0: android.view.MotionEvent): void;
			public requestLayout(): void;
			public childDrawableStateChanged(param0: android.view.View): void;
			public addView(param0: android.view.View): void;
			public canResolveTextDirection(): boolean;
			public setAnimationDuration(param0: number): void;
			/** @deprecated */
			public requestFitSystemWindows(): void;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public constructor(param0: android.content.Context);
			public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public addView(param0: android.view.View, param1: number, param2: android.view.ViewGroup.LayoutParams): void;
			public onShowPress(param0: android.view.MotionEvent): void;
			public setUnselectedAlpha(param0: number): void;
			public requestFitSystemWindows(): void;
			public onLayout(param0: boolean, param1: number, param2: number, param3: number, param4: number): void;
			public onScroll(param0: android.view.MotionEvent, param1: android.view.MotionEvent, param2: number, param3: number): boolean;
			public isLayoutDirectionResolved(): boolean;
			public focusableViewAvailable(param0: android.view.View): void;
			public createContextMenu(param0: android.view.ContextMenu): void;
			public dispatchSetPressed(param0: boolean): void;
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenu(param0: number, param1: number): boolean;
			public canResolveLayoutDirection(): boolean;
			public getContextMenuInfo(): android.view.ContextMenu.ContextMenuInfo;
			public onNestedFling(param0: android.view.View, param1: number, param2: number, param3: boolean): boolean;
			public onFocusChanged(param0: boolean, param1: number, param2: android.graphics.Rect): void;
			public computeHorizontalScrollRange(): number;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public getParentForAccessibility(): android.view.ViewParent;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			/** @deprecated */
			public invalidateChildInParent(param0: native.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback): android.view.ActionMode;
			public getTextAlignment(): number;
			public generateLayoutParams(param0: android.view.ViewGroup.LayoutParams): android.view.ViewGroup.LayoutParams;
			public generateDefaultLayoutParams(): android.view.ViewGroup.LayoutParams;
			public requestChildRectangleOnScreen(param0: android.view.View, param1: android.graphics.Rect, param2: boolean): boolean;
			public onNestedScroll(param0: android.view.View, param1: number, param2: number, param3: number, param4: number): void;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: native.Array<number>): void;
			public setGravity(param0: number): void;
			public onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public computeHorizontalScrollOffset(): number;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			public checkLayoutParams(param0: android.view.ViewGroup.LayoutParams): boolean;
			public isTextAlignmentResolved(): boolean;
			public removeView(param0: android.view.View): void;
			public clearChildFocus(param0: android.view.View): void;
			public getTextDirection(): number;
			public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public onTouchEvent(param0: android.view.MotionEvent): boolean;
			public requestDisallowInterceptTouchEvent(param0: boolean): void;
			public isTextDirectionResolved(): boolean;
			public dispatchKeyEvent(param0: android.view.KeyEvent): boolean;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public computeHorizontalScrollExtent(): number;
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public onAttachedToWindow(): void;
			public notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public addView(param0: android.view.View, param1: number): void;
		}
		export module Gallery {
			export class LayoutParams extends android.view.ViewGroup.LayoutParams {
				public static class: java.lang.Class<android.widget.Gallery.LayoutParams>;
				public constructor(param0: number, param1: number);
				public constructor(param0: android.view.ViewGroup.LayoutParams);
				public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			}
		}
	}
}

declare module android {
	export module widget {
		export class GridLayout extends android.view.ViewGroup {
			public static class: java.lang.Class<android.widget.GridLayout>;
			public static ALIGN_BOUNDS: number;
			public static ALIGN_MARGINS: number;
			public static BASELINE: android.widget.GridLayout.Alignment;
			public static BOTTOM: android.widget.GridLayout.Alignment;
			public static CENTER: android.widget.GridLayout.Alignment;
			public static END: android.widget.GridLayout.Alignment;
			public static FILL: android.widget.GridLayout.Alignment;
			public static HORIZONTAL: number;
			public static LEFT: android.widget.GridLayout.Alignment;
			public static RIGHT: android.widget.GridLayout.Alignment;
			public static START: android.widget.GridLayout.Alignment;
			public static TOP: android.widget.GridLayout.Alignment;
			public static UNDEFINED: number;
			public static VERTICAL: number;
			public generateLayoutParams(param0: android.util.AttributeSet): android.view.ViewGroup.LayoutParams;
			public onStopNestedScroll(param0: android.view.View): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public onMeasure(param0: number, param1: number): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public addView(param0: android.view.View, param1: number, param2: number): void;
			public requestSendAccessibilityEvent(param0: android.view.View, param1: android.view.accessibility.AccessibilityEvent): boolean;
			public static spec(param0: number, param1: number, param2: number): android.widget.GridLayout.Spec;
			public childHasTransientStateChanged(param0: android.view.View, param1: boolean): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public onNestedScrollAccepted(param0: android.view.View, param1: android.view.View, param2: number): void;
			public keyboardNavigationClusterSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(param0: android.view.View): boolean;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public onDescendantInvalidated(param0: android.view.View, param1: android.view.View): void;
			public sendAccessibilityEvent(param0: number): void;
			/** @deprecated */
			public invalidateChild(param0: android.view.View, param1: android.graphics.Rect): void;
			public requestTransparentRegion(param0: android.view.View): void;
			public static spec(param0: number, param1: number): android.widget.GridLayout.Spec;
			public canResolveTextAlignment(): boolean;
			public getParent(): android.view.ViewParent;
			public onStartNestedScroll(param0: android.view.View, param1: android.view.View, param2: number): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public getLayoutDirection(): number;
			public requestChildFocus(param0: android.view.View, param1: android.view.View): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public getAccessibilityClassName(): string;
			public focusSearch(param0: number): android.view.View;
			public recomputeViewAttributes(param0: android.view.View): void;
			public isRowOrderPreserved(): boolean;
			public isLayoutRequested(): boolean;
			public setColumnCount(param0: number): void;
			public getUseDefaultMargins(): boolean;
			public static spec(param0: number): android.widget.GridLayout.Spec;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public requestLayout(): void;
			public getColumnCount(): number;
			public childDrawableStateChanged(param0: android.view.View): void;
			public addView(param0: android.view.View): void;
			public isColumnOrderPreserved(): boolean;
			public setColumnOrderPreserved(param0: boolean): void;
			public canResolveTextDirection(): boolean;
			/** @deprecated */
			public requestFitSystemWindows(): void;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public constructor(param0: android.content.Context);
			public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public addView(param0: android.view.View, param1: number, param2: android.view.ViewGroup.LayoutParams): void;
			public setOrientation(param0: number): void;
			public requestFitSystemWindows(): void;
			public generateDefaultLayoutParams(): android.widget.GridLayout.LayoutParams;
			public getRowCount(): number;
			public onViewAdded(param0: android.view.View): void;
			public onLayout(param0: boolean, param1: number, param2: number, param3: number, param4: number): void;
			public isLayoutDirectionResolved(): boolean;
			public getAlignmentMode(): number;
			public focusableViewAvailable(param0: android.view.View): void;
			public createContextMenu(param0: android.view.ContextMenu): void;
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public canResolveLayoutDirection(): boolean;
			public setAlignmentMode(param0: number): void;
			public onNestedFling(param0: android.view.View, param1: number, param2: number, param3: boolean): boolean;
			public onViewRemoved(param0: android.view.View): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public getParentForAccessibility(): android.view.ViewParent;
			public static spec(param0: number, param1: android.widget.GridLayout.Alignment, param2: number): android.widget.GridLayout.Spec;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			/** @deprecated */
			public invalidateChildInParent(param0: native.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback): android.view.ActionMode;
			public getTextAlignment(): number;
			public generateLayoutParams(param0: android.view.ViewGroup.LayoutParams): android.view.ViewGroup.LayoutParams;
			public generateDefaultLayoutParams(): android.view.ViewGroup.LayoutParams;
			public requestChildRectangleOnScreen(param0: android.view.View, param1: android.graphics.Rect, param2: boolean): boolean;
			public onNestedScroll(param0: android.view.View, param1: number, param2: number, param3: number, param4: number): void;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: native.Array<number>): void;
			public onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public static spec(param0: number, param1: number, param2: android.widget.GridLayout.Alignment, param3: number): android.widget.GridLayout.Spec;
			public setUseDefaultMargins(param0: boolean): void;
			public setRowOrderPreserved(param0: boolean): void;
			public static spec(param0: number, param1: android.widget.GridLayout.Alignment): android.widget.GridLayout.Spec;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			public getOrientation(): number;
			public checkLayoutParams(param0: android.view.ViewGroup.LayoutParams): boolean;
			public isTextAlignmentResolved(): boolean;
			public removeView(param0: android.view.View): void;
			public clearChildFocus(param0: android.view.View): void;
			public generateLayoutParams(param0: android.view.ViewGroup.LayoutParams): android.widget.GridLayout.LayoutParams;
			public getTextDirection(): number;
			public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public requestDisallowInterceptTouchEvent(param0: boolean): void;
			public isTextDirectionResolved(): boolean;
			public setRowCount(param0: number): void;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public generateLayoutParams(param0: android.util.AttributeSet): android.widget.GridLayout.LayoutParams;
			public static spec(param0: number, param1: number, param2: android.widget.GridLayout.Alignment): android.widget.GridLayout.Spec;
			public addView(param0: android.view.View, param1: number): void;
		}
		export module GridLayout {
			export abstract class Alignment extends java.lang.Object {
				public static class: java.lang.Class<android.widget.GridLayout.Alignment>;
			}
			export class LayoutParams extends android.view.ViewGroup.MarginLayoutParams {
				public static class: java.lang.Class<android.widget.GridLayout.LayoutParams>;
				public columnSpec: android.widget.GridLayout.Spec;
				public rowSpec: android.widget.GridLayout.Spec;
				public constructor(param0: number, param1: number);
				public constructor(param0: android.view.ViewGroup.MarginLayoutParams);
				public constructor(param0: android.view.ViewGroup.LayoutParams);
				public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
				public hashCode(): number;
				public constructor(param0: android.widget.GridLayout.LayoutParams);
				public setBaseAttributes(param0: android.content.res.TypedArray, param1: number, param2: number): void;
				public equals(param0: any): boolean;
				public setGravity(param0: number): void;
				public constructor(param0: android.widget.GridLayout.Spec, param1: android.widget.GridLayout.Spec);
				public constructor();
			}
			export class Spec extends java.lang.Object {
				public static class: java.lang.Class<android.widget.GridLayout.Spec>;
				public hashCode(): number;
				public equals(param0: any): boolean;
			}
		}
	}
}

declare module android {
	export module widget {
		export class GridView extends android.widget.AbsListView {
			public static class: java.lang.Class<android.widget.GridView>;
			public static AUTO_FIT: number;
			public static NO_STRETCH: number;
			public static STRETCH_COLUMN_WIDTH: number;
			public static STRETCH_SPACING: number;
			public static STRETCH_SPACING_UNIFORM: number;
			public setStretchMode(param0: number): void;
			public setSelection(param0: number): void;
			public smoothScrollToPosition(param0: number, param1: number): void;
			public onStopNestedScroll(param0: android.view.View): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public onMeasure(param0: number, param1: number): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public addView(param0: android.view.View, param1: number, param2: number): void;
			public requestSendAccessibilityEvent(param0: android.view.View, param1: android.view.accessibility.AccessibilityEvent): boolean;
			public childHasTransientStateChanged(param0: android.view.View, param1: boolean): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public onNestedScrollAccepted(param0: android.view.View, param1: android.view.View, param2: number): void;
			public getRequestedColumnWidth(): number;
			public keyboardNavigationClusterSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(param0: android.view.View): boolean;
			public setAdapter(param0: android.widget.ListAdapter): void;
			public beforeTextChanged(param0: string, param1: number, param2: number, param3: number): void;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public onDescendantInvalidated(param0: android.view.View, param1: android.view.View): void;
			public sendAccessibilityEvent(param0: number): void;
			/** @deprecated */
			public invalidateChild(param0: android.view.View, param1: android.graphics.Rect): void;
			public requestTransparentRegion(param0: android.view.View): void;
			public afterTextChanged(param0: android.text.Editable): void;
			public canResolveTextAlignment(): boolean;
			public getParent(): android.view.ViewParent;
			public onTextChanged(param0: string, param1: number, param2: number, param3: number): void;
			public onStartNestedScroll(param0: android.view.View, param1: android.view.View, param2: number): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public attachLayoutAnimationParameters(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams, param2: number, param3: number): void;
			public computeVerticalScrollRange(): number;
			public setNumColumns(param0: number): void;
			public getLayoutDirection(): number;
			public requestChildFocus(param0: android.view.View, param1: android.view.View): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public getAccessibilityClassName(): string;
			public focusSearch(param0: number): android.view.View;
			public recomputeViewAttributes(param0: android.view.View): void;
			public smoothScrollByOffset(param0: number): void;
			public onTouchModeChanged(param0: boolean): void;
			public isLayoutRequested(): boolean;
			public computeVerticalScrollExtent(): number;
			public getStretchMode(): number;
			public onGlobalLayout(): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public requestLayout(): void;
			public onFilterComplete(param0: number): void;
			public childDrawableStateChanged(param0: android.view.View): void;
			public addView(param0: android.view.View): void;
			public smoothScrollToPosition(param0: number): void;
			public canResolveTextDirection(): boolean;
			/** @deprecated */
			public requestFitSystemWindows(): void;
			public getVerticalSpacing(): number;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public constructor(param0: android.content.Context);
			public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public addView(param0: android.view.View, param1: number, param2: android.view.ViewGroup.LayoutParams): void;
			public requestFitSystemWindows(): void;
			public getAdapter(): android.widget.ListAdapter;
			public isLayoutDirectionResolved(): boolean;
			public focusableViewAvailable(param0: android.view.View): void;
			public createContextMenu(param0: android.view.ContextMenu): void;
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public canResolveLayoutDirection(): boolean;
			public onNestedFling(param0: android.view.View, param1: number, param2: number, param3: boolean): boolean;
			public onFocusChanged(param0: boolean, param1: number, param2: android.graphics.Rect): void;
			public getHorizontalSpacing(): number;
			public setRemoteViewsAdapter(param0: android.content.Intent): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public getParentForAccessibility(): android.view.ViewParent;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			/** @deprecated */
			public invalidateChildInParent(param0: native.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public setColumnWidth(param0: number): void;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback): android.view.ActionMode;
			public layoutChildren(): void;
			public computeVerticalScrollOffset(): number;
			public getTextAlignment(): number;
			public requestChildRectangleOnScreen(param0: android.view.View, param1: android.graphics.Rect, param2: boolean): boolean;
			public onNestedScroll(param0: android.view.View, param1: number, param2: number, param3: number, param4: number): void;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: native.Array<number>): void;
			public getColumnWidth(): number;
			public setGravity(param0: number): void;
			public onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public setAdapter(param0: any): void;
			public getNumColumns(): number;
			public getRequestedHorizontalSpacing(): number;
			public getGravity(): number;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			public getAdapter(): any;
			public isTextAlignmentResolved(): boolean;
			public removeView(param0: android.view.View): void;
			public clearChildFocus(param0: android.view.View): void;
			public getTextDirection(): number;
			public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public onInitializeAccessibilityNodeInfoForItem(param0: android.view.View, param1: number, param2: android.view.accessibility.AccessibilityNodeInfo): void;
			public requestDisallowInterceptTouchEvent(param0: boolean): void;
			public setHorizontalSpacing(param0: number): void;
			public isTextDirectionResolved(): boolean;
			public setVerticalSpacing(param0: number): void;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public addView(param0: android.view.View, param1: number): void;
		}
	}
}

declare module android {
	export module widget {
		export class HeaderViewListAdapter extends java.lang.Object implements android.widget.WrapperListAdapter, android.widget.Filterable {
			public static class: java.lang.Class<android.widget.HeaderViewListAdapter>;
			public getItem(param0: number): any;
			public getFilter(): android.widget.Filter;
			public registerDataSetObserver(param0: android.database.DataSetObserver): void;
			public isEmpty(): boolean;
			public removeFooter(param0: android.view.View): boolean;
			public getItemId(param0: number): number;
			public getAutofillOptions(): native.Array<string>;
			public hasStableIds(): boolean;
			public constructor(param0: java.util.ArrayList<android.widget.ListView.FixedViewInfo>, param1: java.util.ArrayList<android.widget.ListView.FixedViewInfo>, param2: android.widget.ListAdapter);
			public unregisterDataSetObserver(param0: android.database.DataSetObserver): void;
			public getFootersCount(): number;
			public getView(param0: number, param1: android.view.View, param2: android.view.ViewGroup): android.view.View;
			public getItemViewType(param0: number): number;
			public getWrappedAdapter(): android.widget.ListAdapter;
			public getViewTypeCount(): number;
			public getHeadersCount(): number;
			public areAllItemsEnabled(): boolean;
			public isEnabled(param0: number): boolean;
			public removeHeader(param0: android.view.View): boolean;
			public getCount(): number;
		}
	}
}

declare module android {
	export module widget {
		export class HeterogeneousExpandableList extends java.lang.Object {
			public static class: java.lang.Class<android.widget.HeterogeneousExpandableList>;
			/**
			 * Constructs a new instance of the android.widget.HeterogeneousExpandableList interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				getGroupType(param0: number): number;
				getChildType(param0: number, param1: number): number;
				getGroupTypeCount(): number;
				getChildTypeCount(): number;
			});
			public constructor();
			public getGroupType(param0: number): number;
			public getGroupTypeCount(): number;
			public getChildType(param0: number, param1: number): number;
			public getChildTypeCount(): number;
		}
	}
}

declare module android {
	export module widget {
		export class HorizontalScrollView extends android.widget.FrameLayout {
			public static class: java.lang.Class<android.widget.HorizontalScrollView>;
			public setSmoothScrollingEnabled(param0: boolean): void;
			public onStopNestedScroll(param0: android.view.View): void;
			public smoothScrollTo(param0: number, param1: number): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public onMeasure(param0: number, param1: number): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public addView(param0: android.view.View, param1: number, param2: number): void;
			public requestSendAccessibilityEvent(param0: android.view.View, param1: android.view.accessibility.AccessibilityEvent): boolean;
			public childHasTransientStateChanged(param0: android.view.View, param1: boolean): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public onNestedScrollAccepted(param0: android.view.View, param1: android.view.View, param2: number): void;
			public keyboardNavigationClusterSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(param0: android.view.View): boolean;
			public scrollTo(param0: number, param1: number): void;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public onDescendantInvalidated(param0: android.view.View, param1: android.view.View): void;
			public sendAccessibilityEvent(param0: number): void;
			/** @deprecated */
			public invalidateChild(param0: android.view.View, param1: android.graphics.Rect): void;
			public requestTransparentRegion(param0: android.view.View): void;
			public setFillViewport(param0: boolean): void;
			public canResolveTextAlignment(): boolean;
			public getParent(): android.view.ViewParent;
			public onStartNestedScroll(param0: android.view.View, param1: android.view.View, param2: number): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public getRightFadingEdgeStrength(): number;
			public getLeftFadingEdgeStrength(): number;
			public getLayoutDirection(): number;
			public requestChildFocus(param0: android.view.View, param1: android.view.View): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public setOverScrollMode(param0: number): void;
			public getAccessibilityClassName(): string;
			public focusSearch(param0: number): android.view.View;
			public onInterceptTouchEvent(param0: android.view.MotionEvent): boolean;
			public recomputeViewAttributes(param0: android.view.View): void;
			public isLayoutRequested(): boolean;
			public computeScrollDeltaToGetChildRectOnScreen(param0: android.graphics.Rect): number;
			public isSmoothScrollingEnabled(): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public getMaxScrollAmount(): number;
			public requestLayout(): void;
			public addView(param0: android.view.View): void;
			public childDrawableStateChanged(param0: android.view.View): void;
			public canResolveTextDirection(): boolean;
			/** @deprecated */
			public requestFitSystemWindows(): void;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public constructor(param0: android.content.Context);
			public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public addView(param0: android.view.View, param1: number, param2: android.view.ViewGroup.LayoutParams): void;
			public requestFitSystemWindows(): void;
			public onOverScrolled(param0: number, param1: number, param2: boolean, param3: boolean): void;
			public onLayout(param0: boolean, param1: number, param2: number, param3: number, param4: number): void;
			public measureChildWithMargins(param0: android.view.View, param1: number, param2: number, param3: number, param4: number): void;
			public isLayoutDirectionResolved(): boolean;
			public focusableViewAvailable(param0: android.view.View): void;
			public createContextMenu(param0: android.view.ContextMenu): void;
			public shouldDelayChildPressedState(): boolean;
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public canResolveLayoutDirection(): boolean;
			public onNestedFling(param0: android.view.View, param1: number, param2: number, param3: boolean): boolean;
			public computeHorizontalScrollRange(): number;
			public draw(param0: android.graphics.Canvas): void;
			public onRestoreInstanceState(param0: android.os.Parcelable): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public getParentForAccessibility(): android.view.ViewParent;
			public onRequestFocusInDescendants(param0: number, param1: android.graphics.Rect): boolean;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public arrowScroll(param0: number): boolean;
			/** @deprecated */
			public invalidateChildInParent(param0: native.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback): android.view.ActionMode;
			public getTextAlignment(): number;
			public requestChildRectangleOnScreen(param0: android.view.View, param1: android.graphics.Rect, param2: boolean): boolean;
			public onNestedScroll(param0: android.view.View, param1: number, param2: number, param3: number, param4: number): void;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: native.Array<number>): void;
			public onSaveInstanceState(): android.os.Parcelable;
			public onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public onSizeChanged(param0: number, param1: number, param2: number, param3: number): void;
			public onGenericMotionEvent(param0: android.view.MotionEvent): boolean;
			public executeKeyEvent(param0: android.view.KeyEvent): boolean;
			public computeHorizontalScrollOffset(): number;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			public computeScroll(): void;
			public isTextAlignmentResolved(): boolean;
			public removeView(param0: android.view.View): void;
			public clearChildFocus(param0: android.view.View): void;
			public fullScroll(param0: number): boolean;
			public getTextDirection(): number;
			public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public fling(param0: number): void;
			public onTouchEvent(param0: android.view.MotionEvent): boolean;
			public requestDisallowInterceptTouchEvent(param0: boolean): void;
			public pageScroll(param0: number): boolean;
			public isTextDirectionResolved(): boolean;
			public smoothScrollBy(param0: number, param1: number): void;
			public measureChild(param0: android.view.View, param1: number, param2: number): void;
			public dispatchKeyEvent(param0: android.view.KeyEvent): boolean;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public isFillViewport(): boolean;
			public addView(param0: android.view.View, param1: number): void;
		}
	}
}

declare module android {
	export module widget {
		export class ImageButton extends android.widget.ImageView {
			public static class: java.lang.Class<android.widget.ImageButton>;
			public getAccessibilityClassName(): string;
			public onResolvePointerIcon(param0: android.view.MotionEvent, param1: number): any;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public onSetAlpha(param0: number): boolean;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public constructor(param0: android.content.Context);
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public sendAccessibilityEvent(param0: number): void;
		}
	}
}

declare module android {
	export module widget {
		export class ImageSwitcher extends android.widget.ViewSwitcher {
			public static class: java.lang.Class<android.widget.ImageSwitcher>;
			public isLayoutDirectionResolved(): boolean;
			public onStopNestedScroll(param0: android.view.View): void;
			public focusableViewAvailable(param0: android.view.View): void;
			public createContextMenu(param0: android.view.ContextMenu): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public addView(param0: android.view.View, param1: number, param2: number): void;
			public setImageResource(param0: number): void;
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public requestSendAccessibilityEvent(param0: android.view.View, param1: android.view.accessibility.AccessibilityEvent): boolean;
			public childHasTransientStateChanged(param0: android.view.View, param1: boolean): void;
			public canResolveLayoutDirection(): boolean;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public onNestedScrollAccepted(param0: android.view.View, param1: android.view.View, param2: number): void;
			public keyboardNavigationClusterSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(param0: android.view.View): boolean;
			public onNestedFling(param0: android.view.View, param1: number, param2: number, param3: boolean): boolean;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public onDescendantInvalidated(param0: android.view.View, param1: android.view.View): void;
			public sendAccessibilityEvent(param0: number): void;
			/** @deprecated */
			public invalidateChild(param0: android.view.View, param1: android.graphics.Rect): void;
			public requestTransparentRegion(param0: android.view.View): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public getParentForAccessibility(): android.view.ViewParent;
			public canResolveTextAlignment(): boolean;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public getParent(): android.view.ViewParent;
			/** @deprecated */
			public invalidateChildInParent(param0: native.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public onStartNestedScroll(param0: android.view.View, param1: android.view.View, param2: number): boolean;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback): android.view.ActionMode;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public getLayoutDirection(): number;
			public getTextAlignment(): number;
			public requestChildFocus(param0: android.view.View, param1: android.view.View): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public requestChildRectangleOnScreen(param0: android.view.View, param1: android.graphics.Rect, param2: boolean): boolean;
			public onNestedScroll(param0: android.view.View, param1: number, param2: number, param3: number, param4: number): void;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: native.Array<number>): void;
			public onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public getAccessibilityClassName(): string;
			public focusSearch(param0: number): android.view.View;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public recomputeViewAttributes(param0: android.view.View): void;
			public isLayoutRequested(): boolean;
			public setImageDrawable(param0: android.graphics.drawable.Drawable): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			public requestLayout(): void;
			public childDrawableStateChanged(param0: android.view.View): void;
			public isTextAlignmentResolved(): boolean;
			public addView(param0: android.view.View): void;
			public removeView(param0: android.view.View): void;
			public clearChildFocus(param0: android.view.View): void;
			public canResolveTextDirection(): boolean;
			public getTextDirection(): number;
			public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			/** @deprecated */
			public requestFitSystemWindows(): void;
			public requestDisallowInterceptTouchEvent(param0: boolean): void;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public isTextDirectionResolved(): boolean;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public constructor(param0: android.content.Context);
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public addView(param0: android.view.View, param1: number, param2: android.view.ViewGroup.LayoutParams): void;
			public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public setImageURI(param0: android.net.Uri): void;
			public requestFitSystemWindows(): void;
			public addView(param0: android.view.View, param1: number): void;
		}
	}
}

declare module android {
	export module widget {
		export class ImageView extends android.view.View {
			public static class: java.lang.Class<android.widget.ImageView>;
			public onVisibilityAggregated(param0: boolean): void;
			public getColorFilter(): android.graphics.ColorFilter;
			public getImageTintList(): android.content.res.ColorStateList;
			public setImageTintMode(param0: android.graphics.PorterDuff.Mode): void;
			public setMaxHeight(param0: number): void;
			public drawableStateChanged(): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public onMeasure(param0: number, param1: number): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public setFrame(param0: number, param1: number, param2: number, param3: number): boolean;
			public setImageResource(param0: number): void;
			public setImageMatrix(param0: android.graphics.Matrix): void;
			public setBaselineAlignBottom(param0: boolean): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public setColorFilter(param0: android.graphics.ColorFilter): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public setBaseline(param0: number): void;
			public onDetachedFromWindow(): void;
			public sendAccessibilityEvent(param0: number): void;
			public setMaxWidth(param0: number): void;
			public getBaselineAlignBottom(): boolean;
			public setVisibility(param0: number): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public getImageTintMode(): android.graphics.PorterDuff.Mode;
			public setScaleType(param0: android.widget.ImageView.ScaleType): void;
			public getScaleType(): android.widget.ImageView.ScaleType;
			public setImageAlpha(param0: number): void;
			public verifyDrawable(param0: android.graphics.drawable.Drawable): boolean;
			public setImageBitmap(param0: android.graphics.Bitmap): void;
			public getImageAlpha(): number;
			public getCropToPadding(): boolean;
			public setSelected(param0: boolean): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public getImageMatrix(): android.graphics.Matrix;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public onDraw(param0: android.graphics.Canvas): void;
			public setImageLevel(param0: number): void;
			public getAdjustViewBounds(): boolean;
			public getMaxHeight(): number;
			public getAccessibilityClassName(): string;
			public setCropToPadding(param0: boolean): void;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public hasOverlappingRendering(): boolean;
			public setColorFilter(param0: number, param1: android.graphics.PorterDuff.Mode): void;
			public setAdjustViewBounds(param0: boolean): void;
			public onCreateDrawableState(param0: number): native.Array<number>;
			public setImageState(param0: native.Array<number>, param1: boolean): void;
			public setImageTintList(param0: android.content.res.ColorStateList): void;
			public setColorFilter(param0: number): void;
			public setImageDrawable(param0: android.graphics.drawable.Drawable): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public jumpDrawablesToCurrentState(): void;
			public getBaseline(): number;
			public isOpaque(): boolean;
			public setAlpha(param0: number): void;
			public getDrawable(): android.graphics.drawable.Drawable;
			/** @deprecated */
			public setAlpha(param0: number): void;
			public getMaxWidth(): number;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public drawableHotspotChanged(param0: number, param1: number): void;
			public clearColorFilter(): void;
			public setImageIcon(param0: any): void;
			public constructor(param0: android.content.Context);
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public onAttachedToWindow(): void;
			public onRtlPropertiesChanged(param0: number): void;
			public setImageURI(param0: android.net.Uri): void;
		}
		export module ImageView {
			export class ScaleType {
				public static class: java.lang.Class<android.widget.ImageView.ScaleType>;
				public static MATRIX: android.widget.ImageView.ScaleType;
				public static FIT_XY: android.widget.ImageView.ScaleType;
				public static FIT_START: android.widget.ImageView.ScaleType;
				public static FIT_CENTER: android.widget.ImageView.ScaleType;
				public static FIT_END: android.widget.ImageView.ScaleType;
				public static CENTER: android.widget.ImageView.ScaleType;
				public static CENTER_CROP: android.widget.ImageView.ScaleType;
				public static CENTER_INSIDE: android.widget.ImageView.ScaleType;
				public static values(): native.Array<android.widget.ImageView.ScaleType>;
				public static valueOf(param0: string): android.widget.ImageView.ScaleType;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			}
		}
	}
}

declare module android {
	export module widget {
		export class LinearLayout extends android.view.ViewGroup {
			public static class: java.lang.Class<android.widget.LinearLayout>;
			public static HORIZONTAL: number;
			public static SHOW_DIVIDER_BEGINNING: number;
			public static SHOW_DIVIDER_END: number;
			public static SHOW_DIVIDER_MIDDLE: number;
			public static SHOW_DIVIDER_NONE: number;
			public static VERTICAL: number;
			public setDividerPadding(param0: number): void;
			public generateLayoutParams(param0: android.util.AttributeSet): android.view.ViewGroup.LayoutParams;
			public onStopNestedScroll(param0: android.view.View): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public onMeasure(param0: number, param1: number): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public addView(param0: android.view.View, param1: number, param2: number): void;
			public setWeightSum(param0: number): void;
			public requestSendAccessibilityEvent(param0: android.view.View, param1: android.view.accessibility.AccessibilityEvent): boolean;
			public childHasTransientStateChanged(param0: android.view.View, param1: boolean): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public onNestedScrollAccepted(param0: android.view.View, param1: android.view.View, param2: number): void;
			public keyboardNavigationClusterSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(param0: android.view.View): boolean;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public onDescendantInvalidated(param0: android.view.View, param1: android.view.View): void;
			public setMeasureWithLargestChildEnabled(param0: boolean): void;
			public sendAccessibilityEvent(param0: number): void;
			/** @deprecated */
			public invalidateChild(param0: android.view.View, param1: android.graphics.Rect): void;
			public requestTransparentRegion(param0: android.view.View): void;
			public canResolveTextAlignment(): boolean;
			public getParent(): android.view.ViewParent;
			public onStartNestedScroll(param0: android.view.View, param1: android.view.View, param2: number): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public getLayoutDirection(): number;
			public requestChildFocus(param0: android.view.View, param1: android.view.View): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public getAccessibilityClassName(): string;
			public focusSearch(param0: number): android.view.View;
			public recomputeViewAttributes(param0: android.view.View): void;
			public isLayoutRequested(): boolean;
			public setShowDividers(param0: number): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public isMeasureWithLargestChildEnabled(): boolean;
			public setVerticalGravity(param0: number): void;
			public requestLayout(): void;
			public childDrawableStateChanged(param0: android.view.View): void;
			public addView(param0: android.view.View): void;
			public canResolveTextDirection(): boolean;
			/** @deprecated */
			public requestFitSystemWindows(): void;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public constructor(param0: android.content.Context);
			public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public addView(param0: android.view.View, param1: number, param2: android.view.ViewGroup.LayoutParams): void;
			public onRtlPropertiesChanged(param0: number): void;
			public setOrientation(param0: number): void;
			public requestFitSystemWindows(): void;
			public onLayout(param0: boolean, param1: number, param2: number, param3: number, param4: number): void;
			public isLayoutDirectionResolved(): boolean;
			public focusableViewAvailable(param0: android.view.View): void;
			public createContextMenu(param0: android.view.ContextMenu): void;
			public shouldDelayChildPressedState(): boolean;
			public getWeightSum(): number;
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public canResolveLayoutDirection(): boolean;
			public setDividerDrawable(param0: android.graphics.drawable.Drawable): void;
			public onNestedFling(param0: android.view.View, param1: number, param2: number, param3: boolean): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public getParentForAccessibility(): android.view.ViewParent;
			public getDividerPadding(): number;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			/** @deprecated */
			public invalidateChildInParent(param0: native.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public setHorizontalGravity(param0: number): void;
			public setBaselineAlignedChildIndex(param0: number): void;
			public setBaselineAligned(param0: boolean): void;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback): android.view.ActionMode;
			public getTextAlignment(): number;
			public onDraw(param0: android.graphics.Canvas): void;
			public generateLayoutParams(param0: android.view.ViewGroup.LayoutParams): android.view.ViewGroup.LayoutParams;
			public isBaselineAligned(): boolean;
			public generateDefaultLayoutParams(): android.view.ViewGroup.LayoutParams;
			public requestChildRectangleOnScreen(param0: android.view.View, param1: android.graphics.Rect, param2: boolean): boolean;
			public onNestedScroll(param0: android.view.View, param1: number, param2: number, param3: number, param4: number): void;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: native.Array<number>): void;
			public setGravity(param0: number): void;
			public onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public getBaselineAlignedChildIndex(): number;
			public generateLayoutParams(param0: android.view.ViewGroup.LayoutParams): android.widget.LinearLayout.LayoutParams;
			public generateDefaultLayoutParams(): android.widget.LinearLayout.LayoutParams;
			public getShowDividers(): number;
			public getGravity(): number;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			public getBaseline(): number;
			public getOrientation(): number;
			public generateLayoutParams(param0: android.util.AttributeSet): android.widget.LinearLayout.LayoutParams;
			public checkLayoutParams(param0: android.view.ViewGroup.LayoutParams): boolean;
			public isTextAlignmentResolved(): boolean;
			public removeView(param0: android.view.View): void;
			public clearChildFocus(param0: android.view.View): void;
			public getTextDirection(): number;
			public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public requestDisallowInterceptTouchEvent(param0: boolean): void;
			public isTextDirectionResolved(): boolean;
			public getDividerDrawable(): android.graphics.drawable.Drawable;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public addView(param0: android.view.View, param1: number): void;
		}
		export module LinearLayout {
			export class LayoutParams extends android.view.ViewGroup.MarginLayoutParams {
				public static class: java.lang.Class<android.widget.LinearLayout.LayoutParams>;
				public gravity: number;
				public weight: number;
				public constructor(param0: number, param1: number);
				public constructor(param0: android.view.ViewGroup.MarginLayoutParams);
				public constructor(param0: android.view.ViewGroup.LayoutParams);
				public debug(param0: string): string;
				public constructor(param0: number, param1: number, param2: number);
				public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
				public constructor(param0: android.widget.LinearLayout.LayoutParams);
			}
		}
	}
}

declare module android {
	export module widget {
		export class ListAdapter extends java.lang.Object implements android.widget.Adapter {
			public static class: java.lang.Class<android.widget.ListAdapter>;
			/**
			 * Constructs a new instance of the android.widget.ListAdapter interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				areAllItemsEnabled(): boolean;
				isEnabled(param0: number): boolean;
				registerDataSetObserver(param0: android.database.DataSetObserver): void;
				unregisterDataSetObserver(param0: android.database.DataSetObserver): void;
				getCount(): number;
				getItem(param0: number): any;
				getItemId(param0: number): number;
				hasStableIds(): boolean;
				getView(param0: number, param1: android.view.View, param2: android.view.ViewGroup): android.view.View;
				getItemViewType(param0: number): number;
				getViewTypeCount(): number;
				isEmpty(): boolean;
				getAutofillOptions(): native.Array<string>;
			});
			public constructor();
			public static NO_SELECTION: number;
			public static IGNORE_ITEM_VIEW_TYPE: number;
			public getItem(param0: number): any;
			public registerDataSetObserver(param0: android.database.DataSetObserver): void;
			public isEmpty(): boolean;
			public getItemId(param0: number): number;
			public getAutofillOptions(): native.Array<string>;
			public hasStableIds(): boolean;
			public unregisterDataSetObserver(param0: android.database.DataSetObserver): void;
			public getView(param0: number, param1: android.view.View, param2: android.view.ViewGroup): android.view.View;
			public getItemViewType(param0: number): number;
			public getViewTypeCount(): number;
			public areAllItemsEnabled(): boolean;
			public isEnabled(param0: number): boolean;
			public getCount(): number;
		}
	}
}

declare module android {
	export module widget {
		export class ListPopupWindow extends java.lang.Object {
			public static class: java.lang.Class<android.widget.ListPopupWindow>;
			public static INPUT_METHOD_FROM_FOCUSABLE: number;
			public static INPUT_METHOD_NEEDED: number;
			public static INPUT_METHOD_NOT_NEEDED: number;
			public static MATCH_PARENT: number;
			public static POSITION_PROMPT_ABOVE: number;
			public static POSITION_PROMPT_BELOW: number;
			public static WRAP_CONTENT: number;
			public setListSelector(param0: android.graphics.drawable.Drawable): void;
			public setHeight(param0: number): void;
			public setSelection(param0: number): void;
			public getSelectedItem(): any;
			public getWidth(): number;
			public getSoftInputMode(): number;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public setOnItemClickListener(param0: android.widget.AdapterView.OnItemClickListener): void;
			public getInputMethodMode(): number;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public setAdapter(param0: android.widget.ListAdapter): void;
			public getAnchorView(): android.view.View;
			public setOnItemSelectedListener(param0: android.widget.AdapterView.OnItemSelectedListener): void;
			public isShowing(): boolean;
			public performItemClick(param0: number): boolean;
			public isInputMethodNotNeeded(): boolean;
			public getHeight(): number;
			public setWidth(param0: number): void;
			public setPromptPosition(param0: number): void;
			public setVerticalOffset(param0: number): void;
			public onKeyPreIme(param0: number, param1: android.view.KeyEvent): boolean;
			public setModal(param0: boolean): void;
			public getAnimationStyle(): number;
			public setPromptView(param0: android.view.View): void;
			public getPromptPosition(): number;
			public show(): void;
			public setInputMethodMode(param0: number): void;
			public getSelectedView(): android.view.View;
			public setHorizontalOffset(param0: number): void;
			public setContentWidth(param0: number): void;
			public clearListSelection(): void;
			public getSelectedItemId(): number;
			public setBackgroundDrawable(param0: android.graphics.drawable.Drawable): void;
			public isModal(): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public getVerticalOffset(): number;
			public dismiss(): void;
			public getHorizontalOffset(): number;
			public postShow(): void;
			public setWindowLayoutType(param0: number): void;
			public createDragToOpenListener(param0: android.view.View): android.view.View.OnTouchListener;
			public setAnimationStyle(param0: number): void;
			public setAnchorView(param0: android.view.View): void;
			public setDropDownGravity(param0: number): void;
			public getSelectedItemPosition(): number;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public setSoftInputMode(param0: number): void;
			public constructor(param0: android.content.Context);
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public getListView(): android.widget.ListView;
			public getBackground(): android.graphics.drawable.Drawable;
			public setOnDismissListener(param0: android.widget.PopupWindow.OnDismissListener): void;
		}
	}
}

declare module android {
	export module widget {
		export class ListView extends android.widget.AbsListView {
			public static class: java.lang.Class<android.widget.ListView>;
			public setHeaderDividersEnabled(param0: boolean): void;
			public setSelection(param0: number): void;
			public smoothScrollToPosition(param0: number, param1: number): void;
			public onStopNestedScroll(param0: android.view.View): void;
			public addFooterView(param0: android.view.View, param1: any, param2: boolean): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public onMeasure(param0: number, param1: number): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public addView(param0: android.view.View, param1: number, param2: number): void;
			public requestSendAccessibilityEvent(param0: android.view.View, param1: android.view.accessibility.AccessibilityEvent): boolean;
			public childHasTransientStateChanged(param0: android.view.View, param1: boolean): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public onNestedScrollAccepted(param0: android.view.View, param1: android.view.View, param2: number): void;
			public keyboardNavigationClusterSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(param0: android.view.View): boolean;
			public setAdapter(param0: android.widget.ListAdapter): void;
			public beforeTextChanged(param0: string, param1: number, param2: number, param3: number): void;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public onDescendantInvalidated(param0: android.view.View, param1: android.view.View): void;
			public getDivider(): android.graphics.drawable.Drawable;
			public onDetachedFromWindow(): void;
			public sendAccessibilityEvent(param0: number): void;
			/** @deprecated */
			public invalidateChild(param0: android.view.View, param1: android.graphics.Rect): void;
			public requestTransparentRegion(param0: android.view.View): void;
			public afterTextChanged(param0: android.text.Editable): void;
			public canResolveTextAlignment(): boolean;
			public drawChild(param0: android.graphics.Canvas, param1: android.view.View, param2: number): boolean;
			public getParent(): android.view.ViewParent;
			public getDividerHeight(): number;
			public setDivider(param0: android.graphics.drawable.Drawable): void;
			public onTextChanged(param0: string, param1: number, param2: number, param3: number): void;
			public onStartNestedScroll(param0: android.view.View, param1: android.view.View, param2: number): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public dispatchDraw(param0: android.graphics.Canvas): void;
			public getLayoutDirection(): number;
			public requestChildFocus(param0: android.view.View, param1: android.view.View): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public getAccessibilityClassName(): string;
			public focusSearch(param0: number): android.view.View;
			public removeHeaderView(param0: android.view.View): boolean;
			public recomputeViewAttributes(param0: android.view.View): void;
			public smoothScrollByOffset(param0: number): void;
			public onTouchModeChanged(param0: boolean): void;
			public getHeaderViewsCount(): number;
			public setDividerHeight(param0: number): void;
			public isLayoutRequested(): boolean;
			public onGlobalLayout(): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public getMaxScrollAmount(): number;
			public setSelectionAfterHeaderView(): void;
			public setOverscrollHeader(param0: android.graphics.drawable.Drawable): void;
			public setCacheColorHint(param0: number): void;
			public addHeaderView(param0: android.view.View, param1: any, param2: boolean): void;
			public addHeaderView(param0: android.view.View): void;
			public requestLayout(): void;
			public onFilterComplete(param0: number): void;
			public childDrawableStateChanged(param0: android.view.View): void;
			public addView(param0: android.view.View): void;
			public smoothScrollToPosition(param0: number): void;
			public canResolveTextDirection(): boolean;
			/** @deprecated */
			public requestFitSystemWindows(): void;
			public addFooterView(param0: android.view.View): void;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public setItemsCanFocus(param0: boolean): void;
			public constructor(param0: android.content.Context);
			public removeFooterView(param0: android.view.View): boolean;
			public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public addView(param0: android.view.View, param1: number, param2: android.view.ViewGroup.LayoutParams): void;
			public requestFitSystemWindows(): void;
			public getAdapter(): android.widget.ListAdapter;
			public isLayoutDirectionResolved(): boolean;
			public focusableViewAvailable(param0: android.view.View): void;
			public createContextMenu(param0: android.view.ContextMenu): void;
			public getItemsCanFocus(): boolean;
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public onFinishInflate(): void;
			public canResolveLayoutDirection(): boolean;
			public canAnimate(): boolean;
			public onNestedFling(param0: android.view.View, param1: number, param2: number, param3: boolean): boolean;
			public onFocusChanged(param0: boolean, param1: number, param2: android.graphics.Rect): void;
			/** @deprecated */
			public getCheckItemIds(): native.Array<number>;
			public setRemoteViewsAdapter(param0: android.content.Intent): void;
			public areFooterDividersEnabled(): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public getParentForAccessibility(): android.view.ViewParent;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			/** @deprecated */
			public invalidateChildInParent(param0: native.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public setFooterDividersEnabled(param0: boolean): void;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback): android.view.ActionMode;
			public layoutChildren(): void;
			public getTextAlignment(): number;
			public requestChildRectangleOnScreen(param0: android.view.View, param1: android.graphics.Rect, param2: boolean): boolean;
			public onNestedScroll(param0: android.view.View, param1: number, param2: number, param3: number, param4: number): void;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: native.Array<number>): void;
			public onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public setAdapter(param0: any): void;
			public onSizeChanged(param0: number, param1: number, param2: number, param3: number): void;
			public setOverscrollFooter(param0: android.graphics.drawable.Drawable): void;
			public getOverscrollFooter(): android.graphics.drawable.Drawable;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			public getAdapter(): any;
			public isOpaque(): boolean;
			public isTextAlignmentResolved(): boolean;
			public removeView(param0: android.view.View): void;
			public clearChildFocus(param0: android.view.View): void;
			public getOverscrollHeader(): android.graphics.drawable.Drawable;
			public getTextDirection(): number;
			public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public areHeaderDividersEnabled(): boolean;
			public onInitializeAccessibilityNodeInfoForItem(param0: android.view.View, param1: number, param2: android.view.accessibility.AccessibilityNodeInfo): void;
			public requestDisallowInterceptTouchEvent(param0: boolean): void;
			public getFooterViewsCount(): number;
			public isTextDirectionResolved(): boolean;
			public dispatchKeyEvent(param0: android.view.KeyEvent): boolean;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public addView(param0: android.view.View, param1: number): void;
		}
		export module ListView {
			export class FixedViewInfo extends java.lang.Object {
				public static class: java.lang.Class<android.widget.ListView.FixedViewInfo>;
				public data: any;
				public isSelectable: boolean;
				public view: android.view.View;
				public constructor(param0: android.widget.ListView);
			}
		}
	}
}

declare module android {
	export module widget {
		export class Magnifier extends java.lang.Object {
			public static class: java.lang.Class<android.widget.Magnifier>;
			public dismiss(): void;
			public getHeight(): number;
			public constructor(param0: android.view.View);
			public getWidth(): number;
			public show(param0: number, param1: number): void;
			public update(): void;
			public getZoom(): number;
		}
	}
}

declare module android {
	export module widget {
		export class MediaController extends android.widget.FrameLayout {
			public static class: java.lang.Class<android.widget.MediaController>;
			public isLayoutDirectionResolved(): boolean;
			public onStopNestedScroll(param0: android.view.View): void;
			public focusableViewAvailable(param0: android.view.View): void;
			public createContextMenu(param0: android.view.ContextMenu): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public addView(param0: android.view.View, param1: number, param2: number): void;
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public requestSendAccessibilityEvent(param0: android.view.View, param1: android.view.accessibility.AccessibilityEvent): boolean;
			public onFinishInflate(): void;
			public childHasTransientStateChanged(param0: android.view.View, param1: boolean): void;
			public canResolveLayoutDirection(): boolean;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public onNestedScrollAccepted(param0: android.view.View, param1: android.view.View, param2: number): void;
			public hide(): void;
			public keyboardNavigationClusterSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(param0: android.view.View): boolean;
			public onNestedFling(param0: android.view.View, param1: number, param2: number, param3: boolean): boolean;
			public isShowing(): boolean;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public setEnabled(param0: boolean): void;
			public onDescendantInvalidated(param0: android.view.View, param1: android.view.View): void;
			public sendAccessibilityEvent(param0: number): void;
			/** @deprecated */
			public invalidateChild(param0: android.view.View, param1: android.graphics.Rect): void;
			public requestTransparentRegion(param0: android.view.View): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public getParentForAccessibility(): android.view.ViewParent;
			public setPrevNextListeners(param0: android.view.View.OnClickListener, param1: android.view.View.OnClickListener): void;
			public canResolveTextAlignment(): boolean;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public getParent(): android.view.ViewParent;
			/** @deprecated */
			public invalidateChildInParent(param0: native.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public onStartNestedScroll(param0: android.view.View, param1: android.view.View, param2: number): boolean;
			public onTrackballEvent(param0: android.view.MotionEvent): boolean;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback): android.view.ActionMode;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public getLayoutDirection(): number;
			public getTextAlignment(): number;
			public requestChildFocus(param0: android.view.View, param1: android.view.View): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public requestChildRectangleOnScreen(param0: android.view.View, param1: android.graphics.Rect, param2: boolean): boolean;
			public onNestedScroll(param0: android.view.View, param1: number, param2: number, param3: number, param4: number): void;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: native.Array<number>): void;
			public onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public show(): void;
			public getAccessibilityClassName(): string;
			public focusSearch(param0: number): android.view.View;
			public setMediaPlayer(param0: android.widget.MediaController.MediaPlayerControl): void;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public recomputeViewAttributes(param0: android.view.View): void;
			public isLayoutRequested(): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			public requestLayout(): void;
			public childDrawableStateChanged(param0: android.view.View): void;
			public isTextAlignmentResolved(): boolean;
			public addView(param0: android.view.View): void;
			public removeView(param0: android.view.View): void;
			public clearChildFocus(param0: android.view.View): void;
			public show(param0: number): void;
			public canResolveTextDirection(): boolean;
			public getTextDirection(): number;
			public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public onTouchEvent(param0: android.view.MotionEvent): boolean;
			/** @deprecated */
			public requestFitSystemWindows(): void;
			public requestDisallowInterceptTouchEvent(param0: boolean): void;
			public setAnchorView(param0: android.view.View): void;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public isTextDirectionResolved(): boolean;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public constructor(param0: android.content.Context);
			public constructor(param0: android.content.Context, param1: boolean);
			public dispatchKeyEvent(param0: android.view.KeyEvent): boolean;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public addView(param0: android.view.View, param1: number, param2: android.view.ViewGroup.LayoutParams): void;
			public notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public requestFitSystemWindows(): void;
			public addView(param0: android.view.View, param1: number): void;
		}
		export module MediaController {
			export class MediaPlayerControl extends java.lang.Object {
				public static class: java.lang.Class<android.widget.MediaController.MediaPlayerControl>;
				/**
				 * Constructs a new instance of the android.widget.MediaController$MediaPlayerControl interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					start(): void;
					pause(): void;
					getDuration(): number;
					getCurrentPosition(): number;
					seekTo(param0: number): void;
					isPlaying(): boolean;
					getBufferPercentage(): number;
					canPause(): boolean;
					canSeekBackward(): boolean;
					canSeekForward(): boolean;
					getAudioSessionId(): number;
				});
				public constructor();
				public canPause(): boolean;
				public getAudioSessionId(): number;
				public canSeekForward(): boolean;
				public canSeekBackward(): boolean;
				public getBufferPercentage(): number;
				public start(): void;
				public getDuration(): number;
				public pause(): void;
				public isPlaying(): boolean;
				public seekTo(param0: number): void;
				public getCurrentPosition(): number;
			}
		}
	}
}

declare module android {
	export module widget {
		export class MultiAutoCompleteTextView extends android.widget.AutoCompleteTextView {
			public static class: java.lang.Class<android.widget.MultiAutoCompleteTextView>;
			public getAccessibilityClassName(): string;
			public onFilterComplete(param0: number): void;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number, param4: android.content.res.Resources.Theme);
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public replaceText(param0: string): void;
			public performFiltering(param0: string, param1: number, param2: number, param3: number): void;
			public performValidation(): void;
			public performFiltering(param0: string, param1: number): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public enoughToFilter(): boolean;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public constructor(param0: android.content.Context);
			public setTokenizer(param0: android.widget.MultiAutoCompleteTextView.Tokenizer): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public onPreDraw(): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public sendAccessibilityEvent(param0: number): void;
		}
		export module MultiAutoCompleteTextView {
			export class CommaTokenizer extends java.lang.Object implements android.widget.MultiAutoCompleteTextView.Tokenizer {
				public static class: java.lang.Class<android.widget.MultiAutoCompleteTextView.CommaTokenizer>;
				public findTokenStart(param0: string, param1: number): number;
				public terminateToken(param0: string): string;
				public findTokenEnd(param0: string, param1: number): number;
				public constructor();
			}
			export class Tokenizer extends java.lang.Object {
				public static class: java.lang.Class<android.widget.MultiAutoCompleteTextView.Tokenizer>;
				/**
				 * Constructs a new instance of the android.widget.MultiAutoCompleteTextView$Tokenizer interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					findTokenStart(param0: string, param1: number): number;
					findTokenEnd(param0: string, param1: number): number;
					terminateToken(param0: string): string;
				});
				public constructor();
				public findTokenStart(param0: string, param1: number): number;
				public terminateToken(param0: string): string;
				public findTokenEnd(param0: string, param1: number): number;
			}
		}
	}
}

declare module android {
	export module widget {
		export class NumberPicker extends android.widget.LinearLayout {
			public static class: java.lang.Class<android.widget.NumberPicker>;
			public getDisplayedValues(): native.Array<string>;
			public dispatchHoverEvent(param0: android.view.MotionEvent): boolean;
			public onStopNestedScroll(param0: android.view.View): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public onMeasure(param0: number, param1: number): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public getBottomFadingEdgeStrength(): number;
			public addView(param0: android.view.View, param1: number, param2: number): void;
			public requestSendAccessibilityEvent(param0: android.view.View, param1: android.view.accessibility.AccessibilityEvent): boolean;
			public childHasTransientStateChanged(param0: android.view.View, param1: boolean): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public onNestedScrollAccepted(param0: android.view.View, param1: android.view.View, param2: number): void;
			public keyboardNavigationClusterSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(param0: android.view.View): boolean;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public setEnabled(param0: boolean): void;
			public onDescendantInvalidated(param0: android.view.View, param1: android.view.View): void;
			public setFormatter(param0: android.widget.NumberPicker.Formatter): void;
			public onDetachedFromWindow(): void;
			public sendAccessibilityEvent(param0: number): void;
			/** @deprecated */
			public invalidateChild(param0: android.view.View, param1: android.graphics.Rect): void;
			public requestTransparentRegion(param0: android.view.View): void;
			public canResolveTextAlignment(): boolean;
			public getParent(): android.view.ViewParent;
			public getMinValue(): number;
			public getMaxValue(): number;
			public onStartNestedScroll(param0: android.view.View, param1: android.view.View, param2: number): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public computeVerticalScrollRange(): number;
			public getLayoutDirection(): number;
			public setWrapSelectorWheel(param0: boolean): void;
			public requestChildFocus(param0: android.view.View, param1: android.view.View): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public performClick(): boolean;
			public focusSearch(param0: number): android.view.View;
			public onInterceptTouchEvent(param0: android.view.MotionEvent): boolean;
			public recomputeViewAttributes(param0: android.view.View): void;
			public isLayoutRequested(): boolean;
			public computeVerticalScrollExtent(): number;
			public getTopFadingEdgeStrength(): number;
			public setOnValueChangedListener(param0: android.widget.NumberPicker.OnValueChangeListener): void;
			public setDisplayedValues(param0: native.Array<string>): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public requestLayout(): void;
			public childDrawableStateChanged(param0: android.view.View): void;
			public addView(param0: android.view.View): void;
			public getWrapSelectorWheel(): boolean;
			public canResolveTextDirection(): boolean;
			/** @deprecated */
			public requestFitSystemWindows(): void;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public constructor(param0: android.content.Context);
			public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public addView(param0: android.view.View, param1: number, param2: android.view.ViewGroup.LayoutParams): void;
			public getSolidColor(): number;
			public requestFitSystemWindows(): void;
			public onLayout(param0: boolean, param1: number, param2: number, param3: number, param4: number): void;
			public performLongClick(param0: number, param1: number): boolean;
			public isLayoutDirectionResolved(): boolean;
			public drawableStateChanged(): void;
			public focusableViewAvailable(param0: android.view.View): void;
			public createContextMenu(param0: android.view.ContextMenu): void;
			public performLongClick(): boolean;
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public canResolveLayoutDirection(): boolean;
			public setOnLongPressUpdateInterval(param0: number): void;
			public onNestedFling(param0: android.view.View, param1: number, param2: number, param3: boolean): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public getParentForAccessibility(): android.view.ViewParent;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			/** @deprecated */
			public invalidateChildInParent(param0: native.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public scrollBy(param0: number, param1: number): void;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback): android.view.ActionMode;
			public getValue(): number;
			public setValue(param0: number): void;
			public dispatchTouchEvent(param0: android.view.MotionEvent): boolean;
			public computeVerticalScrollOffset(): number;
			public getTextAlignment(): number;
			public onDraw(param0: android.graphics.Canvas): void;
			public requestChildRectangleOnScreen(param0: android.view.View, param1: android.graphics.Rect, param2: boolean): boolean;
			public onNestedScroll(param0: android.view.View, param1: number, param2: number, param3: number, param4: number): void;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: native.Array<number>): void;
			public onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public getAccessibilityNodeProvider(): android.view.accessibility.AccessibilityNodeProvider;
			public setMaxValue(param0: number): void;
			public setOnScrollListener(param0: android.widget.NumberPicker.OnScrollListener): void;
			public jumpDrawablesToCurrentState(): void;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			public setMinValue(param0: number): void;
			public computeScroll(): void;
			public isTextAlignmentResolved(): boolean;
			public removeView(param0: android.view.View): void;
			public clearChildFocus(param0: android.view.View): void;
			public getTextDirection(): number;
			public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public onTouchEvent(param0: android.view.MotionEvent): boolean;
			public requestDisallowInterceptTouchEvent(param0: boolean): void;
			public isTextDirectionResolved(): boolean;
			public dispatchTrackballEvent(param0: android.view.MotionEvent): boolean;
			public dispatchKeyEvent(param0: android.view.KeyEvent): boolean;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public addView(param0: android.view.View, param1: number): void;
		}
		export module NumberPicker {
			export class Formatter extends java.lang.Object {
				public static class: java.lang.Class<android.widget.NumberPicker.Formatter>;
				/**
				 * Constructs a new instance of the android.widget.NumberPicker$Formatter interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					format(param0: number): string;
				});
				public constructor();
				public format(param0: number): string;
			}
			export class OnScrollListener extends java.lang.Object {
				public static class: java.lang.Class<android.widget.NumberPicker.OnScrollListener>;
				/**
				 * Constructs a new instance of the android.widget.NumberPicker$OnScrollListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onScrollStateChange(param0: android.widget.NumberPicker, param1: number): void;
				});
				public constructor();
				public static SCROLL_STATE_FLING: number;
				public static SCROLL_STATE_TOUCH_SCROLL: number;
				public static SCROLL_STATE_IDLE: number;
				public onScrollStateChange(param0: android.widget.NumberPicker, param1: number): void;
			}
			export class OnValueChangeListener extends java.lang.Object {
				public static class: java.lang.Class<android.widget.NumberPicker.OnValueChangeListener>;
				/**
				 * Constructs a new instance of the android.widget.NumberPicker$OnValueChangeListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onValueChange(param0: android.widget.NumberPicker, param1: number, param2: number): void;
				});
				public constructor();
				public onValueChange(param0: android.widget.NumberPicker, param1: number, param2: number): void;
			}
		}
	}
}

declare module android {
	export module widget {
		export class OverScroller extends java.lang.Object {
			public static class: java.lang.Class<android.widget.OverScroller>;
			public startScroll(param0: number, param1: number, param2: number, param3: number, param4: number): void;
			/** @deprecated */
			public constructor(param0: android.content.Context, param1: android.view.animation.Interpolator, param2: number, param3: number);
			public getFinalX(): number;
			public getCurrVelocity(): number;
			public setFriction(param0: number): void;
			public computeScrollOffset(): boolean;
			public startScroll(param0: number, param1: number, param2: number, param3: number): void;
			public getCurrX(): number;
			public fling(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number, param8: number, param9: number): void;
			public getStartY(): number;
			public constructor(param0: android.content.Context, param1: android.view.animation.Interpolator);
			public notifyVerticalEdgeReached(param0: number, param1: number, param2: number): void;
			public abortAnimation(): void;
			public notifyHorizontalEdgeReached(param0: number, param1: number, param2: number): void;
			public getFinalY(): number;
			public fling(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number): void;
			public isFinished(): boolean;
			public getCurrY(): number;
			public springBack(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number): boolean;
			public constructor(param0: android.content.Context);
			public isOverScrolled(): boolean;
			/** @deprecated */
			public constructor(param0: android.content.Context, param1: android.view.animation.Interpolator, param2: number, param3: number, param4: boolean);
			public forceFinished(param0: boolean): void;
			public getStartX(): number;
		}
	}
}

declare module android {
	export module widget {
		export class PopupMenu extends java.lang.Object {
			public static class: java.lang.Class<android.widget.PopupMenu>;
			public show(): void;
			public getMenu(): android.view.Menu;
			public dismiss(): void;
			public setOnDismissListener(param0: android.widget.PopupMenu.OnDismissListener): void;
			public constructor(param0: android.content.Context, param1: android.view.View, param2: number, param3: number, param4: number);
			public setOnMenuItemClickListener(param0: android.widget.PopupMenu.OnMenuItemClickListener): void;
			public getMenuInflater(): android.view.MenuInflater;
			public constructor(param0: android.content.Context, param1: android.view.View);
			public inflate(param0: number): void;
			public constructor(param0: android.content.Context, param1: android.view.View, param2: number);
			public getGravity(): number;
			public getDragToOpenListener(): android.view.View.OnTouchListener;
			public setGravity(param0: number): void;
		}
		export module PopupMenu {
			export class OnDismissListener extends java.lang.Object {
				public static class: java.lang.Class<android.widget.PopupMenu.OnDismissListener>;
				/**
				 * Constructs a new instance of the android.widget.PopupMenu$OnDismissListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onDismiss(param0: android.widget.PopupMenu): void;
				});
				public constructor();
				public onDismiss(param0: android.widget.PopupMenu): void;
			}
			export class OnMenuItemClickListener extends java.lang.Object {
				public static class: java.lang.Class<android.widget.PopupMenu.OnMenuItemClickListener>;
				/**
				 * Constructs a new instance of the android.widget.PopupMenu$OnMenuItemClickListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onMenuItemClick(param0: android.view.MenuItem): boolean;
				});
				public constructor();
				public onMenuItemClick(param0: android.view.MenuItem): boolean;
			}
		}
	}
}

declare module android {
	export module widget {
		export class PopupWindow extends java.lang.Object {
			public static class: java.lang.Class<android.widget.PopupWindow>;
			public static INPUT_METHOD_FROM_FOCUSABLE: number;
			public static INPUT_METHOD_NEEDED: number;
			public static INPUT_METHOD_NOT_NEEDED: number;
			public setHeight(param0: number): void;
			public getMaxAvailableHeight(param0: android.view.View, param1: number, param2: boolean): number;
			public setFocusable(param0: boolean): void;
			public isTouchable(): boolean;
			public isAttachedInDecor(): boolean;
			public update(param0: number, param1: number, param2: number, param3: number, param4: boolean): void;
			public getWidth(): number;
			public getSoftInputMode(): number;
			public setContentView(param0: android.view.View): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public update(param0: number, param1: number, param2: number, param3: number): void;
			public isSplitTouchEnabled(): boolean;
			public setOverlapAnchor(param0: boolean): void;
			public getOverlapAnchor(): boolean;
			public getInputMethodMode(): number;
			public setIgnoreCheekPress(): void;
			public isAboveAnchor(): boolean;
			public showAtLocation(param0: android.view.View, param1: number, param2: number, param3: number): void;
			public isShowing(): boolean;
			public isFocusable(): boolean;
			public getEnterTransition(): android.transition.Transition;
			public getExitTransition(): android.transition.Transition;
			public setElevation(param0: number): void;
			public getHeight(): number;
			public setTouchInterceptor(param0: android.view.View.OnTouchListener): void;
			public update(param0: android.view.View, param1: number, param2: number, param3: number, param4: number): void;
			public setWidth(param0: number): void;
			public constructor();
			public showAsDropDown(param0: android.view.View): void;
			public getContentView(): android.view.View;
			public setClippingEnabled(param0: boolean): void;
			public setSplitTouchEnabled(param0: boolean): void;
			public getMaxAvailableHeight(param0: android.view.View, param1: number): number;
			public getAnimationStyle(): number;
			public setAttachedInDecor(param0: boolean): void;
			public setExitTransition(param0: android.transition.Transition): void;
			public setInputMethodMode(param0: number): void;
			public isClippingEnabled(): boolean;
			public showAsDropDown(param0: android.view.View, param1: number, param2: number): void;
			public showAsDropDown(param0: android.view.View, param1: number, param2: number, param3: number): void;
			public update(): void;
			public setEnterTransition(param0: android.transition.Transition): void;
			/** @deprecated */
			public setWindowLayoutMode(param0: number, param1: number): void;
			public setBackgroundDrawable(param0: android.graphics.drawable.Drawable): void;
			public setTouchable(param0: boolean): void;
			public constructor(param0: android.view.View);
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public constructor(param0: number, param1: number);
			public getElevation(): number;
			public dismiss(): void;
			public setOutsideTouchable(param0: boolean): void;
			public update(param0: android.view.View, param1: number, param2: number): void;
			public constructor(param0: android.view.View, param1: number, param2: number, param3: boolean);
			public setWindowLayoutType(param0: number): void;
			public setAnimationStyle(param0: number): void;
			public getMaxAvailableHeight(param0: android.view.View): number;
			public setSoftInputMode(param0: number): void;
			public isOutsideTouchable(): boolean;
			public getWindowLayoutType(): number;
			public constructor(param0: android.content.Context);
			public constructor(param0: android.view.View, param1: number, param2: number);
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public update(param0: number, param1: number): void;
			public getBackground(): android.graphics.drawable.Drawable;
			public setOnDismissListener(param0: android.widget.PopupWindow.OnDismissListener): void;
		}
		export module PopupWindow {
			export class OnDismissListener extends java.lang.Object {
				public static class: java.lang.Class<android.widget.PopupWindow.OnDismissListener>;
				/**
				 * Constructs a new instance of the android.widget.PopupWindow$OnDismissListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onDismiss(): void;
				});
				public constructor();
				public onDismiss(): void;
			}
		}
	}
}

declare module android {
	export module widget {
		export class ProgressBar extends android.view.View {
			public static class: java.lang.Class<android.widget.ProgressBar>;
			public onVisibilityAggregated(param0: boolean): void;
			public getSecondaryProgressTintList(): android.content.res.ColorStateList;
			public getProgress(): number;
			public setMin(param0: number): void;
			public setSecondaryProgressTintMode(param0: android.graphics.PorterDuff.Mode): void;
			public drawableStateChanged(): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public onMeasure(param0: number, param1: number): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public getIndeterminateTintMode(): android.graphics.PorterDuff.Mode;
			public setProgress(param0: number): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public setProgressTintMode(param0: android.graphics.PorterDuff.Mode): void;
			public setSecondaryProgressTintList(param0: android.content.res.ColorStateList): void;
			public incrementProgressBy(param0: number): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public onDetachedFromWindow(): void;
			public sendAccessibilityEvent(param0: number): void;
			public onRestoreInstanceState(param0: android.os.Parcelable): void;
			public getIndeterminateTintList(): android.content.res.ColorStateList;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public getProgressBackgroundTintMode(): android.graphics.PorterDuff.Mode;
			public verifyDrawable(param0: android.graphics.drawable.Drawable): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public isIndeterminate(): boolean;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public onDraw(param0: android.graphics.Canvas): void;
			public setIndeterminateDrawable(param0: android.graphics.drawable.Drawable): void;
			public onSaveInstanceState(): android.os.Parcelable;
			public getAccessibilityClassName(): string;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public getIndeterminateDrawable(): android.graphics.drawable.Drawable;
			public getSecondaryProgress(): number;
			public onSizeChanged(param0: number, param1: number, param2: number, param3: number): void;
			public setIndeterminateTintList(param0: android.content.res.ColorStateList): void;
			public setProgressBackgroundTintMode(param0: android.graphics.PorterDuff.Mode): void;
			public getProgressTintList(): android.content.res.ColorStateList;
			public getInterpolator(): android.view.animation.Interpolator;
			public setProgressDrawableTiled(param0: android.graphics.drawable.Drawable): void;
			public getMax(): number;
			public setIndeterminate(param0: boolean): void;
			public setIndeterminateTintMode(param0: android.graphics.PorterDuff.Mode): void;
			public setProgress(param0: number, param1: boolean): void;
			public setProgressTintList(param0: android.content.res.ColorStateList): void;
			public getProgressTintMode(): android.graphics.PorterDuff.Mode;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public jumpDrawablesToCurrentState(): void;
			public postInvalidate(): void;
			public setMax(param0: number): void;
			public setSecondaryProgress(param0: number): void;
			public getProgressDrawable(): android.graphics.drawable.Drawable;
			public postInvalidate(param0: number, param1: number, param2: number, param3: number): void;
			public setIndeterminateDrawableTiled(param0: android.graphics.drawable.Drawable): void;
			public getMin(): number;
			public setInterpolator(param0: android.view.animation.Interpolator): void;
			public isAnimating(): boolean;
			public getProgressBackgroundTintList(): android.content.res.ColorStateList;
			public getSecondaryProgressTintMode(): android.graphics.PorterDuff.Mode;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public drawableHotspotChanged(param0: number, param1: number): void;
			public setProgressDrawable(param0: android.graphics.drawable.Drawable): void;
			public setProgressBackgroundTintList(param0: android.content.res.ColorStateList): void;
			public constructor(param0: android.content.Context);
			public incrementSecondaryProgressBy(param0: number): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public setInterpolator(param0: android.content.Context, param1: number): void;
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public onAttachedToWindow(): void;
		}
	}
}

declare module android {
	export module widget {
		export class QuickContactBadge extends android.widget.ImageView implements android.view.View.OnClickListener {
			public static class: java.lang.Class<android.widget.QuickContactBadge>;
			public mExcludeMimes: native.Array<string>;
			public getAccessibilityClassName(): string;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public setExcludeMimes(param0: native.Array<string>): void;
			public assignContactFromPhone(param0: string, param1: boolean): void;
			public drawableStateChanged(): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public setPrioritizedMimeType(param0: string): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public assignContactFromPhone(param0: string, param1: boolean, param2: android.os.Bundle): void;
			public sendAccessibilityEvent(param0: number): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public assignContactFromEmail(param0: string, param1: boolean, param2: android.os.Bundle): void;
			public setOverlay(param0: android.graphics.drawable.Drawable): void;
			public setMode(param0: number): void;
			public assignContactUri(param0: android.net.Uri): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public drawableHotspotChanged(param0: number, param1: number): void;
			public constructor(param0: android.content.Context);
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public onDraw(param0: android.graphics.Canvas): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public onAttachedToWindow(): void;
			public onClick(param0: android.view.View): void;
			public setImageToDefault(): void;
			public assignContactFromEmail(param0: string, param1: boolean): void;
		}
	}
}

declare module android {
	export module widget {
		export class RadioButton extends android.widget.CompoundButton {
			public static class: java.lang.Class<android.widget.RadioButton>;
			public getAccessibilityClassName(): string;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public setChecked(param0: boolean): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public isChecked(): boolean;
			public toggle(): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public constructor(param0: android.content.Context);
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public onPreDraw(): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public sendAccessibilityEvent(param0: number): void;
		}
	}
}

declare module android {
	export module widget {
		export class RadioGroup extends android.widget.LinearLayout {
			public static class: java.lang.Class<android.widget.RadioGroup>;
			public autofill(param0: android.view.autofill.AutofillValue): void;
			public isLayoutDirectionResolved(): boolean;
			public generateLayoutParams(param0: android.util.AttributeSet): android.view.ViewGroup.LayoutParams;
			public onStopNestedScroll(param0: android.view.View): void;
			public focusableViewAvailable(param0: android.view.View): void;
			public createContextMenu(param0: android.view.ContextMenu): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public addView(param0: android.view.View, param1: number, param2: number): void;
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public requestSendAccessibilityEvent(param0: android.view.View, param1: android.view.accessibility.AccessibilityEvent): boolean;
			public onFinishInflate(): void;
			public childHasTransientStateChanged(param0: android.view.View, param1: boolean): void;
			public canResolveLayoutDirection(): boolean;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public getAutofillValue(): android.view.autofill.AutofillValue;
			public onNestedScrollAccepted(param0: android.view.View, param1: android.view.View, param2: number): void;
			public keyboardNavigationClusterSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(param0: android.view.View): boolean;
			public onNestedFling(param0: android.view.View, param1: number, param2: number, param3: boolean): boolean;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public check(param0: number): void;
			public onDescendantInvalidated(param0: android.view.View, param1: android.view.View): void;
			public sendAccessibilityEvent(param0: number): void;
			/** @deprecated */
			public invalidateChild(param0: android.view.View, param1: android.graphics.Rect): void;
			public requestTransparentRegion(param0: android.view.View): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public getParentForAccessibility(): android.view.ViewParent;
			public clearCheck(): void;
			public canResolveTextAlignment(): boolean;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public getParent(): android.view.ViewParent;
			/** @deprecated */
			public invalidateChildInParent(param0: native.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public onProvideAutofillStructure(param0: any, param1: number): void;
			public onStartNestedScroll(param0: android.view.View, param1: android.view.View, param2: number): boolean;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback): android.view.ActionMode;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public getLayoutDirection(): number;
			public getTextAlignment(): number;
			public requestChildFocus(param0: android.view.View, param1: android.view.View): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public generateLayoutParams(param0: android.view.ViewGroup.LayoutParams): android.view.ViewGroup.LayoutParams;
			public generateDefaultLayoutParams(): android.view.ViewGroup.LayoutParams;
			public requestChildRectangleOnScreen(param0: android.view.View, param1: android.graphics.Rect, param2: boolean): boolean;
			public onNestedScroll(param0: android.view.View, param1: number, param2: number, param3: number, param4: number): void;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: native.Array<number>): void;
			public generateLayoutParams(param0: android.util.AttributeSet): android.widget.RadioGroup.LayoutParams;
			public onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public getAccessibilityClassName(): string;
			public focusSearch(param0: number): android.view.View;
			public setOnCheckedChangeListener(param0: android.widget.RadioGroup.OnCheckedChangeListener): void;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public recomputeViewAttributes(param0: android.view.View): void;
			public isLayoutRequested(): boolean;
			public generateLayoutParams(param0: android.view.ViewGroup.LayoutParams): android.widget.LinearLayout.LayoutParams;
			public generateDefaultLayoutParams(): android.widget.LinearLayout.LayoutParams;
			public getCheckedRadioButtonId(): number;
			public autofill(param0: android.util.SparseArray<android.view.autofill.AutofillValue>): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			public getAutofillType(): number;
			public setOnHierarchyChangeListener(param0: android.view.ViewGroup.OnHierarchyChangeListener): void;
			public requestLayout(): void;
			public generateLayoutParams(param0: android.util.AttributeSet): android.widget.LinearLayout.LayoutParams;
			public addView(param0: android.view.View): void;
			public checkLayoutParams(param0: android.view.ViewGroup.LayoutParams): boolean;
			public childDrawableStateChanged(param0: android.view.View): void;
			public isTextAlignmentResolved(): boolean;
			public removeView(param0: android.view.View): void;
			public clearChildFocus(param0: android.view.View): void;
			public canResolveTextDirection(): boolean;
			public getTextDirection(): number;
			public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			/** @deprecated */
			public requestFitSystemWindows(): void;
			public requestDisallowInterceptTouchEvent(param0: boolean): void;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public isTextDirectionResolved(): boolean;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public constructor(param0: android.content.Context);
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public addView(param0: android.view.View, param1: number, param2: android.view.ViewGroup.LayoutParams): void;
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public addView(param0: android.view.View, param1: number): void;
			public requestFitSystemWindows(): void;
		}
		export module RadioGroup {
			export class LayoutParams extends android.widget.LinearLayout.LayoutParams {
				public static class: java.lang.Class<android.widget.RadioGroup.LayoutParams>;
				public constructor(param0: number, param1: number);
				public constructor(param0: android.view.ViewGroup.LayoutParams);
				public constructor(param0: android.view.ViewGroup.MarginLayoutParams);
				public constructor(param0: number, param1: number, param2: number);
				public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
				public setBaseAttributes(param0: android.content.res.TypedArray, param1: number, param2: number): void;
				public constructor(param0: android.widget.LinearLayout.LayoutParams);
			}
			export class OnCheckedChangeListener extends java.lang.Object {
				public static class: java.lang.Class<android.widget.RadioGroup.OnCheckedChangeListener>;
				/**
				 * Constructs a new instance of the android.widget.RadioGroup$OnCheckedChangeListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onCheckedChanged(param0: android.widget.RadioGroup, param1: number): void;
				});
				public constructor();
				public onCheckedChanged(param0: android.widget.RadioGroup, param1: number): void;
			}
		}
	}
}

declare module android {
	export module widget {
		export class RatingBar extends android.widget.AbsSeekBar {
			public static class: java.lang.Class<android.widget.RatingBar>;
			public getAccessibilityClassName(): string;
			public getOnRatingBarChangeListener(): android.widget.RatingBar.OnRatingBarChangeListener;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public setOnRatingBarChangeListener(param0: android.widget.RatingBar.OnRatingBarChangeListener): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public setRating(param0: number): void;
			public onMeasure(param0: number, param1: number): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public setNumStars(param0: number): void;
			public setIsIndicator(param0: boolean): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public setMax(param0: number): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public sendAccessibilityEvent(param0: number): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public getStepSize(): number;
			public getRating(): number;
			public getNumStars(): number;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public setStepSize(param0: number): void;
			public isIndicator(): boolean;
			public constructor(param0: android.content.Context);
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
		}
		export module RatingBar {
			export class OnRatingBarChangeListener extends java.lang.Object {
				public static class: java.lang.Class<android.widget.RatingBar.OnRatingBarChangeListener>;
				/**
				 * Constructs a new instance of the android.widget.RatingBar$OnRatingBarChangeListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onRatingChanged(param0: android.widget.RatingBar, param1: number, param2: boolean): void;
				});
				public constructor();
				public onRatingChanged(param0: android.widget.RatingBar, param1: number, param2: boolean): void;
			}
		}
	}
}

declare module android {
	export module widget {
		export class RelativeLayout extends android.view.ViewGroup {
			public static class: java.lang.Class<android.widget.RelativeLayout>;
			public static ABOVE: number;
			public static ALIGN_BASELINE: number;
			public static ALIGN_BOTTOM: number;
			public static ALIGN_END: number;
			public static ALIGN_LEFT: number;
			public static ALIGN_PARENT_BOTTOM: number;
			public static ALIGN_PARENT_END: number;
			public static ALIGN_PARENT_LEFT: number;
			public static ALIGN_PARENT_RIGHT: number;
			public static ALIGN_PARENT_START: number;
			public static ALIGN_PARENT_TOP: number;
			public static ALIGN_RIGHT: number;
			public static ALIGN_START: number;
			public static ALIGN_TOP: number;
			public static BELOW: number;
			public static CENTER_HORIZONTAL: number;
			public static CENTER_IN_PARENT: number;
			public static CENTER_VERTICAL: number;
			public static END_OF: number;
			public static LEFT_OF: number;
			public static RIGHT_OF: number;
			public static START_OF: number;
			public static TRUE: number;
			public onLayout(param0: boolean, param1: number, param2: number, param3: number, param4: number): void;
			public isLayoutDirectionResolved(): boolean;
			public generateLayoutParams(param0: android.util.AttributeSet): android.view.ViewGroup.LayoutParams;
			public onStopNestedScroll(param0: android.view.View): void;
			public focusableViewAvailable(param0: android.view.View): void;
			public createContextMenu(param0: android.view.ContextMenu): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public onMeasure(param0: number, param1: number): void;
			public shouldDelayChildPressedState(): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public addView(param0: android.view.View, param1: number, param2: number): void;
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public requestSendAccessibilityEvent(param0: android.view.View, param1: android.view.accessibility.AccessibilityEvent): boolean;
			public childHasTransientStateChanged(param0: android.view.View, param1: boolean): void;
			public canResolveLayoutDirection(): boolean;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public onNestedScrollAccepted(param0: android.view.View, param1: android.view.View, param2: number): void;
			public keyboardNavigationClusterSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(param0: android.view.View): boolean;
			public onNestedFling(param0: android.view.View, param1: number, param2: number, param3: boolean): boolean;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public onDescendantInvalidated(param0: android.view.View, param1: android.view.View): void;
			public sendAccessibilityEvent(param0: number): void;
			/** @deprecated */
			public invalidateChild(param0: android.view.View, param1: android.graphics.Rect): void;
			public requestTransparentRegion(param0: android.view.View): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public getParentForAccessibility(): android.view.ViewParent;
			public canResolveTextAlignment(): boolean;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public getParent(): android.view.ViewParent;
			/** @deprecated */
			public invalidateChildInParent(param0: native.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public onStartNestedScroll(param0: android.view.View, param1: android.view.View, param2: number): boolean;
			public setHorizontalGravity(param0: number): void;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback): android.view.ActionMode;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public getLayoutDirection(): number;
			public getTextAlignment(): number;
			public requestChildFocus(param0: android.view.View, param1: android.view.View): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public generateLayoutParams(param0: android.view.ViewGroup.LayoutParams): android.view.ViewGroup.LayoutParams;
			public generateDefaultLayoutParams(): android.view.ViewGroup.LayoutParams;
			public requestChildRectangleOnScreen(param0: android.view.View, param1: android.graphics.Rect, param2: boolean): boolean;
			public onNestedScroll(param0: android.view.View, param1: number, param2: number, param3: number, param4: number): void;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: native.Array<number>): void;
			public setIgnoreGravity(param0: number): void;
			public setGravity(param0: number): void;
			public onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public getAccessibilityClassName(): string;
			public focusSearch(param0: number): android.view.View;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public recomputeViewAttributes(param0: android.view.View): void;
			public isLayoutRequested(): boolean;
			public generateLayoutParams(param0: android.util.AttributeSet): android.widget.RelativeLayout.LayoutParams;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public getGravity(): number;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			public setVerticalGravity(param0: number): void;
			public getBaseline(): number;
			public requestLayout(): void;
			public checkLayoutParams(param0: android.view.ViewGroup.LayoutParams): boolean;
			public childDrawableStateChanged(param0: android.view.View): void;
			public isTextAlignmentResolved(): boolean;
			public addView(param0: android.view.View): void;
			public removeView(param0: android.view.View): void;
			public clearChildFocus(param0: android.view.View): void;
			public canResolveTextDirection(): boolean;
			public getTextDirection(): number;
			public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			/** @deprecated */
			public requestFitSystemWindows(): void;
			public requestDisallowInterceptTouchEvent(param0: boolean): void;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public isTextDirectionResolved(): boolean;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public constructor(param0: android.content.Context);
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public addView(param0: android.view.View, param1: number, param2: android.view.ViewGroup.LayoutParams): void;
			public notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public requestFitSystemWindows(): void;
			public addView(param0: android.view.View, param1: number): void;
		}
		export module RelativeLayout {
			export class LayoutParams extends android.view.ViewGroup.MarginLayoutParams {
				public static class: java.lang.Class<android.widget.RelativeLayout.LayoutParams>;
				public alignWithParent: boolean;
				public constructor(param0: number, param1: number);
				public constructor(param0: android.view.ViewGroup.MarginLayoutParams);
				public constructor(param0: android.view.ViewGroup.LayoutParams);
				public debug(param0: string): string;
				public addRule(param0: number, param1: number): void;
				public resolveLayoutDirection(param0: number): void;
				public getRules(): native.Array<number>;
				public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
				public removeRule(param0: number): void;
				public constructor(param0: android.widget.RelativeLayout.LayoutParams);
				public getRule(param0: number): number;
				public addRule(param0: number): void;
			}
		}
	}
}

declare module android {
	export module widget {
		export class RemoteViews extends java.lang.Object implements android.os.Parcelable, android.view.LayoutInflater.Filter {
			public static class: java.lang.Class<android.widget.RemoteViews>;
			public static CREATOR: android.os.Parcelable.Creator<android.widget.RemoteViews>;
			public setAccessibilityTraversalBefore(param0: number, param1: number): void;
			public setIcon(param0: number, param1: string, param2: any): void;
			public setCharSequence(param0: number, param1: string, param2: string): void;
			public setString(param0: number, param1: string, param2: string): void;
			/** @deprecated */
			public clone(): android.widget.RemoteViews;
			public setAccessibilityTraversalAfter(param0: number, param1: number): void;
			public setImageViewIcon(param0: number, param1: any): void;
			public removeAllViews(param0: number): void;
			public setOnClickPendingIntent(param0: number, param1: android.app.PendingIntent): void;
			public setIntent(param0: number, param1: string, param2: android.content.Intent): void;
			public showNext(param0: number): void;
			public constructor(param0: string, param1: number);
			public writeToParcel(param0: android.os.Parcel, param1: number): void;
			public setChronometerCountDown(param0: number, param1: boolean): void;
			public setBundle(param0: number, param1: string, param2: android.os.Bundle): void;
			public setPendingIntentTemplate(param0: number, param1: android.app.PendingIntent): void;
			public setEmptyView(param0: number, param1: number): void;
			public setImageViewUri(param0: number, param1: android.net.Uri): void;
			public setImageViewResource(param0: number, param1: number): void;
			public setLong(param0: number, param1: string, param2: number): void;
			public setBitmap(param0: number, param1: string, param2: android.graphics.Bitmap): void;
			public addView(param0: number, param1: android.widget.RemoteViews): void;
			public onLoadClass(param0: java.lang.Class<any>): boolean;
			public setRelativeScrollPosition(param0: number, param1: number): void;
			public setViewPadding(param0: number, param1: number, param2: number, param3: number, param4: number): void;
			public clone(): any;
			public setContentDescription(param0: number, param1: string): void;
			public setViewVisibility(param0: number, param1: number): void;
			public describeContents(): number;
			public setRemoteAdapter(param0: number, param1: android.content.Intent): void;
			public setTextViewText(param0: number, param1: string): void;
			public setTextViewTextSize(param0: number, param1: number, param2: number): void;
			public setInt(param0: number, param1: string, param2: number): void;
			public setTextColor(param0: number, param1: number): void;
			public reapply(param0: android.content.Context, param1: android.view.View): void;
			public setTextViewCompoundDrawablesRelative(param0: number, param1: number, param2: number, param3: number, param4: number): void;
			public setImageViewBitmap(param0: number, param1: android.graphics.Bitmap): void;
			public getLayoutId(): number;
			public setLabelFor(param0: number, param1: number): void;
			public getPackage(): string;
			public constructor(param0: android.widget.RemoteViews, param1: android.widget.RemoteViews);
			public setUri(param0: number, param1: string, param2: android.net.Uri): void;
			public setDisplayedChild(param0: number, param1: number): void;
			public constructor(param0: android.os.Parcel);
			public setChar(param0: number, param1: string, param2: string): void;
			public showPrevious(param0: number): void;
			public setTextViewCompoundDrawables(param0: number, param1: number, param2: number, param3: number, param4: number): void;
			public setOnClickFillInIntent(param0: number, param1: android.content.Intent): void;
			public constructor(param0: android.widget.RemoteViews);
			public setChronometer(param0: number, param1: number, param2: string, param3: boolean): void;
			public setFloat(param0: number, param1: string, param2: number): void;
			public apply(param0: android.content.Context, param1: android.view.ViewGroup): android.view.View;
			public setProgressBar(param0: number, param1: number, param2: number, param3: boolean): void;
			/** @deprecated */
			public setRemoteAdapter(param0: number, param1: number, param2: android.content.Intent): void;
			public setDouble(param0: number, param1: string, param2: number): void;
			public setShort(param0: number, param1: string, param2: number): void;
			public setBoolean(param0: number, param1: string, param2: boolean): void;
			public setScrollPosition(param0: number, param1: number): void;
			public setByte(param0: number, param1: string, param2: number): void;
		}
		export module RemoteViews {
			export class ActionException extends java.lang.RuntimeException {
				public static class: java.lang.Class<android.widget.RemoteViews.ActionException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Exception);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
			export class RemoteView extends java.lang.Object implements java.lang.annotation.Annotation {
				public static class: java.lang.Class<android.widget.RemoteViews.RemoteView>;
				/**
				 * Constructs a new instance of the android.widget.RemoteViews$RemoteView interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					equals(param0: any): boolean;
					hashCode(): number;
					toString(): string;
					annotationType(): java.lang.Class<any>;
				});
				public constructor();
				public hashCode(): number;
				public equals(param0: any): boolean;
				public annotationType(): java.lang.Class<any>;
				public toString(): string;
			}
		}
	}
}

declare module android {
	export module widget {
		export abstract class RemoteViewsService extends android.app.Service {
			public static class: java.lang.Class<android.widget.RemoteViewsService>;
			public onTrimMemory(param0: number): void;
			public onBind(param0: android.content.Intent): android.os.IBinder;
			public constructor(param0: android.content.Context);
			public constructor();
			public onGetViewFactory(param0: android.content.Intent): android.widget.RemoteViewsService.RemoteViewsFactory;
		}
		export module RemoteViewsService {
			export class RemoteViewsFactory extends java.lang.Object {
				public static class: java.lang.Class<android.widget.RemoteViewsService.RemoteViewsFactory>;
				/**
				 * Constructs a new instance of the android.widget.RemoteViewsService$RemoteViewsFactory interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onCreate(): void;
					onDataSetChanged(): void;
					onDestroy(): void;
					getCount(): number;
					getViewAt(param0: number): android.widget.RemoteViews;
					getLoadingView(): android.widget.RemoteViews;
					getViewTypeCount(): number;
					getItemId(param0: number): number;
					hasStableIds(): boolean;
				});
				public constructor();
				public getViewTypeCount(): number;
				public hasStableIds(): boolean;
				public getViewAt(param0: number): android.widget.RemoteViews;
				public getItemId(param0: number): number;
				public onCreate(): void;
				public getLoadingView(): android.widget.RemoteViews;
				public onDataSetChanged(): void;
				public getCount(): number;
				public onDestroy(): void;
			}
		}
	}
}

declare module android {
	export module widget {
		export abstract class ResourceCursorAdapter extends android.widget.CursorAdapter {
			public static class: java.lang.Class<android.widget.ResourceCursorAdapter>;
			/** @deprecated */
			public constructor(param0: android.content.Context, param1: android.database.Cursor);
			public getFilter(): android.widget.Filter;
			public getDropDownView(param0: number, param1: android.view.View, param2: android.view.ViewGroup): android.view.View;
			public constructor(param0: android.content.Context, param1: android.database.Cursor, param2: number);
			public constructor(param0: android.content.Context, param1: android.database.Cursor, param2: boolean);
			public constructor();
			public newView(param0: android.content.Context, param1: android.database.Cursor, param2: android.view.ViewGroup): android.view.View;
			public constructor(param0: android.content.Context, param1: number, param2: android.database.Cursor, param3: boolean);
			public getDropDownViewTheme(): android.content.res.Resources.Theme;
			public constructor(param0: android.content.Context, param1: number, param2: android.database.Cursor, param3: number);
			public newDropDownView(param0: android.content.Context, param1: android.database.Cursor, param2: android.view.ViewGroup): android.view.View;
			public areAllItemsEnabled(): boolean;
			public setDropDownViewTheme(param0: android.content.res.Resources.Theme): void;
			public isEnabled(param0: number): boolean;
			public setDropDownViewResource(param0: number): void;
			/** @deprecated */
			public constructor(param0: android.content.Context, param1: number, param2: android.database.Cursor);
			public setViewResource(param0: number): void;
		}
	}
}

declare module android {
	export module widget {
		export abstract class ResourceCursorTreeAdapter extends android.widget.CursorTreeAdapter {
			public static class: java.lang.Class<android.widget.ResourceCursorTreeAdapter>;
			public getFilter(): android.widget.Filter;
			public constructor(param0: android.database.Cursor, param1: android.content.Context, param2: boolean);
			public registerDataSetObserver(param0: android.database.DataSetObserver): void;
			public getChildrenCount(param0: number): number;
			public newChildView(param0: android.content.Context, param1: android.database.Cursor, param2: boolean, param3: android.view.ViewGroup): android.view.View;
			public getChildTypeCount(): number;
			public hasStableIds(): boolean;
			public onGroupCollapsed(param0: number): void;
			public constructor(param0: android.content.Context, param1: android.database.Cursor, param2: number, param3: number);
			public getGroupView(param0: number, param1: boolean, param2: android.view.View, param3: android.view.ViewGroup): android.view.View;
			public getCombinedGroupId(param0: number): number;
			public getChild(param0: number, param1: number): any;
			public getChildView(param0: number, param1: number, param2: boolean, param3: android.view.View, param4: android.view.ViewGroup): android.view.View;
			public unregisterDataSetObserver(param0: android.database.DataSetObserver): void;
			public getGroup(param0: number): android.database.Cursor;
			public constructor(param0: android.content.Context, param1: android.database.Cursor, param2: number, param3: number, param4: number, param5: number);
			public getGroupId(param0: number): number;
			public getGroupType(param0: number): number;
			public getCombinedChildId(param0: number, param1: number): number;
			public getGroupCount(): number;
			public isEmpty(): boolean;
			public getChild(param0: number, param1: number): android.database.Cursor;
			public getChildId(param0: number, param1: number): number;
			public constructor();
			public constructor(param0: android.database.Cursor, param1: android.content.Context);
			public onGroupExpanded(param0: number): void;
			public constructor(param0: android.content.Context, param1: android.database.Cursor, param2: number, param3: number, param4: number);
			public isChildSelectable(param0: number, param1: number): boolean;
			public getGroup(param0: number): any;
			public getGroupTypeCount(): number;
			public areAllItemsEnabled(): boolean;
			public getChildType(param0: number, param1: number): number;
			public newGroupView(param0: android.content.Context, param1: android.database.Cursor, param2: boolean, param3: android.view.ViewGroup): android.view.View;
		}
	}
}

declare module android {
	export module widget {
		export class ScrollView extends android.widget.FrameLayout {
			public static class: java.lang.Class<android.widget.ScrollView>;
			public setSmoothScrollingEnabled(param0: boolean): void;
			public onStopNestedScroll(param0: android.view.View): void;
			public smoothScrollTo(param0: number, param1: number): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public onMeasure(param0: number, param1: number): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public getBottomFadingEdgeStrength(): number;
			public addView(param0: android.view.View, param1: number, param2: number): void;
			public requestSendAccessibilityEvent(param0: android.view.View, param1: android.view.accessibility.AccessibilityEvent): boolean;
			public childHasTransientStateChanged(param0: android.view.View, param1: boolean): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public onNestedScrollAccepted(param0: android.view.View, param1: android.view.View, param2: number): void;
			public keyboardNavigationClusterSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(param0: android.view.View): boolean;
			public scrollTo(param0: number, param1: number): void;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public onDescendantInvalidated(param0: android.view.View, param1: android.view.View): void;
			public onDetachedFromWindow(): void;
			public sendAccessibilityEvent(param0: number): void;
			/** @deprecated */
			public invalidateChild(param0: android.view.View, param1: android.graphics.Rect): void;
			public requestTransparentRegion(param0: android.view.View): void;
			public setFillViewport(param0: boolean): void;
			public canResolveTextAlignment(): boolean;
			public getParent(): android.view.ViewParent;
			public onStartNestedScroll(param0: android.view.View, param1: android.view.View, param2: number): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public computeVerticalScrollRange(): number;
			public getLayoutDirection(): number;
			public requestChildFocus(param0: android.view.View, param1: android.view.View): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public setOverScrollMode(param0: number): void;
			public getAccessibilityClassName(): string;
			public focusSearch(param0: number): android.view.View;
			public onInterceptTouchEvent(param0: android.view.MotionEvent): boolean;
			public recomputeViewAttributes(param0: android.view.View): void;
			public isLayoutRequested(): boolean;
			public computeScrollDeltaToGetChildRectOnScreen(param0: android.graphics.Rect): number;
			public isSmoothScrollingEnabled(): boolean;
			public getTopFadingEdgeStrength(): number;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public getMaxScrollAmount(): number;
			public requestLayout(): void;
			public addView(param0: android.view.View): void;
			public childDrawableStateChanged(param0: android.view.View): void;
			public canResolveTextDirection(): boolean;
			/** @deprecated */
			public requestFitSystemWindows(): void;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public constructor(param0: android.content.Context);
			public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public addView(param0: android.view.View, param1: number, param2: android.view.ViewGroup.LayoutParams): void;
			public requestFitSystemWindows(): void;
			public onOverScrolled(param0: number, param1: number, param2: boolean, param3: boolean): void;
			public onLayout(param0: boolean, param1: number, param2: number, param3: number, param4: number): void;
			public measureChildWithMargins(param0: android.view.View, param1: number, param2: number, param3: number, param4: number): void;
			public isLayoutDirectionResolved(): boolean;
			public focusableViewAvailable(param0: android.view.View): void;
			public createContextMenu(param0: android.view.ContextMenu): void;
			public shouldDelayChildPressedState(): boolean;
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public canResolveLayoutDirection(): boolean;
			public onNestedFling(param0: android.view.View, param1: number, param2: number, param3: boolean): boolean;
			public draw(param0: android.graphics.Canvas): void;
			public onRestoreInstanceState(param0: android.os.Parcelable): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public getParentForAccessibility(): android.view.ViewParent;
			public onRequestFocusInDescendants(param0: number, param1: android.graphics.Rect): boolean;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public arrowScroll(param0: number): boolean;
			/** @deprecated */
			public invalidateChildInParent(param0: native.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback): android.view.ActionMode;
			public computeVerticalScrollOffset(): number;
			public getTextAlignment(): number;
			public requestChildRectangleOnScreen(param0: android.view.View, param1: android.graphics.Rect, param2: boolean): boolean;
			public onNestedScroll(param0: android.view.View, param1: number, param2: number, param3: number, param4: number): void;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: native.Array<number>): void;
			public onSaveInstanceState(): android.os.Parcelable;
			public onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public onSizeChanged(param0: number, param1: number, param2: number, param3: number): void;
			public onGenericMotionEvent(param0: android.view.MotionEvent): boolean;
			public executeKeyEvent(param0: android.view.KeyEvent): boolean;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			public computeScroll(): void;
			public isTextAlignmentResolved(): boolean;
			public removeView(param0: android.view.View): void;
			public clearChildFocus(param0: android.view.View): void;
			public fullScroll(param0: number): boolean;
			public getTextDirection(): number;
			public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public fling(param0: number): void;
			public onTouchEvent(param0: android.view.MotionEvent): boolean;
			public requestDisallowInterceptTouchEvent(param0: boolean): void;
			public pageScroll(param0: number): boolean;
			public isTextDirectionResolved(): boolean;
			public smoothScrollBy(param0: number, param1: number): void;
			public measureChild(param0: android.view.View, param1: number, param2: number): void;
			public dispatchKeyEvent(param0: android.view.KeyEvent): boolean;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public isFillViewport(): boolean;
			public addView(param0: android.view.View, param1: number): void;
		}
	}
}

declare module android {
	export module widget {
		export class Scroller extends java.lang.Object {
			public static class: java.lang.Class<android.widget.Scroller>;
			public startScroll(param0: number, param1: number, param2: number, param3: number, param4: number): void;
			public timePassed(): number;
			public getFinalX(): number;
			public getCurrVelocity(): number;
			public setFriction(param0: number): void;
			public computeScrollOffset(): boolean;
			public startScroll(param0: number, param1: number, param2: number, param3: number): void;
			public getCurrX(): number;
			public getDuration(): number;
			public getStartY(): number;
			public constructor(param0: android.content.Context, param1: android.view.animation.Interpolator);
			public abortAnimation(): void;
			public getFinalY(): number;
			public fling(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number): void;
			public constructor(param0: android.content.Context, param1: android.view.animation.Interpolator, param2: boolean);
			public isFinished(): boolean;
			public getCurrY(): number;
			public constructor(param0: android.content.Context);
			public setFinalX(param0: number): void;
			public setFinalY(param0: number): void;
			public extendDuration(param0: number): void;
			public forceFinished(param0: boolean): void;
			public getStartX(): number;
		}
	}
}

declare module android {
	export module widget {
		export class SearchView extends android.widget.LinearLayout implements android.view.CollapsibleActionView {
			public static class: java.lang.Class<android.widget.SearchView>;
			public onStopNestedScroll(param0: android.view.View): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public onMeasure(param0: number, param1: number): void;
			public requestFocus(): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public isSubmitButtonEnabled(): boolean;
			public addView(param0: android.view.View, param1: number, param2: number): void;
			public requestSendAccessibilityEvent(param0: android.view.View, param1: android.view.accessibility.AccessibilityEvent): boolean;
			public childHasTransientStateChanged(param0: android.view.View, param1: boolean): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public setInputType(param0: number): void;
			public onNestedScrollAccepted(param0: android.view.View, param1: android.view.View, param2: number): void;
			public keyboardNavigationClusterSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(param0: android.view.View): boolean;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public onDescendantInvalidated(param0: android.view.View, param1: android.view.View): void;
			public setSubmitButtonEnabled(param0: boolean): void;
			public onDetachedFromWindow(): void;
			public sendAccessibilityEvent(param0: number): void;
			/** @deprecated */
			public invalidateChild(param0: android.view.View, param1: android.graphics.Rect): void;
			public requestTransparentRegion(param0: android.view.View): void;
			public canResolveTextAlignment(): boolean;
			public getParent(): android.view.ViewParent;
			public setImeOptions(param0: number): void;
			public onStartNestedScroll(param0: android.view.View, param1: android.view.View, param2: number): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public getLayoutDirection(): number;
			public requestChildFocus(param0: android.view.View, param1: android.view.View): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public getAccessibilityClassName(): string;
			public focusSearch(param0: number): android.view.View;
			public recomputeViewAttributes(param0: android.view.View): void;
			public setQueryRefinementEnabled(param0: boolean): void;
			public isLayoutRequested(): boolean;
			public requestFocus(param0: number, param1: android.graphics.Rect): boolean;
			public setSuggestionsAdapter(param0: android.widget.CursorAdapter): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public onActionViewExpanded(): void;
			public getInputType(): number;
			public requestLayout(): void;
			public childDrawableStateChanged(param0: android.view.View): void;
			public addView(param0: android.view.View): void;
			public canResolveTextDirection(): boolean;
			/** @deprecated */
			public requestFitSystemWindows(): void;
			public getMaxWidth(): number;
			public setQueryHint(param0: string): void;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public constructor(param0: android.content.Context);
			public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public addView(param0: android.view.View, param1: number, param2: android.view.ViewGroup.LayoutParams): void;
			public requestFitSystemWindows(): void;
			public setIconified(param0: boolean): void;
			public onLayout(param0: boolean, param1: number, param2: number, param3: number, param4: number): void;
			public isLayoutDirectionResolved(): boolean;
			public focusableViewAvailable(param0: android.view.View): void;
			public createContextMenu(param0: android.view.ContextMenu): void;
			public setOnSearchClickListener(param0: android.view.View.OnClickListener): void;
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public onActionViewCollapsed(): void;
			public canResolveLayoutDirection(): boolean;
			public setOnSuggestionListener(param0: android.widget.SearchView.OnSuggestionListener): void;
			public isIconified(): boolean;
			public onNestedFling(param0: android.view.View, param1: number, param2: number, param3: boolean): boolean;
			public getQuery(): string;
			public onRestoreInstanceState(param0: android.os.Parcelable): void;
			public setMaxWidth(param0: number): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public getParentForAccessibility(): android.view.ViewParent;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public requestFocus(param0: number): boolean;
			/** @deprecated */
			public invalidateChildInParent(param0: native.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public setOnCloseListener(param0: android.widget.SearchView.OnCloseListener): void;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback): android.view.ActionMode;
			public isQueryRefinementEnabled(): boolean;
			public getTextAlignment(): number;
			public onWindowFocusChanged(param0: boolean): void;
			public requestChildRectangleOnScreen(param0: android.view.View, param1: android.graphics.Rect, param2: boolean): boolean;
			public onNestedScroll(param0: android.view.View, param1: number, param2: number, param3: number, param4: number): void;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: native.Array<number>): void;
			public onSaveInstanceState(): android.os.Parcelable;
			public onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public getImeOptions(): number;
			public setOnQueryTextFocusChangeListener(param0: android.view.View.OnFocusChangeListener): void;
			public isIconfiedByDefault(): boolean;
			public setIconifiedByDefault(param0: boolean): void;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			public clearFocus(): void;
			public setSearchableInfo(param0: android.app.SearchableInfo): void;
			public setOnQueryTextListener(param0: android.widget.SearchView.OnQueryTextListener): void;
			public isTextAlignmentResolved(): boolean;
			public removeView(param0: android.view.View): void;
			public clearChildFocus(param0: android.view.View): void;
			public getQueryHint(): string;
			public getTextDirection(): number;
			public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public requestDisallowInterceptTouchEvent(param0: boolean): void;
			public isTextDirectionResolved(): boolean;
			public getSuggestionsAdapter(): android.widget.CursorAdapter;
			public setQuery(param0: string, param1: boolean): void;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public addView(param0: android.view.View, param1: number): void;
		}
		export module SearchView {
			export class OnCloseListener extends java.lang.Object {
				public static class: java.lang.Class<android.widget.SearchView.OnCloseListener>;
				/**
				 * Constructs a new instance of the android.widget.SearchView$OnCloseListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onClose(): boolean;
				});
				public constructor();
				public onClose(): boolean;
			}
			export class OnQueryTextListener extends java.lang.Object {
				public static class: java.lang.Class<android.widget.SearchView.OnQueryTextListener>;
				/**
				 * Constructs a new instance of the android.widget.SearchView$OnQueryTextListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onQueryTextSubmit(param0: string): boolean;
					onQueryTextChange(param0: string): boolean;
				});
				public constructor();
				public onQueryTextChange(param0: string): boolean;
				public onQueryTextSubmit(param0: string): boolean;
			}
			export class OnSuggestionListener extends java.lang.Object {
				public static class: java.lang.Class<android.widget.SearchView.OnSuggestionListener>;
				/**
				 * Constructs a new instance of the android.widget.SearchView$OnSuggestionListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onSuggestionSelect(param0: number): boolean;
					onSuggestionClick(param0: number): boolean;
				});
				public constructor();
				public onSuggestionSelect(param0: number): boolean;
				public onSuggestionClick(param0: number): boolean;
			}
		}
	}
}

declare module android {
	export module widget {
		export class SectionIndexer extends java.lang.Object {
			public static class: java.lang.Class<android.widget.SectionIndexer>;
			/**
			 * Constructs a new instance of the android.widget.SectionIndexer interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				getSections(): native.Array<any>;
				getPositionForSection(param0: number): number;
				getSectionForPosition(param0: number): number;
			});
			public constructor();
			public getSections(): native.Array<any>;
			public getPositionForSection(param0: number): number;
			public getSectionForPosition(param0: number): number;
		}
	}
}

declare module android {
	export module widget {
		export class SeekBar extends android.widget.AbsSeekBar {
			public static class: java.lang.Class<android.widget.SeekBar>;
			public getAccessibilityClassName(): string;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public setOnSeekBarChangeListener(param0: android.widget.SeekBar.OnSeekBarChangeListener): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public constructor(param0: android.content.Context);
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public sendAccessibilityEvent(param0: number): void;
		}
		export module SeekBar {
			export class OnSeekBarChangeListener extends java.lang.Object {
				public static class: java.lang.Class<android.widget.SeekBar.OnSeekBarChangeListener>;
				/**
				 * Constructs a new instance of the android.widget.SeekBar$OnSeekBarChangeListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onProgressChanged(param0: android.widget.SeekBar, param1: number, param2: boolean): void;
					onStartTrackingTouch(param0: android.widget.SeekBar): void;
					onStopTrackingTouch(param0: android.widget.SeekBar): void;
				});
				public constructor();
				public onStopTrackingTouch(param0: android.widget.SeekBar): void;
				public onProgressChanged(param0: android.widget.SeekBar, param1: number, param2: boolean): void;
				public onStartTrackingTouch(param0: android.widget.SeekBar): void;
			}
		}
	}
}

declare module android {
	export module widget {
		export class ShareActionProvider extends android.view.ActionProvider {
			public static class: java.lang.Class<android.widget.ShareActionProvider>;
			public static DEFAULT_SHARE_HISTORY_FILE_NAME: string;
			public setShareHistoryFileName(param0: string): void;
			/** @deprecated */
			public onCreateActionView(): android.view.View;
			public onCreateActionView(): android.view.View;
			public constructor(param0: android.content.Context);
			public setOnShareTargetSelectedListener(param0: android.widget.ShareActionProvider.OnShareTargetSelectedListener): void;
			public onPrepareSubMenu(param0: android.view.SubMenu): void;
			public onCreateActionView(param0: android.view.MenuItem): android.view.View;
			public hasSubMenu(): boolean;
			public setShareIntent(param0: android.content.Intent): void;
		}
		export module ShareActionProvider {
			export class OnShareTargetSelectedListener extends java.lang.Object {
				public static class: java.lang.Class<android.widget.ShareActionProvider.OnShareTargetSelectedListener>;
				/**
				 * Constructs a new instance of the android.widget.ShareActionProvider$OnShareTargetSelectedListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onShareTargetSelected(param0: android.widget.ShareActionProvider, param1: android.content.Intent): boolean;
				});
				public constructor();
				public onShareTargetSelected(param0: android.widget.ShareActionProvider, param1: android.content.Intent): boolean;
			}
		}
	}
}

declare module android {
	export module widget {
		export class SimpleAdapter extends android.widget.BaseAdapter implements android.widget.Filterable, android.widget.ThemedSpinnerAdapter {
			public static class: java.lang.Class<android.widget.SimpleAdapter>;
			public getItem(param0: number): any;
			public getFilter(): android.widget.Filter;
			public registerDataSetObserver(param0: android.database.DataSetObserver): void;
			public getItemId(param0: number): number;
			public getAutofillOptions(): native.Array<string>;
			public setViewText(param0: android.widget.TextView, param1: string): void;
			public hasStableIds(): boolean;
			public getDropDownViewTheme(): android.content.res.Resources.Theme;
			public setViewBinder(param0: android.widget.SimpleAdapter.ViewBinder): void;
			public unregisterDataSetObserver(param0: android.database.DataSetObserver): void;
			public setViewImage(param0: android.widget.ImageView, param1: number): void;
			public setDropDownViewTheme(param0: android.content.res.Resources.Theme): void;
			public isEnabled(param0: number): boolean;
			public getCount(): number;
			public getViewBinder(): android.widget.SimpleAdapter.ViewBinder;
			public getDropDownView(param0: number, param1: android.view.View, param2: android.view.ViewGroup): android.view.View;
			public isEmpty(): boolean;
			public constructor();
			public getView(param0: number, param1: android.view.View, param2: android.view.ViewGroup): android.view.View;
			public constructor(param0: android.content.Context, param1: java.util.List<any>, param2: number, param3: native.Array<string>, param4: native.Array<number>);
			public setViewImage(param0: android.widget.ImageView, param1: string): void;
			public getItemViewType(param0: number): number;
			public getViewTypeCount(): number;
			public areAllItemsEnabled(): boolean;
			public setDropDownViewResource(param0: number): void;
		}
		export module SimpleAdapter {
			export class ViewBinder extends java.lang.Object {
				public static class: java.lang.Class<android.widget.SimpleAdapter.ViewBinder>;
				/**
				 * Constructs a new instance of the android.widget.SimpleAdapter$ViewBinder interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					setViewValue(param0: android.view.View, param1: any, param2: string): boolean;
				});
				public constructor();
				public setViewValue(param0: android.view.View, param1: any, param2: string): boolean;
			}
		}
	}
}

declare module android {
	export module widget {
		export class SimpleCursorAdapter extends android.widget.ResourceCursorAdapter {
			public static class: java.lang.Class<android.widget.SimpleCursorAdapter>;
			/** @deprecated */
			public constructor(param0: android.content.Context, param1: android.database.Cursor);
			public getCursorToStringConverter(): android.widget.SimpleCursorAdapter.CursorToStringConverter;
			public getFilter(): android.widget.Filter;
			public setStringConversionColumn(param0: number): void;
			public changeCursorAndColumns(param0: android.database.Cursor, param1: native.Array<string>, param2: native.Array<number>): void;
			/** @deprecated */
			public constructor(param0: android.content.Context, param1: number, param2: android.database.Cursor, param3: native.Array<string>, param4: native.Array<number>);
			public constructor(param0: android.content.Context, param1: android.database.Cursor, param2: boolean);
			public setViewText(param0: android.widget.TextView, param1: string): void;
			public constructor(param0: android.content.Context, param1: number, param2: android.database.Cursor, param3: boolean);
			public setCursorToStringConverter(param0: android.widget.SimpleCursorAdapter.CursorToStringConverter): void;
			public getDropDownViewTheme(): android.content.res.Resources.Theme;
			public constructor(param0: android.content.Context, param1: number, param2: android.database.Cursor, param3: number);
			public isEnabled(param0: number): boolean;
			public setDropDownViewTheme(param0: android.content.res.Resources.Theme): void;
			public constructor(param0: android.content.Context, param1: number, param2: android.database.Cursor, param3: native.Array<string>, param4: native.Array<number>, param5: number);
			public getDropDownView(param0: number, param1: android.view.View, param2: android.view.ViewGroup): android.view.View;
			public setViewBinder(param0: android.widget.SimpleCursorAdapter.ViewBinder): void;
			public constructor(param0: android.content.Context, param1: android.database.Cursor, param2: number);
			public constructor();
			public bindView(param0: android.view.View, param1: android.content.Context, param2: android.database.Cursor): void;
			public swapCursor(param0: android.database.Cursor): android.database.Cursor;
			public setViewImage(param0: android.widget.ImageView, param1: string): void;
			public areAllItemsEnabled(): boolean;
			public convertToString(param0: android.database.Cursor): string;
			/** @deprecated */
			public constructor(param0: android.content.Context, param1: number, param2: android.database.Cursor);
			public getStringConversionColumn(): number;
			public getViewBinder(): android.widget.SimpleCursorAdapter.ViewBinder;
		}
		export module SimpleCursorAdapter {
			export class CursorToStringConverter extends java.lang.Object {
				public static class: java.lang.Class<android.widget.SimpleCursorAdapter.CursorToStringConverter>;
				/**
				 * Constructs a new instance of the android.widget.SimpleCursorAdapter$CursorToStringConverter interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					convertToString(param0: android.database.Cursor): string;
				});
				public constructor();
				public convertToString(param0: android.database.Cursor): string;
			}
			export class ViewBinder extends java.lang.Object {
				public static class: java.lang.Class<android.widget.SimpleCursorAdapter.ViewBinder>;
				/**
				 * Constructs a new instance of the android.widget.SimpleCursorAdapter$ViewBinder interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					setViewValue(param0: android.view.View, param1: android.database.Cursor, param2: number): boolean;
				});
				public constructor();
				public setViewValue(param0: android.view.View, param1: android.database.Cursor, param2: number): boolean;
			}
		}
	}
}

declare module android {
	export module widget {
		export abstract class SimpleCursorTreeAdapter extends android.widget.ResourceCursorTreeAdapter {
			public static class: java.lang.Class<android.widget.SimpleCursorTreeAdapter>;
			public getFilter(): android.widget.Filter;
			public constructor(param0: android.database.Cursor, param1: android.content.Context, param2: boolean);
			public registerDataSetObserver(param0: android.database.DataSetObserver): void;
			public constructor(param0: android.content.Context, param1: android.database.Cursor, param2: number, param3: number, param4: native.Array<string>, param5: native.Array<number>, param6: number, param7: number, param8: native.Array<string>, param9: native.Array<number>);
			public getChildrenCount(param0: number): number;
			public setViewText(param0: android.widget.TextView, param1: string): void;
			public getChildTypeCount(): number;
			public hasStableIds(): boolean;
			public onGroupCollapsed(param0: number): void;
			public constructor(param0: android.content.Context, param1: android.database.Cursor, param2: number, param3: number);
			public getGroupView(param0: number, param1: boolean, param2: android.view.View, param3: android.view.ViewGroup): android.view.View;
			public getCombinedGroupId(param0: number): number;
			public getChild(param0: number, param1: number): any;
			public getChildView(param0: number, param1: number, param2: boolean, param3: android.view.View, param4: android.view.ViewGroup): android.view.View;
			public unregisterDataSetObserver(param0: android.database.DataSetObserver): void;
			public getGroup(param0: number): android.database.Cursor;
			public constructor(param0: android.content.Context, param1: android.database.Cursor, param2: number, param3: number, param4: number, param5: number);
			public getGroupId(param0: number): number;
			public getGroupType(param0: number): number;
			public getCombinedChildId(param0: number, param1: number): number;
			public constructor(param0: android.content.Context, param1: android.database.Cursor, param2: number, param3: number, param4: native.Array<string>, param5: native.Array<number>, param6: number, param7: native.Array<string>, param8: native.Array<number>);
			public getGroupCount(): number;
			public isEmpty(): boolean;
			public getChild(param0: number, param1: number): android.database.Cursor;
			public getChildId(param0: number, param1: number): number;
			public bindChildView(param0: android.view.View, param1: android.content.Context, param2: android.database.Cursor, param3: boolean): void;
			public constructor();
			public constructor(param0: android.database.Cursor, param1: android.content.Context);
			public constructor(param0: android.content.Context, param1: android.database.Cursor, param2: number, param3: native.Array<string>, param4: native.Array<number>, param5: number, param6: native.Array<string>, param7: native.Array<number>);
			public onGroupExpanded(param0: number): void;
			public constructor(param0: android.content.Context, param1: android.database.Cursor, param2: number, param3: number, param4: number);
			public isChildSelectable(param0: number, param1: number): boolean;
			public setViewImage(param0: android.widget.ImageView, param1: string): void;
			public getGroup(param0: number): any;
			public setViewBinder(param0: android.widget.SimpleCursorTreeAdapter.ViewBinder): void;
			public getGroupTypeCount(): number;
			public areAllItemsEnabled(): boolean;
			public bindGroupView(param0: android.view.View, param1: android.content.Context, param2: android.database.Cursor, param3: boolean): void;
			public getChildType(param0: number, param1: number): number;
			public getViewBinder(): android.widget.SimpleCursorTreeAdapter.ViewBinder;
		}
		export module SimpleCursorTreeAdapter {
			export class ViewBinder extends java.lang.Object {
				public static class: java.lang.Class<android.widget.SimpleCursorTreeAdapter.ViewBinder>;
				/**
				 * Constructs a new instance of the android.widget.SimpleCursorTreeAdapter$ViewBinder interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					setViewValue(param0: android.view.View, param1: android.database.Cursor, param2: number): boolean;
				});
				public constructor();
				public setViewValue(param0: android.view.View, param1: android.database.Cursor, param2: number): boolean;
			}
		}
	}
}

declare module android {
	export module widget {
		export class SimpleExpandableListAdapter extends android.widget.BaseExpandableListAdapter {
			public static class: java.lang.Class<android.widget.SimpleExpandableListAdapter>;
			public registerDataSetObserver(param0: android.database.DataSetObserver): void;
			public getChildrenCount(param0: number): number;
			public hasStableIds(): boolean;
			public getChildTypeCount(): number;
			public onGroupCollapsed(param0: number): void;
			public constructor(param0: android.content.Context, param1: java.util.List<any>, param2: number, param3: number, param4: native.Array<string>, param5: native.Array<number>, param6: java.util.List<any>, param7: number, param8: number, param9: native.Array<string>, param10: native.Array<number>);
			public getGroupView(param0: number, param1: boolean, param2: android.view.View, param3: android.view.ViewGroup): android.view.View;
			public getCombinedGroupId(param0: number): number;
			public getChild(param0: number, param1: number): any;
			public getChildView(param0: number, param1: number, param2: boolean, param3: android.view.View, param4: android.view.ViewGroup): android.view.View;
			public unregisterDataSetObserver(param0: android.database.DataSetObserver): void;
			public getGroupId(param0: number): number;
			public getGroupType(param0: number): number;
			public newChildView(param0: boolean, param1: android.view.ViewGroup): android.view.View;
			public getCombinedChildId(param0: number, param1: number): number;
			public getGroupCount(): number;
			public isEmpty(): boolean;
			public constructor(param0: android.content.Context, param1: java.util.List<any>, param2: number, param3: number, param4: native.Array<string>, param5: native.Array<number>, param6: java.util.List<any>, param7: number, param8: native.Array<string>, param9: native.Array<number>);
			public getChildId(param0: number, param1: number): number;
			public constructor();
			public newGroupView(param0: boolean, param1: android.view.ViewGroup): android.view.View;
			public onGroupExpanded(param0: number): void;
			public isChildSelectable(param0: number, param1: number): boolean;
			public constructor(param0: android.content.Context, param1: java.util.List<any>, param2: number, param3: native.Array<string>, param4: native.Array<number>, param5: java.util.List<any>, param6: number, param7: native.Array<string>, param8: native.Array<number>);
			public getGroup(param0: number): any;
			public getGroupTypeCount(): number;
			public areAllItemsEnabled(): boolean;
			public getChildType(param0: number, param1: number): number;
		}
	}
}

declare module android {
	export module widget {
		export class SlidingDrawer extends android.view.ViewGroup {
			public static class: java.lang.Class<android.widget.SlidingDrawer>;
			public static ORIENTATION_HORIZONTAL: number;
			public static ORIENTATION_VERTICAL: number;
			public onLayout(param0: boolean, param1: number, param2: number, param3: number, param4: number): void;
			public isLayoutDirectionResolved(): boolean;
			public onStopNestedScroll(param0: android.view.View): void;
			public focusableViewAvailable(param0: android.view.View): void;
			public createContextMenu(param0: android.view.ContextMenu): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public onMeasure(param0: number, param1: number): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public addView(param0: android.view.View, param1: number, param2: number): void;
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public requestSendAccessibilityEvent(param0: android.view.View, param1: android.view.accessibility.AccessibilityEvent): boolean;
			public onFinishInflate(): void;
			public animateToggle(): void;
			public childHasTransientStateChanged(param0: android.view.View, param1: boolean): void;
			public canResolveLayoutDirection(): boolean;
			public getContent(): android.view.View;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public onNestedScrollAccepted(param0: android.view.View, param1: android.view.View, param2: number): void;
			public keyboardNavigationClusterSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(param0: android.view.View): boolean;
			public onNestedFling(param0: android.view.View, param1: number, param2: number, param3: boolean): boolean;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public onDescendantInvalidated(param0: android.view.View, param1: android.view.View): void;
			public sendAccessibilityEvent(param0: number): void;
			/** @deprecated */
			public invalidateChild(param0: android.view.View, param1: android.graphics.Rect): void;
			public animateClose(): void;
			public requestTransparentRegion(param0: android.view.View): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public getParentForAccessibility(): android.view.ViewParent;
			public canResolveTextAlignment(): boolean;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public getParent(): android.view.ViewParent;
			/** @deprecated */
			public invalidateChildInParent(param0: native.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public onStartNestedScroll(param0: android.view.View, param1: android.view.View, param2: number): boolean;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback): android.view.ActionMode;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public dispatchDraw(param0: android.graphics.Canvas): void;
			public getHandle(): android.view.View;
			public getLayoutDirection(): number;
			public getTextAlignment(): number;
			public requestChildFocus(param0: android.view.View, param1: android.view.View): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public isOpened(): boolean;
			public requestChildRectangleOnScreen(param0: android.view.View, param1: android.graphics.Rect, param2: boolean): boolean;
			public onNestedScroll(param0: android.view.View, param1: number, param2: number, param3: number, param4: number): void;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: native.Array<number>): void;
			public onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public getAccessibilityClassName(): string;
			public focusSearch(param0: number): android.view.View;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public onInterceptTouchEvent(param0: android.view.MotionEvent): boolean;
			public recomputeViewAttributes(param0: android.view.View): void;
			public isLayoutRequested(): boolean;
			public toggle(): void;
			public isMoving(): boolean;
			public lock(): void;
			public setOnDrawerOpenListener(param0: android.widget.SlidingDrawer.OnDrawerOpenListener): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			public close(): void;
			public requestLayout(): void;
			public childDrawableStateChanged(param0: android.view.View): void;
			public isTextAlignmentResolved(): boolean;
			public addView(param0: android.view.View): void;
			public removeView(param0: android.view.View): void;
			public clearChildFocus(param0: android.view.View): void;
			public animateOpen(): void;
			public canResolveTextDirection(): boolean;
			public getTextDirection(): number;
			public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public onTouchEvent(param0: android.view.MotionEvent): boolean;
			/** @deprecated */
			public requestFitSystemWindows(): void;
			public requestDisallowInterceptTouchEvent(param0: boolean): void;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public isTextDirectionResolved(): boolean;
			public unlock(): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public setOnDrawerScrollListener(param0: android.widget.SlidingDrawer.OnDrawerScrollListener): void;
			public constructor(param0: android.content.Context);
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public open(): void;
			public setOnDrawerCloseListener(param0: android.widget.SlidingDrawer.OnDrawerCloseListener): void;
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public addView(param0: android.view.View, param1: number, param2: android.view.ViewGroup.LayoutParams): void;
			public notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public requestFitSystemWindows(): void;
			public addView(param0: android.view.View, param1: number): void;
		}
		export module SlidingDrawer {
			export class OnDrawerCloseListener extends java.lang.Object {
				public static class: java.lang.Class<android.widget.SlidingDrawer.OnDrawerCloseListener>;
				/**
				 * Constructs a new instance of the android.widget.SlidingDrawer$OnDrawerCloseListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onDrawerClosed(): void;
				});
				public constructor();
				public onDrawerClosed(): void;
			}
			export class OnDrawerOpenListener extends java.lang.Object {
				public static class: java.lang.Class<android.widget.SlidingDrawer.OnDrawerOpenListener>;
				/**
				 * Constructs a new instance of the android.widget.SlidingDrawer$OnDrawerOpenListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onDrawerOpened(): void;
				});
				public constructor();
				public onDrawerOpened(): void;
			}
			export class OnDrawerScrollListener extends java.lang.Object {
				public static class: java.lang.Class<android.widget.SlidingDrawer.OnDrawerScrollListener>;
				/**
				 * Constructs a new instance of the android.widget.SlidingDrawer$OnDrawerScrollListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onScrollStarted(): void;
					onScrollEnded(): void;
				});
				public constructor();
				public onScrollStarted(): void;
				public onScrollEnded(): void;
			}
		}
	}
}

declare module android {
	export module widget {
		export class Space extends android.view.View {
			public static class: java.lang.Class<android.widget.Space>;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public onMeasure(param0: number, param1: number): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public constructor(param0: android.content.Context);
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public draw(param0: android.graphics.Canvas): void;
			public sendAccessibilityEvent(param0: number): void;
		}
	}
}

declare module android {
	export module widget {
		export class Spinner extends android.widget.AbsSpinner implements android.content.DialogInterface.OnClickListener {
			public static class: java.lang.Class<android.widget.Spinner>;
			public static MODE_DIALOG: number;
			public static MODE_DROPDOWN: number;
			public onStopNestedScroll(param0: android.view.View): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public getPopupBackground(): android.graphics.drawable.Drawable;
			public onMeasure(param0: number, param1: number): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public setOnItemClickListener(param0: android.widget.AdapterView.OnItemClickListener): void;
			public addView(param0: android.view.View, param1: number, param2: number): void;
			public requestSendAccessibilityEvent(param0: android.view.View, param1: android.view.accessibility.AccessibilityEvent): boolean;
			public childHasTransientStateChanged(param0: android.view.View, param1: boolean): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public onNestedScrollAccepted(param0: android.view.View, param1: android.view.View, param2: number): void;
			public keyboardNavigationClusterSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(param0: android.view.View): boolean;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public setEnabled(param0: boolean): void;
			public onDescendantInvalidated(param0: android.view.View, param1: android.view.View): void;
			public onDetachedFromWindow(): void;
			public sendAccessibilityEvent(param0: number): void;
			public onResolvePointerIcon(param0: android.view.MotionEvent, param1: number): any;
			/** @deprecated */
			public invalidateChild(param0: android.view.View, param1: android.graphics.Rect): void;
			public requestTransparentRegion(param0: android.view.View): void;
			public canResolveTextAlignment(): boolean;
			public setDropDownVerticalOffset(param0: number): void;
			public getParent(): android.view.ViewParent;
			public onStartNestedScroll(param0: android.view.View, param1: android.view.View, param2: number): boolean;
			public getPopupContext(): android.content.Context;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public getLayoutDirection(): number;
			public setAdapter(param0: android.widget.SpinnerAdapter): void;
			public requestChildFocus(param0: android.view.View, param1: android.view.View): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public performClick(): boolean;
			public getAccessibilityClassName(): string;
			public focusSearch(param0: number): android.view.View;
			public recomputeViewAttributes(param0: android.view.View): void;
			public isLayoutRequested(): boolean;
			public getDropDownWidth(): number;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number, param4: number);
			public setPopupBackgroundDrawable(param0: android.graphics.drawable.Drawable): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public requestLayout(): void;
			public childDrawableStateChanged(param0: android.view.View): void;
			public addView(param0: android.view.View): void;
			public canResolveTextDirection(): boolean;
			/** @deprecated */
			public requestFitSystemWindows(): void;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public constructor(param0: android.content.Context);
			public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public addView(param0: android.view.View, param1: number, param2: android.view.ViewGroup.LayoutParams): void;
			public requestFitSystemWindows(): void;
			public onClick(param0: android.content.DialogInterface, param1: number): void;
			public onLayout(param0: boolean, param1: number, param2: number, param3: number, param4: number): void;
			public getPrompt(): string;
			public isLayoutDirectionResolved(): boolean;
			public focusableViewAvailable(param0: android.view.View): void;
			public createContextMenu(param0: android.view.ContextMenu): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number, param4: number, param5: android.content.res.Resources.Theme);
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public canResolveLayoutDirection(): boolean;
			public getDropDownVerticalOffset(): number;
			public onNestedFling(param0: android.view.View, param1: number, param2: number, param3: boolean): boolean;
			public setDropDownWidth(param0: number): void;
			public onRestoreInstanceState(param0: android.os.Parcelable): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public getParentForAccessibility(): android.view.ViewParent;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			/** @deprecated */
			public invalidateChildInParent(param0: native.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public constructor(param0: android.content.Context, param1: number);
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback): android.view.ActionMode;
			public getTextAlignment(): number;
			public requestChildRectangleOnScreen(param0: android.view.View, param1: android.graphics.Rect, param2: boolean): boolean;
			public onNestedScroll(param0: android.view.View, param1: number, param2: number, param3: number, param4: number): void;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: native.Array<number>): void;
			public onSaveInstanceState(): android.os.Parcelable;
			public setGravity(param0: number): void;
			public onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public setAdapter(param0: any): void;
			public setDropDownHorizontalOffset(param0: number): void;
			public getDropDownHorizontalOffset(): number;
			public getGravity(): number;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			public getBaseline(): number;
			public setPromptId(param0: number): void;
			public setPrompt(param0: string): void;
			public isTextAlignmentResolved(): boolean;
			public removeView(param0: android.view.View): void;
			public clearChildFocus(param0: android.view.View): void;
			public getTextDirection(): number;
			public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public onTouchEvent(param0: android.view.MotionEvent): boolean;
			public requestDisallowInterceptTouchEvent(param0: boolean): void;
			public isTextDirectionResolved(): boolean;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public setPopupBackgroundResource(param0: number): void;
			public addView(param0: android.view.View, param1: number): void;
		}
	}
}

declare module android {
	export module widget {
		export class SpinnerAdapter extends java.lang.Object implements android.widget.Adapter {
			public static class: java.lang.Class<android.widget.SpinnerAdapter>;
			/**
			 * Constructs a new instance of the android.widget.SpinnerAdapter interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				getDropDownView(param0: number, param1: android.view.View, param2: android.view.ViewGroup): android.view.View;
				registerDataSetObserver(param0: android.database.DataSetObserver): void;
				unregisterDataSetObserver(param0: android.database.DataSetObserver): void;
				getCount(): number;
				getItem(param0: number): any;
				getItemId(param0: number): number;
				hasStableIds(): boolean;
				getView(param0: number, param1: android.view.View, param2: android.view.ViewGroup): android.view.View;
				getItemViewType(param0: number): number;
				getViewTypeCount(): number;
				isEmpty(): boolean;
				getAutofillOptions(): native.Array<string>;
			});
			public constructor();
			public static NO_SELECTION: number;
			public static IGNORE_ITEM_VIEW_TYPE: number;
			public unregisterDataSetObserver(param0: android.database.DataSetObserver): void;
			public getItem(param0: number): any;
			public getDropDownView(param0: number, param1: android.view.View, param2: android.view.ViewGroup): android.view.View;
			public getView(param0: number, param1: android.view.View, param2: android.view.ViewGroup): android.view.View;
			public registerDataSetObserver(param0: android.database.DataSetObserver): void;
			public getItemViewType(param0: number): number;
			public isEmpty(): boolean;
			public getViewTypeCount(): number;
			public getItemId(param0: number): number;
			public getAutofillOptions(): native.Array<string>;
			public hasStableIds(): boolean;
			public getCount(): number;
		}
	}
}

declare module android {
	export module widget {
		export class StackView extends android.widget.AdapterViewAnimator {
			public static class: java.lang.Class<android.widget.StackView>;
			public onLayout(param0: boolean, param1: number, param2: number, param3: number, param4: number): void;
			public isLayoutDirectionResolved(): boolean;
			public onStopNestedScroll(param0: android.view.View): void;
			public focusableViewAvailable(param0: android.view.View): void;
			public createContextMenu(param0: android.view.ContextMenu): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public onMeasure(param0: number, param1: number): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public addView(param0: android.view.View, param1: number, param2: number): void;
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public requestSendAccessibilityEvent(param0: android.view.View, param1: android.view.accessibility.AccessibilityEvent): boolean;
			public childHasTransientStateChanged(param0: android.view.View, param1: boolean): void;
			public canResolveLayoutDirection(): boolean;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public onNestedScrollAccepted(param0: android.view.View, param1: android.view.View, param2: number): void;
			public keyboardNavigationClusterSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(param0: android.view.View): boolean;
			public onNestedFling(param0: android.view.View, param1: number, param2: number, param3: boolean): boolean;
			public fyiWillBeAdvancedByHostKThx(): void;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public onDescendantInvalidated(param0: android.view.View, param1: android.view.View): void;
			public sendAccessibilityEvent(param0: number): void;
			/** @deprecated */
			public invalidateChild(param0: android.view.View, param1: android.graphics.Rect): void;
			public requestTransparentRegion(param0: android.view.View): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public getParentForAccessibility(): android.view.ViewParent;
			public canResolveTextAlignment(): boolean;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public getParent(): android.view.ViewParent;
			/** @deprecated */
			public invalidateChildInParent(param0: native.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public onStartNestedScroll(param0: android.view.View, param1: android.view.View, param2: number): boolean;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback): android.view.ActionMode;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public dispatchDraw(param0: android.graphics.Canvas): void;
			public getLayoutDirection(): number;
			public getTextAlignment(): number;
			public requestChildFocus(param0: android.view.View, param1: android.view.View): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public requestChildRectangleOnScreen(param0: android.view.View, param1: android.graphics.Rect, param2: boolean): boolean;
			public onNestedScroll(param0: android.view.View, param1: number, param2: number, param3: number, param4: number): void;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: native.Array<number>): void;
			public onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public getAccessibilityClassName(): string;
			public focusSearch(param0: number): android.view.View;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public onInterceptTouchEvent(param0: android.view.MotionEvent): boolean;
			public recomputeViewAttributes(param0: android.view.View): void;
			public showNext(): void;
			public isLayoutRequested(): boolean;
			public advance(): void;
			public onGenericMotionEvent(param0: android.view.MotionEvent): boolean;
			public showPrevious(): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			public requestLayout(): void;
			public childDrawableStateChanged(param0: android.view.View): void;
			public isTextAlignmentResolved(): boolean;
			public addView(param0: android.view.View): void;
			public removeView(param0: android.view.View): void;
			public clearChildFocus(param0: android.view.View): void;
			public canResolveTextDirection(): boolean;
			public getTextDirection(): number;
			public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public onTouchEvent(param0: android.view.MotionEvent): boolean;
			/** @deprecated */
			public requestFitSystemWindows(): void;
			public requestDisallowInterceptTouchEvent(param0: boolean): void;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public isTextDirectionResolved(): boolean;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public constructor(param0: android.content.Context);
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public addView(param0: android.view.View, param1: number, param2: android.view.ViewGroup.LayoutParams): void;
			public notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public requestFitSystemWindows(): void;
			public addView(param0: android.view.View, param1: number): void;
		}
	}
}

declare module android {
	export module widget {
		export class Switch extends android.widget.CompoundButton {
			public static class: java.lang.Class<android.widget.Switch>;
			public setThumbTintList(param0: android.content.res.ColorStateList): void;
			public getTextOn(): string;
			public onLayout(param0: boolean, param1: number, param2: number, param3: number, param4: number): void;
			public getSwitchPadding(): number;
			public getTrackDrawable(): android.graphics.drawable.Drawable;
			public drawableStateChanged(): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public onMeasure(param0: number, param1: number): void;
			public setTrackDrawable(param0: android.graphics.drawable.Drawable): void;
			public getThumbDrawable(): android.graphics.drawable.Drawable;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public setSplitTrack(param0: boolean): void;
			public getTrackTintList(): android.content.res.ColorStateList;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public setSwitchTypeface(param0: android.graphics.Typeface): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public setSwitchTextAppearance(param0: android.content.Context, param1: number): void;
			public draw(param0: android.graphics.Canvas): void;
			public sendAccessibilityEvent(param0: number): void;
			public setChecked(param0: boolean): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public verifyDrawable(param0: android.graphics.drawable.Drawable): boolean;
			public setSwitchTypeface(param0: android.graphics.Typeface, param1: number): void;
			public onProvideAutofillStructure(param0: any, param1: number): void;
			public setTrackTintMode(param0: android.graphics.PorterDuff.Mode): void;
			public onProvideStructure(param0: any): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public setSwitchPadding(param0: number): void;
			public getTrackTintMode(): android.graphics.PorterDuff.Mode;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public onDraw(param0: android.graphics.Canvas): void;
			public setThumbTextPadding(param0: number): void;
			public getShowText(): boolean;
			public getSplitTrack(): boolean;
			public getAccessibilityClassName(): string;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public setThumbResource(param0: number): void;
			public toggle(): void;
			public onCreateDrawableState(param0: number): native.Array<number>;
			public getCompoundPaddingRight(): number;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public jumpDrawablesToCurrentState(): void;
			public onPreDraw(): boolean;
			public setTrackTintList(param0: android.content.res.ColorStateList): void;
			public setSwitchMinWidth(param0: number): void;
			public getThumbTextPadding(): number;
			public isChecked(): boolean;
			public getCompoundPaddingLeft(): number;
			public onTouchEvent(param0: android.view.MotionEvent): boolean;
			public getThumbTintMode(): android.graphics.PorterDuff.Mode;
			public getThumbTintList(): android.content.res.ColorStateList;
			public setTrackResource(param0: number): void;
			public setTextOn(param0: string): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public setTextOff(param0: string): void;
			public setThumbTintMode(param0: android.graphics.PorterDuff.Mode): void;
			public drawableHotspotChanged(param0: number, param1: number): void;
			public getTextOff(): string;
			public getSwitchMinWidth(): number;
			public constructor(param0: android.content.Context);
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public setThumbDrawable(param0: android.graphics.drawable.Drawable): void;
			public setShowText(param0: boolean): void;
		}
	}
}

declare module android {
	export module widget {
		export class TabHost extends android.widget.FrameLayout implements android.view.ViewTreeObserver.OnTouchModeChangeListener {
			public static class: java.lang.Class<android.widget.TabHost>;
			public isLayoutDirectionResolved(): boolean;
			public onStopNestedScroll(param0: android.view.View): void;
			public focusableViewAvailable(param0: android.view.View): void;
			public createContextMenu(param0: android.view.ContextMenu): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public getCurrentTabView(): android.view.View;
			public addView(param0: android.view.View, param1: number, param2: number): void;
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public requestSendAccessibilityEvent(param0: android.view.View, param1: android.view.accessibility.AccessibilityEvent): boolean;
			public childHasTransientStateChanged(param0: android.view.View, param1: boolean): void;
			public canResolveLayoutDirection(): boolean;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public onNestedScrollAccepted(param0: android.view.View, param1: android.view.View, param2: number): void;
			public keyboardNavigationClusterSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(param0: android.view.View): boolean;
			public onNestedFling(param0: android.view.View, param1: number, param2: number, param3: boolean): boolean;
			public setCurrentTab(param0: number): void;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public onDescendantInvalidated(param0: android.view.View, param1: android.view.View): void;
			public sendAccessibilityEvent(param0: number): void;
			/** @deprecated */
			public invalidateChild(param0: android.view.View, param1: android.graphics.Rect): void;
			public requestTransparentRegion(param0: android.view.View): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public getParentForAccessibility(): android.view.ViewParent;
			public setOnTabChangedListener(param0: android.widget.TabHost.OnTabChangeListener): void;
			public canResolveTextAlignment(): boolean;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public newTabSpec(param0: string): android.widget.TabHost.TabSpec;
			public getParent(): android.view.ViewParent;
			/** @deprecated */
			public invalidateChildInParent(param0: native.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public onStartNestedScroll(param0: android.view.View, param1: android.view.View, param2: number): boolean;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback): android.view.ActionMode;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public getLayoutDirection(): number;
			public getTextAlignment(): number;
			public dispatchWindowFocusChanged(param0: boolean): void;
			public requestChildFocus(param0: android.view.View, param1: android.view.View): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public requestChildRectangleOnScreen(param0: android.view.View, param1: android.graphics.Rect, param2: boolean): boolean;
			public onNestedScroll(param0: android.view.View, param1: number, param2: number, param3: number, param4: number): void;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: native.Array<number>): void;
			public onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public getAccessibilityClassName(): string;
			public focusSearch(param0: number): android.view.View;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public recomputeViewAttributes(param0: android.view.View): void;
			public onTouchModeChanged(param0: boolean): void;
			public getTabWidget(): android.widget.TabWidget;
			public getCurrentTabTag(): string;
			public isLayoutRequested(): boolean;
			public setup(): void;
			public addTab(param0: android.widget.TabHost.TabSpec): void;
			public getCurrentTab(): number;
			public setup(param0: android.app.LocalActivityManager): void;
			public getCurrentView(): android.view.View;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public clearAllTabs(): void;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			public requestLayout(): void;
			public childDrawableStateChanged(param0: android.view.View): void;
			public isTextAlignmentResolved(): boolean;
			public addView(param0: android.view.View): void;
			public removeView(param0: android.view.View): void;
			public clearChildFocus(param0: android.view.View): void;
			public canResolveTextDirection(): boolean;
			public getTextDirection(): number;
			public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public getTabContentView(): android.widget.FrameLayout;
			/** @deprecated */
			public requestFitSystemWindows(): void;
			public requestDisallowInterceptTouchEvent(param0: boolean): void;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public isTextDirectionResolved(): boolean;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public constructor(param0: android.content.Context);
			public dispatchKeyEvent(param0: android.view.KeyEvent): boolean;
			public setCurrentTabByTag(param0: string): void;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public addView(param0: android.view.View, param1: number, param2: android.view.ViewGroup.LayoutParams): void;
			public notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public requestFitSystemWindows(): void;
			public addView(param0: android.view.View, param1: number): void;
		}
		export module TabHost {
			export class OnTabChangeListener extends java.lang.Object {
				public static class: java.lang.Class<android.widget.TabHost.OnTabChangeListener>;
				/**
				 * Constructs a new instance of the android.widget.TabHost$OnTabChangeListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onTabChanged(param0: string): void;
				});
				public constructor();
				public onTabChanged(param0: string): void;
			}
			export class TabContentFactory extends java.lang.Object {
				public static class: java.lang.Class<android.widget.TabHost.TabContentFactory>;
				/**
				 * Constructs a new instance of the android.widget.TabHost$TabContentFactory interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					createTabContent(param0: string): android.view.View;
				});
				public constructor();
				public createTabContent(param0: string): android.view.View;
			}
			export class TabSpec extends java.lang.Object {
				public static class: java.lang.Class<android.widget.TabHost.TabSpec>;
				public setIndicator(param0: string): android.widget.TabHost.TabSpec;
				public setContent(param0: android.widget.TabHost.TabContentFactory): android.widget.TabHost.TabSpec;
				public setIndicator(param0: android.view.View): android.widget.TabHost.TabSpec;
				public getTag(): string;
				public setIndicator(param0: string, param1: android.graphics.drawable.Drawable): android.widget.TabHost.TabSpec;
				public setContent(param0: number): android.widget.TabHost.TabSpec;
				public setContent(param0: android.content.Intent): android.widget.TabHost.TabSpec;
			}
		}
	}
}

declare module android {
	export module widget {
		export class TabWidget extends android.widget.LinearLayout implements android.view.View.OnFocusChangeListener {
			public static class: java.lang.Class<android.widget.TabWidget>;
			public isLayoutDirectionResolved(): boolean;
			public onStopNestedScroll(param0: android.view.View): void;
			public setRightStripDrawable(param0: android.graphics.drawable.Drawable): void;
			public focusableViewAvailable(param0: android.view.View): void;
			public createContextMenu(param0: android.view.ContextMenu): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public addView(param0: android.view.View, param1: number, param2: number): void;
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public requestSendAccessibilityEvent(param0: android.view.View, param1: android.view.accessibility.AccessibilityEvent): boolean;
			public childHasTransientStateChanged(param0: android.view.View, param1: boolean): void;
			public canResolveLayoutDirection(): boolean;
			public setDividerDrawable(param0: android.graphics.drawable.Drawable): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public onNestedScrollAccepted(param0: android.view.View, param1: android.view.View, param2: number): void;
			public setLeftStripDrawable(param0: number): void;
			public keyboardNavigationClusterSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(param0: android.view.View): boolean;
			public onNestedFling(param0: android.view.View, param1: number, param2: number, param3: boolean): boolean;
			public setCurrentTab(param0: number): void;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public setEnabled(param0: boolean): void;
			public onDescendantInvalidated(param0: android.view.View, param1: android.view.View): void;
			public sendAccessibilityEvent(param0: number): void;
			public onResolvePointerIcon(param0: android.view.MotionEvent, param1: number): any;
			/** @deprecated */
			public invalidateChild(param0: android.view.View, param1: android.graphics.Rect): void;
			public requestTransparentRegion(param0: android.view.View): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public getParentForAccessibility(): android.view.ViewParent;
			public canResolveTextAlignment(): boolean;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public getParent(): android.view.ViewParent;
			/** @deprecated */
			public invalidateChildInParent(param0: native.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public onStartNestedScroll(param0: android.view.View, param1: android.view.View, param2: number): boolean;
			public isStripEnabled(): boolean;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback): android.view.ActionMode;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public dispatchDraw(param0: android.graphics.Canvas): void;
			public getLayoutDirection(): number;
			public getTextAlignment(): number;
			public requestChildFocus(param0: android.view.View, param1: android.view.View): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public requestChildRectangleOnScreen(param0: android.view.View, param1: android.graphics.Rect, param2: boolean): boolean;
			public onNestedScroll(param0: android.view.View, param1: number, param2: number, param3: number, param4: number): void;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: native.Array<number>): void;
			public setRightStripDrawable(param0: number): void;
			public onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public getAccessibilityClassName(): string;
			public focusSearch(param0: number): android.view.View;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public recomputeViewAttributes(param0: android.view.View): void;
			public onSizeChanged(param0: number, param1: number, param2: number, param3: number): void;
			public isLayoutRequested(): boolean;
			public setLeftStripDrawable(param0: android.graphics.drawable.Drawable): void;
			public removeAllViews(): void;
			public getChildDrawingOrder(param0: number, param1: number): number;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			public setStripEnabled(param0: boolean): void;
			public focusCurrentTab(param0: number): void;
			public requestLayout(): void;
			public childDrawableStateChanged(param0: android.view.View): void;
			public addView(param0: android.view.View): void;
			public isTextAlignmentResolved(): boolean;
			public removeView(param0: android.view.View): void;
			public clearChildFocus(param0: android.view.View): void;
			public canResolveTextDirection(): boolean;
			public setDividerDrawable(param0: number): void;
			public getTextDirection(): number;
			public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public getRightStripDrawable(): android.graphics.drawable.Drawable;
			/** @deprecated */
			public requestFitSystemWindows(): void;
			public getLeftStripDrawable(): android.graphics.drawable.Drawable;
			public requestDisallowInterceptTouchEvent(param0: boolean): void;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public isTextDirectionResolved(): boolean;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public getChildTabViewAt(param0: number): android.view.View;
			public onFocusChange(param0: android.view.View, param1: boolean): void;
			public constructor(param0: android.content.Context);
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public addView(param0: android.view.View, param1: number, param2: android.view.ViewGroup.LayoutParams): void;
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public getTabCount(): number;
			public addView(param0: android.view.View, param1: number): void;
			public requestFitSystemWindows(): void;
		}
	}
}

declare module android {
	export module widget {
		export class TableLayout extends android.widget.LinearLayout {
			public static class: java.lang.Class<android.widget.TableLayout>;
			public setShrinkAllColumns(param0: boolean): void;
			public onLayout(param0: boolean, param1: number, param2: number, param3: number, param4: number): void;
			public isLayoutDirectionResolved(): boolean;
			public isShrinkAllColumns(): boolean;
			public generateLayoutParams(param0: android.util.AttributeSet): android.view.ViewGroup.LayoutParams;
			public onStopNestedScroll(param0: android.view.View): void;
			public focusableViewAvailable(param0: android.view.View): void;
			public createContextMenu(param0: android.view.ContextMenu): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public onMeasure(param0: number, param1: number): void;
			public generateLayoutParams(param0: android.util.AttributeSet): android.widget.TableLayout.LayoutParams;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public addView(param0: android.view.View, param1: number, param2: number): void;
			public setColumnCollapsed(param0: number, param1: boolean): void;
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public requestSendAccessibilityEvent(param0: android.view.View, param1: android.view.accessibility.AccessibilityEvent): boolean;
			public childHasTransientStateChanged(param0: android.view.View, param1: boolean): void;
			public canResolveLayoutDirection(): boolean;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public onNestedScrollAccepted(param0: android.view.View, param1: android.view.View, param2: number): void;
			public keyboardNavigationClusterSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(param0: android.view.View): boolean;
			public onNestedFling(param0: android.view.View, param1: number, param2: number, param3: boolean): boolean;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public onDescendantInvalidated(param0: android.view.View, param1: android.view.View): void;
			public sendAccessibilityEvent(param0: number): void;
			/** @deprecated */
			public invalidateChild(param0: android.view.View, param1: android.graphics.Rect): void;
			public isColumnShrinkable(param0: number): boolean;
			public requestTransparentRegion(param0: android.view.View): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public getParentForAccessibility(): android.view.ViewParent;
			public canResolveTextAlignment(): boolean;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public getParent(): android.view.ViewParent;
			public setStretchAllColumns(param0: boolean): void;
			/** @deprecated */
			public invalidateChildInParent(param0: native.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public onStartNestedScroll(param0: android.view.View, param1: android.view.View, param2: number): boolean;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback): android.view.ActionMode;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public getLayoutDirection(): number;
			public getTextAlignment(): number;
			public requestChildFocus(param0: android.view.View, param1: android.view.View): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public generateLayoutParams(param0: android.view.ViewGroup.LayoutParams): android.view.ViewGroup.LayoutParams;
			public isStretchAllColumns(): boolean;
			public generateDefaultLayoutParams(): android.view.ViewGroup.LayoutParams;
			public requestChildRectangleOnScreen(param0: android.view.View, param1: android.graphics.Rect, param2: boolean): boolean;
			public onNestedScroll(param0: android.view.View, param1: number, param2: number, param3: number, param4: number): void;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: native.Array<number>): void;
			public onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public getAccessibilityClassName(): string;
			public focusSearch(param0: number): android.view.View;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public recomputeViewAttributes(param0: android.view.View): void;
			public isColumnCollapsed(param0: number): boolean;
			public isLayoutRequested(): boolean;
			public generateLayoutParams(param0: android.view.ViewGroup.LayoutParams): android.widget.LinearLayout.LayoutParams;
			public generateDefaultLayoutParams(): android.widget.LinearLayout.LayoutParams;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public setColumnStretchable(param0: number, param1: boolean): void;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			public setOnHierarchyChangeListener(param0: android.view.ViewGroup.OnHierarchyChangeListener): void;
			public requestLayout(): void;
			public generateLayoutParams(param0: android.util.AttributeSet): android.widget.LinearLayout.LayoutParams;
			public addView(param0: android.view.View): void;
			public checkLayoutParams(param0: android.view.ViewGroup.LayoutParams): boolean;
			public childDrawableStateChanged(param0: android.view.View): void;
			public isTextAlignmentResolved(): boolean;
			public removeView(param0: android.view.View): void;
			public clearChildFocus(param0: android.view.View): void;
			public canResolveTextDirection(): boolean;
			public getTextDirection(): number;
			public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			/** @deprecated */
			public requestFitSystemWindows(): void;
			public requestDisallowInterceptTouchEvent(param0: boolean): void;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public isTextDirectionResolved(): boolean;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public constructor(param0: android.content.Context);
			public isColumnStretchable(param0: number): boolean;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public addView(param0: android.view.View, param1: number, param2: android.view.ViewGroup.LayoutParams): void;
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public setColumnShrinkable(param0: number, param1: boolean): void;
			public addView(param0: android.view.View, param1: number): void;
			public requestFitSystemWindows(): void;
		}
		export module TableLayout {
			export class LayoutParams extends android.widget.LinearLayout.LayoutParams {
				public static class: java.lang.Class<android.widget.TableLayout.LayoutParams>;
				public constructor(param0: number, param1: number);
				public constructor(param0: android.view.ViewGroup.LayoutParams);
				public constructor(param0: android.view.ViewGroup.MarginLayoutParams);
				public constructor(param0: number, param1: number, param2: number);
				public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
				public setBaseAttributes(param0: android.content.res.TypedArray, param1: number, param2: number): void;
				public constructor(param0: android.widget.LinearLayout.LayoutParams);
				public constructor();
			}
		}
	}
}

declare module android {
	export module widget {
		export class TableRow extends android.widget.LinearLayout {
			public static class: java.lang.Class<android.widget.TableRow>;
			public onLayout(param0: boolean, param1: number, param2: number, param3: number, param4: number): void;
			public isLayoutDirectionResolved(): boolean;
			public generateLayoutParams(param0: android.util.AttributeSet): android.view.ViewGroup.LayoutParams;
			public onStopNestedScroll(param0: android.view.View): void;
			public focusableViewAvailable(param0: android.view.View): void;
			public createContextMenu(param0: android.view.ContextMenu): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public onMeasure(param0: number, param1: number): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public addView(param0: android.view.View, param1: number, param2: number): void;
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public requestSendAccessibilityEvent(param0: android.view.View, param1: android.view.accessibility.AccessibilityEvent): boolean;
			public childHasTransientStateChanged(param0: android.view.View, param1: boolean): void;
			public canResolveLayoutDirection(): boolean;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public onNestedScrollAccepted(param0: android.view.View, param1: android.view.View, param2: number): void;
			public keyboardNavigationClusterSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(param0: android.view.View): boolean;
			public onNestedFling(param0: android.view.View, param1: number, param2: number, param3: boolean): boolean;
			public getVirtualChildCount(): number;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public onDescendantInvalidated(param0: android.view.View, param1: android.view.View): void;
			public sendAccessibilityEvent(param0: number): void;
			/** @deprecated */
			public invalidateChild(param0: android.view.View, param1: android.graphics.Rect): void;
			public getVirtualChildAt(param0: number): android.view.View;
			public requestTransparentRegion(param0: android.view.View): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public getParentForAccessibility(): android.view.ViewParent;
			public canResolveTextAlignment(): boolean;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public getParent(): android.view.ViewParent;
			/** @deprecated */
			public invalidateChildInParent(param0: native.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public onStartNestedScroll(param0: android.view.View, param1: android.view.View, param2: number): boolean;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback): android.view.ActionMode;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public getLayoutDirection(): number;
			public getTextAlignment(): number;
			public requestChildFocus(param0: android.view.View, param1: android.view.View): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public generateLayoutParams(param0: android.view.ViewGroup.LayoutParams): android.view.ViewGroup.LayoutParams;
			public generateDefaultLayoutParams(): android.view.ViewGroup.LayoutParams;
			public requestChildRectangleOnScreen(param0: android.view.View, param1: android.graphics.Rect, param2: boolean): boolean;
			public onNestedScroll(param0: android.view.View, param1: number, param2: number, param3: number, param4: number): void;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: native.Array<number>): void;
			public onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public getAccessibilityClassName(): string;
			public focusSearch(param0: number): android.view.View;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public recomputeViewAttributes(param0: android.view.View): void;
			public isLayoutRequested(): boolean;
			public generateLayoutParams(param0: android.view.ViewGroup.LayoutParams): android.widget.LinearLayout.LayoutParams;
			public generateDefaultLayoutParams(): android.widget.LinearLayout.LayoutParams;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			public setOnHierarchyChangeListener(param0: android.view.ViewGroup.OnHierarchyChangeListener): void;
			public requestLayout(): void;
			public generateLayoutParams(param0: android.util.AttributeSet): android.widget.LinearLayout.LayoutParams;
			public checkLayoutParams(param0: android.view.ViewGroup.LayoutParams): boolean;
			public childDrawableStateChanged(param0: android.view.View): void;
			public isTextAlignmentResolved(): boolean;
			public addView(param0: android.view.View): void;
			public removeView(param0: android.view.View): void;
			public clearChildFocus(param0: android.view.View): void;
			public canResolveTextDirection(): boolean;
			public getTextDirection(): number;
			public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			/** @deprecated */
			public requestFitSystemWindows(): void;
			public requestDisallowInterceptTouchEvent(param0: boolean): void;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public isTextDirectionResolved(): boolean;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public generateLayoutParams(param0: android.util.AttributeSet): android.widget.TableRow.LayoutParams;
			public constructor(param0: android.content.Context);
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public addView(param0: android.view.View, param1: number, param2: android.view.ViewGroup.LayoutParams): void;
			public notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public requestFitSystemWindows(): void;
			public addView(param0: android.view.View, param1: number): void;
		}
		export module TableRow {
			export class LayoutParams extends android.widget.LinearLayout.LayoutParams {
				public static class: java.lang.Class<android.widget.TableRow.LayoutParams>;
				public column: number;
				public span: number;
				public constructor(param0: number, param1: number);
				public constructor(param0: android.view.ViewGroup.LayoutParams);
				public constructor(param0: android.view.ViewGroup.MarginLayoutParams);
				public constructor(param0: number, param1: number, param2: number);
				public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
				public setBaseAttributes(param0: android.content.res.TypedArray, param1: number, param2: number): void;
				public constructor(param0: number);
				public constructor(param0: android.widget.LinearLayout.LayoutParams);
				public constructor();
			}
		}
	}
}

declare module android {
	export module widget {
		export class TextClock extends android.widget.TextView {
			public static class: java.lang.Class<android.widget.TextClock>;
			public static DEFAULT_FORMAT_12_HOUR: string;
			public static DEFAULT_FORMAT_24_HOUR: string;
			public onVisibilityAggregated(param0: boolean): void;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public getFormat24Hour(): string;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public onPreDraw(): boolean;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public getFormat12Hour(): string;
			public onDetachedFromWindow(): void;
			public sendAccessibilityEvent(param0: number): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public setFormat12Hour(param0: string): void;
			public setFormat24Hour(param0: string): void;
			public getTimeZone(): string;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public setTimeZone(param0: string): void;
			public is24HourModeEnabled(): boolean;
			public constructor(param0: android.content.Context);
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public onAttachedToWindow(): void;
		}
	}
}

declare module android {
	export module widget {
		export class TextSwitcher extends android.widget.ViewSwitcher {
			public static class: java.lang.Class<android.widget.TextSwitcher>;
			public setCurrentText(param0: string): void;
			public isLayoutDirectionResolved(): boolean;
			public onStopNestedScroll(param0: android.view.View): void;
			public focusableViewAvailable(param0: android.view.View): void;
			public createContextMenu(param0: android.view.ContextMenu): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public addView(param0: android.view.View, param1: number, param2: number): void;
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public requestSendAccessibilityEvent(param0: android.view.View, param1: android.view.accessibility.AccessibilityEvent): boolean;
			public childHasTransientStateChanged(param0: android.view.View, param1: boolean): void;
			public canResolveLayoutDirection(): boolean;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public onNestedScrollAccepted(param0: android.view.View, param1: android.view.View, param2: number): void;
			public keyboardNavigationClusterSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(param0: android.view.View): boolean;
			public onNestedFling(param0: android.view.View, param1: number, param2: number, param3: boolean): boolean;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public onDescendantInvalidated(param0: android.view.View, param1: android.view.View): void;
			public sendAccessibilityEvent(param0: number): void;
			/** @deprecated */
			public invalidateChild(param0: android.view.View, param1: android.graphics.Rect): void;
			public requestTransparentRegion(param0: android.view.View): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public getParentForAccessibility(): android.view.ViewParent;
			public canResolveTextAlignment(): boolean;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public getParent(): android.view.ViewParent;
			/** @deprecated */
			public invalidateChildInParent(param0: native.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public onStartNestedScroll(param0: android.view.View, param1: android.view.View, param2: number): boolean;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback): android.view.ActionMode;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public getLayoutDirection(): number;
			public getTextAlignment(): number;
			public requestChildFocus(param0: android.view.View, param1: android.view.View): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public requestChildRectangleOnScreen(param0: android.view.View, param1: android.graphics.Rect, param2: boolean): boolean;
			public onNestedScroll(param0: android.view.View, param1: number, param2: number, param3: number, param4: number): void;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: native.Array<number>): void;
			public onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public getAccessibilityClassName(): string;
			public focusSearch(param0: number): android.view.View;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public recomputeViewAttributes(param0: android.view.View): void;
			public isLayoutRequested(): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			public requestLayout(): void;
			public addView(param0: android.view.View): void;
			public childDrawableStateChanged(param0: android.view.View): void;
			public isTextAlignmentResolved(): boolean;
			public setText(param0: string): void;
			public removeView(param0: android.view.View): void;
			public clearChildFocus(param0: android.view.View): void;
			public canResolveTextDirection(): boolean;
			public getTextDirection(): number;
			public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			/** @deprecated */
			public requestFitSystemWindows(): void;
			public requestDisallowInterceptTouchEvent(param0: boolean): void;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public isTextDirectionResolved(): boolean;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public constructor(param0: android.content.Context);
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public addView(param0: android.view.View, param1: number, param2: android.view.ViewGroup.LayoutParams): void;
			public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public addView(param0: android.view.View, param1: number): void;
			public requestFitSystemWindows(): void;
		}
	}
}

declare module android {
	export module widget {
		export class TextView extends android.view.View implements android.view.ViewTreeObserver.OnPreDrawListener {
			public static class: java.lang.Class<android.widget.TextView>;
			public static AUTO_SIZE_TEXT_TYPE_NONE: number;
			public static AUTO_SIZE_TEXT_TYPE_UNIFORM: number;
			public setFilters(param0: native.Array<android.text.InputFilter>): void;
			public getAutoSizeTextAvailableSizes(): native.Array<number>;
			public getExtendedPaddingTop(): number;
			public getFontVariationSettings(): string;
			public getCompoundDrawablesRelative(): native.Array<android.graphics.drawable.Drawable>;
			public autofill(param0: android.view.autofill.AutofillValue): void;
			public getLinksClickable(): boolean;
			public setHighlightColor(param0: number): void;
			public getFreezesText(): boolean;
			public getCustomSelectionActionModeCallback(): android.view.ActionMode.Callback;
			public setTextScaleX(param0: number): void;
			public setTextAppearance(param0: number): void;
			public onMeasure(param0: number, param1: number): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public setMinWidth(param0: number): void;
			public isElegantTextHeight(): boolean;
			public setImeActionLabel(param0: string, param1: number): void;
			public setInputType(param0: number): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			/** @deprecated */
			public setTextAppearance(param0: android.content.Context, param1: number): void;
			public sendAccessibilityEvent(param0: number): void;
			public onResolvePointerIcon(param0: android.view.MotionEvent, param1: number): any;
			public addExtraDataToAccessibilityNodeInfo(param0: android.view.accessibility.AccessibilityNodeInfo, param1: string, param2: android.os.Bundle): void;
			public getMinLines(): number;
			public getLinkTextColors(): android.content.res.ColorStateList;
			public setScroller(param0: android.widget.Scroller): void;
			public onTextChanged(param0: string, param1: number, param2: number, param3: number): void;
			public setImeHintLocales(param0: any): void;
			public onTextContextMenuItem(param0: number): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public getTextLocale(): java.util.Locale;
			public getRightFadingEdgeStrength(): number;
			public computeVerticalScrollRange(): number;
			public setEms(param0: number): void;
			public removeTextChangedListener(param0: android.text.TextWatcher): void;
			public setMinHeight(param0: number): void;
			public onKeyPreIme(param0: number, param1: android.view.KeyEvent): boolean;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public getTextScaleX(): number;
			public getAccessibilityClassName(): string;
			public getSelectionEnd(): number;
			public setTextColor(param0: number): void;
			public getCompoundPaddingBottom(): number;
			public setAutoLinkMask(param0: number): void;
			public setMaxEms(param0: number): void;
			public setCustomInsertionActionModeCallback(param0: android.view.ActionMode.Callback): void;
			public getJustificationMode(): number;
			public getTotalPaddingEnd(): number;
			public getHint(): string;
			public getMinHeight(): number;
			public setFallbackLineSpacing(param0: boolean): void;
			public getPrivateImeOptions(): string;
			public onPrivateIMECommand(param0: string, param1: android.os.Bundle): boolean;
			public getInputType(): number;
			public debug(param0: number): void;
			public getAutofillType(): number;
			public getLastBaselineToBottomHeight(): number;
			public setLinkTextColor(param0: android.content.res.ColorStateList): void;
			public getShadowDx(): number;
			public clearComposingText(): void;
			public onConfigurationChanged(param0: android.content.res.Configuration): void;
			public onCreateContextMenu(param0: android.view.ContextMenu): void;
			public getPaintFlags(): number;
			public setTextLocale(param0: java.util.Locale): void;
			public length(): number;
			public setIncludeFontPadding(param0: boolean): void;
			public setOnEditorActionListener(param0: android.widget.TextView.OnEditorActionListener): void;
			public setHyphenationFrequency(param0: number): void;
			public setMinEms(param0: number): void;
			public onBeginBatchEdit(): void;
			public setHintTextColor(param0: number): void;
			public getMaxWidth(): number;
			public getLineBounds(param0: number, param1: android.graphics.Rect): number;
			public getTotalPaddingTop(): number;
			public setAllCaps(param0: boolean): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public setText(param0: number, param1: android.widget.TextView.BufferType): void;
			public getTextClassifier(): any;
			public getMaxEms(): number;
			public onCommitCompletion(param0: android.view.inputmethod.CompletionInfo): void;
			public getTotalPaddingBottom(): number;
			public setEditableFactory(param0: android.text.Editable.Factory): void;
			public getAutoLinkMask(): number;
			public performLongClick(param0: number, param1: number): boolean;
			public setMaxHeight(param0: number): void;
			public drawableStateChanged(): void;
			public setFontVariationSettings(param0: string): boolean;
			public getFilters(): native.Array<android.text.InputFilter>;
			public performLongClick(): boolean;
			public getMarqueeRepeatLimit(): number;
			public setAutoSizeTextTypeWithDefaults(param0: number): void;
			public setHorizontallyScrolling(param0: boolean): void;
			public showContextMenu(param0: number, param1: number): boolean;
			public setAutoSizeTextTypeUniformWithPresetSizes(param0: native.Array<number>, param1: number): void;
			public onFocusChanged(param0: boolean, param1: number, param2: android.graphics.Rect): void;
			public setBreakStrategy(param0: number): void;
			public getTextColors(): android.content.res.ColorStateList;
			public getDefaultEditable(): boolean;
			public computeHorizontalScrollRange(): number;
			public getTotalPaddingRight(): number;
			public onKeyShortcut(param0: number, param1: android.view.KeyEvent): boolean;
			public getCompoundPaddingTop(): number;
			public setCompoundDrawablePadding(param0: number): void;
			public getImeHintLocales(): any;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public setTypeface(param0: android.graphics.Typeface): void;
			public getText(): string;
			public setWidth(param0: number): void;
			public verifyDrawable(param0: android.graphics.drawable.Drawable): boolean;
			public setError(param0: string, param1: android.graphics.drawable.Drawable): void;
			public onTrackballEvent(param0: android.view.MotionEvent): boolean;
			public setSelected(param0: boolean): void;
			public getLayout(): android.text.Layout;
			public setCompoundDrawablesWithIntrinsicBounds(param0: android.graphics.drawable.Drawable, param1: android.graphics.drawable.Drawable, param2: android.graphics.drawable.Drawable, param3: android.graphics.drawable.Drawable): void;
			public setExtractedText(param0: android.view.inputmethod.ExtractedText): void;
			public getMinWidth(): number;
			public getTotalPaddingStart(): number;
			public isCursorVisible(): boolean;
			public getLeftPaddingOffset(): number;
			public onWindowFocusChanged(param0: boolean): void;
			public onSelectionChanged(param0: number, param1: number): void;
			public getCompoundDrawablePadding(): number;
			public setFreezesText(param0: boolean): void;
			public setSingleLine(): void;
			public getImeOptions(): number;
			public setLetterSpacing(param0: number): void;
			public setCompoundDrawablesRelativeWithIntrinsicBounds(param0: android.graphics.drawable.Drawable, param1: android.graphics.drawable.Drawable, param2: android.graphics.drawable.Drawable, param3: android.graphics.drawable.Drawable): void;
			public setError(param0: string): void;
			public setPrivateImeOptions(param0: string): void;
			public onCreateDrawableState(param0: number): native.Array<number>;
			public getCompoundPaddingRight(): number;
			public onCheckIsTextEditor(): boolean;
			public setTextSize(param0: number): void;
			public isSuggestionsEnabled(): boolean;
			public setCompoundDrawableTintList(param0: android.content.res.ColorStateList): void;
			public getTextMetricsParams(): any;
			public getCompoundPaddingEnd(): number;
			public setSingleLine(param0: boolean): void;
			public addTextChangedListener(param0: android.text.TextWatcher): void;
			public setCompoundDrawableTintMode(param0: android.graphics.PorterDuff.Mode): void;
			public autofill(param0: android.util.SparseArray<android.view.autofill.AutofillValue>): void;
			public getCurrentHintTextColor(): number;
			public isPaddingOffsetRequired(): boolean;
			public getGravity(): number;
			public onPreDraw(): boolean;
			public getBottomPaddingOffset(): number;
			public getTransformationMethod(): android.text.method.TransformationMethod;
			public getLetterSpacing(): number;
			public cancelLongPress(): void;
			public hasSelection(): boolean;
			public setAutoSizeTextTypeUniformWithConfiguration(param0: number, param1: number, param2: number, param3: number): void;
			public setPaddingRelative(param0: number, param1: number, param2: number, param3: number): void;
			public getMinEms(): number;
			public setCompoundDrawablesRelativeWithIntrinsicBounds(param0: number, param1: number, param2: number, param3: number): void;
			public onTouchEvent(param0: android.view.MotionEvent): boolean;
			public getHighlightColor(): number;
			public getPaint(): android.text.TextPaint;
			public getCompoundDrawableTintList(): android.content.res.ColorStateList;
			public setTextKeepState(param0: string, param1: android.widget.TextView.BufferType): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public setElegantTextHeight(param0: boolean): void;
			public getAutoSizeMaxTextSize(): number;
			public onCreateInputConnection(param0: android.view.inputmethod.EditorInfo): android.view.inputmethod.InputConnection;
			public onScreenStateChanged(param0: number): void;
			public setFirstBaselineToTopHeight(param0: number): void;
			public setMovementMethod(param0: android.text.method.MovementMethod): void;
			public getDefaultMovementMethod(): android.text.method.MovementMethod;
			public append(param0: string): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public setTextMetricsParams(param0: any): void;
			public setLastBaselineToBottomHeight(param0: number): void;
			public setFrame(param0: number, param1: number, param2: number, param3: number): boolean;
			public getLineCount(): number;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public setRawInputType(param0: number): void;
			public moveCursorToVisibleOffset(): boolean;
			public setEnabled(param0: boolean): void;
			public beginBatchEdit(): void;
			public isInputMethodTarget(): boolean;
			public showContextMenu(): boolean;
			public setInputExtras(param0: number): void;
			public setText(param0: string, param1: android.widget.TextView.BufferType): void;
			public setEllipsize(param0: android.text.TextUtils.TruncateAt): void;
			public getCompoundPaddingStart(): number;
			public getTotalPaddingLeft(): number;
			public setImeOptions(param0: number): void;
			public getTextSize(): number;
			public getInputExtras(param0: boolean): android.os.Bundle;
			public onProvideStructure(param0: any): void;
			public getEllipsize(): android.text.TextUtils.TruncateAt;
			public getMovementMethod(): android.text.method.MovementMethod;
			public getLeftFadingEdgeStrength(): number;
			public setShowSoftInputOnFocus(param0: boolean): void;
			public getImeActionId(): number;
			public setSelectAllOnFocus(param0: boolean): void;
			public getHintTextColors(): android.content.res.ColorStateList;
			public setHint(param0: number): void;
			public getImeActionLabel(): string;
			public getMaxHeight(): number;
			public getShowSoftInputOnFocus(): boolean;
			public setJustificationMode(param0: number): void;
			public getSelectionStart(): number;
			public computeVerticalScrollExtent(): number;
			public onDragEvent(param0: android.view.DragEvent): boolean;
			public getKeyListener(): android.text.method.KeyListener;
			public getRightPaddingOffset(): number;
			public setTextClassifier(param0: any): void;
			public getHyphenationFrequency(): number;
			public setLines(param0: number): void;
			public setHint(param0: string): void;
			public setCompoundDrawablesWithIntrinsicBounds(param0: number, param1: number, param2: number, param3: number): void;
			public setTypeface(param0: android.graphics.Typeface, param1: number): void;
			public getTypeface(): android.graphics.Typeface;
			public getLineSpacingExtra(): number;
			public getIncludeFontPadding(): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public getTextLocales(): any;
			public getCustomInsertionActionModeCallback(): android.view.ActionMode.Callback;
			public setCompoundDrawablesRelative(param0: android.graphics.drawable.Drawable, param1: android.graphics.drawable.Drawable, param2: android.graphics.drawable.Drawable, param3: android.graphics.drawable.Drawable): void;
			public setCursorVisible(param0: boolean): void;
			public getUrls(): native.Array<android.text.style.URLSpan>;
			public findViewsWithText(param0: java.util.ArrayList<android.view.View>, param1: string, param2: number): void;
			public getLineSpacingMultiplier(): number;
			public setTextIsSelectable(param0: boolean): void;
			public setText(param0: string): void;
			public setSpannableFactory(param0: android.text.Spannable.Factory): void;
			public isFallbackLineSpacing(): boolean;
			public setLinkTextColor(param0: number): void;
			public isAllCaps(): boolean;
			public getCompoundPaddingLeft(): number;
			public getShadowDy(): number;
			public getFontFeatureSettings(): string;
			public onVisibilityChanged(param0: android.view.View, param1: number): void;
			public constructor(param0: android.content.Context);
			public onRtlPropertiesChanged(param0: number): void;
			public getLineHeight(): number;
			public getShadowColor(): number;
			public setTextLocales(param0: any): void;
			public getTopPaddingOffset(): number;
			public setHeight(param0: number): void;
			public setText(param0: native.Array<string>, param1: number, param2: number): void;
			public onLayout(param0: boolean, param1: number, param2: number, param3: number, param4: number): void;
			public setLinksClickable(param0: boolean): void;
			public setTransformationMethod(param0: android.text.method.TransformationMethod): void;
			public getFocusedRect(param0: android.graphics.Rect): void;
			public getAutoSizeTextType(): number;
			public getAutofillValue(): android.view.autofill.AutofillValue;
			public setText(param0: number): void;
			public bringPointIntoView(param0: number): boolean;
			public setPadding(param0: number, param1: number, param2: number, param3: number): void;
			public getCurrentTextColor(): number;
			public onRestoreInstanceState(param0: android.os.Parcelable): void;
			public setMaxWidth(param0: number): void;
			public getEditableText(): android.text.Editable;
			public getCompoundDrawableTintMode(): android.graphics.PorterDuff.Mode;
			public setHintTextColor(param0: android.content.res.ColorStateList): void;
			public onProvideAutofillStructure(param0: any, param1: number): void;
			public setMarqueeRepeatLimit(param0: number): void;
			public didTouchFocusSelect(): boolean;
			public getAutoSizeStepGranularity(): number;
			public setKeyListener(param0: android.text.method.KeyListener): void;
			public onDraw(param0: android.graphics.Canvas): void;
			public setFontFeatureSettings(param0: string): void;
			public onSaveInstanceState(): android.os.Parcelable;
			public onScrollChanged(param0: number, param1: number, param2: number, param3: number): void;
			public setGravity(param0: number): void;
			public setMaxLines(param0: number): void;
			public getBreakStrategy(): number;
			public append(param0: string, param1: number, param2: number): void;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public hasOverlappingRendering(): boolean;
			public setLineSpacing(param0: number, param1: number): void;
			public setTextKeepState(param0: string): void;
			public endBatchEdit(): void;
			public onGenericMotionEvent(param0: android.view.MotionEvent): boolean;
			public getFirstBaselineToTopHeight(): number;
			public getShadowRadius(): number;
			public setTextSize(param0: number, param1: number): void;
			public getError(): string;
			public onCommitCorrection(param0: android.view.inputmethod.CorrectionInfo): void;
			public getExtendedPaddingBottom(): number;
			public setShadowLayer(param0: number, param1: number, param2: number, param3: number): void;
			public getOffsetForPosition(param0: number, param1: number): number;
			public setTextColor(param0: android.content.res.ColorStateList): void;
			public extractText(param0: android.view.inputmethod.ExtractedTextRequest, param1: android.view.inputmethod.ExtractedText): boolean;
			public onEndBatchEdit(): void;
			public jumpDrawablesToCurrentState(): void;
			public setPaintFlags(param0: number): void;
			public getBaseline(): number;
			public computeScroll(): void;
			public getAutoSizeMinTextSize(): number;
			public getCompoundDrawables(): native.Array<android.graphics.drawable.Drawable>;
			public getMaxLines(): number;
			public drawableHotspotChanged(param0: number, param1: number): void;
			public setMinLines(param0: number): void;
			public setLineHeight(param0: number): void;
			public onEditorAction(param0: number): void;
			public setCompoundDrawables(param0: android.graphics.drawable.Drawable, param1: android.graphics.drawable.Drawable, param2: android.graphics.drawable.Drawable, param3: android.graphics.drawable.Drawable): void;
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public onAttachedToWindow(): void;
			public setCustomSelectionActionModeCallback(param0: android.view.ActionMode.Callback): void;
			public isTextSelectable(): boolean;
		}
		export module TextView {
			export class BufferType {
				public static class: java.lang.Class<android.widget.TextView.BufferType>;
				public static NORMAL: android.widget.TextView.BufferType;
				public static SPANNABLE: android.widget.TextView.BufferType;
				public static EDITABLE: android.widget.TextView.BufferType;
				public static values(): native.Array<android.widget.TextView.BufferType>;
				public static valueOf(param0: string): android.widget.TextView.BufferType;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			}
			export class OnEditorActionListener extends java.lang.Object {
				public static class: java.lang.Class<android.widget.TextView.OnEditorActionListener>;
				/**
				 * Constructs a new instance of the android.widget.TextView$OnEditorActionListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onEditorAction(param0: android.widget.TextView, param1: number, param2: android.view.KeyEvent): boolean;
				});
				public constructor();
				public onEditorAction(param0: android.widget.TextView, param1: number, param2: android.view.KeyEvent): boolean;
			}
			export class SavedState extends android.view.View.BaseSavedState {
				public static class: java.lang.Class<android.widget.TextView.SavedState>;
				public static CREATOR: android.os.Parcelable.Creator<android.widget.TextView.SavedState>;
				public writeToParcel(param0: android.os.Parcel, param1: number): void;
				public describeContents(): number;
				public toString(): string;
			}
		}
	}
}

declare module android {
	export module widget {
		export class ThemedSpinnerAdapter extends java.lang.Object implements android.widget.SpinnerAdapter {
			public static class: java.lang.Class<android.widget.ThemedSpinnerAdapter>;
			/**
			 * Constructs a new instance of the android.widget.ThemedSpinnerAdapter interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				setDropDownViewTheme(param0: android.content.res.Resources.Theme): void;
				getDropDownViewTheme(): android.content.res.Resources.Theme;
				getDropDownView(param0: number, param1: android.view.View, param2: android.view.ViewGroup): android.view.View;
				registerDataSetObserver(param0: android.database.DataSetObserver): void;
				unregisterDataSetObserver(param0: android.database.DataSetObserver): void;
				getCount(): number;
				getItem(param0: number): any;
				getItemId(param0: number): number;
				hasStableIds(): boolean;
				getView(param0: number, param1: android.view.View, param2: android.view.ViewGroup): android.view.View;
				getItemViewType(param0: number): number;
				getViewTypeCount(): number;
				isEmpty(): boolean;
				getAutofillOptions(): native.Array<string>;
			});
			public constructor();
			public static NO_SELECTION: number;
			public static IGNORE_ITEM_VIEW_TYPE: number;
			public getItem(param0: number): any;
			public getDropDownView(param0: number, param1: android.view.View, param2: android.view.ViewGroup): android.view.View;
			public registerDataSetObserver(param0: android.database.DataSetObserver): void;
			public isEmpty(): boolean;
			public getItemId(param0: number): number;
			public getAutofillOptions(): native.Array<string>;
			public hasStableIds(): boolean;
			public getDropDownViewTheme(): android.content.res.Resources.Theme;
			public unregisterDataSetObserver(param0: android.database.DataSetObserver): void;
			public getView(param0: number, param1: android.view.View, param2: android.view.ViewGroup): android.view.View;
			public getItemViewType(param0: number): number;
			public getViewTypeCount(): number;
			public setDropDownViewTheme(param0: android.content.res.Resources.Theme): void;
			public getCount(): number;
		}
	}
}

declare module android {
	export module widget {
		export class TimePicker extends android.widget.FrameLayout {
			public static class: java.lang.Class<android.widget.TimePicker>;
			public setMinute(param0: number): void;
			public autofill(param0: android.view.autofill.AutofillValue): void;
			public isLayoutDirectionResolved(): boolean;
			public onStopNestedScroll(param0: android.view.View): void;
			public focusableViewAvailable(param0: android.view.View): void;
			public createContextMenu(param0: android.view.ContextMenu): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public addView(param0: android.view.View, param1: number, param2: number): void;
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public requestSendAccessibilityEvent(param0: android.view.View, param1: android.view.accessibility.AccessibilityEvent): boolean;
			public validateInput(): boolean;
			public childHasTransientStateChanged(param0: android.view.View, param1: boolean): void;
			public canResolveLayoutDirection(): boolean;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public getAutofillValue(): android.view.autofill.AutofillValue;
			public onNestedScrollAccepted(param0: android.view.View, param1: android.view.View, param2: number): void;
			public keyboardNavigationClusterSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(param0: android.view.View): boolean;
			public onNestedFling(param0: android.view.View, param1: number, param2: number, param3: boolean): boolean;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			/** @deprecated */
			public setCurrentMinute(param0: java.lang.Integer): void;
			public setEnabled(param0: boolean): void;
			public onDescendantInvalidated(param0: android.view.View, param1: android.view.View): void;
			public sendAccessibilityEvent(param0: number): void;
			public onRestoreInstanceState(param0: android.os.Parcelable): void;
			/** @deprecated */
			public invalidateChild(param0: android.view.View, param1: android.graphics.Rect): void;
			public requestTransparentRegion(param0: android.view.View): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public getParentForAccessibility(): android.view.ViewParent;
			public canResolveTextAlignment(): boolean;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public getParent(): android.view.ViewParent;
			/** @deprecated */
			public getCurrentMinute(): java.lang.Integer;
			public setIs24HourView(param0: java.lang.Boolean): void;
			/** @deprecated */
			public invalidateChildInParent(param0: native.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public onStartNestedScroll(param0: android.view.View, param1: android.view.View, param2: number): boolean;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback): android.view.ActionMode;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public getLayoutDirection(): number;
			public getHour(): number;
			public getTextAlignment(): number;
			public requestChildFocus(param0: android.view.View, param1: android.view.View): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public requestChildRectangleOnScreen(param0: android.view.View, param1: android.graphics.Rect, param2: boolean): boolean;
			public onNestedScroll(param0: android.view.View, param1: number, param2: number, param3: number, param4: number): void;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: native.Array<number>): void;
			public onSaveInstanceState(): android.os.Parcelable;
			public onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public getAccessibilityClassName(): string;
			public focusSearch(param0: number): android.view.View;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public recomputeViewAttributes(param0: android.view.View): void;
			public isLayoutRequested(): boolean;
			public autofill(param0: android.util.SparseArray<android.view.autofill.AutofillValue>): void;
			public dispatchProvideAutofillStructure(param0: any, param1: number): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			public getAutofillType(): number;
			public setHour(param0: number): void;
			public is24HourView(): boolean;
			public getBaseline(): number;
			public setOnTimeChangedListener(param0: android.widget.TimePicker.OnTimeChangedListener): void;
			public requestLayout(): void;
			public childDrawableStateChanged(param0: android.view.View): void;
			public isTextAlignmentResolved(): boolean;
			public addView(param0: android.view.View): void;
			public removeView(param0: android.view.View): void;
			public clearChildFocus(param0: android.view.View): void;
			/** @deprecated */
			public getCurrentHour(): java.lang.Integer;
			public canResolveTextDirection(): boolean;
			public getTextDirection(): number;
			public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			/** @deprecated */
			public requestFitSystemWindows(): void;
			public requestDisallowInterceptTouchEvent(param0: boolean): void;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public isTextDirectionResolved(): boolean;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public isEnabled(): boolean;
			public constructor(param0: android.content.Context);
			public getMinute(): number;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public addView(param0: android.view.View, param1: number, param2: android.view.ViewGroup.LayoutParams): void;
			public notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			/** @deprecated */
			public setCurrentHour(param0: java.lang.Integer): void;
			public requestFitSystemWindows(): void;
			public addView(param0: android.view.View, param1: number): void;
		}
		export module TimePicker {
			export class OnTimeChangedListener extends java.lang.Object {
				public static class: java.lang.Class<android.widget.TimePicker.OnTimeChangedListener>;
				/**
				 * Constructs a new instance of the android.widget.TimePicker$OnTimeChangedListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onTimeChanged(param0: android.widget.TimePicker, param1: number, param2: number): void;
				});
				public constructor();
				public onTimeChanged(param0: android.widget.TimePicker, param1: number, param2: number): void;
			}
		}
	}
}

declare module android {
	export module widget {
		export class Toast extends java.lang.Object {
			public static class: java.lang.Class<android.widget.Toast>;
			public static LENGTH_LONG: number;
			public static LENGTH_SHORT: number;
			public show(): void;
			public setGravity(param0: number, param1: number, param2: number): void;
			public setDuration(param0: number): void;
			public setText(param0: string): void;
			public getDuration(): number;
			public getVerticalMargin(): number;
			public static makeText(param0: android.content.Context, param1: number, param2: number): android.widget.Toast;
			public static makeText(param0: android.content.Context, param1: string, param2: number): android.widget.Toast;
			public cancel(): void;
			public getYOffset(): number;
			public getHorizontalMargin(): number;
			public setView(param0: android.view.View): void;
			public getXOffset(): number;
			public constructor(param0: android.content.Context);
			public getGravity(): number;
			public setText(param0: number): void;
			public getView(): android.view.View;
			public setMargin(param0: number, param1: number): void;
		}
	}
}

declare module android {
	export module widget {
		export class ToggleButton extends android.widget.CompoundButton {
			public static class: java.lang.Class<android.widget.ToggleButton>;
			public getAccessibilityClassName(): string;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public getTextOn(): string;
			public toggle(): void;
			/** @deprecated */
			public setBackgroundDrawable(param0: android.graphics.drawable.Drawable): void;
			public drawableStateChanged(): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public setBackgroundDrawable(param0: android.graphics.drawable.Drawable): void;
			public onFinishInflate(): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public onPreDraw(): boolean;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public sendAccessibilityEvent(param0: number): void;
			public setChecked(param0: boolean): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public isChecked(): boolean;
			public setTextOn(param0: string): void;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public setTextOff(param0: string): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public getTextOff(): string;
			public constructor(param0: android.content.Context);
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
		}
	}
}

declare module android {
	export module widget {
		export class Toolbar extends android.view.ViewGroup {
			public static class: java.lang.Class<android.widget.Toolbar>;
			public getTitleMarginTop(): number;
			public setTitleTextColor(param0: number): void;
			public setNavigationContentDescription(param0: number): void;
			public generateLayoutParams(param0: android.util.AttributeSet): android.widget.Toolbar.LayoutParams;
			public getLogoDescription(): string;
			public setContentInsetsAbsolute(param0: number, param1: number): void;
			public setTitleMarginTop(param0: number): void;
			public generateLayoutParams(param0: android.util.AttributeSet): android.view.ViewGroup.LayoutParams;
			public onStopNestedScroll(param0: android.view.View): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public onMeasure(param0: number, param1: number): void;
			public getTitleMarginBottom(): number;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public addView(param0: android.view.View, param1: number, param2: number): void;
			public requestSendAccessibilityEvent(param0: android.view.View, param1: android.view.accessibility.AccessibilityEvent): boolean;
			public getPopupTheme(): number;
			public childHasTransientStateChanged(param0: android.view.View, param1: boolean): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public hideOverflowMenu(): boolean;
			public collapseActionView(): void;
			public getNavigationIcon(): android.graphics.drawable.Drawable;
			public onNestedScrollAccepted(param0: android.view.View, param1: android.view.View, param2: number): void;
			public keyboardNavigationClusterSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(param0: android.view.View): boolean;
			public getContentInsetLeft(): number;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public onDescendantInvalidated(param0: android.view.View, param1: android.view.View): void;
			public onDetachedFromWindow(): void;
			public sendAccessibilityEvent(param0: number): void;
			/** @deprecated */
			public invalidateChild(param0: android.view.View, param1: android.graphics.Rect): void;
			public setLogoDescription(param0: string): void;
			public setOverflowIcon(param0: android.graphics.drawable.Drawable): void;
			public requestTransparentRegion(param0: android.view.View): void;
			public setOnMenuItemClickListener(param0: android.widget.Toolbar.OnMenuItemClickListener): void;
			public canResolveTextAlignment(): boolean;
			public setTitleTextAppearance(param0: android.content.Context, param1: number): void;
			public getParent(): android.view.ViewParent;
			public onStartNestedScroll(param0: android.view.View, param1: android.view.View, param2: number): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public getLayoutDirection(): number;
			public requestChildFocus(param0: android.view.View, param1: android.view.View): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public focusSearch(param0: number): android.view.View;
			public recomputeViewAttributes(param0: android.view.View): void;
			public showOverflowMenu(): boolean;
			public isLayoutRequested(): boolean;
			public getLogo(): android.graphics.drawable.Drawable;
			public setTitleMarginBottom(param0: number): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public setLogoDescription(param0: number): void;
			public requestLayout(): void;
			public childDrawableStateChanged(param0: android.view.View): void;
			public addView(param0: android.view.View): void;
			public canResolveTextDirection(): boolean;
			/** @deprecated */
			public requestFitSystemWindows(): void;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public constructor(param0: android.content.Context);
			public setNavigationOnClickListener(param0: android.view.View.OnClickListener): void;
			public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public addView(param0: android.view.View, param1: number, param2: android.view.ViewGroup.LayoutParams): void;
			public onRtlPropertiesChanged(param0: number): void;
			public setSubtitleTextAppearance(param0: android.content.Context, param1: number): void;
			public requestFitSystemWindows(): void;
			public setSubtitleTextColor(param0: number): void;
			public setTitle(param0: string): void;
			public getNavigationContentDescription(): string;
			public getMenu(): android.view.Menu;
			public onLayout(param0: boolean, param1: number, param2: number, param3: number, param4: number): void;
			public getOverflowIcon(): android.graphics.drawable.Drawable;
			public setSubtitle(param0: number): void;
			public isLayoutDirectionResolved(): boolean;
			public focusableViewAvailable(param0: android.view.View): void;
			public createContextMenu(param0: android.view.ContextMenu): void;
			public dismissPopupMenus(): void;
			public setLogo(param0: number): void;
			public setNavigationIcon(param0: android.graphics.drawable.Drawable): void;
			public getContentInsetEnd(): number;
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public canResolveLayoutDirection(): boolean;
			public hasExpandedActionView(): boolean;
			public onNestedFling(param0: android.view.View, param1: number, param2: number, param3: boolean): boolean;
			public getTitleMarginStart(): number;
			public getCurrentContentInsetRight(): number;
			public onRestoreInstanceState(param0: android.os.Parcelable): void;
			public getTitle(): string;
			public getSubtitle(): string;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public getContentInsetStartWithNavigation(): number;
			public getParentForAccessibility(): android.view.ViewParent;
			public inflateMenu(param0: number): void;
			public generateLayoutParams(param0: android.view.ViewGroup.LayoutParams): android.widget.Toolbar.LayoutParams;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public setContentInsetStartWithNavigation(param0: number): void;
			public setContentInsetsRelative(param0: number, param1: number): void;
			/** @deprecated */
			public invalidateChildInParent(param0: native.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public setTitleMargin(param0: number, param1: number, param2: number, param3: number): void;
			public getContentInsetEndWithActions(): number;
			public getTitleMarginEnd(): number;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback): android.view.ActionMode;
			public generateDefaultLayoutParams(): android.widget.Toolbar.LayoutParams;
			public getTextAlignment(): number;
			public generateLayoutParams(param0: android.view.ViewGroup.LayoutParams): android.view.ViewGroup.LayoutParams;
			public getCurrentContentInsetStart(): number;
			public generateDefaultLayoutParams(): android.view.ViewGroup.LayoutParams;
			public requestChildRectangleOnScreen(param0: android.view.View, param1: android.graphics.Rect, param2: boolean): boolean;
			public onNestedScroll(param0: android.view.View, param1: number, param2: number, param3: number, param4: number): void;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: native.Array<number>): void;
			public onSaveInstanceState(): android.os.Parcelable;
			public onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public setTitleMarginEnd(param0: number): void;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public getCurrentContentInsetEnd(): number;
			public setLogo(param0: android.graphics.drawable.Drawable): void;
			public getContentInsetStart(): number;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			public setNavigationIcon(param0: number): void;
			public setContentInsetEndWithActions(param0: number): void;
			public checkLayoutParams(param0: android.view.ViewGroup.LayoutParams): boolean;
			public isTextAlignmentResolved(): boolean;
			public removeView(param0: android.view.View): void;
			public isOverflowMenuShowing(): boolean;
			public clearChildFocus(param0: android.view.View): void;
			public getTextDirection(): number;
			public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public setTitle(param0: number): void;
			public onTouchEvent(param0: android.view.MotionEvent): boolean;
			public requestDisallowInterceptTouchEvent(param0: boolean): void;
			public isTextDirectionResolved(): boolean;
			public setSubtitle(param0: string): void;
			public setTitleMarginStart(param0: number): void;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public getContentInsetRight(): number;
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public onAttachedToWindow(): void;
			public setPopupTheme(param0: number): void;
			public setNavigationContentDescription(param0: string): void;
			public notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public getCurrentContentInsetLeft(): number;
			public addView(param0: android.view.View, param1: number): void;
		}
		export module Toolbar {
			export class LayoutParams extends android.app.ActionBar.LayoutParams {
				public static class: java.lang.Class<android.widget.Toolbar.LayoutParams>;
				public constructor(param0: number, param1: number);
				public constructor(param0: android.view.ViewGroup.LayoutParams);
				public constructor(param0: android.view.ViewGroup.MarginLayoutParams);
				public constructor(param0: number, param1: number, param2: number);
				public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
				public constructor(param0: android.widget.Toolbar.LayoutParams);
				public constructor(param0: number);
				public constructor(param0: android.app.ActionBar.LayoutParams);
			}
			export class OnMenuItemClickListener extends java.lang.Object {
				public static class: java.lang.Class<android.widget.Toolbar.OnMenuItemClickListener>;
				/**
				 * Constructs a new instance of the android.widget.Toolbar$OnMenuItemClickListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onMenuItemClick(param0: android.view.MenuItem): boolean;
				});
				public constructor();
				public onMenuItemClick(param0: android.view.MenuItem): boolean;
			}
		}
	}
}

declare module android {
	export module widget {
		export class TwoLineListItem extends android.widget.RelativeLayout {
			public static class: java.lang.Class<android.widget.TwoLineListItem>;
			public getText1(): android.widget.TextView;
			public isLayoutDirectionResolved(): boolean;
			public onStopNestedScroll(param0: android.view.View): void;
			public focusableViewAvailable(param0: android.view.View): void;
			public createContextMenu(param0: android.view.ContextMenu): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public addView(param0: android.view.View, param1: number, param2: number): void;
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public requestSendAccessibilityEvent(param0: android.view.View, param1: android.view.accessibility.AccessibilityEvent): boolean;
			public onFinishInflate(): void;
			public childHasTransientStateChanged(param0: android.view.View, param1: boolean): void;
			public canResolveLayoutDirection(): boolean;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public onNestedScrollAccepted(param0: android.view.View, param1: android.view.View, param2: number): void;
			public keyboardNavigationClusterSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(param0: android.view.View): boolean;
			public onNestedFling(param0: android.view.View, param1: number, param2: number, param3: boolean): boolean;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public onDescendantInvalidated(param0: android.view.View, param1: android.view.View): void;
			public sendAccessibilityEvent(param0: number): void;
			/** @deprecated */
			public invalidateChild(param0: android.view.View, param1: android.graphics.Rect): void;
			public requestTransparentRegion(param0: android.view.View): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public getParentForAccessibility(): android.view.ViewParent;
			public canResolveTextAlignment(): boolean;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public getParent(): android.view.ViewParent;
			/** @deprecated */
			public invalidateChildInParent(param0: native.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public onStartNestedScroll(param0: android.view.View, param1: android.view.View, param2: number): boolean;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback): android.view.ActionMode;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public getLayoutDirection(): number;
			public getTextAlignment(): number;
			public requestChildFocus(param0: android.view.View, param1: android.view.View): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public requestChildRectangleOnScreen(param0: android.view.View, param1: android.graphics.Rect, param2: boolean): boolean;
			public onNestedScroll(param0: android.view.View, param1: number, param2: number, param3: number, param4: number): void;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: native.Array<number>): void;
			public onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public getAccessibilityClassName(): string;
			public focusSearch(param0: number): android.view.View;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public recomputeViewAttributes(param0: android.view.View): void;
			public isLayoutRequested(): boolean;
			public getText2(): android.widget.TextView;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			public requestLayout(): void;
			public childDrawableStateChanged(param0: android.view.View): void;
			public isTextAlignmentResolved(): boolean;
			public addView(param0: android.view.View): void;
			public removeView(param0: android.view.View): void;
			public clearChildFocus(param0: android.view.View): void;
			public canResolveTextDirection(): boolean;
			public getTextDirection(): number;
			public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			/** @deprecated */
			public requestFitSystemWindows(): void;
			public requestDisallowInterceptTouchEvent(param0: boolean): void;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public isTextDirectionResolved(): boolean;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public constructor(param0: android.content.Context);
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public addView(param0: android.view.View, param1: number, param2: android.view.ViewGroup.LayoutParams): void;
			public notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public requestFitSystemWindows(): void;
			public addView(param0: android.view.View, param1: number): void;
		}
	}
}

declare module android {
	export module widget {
		export class VideoView extends android.view.SurfaceView implements android.widget.MediaController.MediaPlayerControl {
			public static class: java.lang.Class<android.widget.VideoView>;
			public getAccessibilityClassName(): string;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public onLayout(param0: boolean, param1: number, param2: number, param3: number, param4: number): void;
			public getDuration(): number;
			public setAudioAttributes(param0: any): void;
			public canPause(): boolean;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public onMeasure(param0: number, param1: number): void;
			public getBufferPercentage(): number;
			public isPlaying(): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public pause(): void;
			public setVideoPath(param0: string): void;
			public setOnErrorListener(param0: android.media.MediaPlayer.OnErrorListener): void;
			public resume(): void;
			public setOnPreparedListener(param0: android.media.MediaPlayer.OnPreparedListener): void;
			public setMediaController(param0: android.widget.MediaController): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public setVideoURI(param0: android.net.Uri, param1: java.util.Map<string,string>): void;
			public setAudioFocusRequest(param0: number): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public start(): void;
			public onDetachedFromWindow(): void;
			public draw(param0: android.graphics.Canvas): void;
			public sendAccessibilityEvent(param0: number): void;
			public stopPlayback(): void;
			public canSeekBackward(): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public seekTo(param0: number): void;
			public getCurrentPosition(): number;
			public onTouchEvent(param0: android.view.MotionEvent): boolean;
			public suspend(): void;
			public addSubtitleSource(param0: java.io.InputStream, param1: android.media.MediaFormat): void;
			public onTrackballEvent(param0: android.view.MotionEvent): boolean;
			public setVideoURI(param0: android.net.Uri): void;
			public canSeekForward(): boolean;
			public getAudioSessionId(): number;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public resolveAdjustedSize(param0: number, param1: number): number;
			public constructor(param0: android.content.Context);
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public setOnInfoListener(param0: android.media.MediaPlayer.OnInfoListener): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public onAttachedToWindow(): void;
			public setOnCompletionListener(param0: android.media.MediaPlayer.OnCompletionListener): void;
		}
	}
}

declare module android {
	export module widget {
		export class ViewAnimator extends android.widget.FrameLayout {
			public static class: java.lang.Class<android.widget.ViewAnimator>;
			public setInAnimation(param0: android.content.Context, param1: number): void;
			public isLayoutDirectionResolved(): boolean;
			public onStopNestedScroll(param0: android.view.View): void;
			public focusableViewAvailable(param0: android.view.View): void;
			public createContextMenu(param0: android.view.ContextMenu): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public setOutAnimation(param0: android.content.Context, param1: number): void;
			public addView(param0: android.view.View, param1: number, param2: number): void;
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public requestSendAccessibilityEvent(param0: android.view.View, param1: android.view.accessibility.AccessibilityEvent): boolean;
			public childHasTransientStateChanged(param0: android.view.View, param1: boolean): void;
			public canResolveLayoutDirection(): boolean;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public setInAnimation(param0: android.view.animation.Animation): void;
			public onNestedScrollAccepted(param0: android.view.View, param1: android.view.View, param2: number): void;
			public keyboardNavigationClusterSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(param0: android.view.View): boolean;
			public onNestedFling(param0: android.view.View, param1: number, param2: number, param3: boolean): boolean;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public onDescendantInvalidated(param0: android.view.View, param1: android.view.View): void;
			public setDisplayedChild(param0: number): void;
			public sendAccessibilityEvent(param0: number): void;
			/** @deprecated */
			public invalidateChild(param0: android.view.View, param1: android.graphics.Rect): void;
			public getOutAnimation(): android.view.animation.Animation;
			public removeViewsInLayout(param0: number, param1: number): void;
			public getInAnimation(): android.view.animation.Animation;
			public requestTransparentRegion(param0: android.view.View): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public getParentForAccessibility(): android.view.ViewParent;
			public canResolveTextAlignment(): boolean;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public getParent(): android.view.ViewParent;
			/** @deprecated */
			public invalidateChildInParent(param0: native.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public onStartNestedScroll(param0: android.view.View, param1: android.view.View, param2: number): boolean;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback): android.view.ActionMode;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public removeViewInLayout(param0: android.view.View): void;
			public getLayoutDirection(): number;
			public getTextAlignment(): number;
			public requestChildFocus(param0: android.view.View, param1: android.view.View): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public requestChildRectangleOnScreen(param0: android.view.View, param1: android.graphics.Rect, param2: boolean): boolean;
			public onNestedScroll(param0: android.view.View, param1: number, param2: number, param3: number, param4: number): void;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: native.Array<number>): void;
			public onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public getAccessibilityClassName(): string;
			public focusSearch(param0: number): android.view.View;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public recomputeViewAttributes(param0: android.view.View): void;
			public showNext(): void;
			public setAnimateFirstView(param0: boolean): void;
			public isLayoutRequested(): boolean;
			public getAnimateFirstView(): boolean;
			public getDisplayedChild(): number;
			public removeViews(param0: number, param1: number): void;
			public removeAllViews(): void;
			public removeViewAt(param0: number): void;
			public showPrevious(): void;
			public getCurrentView(): android.view.View;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			public getBaseline(): number;
			public requestLayout(): void;
			public addView(param0: android.view.View): void;
			public childDrawableStateChanged(param0: android.view.View): void;
			public isTextAlignmentResolved(): boolean;
			public removeView(param0: android.view.View): void;
			public clearChildFocus(param0: android.view.View): void;
			public canResolveTextDirection(): boolean;
			public getTextDirection(): number;
			public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			/** @deprecated */
			public requestFitSystemWindows(): void;
			public requestDisallowInterceptTouchEvent(param0: boolean): void;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public isTextDirectionResolved(): boolean;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public constructor(param0: android.content.Context);
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public addView(param0: android.view.View, param1: number, param2: android.view.ViewGroup.LayoutParams): void;
			public setOutAnimation(param0: android.view.animation.Animation): void;
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public addView(param0: android.view.View, param1: number): void;
			public requestFitSystemWindows(): void;
		}
	}
}

declare module android {
	export module widget {
		export class ViewFlipper extends android.widget.ViewAnimator {
			public static class: java.lang.Class<android.widget.ViewFlipper>;
			public startFlipping(): void;
			public isLayoutDirectionResolved(): boolean;
			public onStopNestedScroll(param0: android.view.View): void;
			public focusableViewAvailable(param0: android.view.View): void;
			public createContextMenu(param0: android.view.ContextMenu): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public addView(param0: android.view.View, param1: number, param2: number): void;
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public requestSendAccessibilityEvent(param0: android.view.View, param1: android.view.accessibility.AccessibilityEvent): boolean;
			public childHasTransientStateChanged(param0: android.view.View, param1: boolean): void;
			public canResolveLayoutDirection(): boolean;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public stopFlipping(): void;
			public onNestedScrollAccepted(param0: android.view.View, param1: android.view.View, param2: number): void;
			public keyboardNavigationClusterSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(param0: android.view.View): boolean;
			public onNestedFling(param0: android.view.View, param1: number, param2: number, param3: boolean): boolean;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public onDescendantInvalidated(param0: android.view.View, param1: android.view.View): void;
			public onDetachedFromWindow(): void;
			public sendAccessibilityEvent(param0: number): void;
			/** @deprecated */
			public invalidateChild(param0: android.view.View, param1: android.graphics.Rect): void;
			public requestTransparentRegion(param0: android.view.View): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public getParentForAccessibility(): android.view.ViewParent;
			public canResolveTextAlignment(): boolean;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public getParent(): android.view.ViewParent;
			/** @deprecated */
			public invalidateChildInParent(param0: native.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public onStartNestedScroll(param0: android.view.View, param1: android.view.View, param2: number): boolean;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback): android.view.ActionMode;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public getLayoutDirection(): number;
			public setFlipInterval(param0: number): void;
			public getTextAlignment(): number;
			public requestChildFocus(param0: android.view.View, param1: android.view.View): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public requestChildRectangleOnScreen(param0: android.view.View, param1: android.graphics.Rect, param2: boolean): boolean;
			public onNestedScroll(param0: android.view.View, param1: number, param2: number, param3: number, param4: number): void;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: native.Array<number>): void;
			public onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public getAccessibilityClassName(): string;
			public focusSearch(param0: number): android.view.View;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public recomputeViewAttributes(param0: android.view.View): void;
			public isLayoutRequested(): boolean;
			public isAutoStart(): boolean;
			public onWindowVisibilityChanged(param0: number): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			public requestLayout(): void;
			public childDrawableStateChanged(param0: android.view.View): void;
			public isTextAlignmentResolved(): boolean;
			public addView(param0: android.view.View): void;
			public removeView(param0: android.view.View): void;
			public clearChildFocus(param0: android.view.View): void;
			public isFlipping(): boolean;
			public canResolveTextDirection(): boolean;
			public getTextDirection(): number;
			public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			/** @deprecated */
			public requestFitSystemWindows(): void;
			public requestDisallowInterceptTouchEvent(param0: boolean): void;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public isTextDirectionResolved(): boolean;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public setAutoStart(param0: boolean): void;
			public constructor(param0: android.content.Context);
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public addView(param0: android.view.View, param1: number, param2: android.view.ViewGroup.LayoutParams): void;
			public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public onAttachedToWindow(): void;
			public notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public requestFitSystemWindows(): void;
			public addView(param0: android.view.View, param1: number): void;
		}
	}
}

declare module android {
	export module widget {
		export class ViewSwitcher extends android.widget.ViewAnimator {
			public static class: java.lang.Class<android.widget.ViewSwitcher>;
			public getNextView(): android.view.View;
			public isLayoutDirectionResolved(): boolean;
			public onStopNestedScroll(param0: android.view.View): void;
			public focusableViewAvailable(param0: android.view.View): void;
			public createContextMenu(param0: android.view.ContextMenu): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public addView(param0: android.view.View, param1: number, param2: number): void;
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public requestSendAccessibilityEvent(param0: android.view.View, param1: android.view.accessibility.AccessibilityEvent): boolean;
			public childHasTransientStateChanged(param0: android.view.View, param1: boolean): void;
			public canResolveLayoutDirection(): boolean;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public onNestedScrollAccepted(param0: android.view.View, param1: android.view.View, param2: number): void;
			public keyboardNavigationClusterSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(param0: android.view.View): boolean;
			public onNestedFling(param0: android.view.View, param1: number, param2: number, param3: boolean): boolean;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public onDescendantInvalidated(param0: android.view.View, param1: android.view.View): void;
			public sendAccessibilityEvent(param0: number): void;
			/** @deprecated */
			public invalidateChild(param0: android.view.View, param1: android.graphics.Rect): void;
			public requestTransparentRegion(param0: android.view.View): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public getParentForAccessibility(): android.view.ViewParent;
			public canResolveTextAlignment(): boolean;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public getParent(): android.view.ViewParent;
			/** @deprecated */
			public invalidateChildInParent(param0: native.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public onStartNestedScroll(param0: android.view.View, param1: android.view.View, param2: number): boolean;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback): android.view.ActionMode;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public getLayoutDirection(): number;
			public getTextAlignment(): number;
			public requestChildFocus(param0: android.view.View, param1: android.view.View): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public requestChildRectangleOnScreen(param0: android.view.View, param1: android.graphics.Rect, param2: boolean): boolean;
			public onNestedScroll(param0: android.view.View, param1: number, param2: number, param3: number, param4: number): void;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: native.Array<number>): void;
			public onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public getAccessibilityClassName(): string;
			public focusSearch(param0: number): android.view.View;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public recomputeViewAttributes(param0: android.view.View): void;
			public isLayoutRequested(): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public setFactory(param0: android.widget.ViewSwitcher.ViewFactory): void;
			public reset(): void;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			public requestLayout(): void;
			public addView(param0: android.view.View): void;
			public childDrawableStateChanged(param0: android.view.View): void;
			public isTextAlignmentResolved(): boolean;
			public removeView(param0: android.view.View): void;
			public clearChildFocus(param0: android.view.View): void;
			public canResolveTextDirection(): boolean;
			public getTextDirection(): number;
			public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			/** @deprecated */
			public requestFitSystemWindows(): void;
			public requestDisallowInterceptTouchEvent(param0: boolean): void;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public isTextDirectionResolved(): boolean;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public constructor(param0: android.content.Context);
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public addView(param0: android.view.View, param1: number, param2: android.view.ViewGroup.LayoutParams): void;
			public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public addView(param0: android.view.View, param1: number): void;
			public requestFitSystemWindows(): void;
		}
		export module ViewSwitcher {
			export class ViewFactory extends java.lang.Object {
				public static class: java.lang.Class<android.widget.ViewSwitcher.ViewFactory>;
				/**
				 * Constructs a new instance of the android.widget.ViewSwitcher$ViewFactory interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					makeView(): android.view.View;
				});
				public constructor();
				public makeView(): android.view.View;
			}
		}
	}
}

declare module android {
	export module widget {
		export class WrapperListAdapter extends java.lang.Object implements android.widget.ListAdapter {
			public static class: java.lang.Class<android.widget.WrapperListAdapter>;
			/**
			 * Constructs a new instance of the android.widget.WrapperListAdapter interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				getWrappedAdapter(): android.widget.ListAdapter;
				areAllItemsEnabled(): boolean;
				isEnabled(param0: number): boolean;
				registerDataSetObserver(param0: android.database.DataSetObserver): void;
				unregisterDataSetObserver(param0: android.database.DataSetObserver): void;
				getCount(): number;
				getItem(param0: number): any;
				getItemId(param0: number): number;
				hasStableIds(): boolean;
				getView(param0: number, param1: android.view.View, param2: android.view.ViewGroup): android.view.View;
				getItemViewType(param0: number): number;
				getViewTypeCount(): number;
				isEmpty(): boolean;
				getAutofillOptions(): native.Array<string>;
			});
			public constructor();
			public static NO_SELECTION: number;
			public static IGNORE_ITEM_VIEW_TYPE: number;
			public getItem(param0: number): any;
			public registerDataSetObserver(param0: android.database.DataSetObserver): void;
			public isEmpty(): boolean;
			public getItemId(param0: number): number;
			public getAutofillOptions(): native.Array<string>;
			public hasStableIds(): boolean;
			public unregisterDataSetObserver(param0: android.database.DataSetObserver): void;
			public getView(param0: number, param1: android.view.View, param2: android.view.ViewGroup): android.view.View;
			public getWrappedAdapter(): android.widget.ListAdapter;
			public getItemViewType(param0: number): number;
			public getViewTypeCount(): number;
			public areAllItemsEnabled(): boolean;
			public isEnabled(param0: number): boolean;
			public getCount(): number;
		}
	}
}

declare module android {
	export module widget {
		export class ZoomButton extends android.widget.ImageButton implements android.view.View.OnLongClickListener {
			public static class: java.lang.Class<android.widget.ZoomButton>;
			public getAccessibilityClassName(): string;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public onTouchEvent(param0: android.view.MotionEvent): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public setZoomSpeed(param0: number): void;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public constructor(param0: android.content.Context);
			public onLongClick(param0: android.view.View): boolean;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public setEnabled(param0: boolean): void;
			public dispatchUnhandledMove(param0: android.view.View, param1: number): boolean;
			public sendAccessibilityEvent(param0: number): void;
		}
	}
}

declare module android {
	export module widget {
		export class ZoomButtonsController extends java.lang.Object implements android.view.View.OnTouchListener {
			public static class: java.lang.Class<android.widget.ZoomButtonsController>;
			public getZoomControls(): android.view.View;
			public setFocusable(param0: boolean): void;
			public setAutoDismissed(param0: boolean): void;
			public getContainer(): android.view.ViewGroup;
			public setVisible(param0: boolean): void;
			public setZoomOutEnabled(param0: boolean): void;
			public isVisible(): boolean;
			public isAutoDismissed(): boolean;
			public setZoomSpeed(param0: number): void;
			public constructor(param0: android.view.View);
			public setZoomInEnabled(param0: boolean): void;
			public setOnZoomListener(param0: android.widget.ZoomButtonsController.OnZoomListener): void;
			public onTouch(param0: android.view.View, param1: android.view.MotionEvent): boolean;
		}
		export module ZoomButtonsController {
			export class OnZoomListener extends java.lang.Object {
				public static class: java.lang.Class<android.widget.ZoomButtonsController.OnZoomListener>;
				/**
				 * Constructs a new instance of the android.widget.ZoomButtonsController$OnZoomListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					onVisibilityChanged(param0: boolean): void;
					onZoom(param0: boolean): void;
				});
				public constructor();
				public onVisibilityChanged(param0: boolean): void;
				public onZoom(param0: boolean): void;
			}
		}
	}
}

declare module android {
	export module widget {
		export class ZoomControls extends android.widget.LinearLayout {
			public static class: java.lang.Class<android.widget.ZoomControls>;
			public isLayoutDirectionResolved(): boolean;
			public onStopNestedScroll(param0: android.view.View): void;
			public focusableViewAvailable(param0: android.view.View): void;
			public createContextMenu(param0: android.view.ContextMenu): void;
			public sendAccessibilityEventUnchecked(param0: android.view.accessibility.AccessibilityEvent): void;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number);
			public addView(param0: android.view.View, param1: number, param2: number): void;
			public focusSearch(param0: android.view.View, param1: number): android.view.View;
			public requestSendAccessibilityEvent(param0: android.view.View, param1: android.view.accessibility.AccessibilityEvent): boolean;
			public setZoomSpeed(param0: number): void;
			public childHasTransientStateChanged(param0: android.view.View, param1: boolean): void;
			public canResolveLayoutDirection(): boolean;
			public onKeyDown(param0: number, param1: android.view.KeyEvent): boolean;
			public onNestedScrollAccepted(param0: android.view.View, param1: android.view.View, param2: number): void;
			public hide(): void;
			public keyboardNavigationClusterSearch(param0: android.view.View, param1: number): android.view.View;
			public showContextMenuForChild(param0: android.view.View): boolean;
			public onNestedFling(param0: android.view.View, param1: number, param2: number, param3: boolean): boolean;
			public bringChildToFront(param0: android.view.View): void;
			public onKeyLongPress(param0: number, param1: android.view.KeyEvent): boolean;
			public setIsZoomInEnabled(param0: boolean): void;
			public onDescendantInvalidated(param0: android.view.View, param1: android.view.View): void;
			public sendAccessibilityEvent(param0: number): void;
			/** @deprecated */
			public invalidateChild(param0: android.view.View, param1: android.graphics.Rect): void;
			public requestTransparentRegion(param0: android.view.View): void;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable): void;
			public getParentForAccessibility(): android.view.ViewParent;
			public canResolveTextAlignment(): boolean;
			public onNestedPrePerformAccessibilityAction(param0: android.view.View, param1: number, param2: android.os.Bundle): boolean;
			public getParent(): android.view.ViewParent;
			public setOnZoomOutClickListener(param0: android.view.View.OnClickListener): void;
			/** @deprecated */
			public invalidateChildInParent(param0: native.Array<number>, param1: android.graphics.Rect): android.view.ViewParent;
			public onStartNestedScroll(param0: android.view.View, param1: android.view.View, param2: number): boolean;
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback): android.view.ActionMode;
			public unscheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable): void;
			public getLayoutDirection(): number;
			public getTextAlignment(): number;
			public requestChildFocus(param0: android.view.View, param1: android.view.View): void;
			public invalidateDrawable(param0: android.graphics.drawable.Drawable): void;
			public requestChildRectangleOnScreen(param0: android.view.View, param1: android.graphics.Rect, param2: boolean): boolean;
			public onNestedScroll(param0: android.view.View, param1: number, param2: number, param3: number, param4: number): void;
			public onNestedPreScroll(param0: android.view.View, param1: number, param2: number, param3: native.Array<number>): void;
			public hasFocus(): boolean;
			public onNestedPreFling(param0: android.view.View, param1: number, param2: number): boolean;
			public show(): void;
			public getAccessibilityClassName(): string;
			public focusSearch(param0: number): android.view.View;
			public onKeyMultiple(param0: number, param1: number, param2: android.view.KeyEvent): boolean;
			public recomputeViewAttributes(param0: android.view.View): void;
			public isLayoutRequested(): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet, param2: number, param3: number);
			public startActionModeForChild(param0: android.view.View, param1: android.view.ActionMode.Callback, param2: number): android.view.ActionMode;
			public setOnZoomInClickListener(param0: android.view.View.OnClickListener): void;
			public requestLayout(): void;
			public childDrawableStateChanged(param0: android.view.View): void;
			public isTextAlignmentResolved(): boolean;
			public addView(param0: android.view.View): void;
			public removeView(param0: android.view.View): void;
			public clearChildFocus(param0: android.view.View): void;
			public canResolveTextDirection(): boolean;
			public getTextDirection(): number;
			public updateViewLayout(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public onTouchEvent(param0: android.view.MotionEvent): boolean;
			/** @deprecated */
			public requestFitSystemWindows(): void;
			public requestDisallowInterceptTouchEvent(param0: boolean): void;
			public getChildVisibleRect(param0: android.view.View, param1: android.graphics.Rect, param2: android.graphics.Point): boolean;
			public isTextDirectionResolved(): boolean;
			public onKeyUp(param0: number, param1: android.view.KeyEvent): boolean;
			public constructor(param0: android.content.Context);
			public setIsZoomOutEnabled(param0: boolean): void;
			public showContextMenuForChild(param0: android.view.View, param1: number, param2: number): boolean;
			public constructor(param0: android.content.Context, param1: android.util.AttributeSet);
			public scheduleDrawable(param0: android.graphics.drawable.Drawable, param1: java.lang.Runnable, param2: number): void;
			public addView(param0: android.view.View, param1: android.view.ViewGroup.LayoutParams): void;
			public addView(param0: android.view.View, param1: number, param2: android.view.ViewGroup.LayoutParams): void;
			public notifySubtreeAccessibilityStateChanged(param0: android.view.View, param1: android.view.View, param2: number): void;
			public requestFitSystemWindows(): void;
			public addView(param0: android.view.View, param1: number): void;
		}
	}
}

declare module androidx {
	export module annotation {
		export class RecentlyNonNull extends java.lang.Object implements java.lang.annotation.Annotation {
			public static class: java.lang.Class<androidx.annotation.RecentlyNonNull>;
			/**
			 * Constructs a new instance of the androidx.annotation.RecentlyNonNull interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				equals(param0: any): boolean;
				hashCode(): number;
				toString(): string;
				annotationType(): java.lang.Class<any>;
			});
			public constructor();
			public equals(param0: any): boolean;
			public toString(): string;
			public annotationType(): java.lang.Class<any>;
			public hashCode(): number;
		}
	}
}

declare module androidx {
	export module annotation {
		export class RecentlyNullable extends java.lang.Object implements java.lang.annotation.Annotation {
			public static class: java.lang.Class<androidx.annotation.RecentlyNullable>;
			/**
			 * Constructs a new instance of the androidx.annotation.RecentlyNullable interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				equals(param0: any): boolean;
				hashCode(): number;
				toString(): string;
				annotationType(): java.lang.Class<any>;
			});
			public constructor();
			public equals(param0: any): boolean;
			public toString(): string;
			public annotationType(): java.lang.Class<any>;
			public hashCode(): number;
		}
	}
}

declare module dalvik {
	export module annotation {
		export class TestTarget extends java.lang.Object implements java.lang.annotation.Annotation {
			public static class: java.lang.Class<dalvik.annotation.TestTarget>;
			/**
			 * Constructs a new instance of the dalvik.annotation.TestTarget interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				methodName(): string;
				conceptName(): string;
				methodArgs(): native.Array<java.lang.Class<any>>;
				equals(param0: any): boolean;
				hashCode(): number;
				toString(): string;
				annotationType(): java.lang.Class<any>;
			});
			public constructor();
			public equals(param0: any): boolean;
			public toString(): string;
			public methodName(): string;
			public methodArgs(): native.Array<java.lang.Class<any>>;
			public conceptName(): string;
			public annotationType(): java.lang.Class<any>;
			public hashCode(): number;
		}
	}
}

declare module dalvik {
	export module annotation {
		export class TestTargetClass extends java.lang.Object implements java.lang.annotation.Annotation {
			public static class: java.lang.Class<dalvik.annotation.TestTargetClass>;
			/**
			 * Constructs a new instance of the dalvik.annotation.TestTargetClass interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				value(): java.lang.Class<any>;
				equals(param0: any): boolean;
				hashCode(): number;
				toString(): string;
				annotationType(): java.lang.Class<any>;
			});
			public constructor();
			public equals(param0: any): boolean;
			public toString(): string;
			public value(): java.lang.Class<any>;
			public annotationType(): java.lang.Class<any>;
			public hashCode(): number;
		}
	}
}

declare module dalvik {
	export module bytecode {
		export class OpcodeInfo extends java.lang.Object {
			public static class: java.lang.Class<dalvik.bytecode.OpcodeInfo>;
			public static MAXIMUM_PACKED_VALUE: number;
			public static MAXIMUM_VALUE: number;
		}
	}
}

declare module dalvik {
	export module bytecode {
		export class Opcodes extends java.lang.Object {
			public static class: java.lang.Class<dalvik.bytecode.Opcodes>;
			/**
			 * Constructs a new instance of the dalvik.bytecode.Opcodes interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
			});
			public constructor();
			public static OP_IF_LTZ: number;
			public static OP_IPUT_WIDE_JUMBO: number;
			public static OP_DOUBLE_TO_LONG: number;
			public static OP_CONST_WIDE: number;
			public static OP_SHL_LONG_2ADDR: number;
			public static OP_SUB_DOUBLE_2ADDR: number;
			public static OP_SUB_INT_2ADDR: number;
			public static OP_MOVE_WIDE_16: number;
			public static OP_APUT: number;
			public static OP_SGET_WIDE: number;
			public static OP_IGET_CHAR_JUMBO: number;
			public static OP_INVOKE_STATIC: number;
			public static OP_MUL_FLOAT: number;
			public static OP_IPUT_QUICK: number;
			public static OP_LONG_TO_DOUBLE: number;
			public static OP_INT_TO_LONG: number;
			public static OP_INVOKE_STATIC_JUMBO: number;
			public static OP_OR_INT_LIT8: number;
			public static OP_XOR_INT: number;
			public static OP_GOTO_32: number;
			public static OP_INVOKE_INTERFACE_RANGE: number;
			public static OP_REM_INT_LIT8: number;
			public static OP_REM_DOUBLE_2ADDR: number;
			public static OP_ADD_INT_2ADDR: number;
			public static OP_INVOKE_VIRTUAL_RANGE: number;
			public static OP_NEW_ARRAY_JUMBO: number;
			public static OP_NEW_INSTANCE: number;
			public static OP_NOT_LONG: number;
			public static OP_AGET_SHORT: number;
			public static OP_REM_LONG: number;
			public static OP_APUT_CHAR: number;
			public static OP_SPUT_BYTE_JUMBO: number;
			public static OP_IF_LEZ: number;
			public static OP_MOVE_RESULT_WIDE: number;
			public static OP_SGET_CHAR_JUMBO: number;
			public static OP_INVOKE_SUPER_RANGE: number;
			public static OP_PACKED_SWITCH: number;
			public static OP_IPUT_BYTE_JUMBO: number;
			public static OP_REM_FLOAT_2ADDR: number;
			public static OP_SGET_BYTE: number;
			public static OP_ARRAY_LENGTH: number;
			public static OP_INVOKE_CUSTOM: number;
			public static OP_OR_LONG: number;
			public static OP_SHR_INT: number;
			public static OP_AND_LONG: number;
			public static OP_USHR_LONG: number;
			public static OP_SGET_BOOLEAN_JUMBO: number;
			public static OP_AGET: number;
			public static OP_SPUT_CHAR_JUMBO: number;
			public static OP_AGET_OBJECT: number;
			public static OP_SGET_SHORT_JUMBO: number;
			public static OP_GOTO_16: number;
			public static OP_INVOKE_VIRTUAL_QUICK_RANGE: number;
			public static OP_SGET_WIDE_JUMBO: number;
			public static OP_MOVE_RESULT: number;
			public static OP_USHR_INT_LIT8: number;
			public static OP_ADD_INT_LIT16: number;
			public static OP_IPUT_OBJECT: number;
			public static OP_INVOKE_INTERFACE: number;
			public static OP_MOVE_OBJECT_16: number;
			public static OP_SPUT_WIDE_VOLATILE: number;
			public static OP_INSTANCE_OF: number;
			public static OP_REM_INT_2ADDR: number;
			public static OP_MUL_FLOAT_2ADDR: number;
			public static OP_NOP: number;
			public static OP_XOR_LONG: number;
			public static OP_IPUT_OBJECT_JUMBO: number;
			public static OP_XOR_INT_2ADDR: number;
			public static OP_AGET_BYTE: number;
			public static OP_SUB_INT: number;
			public static OP_IGET_OBJECT_QUICK: number;
			public static OP_ADD_LONG_2ADDR: number;
			public static OP_IGET_QUICK: number;
			public static OP_SGET_BYTE_JUMBO: number;
			public static OP_SPUT_OBJECT: number;
			public static OP_SHR_INT_2ADDR: number;
			public static OP_APUT_OBJECT: number;
			public static OP_DIV_INT_LIT16: number;
			public static OP_NEG_FLOAT: number;
			public static OP_INVOKE_SUPER_JUMBO: number;
			public static OP_REM_FLOAT: number;
			public static OP_ADD_INT_LIT8: number;
			public static OP_ADD_FLOAT: number;
			public static OP_SPUT_WIDE: number;
			public static OP_CONST_CLASS_JUMBO: number;
			public static OP_REM_LONG_2ADDR: number;
			public static OP_INVOKE_DIRECT_RANGE: number;
			public static OP_MOVE_EXCEPTION: number;
			public static OP_XOR_INT_LIT16: number;
			public static OP_INVOKE_POLYMORPHIC_RANGE: number;
			public static OP_MUL_INT_2ADDR: number;
			public static OP_LONG_TO_FLOAT: number;
			public static OP_CONST_METHOD_HANDLE: number;
			public static OP_IGET_WIDE: number;
			public static OP_IGET_WIDE_QUICK: number;
			public static OP_DIV_FLOAT_2ADDR: number;
			public static OP_SPUT_BOOLEAN: number;
			public static OP_IGET_WIDE_JUMBO: number;
			public static OP_MOVE_FROM16: number;
			public static OP_SUB_LONG_2ADDR: number;
			public static OP_ADD_FLOAT_2ADDR: number;
			public static OP_IF_NEZ: number;
			public static OP_CONST_HIGH16: number;
			public static OP_AND_INT: number;
			public static OP_FILLED_NEW_ARRAY_JUMBO: number;
			public static OP_IPUT_CHAR_JUMBO: number;
			public static OP_THROW_VERIFICATION_ERROR: number;
			public static OP_SHR_LONG_2ADDR: number;
			public static OP_DOUBLE_TO_INT: number;
			public static OP_NEW_ARRAY: number;
			public static OP_SPUT_BYTE: number;
			public static OP_MOVE_RESULT_OBJECT: number;
			public static OP_IGET_JUMBO: number;
			public static OP_IF_NE: number;
			public static OP_IF_GTZ: number;
			public static OP_SUB_DOUBLE: number;
			public static OP_IGET_BOOLEAN_JUMBO: number;
			public static OP_CMPG_DOUBLE: number;
			public static OP_IGET_BOOLEAN: number;
			public static OP_SUB_LONG: number;
			public static OP_CONST_16: number;
			public static OP_SHR_INT_LIT8: number;
			public static OP_IGET_BYTE: number;
			public static OP_INT_TO_SHORT: number;
			public static OP_INVOKE_SUPER_QUICK: number;
			public static OP_IPUT_CHAR: number;
			public static OP_NEG_LONG: number;
			public static OP_DIV_LONG: number;
			public static OP_LONG_TO_INT: number;
			public static OP_SPUT_SHORT_JUMBO: number;
			public static OP_MUL_INT_LIT8: number;
			public static OP_IF_EQZ: number;
			public static OP_REM_INT: number;
			public static OP_SPUT_JUMBO: number;
			public static OP_IGET_WIDE_VOLATILE: number;
			public static OP_MUL_LONG_2ADDR: number;
			public static OP_AGET_WIDE: number;
			public static OP_IF_LT: number;
			public static OP_IF_GEZ: number;
			public static OP_CMPL_FLOAT: number;
			public static OP_CONST_METHOD_TYPE: number;
			public static OP_NEG_INT: number;
			public static OP_FLOAT_TO_LONG: number;
			public static OP_IPUT: number;
			public static OP_SGET_BOOLEAN: number;
			public static OP_IF_LE: number;
			public static OP_IPUT_BYTE: number;
			public static OP_CONST_WIDE_32: number;
			public static OP_USHR_LONG_2ADDR: number;
			public static OP_IPUT_SHORT: number;
			public static OP_MOVE_OBJECT_FROM16: number;
			public static OP_FLOAT_TO_INT: number;
			public static OP_FILLED_NEW_ARRAY: number;
			public static OP_IPUT_BOOLEAN_JUMBO: number;
			public static OP_AND_INT_LIT8: number;
			public static OP_INT_TO_DOUBLE: number;
			public static OP_SGET: number;
			public static OP_AND_LONG_2ADDR: number;
			public static OP_INT_TO_CHAR: number;
			public static OP_BREAKPOINT: number;
			public static OP_IGET_CHAR: number;
			public static OP_OR_INT_2ADDR: number;
			public static OP_ADD_DOUBLE_2ADDR: number;
			public static OP_CMP_LONG: number;
			public static OP_MONITOR_EXIT: number;
			public static OP_AND_INT_LIT16: number;
			public static OP_INVOKE_DIRECT_JUMBO: number;
			public static OP_MOVE_OBJECT: number;
			public static OP_IGET_SHORT_JUMBO: number;
			public static OP_SHL_LONG: number;
			public static OP_XOR_LONG_2ADDR: number;
			public static OP_DIV_FLOAT: number;
			public static OP_MOVE_16: number;
			public static OP_SPUT_OBJECT_JUMBO: number;
			public static OP_XOR_INT_LIT8: number;
			public static OP_CHECK_CAST_JUMBO: number;
			public static OP_DIV_DOUBLE: number;
			public static OP_IPUT_WIDE_QUICK: number;
			public static OP_SHL_INT_2ADDR: number;
			public static OP_SPARSE_SWITCH: number;
			public static OP_RSUB_INT_LIT8: number;
			public static OP_ADD_DOUBLE: number;
			public static OP_CONST: number;
			public static OP_IGET_OBJECT_JUMBO: number;
			public static OP_INSTANCE_OF_JUMBO: number;
			public static OP_INT_TO_FLOAT: number;
			public static OP_CONST_WIDE_16: number;
			public static OP_IGET: number;
			public static OP_AGET_BOOLEAN: number;
			public static OP_IPUT_JUMBO: number;
			public static OP_NEW_INSTANCE_JUMBO: number;
			public static OP_EXECUTE_INLINE: number;
			public static OP_INVOKE_VIRTUAL_QUICK: number;
			public static OP_MUL_INT: number;
			public static OP_SPUT_SHORT: number;
			public static OP_CONST_STRING_JUMBO: number;
			public static OP_IPUT_WIDE: number;
			public static OP_SGET_WIDE_VOLATILE: number;
			public static OP_CONST_STRING: number;
			public static OP_CONST_WIDE_HIGH16: number;
			public static OP_REM_DOUBLE: number;
			public static OP_IGET_OBJECT: number;
			public static OP_SPUT_BOOLEAN_JUMBO: number;
			public static OP_SPUT_CHAR: number;
			public static OP_FILLED_NEW_ARRAY_RANGE: number;
			public static OP_AGET_CHAR: number;
			public static OP_SGET_JUMBO: number;
			public static OP_APUT_BOOLEAN: number;
			public static OP_INVOKE_POLYMORPHIC: number;
			public static OP_RETURN_VOID: number;
			public static OP_USHR_INT: number;
			public static OP_MUL_INT_LIT16: number;
			public static OP_IPUT_OBJECT_QUICK: number;
			public static OP_INVOKE_STATIC_RANGE: number;
			public static OP_SPUT_WIDE_JUMBO: number;
			public static OP_IGET_SHORT: number;
			public static OP_IF_GT: number;
			public static OP_INVOKE_CUSTOM_RANGE: number;
			public static OP_CHECK_CAST: number;
			public static OP_CONST_4: number;
			public static OP_IGET_BYTE_JUMBO: number;
			public static OP_SGET_CHAR: number;
			public static OP_DIV_LONG_2ADDR: number;
			public static OP_INVOKE_INTERFACE_JUMBO: number;
			public static OP_INVOKE_VIRTUAL_JUMBO: number;
			public static OP_USHR_INT_2ADDR: number;
			public static OP_APUT_BYTE: number;
			public static OP_IF_GE: number;
			public static OP_INVOKE_SUPER: number;
			public static OP_CONST_CLASS: number;
			public static OP_REM_INT_LIT16: number;
			public static OP_OR_LONG_2ADDR: number;
			public static OP_GOTO: number;
			public static OP_MONITOR_ENTER: number;
			public static OP_INT_TO_BYTE: number;
			public static OP_RETURN_OBJECT: number;
			public static OP_OR_INT: number;
			public static OP_INVOKE_SUPER_QUICK_RANGE: number;
			public static OP_APUT_SHORT: number;
			public static OP_APUT_WIDE: number;
			public static OP_MUL_LONG: number;
			public static OP_RETURN_WIDE: number;
			public static OP_MOVE_WIDE_FROM16: number;
			public static OP_EXECUTE_INLINE_RANGE: number;
			public static OP_SUB_FLOAT: number;
			public static OP_IPUT_WIDE_VOLATILE: number;
			public static OP_INVOKE_DIRECT: number;
			public static OP_NEG_DOUBLE: number;
			public static OP_CMPG_FLOAT: number;
			public static OP_IF_EQ: number;
			public static OP_MOVE: number;
			public static OP_RETURN: number;
			public static OP_SHR_LONG: number;
			public static OP_SHL_INT_LIT8: number;
			public static OP_SGET_SHORT: number;
			public static OP_CMPL_DOUBLE: number;
			public static OP_MUL_DOUBLE_2ADDR: number;
			public static OP_DIV_INT: number;
			public static OP_MUL_DOUBLE: number;
			public static OP_DIV_INT_LIT8: number;
			public static OP_FILL_ARRAY_DATA: number;
			public static OP_DIV_INT_2ADDR: number;
			public static OP_IPUT_SHORT_JUMBO: number;
			public static OP_SPUT: number;
			public static OP_DOUBLE_TO_FLOAT: number;
			public static OP_AND_INT_2ADDR: number;
			public static OP_THROW: number;
			public static OP_SGET_OBJECT_JUMBO: number;
			public static OP_FLOAT_TO_DOUBLE: number;
			public static OP_NOT_INT: number;
			public static OP_IPUT_BOOLEAN: number;
			public static OP_SUB_FLOAT_2ADDR: number;
			public static OP_ADD_LONG: number;
			public static OP_OR_INT_LIT16: number;
			public static OP_INVOKE_DIRECT_EMPTY: number;
			public static OP_SGET_OBJECT: number;
			public static OP_INVOKE_VIRTUAL: number;
			public static OP_SHL_INT: number;
			public static OP_DIV_DOUBLE_2ADDR: number;
			public static OP_MOVE_WIDE: number;
			public static OP_RSUB_INT: number;
			public static OP_ADD_INT: number;
		}
	}
}

declare module dalvik {
	export module system {
		export class BaseDexClassLoader extends java.lang.ClassLoader {
			public static class: java.lang.Class<dalvik.system.BaseDexClassLoader>;
			public toString(): string;
			public findLibrary(param0: string): string;
			public findClass(param0: string): java.lang.Class<any>;
			public findResource(param0: string): java.net.URL;
			public constructor(param0: java.lang.ClassLoader);
			public getPackage(param0: string): java.lang.Package;
			public constructor(param0: string, param1: java.io.File, param2: string, param3: java.lang.ClassLoader);
			public constructor();
			public findResources(param0: string): java.util.Enumeration<java.net.URL>;
		}
	}
}

declare module dalvik {
	export module system {
		export class DelegateLastClassLoader extends dalvik.system.PathClassLoader {
			public static class: java.lang.Class<dalvik.system.DelegateLastClassLoader>;
			public constructor(param0: string, param1: java.lang.ClassLoader);
			public constructor(param0: java.lang.ClassLoader);
			public loadClass(param0: string, param1: boolean): java.lang.Class<any>;
			public getResources(param0: string): java.util.Enumeration<java.net.URL>;
			public constructor(param0: string, param1: java.io.File, param2: string, param3: java.lang.ClassLoader);
			public getResource(param0: string): java.net.URL;
			public constructor();
			public constructor(param0: string, param1: string, param2: java.lang.ClassLoader);
			public loadClass(param0: string): java.lang.Class<any>;
		}
	}
}

declare module dalvik {
	export module system {
		export class DexClassLoader extends dalvik.system.BaseDexClassLoader {
			public static class: java.lang.Class<dalvik.system.DexClassLoader>;
			public constructor(param0: java.lang.ClassLoader);
			public constructor(param0: string, param1: java.io.File, param2: string, param3: java.lang.ClassLoader);
			public constructor(param0: string, param1: string, param2: string, param3: java.lang.ClassLoader);
			public constructor();
		}
	}
}

declare module dalvik {
	export module system {
		export class DexFile extends java.lang.Object {
			public static class: java.lang.Class<dalvik.system.DexFile>;
			/** @deprecated */
			public constructor(param0: java.io.File);
			public toString(): string;
			public getName(): string;
			public entries(): java.util.Enumeration<string>;
			public static isDexOptNeeded(param0: string): boolean;
			public loadClass(param0: string, param1: java.lang.ClassLoader): java.lang.Class<any>;
			public close(): void;
			/** @deprecated */
			public static loadDex(param0: string, param1: string, param2: number): dalvik.system.DexFile;
			public finalize(): void;
			/** @deprecated */
			public constructor(param0: string);
		}
	}
}

declare module dalvik {
	export module system {
		export class InMemoryDexClassLoader extends dalvik.system.BaseDexClassLoader {
			public static class: java.lang.Class<dalvik.system.InMemoryDexClassLoader>;
			public constructor(param0: java.nio.ByteBuffer, param1: java.lang.ClassLoader);
			public constructor(param0: native.Array<java.nio.ByteBuffer>, param1: java.lang.ClassLoader);
			public constructor(param0: java.lang.ClassLoader);
			public constructor(param0: string, param1: java.io.File, param2: string, param3: java.lang.ClassLoader);
			public constructor();
		}
	}
}

declare module dalvik {
	export module system {
		export class PathClassLoader extends dalvik.system.BaseDexClassLoader {
			public static class: java.lang.Class<dalvik.system.PathClassLoader>;
			public constructor(param0: java.lang.ClassLoader);
			public constructor(param0: string, param1: java.lang.ClassLoader);
			public constructor(param0: string, param1: java.io.File, param2: string, param3: java.lang.ClassLoader);
			public constructor();
			public constructor(param0: string, param1: string, param2: java.lang.ClassLoader);
		}
	}
}

declare module java {
	export module awt {
		export module font {
			export class NumericShaper extends java.lang.Object implements java.io.Serializable {
				public static class: java.lang.Class<java.awt.font.NumericShaper>;
				public static ALL_RANGES: number;
				public static ARABIC: number;
				public static BENGALI: number;
				public static DEVANAGARI: number;
				public static EASTERN_ARABIC: number;
				public static ETHIOPIC: number;
				public static EUROPEAN: number;
				public static GUJARATI: number;
				public static GURMUKHI: number;
				public static KANNADA: number;
				public static KHMER: number;
				public static LAO: number;
				public static MALAYALAM: number;
				public static MONGOLIAN: number;
				public static MYANMAR: number;
				public static ORIYA: number;
				public static TAMIL: number;
				public static TELUGU: number;
				public static THAI: number;
				public static TIBETAN: number;
				public static getContextualShaper(param0: java.util.Set<java.awt.font.NumericShaper.Range>, param1: java.awt.font.NumericShaper.Range): java.awt.font.NumericShaper;
				public shape(param0: native.Array<string>, param1: number, param2: number, param3: number): void;
				public static getContextualShaper(param0: number): java.awt.font.NumericShaper;
				public shape(param0: native.Array<string>, param1: number, param2: number): void;
				public shape(param0: native.Array<string>, param1: number, param2: number, param3: java.awt.font.NumericShaper.Range): void;
				public static getShaper(param0: number): java.awt.font.NumericShaper;
				public getRanges(): number;
				public static getShaper(param0: java.awt.font.NumericShaper.Range): java.awt.font.NumericShaper;
				public isContextual(): boolean;
				public toString(): string;
				public static getContextualShaper(param0: number, param1: number): java.awt.font.NumericShaper;
				public static getContextualShaper(param0: java.util.Set<java.awt.font.NumericShaper.Range>): java.awt.font.NumericShaper;
				public hashCode(): number;
				public equals(param0: any): boolean;
				public getRangeSet(): java.util.Set<java.awt.font.NumericShaper.Range>;
			}
			export module NumericShaper {
				export class Range {
					public static class: java.lang.Class<java.awt.font.NumericShaper.Range>;
					public static EUROPEAN: java.awt.font.NumericShaper.Range;
					public static ARABIC: java.awt.font.NumericShaper.Range;
					public static EASTERN_ARABIC: java.awt.font.NumericShaper.Range;
					public static DEVANAGARI: java.awt.font.NumericShaper.Range;
					public static BENGALI: java.awt.font.NumericShaper.Range;
					public static GURMUKHI: java.awt.font.NumericShaper.Range;
					public static GUJARATI: java.awt.font.NumericShaper.Range;
					public static ORIYA: java.awt.font.NumericShaper.Range;
					public static TAMIL: java.awt.font.NumericShaper.Range;
					public static TELUGU: java.awt.font.NumericShaper.Range;
					public static KANNADA: java.awt.font.NumericShaper.Range;
					public static MALAYALAM: java.awt.font.NumericShaper.Range;
					public static THAI: java.awt.font.NumericShaper.Range;
					public static LAO: java.awt.font.NumericShaper.Range;
					public static TIBETAN: java.awt.font.NumericShaper.Range;
					public static MYANMAR: java.awt.font.NumericShaper.Range;
					public static ETHIOPIC: java.awt.font.NumericShaper.Range;
					public static KHMER: java.awt.font.NumericShaper.Range;
					public static MONGOLIAN: java.awt.font.NumericShaper.Range;
					public static NKO: java.awt.font.NumericShaper.Range;
					public static MYANMAR_SHAN: java.awt.font.NumericShaper.Range;
					public static LIMBU: java.awt.font.NumericShaper.Range;
					public static NEW_TAI_LUE: java.awt.font.NumericShaper.Range;
					public static BALINESE: java.awt.font.NumericShaper.Range;
					public static SUNDANESE: java.awt.font.NumericShaper.Range;
					public static LEPCHA: java.awt.font.NumericShaper.Range;
					public static OL_CHIKI: java.awt.font.NumericShaper.Range;
					public static VAI: java.awt.font.NumericShaper.Range;
					public static SAURASHTRA: java.awt.font.NumericShaper.Range;
					public static KAYAH_LI: java.awt.font.NumericShaper.Range;
					public static CHAM: java.awt.font.NumericShaper.Range;
					public static TAI_THAM_HORA: java.awt.font.NumericShaper.Range;
					public static TAI_THAM_THAM: java.awt.font.NumericShaper.Range;
					public static JAVANESE: java.awt.font.NumericShaper.Range;
					public static MEETEI_MAYEK: java.awt.font.NumericShaper.Range;
					public static valueOf(param0: string): java.awt.font.NumericShaper.Range;
					public static values(): native.Array<java.awt.font.NumericShaper.Range>;
					public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
				}
			}
		}
	}
}

declare module java {
	export module awt {
		export module font {
			export class TextAttribute extends java.text.AttributedCharacterIterator.Attribute {
				public static class: java.lang.Class<java.awt.font.TextAttribute>;
				public static BACKGROUND: java.awt.font.TextAttribute;
				public static BIDI_EMBEDDING: java.awt.font.TextAttribute;
				public static CHAR_REPLACEMENT: java.awt.font.TextAttribute;
				public static FAMILY: java.awt.font.TextAttribute;
				public static FONT: java.awt.font.TextAttribute;
				public static FOREGROUND: java.awt.font.TextAttribute;
				public static INPUT_METHOD_HIGHLIGHT: java.awt.font.TextAttribute;
				public static INPUT_METHOD_UNDERLINE: java.awt.font.TextAttribute;
				public static JUSTIFICATION: java.awt.font.TextAttribute;
				public static JUSTIFICATION_FULL: java.lang.Float;
				public static JUSTIFICATION_NONE: java.lang.Float;
				public static KERNING: java.awt.font.TextAttribute;
				public static KERNING_ON: java.lang.Integer;
				public static LIGATURES: java.awt.font.TextAttribute;
				public static LIGATURES_ON: java.lang.Integer;
				public static NUMERIC_SHAPING: java.awt.font.TextAttribute;
				public static POSTURE: java.awt.font.TextAttribute;
				public static POSTURE_OBLIQUE: java.lang.Float;
				public static POSTURE_REGULAR: java.lang.Float;
				public static RUN_DIRECTION: java.awt.font.TextAttribute;
				public static RUN_DIRECTION_LTR: java.lang.Boolean;
				public static RUN_DIRECTION_RTL: java.lang.Boolean;
				public static SIZE: java.awt.font.TextAttribute;
				public static STRIKETHROUGH: java.awt.font.TextAttribute;
				public static STRIKETHROUGH_ON: java.lang.Boolean;
				public static SUPERSCRIPT: java.awt.font.TextAttribute;
				public static SUPERSCRIPT_SUB: java.lang.Integer;
				public static SUPERSCRIPT_SUPER: java.lang.Integer;
				public static SWAP_COLORS: java.awt.font.TextAttribute;
				public static SWAP_COLORS_ON: java.lang.Boolean;
				public static TRACKING: java.awt.font.TextAttribute;
				public static TRACKING_LOOSE: java.lang.Float;
				public static TRACKING_TIGHT: java.lang.Float;
				public static TRANSFORM: java.awt.font.TextAttribute;
				public static UNDERLINE: java.awt.font.TextAttribute;
				public static UNDERLINE_LOW_DASHED: java.lang.Integer;
				public static UNDERLINE_LOW_DOTTED: java.lang.Integer;
				public static UNDERLINE_LOW_GRAY: java.lang.Integer;
				public static UNDERLINE_LOW_ONE_PIXEL: java.lang.Integer;
				public static UNDERLINE_LOW_TWO_PIXEL: java.lang.Integer;
				public static UNDERLINE_ON: java.lang.Integer;
				public static WEIGHT: java.awt.font.TextAttribute;
				public static WEIGHT_BOLD: java.lang.Float;
				public static WEIGHT_DEMIBOLD: java.lang.Float;
				public static WEIGHT_DEMILIGHT: java.lang.Float;
				public static WEIGHT_EXTRABOLD: java.lang.Float;
				public static WEIGHT_EXTRA_LIGHT: java.lang.Float;
				public static WEIGHT_HEAVY: java.lang.Float;
				public static WEIGHT_LIGHT: java.lang.Float;
				public static WEIGHT_MEDIUM: java.lang.Float;
				public static WEIGHT_REGULAR: java.lang.Float;
				public static WEIGHT_SEMIBOLD: java.lang.Float;
				public static WEIGHT_ULTRABOLD: java.lang.Float;
				public static WIDTH: java.awt.font.TextAttribute;
				public static WIDTH_CONDENSED: java.lang.Float;
				public static WIDTH_EXTENDED: java.lang.Float;
				public static WIDTH_REGULAR: java.lang.Float;
				public static WIDTH_SEMI_CONDENSED: java.lang.Float;
				public static WIDTH_SEMI_EXTENDED: java.lang.Float;
				public constructor(param0: string);
				public readResolve(): any;
			}
		}
	}
}

declare module java {
	export module beans {
		export class IndexedPropertyChangeEvent extends java.beans.PropertyChangeEvent {
			public static class: java.lang.Class<java.beans.IndexedPropertyChangeEvent>;
			public getIndex(): number;
			public constructor(param0: any, param1: string, param2: any, param3: any, param4: number);
			public constructor(param0: any, param1: string, param2: any, param3: any);
			public constructor(param0: any);
		}
	}
}

declare module java {
	export module beans {
		export class PropertyChangeEvent extends java.util.EventObject {
			public static class: java.lang.Class<java.beans.PropertyChangeEvent>;
			public toString(): string;
			public getOldValue(): any;
			public setPropagationId(param0: any): void;
			public getPropertyName(): string;
			public constructor(param0: any);
			public constructor(param0: any, param1: string, param2: any, param3: any);
			public getNewValue(): any;
			public getPropagationId(): any;
		}
	}
}

declare module java {
	export module beans {
		export class PropertyChangeListener extends java.lang.Object implements java.util.EventListener {
			public static class: java.lang.Class<java.beans.PropertyChangeListener>;
			/**
			 * Constructs a new instance of the java.beans.PropertyChangeListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				propertyChange(param0: java.beans.PropertyChangeEvent): void;
			});
			public constructor();
			public propertyChange(param0: java.beans.PropertyChangeEvent): void;
		}
	}
}

declare module java {
	export module beans {
		export class PropertyChangeListenerProxy extends java.util.EventListenerProxy<java.beans.PropertyChangeListener> implements java.beans.PropertyChangeListener  {
			public static class: java.lang.Class<java.beans.PropertyChangeListenerProxy>;
			public constructor(param0: string, param1: java.beans.PropertyChangeListener);
			public propertyChange(param0: java.beans.PropertyChangeEvent): void;
			public getPropertyName(): string;
			public constructor(param0: any);
		}
	}
}

declare module java {
	export module beans {
		export class PropertyChangeSupport extends java.lang.Object implements java.io.Serializable {
			public static class: java.lang.Class<java.beans.PropertyChangeSupport>;
			public getPropertyChangeListeners(param0: string): native.Array<java.beans.PropertyChangeListener>;
			public fireIndexedPropertyChange(param0: string, param1: number, param2: number, param3: number): void;
			public fireIndexedPropertyChange(param0: string, param1: number, param2: boolean, param3: boolean): void;
			public fireIndexedPropertyChange(param0: string, param1: number, param2: any, param3: any): void;
			public constructor(param0: any);
			public addPropertyChangeListener(param0: java.beans.PropertyChangeListener): void;
			public firePropertyChange(param0: string, param1: any, param2: any): void;
			public firePropertyChange(param0: string, param1: boolean, param2: boolean): void;
			public hasListeners(param0: string): boolean;
			public firePropertyChange(param0: java.beans.PropertyChangeEvent): void;
			public getPropertyChangeListeners(): native.Array<java.beans.PropertyChangeListener>;
			public removePropertyChangeListener(param0: java.beans.PropertyChangeListener): void;
			public addPropertyChangeListener(param0: string, param1: java.beans.PropertyChangeListener): void;
			public firePropertyChange(param0: string, param1: number, param2: number): void;
			public removePropertyChangeListener(param0: string, param1: java.beans.PropertyChangeListener): void;
		}
	}
}

declare module java {
	export module io {
		export class BufferedInputStream extends java.io.FilterInputStream {
			public static class: java.lang.Class<java.io.BufferedInputStream>;
			public buf: native.Array<number>;
			public count: number;
			public marklimit: number;
			public markpos: number;
			public pos: number;
			public markSupported(): boolean;
			public constructor(param0: java.io.InputStream, param1: number);
			public read(param0: native.Array<number>): number;
			public skip(param0: number): number;
			public reset(): void;
			public constructor(param0: java.io.InputStream);
			public read(param0: native.Array<number>, param1: number, param2: number): number;
			public constructor();
			public close(): void;
			public read(): number;
			public available(): number;
			public mark(param0: number): void;
		}
	}
}

declare module java {
	export module io {
		export class BufferedOutputStream extends java.io.FilterOutputStream {
			public static class: java.lang.Class<java.io.BufferedOutputStream>;
			public buf: native.Array<number>;
			public count: number;
			public flush(): void;
			public constructor(param0: java.io.OutputStream, param1: number);
			public write(param0: number): void;
			public constructor(param0: java.io.OutputStream);
			public write(param0: native.Array<number>, param1: number, param2: number): void;
			public constructor();
			public write(param0: native.Array<number>): void;
			public close(): void;
		}
	}
}

declare module java {
	export module io {
		export class BufferedReader extends java.io.Reader {
			public static class: java.lang.Class<java.io.BufferedReader>;
			public ready(): boolean;
			public readLine(): string;
			public markSupported(): boolean;
			public lines(): java.util.stream.Stream<string>;
			public read(param0: native.Array<string>, param1: number, param2: number): number;
			public constructor();
			public constructor(param0: any);
			public read(): number;
			public constructor(param0: java.io.Reader);
			public read(param0: native.Array<string>): number;
			public constructor(param0: java.io.Reader, param1: number);
			public read(param0: java.nio.CharBuffer): number;
			public skip(param0: number): number;
			public reset(): void;
			public close(): void;
			public mark(param0: number): void;
		}
	}
}

declare module java {
	export module io {
		export class BufferedWriter extends java.io.Writer {
			public static class: java.lang.Class<java.io.BufferedWriter>;
			public constructor(param0: java.io.Writer);
			public flush(): void;
			public write(param0: string, param1: number, param2: number): void;
			public write(param0: native.Array<string>, param1: number, param2: number): void;
			public write(param0: native.Array<string>): void;
			public append(param0: string, param1: number, param2: number): java.lang.Appendable;
			public constructor();
			public constructor(param0: any);
			public write(param0: string): void;
			public write(param0: number): void;
			public append(param0: string): java.io.Writer;
			public newLine(): void;
			public append(param0: string, param1: number, param2: number): java.io.Writer;
			public close(): void;
			public constructor(param0: java.io.Writer, param1: number);
			public append(param0: string): java.lang.Appendable;
		}
	}
}

declare module java {
	export module io {
		export class ByteArrayInputStream extends java.io.InputStream {
			public static class: java.lang.Class<java.io.ByteArrayInputStream>;
			public buf: native.Array<number>;
			public count: number;
			public pos: number;
			public markSupported(): boolean;
			public read(param0: native.Array<number>): number;
			public skip(param0: number): number;
			public reset(): void;
			public read(param0: native.Array<number>, param1: number, param2: number): number;
			public constructor();
			public constructor(param0: native.Array<number>);
			public close(): void;
			public constructor(param0: native.Array<number>, param1: number, param2: number);
			public read(): number;
			public available(): number;
			public mark(param0: number): void;
		}
	}
}

declare module java {
	export module io {
		export class ByteArrayOutputStream extends java.io.OutputStream {
			public static class: java.lang.Class<java.io.ByteArrayOutputStream>;
			public buf: native.Array<number>;
			public count: number;
			public flush(): void;
			public toByteArray(): native.Array<number>;
			public size(): number;
			/** @deprecated */
			public toString(param0: number): string;
			public constructor(param0: number);
			public constructor();
			public writeTo(param0: java.io.OutputStream): void;
			public toString(): string;
			public write(param0: number): void;
			public reset(): void;
			public write(param0: native.Array<number>, param1: number, param2: number): void;
			public write(param0: native.Array<number>): void;
			public toString(param0: string): string;
			public close(): void;
		}
	}
}

declare module java {
	export module io {
		export class CharArrayReader extends java.io.Reader {
			public static class: java.lang.Class<java.io.CharArrayReader>;
			public buf: native.Array<string>;
			public count: number;
			public markedPos: number;
			public pos: number;
			public ready(): boolean;
			public constructor(param0: native.Array<string>, param1: number, param2: number);
			public markSupported(): boolean;
			public read(param0: native.Array<string>, param1: number, param2: number): number;
			public constructor();
			public constructor(param0: any);
			public read(): number;
			public read(param0: native.Array<string>): number;
			public constructor(param0: native.Array<string>);
			public read(param0: java.nio.CharBuffer): number;
			public skip(param0: number): number;
			public reset(): void;
			public close(): void;
			public mark(param0: number): void;
		}
	}
}

declare module java {
	export module io {
		export class CharArrayWriter extends java.io.Writer {
			public static class: java.lang.Class<java.io.CharArrayWriter>;
			public buf: native.Array<string>;
			public count: number;
			public flush(): void;
			public size(): number;
			public append(param0: string, param1: number, param2: number): java.io.CharArrayWriter;
			public write(param0: string, param1: number, param2: number): void;
			public constructor(param0: number);
			public write(param0: native.Array<string>, param1: number, param2: number): void;
			public toCharArray(): native.Array<string>;
			public write(param0: native.Array<string>): void;
			public writeTo(param0: java.io.Writer): void;
			public append(param0: string, param1: number, param2: number): java.lang.Appendable;
			public constructor();
			public constructor(param0: any);
			public write(param0: string): void;
			public append(param0: string): java.io.CharArrayWriter;
			public toString(): string;
			public write(param0: number): void;
			public append(param0: string): java.io.Writer;
			public reset(): void;
			public append(param0: string, param1: number, param2: number): java.io.Writer;
			public close(): void;
			public append(param0: string): java.lang.Appendable;
		}
	}
}

declare module java {
	export module io {
		export class CharConversionException extends java.io.IOException {
			public static class: java.lang.Class<java.io.CharConversionException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module io {
		export class Closeable extends java.lang.Object implements java.lang.AutoCloseable {
			public static class: java.lang.Class<java.io.Closeable>;
			/**
			 * Constructs a new instance of the java.io.Closeable interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				close(): void;
				close(): void;
			});
			public constructor();
			public close(): void;
		}
	}
}

declare module java {
	export module io {
		export class Console extends java.lang.Object implements java.io.Flushable {
			public static class: java.lang.Class<java.io.Console>;
			public flush(): void;
			public readLine(): string;
			public writer(): java.io.PrintWriter;
			public reader(): java.io.Reader;
			public readLine(param0: string, param1: native.Array<any>): string;
			public readPassword(param0: string, param1: native.Array<any>): native.Array<string>;
			public format(param0: string, param1: native.Array<any>): java.io.Console;
			public printf(param0: string, param1: native.Array<any>): java.io.Console;
			public readPassword(): native.Array<string>;
		}
	}
}

declare module java {
	export module io {
		export class DataInput extends java.lang.Object {
			public static class: java.lang.Class<java.io.DataInput>;
			/**
			 * Constructs a new instance of the java.io.DataInput interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				readFully(param0: native.Array<number>): void;
				readFully(param0: native.Array<number>, param1: number, param2: number): void;
				skipBytes(param0: number): number;
				readBoolean(): boolean;
				readByte(): number;
				readUnsignedByte(): number;
				readShort(): number;
				readUnsignedShort(): number;
				readChar(): string;
				readInt(): number;
				readLong(): number;
				readFloat(): number;
				readDouble(): number;
				readLine(): string;
				readUTF(): string;
			});
			public constructor();
			public readLine(): string;
			public readUnsignedShort(): number;
			public readLong(): number;
			public readFully(param0: native.Array<number>, param1: number, param2: number): void;
			public readByte(): number;
			public readUnsignedByte(): number;
			public readBoolean(): boolean;
			public readShort(): number;
			public readDouble(): number;
			public skipBytes(param0: number): number;
			public readChar(): string;
			public readUTF(): string;
			public readInt(): number;
			public readFloat(): number;
			public readFully(param0: native.Array<number>): void;
		}
	}
}

declare module java {
	export module io {
		export class DataInputStream extends java.io.FilterInputStream implements java.io.DataInput {
			public static class: java.lang.Class<java.io.DataInputStream>;
			public readLine(): string;
			/** @deprecated */
			public readLine(): string;
			public readUnsignedShort(): number;
			public readLong(): number;
			public read(param0: native.Array<number>, param1: number, param2: number): number;
			public constructor();
			public readFully(param0: native.Array<number>, param1: number, param2: number): void;
			public readByte(): number;
			public readUnsignedByte(): number;
			public read(): number;
			public readBoolean(): boolean;
			public readShort(): number;
			public read(param0: native.Array<number>): number;
			public static readUTF(param0: java.io.DataInput): string;
			public readDouble(): number;
			public constructor(param0: java.io.InputStream);
			public skipBytes(param0: number): number;
			public readChar(): string;
			public readUTF(): string;
			public close(): void;
			public readInt(): number;
			public readFloat(): number;
			public readFully(param0: native.Array<number>): void;
		}
	}
}

declare module java {
	export module io {
		export class DataOutput extends java.lang.Object {
			public static class: java.lang.Class<java.io.DataOutput>;
			/**
			 * Constructs a new instance of the java.io.DataOutput interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				write(param0: number): void;
				write(param0: native.Array<number>): void;
				write(param0: native.Array<number>, param1: number, param2: number): void;
				writeBoolean(param0: boolean): void;
				writeByte(param0: number): void;
				writeShort(param0: number): void;
				writeChar(param0: number): void;
				writeInt(param0: number): void;
				writeLong(param0: number): void;
				writeFloat(param0: number): void;
				writeDouble(param0: number): void;
				writeBytes(param0: string): void;
				writeChars(param0: string): void;
				writeUTF(param0: string): void;
			});
			public constructor();
			public writeInt(param0: number): void;
			public writeLong(param0: number): void;
			public writeUTF(param0: string): void;
			public writeByte(param0: number): void;
			public writeDouble(param0: number): void;
			public writeBoolean(param0: boolean): void;
			public writeFloat(param0: number): void;
			public writeBytes(param0: string): void;
			public writeShort(param0: number): void;
			public write(param0: number): void;
			public writeChar(param0: number): void;
			public write(param0: native.Array<number>, param1: number, param2: number): void;
			public write(param0: native.Array<number>): void;
			public writeChars(param0: string): void;
		}
	}
}

declare module java {
	export module io {
		export class DataOutputStream extends java.io.FilterOutputStream implements java.io.DataOutput {
			public static class: java.lang.Class<java.io.DataOutputStream>;
			public written: number;
			public flush(): void;
			public size(): number;
			public writeInt(param0: number): void;
			public writeLong(param0: number): void;
			public writeUTF(param0: string): void;
			public writeByte(param0: number): void;
			public writeDouble(param0: number): void;
			public constructor();
			public writeBoolean(param0: boolean): void;
			public writeFloat(param0: number): void;
			public writeBytes(param0: string): void;
			public writeShort(param0: number): void;
			public write(param0: number): void;
			public writeChar(param0: number): void;
			public constructor(param0: java.io.OutputStream);
			public write(param0: native.Array<number>, param1: number, param2: number): void;
			public write(param0: native.Array<number>): void;
			public close(): void;
			public writeChars(param0: string): void;
		}
	}
}

declare module java {
	export module io {
		export class EOFException extends java.io.IOException {
			public static class: java.lang.Class<java.io.EOFException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module io {
		export class Externalizable extends java.lang.Object implements java.io.Serializable {
			public static class: java.lang.Class<java.io.Externalizable>;
			/**
			 * Constructs a new instance of the java.io.Externalizable interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				writeExternal(param0: java.io.ObjectOutput): void;
				readExternal(param0: java.io.ObjectInput): void;
			});
			public constructor();
			public readExternal(param0: java.io.ObjectInput): void;
			public writeExternal(param0: java.io.ObjectOutput): void;
		}
	}
}

declare module java {
	export module io {
		export class File extends java.lang.Object {
			public static class: java.lang.Class<java.io.File>;
			public static pathSeparator: string;
			public static pathSeparatorChar: string;
			public static separator: string;
			public static separatorChar: string;
			public canWrite(): boolean;
			public getParentFile(): java.io.File;
			public getTotalSpace(): number;
			public getFreeSpace(): number;
			public getParent(): string;
			public getAbsoluteFile(): java.io.File;
			public isDirectory(): boolean;
			public constructor(param0: java.io.File, param1: string);
			public toPath(): java.nio.file.Path;
			public canExecute(): boolean;
			public static createTempFile(param0: string, param1: string, param2: java.io.File): java.io.File;
			public constructor(param0: java.net.URI);
			public setLastModified(param0: number): boolean;
			public setExecutable(param0: boolean, param1: boolean): boolean;
			public constructor(param0: string);
			public getUsableSpace(): number;
			public toURI(): java.net.URI;
			public mkdir(): boolean;
			public compareTo(param0: java.io.File): number;
			public isHidden(): boolean;
			public lastModified(): number;
			public isFile(): boolean;
			public list(param0: java.io.FilenameFilter): native.Array<string>;
			public equals(param0: any): boolean;
			public listFiles(param0: java.io.FilenameFilter): native.Array<java.io.File>;
			public renameTo(param0: java.io.File): boolean;
			public getCanonicalPath(): string;
			public canRead(): boolean;
			public list(): native.Array<string>;
			public getCanonicalFile(): java.io.File;
			public constructor(param0: string, param1: string);
			public createNewFile(): boolean;
			public listFiles(param0: java.io.FileFilter): native.Array<java.io.File>;
			public delete(): boolean;
			public listFiles(): native.Array<java.io.File>;
			public setReadable(param0: boolean): boolean;
			public static listRoots(): native.Array<java.io.File>;
			public setReadable(param0: boolean, param1: boolean): boolean;
			public length(): number;
			public setReadOnly(): boolean;
			public exists(): boolean;
			public getPath(): string;
			public toString(): string;
			public getName(): string;
			public isAbsolute(): boolean;
			public deleteOnExit(): void;
			public getAbsolutePath(): string;
			public static createTempFile(param0: string, param1: string): java.io.File;
			public setWritable(param0: boolean, param1: boolean): boolean;
			public mkdirs(): boolean;
			public setWritable(param0: boolean): boolean;
			public setExecutable(param0: boolean): boolean;
			/** @deprecated */
			public toURL(): java.net.URL;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module io {
		export class FileDescriptor extends java.lang.Object {
			public static class: java.lang.Class<java.io.FileDescriptor>;
			public static err: java.io.FileDescriptor;
			public static in: java.io.FileDescriptor;
			public static out: java.io.FileDescriptor;
			public sync(): void;
			public valid(): boolean;
			public constructor();
		}
	}
}

declare module java {
	export module io {
		export class FileFilter extends java.lang.Object {
			public static class: java.lang.Class<java.io.FileFilter>;
			/**
			 * Constructs a new instance of the java.io.FileFilter interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				accept(param0: java.io.File): boolean;
			});
			public constructor();
			public accept(param0: java.io.File): boolean;
		}
	}
}

declare module java {
	export module io {
		export class FileInputStream extends java.io.InputStream {
			public static class: java.lang.Class<java.io.FileInputStream>;
			public getFD(): java.io.FileDescriptor;
			public read(param0: native.Array<number>, param1: number, param2: number): number;
			public constructor();
			public read(): number;
			public available(): number;
			public getChannel(): java.nio.channels.FileChannel;
			public read(param0: native.Array<number>): number;
			public constructor(param0: java.io.FileDescriptor);
			public skip(param0: number): number;
			public constructor(param0: java.io.File);
			public close(): void;
			public constructor(param0: string);
			public finalize(): void;
		}
	}
}

declare module java {
	export module io {
		export class FileNotFoundException extends java.io.IOException {
			public static class: java.lang.Class<java.io.FileNotFoundException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module io {
		export class FileOutputStream extends java.io.OutputStream {
			public static class: java.lang.Class<java.io.FileOutputStream>;
			public flush(): void;
			public getFD(): java.io.FileDescriptor;
			public constructor();
			public constructor(param0: java.io.File, param1: boolean);
			public getChannel(): java.nio.channels.FileChannel;
			public write(param0: number): void;
			public constructor(param0: java.io.FileDescriptor);
			public constructor(param0: string, param1: boolean);
			public constructor(param0: java.io.File);
			public write(param0: native.Array<number>, param1: number, param2: number): void;
			public write(param0: native.Array<number>): void;
			public close(): void;
			public constructor(param0: string);
			public finalize(): void;
		}
	}
}

declare module java {
	export module io {
		export class FilePermission extends java.security.Permission implements java.io.Serializable {
			public static class: java.lang.Class<java.io.FilePermission>;
			public constructor(param0: string, param1: string);
			public implies(param0: java.security.Permission): boolean;
			public getActions(): string;
			public checkGuard(param0: any): void;
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module io {
		export class FileReader extends java.io.InputStreamReader {
			public static class: java.lang.Class<java.io.FileReader>;
			public read(param0: native.Array<string>, param1: number, param2: number): number;
			public constructor();
			public constructor(param0: any);
			public read(): number;
			public constructor(param0: java.io.InputStream, param1: java.nio.charset.CharsetDecoder);
			public read(param0: native.Array<string>): number;
			public constructor(param0: java.io.InputStream, param1: string);
			public read(param0: java.nio.CharBuffer): number;
			public constructor(param0: java.io.FileDescriptor);
			public constructor(param0: java.io.File);
			public constructor(param0: java.io.InputStream);
			public constructor(param0: java.io.InputStream, param1: java.nio.charset.Charset);
			public close(): void;
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module io {
		export class FileWriter extends java.io.OutputStreamWriter {
			public static class: java.lang.Class<java.io.FileWriter>;
			public flush(): void;
			public constructor(param0: java.io.OutputStream, param1: java.nio.charset.CharsetEncoder);
			public constructor(param0: java.io.OutputStream, param1: string);
			public constructor(param0: java.io.OutputStream, param1: java.nio.charset.Charset);
			public append(param0: string, param1: number, param2: number): java.lang.Appendable;
			public constructor();
			public constructor(param0: java.io.File, param1: boolean);
			public constructor(param0: any);
			public append(param0: string): java.io.Writer;
			public constructor(param0: java.io.FileDescriptor);
			public constructor(param0: string, param1: boolean);
			public constructor(param0: java.io.File);
			public constructor(param0: java.io.OutputStream);
			public append(param0: string, param1: number, param2: number): java.io.Writer;
			public close(): void;
			public constructor(param0: string);
			public append(param0: string): java.lang.Appendable;
		}
	}
}

declare module java {
	export module io {
		export class FilenameFilter extends java.lang.Object {
			public static class: java.lang.Class<java.io.FilenameFilter>;
			/**
			 * Constructs a new instance of the java.io.FilenameFilter interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				accept(param0: java.io.File, param1: string): boolean;
			});
			public constructor();
			public accept(param0: java.io.File, param1: string): boolean;
		}
	}
}

declare module java {
	export module io {
		export class FilterInputStream extends java.io.InputStream {
			public static class: java.lang.Class<java.io.FilterInputStream>;
			public in: java.io.InputStream;
			public markSupported(): boolean;
			public read(param0: native.Array<number>): number;
			public skip(param0: number): number;
			public reset(): void;
			public constructor(param0: java.io.InputStream);
			public read(param0: native.Array<number>, param1: number, param2: number): number;
			public constructor();
			public close(): void;
			public read(): number;
			public available(): number;
			public mark(param0: number): void;
		}
	}
}

declare module java {
	export module io {
		export class FilterOutputStream extends java.io.OutputStream {
			public static class: java.lang.Class<java.io.FilterOutputStream>;
			public out: java.io.OutputStream;
			public flush(): void;
			public write(param0: number): void;
			public constructor(param0: java.io.OutputStream);
			public write(param0: native.Array<number>, param1: number, param2: number): void;
			public constructor();
			public write(param0: native.Array<number>): void;
			public close(): void;
		}
	}
}

declare module java {
	export module io {
		export abstract class FilterReader extends java.io.Reader {
			public static class: java.lang.Class<java.io.FilterReader>;
			public in: java.io.Reader;
			public ready(): boolean;
			public markSupported(): boolean;
			public read(param0: native.Array<string>, param1: number, param2: number): number;
			public constructor();
			public constructor(param0: any);
			public read(): number;
			public constructor(param0: java.io.Reader);
			public read(param0: native.Array<string>): number;
			public read(param0: java.nio.CharBuffer): number;
			public skip(param0: number): number;
			public reset(): void;
			public close(): void;
			public mark(param0: number): void;
		}
	}
}

declare module java {
	export module io {
		export abstract class FilterWriter extends java.io.Writer {
			public static class: java.lang.Class<java.io.FilterWriter>;
			public out: java.io.Writer;
			public constructor(param0: java.io.Writer);
			public flush(): void;
			public write(param0: string, param1: number, param2: number): void;
			public write(param0: native.Array<string>, param1: number, param2: number): void;
			public write(param0: native.Array<string>): void;
			public append(param0: string, param1: number, param2: number): java.lang.Appendable;
			public constructor();
			public constructor(param0: any);
			public write(param0: string): void;
			public write(param0: number): void;
			public append(param0: string): java.io.Writer;
			public append(param0: string, param1: number, param2: number): java.io.Writer;
			public close(): void;
			public append(param0: string): java.lang.Appendable;
		}
	}
}

declare module java {
	export module io {
		export class Flushable extends java.lang.Object {
			public static class: java.lang.Class<java.io.Flushable>;
			/**
			 * Constructs a new instance of the java.io.Flushable interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				flush(): void;
			});
			public constructor();
			public flush(): void;
		}
	}
}

declare module java {
	export module io {
		export class IOError extends java.lang.Error {
			public static class: java.lang.Class<java.io.IOError>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module io {
		export class IOException extends java.lang.Exception {
			public static class: java.lang.Class<java.io.IOException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module io {
		export abstract class InputStream extends java.lang.Object implements java.io.Closeable {
			public static class: java.lang.Class<java.io.InputStream>;
			public markSupported(): boolean;
			public read(param0: native.Array<number>): number;
			public skip(param0: number): number;
			public reset(): void;
			public read(param0: native.Array<number>, param1: number, param2: number): number;
			public constructor();
			public close(): void;
			public read(): number;
			public available(): number;
			public mark(param0: number): void;
		}
	}
}

declare module java {
	export module io {
		export class InputStreamReader extends java.io.Reader {
			public static class: java.lang.Class<java.io.InputStreamReader>;
			public ready(): boolean;
			public read(param0: native.Array<string>, param1: number, param2: number): number;
			public constructor();
			public constructor(param0: any);
			public read(): number;
			public constructor(param0: java.io.InputStream, param1: java.nio.charset.CharsetDecoder);
			public read(param0: native.Array<string>): number;
			public getEncoding(): string;
			public constructor(param0: java.io.InputStream, param1: string);
			public read(param0: java.nio.CharBuffer): number;
			public constructor(param0: java.io.InputStream);
			public constructor(param0: java.io.InputStream, param1: java.nio.charset.Charset);
			public close(): void;
		}
	}
}

declare module java {
	export module io {
		export class InterruptedIOException extends java.io.IOException {
			public static class: java.lang.Class<java.io.InterruptedIOException>;
			public bytesTransferred: number;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module io {
		export class InvalidClassException extends java.io.ObjectStreamException {
			public static class: java.lang.Class<java.io.InvalidClassException>;
			public classname: string;
			public constructor(param0: string, param1: string);
			public getMessage(): string;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module io {
		export class InvalidObjectException extends java.io.ObjectStreamException {
			public static class: java.lang.Class<java.io.InvalidObjectException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module io {
		export class LineNumberInputStream extends java.io.FilterInputStream {
			public static class: java.lang.Class<java.io.LineNumberInputStream>;
			public setLineNumber(param0: number): void;
			public read(param0: native.Array<number>): number;
			public skip(param0: number): number;
			public getLineNumber(): number;
			public reset(): void;
			public constructor(param0: java.io.InputStream);
			public read(param0: native.Array<number>, param1: number, param2: number): number;
			public constructor();
			public close(): void;
			public read(): number;
			public available(): number;
			public mark(param0: number): void;
		}
	}
}

declare module java {
	export module io {
		export class LineNumberReader extends java.io.BufferedReader {
			public static class: java.lang.Class<java.io.LineNumberReader>;
			public readLine(): string;
			public getLineNumber(): number;
			public read(param0: native.Array<string>, param1: number, param2: number): number;
			public constructor();
			public constructor(param0: any);
			public read(): number;
			public setLineNumber(param0: number): void;
			public constructor(param0: java.io.Reader);
			public read(param0: native.Array<string>): number;
			public constructor(param0: java.io.Reader, param1: number);
			public read(param0: java.nio.CharBuffer): number;
			public skip(param0: number): number;
			public reset(): void;
			public close(): void;
			public mark(param0: number): void;
		}
	}
}

declare module java {
	export module io {
		export class NotActiveException extends java.io.ObjectStreamException {
			public static class: java.lang.Class<java.io.NotActiveException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module io {
		export class NotSerializableException extends java.io.ObjectStreamException {
			public static class: java.lang.Class<java.io.NotSerializableException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module io {
		export class ObjectInput extends java.lang.Object implements java.io.DataInput, java.lang.AutoCloseable {
			public static class: java.lang.Class<java.io.ObjectInput>;
			/**
			 * Constructs a new instance of the java.io.ObjectInput interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				readObject(): any;
				read(): number;
				read(param0: native.Array<number>): number;
				read(param0: native.Array<number>, param1: number, param2: number): number;
				skip(param0: number): number;
				available(): number;
				close(): void;
				readFully(param0: native.Array<number>): void;
				readFully(param0: native.Array<number>, param1: number, param2: number): void;
				skipBytes(param0: number): number;
				readBoolean(): boolean;
				readByte(): number;
				readUnsignedByte(): number;
				readShort(): number;
				readUnsignedShort(): number;
				readChar(): string;
				readInt(): number;
				readLong(): number;
				readFloat(): number;
				readDouble(): number;
				readLine(): string;
				readUTF(): string;
				close(): void;
			});
			public constructor();
			public readLine(): string;
			public readUnsignedShort(): number;
			public readLong(): number;
			public read(param0: native.Array<number>, param1: number, param2: number): number;
			public readFully(param0: native.Array<number>, param1: number, param2: number): void;
			public readByte(): number;
			public readUnsignedByte(): number;
			public read(): number;
			public available(): number;
			public readBoolean(): boolean;
			public readShort(): number;
			public read(param0: native.Array<number>): number;
			public readDouble(): number;
			public readObject(): any;
			public skip(param0: number): number;
			public skipBytes(param0: number): number;
			public readChar(): string;
			public close(): void;
			public readUTF(): string;
			public readInt(): number;
			public readFloat(): number;
			public readFully(param0: native.Array<number>): void;
		}
	}
}

declare module java {
	export module io {
		export class ObjectInputStream extends java.io.InputStream implements java.io.ObjectInput, java.io.ObjectStreamConstants {
			public static class: java.lang.Class<java.io.ObjectInputStream>;
			public readObjectOverride(): any;
			public enableResolveObject(param0: boolean): boolean;
			public readFully(param0: native.Array<number>, param1: number, param2: number): void;
			public readStreamHeader(): void;
			public readByte(): number;
			public readUnsignedByte(): number;
			public read(): number;
			public available(): number;
			public readShort(): number;
			public readUnshared(): any;
			public readFields(): java.io.ObjectInputStream.GetField;
			public defaultReadObject(): void;
			public readDouble(): number;
			public readObject(): any;
			public skip(param0: number): number;
			public constructor(param0: java.io.InputStream);
			public readChar(): string;
			public skipBytes(param0: number): number;
			public close(): void;
			public readUTF(): string;
			public readInt(): number;
			public readFloat(): number;
			public resolveProxyClass(param0: native.Array<string>): java.lang.Class<any>;
			public resolveClass(param0: java.io.ObjectStreamClass): java.lang.Class<any>;
			public readLine(): string;
			/** @deprecated */
			public readLine(): string;
			public readUnsignedShort(): number;
			public readLong(): number;
			public read(param0: native.Array<number>, param1: number, param2: number): number;
			public constructor();
			public resolveObject(param0: any): any;
			public readBoolean(): boolean;
			public readClassDescriptor(): java.io.ObjectStreamClass;
			public read(param0: native.Array<number>): number;
			public registerValidation(param0: java.io.ObjectInputValidation, param1: number): void;
			public readFully(param0: native.Array<number>): void;
		}
		export module ObjectInputStream {
			export abstract class GetField extends java.lang.Object {
				public static class: java.lang.Class<java.io.ObjectInputStream.GetField>;
				public get(param0: string, param1: number): number;
				public get(param0: string, param1: any): any;
				public getObjectStreamClass(): java.io.ObjectStreamClass;
				public defaulted(param0: string): boolean;
				public get(param0: string, param1: string): string;
				public constructor();
				public get(param0: string, param1: boolean): boolean;
			}
		}
	}
}

declare module java {
	export module io {
		export class ObjectInputValidation extends java.lang.Object {
			public static class: java.lang.Class<java.io.ObjectInputValidation>;
			/**
			 * Constructs a new instance of the java.io.ObjectInputValidation interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				validateObject(): void;
			});
			public constructor();
			public validateObject(): void;
		}
	}
}

declare module java {
	export module io {
		export class ObjectOutput extends java.lang.Object implements java.io.DataOutput, java.lang.AutoCloseable {
			public static class: java.lang.Class<java.io.ObjectOutput>;
			/**
			 * Constructs a new instance of the java.io.ObjectOutput interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				writeObject(param0: any): void;
				write(param0: number): void;
				write(param0: native.Array<number>): void;
				write(param0: native.Array<number>, param1: number, param2: number): void;
				flush(): void;
				close(): void;
				write(param0: number): void;
				write(param0: native.Array<number>): void;
				write(param0: native.Array<number>, param1: number, param2: number): void;
				writeBoolean(param0: boolean): void;
				writeByte(param0: number): void;
				writeShort(param0: number): void;
				writeChar(param0: number): void;
				writeInt(param0: number): void;
				writeLong(param0: number): void;
				writeFloat(param0: number): void;
				writeDouble(param0: number): void;
				writeBytes(param0: string): void;
				writeChars(param0: string): void;
				writeUTF(param0: string): void;
				close(): void;
			});
			public constructor();
			public flush(): void;
			public writeInt(param0: number): void;
			public writeLong(param0: number): void;
			public writeUTF(param0: string): void;
			public writeByte(param0: number): void;
			public writeDouble(param0: number): void;
			public writeObject(param0: any): void;
			public writeBoolean(param0: boolean): void;
			public writeFloat(param0: number): void;
			public writeBytes(param0: string): void;
			public writeShort(param0: number): void;
			public write(param0: number): void;
			public writeChar(param0: number): void;
			public write(param0: native.Array<number>, param1: number, param2: number): void;
			public write(param0: native.Array<number>): void;
			public close(): void;
			public writeChars(param0: string): void;
		}
	}
}

declare module java {
	export module io {
		export class ObjectOutputStream extends java.io.OutputStream implements java.io.ObjectOutput, java.io.ObjectStreamConstants {
			public static class: java.lang.Class<java.io.ObjectOutputStream>;
			public writeFields(): void;
			public writeUTF(param0: string): void;
			public replaceObject(param0: any): any;
			public writeFloat(param0: number): void;
			public useProtocolVersion(param0: number): void;
			public enableReplaceObject(param0: boolean): boolean;
			public reset(): void;
			public writeChar(param0: number): void;
			public write(param0: native.Array<number>): void;
			public close(): void;
			public annotateClass(param0: java.lang.Class<any>): void;
			public flush(): void;
			public writeInt(param0: number): void;
			public writeLong(param0: number): void;
			public writeByte(param0: number): void;
			public writeDouble(param0: number): void;
			public writeClassDescriptor(param0: java.io.ObjectStreamClass): void;
			public constructor();
			public writeObject(param0: any): void;
			public writeBoolean(param0: boolean): void;
			public writeBytes(param0: string): void;
			public writeObjectOverride(param0: any): void;
			public defaultWriteObject(): void;
			public writeShort(param0: number): void;
			public putFields(): java.io.ObjectOutputStream.PutField;
			public write(param0: number): void;
			public constructor(param0: java.io.OutputStream);
			public write(param0: native.Array<number>, param1: number, param2: number): void;
			public annotateProxyClass(param0: java.lang.Class<any>): void;
			public writeStreamHeader(): void;
			public writeUnshared(param0: any): void;
			public drain(): void;
			public writeChars(param0: string): void;
		}
		export module ObjectOutputStream {
			export abstract class PutField extends java.lang.Object {
				public static class: java.lang.Class<java.io.ObjectOutputStream.PutField>;
				public put(param0: string, param1: number): void;
				/** @deprecated */
				public write(param0: java.io.ObjectOutput): void;
				public put(param0: string, param1: any): void;
				public put(param0: string, param1: boolean): void;
				public put(param0: string, param1: string): void;
				public constructor();
			}
		}
	}
}

declare module java {
	export module io {
		export class ObjectStreamClass extends java.lang.Object implements java.io.Serializable {
			public static class: java.lang.Class<java.io.ObjectStreamClass>;
			public static NO_FIELDS: native.Array<java.io.ObjectStreamField>;
			public static lookupAny(param0: java.lang.Class<any>): java.io.ObjectStreamClass;
			public getSerialVersionUID(): number;
			public toString(): string;
			public getName(): string;
			public forClass(): java.lang.Class<any>;
			public getFields(): native.Array<java.io.ObjectStreamField>;
			public static lookup(param0: java.lang.Class<any>): java.io.ObjectStreamClass;
			public getField(param0: string): java.io.ObjectStreamField;
		}
	}
}

declare module java {
	export module io {
		export class ObjectStreamConstants extends java.lang.Object {
			public static class: java.lang.Class<java.io.ObjectStreamConstants>;
			/**
			 * Constructs a new instance of the java.io.ObjectStreamConstants interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				<clinit>(): void;
			});
			public constructor();
			public static TC_BLOCKDATA: number;
			public static TC_REFERENCE: number;
			public static TC_MAX: number;
			public static SC_ENUM: number;
			public static TC_BLOCKDATALONG: number;
			public static TC_PROXYCLASSDESC: number;
			public static SC_EXTERNALIZABLE: number;
			public static TC_ARRAY: number;
			public static TC_EXCEPTION: number;
			public static TC_ENDBLOCKDATA: number;
			public static STREAM_VERSION: number;
			public static TC_STRING: number;
			public static TC_BASE: number;
			public static SUBCLASS_IMPLEMENTATION_PERMISSION: java.io.SerializablePermission;
			public static TC_CLASS: number;
			public static PROTOCOL_VERSION_2: number;
			public static STREAM_MAGIC: number;
			public static PROTOCOL_VERSION_1: number;
			public static SC_BLOCK_DATA: number;
			public static TC_ENUM: number;
			public static baseWireHandle: number;
			public static TC_CLASSDESC: number;
			public static TC_NULL: number;
			public static TC_OBJECT: number;
			public static SUBSTITUTION_PERMISSION: java.io.SerializablePermission;
			public static SC_SERIALIZABLE: number;
			public static TC_RESET: number;
			public static TC_LONGSTRING: number;
			public static SC_WRITE_METHOD: number;
		}
	}
}

declare module java {
	export module io {
		export abstract class ObjectStreamException extends java.io.IOException {
			public static class: java.lang.Class<java.io.ObjectStreamException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module io {
		export class ObjectStreamField extends java.lang.Comparable<any> {
			public static class: java.lang.Class<java.io.ObjectStreamField>;
			public constructor(param0: string, param1: java.lang.Class<any>, param2: boolean);
			public isUnshared(): boolean;
			public compareTo(param0: any): number;
			public toString(): string;
			public getName(): string;
			public constructor(param0: string, param1: java.lang.Class<any>);
			public getTypeCode(): string;
			public isPrimitive(): boolean;
			public getOffset(): number;
			public setOffset(param0: number): void;
			public getType(): java.lang.Class<any>;
			public getTypeString(): string;
		}
	}
}

declare module java {
	export module io {
		export class OptionalDataException extends java.io.ObjectStreamException {
			public static class: java.lang.Class<java.io.OptionalDataException>;
			public eof: boolean;
			public length: number;
		}
	}
}

declare module java {
	export module io {
		export abstract class OutputStream extends java.lang.Object implements java.io.Closeable, java.io.Flushable {
			public static class: java.lang.Class<java.io.OutputStream>;
			public flush(): void;
			public write(param0: number): void;
			public write(param0: native.Array<number>, param1: number, param2: number): void;
			public constructor();
			public write(param0: native.Array<number>): void;
			public close(): void;
		}
	}
}

declare module java {
	export module io {
		export class OutputStreamWriter extends java.io.Writer {
			public static class: java.lang.Class<java.io.OutputStreamWriter>;
			public flush(): void;
			public constructor(param0: java.io.OutputStream, param1: java.nio.charset.CharsetEncoder);
			public write(param0: string, param1: number, param2: number): void;
			public write(param0: native.Array<string>, param1: number, param2: number): void;
			public constructor(param0: java.io.OutputStream, param1: string);
			public constructor(param0: java.io.OutputStream, param1: java.nio.charset.Charset);
			public write(param0: native.Array<string>): void;
			public append(param0: string, param1: number, param2: number): java.lang.Appendable;
			public constructor();
			public constructor(param0: any);
			public write(param0: string): void;
			public getEncoding(): string;
			public write(param0: number): void;
			public append(param0: string): java.io.Writer;
			public constructor(param0: java.io.OutputStream);
			public append(param0: string, param1: number, param2: number): java.io.Writer;
			public close(): void;
			public append(param0: string): java.lang.Appendable;
		}
	}
}

declare module java {
	export module io {
		export class PipedInputStream extends java.io.InputStream {
			public static class: java.lang.Class<java.io.PipedInputStream>;
			public static PIPE_SIZE: number;
			public buffer: native.Array<number>;
			public in: number;
			public out: number;
			public receive(param0: number): void;
			public read(param0: native.Array<number>): number;
			public constructor(param0: number);
			public connect(param0: java.io.PipedOutputStream): void;
			public read(param0: native.Array<number>, param1: number, param2: number): number;
			public constructor();
			public close(): void;
			public constructor(param0: java.io.PipedOutputStream);
			public constructor(param0: java.io.PipedOutputStream, param1: number);
			public read(): number;
			public available(): number;
		}
	}
}

declare module java {
	export module io {
		export class PipedOutputStream extends java.io.OutputStream {
			public static class: java.lang.Class<java.io.PipedOutputStream>;
			public flush(): void;
			public connect(param0: java.io.PipedInputStream): void;
			public write(param0: number): void;
			public write(param0: native.Array<number>, param1: number, param2: number): void;
			public constructor();
			public write(param0: native.Array<number>): void;
			public close(): void;
			public constructor(param0: java.io.PipedInputStream);
		}
	}
}

declare module java {
	export module io {
		export class PipedReader extends java.io.Reader {
			public static class: java.lang.Class<java.io.PipedReader>;
			public ready(): boolean;
			public read(param0: native.Array<string>): number;
			public constructor(param0: java.io.PipedWriter, param1: number);
			public read(param0: java.nio.CharBuffer): number;
			public constructor(param0: java.io.PipedWriter);
			public constructor(param0: number);
			public read(param0: native.Array<string>, param1: number, param2: number): number;
			public constructor();
			public close(): void;
			public constructor(param0: any);
			public connect(param0: java.io.PipedWriter): void;
			public read(): number;
		}
	}
}

declare module java {
	export module io {
		export class PipedWriter extends java.io.Writer {
			public static class: java.lang.Class<java.io.PipedWriter>;
			public flush(): void;
			public write(param0: string, param1: number, param2: number): void;
			public write(param0: native.Array<string>, param1: number, param2: number): void;
			public write(param0: native.Array<string>): void;
			public append(param0: string, param1: number, param2: number): java.lang.Appendable;
			public constructor();
			public connect(param0: java.io.PipedReader): void;
			public constructor(param0: any);
			public write(param0: string): void;
			public write(param0: number): void;
			public append(param0: string): java.io.Writer;
			public constructor(param0: java.io.PipedReader);
			public append(param0: string, param1: number, param2: number): java.io.Writer;
			public close(): void;
			public append(param0: string): java.lang.Appendable;
		}
	}
}

declare module java {
	export module io {
		export class PrintStream extends java.io.FilterOutputStream implements java.lang.Appendable, java.io.Closeable {
			public static class: java.lang.Class<java.io.PrintStream>;
			public print(param0: number): void;
			public println(): void;
			public constructor(param0: java.io.OutputStream, param1: boolean);
			public print(param0: any): void;
			public printf(param0: java.util.Locale, param1: string, param2: native.Array<any>): java.io.PrintStream;
			public format(param0: java.util.Locale, param1: string, param2: native.Array<any>): java.io.PrintStream;
			public println(param0: any): void;
			public print(param0: boolean): void;
			public constructor(param0: string, param1: string);
			public append(param0: string, param1: number, param2: number): java.io.PrintStream;
			public setError(): void;
			public constructor(param0: java.io.File, param1: string);
			public println(param0: boolean): void;
			public println(param0: number): void;
			public constructor(param0: java.io.File);
			public print(param0: string): void;
			public checkError(): boolean;
			public constructor(param0: java.io.OutputStream, param1: boolean, param2: string);
			public write(param0: native.Array<number>): void;
			public close(): void;
			public clearError(): void;
			public constructor(param0: string);
			public flush(): void;
			public append(param0: string, param1: number, param2: number): java.lang.Appendable;
			public constructor();
			public println(param0: string): void;
			public print(param0: native.Array<string>): void;
			public write(param0: number): void;
			public println(param0: native.Array<string>): void;
			public constructor(param0: java.io.OutputStream);
			public write(param0: native.Array<number>, param1: number, param2: number): void;
			public format(param0: string, param1: native.Array<any>): java.io.PrintStream;
			public append(param0: string): java.io.PrintStream;
			public printf(param0: string, param1: native.Array<any>): java.io.PrintStream;
			public append(param0: string): java.lang.Appendable;
		}
	}
}

declare module java {
	export module io {
		export class PrintWriter extends java.io.Writer {
			public static class: java.lang.Class<java.io.PrintWriter>;
			public out: java.io.Writer;
			public print(param0: number): void;
			public println(): void;
			public printf(param0: string, param1: native.Array<any>): java.io.PrintWriter;
			public constructor(param0: java.io.OutputStream, param1: boolean);
			public print(param0: any): void;
			public write(param0: native.Array<string>, param1: number, param2: number): void;
			public write(param0: native.Array<string>): void;
			public append(param0: string, param1: number, param2: number): java.io.PrintWriter;
			public constructor(param0: any);
			public println(param0: any): void;
			public print(param0: boolean): void;
			public constructor(param0: string, param1: string);
			public setError(): void;
			public format(param0: java.util.Locale, param1: string, param2: native.Array<any>): java.io.PrintWriter;
			public constructor(param0: java.io.File, param1: string);
			public println(param0: boolean): void;
			public println(param0: number): void;
			public append(param0: string): java.io.Writer;
			public append(param0: string): java.io.PrintWriter;
			public constructor(param0: java.io.File);
			public print(param0: string): void;
			public checkError(): boolean;
			public append(param0: string, param1: number, param2: number): java.io.Writer;
			public close(): void;
			public format(param0: string, param1: native.Array<any>): java.io.PrintWriter;
			public clearError(): void;
			public printf(param0: java.util.Locale, param1: string, param2: native.Array<any>): java.io.PrintWriter;
			public constructor(param0: string);
			public constructor(param0: java.io.Writer);
			public flush(): void;
			public constructor(param0: java.io.Writer, param1: boolean);
			public write(param0: string, param1: number, param2: number): void;
			public append(param0: string, param1: number, param2: number): java.lang.Appendable;
			public constructor();
			public println(param0: string): void;
			public write(param0: string): void;
			public print(param0: native.Array<string>): void;
			public write(param0: number): void;
			public println(param0: native.Array<string>): void;
			public constructor(param0: java.io.OutputStream);
			public append(param0: string): java.lang.Appendable;
		}
	}
}

declare module java {
	export module io {
		export class PushbackInputStream extends java.io.FilterInputStream {
			public static class: java.lang.Class<java.io.PushbackInputStream>;
			public buf: native.Array<number>;
			public pos: number;
			public unread(param0: number): void;
			public unread(param0: native.Array<number>, param1: number, param2: number): void;
			public markSupported(): boolean;
			public read(param0: native.Array<number>, param1: number, param2: number): number;
			public constructor();
			public unread(param0: native.Array<number>): void;
			public read(): number;
			public available(): number;
			public constructor(param0: java.io.InputStream, param1: number);
			public read(param0: native.Array<number>): number;
			public skip(param0: number): number;
			public reset(): void;
			public constructor(param0: java.io.InputStream);
			public close(): void;
			public mark(param0: number): void;
		}
	}
}

declare module java {
	export module io {
		export class PushbackReader extends java.io.FilterReader {
			public static class: java.lang.Class<java.io.PushbackReader>;
			public unread(param0: number): void;
			public ready(): boolean;
			public markSupported(): boolean;
			public read(param0: native.Array<string>, param1: number, param2: number): number;
			public constructor();
			public constructor(param0: any);
			public read(): number;
			public constructor(param0: java.io.Reader);
			public read(param0: native.Array<string>): number;
			public constructor(param0: java.io.Reader, param1: number);
			public read(param0: java.nio.CharBuffer): number;
			public skip(param0: number): number;
			public reset(): void;
			public close(): void;
			public unread(param0: native.Array<string>): void;
			public unread(param0: native.Array<string>, param1: number, param2: number): void;
			public mark(param0: number): void;
		}
	}
}

declare module java {
	export module io {
		export class RandomAccessFile extends java.lang.Object implements java.io.DataOutput, java.io.DataInput, java.io.Closeable {
			public static class: java.lang.Class<java.io.RandomAccessFile>;
			public writeUTF(param0: string): void;
			public readFully(param0: native.Array<number>, param1: number, param2: number): void;
			public seek(param0: number): void;
			public readByte(): number;
			public readUnsignedByte(): number;
			public read(): number;
			public readShort(): number;
			public writeFloat(param0: number): void;
			public constructor(param0: string, param1: string);
			public constructor(param0: java.io.File, param1: string);
			public readDouble(): number;
			public writeChar(param0: number): void;
			public skipBytes(param0: number): number;
			public readChar(): string;
			public write(param0: native.Array<number>): void;
			public close(): void;
			public readUTF(): string;
			public readInt(): number;
			public readFloat(): number;
			public finalize(): void;
			public setLength(param0: number): void;
			public readLine(): string;
			public getFD(): java.io.FileDescriptor;
			public readUnsignedShort(): number;
			public writeInt(param0: number): void;
			public writeLong(param0: number): void;
			public length(): number;
			public readLong(): number;
			public writeByte(param0: number): void;
			public writeDouble(param0: number): void;
			public read(param0: native.Array<number>, param1: number, param2: number): number;
			public writeBoolean(param0: boolean): void;
			public readBoolean(): boolean;
			public writeBytes(param0: string): void;
			public getChannel(): java.nio.channels.FileChannel;
			public writeShort(param0: number): void;
			public getFilePointer(): number;
			public read(param0: native.Array<number>): number;
			public write(param0: number): void;
			public write(param0: native.Array<number>, param1: number, param2: number): void;
			public readFully(param0: native.Array<number>): void;
			public writeChars(param0: string): void;
		}
	}
}

declare module java {
	export module io {
		export abstract class Reader extends java.lang.Object implements java.lang.Readable, java.io.Closeable {
			public static class: java.lang.Class<java.io.Reader>;
			public lock: any;
			public ready(): boolean;
			public markSupported(): boolean;
			public read(param0: native.Array<string>): number;
			public read(param0: java.nio.CharBuffer): number;
			public skip(param0: number): number;
			public read(param0: native.Array<string>, param1: number, param2: number): number;
			public reset(): void;
			public constructor();
			public close(): void;
			public constructor(param0: any);
			public read(): number;
			public mark(param0: number): void;
		}
	}
}

declare module java {
	export module io {
		export class SequenceInputStream extends java.io.InputStream {
			public static class: java.lang.Class<java.io.SequenceInputStream>;
			public constructor(param0: java.util.Enumeration<any>);
			public read(param0: native.Array<number>): number;
			public read(param0: native.Array<number>, param1: number, param2: number): number;
			public constructor();
			public constructor(param0: java.io.InputStream, param1: java.io.InputStream);
			public close(): void;
			public available(): number;
			public read(): number;
		}
	}
}

declare module java {
	export module io {
		export class Serializable extends java.lang.Object {
			public static class: java.lang.Class<java.io.Serializable>;
			/**
			 * Constructs a new instance of the java.io.Serializable interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
			});
			public constructor();
		}
	}
}

declare module java {
	export module io {
		export class SerializablePermission extends java.security.BasicPermission {
			public static class: java.lang.Class<java.io.SerializablePermission>;
			public constructor(param0: string, param1: string);
			public checkGuard(param0: any): void;
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module io {
		export class StreamCorruptedException extends java.io.ObjectStreamException {
			public static class: java.lang.Class<java.io.StreamCorruptedException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module io {
		export class StreamTokenizer extends java.lang.Object {
			public static class: java.lang.Class<java.io.StreamTokenizer>;
			public static TT_EOF: number;
			public static TT_EOL: number;
			public static TT_NUMBER: number;
			public static TT_WORD: number;
			public nval: number;
			public sval: string;
			public ttype: number;
			public eolIsSignificant(param0: boolean): void;
			public resetSyntax(): void;
			public wordChars(param0: number, param1: number): void;
			public slashStarComments(param0: boolean): void;
			public nextToken(): number;
			public commentChar(param0: number): void;
			public ordinaryChars(param0: number, param1: number): void;
			public pushBack(): void;
			public lineno(): number;
			public constructor(param0: java.io.Reader);
			public parseNumbers(): void;
			public toString(): string;
			public whitespaceChars(param0: number, param1: number): void;
			/** @deprecated */
			public constructor(param0: java.io.InputStream);
			public slashSlashComments(param0: boolean): void;
			public quoteChar(param0: number): void;
			public lowerCaseMode(param0: boolean): void;
			public ordinaryChar(param0: number): void;
		}
	}
}

declare module java {
	export module io {
		export class StringBufferInputStream extends java.io.InputStream {
			public static class: java.lang.Class<java.io.StringBufferInputStream>;
			public buffer: string;
			public count: number;
			public pos: number;
			public read(param0: native.Array<number>): number;
			public skip(param0: number): number;
			public reset(): void;
			public read(param0: native.Array<number>, param1: number, param2: number): number;
			public constructor();
			public close(): void;
			public constructor(param0: string);
			public read(): number;
			public available(): number;
		}
	}
}

declare module java {
	export module io {
		export class StringReader extends java.io.Reader {
			public static class: java.lang.Class<java.io.StringReader>;
			public ready(): boolean;
			public markSupported(): boolean;
			public read(param0: native.Array<string>, param1: number, param2: number): number;
			public constructor();
			public constructor(param0: any);
			public read(): number;
			public read(param0: native.Array<string>): number;
			public read(param0: java.nio.CharBuffer): number;
			public skip(param0: number): number;
			public reset(): void;
			public close(): void;
			public constructor(param0: string);
			public mark(param0: number): void;
		}
	}
}

declare module java {
	export module io {
		export class StringWriter extends java.io.Writer {
			public static class: java.lang.Class<java.io.StringWriter>;
			public flush(): void;
			public write(param0: string, param1: number, param2: number): void;
			public constructor(param0: number);
			public write(param0: native.Array<string>, param1: number, param2: number): void;
			public write(param0: native.Array<string>): void;
			public append(param0: string, param1: number, param2: number): java.lang.Appendable;
			public constructor();
			public constructor(param0: any);
			public write(param0: string): void;
			public getBuffer(): java.lang.StringBuffer;
			public toString(): string;
			public write(param0: number): void;
			public append(param0: string, param1: number, param2: number): java.io.StringWriter;
			public append(param0: string): java.io.Writer;
			public append(param0: string, param1: number, param2: number): java.io.Writer;
			public close(): void;
			public append(param0: string): java.lang.Appendable;
			public append(param0: string): java.io.StringWriter;
		}
	}
}

declare module java {
	export module io {
		export class SyncFailedException extends java.io.IOException {
			public static class: java.lang.Class<java.io.SyncFailedException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module io {
		export class UTFDataFormatException extends java.io.IOException {
			public static class: java.lang.Class<java.io.UTFDataFormatException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module io {
		export class UncheckedIOException extends java.lang.RuntimeException {
			public static class: java.lang.Class<java.io.UncheckedIOException>;
			public constructor(param0: java.io.IOException);
			public constructor(param0: string, param1: java.io.IOException);
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public getCause(): java.lang.Throwable;
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public getCause(): java.io.IOException;
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module io {
		export class UnsupportedEncodingException extends java.io.IOException {
			public static class: java.lang.Class<java.io.UnsupportedEncodingException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module io {
		export class WriteAbortedException extends java.io.ObjectStreamException {
			public static class: java.lang.Class<java.io.WriteAbortedException>;
			public detail: java.lang.Exception;
			public getMessage(): string;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public getCause(): java.lang.Throwable;
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string, param1: java.lang.Exception);
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module io {
		export abstract class Writer extends java.lang.Object implements java.lang.Appendable, java.io.Closeable, java.io.Flushable {
			public static class: java.lang.Class<java.io.Writer>;
			public lock: any;
			public flush(): void;
			public write(param0: string, param1: number, param2: number): void;
			public write(param0: native.Array<string>, param1: number, param2: number): void;
			public write(param0: native.Array<string>): void;
			public append(param0: string, param1: number, param2: number): java.lang.Appendable;
			public constructor();
			public constructor(param0: any);
			public write(param0: string): void;
			public write(param0: number): void;
			public append(param0: string): java.io.Writer;
			public append(param0: string, param1: number, param2: number): java.io.Writer;
			public close(): void;
			public append(param0: string): java.lang.Appendable;
		}
	}
}

declare module java {
	export module lang {
		export class AbstractMethodError extends java.lang.IncompatibleClassChangeError {
			public static class: java.lang.Class<java.lang.AbstractMethodError>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module lang {
		export class Appendable extends java.lang.Object {
			public static class: java.lang.Class<java.lang.Appendable>;
			/**
			 * Constructs a new instance of the java.lang.Appendable interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				append(param0: string): java.lang.Appendable;
				append(param0: string, param1: number, param2: number): java.lang.Appendable;
				append(param0: string): java.lang.Appendable;
			});
			public constructor();
			public append(param0: string, param1: number, param2: number): java.lang.Appendable;
			public append(param0: string): java.lang.Appendable;
		}
	}
}

declare module java {
	export module lang {
		export class ArithmeticException extends java.lang.RuntimeException {
			public static class: java.lang.Class<java.lang.ArithmeticException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module lang {
		export class ArrayIndexOutOfBoundsException extends java.lang.IndexOutOfBoundsException {
			public static class: java.lang.Class<java.lang.ArrayIndexOutOfBoundsException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: number);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module lang {
		export class ArrayStoreException extends java.lang.RuntimeException {
			public static class: java.lang.Class<java.lang.ArrayStoreException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module lang {
		export class AssertionError extends java.lang.Error {
			public static class: java.lang.Class<java.lang.AssertionError>;
			public constructor(param0: boolean);
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: number);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: any);
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module lang {
		export class AutoCloseable extends java.lang.Object {
			public static class: java.lang.Class<java.lang.AutoCloseable>;
			/**
			 * Constructs a new instance of the java.lang.AutoCloseable interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				close(): void;
			});
			public constructor();
			public close(): void;
		}
	}
}

declare module java {
	export module lang {
		export class Boolean extends java.lang.Object {
			public static class: java.lang.Class<java.lang.Boolean>;
			public static FALSE: java.lang.Boolean;
			public static TRUE: java.lang.Boolean;
			public static TYPE: java.lang.Class<java.lang.Boolean>;
			public booleanValue(): boolean;
			public equals(param0: any): boolean;
			public static logicalXor(param0: boolean, param1: boolean): boolean;
			public constructor(param0: boolean);
			public static getBoolean(param0: string): boolean;
			public static toString(param0: boolean): string;
			public static logicalOr(param0: boolean, param1: boolean): boolean;
			public static valueOf(param0: string): java.lang.Boolean;
			public static logicalAnd(param0: boolean, param1: boolean): boolean;
			public compareTo(param0: java.lang.Boolean): number;
			public static compare(param0: boolean, param1: boolean): number;
			public static valueOf(param0: boolean): java.lang.Boolean;
			public static parseBoolean(param0: string): boolean;
			public toString(): string;
			public constructor(param0: string);
			public hashCode(): number;
			public static hashCode(param0: boolean): number;
		}
	}
}

declare module java {
	export module lang {
		export class BootstrapMethodError extends java.lang.LinkageError {
			public static class: java.lang.Class<java.lang.BootstrapMethodError>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module lang {
		export class Byte extends java.lang.Number implements java.lang.Comparable<java.lang.Byte>  {
			public static class: java.lang.Class<java.lang.Byte>;
			public static BYTES: number;
			public static MAX_VALUE: number;
			public static MIN_VALUE: number;
			public static SIZE: number;
			public static TYPE: java.lang.Class<java.lang.Byte>;
			public equals(param0: any): boolean;
			public static toUnsignedLong(param0: number): number;
			public static parseByte(param0: string, param1: number): number;
			public constructor(param0: number);
			public constructor();
			public shortValue(): number;
			public compareTo(param0: java.lang.Byte): number;
			public static valueOf(param0: number): java.lang.Byte;
			public static valueOf(param0: string, param1: number): java.lang.Byte;
			public floatValue(): number;
			public doubleValue(): number;
			public intValue(): number;
			public toString(): string;
			public static compare(param0: number, param1: number): number;
			public static valueOf(param0: string): java.lang.Byte;
			public byteValue(): number;
			public static hashCode(param0: number): number;
			public static toUnsignedInt(param0: number): number;
			public static parseByte(param0: string): number;
			public constructor(param0: string);
			public static toString(param0: number): string;
			public static decode(param0: string): java.lang.Byte;
			public longValue(): number;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module lang {
		export class CharSequence extends java.lang.Object {
			public static class: java.lang.Class<java.lang.CharSequence>;
			/**
			 * Constructs a new instance of the java.lang.CharSequence interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				length(): number;
				charAt(param0: number): string;
				subSequence(param0: number, param1: number): string;
				toString(): string;
				chars(): java.util.stream.IntStream;
				codePoints(): java.util.stream.IntStream;
			});
			public constructor();
			public charAt(param0: number): string;
			public subSequence(param0: number, param1: number): string;
			public toString(): string;
			public length(): number;
			public chars(): java.util.stream.IntStream;
			public codePoints(): java.util.stream.IntStream;
		}
	}
}

declare module java {
	export module lang {
		export class Character extends java.lang.Object {
			public static class: java.lang.Class<java.lang.Character>;
			public static BYTES: number;
			public static COMBINING_SPACING_MARK: number;
			public static CONNECTOR_PUNCTUATION: number;
			public static CONTROL: number;
			public static CURRENCY_SYMBOL: number;
			public static DASH_PUNCTUATION: number;
			public static DECIMAL_DIGIT_NUMBER: number;
			public static DIRECTIONALITY_ARABIC_NUMBER: number;
			public static DIRECTIONALITY_BOUNDARY_NEUTRAL: number;
			public static DIRECTIONALITY_COMMON_NUMBER_SEPARATOR: number;
			public static DIRECTIONALITY_EUROPEAN_NUMBER: number;
			public static DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR: number;
			public static DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR: number;
			public static DIRECTIONALITY_LEFT_TO_RIGHT: number;
			public static DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING: number;
			public static DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE: number;
			public static DIRECTIONALITY_NONSPACING_MARK: number;
			public static DIRECTIONALITY_OTHER_NEUTRALS: number;
			public static DIRECTIONALITY_PARAGRAPH_SEPARATOR: number;
			public static DIRECTIONALITY_POP_DIRECTIONAL_FORMAT: number;
			public static DIRECTIONALITY_RIGHT_TO_LEFT: number;
			public static DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC: number;
			public static DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING: number;
			public static DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE: number;
			public static DIRECTIONALITY_SEGMENT_SEPARATOR: number;
			public static DIRECTIONALITY_UNDEFINED: number;
			public static DIRECTIONALITY_WHITESPACE: number;
			public static ENCLOSING_MARK: number;
			public static END_PUNCTUATION: number;
			public static FINAL_QUOTE_PUNCTUATION: number;
			public static FORMAT: number;
			public static INITIAL_QUOTE_PUNCTUATION: number;
			public static LETTER_NUMBER: number;
			public static LINE_SEPARATOR: number;
			public static LOWERCASE_LETTER: number;
			public static MATH_SYMBOL: number;
			public static MAX_CODE_POINT: number;
			public static MAX_HIGH_SURROGATE: string;
			public static MAX_LOW_SURROGATE: string;
			public static MAX_RADIX: number;
			public static MAX_SURROGATE: string;
			public static MAX_VALUE: string;
			public static MIN_CODE_POINT: number;
			public static MIN_HIGH_SURROGATE: string;
			public static MIN_LOW_SURROGATE: string;
			public static MIN_RADIX: number;
			public static MIN_SUPPLEMENTARY_CODE_POINT: number;
			public static MIN_SURROGATE: string;
			public static MIN_VALUE: string;
			public static MODIFIER_LETTER: number;
			public static MODIFIER_SYMBOL: number;
			public static NON_SPACING_MARK: number;
			public static OTHER_LETTER: number;
			public static OTHER_NUMBER: number;
			public static OTHER_PUNCTUATION: number;
			public static OTHER_SYMBOL: number;
			public static PARAGRAPH_SEPARATOR: number;
			public static PRIVATE_USE: number;
			public static SIZE: number;
			public static SPACE_SEPARATOR: number;
			public static START_PUNCTUATION: number;
			public static SURROGATE: number;
			public static TITLECASE_LETTER: number;
			public static TYPE: java.lang.Class<java.lang.Character>;
			public static UNASSIGNED: number;
			public static UPPERCASE_LETTER: number;
			public static isUnicodeIdentifierPart(param0: number): boolean;
			public static isUnicodeIdentifierStart(param0: number): boolean;
			public static toTitleCase(param0: string): string;
			public static highSurrogate(param0: number): string;
			public static codePointBefore(param0: native.Array<string>, param1: number, param2: number): number;
			public static isLowSurrogate(param0: string): boolean;
			public static getDirectionality(param0: string): number;
			public static isDefined(param0: string): boolean;
			public static getType(param0: string): number;
			public charValue(): string;
			public static isJavaIdentifierStart(param0: string): boolean;
			public static isMirrored(param0: number): boolean;
			public static isValidCodePoint(param0: number): boolean;
			public static isISOControl(param0: number): boolean;
			public static lowSurrogate(param0: number): string;
			public static isDigit(param0: number): boolean;
			public static charCount(param0: number): number;
			public static isLetterOrDigit(param0: string): boolean;
			public static isIdentifierIgnorable(param0: number): boolean;
			public static toLowerCase(param0: string): string;
			public static isDigit(param0: string): boolean;
			public static codePointBefore(param0: native.Array<string>, param1: number): number;
			public static isDefined(param0: number): boolean;
			public constructor(param0: string);
			public static isUpperCase(param0: string): boolean;
			public static isJavaIdentifierStart(param0: number): boolean;
			public static toCodePoint(param0: string, param1: string): number;
			/** @deprecated */
			public static isSpace(param0: string): boolean;
			public static isIdeographic(param0: number): boolean;
			public static codePointCount(param0: string, param1: number, param2: number): number;
			public static isLetterOrDigit(param0: number): boolean;
			public static getType(param0: number): number;
			public static getNumericValue(param0: number): number;
			public static isLetter(param0: number): boolean;
			public static getNumericValue(param0: string): number;
			public static getDirectionality(param0: number): number;
			public static forDigit(param0: number, param1: number): string;
			public static offsetByCodePoints(param0: string, param1: number, param2: number): number;
			public static isSpaceChar(param0: string): boolean;
			public static isWhitespace(param0: number): boolean;
			public static toChars(param0: number): native.Array<string>;
			public static toTitleCase(param0: number): number;
			public static digit(param0: number, param1: number): number;
			public static isJavaIdentifierPart(param0: number): boolean;
			public static toLowerCase(param0: number): number;
			public static isTitleCase(param0: number): boolean;
			public static isSupplementaryCodePoint(param0: number): boolean;
			public equals(param0: any): boolean;
			public static offsetByCodePoints(param0: native.Array<string>, param1: number, param2: number, param3: number, param4: number): number;
			public static toString(param0: string): string;
			public static isSurrogatePair(param0: string, param1: string): boolean;
			public static toUpperCase(param0: string): string;
			public static isAlphabetic(param0: number): boolean;
			public static isIdentifierIgnorable(param0: string): boolean;
			public static toUpperCase(param0: number): number;
			/** @deprecated */
			public static isJavaLetterOrDigit(param0: string): boolean;
			/** @deprecated */
			public static isJavaLetter(param0: string): boolean;
			public static isLowerCase(param0: number): boolean;
			public static valueOf(param0: string): java.lang.Character;
			public static codePointAt(param0: string, param1: number): number;
			public static isUpperCase(param0: number): boolean;
			public static isBmpCodePoint(param0: number): boolean;
			public static hashCode(param0: string): number;
			public static isMirrored(param0: string): boolean;
			public static isHighSurrogate(param0: string): boolean;
			public static codePointBefore(param0: string, param1: number): number;
			public static codePointAt(param0: native.Array<string>, param1: number, param2: number): number;
			public static toChars(param0: number, param1: native.Array<string>, param2: number): number;
			public static isUnicodeIdentifierStart(param0: string): boolean;
			public static isLowerCase(param0: string): boolean;
			public static isLetter(param0: string): boolean;
			public static isUnicodeIdentifierPart(param0: string): boolean;
			public static compare(param0: string, param1: string): number;
			public static getName(param0: number): string;
			public static isSpaceChar(param0: number): boolean;
			public toString(): string;
			public static isTitleCase(param0: string): boolean;
			public static isJavaIdentifierPart(param0: string): boolean;
			public static digit(param0: string, param1: number): number;
			public static isISOControl(param0: string): boolean;
			public compareTo(param0: java.lang.Character): number;
			public static codePointAt(param0: native.Array<string>, param1: number): number;
			public static reverseBytes(param0: string): string;
			public static codePointCount(param0: native.Array<string>, param1: number, param2: number): number;
			public static isSurrogate(param0: string): boolean;
			public static isWhitespace(param0: string): boolean;
			public hashCode(): number;
		}
		export module Character {
			export class Subset extends java.lang.Object {
				public static class: java.lang.Class<java.lang.Character.Subset>;
				public hashCode(): number;
				public equals(param0: any): boolean;
				public toString(): string;
				public constructor(param0: string);
			}
			export class UnicodeBlock extends java.lang.Character.Subset {
				public static class: java.lang.Class<java.lang.Character.UnicodeBlock>;
				public static AEGEAN_NUMBERS: java.lang.Character.UnicodeBlock;
				public static ALCHEMICAL_SYMBOLS: java.lang.Character.UnicodeBlock;
				public static ALPHABETIC_PRESENTATION_FORMS: java.lang.Character.UnicodeBlock;
				public static ANCIENT_GREEK_MUSICAL_NOTATION: java.lang.Character.UnicodeBlock;
				public static ANCIENT_GREEK_NUMBERS: java.lang.Character.UnicodeBlock;
				public static ANCIENT_SYMBOLS: java.lang.Character.UnicodeBlock;
				public static ARABIC: java.lang.Character.UnicodeBlock;
				public static ARABIC_EXTENDED_A: java.lang.Character.UnicodeBlock;
				public static ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS: java.lang.Character.UnicodeBlock;
				public static ARABIC_PRESENTATION_FORMS_A: java.lang.Character.UnicodeBlock;
				public static ARABIC_PRESENTATION_FORMS_B: java.lang.Character.UnicodeBlock;
				public static ARABIC_SUPPLEMENT: java.lang.Character.UnicodeBlock;
				public static ARMENIAN: java.lang.Character.UnicodeBlock;
				public static ARROWS: java.lang.Character.UnicodeBlock;
				public static AVESTAN: java.lang.Character.UnicodeBlock;
				public static BALINESE: java.lang.Character.UnicodeBlock;
				public static BAMUM: java.lang.Character.UnicodeBlock;
				public static BAMUM_SUPPLEMENT: java.lang.Character.UnicodeBlock;
				public static BASIC_LATIN: java.lang.Character.UnicodeBlock;
				public static BATAK: java.lang.Character.UnicodeBlock;
				public static BENGALI: java.lang.Character.UnicodeBlock;
				public static BLOCK_ELEMENTS: java.lang.Character.UnicodeBlock;
				public static BOPOMOFO: java.lang.Character.UnicodeBlock;
				public static BOPOMOFO_EXTENDED: java.lang.Character.UnicodeBlock;
				public static BOX_DRAWING: java.lang.Character.UnicodeBlock;
				public static BRAHMI: java.lang.Character.UnicodeBlock;
				public static BRAILLE_PATTERNS: java.lang.Character.UnicodeBlock;
				public static BUGINESE: java.lang.Character.UnicodeBlock;
				public static BUHID: java.lang.Character.UnicodeBlock;
				public static BYZANTINE_MUSICAL_SYMBOLS: java.lang.Character.UnicodeBlock;
				public static CARIAN: java.lang.Character.UnicodeBlock;
				public static CHAKMA: java.lang.Character.UnicodeBlock;
				public static CHAM: java.lang.Character.UnicodeBlock;
				public static CHEROKEE: java.lang.Character.UnicodeBlock;
				public static CJK_COMPATIBILITY: java.lang.Character.UnicodeBlock;
				public static CJK_COMPATIBILITY_FORMS: java.lang.Character.UnicodeBlock;
				public static CJK_COMPATIBILITY_IDEOGRAPHS: java.lang.Character.UnicodeBlock;
				public static CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT: java.lang.Character.UnicodeBlock;
				public static CJK_RADICALS_SUPPLEMENT: java.lang.Character.UnicodeBlock;
				public static CJK_STROKES: java.lang.Character.UnicodeBlock;
				public static CJK_SYMBOLS_AND_PUNCTUATION: java.lang.Character.UnicodeBlock;
				public static CJK_UNIFIED_IDEOGRAPHS: java.lang.Character.UnicodeBlock;
				public static CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A: java.lang.Character.UnicodeBlock;
				public static CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B: java.lang.Character.UnicodeBlock;
				public static CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C: java.lang.Character.UnicodeBlock;
				public static CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D: java.lang.Character.UnicodeBlock;
				public static COMBINING_DIACRITICAL_MARKS: java.lang.Character.UnicodeBlock;
				public static COMBINING_DIACRITICAL_MARKS_SUPPLEMENT: java.lang.Character.UnicodeBlock;
				public static COMBINING_HALF_MARKS: java.lang.Character.UnicodeBlock;
				public static COMBINING_MARKS_FOR_SYMBOLS: java.lang.Character.UnicodeBlock;
				public static COMMON_INDIC_NUMBER_FORMS: java.lang.Character.UnicodeBlock;
				public static CONTROL_PICTURES: java.lang.Character.UnicodeBlock;
				public static COPTIC: java.lang.Character.UnicodeBlock;
				public static COUNTING_ROD_NUMERALS: java.lang.Character.UnicodeBlock;
				public static CUNEIFORM: java.lang.Character.UnicodeBlock;
				public static CUNEIFORM_NUMBERS_AND_PUNCTUATION: java.lang.Character.UnicodeBlock;
				public static CURRENCY_SYMBOLS: java.lang.Character.UnicodeBlock;
				public static CYPRIOT_SYLLABARY: java.lang.Character.UnicodeBlock;
				public static CYRILLIC: java.lang.Character.UnicodeBlock;
				public static CYRILLIC_EXTENDED_A: java.lang.Character.UnicodeBlock;
				public static CYRILLIC_EXTENDED_B: java.lang.Character.UnicodeBlock;
				public static CYRILLIC_SUPPLEMENTARY: java.lang.Character.UnicodeBlock;
				public static DESERET: java.lang.Character.UnicodeBlock;
				public static DEVANAGARI: java.lang.Character.UnicodeBlock;
				public static DEVANAGARI_EXTENDED: java.lang.Character.UnicodeBlock;
				public static DINGBATS: java.lang.Character.UnicodeBlock;
				public static DOMINO_TILES: java.lang.Character.UnicodeBlock;
				public static EGYPTIAN_HIEROGLYPHS: java.lang.Character.UnicodeBlock;
				public static EMOTICONS: java.lang.Character.UnicodeBlock;
				public static ENCLOSED_ALPHANUMERICS: java.lang.Character.UnicodeBlock;
				public static ENCLOSED_ALPHANUMERIC_SUPPLEMENT: java.lang.Character.UnicodeBlock;
				public static ENCLOSED_CJK_LETTERS_AND_MONTHS: java.lang.Character.UnicodeBlock;
				public static ENCLOSED_IDEOGRAPHIC_SUPPLEMENT: java.lang.Character.UnicodeBlock;
				public static ETHIOPIC: java.lang.Character.UnicodeBlock;
				public static ETHIOPIC_EXTENDED: java.lang.Character.UnicodeBlock;
				public static ETHIOPIC_EXTENDED_A: java.lang.Character.UnicodeBlock;
				public static ETHIOPIC_SUPPLEMENT: java.lang.Character.UnicodeBlock;
				public static GENERAL_PUNCTUATION: java.lang.Character.UnicodeBlock;
				public static GEOMETRIC_SHAPES: java.lang.Character.UnicodeBlock;
				public static GEORGIAN: java.lang.Character.UnicodeBlock;
				public static GEORGIAN_SUPPLEMENT: java.lang.Character.UnicodeBlock;
				public static GLAGOLITIC: java.lang.Character.UnicodeBlock;
				public static GOTHIC: java.lang.Character.UnicodeBlock;
				public static GREEK: java.lang.Character.UnicodeBlock;
				public static GREEK_EXTENDED: java.lang.Character.UnicodeBlock;
				public static GUJARATI: java.lang.Character.UnicodeBlock;
				public static GURMUKHI: java.lang.Character.UnicodeBlock;
				public static HALFWIDTH_AND_FULLWIDTH_FORMS: java.lang.Character.UnicodeBlock;
				public static HANGUL_COMPATIBILITY_JAMO: java.lang.Character.UnicodeBlock;
				public static HANGUL_JAMO: java.lang.Character.UnicodeBlock;
				public static HANGUL_JAMO_EXTENDED_A: java.lang.Character.UnicodeBlock;
				public static HANGUL_JAMO_EXTENDED_B: java.lang.Character.UnicodeBlock;
				public static HANGUL_SYLLABLES: java.lang.Character.UnicodeBlock;
				public static HANUNOO: java.lang.Character.UnicodeBlock;
				public static HEBREW: java.lang.Character.UnicodeBlock;
				public static HIGH_PRIVATE_USE_SURROGATES: java.lang.Character.UnicodeBlock;
				public static HIGH_SURROGATES: java.lang.Character.UnicodeBlock;
				public static HIRAGANA: java.lang.Character.UnicodeBlock;
				public static IDEOGRAPHIC_DESCRIPTION_CHARACTERS: java.lang.Character.UnicodeBlock;
				public static IMPERIAL_ARAMAIC: java.lang.Character.UnicodeBlock;
				public static INSCRIPTIONAL_PAHLAVI: java.lang.Character.UnicodeBlock;
				public static INSCRIPTIONAL_PARTHIAN: java.lang.Character.UnicodeBlock;
				public static IPA_EXTENSIONS: java.lang.Character.UnicodeBlock;
				public static JAVANESE: java.lang.Character.UnicodeBlock;
				public static KAITHI: java.lang.Character.UnicodeBlock;
				public static KANA_SUPPLEMENT: java.lang.Character.UnicodeBlock;
				public static KANBUN: java.lang.Character.UnicodeBlock;
				public static KANGXI_RADICALS: java.lang.Character.UnicodeBlock;
				public static KANNADA: java.lang.Character.UnicodeBlock;
				public static KATAKANA: java.lang.Character.UnicodeBlock;
				public static KATAKANA_PHONETIC_EXTENSIONS: java.lang.Character.UnicodeBlock;
				public static KAYAH_LI: java.lang.Character.UnicodeBlock;
				public static KHAROSHTHI: java.lang.Character.UnicodeBlock;
				public static KHMER: java.lang.Character.UnicodeBlock;
				public static KHMER_SYMBOLS: java.lang.Character.UnicodeBlock;
				public static LAO: java.lang.Character.UnicodeBlock;
				public static LATIN_1_SUPPLEMENT: java.lang.Character.UnicodeBlock;
				public static LATIN_EXTENDED_A: java.lang.Character.UnicodeBlock;
				public static LATIN_EXTENDED_ADDITIONAL: java.lang.Character.UnicodeBlock;
				public static LATIN_EXTENDED_B: java.lang.Character.UnicodeBlock;
				public static LATIN_EXTENDED_C: java.lang.Character.UnicodeBlock;
				public static LATIN_EXTENDED_D: java.lang.Character.UnicodeBlock;
				public static LEPCHA: java.lang.Character.UnicodeBlock;
				public static LETTERLIKE_SYMBOLS: java.lang.Character.UnicodeBlock;
				public static LIMBU: java.lang.Character.UnicodeBlock;
				public static LINEAR_B_IDEOGRAMS: java.lang.Character.UnicodeBlock;
				public static LINEAR_B_SYLLABARY: java.lang.Character.UnicodeBlock;
				public static LISU: java.lang.Character.UnicodeBlock;
				public static LOW_SURROGATES: java.lang.Character.UnicodeBlock;
				public static LYCIAN: java.lang.Character.UnicodeBlock;
				public static LYDIAN: java.lang.Character.UnicodeBlock;
				public static MAHJONG_TILES: java.lang.Character.UnicodeBlock;
				public static MALAYALAM: java.lang.Character.UnicodeBlock;
				public static MANDAIC: java.lang.Character.UnicodeBlock;
				public static MATHEMATICAL_ALPHANUMERIC_SYMBOLS: java.lang.Character.UnicodeBlock;
				public static MATHEMATICAL_OPERATORS: java.lang.Character.UnicodeBlock;
				public static MEETEI_MAYEK: java.lang.Character.UnicodeBlock;
				public static MEETEI_MAYEK_EXTENSIONS: java.lang.Character.UnicodeBlock;
				public static MEROITIC_CURSIVE: java.lang.Character.UnicodeBlock;
				public static MEROITIC_HIEROGLYPHS: java.lang.Character.UnicodeBlock;
				public static MIAO: java.lang.Character.UnicodeBlock;
				public static MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A: java.lang.Character.UnicodeBlock;
				public static MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B: java.lang.Character.UnicodeBlock;
				public static MISCELLANEOUS_SYMBOLS: java.lang.Character.UnicodeBlock;
				public static MISCELLANEOUS_SYMBOLS_AND_ARROWS: java.lang.Character.UnicodeBlock;
				public static MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS: java.lang.Character.UnicodeBlock;
				public static MISCELLANEOUS_TECHNICAL: java.lang.Character.UnicodeBlock;
				public static MODIFIER_TONE_LETTERS: java.lang.Character.UnicodeBlock;
				public static MONGOLIAN: java.lang.Character.UnicodeBlock;
				public static MUSICAL_SYMBOLS: java.lang.Character.UnicodeBlock;
				public static MYANMAR: java.lang.Character.UnicodeBlock;
				public static MYANMAR_EXTENDED_A: java.lang.Character.UnicodeBlock;
				public static NEW_TAI_LUE: java.lang.Character.UnicodeBlock;
				public static NKO: java.lang.Character.UnicodeBlock;
				public static NUMBER_FORMS: java.lang.Character.UnicodeBlock;
				public static OGHAM: java.lang.Character.UnicodeBlock;
				public static OLD_ITALIC: java.lang.Character.UnicodeBlock;
				public static OLD_PERSIAN: java.lang.Character.UnicodeBlock;
				public static OLD_SOUTH_ARABIAN: java.lang.Character.UnicodeBlock;
				public static OLD_TURKIC: java.lang.Character.UnicodeBlock;
				public static OL_CHIKI: java.lang.Character.UnicodeBlock;
				public static OPTICAL_CHARACTER_RECOGNITION: java.lang.Character.UnicodeBlock;
				public static ORIYA: java.lang.Character.UnicodeBlock;
				public static OSMANYA: java.lang.Character.UnicodeBlock;
				public static PHAGS_PA: java.lang.Character.UnicodeBlock;
				public static PHAISTOS_DISC: java.lang.Character.UnicodeBlock;
				public static PHOENICIAN: java.lang.Character.UnicodeBlock;
				public static PHONETIC_EXTENSIONS: java.lang.Character.UnicodeBlock;
				public static PHONETIC_EXTENSIONS_SUPPLEMENT: java.lang.Character.UnicodeBlock;
				public static PLAYING_CARDS: java.lang.Character.UnicodeBlock;
				public static PRIVATE_USE_AREA: java.lang.Character.UnicodeBlock;
				public static REJANG: java.lang.Character.UnicodeBlock;
				public static RUMI_NUMERAL_SYMBOLS: java.lang.Character.UnicodeBlock;
				public static RUNIC: java.lang.Character.UnicodeBlock;
				public static SAMARITAN: java.lang.Character.UnicodeBlock;
				public static SAURASHTRA: java.lang.Character.UnicodeBlock;
				public static SHARADA: java.lang.Character.UnicodeBlock;
				public static SHAVIAN: java.lang.Character.UnicodeBlock;
				public static SINHALA: java.lang.Character.UnicodeBlock;
				public static SMALL_FORM_VARIANTS: java.lang.Character.UnicodeBlock;
				public static SORA_SOMPENG: java.lang.Character.UnicodeBlock;
				public static SPACING_MODIFIER_LETTERS: java.lang.Character.UnicodeBlock;
				public static SPECIALS: java.lang.Character.UnicodeBlock;
				public static SUNDANESE: java.lang.Character.UnicodeBlock;
				public static SUNDANESE_SUPPLEMENT: java.lang.Character.UnicodeBlock;
				public static SUPERSCRIPTS_AND_SUBSCRIPTS: java.lang.Character.UnicodeBlock;
				public static SUPPLEMENTAL_ARROWS_A: java.lang.Character.UnicodeBlock;
				public static SUPPLEMENTAL_ARROWS_B: java.lang.Character.UnicodeBlock;
				public static SUPPLEMENTAL_MATHEMATICAL_OPERATORS: java.lang.Character.UnicodeBlock;
				public static SUPPLEMENTAL_PUNCTUATION: java.lang.Character.UnicodeBlock;
				public static SUPPLEMENTARY_PRIVATE_USE_AREA_A: java.lang.Character.UnicodeBlock;
				public static SUPPLEMENTARY_PRIVATE_USE_AREA_B: java.lang.Character.UnicodeBlock;
				public static SURROGATES_AREA: java.lang.Character.UnicodeBlock;
				public static SYLOTI_NAGRI: java.lang.Character.UnicodeBlock;
				public static SYRIAC: java.lang.Character.UnicodeBlock;
				public static TAGALOG: java.lang.Character.UnicodeBlock;
				public static TAGBANWA: java.lang.Character.UnicodeBlock;
				public static TAGS: java.lang.Character.UnicodeBlock;
				public static TAI_LE: java.lang.Character.UnicodeBlock;
				public static TAI_THAM: java.lang.Character.UnicodeBlock;
				public static TAI_VIET: java.lang.Character.UnicodeBlock;
				public static TAI_XUAN_JING_SYMBOLS: java.lang.Character.UnicodeBlock;
				public static TAKRI: java.lang.Character.UnicodeBlock;
				public static TAMIL: java.lang.Character.UnicodeBlock;
				public static TELUGU: java.lang.Character.UnicodeBlock;
				public static THAANA: java.lang.Character.UnicodeBlock;
				public static THAI: java.lang.Character.UnicodeBlock;
				public static TIBETAN: java.lang.Character.UnicodeBlock;
				public static TIFINAGH: java.lang.Character.UnicodeBlock;
				public static TRANSPORT_AND_MAP_SYMBOLS: java.lang.Character.UnicodeBlock;
				public static UGARITIC: java.lang.Character.UnicodeBlock;
				public static UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS: java.lang.Character.UnicodeBlock;
				public static UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED: java.lang.Character.UnicodeBlock;
				public static VAI: java.lang.Character.UnicodeBlock;
				public static VARIATION_SELECTORS: java.lang.Character.UnicodeBlock;
				public static VARIATION_SELECTORS_SUPPLEMENT: java.lang.Character.UnicodeBlock;
				public static VEDIC_EXTENSIONS: java.lang.Character.UnicodeBlock;
				public static VERTICAL_FORMS: java.lang.Character.UnicodeBlock;
				public static YIJING_HEXAGRAM_SYMBOLS: java.lang.Character.UnicodeBlock;
				public static YI_RADICALS: java.lang.Character.UnicodeBlock;
				public static YI_SYLLABLES: java.lang.Character.UnicodeBlock;
				public static of(param0: string): java.lang.Character.UnicodeBlock;
				public static of(param0: number): java.lang.Character.UnicodeBlock;
				public static forName(param0: string): java.lang.Character.UnicodeBlock;
			}
			export class UnicodeScript {
				public static class: java.lang.Class<java.lang.Character.UnicodeScript>;
				public static COMMON: java.lang.Character.UnicodeScript;
				public static LATIN: java.lang.Character.UnicodeScript;
				public static GREEK: java.lang.Character.UnicodeScript;
				public static CYRILLIC: java.lang.Character.UnicodeScript;
				public static ARMENIAN: java.lang.Character.UnicodeScript;
				public static HEBREW: java.lang.Character.UnicodeScript;
				public static ARABIC: java.lang.Character.UnicodeScript;
				public static SYRIAC: java.lang.Character.UnicodeScript;
				public static THAANA: java.lang.Character.UnicodeScript;
				public static DEVANAGARI: java.lang.Character.UnicodeScript;
				public static BENGALI: java.lang.Character.UnicodeScript;
				public static GURMUKHI: java.lang.Character.UnicodeScript;
				public static GUJARATI: java.lang.Character.UnicodeScript;
				public static ORIYA: java.lang.Character.UnicodeScript;
				public static TAMIL: java.lang.Character.UnicodeScript;
				public static TELUGU: java.lang.Character.UnicodeScript;
				public static KANNADA: java.lang.Character.UnicodeScript;
				public static MALAYALAM: java.lang.Character.UnicodeScript;
				public static SINHALA: java.lang.Character.UnicodeScript;
				public static THAI: java.lang.Character.UnicodeScript;
				public static LAO: java.lang.Character.UnicodeScript;
				public static TIBETAN: java.lang.Character.UnicodeScript;
				public static MYANMAR: java.lang.Character.UnicodeScript;
				public static GEORGIAN: java.lang.Character.UnicodeScript;
				public static HANGUL: java.lang.Character.UnicodeScript;
				public static ETHIOPIC: java.lang.Character.UnicodeScript;
				public static CHEROKEE: java.lang.Character.UnicodeScript;
				public static CANADIAN_ABORIGINAL: java.lang.Character.UnicodeScript;
				public static OGHAM: java.lang.Character.UnicodeScript;
				public static RUNIC: java.lang.Character.UnicodeScript;
				public static KHMER: java.lang.Character.UnicodeScript;
				public static MONGOLIAN: java.lang.Character.UnicodeScript;
				public static HIRAGANA: java.lang.Character.UnicodeScript;
				public static KATAKANA: java.lang.Character.UnicodeScript;
				public static BOPOMOFO: java.lang.Character.UnicodeScript;
				public static HAN: java.lang.Character.UnicodeScript;
				public static YI: java.lang.Character.UnicodeScript;
				public static OLD_ITALIC: java.lang.Character.UnicodeScript;
				public static GOTHIC: java.lang.Character.UnicodeScript;
				public static DESERET: java.lang.Character.UnicodeScript;
				public static INHERITED: java.lang.Character.UnicodeScript;
				public static TAGALOG: java.lang.Character.UnicodeScript;
				public static HANUNOO: java.lang.Character.UnicodeScript;
				public static BUHID: java.lang.Character.UnicodeScript;
				public static TAGBANWA: java.lang.Character.UnicodeScript;
				public static LIMBU: java.lang.Character.UnicodeScript;
				public static TAI_LE: java.lang.Character.UnicodeScript;
				public static LINEAR_B: java.lang.Character.UnicodeScript;
				public static UGARITIC: java.lang.Character.UnicodeScript;
				public static SHAVIAN: java.lang.Character.UnicodeScript;
				public static OSMANYA: java.lang.Character.UnicodeScript;
				public static CYPRIOT: java.lang.Character.UnicodeScript;
				public static BRAILLE: java.lang.Character.UnicodeScript;
				public static BUGINESE: java.lang.Character.UnicodeScript;
				public static COPTIC: java.lang.Character.UnicodeScript;
				public static NEW_TAI_LUE: java.lang.Character.UnicodeScript;
				public static GLAGOLITIC: java.lang.Character.UnicodeScript;
				public static TIFINAGH: java.lang.Character.UnicodeScript;
				public static SYLOTI_NAGRI: java.lang.Character.UnicodeScript;
				public static OLD_PERSIAN: java.lang.Character.UnicodeScript;
				public static KHAROSHTHI: java.lang.Character.UnicodeScript;
				public static BALINESE: java.lang.Character.UnicodeScript;
				public static CUNEIFORM: java.lang.Character.UnicodeScript;
				public static PHOENICIAN: java.lang.Character.UnicodeScript;
				public static PHAGS_PA: java.lang.Character.UnicodeScript;
				public static NKO: java.lang.Character.UnicodeScript;
				public static SUNDANESE: java.lang.Character.UnicodeScript;
				public static BATAK: java.lang.Character.UnicodeScript;
				public static LEPCHA: java.lang.Character.UnicodeScript;
				public static OL_CHIKI: java.lang.Character.UnicodeScript;
				public static VAI: java.lang.Character.UnicodeScript;
				public static SAURASHTRA: java.lang.Character.UnicodeScript;
				public static KAYAH_LI: java.lang.Character.UnicodeScript;
				public static REJANG: java.lang.Character.UnicodeScript;
				public static LYCIAN: java.lang.Character.UnicodeScript;
				public static CARIAN: java.lang.Character.UnicodeScript;
				public static LYDIAN: java.lang.Character.UnicodeScript;
				public static CHAM: java.lang.Character.UnicodeScript;
				public static TAI_THAM: java.lang.Character.UnicodeScript;
				public static TAI_VIET: java.lang.Character.UnicodeScript;
				public static AVESTAN: java.lang.Character.UnicodeScript;
				public static EGYPTIAN_HIEROGLYPHS: java.lang.Character.UnicodeScript;
				public static SAMARITAN: java.lang.Character.UnicodeScript;
				public static MANDAIC: java.lang.Character.UnicodeScript;
				public static LISU: java.lang.Character.UnicodeScript;
				public static BAMUM: java.lang.Character.UnicodeScript;
				public static JAVANESE: java.lang.Character.UnicodeScript;
				public static MEETEI_MAYEK: java.lang.Character.UnicodeScript;
				public static IMPERIAL_ARAMAIC: java.lang.Character.UnicodeScript;
				public static OLD_SOUTH_ARABIAN: java.lang.Character.UnicodeScript;
				public static INSCRIPTIONAL_PARTHIAN: java.lang.Character.UnicodeScript;
				public static INSCRIPTIONAL_PAHLAVI: java.lang.Character.UnicodeScript;
				public static OLD_TURKIC: java.lang.Character.UnicodeScript;
				public static BRAHMI: java.lang.Character.UnicodeScript;
				public static KAITHI: java.lang.Character.UnicodeScript;
				public static MEROITIC_HIEROGLYPHS: java.lang.Character.UnicodeScript;
				public static MEROITIC_CURSIVE: java.lang.Character.UnicodeScript;
				public static SORA_SOMPENG: java.lang.Character.UnicodeScript;
				public static CHAKMA: java.lang.Character.UnicodeScript;
				public static SHARADA: java.lang.Character.UnicodeScript;
				public static TAKRI: java.lang.Character.UnicodeScript;
				public static MIAO: java.lang.Character.UnicodeScript;
				public static UNKNOWN: java.lang.Character.UnicodeScript;
				public static forName(param0: string): java.lang.Character.UnicodeScript;
				public static values(): native.Array<java.lang.Character.UnicodeScript>;
				public static of(param0: number): java.lang.Character.UnicodeScript;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
				public static valueOf(param0: string): java.lang.Character.UnicodeScript;
			}
		}
	}
}

declare module java {
	export module lang {
		export class Class<T>  extends java.lang.Object {
			public static class: java.lang.Class<java.lang.Class<any>>;
			public getMethod(param0: string, param1: native.Array<java.lang.Class<any>>): java.lang.reflect.Method;
			public getEnclosingClass(): java.lang.Class<any>;
			public getClassLoader(): java.lang.ClassLoader;
			public isInterface(): boolean;
			public isArray(): boolean;
			public desiredAssertionStatus(): boolean;
			public getSuperclass(): java.lang.Class<any>;
			public getConstructors(): native.Array<java.lang.reflect.Constructor<any>>;
			public getProtectionDomain(): java.security.ProtectionDomain;
			public getCanonicalName(): string;
			public isPrimitive(): boolean;
			public getDeclaredFields(): native.Array<java.lang.reflect.Field>;
			public isInstance(param0: any): boolean;
			public static forName(param0: string): java.lang.Class<any>;
			public newInstance(): T;
			public getInterfaces(): native.Array<java.lang.Class<any>>;
			public getModifiers(): number;
			public getDeclaredField(param0: string): java.lang.reflect.Field;
			public getMethods(): native.Array<java.lang.reflect.Method>;
			public getGenericSuperclass(): java.lang.reflect.Type;
			public getTypeName(): string;
			public getDeclaredAnnotationsByType(param0: java.lang.Class<any>): native.Array<java.lang.annotation.Annotation>;
			public isEnum(): boolean;
			public isAssignableFrom(param0: java.lang.Class<any>): boolean;
			public isAnnotation(): boolean;
			public getDeclaredMethods(): native.Array<java.lang.reflect.Method>;
			public getTypeParameters(): native.Array<java.lang.reflect.TypeVariable<java.lang.Class<T>>>;
			public getResourceAsStream(param0: string): java.io.InputStream;
			public getGenericInterfaces(): native.Array<java.lang.reflect.Type>;
			public getTypeParameters(): native.Array<java.lang.reflect.TypeVariable<any>>;
			public getDeclaredConstructor(param0: native.Array<java.lang.Class<any>>): java.lang.reflect.Constructor<T>;
			public getConstructor(param0: native.Array<java.lang.Class<any>>): java.lang.reflect.Constructor<T>;
			public getSimpleName(): string;
			public getDeclaredAnnotations(): native.Array<java.lang.annotation.Annotation>;
			public getDeclaredClasses(): native.Array<java.lang.Class<any>>;
			public cast(param0: any): T;
			public getFields(): native.Array<java.lang.reflect.Field>;
			public isAnonymousClass(): boolean;
			public getDeclaredAnnotation(param0: java.lang.Class<any>): java.lang.annotation.Annotation;
			public getAnnotation(param0: java.lang.Class<any>): java.lang.annotation.Annotation;
			public static forName(param0: string, param1: boolean, param2: java.lang.ClassLoader): java.lang.Class<any>;
			public getDeclaredConstructors(): native.Array<java.lang.reflect.Constructor<any>>;
			public getField(param0: string): java.lang.reflect.Field;
			public getSigners(): native.Array<any>;
			public getComponentType(): java.lang.Class<any>;
			public isAnnotationPresent(param0: java.lang.Class<any>): boolean;
			public getAnnotationsByType(param0: java.lang.Class<any>): native.Array<java.lang.annotation.Annotation>;
			public getDeclaringClass(): java.lang.Class<any>;
			public toGenericString(): string;
			public getPackage(): java.lang.Package;
			public isSynthetic(): boolean;
			public toString(): string;
			public getName(): string;
			public getEnclosingMethod(): java.lang.reflect.Method;
			public getAnnotations(): native.Array<java.lang.annotation.Annotation>;
			public getEnclosingConstructor(): java.lang.reflect.Constructor<any>;
			public isLocalClass(): boolean;
			public asSubclass(param0: java.lang.Class<any>): java.lang.Class<any>;
			public isMemberClass(): boolean;
			public getEnumConstants(): native.Array<T>;
			public getClasses(): native.Array<java.lang.Class<any>>;
			public getResource(param0: string): java.net.URL;
			public getDeclaredMethod(param0: string, param1: native.Array<java.lang.Class<any>>): java.lang.reflect.Method;
		}
	}
}

declare module java {
	export module lang {
		export class ClassCastException extends java.lang.RuntimeException {
			public static class: java.lang.Class<java.lang.ClassCastException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module lang {
		export class ClassCircularityError extends java.lang.LinkageError {
			public static class: java.lang.Class<java.lang.ClassCircularityError>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module lang {
		export class ClassFormatError extends java.lang.LinkageError {
			public static class: java.lang.Class<java.lang.ClassFormatError>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module lang {
		export abstract class ClassLoader extends java.lang.Object {
			public static class: java.lang.Class<java.lang.ClassLoader>;
			public setSigners(param0: java.lang.Class<any>, param1: native.Array<any>): void;
			public findLibrary(param0: string): string;
			public findResource(param0: string): java.net.URL;
			public constructor(param0: java.lang.ClassLoader);
			public getParent(): java.lang.ClassLoader;
			public getPackage(param0: string): java.lang.Package;
			public loadClass(param0: string, param1: boolean): java.lang.Class<any>;
			/** @deprecated */
			public defineClass(param0: native.Array<number>, param1: number, param2: number): java.lang.Class<any>;
			public setPackageAssertionStatus(param0: string, param1: boolean): void;
			public getPackages(): native.Array<java.lang.Package>;
			public findLoadedClass(param0: string): java.lang.Class<any>;
			public setClassAssertionStatus(param0: string, param1: boolean): void;
			public static getSystemResource(param0: string): java.net.URL;
			public defineClass(param0: string, param1: java.nio.ByteBuffer, param2: java.security.ProtectionDomain): java.lang.Class<any>;
			public getResources(param0: string): java.util.Enumeration<java.net.URL>;
			public findSystemClass(param0: string): java.lang.Class<any>;
			public static registerAsParallelCapable(): boolean;
			public static getSystemResources(param0: string): java.util.Enumeration<java.net.URL>;
			public constructor();
			public static getSystemResourceAsStream(param0: string): java.io.InputStream;
			public loadClass(param0: string): java.lang.Class<any>;
			public defineClass(param0: string, param1: native.Array<number>, param2: number, param3: number): java.lang.Class<any>;
			public definePackage(param0: string, param1: string, param2: string, param3: string, param4: string, param5: string, param6: string, param7: java.net.URL): java.lang.Package;
			public static getSystemClassLoader(): java.lang.ClassLoader;
			public resolveClass(param0: java.lang.Class<any>): void;
			public getResourceAsStream(param0: string): java.io.InputStream;
			public findClass(param0: string): java.lang.Class<any>;
			public getResource(param0: string): java.net.URL;
			public defineClass(param0: string, param1: native.Array<number>, param2: number, param3: number, param4: java.security.ProtectionDomain): java.lang.Class<any>;
			public setDefaultAssertionStatus(param0: boolean): void;
			public clearAssertionStatus(): void;
			public findResources(param0: string): java.util.Enumeration<java.net.URL>;
		}
	}
}

declare module java {
	export module lang {
		export class ClassNotFoundException extends java.lang.ReflectiveOperationException {
			public static class: java.lang.Class<java.lang.ClassNotFoundException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public getException(): java.lang.Throwable;
			public getCause(): java.lang.Throwable;
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module lang {
		export class CloneNotSupportedException extends java.lang.Exception {
			public static class: java.lang.Class<java.lang.CloneNotSupportedException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module lang {
		export class Cloneable extends java.lang.Object {
			public static class: java.lang.Class<java.lang.Cloneable>;
			/**
			 * Constructs a new instance of the java.lang.Cloneable interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
			});
			public constructor();
		}
	}
}

declare module java {
	export module lang {
		export class Comparable<T>  extends java.lang.Object {
			public static class: java.lang.Class<java.lang.Comparable<any>>;
			/**
			 * Constructs a new instance of the java.lang.Comparable<any> interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				compareTo(param0: T): number;
			});
			public constructor();
			public compareTo(param0: T): number;
		}
	}
}

declare module java {
	export module lang {
		export class Compiler extends java.lang.Object {
			public static class: java.lang.Class<java.lang.Compiler>;
			public static compileClass(param0: java.lang.Class<any>): boolean;
			public static command(param0: any): any;
			public static enable(): void;
			public static disable(): void;
			public static compileClasses(param0: string): boolean;
		}
	}
}

declare module java {
	export module lang {
		export class Deprecated extends java.lang.Object implements java.lang.annotation.Annotation {
			public static class: java.lang.Class<java.lang.Deprecated>;
			/**
			 * Constructs a new instance of the java.lang.Deprecated interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				equals(param0: any): boolean;
				hashCode(): number;
				toString(): string;
				annotationType(): java.lang.Class<any>;
			});
			public constructor();
			public equals(param0: any): boolean;
			public toString(): string;
			public annotationType(): java.lang.Class<any>;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module lang {
		export class Double extends java.lang.Number implements java.lang.Comparable<java.lang.Double>  {
			public static class: java.lang.Class<java.lang.Double>;
			public static BYTES: number;
			public static MAX_EXPONENT: number;
			public static MAX_VALUE: number;
			public static MIN_EXPONENT: number;
			public static MIN_NORMAL: number;
			public static MIN_VALUE: number;
			public static NEGATIVE_INFINITY: number;
			public static NaN: number;
			public static POSITIVE_INFINITY: number;
			public static SIZE: number;
			public static TYPE: java.lang.Class<java.lang.Double>;
			public static valueOf(param0: string): java.lang.Double;
			public static doubleToRawLongBits(param0: number): number;
			public equals(param0: any): boolean;
			public static longBitsToDouble(param0: number): number;
			public shortValue(): number;
			public static valueOf(param0: number): java.lang.Double;
			public doubleValue(): number;
			public static parseDouble(param0: string): number;
			public isInfinite(): boolean;
			public compareTo(param0: java.lang.Double): number;
			public static min(param0: number, param1: number): number;
			public constructor(param0: string);
			public static doubleToLongBits(param0: number): number;
			public constructor(param0: number);
			public constructor();
			public floatValue(): number;
			public isNaN(): boolean;
			public intValue(): number;
			public toString(): string;
			public static toHexString(param0: number): string;
			public static isFinite(param0: number): boolean;
			public static compare(param0: number, param1: number): number;
			public static max(param0: number, param1: number): number;
			public byteValue(): number;
			public static hashCode(param0: number): number;
			public static isNaN(param0: number): boolean;
			public static sum(param0: number, param1: number): number;
			public static toString(param0: number): string;
			public static isInfinite(param0: number): boolean;
			public longValue(): number;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module lang {
		export abstract class Enum<E>  extends java.lang.Object {
			public static class: java.lang.Class<java.lang.Enum<any>>;
			public equals(param0: any): boolean;
			public toString(): string;
			public clone(): any;
			public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			public name(): string;
			public constructor(param0: string, param1: number);
			public ordinal(): number;
			public compareTo(param0: E): number;
			public getDeclaringClass(): java.lang.Class<E>;
			public finalize(): void;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module lang {
		export class EnumConstantNotPresentException extends java.lang.RuntimeException {
			public static class: java.lang.Class<java.lang.EnumConstantNotPresentException>;
			public constructor(param0: java.lang.Class<any>, param1: string);
			public constructor(param0: java.lang.Throwable);
			public enumType(): java.lang.Class<any>;
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
			public constantName(): string;
		}
	}
}

declare module java {
	export module lang {
		export class Error extends java.lang.Throwable {
			public static class: java.lang.Class<java.lang.Error>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module lang {
		export class Exception extends java.lang.Throwable {
			public static class: java.lang.Class<java.lang.Exception>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module lang {
		export class ExceptionInInitializerError extends java.lang.LinkageError {
			public static class: java.lang.Class<java.lang.ExceptionInInitializerError>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public getException(): java.lang.Throwable;
			public getCause(): java.lang.Throwable;
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module lang {
		export class Float extends java.lang.Number implements java.lang.Comparable<java.lang.Float>  {
			public static class: java.lang.Class<java.lang.Float>;
			public static BYTES: number;
			public static MAX_EXPONENT: number;
			public static MAX_VALUE: number;
			public static MIN_EXPONENT: number;
			public static MIN_NORMAL: number;
			public static MIN_VALUE: number;
			public static NEGATIVE_INFINITY: number;
			public static NaN: number;
			public static POSITIVE_INFINITY: number;
			public static SIZE: number;
			public static TYPE: java.lang.Class<java.lang.Float>;
			public equals(param0: any): boolean;
			public static parseFloat(param0: string): number;
			public shortValue(): number;
			public static floatToRawIntBits(param0: number): number;
			public doubleValue(): number;
			public compareTo(param0: java.lang.Float): number;
			public isInfinite(): boolean;
			public static min(param0: number, param1: number): number;
			public constructor(param0: string);
			public constructor(param0: number);
			public static valueOf(param0: string): java.lang.Float;
			public static intBitsToFloat(param0: number): number;
			public constructor();
			public floatValue(): number;
			public isNaN(): boolean;
			public intValue(): number;
			public toString(): string;
			public static toHexString(param0: number): string;
			public static isFinite(param0: number): boolean;
			public static floatToIntBits(param0: number): number;
			public static compare(param0: number, param1: number): number;
			public static max(param0: number, param1: number): number;
			public byteValue(): number;
			public static hashCode(param0: number): number;
			public static isNaN(param0: number): boolean;
			public static sum(param0: number, param1: number): number;
			public static valueOf(param0: number): java.lang.Float;
			public static toString(param0: number): string;
			public static isInfinite(param0: number): boolean;
			public longValue(): number;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module lang {
		export class FunctionalInterface extends java.lang.Object implements java.lang.annotation.Annotation {
			public static class: java.lang.Class<java.lang.FunctionalInterface>;
			/**
			 * Constructs a new instance of the java.lang.FunctionalInterface interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				equals(param0: any): boolean;
				hashCode(): number;
				toString(): string;
				annotationType(): java.lang.Class<any>;
			});
			public constructor();
			public equals(param0: any): boolean;
			public toString(): string;
			public annotationType(): java.lang.Class<any>;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module lang {
		export class IllegalAccessError extends java.lang.IncompatibleClassChangeError {
			public static class: java.lang.Class<java.lang.IllegalAccessError>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module lang {
		export class IllegalAccessException extends java.lang.ReflectiveOperationException {
			public static class: java.lang.Class<java.lang.IllegalAccessException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module lang {
		export class IllegalArgumentException extends java.lang.RuntimeException {
			public static class: java.lang.Class<java.lang.IllegalArgumentException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module lang {
		export class IllegalMonitorStateException extends java.lang.RuntimeException {
			public static class: java.lang.Class<java.lang.IllegalMonitorStateException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module lang {
		export class IllegalStateException extends java.lang.RuntimeException {
			public static class: java.lang.Class<java.lang.IllegalStateException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module lang {
		export class IllegalThreadStateException extends java.lang.IllegalArgumentException {
			public static class: java.lang.Class<java.lang.IllegalThreadStateException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module lang {
		export class IncompatibleClassChangeError extends java.lang.LinkageError {
			public static class: java.lang.Class<java.lang.IncompatibleClassChangeError>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module lang {
		export class IndexOutOfBoundsException extends java.lang.RuntimeException {
			public static class: java.lang.Class<java.lang.IndexOutOfBoundsException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module lang {
		export class InheritableThreadLocal<T>  extends java.lang.ThreadLocal<any> {
			public static class: java.lang.Class<java.lang.InheritableThreadLocal<any>>;
			public constructor();
			public childValue(param0: any): any;
		}
	}
}

declare module java {
	export module lang {
		export class InstantiationError extends java.lang.IncompatibleClassChangeError {
			public static class: java.lang.Class<java.lang.InstantiationError>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module lang {
		export class InstantiationException extends java.lang.ReflectiveOperationException {
			public static class: java.lang.Class<java.lang.InstantiationException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module lang {
		export class Integer extends java.lang.Number implements java.lang.Comparable<java.lang.Integer>  {
			public static class: java.lang.Class<java.lang.Integer>;
			public static BYTES: number;
			public static MAX_VALUE: number;
			public static MIN_VALUE: number;
			public static SIZE: number;
			public static TYPE: java.lang.Class<java.lang.Integer>;
			public static lowestOneBit(param0: number): number;
			public static highestOneBit(param0: number): number;
			public static parseInt(param0: string): number;
			public static signum(param0: number): number;
			public static reverseBytes(param0: number): number;
			public static parseInt(param0: string, param1: number): number;
			public constructor(param0: string);
			public static getInteger(param0: string, param1: java.lang.Integer): java.lang.Integer;
			public static rotateRight(param0: number, param1: number): number;
			public constructor(param0: number);
			public static reverse(param0: number): number;
			public constructor();
			public static compareUnsigned(param0: number, param1: number): number;
			public floatValue(): number;
			public intValue(): number;
			public static toHexString(param0: number): string;
			public static compare(param0: number, param1: number): number;
			public static max(param0: number, param1: number): number;
			public byteValue(): number;
			public static valueOf(param0: string): java.lang.Integer;
			public longValue(): number;
			public equals(param0: any): boolean;
			public static toUnsignedLong(param0: number): number;
			public static bitCount(param0: number): number;
			public static toOctalString(param0: number): string;
			public static remainderUnsigned(param0: number, param1: number): number;
			public static valueOf(param0: number): java.lang.Integer;
			public static parseUnsignedInt(param0: string): number;
			public shortValue(): number;
			public doubleValue(): number;
			public static getInteger(param0: string): java.lang.Integer;
			public static rotateLeft(param0: number, param1: number): number;
			public static min(param0: number, param1: number): number;
			public static divideUnsigned(param0: number, param1: number): number;
			public static toUnsignedString(param0: number, param1: number): string;
			public static numberOfLeadingZeros(param0: number): number;
			public static toString(param0: number, param1: number): string;
			public static getInteger(param0: string, param1: number): java.lang.Integer;
			public static valueOf(param0: string, param1: number): java.lang.Integer;
			public compareTo(param0: java.lang.Integer): number;
			public toString(): string;
			public static toUnsignedString(param0: number): string;
			public static numberOfTrailingZeros(param0: number): number;
			public static toBinaryString(param0: number): string;
			public static parseUnsignedInt(param0: string, param1: number): number;
			public static hashCode(param0: number): number;
			public static decode(param0: string): java.lang.Integer;
			public static sum(param0: number, param1: number): number;
			public static toString(param0: number): string;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module lang {
		export class InternalError extends java.lang.VirtualMachineError {
			public static class: java.lang.Class<java.lang.InternalError>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module lang {
		export class InterruptedException extends java.lang.Exception {
			public static class: java.lang.Class<java.lang.InterruptedException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module lang {
		export class Iterable<T>  extends java.lang.Object {
			public static class: java.lang.Class<java.lang.Iterable<any>>;
			/**
			 * Constructs a new instance of the java.lang.Iterable<any> interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				iterator(): java.util.Iterator<T>;
				forEach(param0: any /* any*/): void;
				spliterator(): java.util.Spliterator<T>;
			});
			public constructor();
			public iterator(): java.util.Iterator<T>;
			public spliterator(): java.util.Spliterator<T>;
			public forEach(param0: any /* any*/): void;
		}
	}
}

declare module java {
	export module lang {
		export class LinkageError extends java.lang.Error {
			public static class: java.lang.Class<java.lang.LinkageError>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module lang {
		export class Long extends java.lang.Number implements java.lang.Comparable<java.lang.Long>  {
			public static class: java.lang.Class<java.lang.Long>;
			public static BYTES: number;
			public static MAX_VALUE: number;
			public static MIN_VALUE: number;
			public static SIZE: number;
			public static TYPE: java.lang.Class<java.lang.Long>;
			public static decode(param0: string): java.lang.Long;
			public static lowestOneBit(param0: number): number;
			public static highestOneBit(param0: number): number;
			public static getLong(param0: string, param1: number): java.lang.Long;
			public static valueOf(param0: number): java.lang.Long;
			public compareTo(param0: java.lang.Long): number;
			public static signum(param0: number): number;
			public static reverseBytes(param0: number): number;
			public constructor(param0: string);
			public static rotateRight(param0: number, param1: number): number;
			public constructor(param0: number);
			public static reverse(param0: number): number;
			public constructor();
			public static compareUnsigned(param0: number, param1: number): number;
			public floatValue(): number;
			public intValue(): number;
			public static toHexString(param0: number): string;
			public static compare(param0: number, param1: number): number;
			public static max(param0: number, param1: number): number;
			public byteValue(): number;
			public static getLong(param0: string): java.lang.Long;
			public longValue(): number;
			public equals(param0: any): boolean;
			public static parseLong(param0: string, param1: number): number;
			public static bitCount(param0: number): number;
			public static toOctalString(param0: number): string;
			public static valueOf(param0: string): java.lang.Long;
			public static remainderUnsigned(param0: number, param1: number): number;
			public static parseLong(param0: string): number;
			public shortValue(): number;
			public doubleValue(): number;
			public static getLong(param0: string, param1: java.lang.Long): java.lang.Long;
			public static rotateLeft(param0: number, param1: number): number;
			public static min(param0: number, param1: number): number;
			public static divideUnsigned(param0: number, param1: number): number;
			public static toUnsignedString(param0: number, param1: number): string;
			public static numberOfLeadingZeros(param0: number): number;
			public static toString(param0: number, param1: number): string;
			public static valueOf(param0: string, param1: number): java.lang.Long;
			public static parseUnsignedLong(param0: string, param1: number): number;
			public toString(): string;
			public static toUnsignedString(param0: number): string;
			public static parseUnsignedLong(param0: string): number;
			public static numberOfTrailingZeros(param0: number): number;
			public static toBinaryString(param0: number): string;
			public static hashCode(param0: number): number;
			public static sum(param0: number, param1: number): number;
			public static toString(param0: number): string;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module lang {
		export class Math extends java.lang.Object {
			public static class: java.lang.Class<java.lang.Math>;
			public static E: number;
			public static PI: number;
			public static getExponent(param0: number): number;
			public static subtractExact(param0: number, param1: number): number;
			public static ulp(param0: number): number;
			public static acos(param0: number): number;
			public static floorMod(param0: number, param1: number): number;
			public static sin(param0: number): number;
			public static floorDiv(param0: number, param1: number): number;
			public static expm1(param0: number): number;
			public static log1p(param0: number): number;
			public static copySign(param0: number, param1: number): number;
			public static incrementExact(param0: number): number;
			public static ceil(param0: number): number;
			public static atan2(param0: number, param1: number): number;
			public static signum(param0: number): number;
			public static sqrt(param0: number): number;
			public static cosh(param0: number): number;
			public static nextAfter(param0: number, param1: number): number;
			public static nextDown(param0: number): number;
			public static toIntExact(param0: number): number;
			public static toDegrees(param0: number): number;
			public static min(param0: number, param1: number): number;
			public static random(): number;
			public static asin(param0: number): number;
			public static log10(param0: number): number;
			public static exp(param0: number): number;
			public static log(param0: number): number;
			public static toRadians(param0: number): number;
			public static floor(param0: number): number;
			public static round(param0: number): number;
			public static multiplyExact(param0: number, param1: number): number;
			public static sinh(param0: number): number;
			public static tanh(param0: number): number;
			public static hypot(param0: number, param1: number): number;
			public static addExact(param0: number, param1: number): number;
			public static tan(param0: number): number;
			public static cos(param0: number): number;
			public static rint(param0: number): number;
			public static cbrt(param0: number): number;
			public static IEEEremainder(param0: number, param1: number): number;
			public static pow(param0: number, param1: number): number;
			public static decrementExact(param0: number): number;
			public static max(param0: number, param1: number): number;
			public static negateExact(param0: number): number;
			public static scalb(param0: number, param1: number): number;
			public static abs(param0: number): number;
			public static atan(param0: number): number;
			public static nextUp(param0: number): number;
		}
	}
}

declare module java {
	export module lang {
		export class NegativeArraySizeException extends java.lang.RuntimeException {
			public static class: java.lang.Class<java.lang.NegativeArraySizeException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module lang {
		export class NoClassDefFoundError extends java.lang.LinkageError {
			public static class: java.lang.Class<java.lang.NoClassDefFoundError>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module lang {
		export class NoSuchFieldError extends java.lang.IncompatibleClassChangeError {
			public static class: java.lang.Class<java.lang.NoSuchFieldError>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module lang {
		export class NoSuchFieldException extends java.lang.ReflectiveOperationException {
			public static class: java.lang.Class<java.lang.NoSuchFieldException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module lang {
		export class NoSuchMethodError extends java.lang.IncompatibleClassChangeError {
			public static class: java.lang.Class<java.lang.NoSuchMethodError>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module lang {
		export class NoSuchMethodException extends java.lang.ReflectiveOperationException {
			public static class: java.lang.Class<java.lang.NoSuchMethodException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module lang {
		export class NullPointerException extends java.lang.RuntimeException {
			public static class: java.lang.Class<java.lang.NullPointerException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module lang {
		export abstract class Number extends java.lang.Object implements java.io.Serializable {
			public static class: java.lang.Class<java.lang.Number>;
			public floatValue(): number;
			public doubleValue(): number;
			public intValue(): number;
			public byteValue(): number;
			public constructor();
			public shortValue(): number;
			public longValue(): number;
		}
	}
}

declare module java {
	export module lang {
		export class NumberFormatException extends java.lang.IllegalArgumentException {
			public static class: java.lang.Class<java.lang.NumberFormatException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module lang {
		export class Object {
			public static class: java.lang.Class<java.lang.Object>;
			public wait(): void;
			public equals(param0: any): boolean;
			public wait(param0: number): void;
			public clone(): any;
			public toString(): string;
			public notify(): void;
			public getClass(): java.lang.Class<any>;
			public constructor();
			public wait(param0: number, param1: number): void;
			public finalize(): void;
			public hashCode(): number;
			public notifyAll(): void;
		}
	}
}

declare module java {
	export module lang {
		export class OutOfMemoryError extends java.lang.VirtualMachineError {
			public static class: java.lang.Class<java.lang.OutOfMemoryError>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module lang {
		export class Override extends java.lang.Object implements java.lang.annotation.Annotation {
			public static class: java.lang.Class<java.lang.Override>;
			/**
			 * Constructs a new instance of the java.lang.Override interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				equals(param0: any): boolean;
				hashCode(): number;
				toString(): string;
				annotationType(): java.lang.Class<any>;
			});
			public constructor();
			public equals(param0: any): boolean;
			public toString(): string;
			public annotationType(): java.lang.Class<any>;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module lang {
		export class Package extends java.lang.Object implements java.lang.reflect.AnnotatedElement {
			public static class: java.lang.Class<java.lang.Package>;
			public getAnnotationsByType(param0: java.lang.Class<any>): native.Array<java.lang.annotation.Annotation>;
			public getImplementationVendor(): string;
			public static getPackage(param0: string): java.lang.Package;
			public getImplementationVersion(): string;
			public getSpecificationVersion(): string;
			public getDeclaredAnnotations(): native.Array<java.lang.annotation.Annotation>;
			public getDeclaredAnnotationsByType(param0: java.lang.Class<any>): native.Array<java.lang.annotation.Annotation>;
			public getSpecificationVendor(): string;
			public isSealed(): boolean;
			public toString(): string;
			public getDeclaredAnnotation(param0: java.lang.Class<any>): java.lang.annotation.Annotation;
			public getName(): string;
			public isCompatibleWith(param0: string): boolean;
			public getAnnotation(param0: java.lang.Class<any>): java.lang.annotation.Annotation;
			public getAnnotations(): native.Array<java.lang.annotation.Annotation>;
			public isSealed(param0: java.net.URL): boolean;
			public static getPackages(): native.Array<java.lang.Package>;
			public isAnnotationPresent(param0: java.lang.Class<any>): boolean;
			public getImplementationTitle(): string;
			public getSpecificationTitle(): string;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module lang {
		export abstract class Process extends java.lang.Object {
			public static class: java.lang.Class<java.lang.Process>;
			public destroyForcibly(): java.lang.Process;
			public getInputStream(): java.io.InputStream;
			public exitValue(): number;
			public destroy(): void;
			public getOutputStream(): java.io.OutputStream;
			public constructor();
			public waitFor(param0: number, param1: java.util.concurrent.TimeUnit): boolean;
			public getErrorStream(): java.io.InputStream;
			public waitFor(): number;
			public isAlive(): boolean;
		}
	}
}

declare module java {
	export module lang {
		export class ProcessBuilder extends java.lang.Object {
			public static class: java.lang.Class<java.lang.ProcessBuilder>;
			public redirectError(param0: java.lang.ProcessBuilder.Redirect): java.lang.ProcessBuilder;
			public command(param0: native.Array<string>): java.lang.ProcessBuilder;
			public environment(): java.util.Map<string,string>;
			public directory(): java.io.File;
			public redirectOutput(param0: java.io.File): java.lang.ProcessBuilder;
			public redirectErrorStream(): boolean;
			public start(): java.lang.Process;
			public redirectInput(): java.lang.ProcessBuilder.Redirect;
			public inheritIO(): java.lang.ProcessBuilder;
			public redirectError(): java.lang.ProcessBuilder.Redirect;
			public redirectErrorStream(param0: boolean): java.lang.ProcessBuilder;
			public command(param0: java.util.List<string>): java.lang.ProcessBuilder;
			public redirectOutput(param0: java.lang.ProcessBuilder.Redirect): java.lang.ProcessBuilder;
			public constructor(param0: native.Array<string>);
			public redirectInput(param0: java.lang.ProcessBuilder.Redirect): java.lang.ProcessBuilder;
			public redirectOutput(): java.lang.ProcessBuilder.Redirect;
			public command(): java.util.List<string>;
			public redirectError(param0: java.io.File): java.lang.ProcessBuilder;
			public constructor(param0: java.util.List<string>);
			public directory(param0: java.io.File): java.lang.ProcessBuilder;
			public redirectInput(param0: java.io.File): java.lang.ProcessBuilder;
		}
		export module ProcessBuilder {
			export abstract class Redirect extends java.lang.Object {
				public static class: java.lang.Class<java.lang.ProcessBuilder.Redirect>;
				public static INHERIT: java.lang.ProcessBuilder.Redirect;
				public static PIPE: java.lang.ProcessBuilder.Redirect;
				public static from(param0: java.io.File): java.lang.ProcessBuilder.Redirect;
				public file(): java.io.File;
				public hashCode(): number;
				public type(): java.lang.ProcessBuilder.Redirect.Type;
				public equals(param0: any): boolean;
				public static appendTo(param0: java.io.File): java.lang.ProcessBuilder.Redirect;
				public static to(param0: java.io.File): java.lang.ProcessBuilder.Redirect;
			}
			export module Redirect {
				export class Type {
					public static class: java.lang.Class<java.lang.ProcessBuilder.Redirect.Type>;
					public static PIPE: java.lang.ProcessBuilder.Redirect.Type;
					public static INHERIT: java.lang.ProcessBuilder.Redirect.Type;
					public static READ: java.lang.ProcessBuilder.Redirect.Type;
					public static WRITE: java.lang.ProcessBuilder.Redirect.Type;
					public static APPEND: java.lang.ProcessBuilder.Redirect.Type;
					public static values(): native.Array<java.lang.ProcessBuilder.Redirect.Type>;
					public static valueOf(param0: string): java.lang.ProcessBuilder.Redirect.Type;
					public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
				}
			}
		}
	}
}

declare module java {
	export module lang {
		export class Readable extends java.lang.Object {
			public static class: java.lang.Class<java.lang.Readable>;
			/**
			 * Constructs a new instance of the java.lang.Readable interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				read(param0: java.nio.CharBuffer): number;
			});
			public constructor();
			public read(param0: java.nio.CharBuffer): number;
		}
	}
}

declare module java {
	export module lang {
		export class ReflectiveOperationException extends java.lang.Exception {
			public static class: java.lang.Class<java.lang.ReflectiveOperationException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module lang {
		export class Runnable extends java.lang.Object {
			public static class: java.lang.Class<java.lang.Runnable>;
			/**
			 * Constructs a new instance of the java.lang.Runnable interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				run(): void;
			});
			public constructor();
			public run(): void;
		}
	}
}

declare module java {
	export module lang {
		export class Runtime extends java.lang.Object {
			public static class: java.lang.Class<java.lang.Runtime>;
			public exit(param0: number): void;
			/** @deprecated */
			public static runFinalizersOnExit(param0: boolean): void;
			public totalMemory(): number;
			public addShutdownHook(param0: java.lang.Thread): void;
			public exec(param0: native.Array<string>): java.lang.Process;
			public loadLibrary(param0: string): void;
			public traceMethodCalls(param0: boolean): void;
			public availableProcessors(): number;
			public exec(param0: string, param1: native.Array<string>, param2: java.io.File): java.lang.Process;
			public load(param0: string): void;
			public maxMemory(): number;
			public exec(param0: string, param1: native.Array<string>): java.lang.Process;
			public gc(): void;
			public exec(param0: native.Array<string>, param1: native.Array<string>, param2: java.io.File): java.lang.Process;
			public removeShutdownHook(param0: java.lang.Thread): boolean;
			/** @deprecated */
			public getLocalizedInputStream(param0: java.io.InputStream): java.io.InputStream;
			public exec(param0: string): java.lang.Process;
			public freeMemory(): number;
			public static getRuntime(): java.lang.Runtime;
			public exec(param0: native.Array<string>, param1: native.Array<string>): java.lang.Process;
			public traceInstructions(param0: boolean): void;
			public halt(param0: number): void;
			public runFinalization(): void;
			/** @deprecated */
			public getLocalizedOutputStream(param0: java.io.OutputStream): java.io.OutputStream;
		}
	}
}

declare module java {
	export module lang {
		export class RuntimeException extends java.lang.Exception {
			public static class: java.lang.Class<java.lang.RuntimeException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module lang {
		export class RuntimePermission extends java.security.BasicPermission {
			public static class: java.lang.Class<java.lang.RuntimePermission>;
			public constructor(param0: string, param1: string);
			public checkGuard(param0: any): void;
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module lang {
		export class SafeVarargs extends java.lang.Object implements java.lang.annotation.Annotation {
			public static class: java.lang.Class<java.lang.SafeVarargs>;
			/**
			 * Constructs a new instance of the java.lang.SafeVarargs interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				equals(param0: any): boolean;
				hashCode(): number;
				toString(): string;
				annotationType(): java.lang.Class<any>;
			});
			public constructor();
			public equals(param0: any): boolean;
			public toString(): string;
			public annotationType(): java.lang.Class<any>;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module lang {
		export class SecurityException extends java.lang.RuntimeException {
			public static class: java.lang.Class<java.lang.SecurityException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module lang {
		export class SecurityManager extends java.lang.Object {
			public static class: java.lang.Class<java.lang.SecurityManager>;
			public inCheck: boolean;
			public checkAccess(param0: java.lang.Thread): void;
			public checkLink(param0: string): void;
			public checkPropertyAccess(param0: string): void;
			public checkConnect(param0: string, param1: number, param2: any): void;
			public checkExec(param0: string): void;
			/** @deprecated */
			public inClassLoader(): boolean;
			public checkWrite(param0: java.io.FileDescriptor): void;
			/** @deprecated */
			public checkMulticast(param0: java.net.InetAddress, param1: number): void;
			/** @deprecated */
			public currentLoadedClass(): java.lang.Class<any>;
			/** @deprecated */
			public inClass(param0: string): boolean;
			/** @deprecated */
			public classDepth(param0: string): number;
			/** @deprecated */
			public getInCheck(): boolean;
			public checkMemberAccess(param0: java.lang.Class<any>, param1: number): void;
			public checkPermission(param0: java.security.Permission, param1: any): void;
			public checkPackageDefinition(param0: string): void;
			public checkRead(param0: java.io.FileDescriptor): void;
			public checkMulticast(param0: java.net.InetAddress): void;
			public checkExit(param0: number): void;
			public checkRead(param0: string): void;
			/** @deprecated */
			public currentClassLoader(): java.lang.ClassLoader;
			public checkPropertiesAccess(): void;
			public checkSystemClipboardAccess(): void;
			public checkCreateClassLoader(): void;
			public checkAccess(param0: java.lang.ThreadGroup): void;
			public checkAwtEventQueueAccess(): void;
			/** @deprecated */
			public classLoaderDepth(): number;
			public checkPermission(param0: java.security.Permission): void;
			public checkDelete(param0: string): void;
			public constructor();
			public checkConnect(param0: string, param1: number): void;
			public getClassContext(): native.Array<java.lang.Class<any>>;
			public checkListen(param0: number): void;
			public checkAccept(param0: string, param1: number): void;
			public checkSetFactory(): void;
			public getThreadGroup(): java.lang.ThreadGroup;
			public checkRead(param0: string, param1: any): void;
			public checkPrintJobAccess(): void;
			public checkWrite(param0: string): void;
			public getSecurityContext(): any;
			public checkTopLevelWindow(param0: any): boolean;
			public checkSecurityAccess(param0: string): void;
			public checkPackageAccess(param0: string): void;
		}
	}
}

declare module java {
	export module lang {
		export class Short extends java.lang.Number implements java.lang.Comparable<java.lang.Short>  {
			public static class: java.lang.Class<java.lang.Short>;
			public static BYTES: number;
			public static MAX_VALUE: number;
			public static MIN_VALUE: number;
			public static SIZE: number;
			public static TYPE: java.lang.Class<java.lang.Short>;
			public static valueOf(param0: string): java.lang.Short;
			public equals(param0: any): boolean;
			public static toUnsignedLong(param0: number): number;
			public static valueOf(param0: number): java.lang.Short;
			public shortValue(): number;
			public doubleValue(): number;
			public static reverseBytes(param0: number): number;
			public static decode(param0: string): java.lang.Short;
			public static toUnsignedInt(param0: number): number;
			public static valueOf(param0: string, param1: number): java.lang.Short;
			public constructor(param0: string);
			public static parseShort(param0: string, param1: number): number;
			public constructor(param0: number);
			public constructor();
			public floatValue(): number;
			public intValue(): number;
			public toString(): string;
			public static compare(param0: number, param1: number): number;
			public byteValue(): number;
			public static hashCode(param0: number): number;
			public compareTo(param0: java.lang.Short): number;
			public static parseShort(param0: string): number;
			public static toString(param0: number): string;
			public longValue(): number;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module lang {
		export class StackOverflowError extends java.lang.VirtualMachineError {
			public static class: java.lang.Class<java.lang.StackOverflowError>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module lang {
		export class StackTraceElement extends java.lang.Object implements java.io.Serializable {
			public static class: java.lang.Class<java.lang.StackTraceElement>;
			public equals(param0: any): boolean;
			public isNativeMethod(): boolean;
			public toString(): string;
			public getFileName(): string;
			public getClassName(): string;
			public getLineNumber(): number;
			public constructor(param0: string, param1: string, param2: string, param3: number);
			public getMethodName(): string;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module lang {
		export class StrictMath extends java.lang.Object {
			public static class: java.lang.Class<java.lang.StrictMath>;
			public static E: number;
			public static PI: number;
			public static getExponent(param0: number): number;
			public static subtractExact(param0: number, param1: number): number;
			public static ulp(param0: number): number;
			public static acos(param0: number): number;
			public static floorMod(param0: number, param1: number): number;
			public static sin(param0: number): number;
			public static floorDiv(param0: number, param1: number): number;
			public static expm1(param0: number): number;
			public static log1p(param0: number): number;
			public static copySign(param0: number, param1: number): number;
			public static ceil(param0: number): number;
			public static atan2(param0: number, param1: number): number;
			public static signum(param0: number): number;
			public static sqrt(param0: number): number;
			public static cosh(param0: number): number;
			public static nextAfter(param0: number, param1: number): number;
			public static nextDown(param0: number): number;
			public static toIntExact(param0: number): number;
			public static toDegrees(param0: number): number;
			public static min(param0: number, param1: number): number;
			public static random(): number;
			public static asin(param0: number): number;
			public static log10(param0: number): number;
			public static exp(param0: number): number;
			public static log(param0: number): number;
			public static toRadians(param0: number): number;
			public static floor(param0: number): number;
			public static round(param0: number): number;
			public static multiplyExact(param0: number, param1: number): number;
			public static sinh(param0: number): number;
			public static tanh(param0: number): number;
			public static hypot(param0: number, param1: number): number;
			public static addExact(param0: number, param1: number): number;
			public static tan(param0: number): number;
			public static cos(param0: number): number;
			public static rint(param0: number): number;
			public static cbrt(param0: number): number;
			public static IEEEremainder(param0: number, param1: number): number;
			public static pow(param0: number, param1: number): number;
			public static max(param0: number, param1: number): number;
			public static scalb(param0: number, param1: number): number;
			public static abs(param0: number): number;
			public static atan(param0: number): number;
			public static nextUp(param0: number): number;
		}
	}
}

declare module java {
	export module lang {
		export class String extends java.lang.Object {
			public static class: java.lang.Class<java.lang.String>;
			public static CASE_INSENSITIVE_ORDER: java.util.Comparator<string>;
			public getBytes(param0: java.nio.charset.Charset): native.Array<number>;
			public getBytes(): native.Array<number>;
			public compareToIgnoreCase(param0: string): number;
			public indexOf(param0: string, param1: number): number;
			public equalsIgnoreCase(param0: string): boolean;
			public static format(param0: string, param1: native.Array<any>): string;
			public static valueOf(param0: string): string;
			public lastIndexOf(param0: string, param1: number): number;
			public startsWith(param0: string): boolean;
			public indexOf(param0: number): number;
			public constructor(param0: java.lang.StringBuilder);
			public codePointCount(param0: number, param1: number): number;
			public replaceAll(param0: string, param1: string): string;
			public subSequence(param0: number, param1: number): string;
			/** @deprecated */
			public getBytes(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
			public lastIndexOf(param0: number): number;
			/** @deprecated */
			public constructor(param0: native.Array<number>, param1: number);
			public contains(param0: string): boolean;
			public intern(): string;
			public toUpperCase(): string;
			public trim(): string;
			public constructor(param0: string);
			public constructor(param0: native.Array<string>, param1: number, param2: number);
			public getBytes(param0: string): native.Array<number>;
			public lastIndexOf(param0: number, param1: number): number;
			public constructor();
			public constructor(param0: native.Array<number>);
			public toUpperCase(param0: java.util.Locale): string;
			public static valueOf(param0: native.Array<string>): string;
			public static valueOf(param0: number): string;
			public endsWith(param0: string): boolean;
			public static valueOf(param0: boolean): string;
			public charAt(param0: number): string;
			public toLowerCase(): string;
			public static join(param0: string, param1: native.Array<string>): string;
			public toLowerCase(param0: java.util.Locale): string;
			public split(param0: string, param1: number): native.Array<string>;
			public lastIndexOf(param0: string): number;
			public equals(param0: any): boolean;
			public matches(param0: string): boolean;
			public regionMatches(param0: boolean, param1: number, param2: string, param3: number, param4: number): boolean;
			public replace(param0: string, param1: string): string;
			public toCharArray(): native.Array<string>;
			public substring(param0: number, param1: number): string;
			public codePointAt(param0: number): number;
			public getChars(param0: number, param1: number, param2: native.Array<string>, param3: number): void;
			public constructor(param0: native.Array<string>);
			public codePointBefore(param0: number): number;
			public static join(param0: string, param1: java.lang.Iterable<any>): string;
			public contentEquals(param0: java.lang.StringBuffer): boolean;
			public static copyValueOf(param0: native.Array<string>, param1: number, param2: number): string;
			public constructor(param0: native.Array<number>, param1: number, param2: number);
			public constructor(param0: native.Array<number>, param1: number, param2: number, param3: string);
			public replaceFirst(param0: string, param1: string): string;
			public chars(): java.util.stream.IntStream;
			public codePoints(): java.util.stream.IntStream;
			public constructor(param0: native.Array<number>, param1: java.nio.charset.Charset);
			public constructor(param0: java.lang.StringBuffer);
			public isEmpty(): boolean;
			public constructor(param0: native.Array<number>, param1: string);
			public static copyValueOf(param0: native.Array<string>): string;
			public length(): number;
			public startsWith(param0: string, param1: number): boolean;
			/** @deprecated */
			public constructor(param0: native.Array<number>, param1: number, param2: number, param3: number);
			public constructor(param0: native.Array<number>, param1: number, param2: number, param3: java.nio.charset.Charset);
			public regionMatches(param0: number, param1: string, param2: number, param3: number): boolean;
			public static valueOf(param0: any): string;
			public indexOf(param0: string): number;
			public indexOf(param0: number, param1: number): number;
			public concat(param0: string): string;
			public toString(): string;
			public offsetByCodePoints(param0: number, param1: number): number;
			public split(param0: string): native.Array<string>;
			public contentEquals(param0: string): boolean;
			public substring(param0: number): string;
			public compareTo(param0: string): number;
			public static valueOf(param0: native.Array<string>, param1: number, param2: number): string;
			public hashCode(): number;
			public static format(param0: java.util.Locale, param1: string, param2: native.Array<any>): string;
		}
	}
}

declare module java {
	export module lang {
		export class StringBuffer extends java.lang.Object implements java.lang.Appendable, java.lang.CharSequence, java.io.Serializable {
			public static class: java.lang.Class<java.lang.StringBuffer>;
			public append(param0: string): java.lang.StringBuffer;
			public insert(param0: number, param1: string, param2: number, param3: number): java.lang.StringBuffer;
			public indexOf(param0: string, param1: number): number;
			public lastIndexOf(param0: string, param1: number): number;
			public insert(param0: number, param1: string): java.lang.StringBuffer;
			public insert(param0: number, param1: number): java.lang.StringBuffer;
			public substring(param0: number, param1: number): string;
			public replace(param0: number, param1: number, param2: string): java.lang.StringBuffer;
			public ensureCapacity(param0: number): void;
			public codePointAt(param0: number): number;
			public codePointCount(param0: number, param1: number): number;
			public append(param0: string, param1: number, param2: number): java.lang.StringBuffer;
			public setCharAt(param0: number, param1: string): void;
			public delete(param0: number, param1: number): java.lang.StringBuffer;
			public getChars(param0: number, param1: number, param2: native.Array<string>, param3: number): void;
			public codePointBefore(param0: number): number;
			public subSequence(param0: number, param1: number): string;
			public insert(param0: number, param1: native.Array<string>, param2: number, param3: number): java.lang.StringBuffer;
			public insert(param0: number, param1: any): java.lang.StringBuffer;
			public append(param0: native.Array<string>): java.lang.StringBuffer;
			public append(param0: any): java.lang.StringBuffer;
			public constructor(param0: string);
			public chars(): java.util.stream.IntStream;
			public codePoints(): java.util.stream.IntStream;
			public setLength(param0: number): void;
			public deleteCharAt(param0: number): java.lang.StringBuffer;
			public reverse(): java.lang.StringBuffer;
			public append(param0: java.lang.StringBuffer): java.lang.StringBuffer;
			public append(param0: native.Array<string>, param1: number, param2: number): java.lang.StringBuffer;
			public length(): number;
			public constructor(param0: number);
			public append(param0: string, param1: number, param2: number): java.lang.Appendable;
			public constructor();
			public insert(param0: number, param1: boolean): java.lang.StringBuffer;
			public indexOf(param0: string): number;
			public append(param0: number): java.lang.StringBuffer;
			public appendCodePoint(param0: number): java.lang.StringBuffer;
			public charAt(param0: number): string;
			public toString(): string;
			public offsetByCodePoints(param0: number, param1: number): number;
			public insert(param0: number, param1: native.Array<string>): java.lang.StringBuffer;
			public capacity(): number;
			public trimToSize(): void;
			public substring(param0: number): string;
			public append(param0: string): java.lang.Appendable;
			public append(param0: boolean): java.lang.StringBuffer;
			public lastIndexOf(param0: string): number;
		}
	}
}

declare module java {
	export module lang {
		export class StringBuilder extends java.lang.Object implements java.lang.Appendable, java.lang.CharSequence, java.io.Serializable {
			public static class: java.lang.Class<java.lang.StringBuilder>;
			public append(param0: number): java.lang.StringBuilder;
			public indexOf(param0: string, param1: number): number;
			public insert(param0: number, param1: string): java.lang.StringBuilder;
			public lastIndexOf(param0: string, param1: number): number;
			public deleteCharAt(param0: number): java.lang.StringBuilder;
			public substring(param0: number, param1: number): string;
			public ensureCapacity(param0: number): void;
			public codePointAt(param0: number): number;
			public codePointCount(param0: number, param1: number): number;
			public replace(param0: number, param1: number, param2: string): java.lang.StringBuilder;
			public setCharAt(param0: number, param1: string): void;
			public getChars(param0: number, param1: number, param2: native.Array<string>, param3: number): void;
			public append(param0: any): java.lang.StringBuilder;
			public subSequence(param0: number, param1: number): string;
			public codePointBefore(param0: number): number;
			public append(param0: native.Array<string>): java.lang.StringBuilder;
			public append(param0: string): java.lang.StringBuilder;
			public append(param0: native.Array<string>, param1: number, param2: number): java.lang.StringBuilder;
			public constructor(param0: string);
			public chars(): java.util.stream.IntStream;
			public codePoints(): java.util.stream.IntStream;
			public setLength(param0: number): void;
			public insert(param0: number, param1: boolean): java.lang.StringBuilder;
			public appendCodePoint(param0: number): java.lang.StringBuilder;
			public insert(param0: number, param1: string, param2: number, param3: number): java.lang.StringBuilder;
			public insert(param0: number, param1: number): java.lang.StringBuilder;
			public length(): number;
			public constructor(param0: number);
			public append(param0: string, param1: number, param2: number): java.lang.Appendable;
			public constructor();
			public indexOf(param0: string): number;
			public insert(param0: number, param1: any): java.lang.StringBuilder;
			public insert(param0: number, param1: native.Array<string>): java.lang.StringBuilder;
			public charAt(param0: number): string;
			public toString(): string;
			public offsetByCodePoints(param0: number, param1: number): number;
			public append(param0: string, param1: number, param2: number): java.lang.StringBuilder;
			public insert(param0: number, param1: native.Array<string>, param2: number, param3: number): java.lang.StringBuilder;
			public append(param0: java.lang.StringBuffer): java.lang.StringBuilder;
			public append(param0: boolean): java.lang.StringBuilder;
			public capacity(): number;
			public trimToSize(): void;
			public substring(param0: number): string;
			public delete(param0: number, param1: number): java.lang.StringBuilder;
			public reverse(): java.lang.StringBuilder;
			public append(param0: string): java.lang.Appendable;
			public lastIndexOf(param0: string): number;
		}
	}
}

declare module java {
	export module lang {
		export class StringIndexOutOfBoundsException extends java.lang.IndexOutOfBoundsException {
			public static class: java.lang.Class<java.lang.StringIndexOutOfBoundsException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: number);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module lang {
		export class SuppressWarnings extends java.lang.Object implements java.lang.annotation.Annotation {
			public static class: java.lang.Class<java.lang.SuppressWarnings>;
			/**
			 * Constructs a new instance of the java.lang.SuppressWarnings interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				value(): native.Array<string>;
				equals(param0: any): boolean;
				hashCode(): number;
				toString(): string;
				annotationType(): java.lang.Class<any>;
			});
			public constructor();
			public equals(param0: any): boolean;
			public toString(): string;
			public value(): native.Array<string>;
			public annotationType(): java.lang.Class<any>;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module lang {
		export class System extends java.lang.Object {
			public static class: java.lang.Class<java.lang.System>;
			public static err: java.io.PrintStream;
			public static in: java.io.InputStream;
			public static out: java.io.PrintStream;
			public static getenv(param0: string): string;
			public static gc(): void;
			/** @deprecated */
			public static runFinalizersOnExit(param0: boolean): void;
			public static getProperty(param0: string, param1: string): string;
			public static getProperties(): java.util.Properties;
			public static setOut(param0: java.io.PrintStream): void;
			public static mapLibraryName(param0: string): string;
			public static setProperty(param0: string, param1: string): string;
			public static runFinalization(): void;
			public static getenv(): java.util.Map<string,string>;
			public static setProperties(param0: java.util.Properties): void;
			public static load(param0: string): void;
			public static setSecurityManager(param0: java.lang.SecurityManager): void;
			public static arraycopy(param0: any, param1: number, param2: any, param3: number, param4: number): void;
			public static identityHashCode(param0: any): number;
			public static console(): java.io.Console;
			public static currentTimeMillis(): number;
			public static getProperty(param0: string): string;
			public static setErr(param0: java.io.PrintStream): void;
			public static inheritedChannel(): java.nio.channels.Channel;
			public static setIn(param0: java.io.InputStream): void;
			public static lineSeparator(): string;
			public static getSecurityManager(): java.lang.SecurityManager;
			public static nanoTime(): number;
			public static exit(param0: number): void;
			public static clearProperty(param0: string): string;
			public static loadLibrary(param0: string): void;
		}
	}
}

declare module java {
	export module lang {
		export class Thread extends java.lang.Object implements java.lang.Runnable {
			public static class: java.lang.Class<java.lang.Thread>;
			public static MAX_PRIORITY: number;
			public static MIN_PRIORITY: number;
			public static NORM_PRIORITY: number;
			public getState(): java.lang.Thread.State;
			public static setDefaultUncaughtExceptionHandler(param0: java.lang.Thread.UncaughtExceptionHandler): void;
			/** @deprecated */
			public destroy(): void;
			public static enumerate(param0: native.Array<java.lang.Thread>): number;
			public isInterrupted(): boolean;
			public getId(): number;
			public setUncaughtExceptionHandler(param0: java.lang.Thread.UncaughtExceptionHandler): void;
			public start(): void;
			public constructor(param0: string);
			public setContextClassLoader(param0: java.lang.ClassLoader): void;
			/** @deprecated */
			public resume(): void;
			public constructor();
			public clone(): any;
			public getUncaughtExceptionHandler(): java.lang.Thread.UncaughtExceptionHandler;
			public getStackTrace(): native.Array<java.lang.StackTraceElement>;
			public join(param0: number, param1: number): void;
			public constructor(param0: java.lang.ThreadGroup, param1: string);
			public isAlive(): boolean;
			public constructor(param0: java.lang.Runnable);
			public static currentThread(): java.lang.Thread;
			public static holdsLock(param0: any): boolean;
			/** @deprecated */
			public countStackFrames(): number;
			public static sleep(param0: number, param1: number): void;
			public static activeCount(): number;
			public getContextClassLoader(): java.lang.ClassLoader;
			/** @deprecated */
			public suspend(): void;
			public run(): void;
			public constructor(param0: java.lang.ThreadGroup, param1: java.lang.Runnable);
			public isDaemon(): boolean;
			public static sleep(param0: number): void;
			public static dumpStack(): void;
			public interrupt(): void;
			public join(): void;
			/** @deprecated */
			public stop(param0: java.lang.Throwable): void;
			public setDaemon(param0: boolean): void;
			public checkAccess(): void;
			public static getDefaultUncaughtExceptionHandler(): java.lang.Thread.UncaughtExceptionHandler;
			public constructor(param0: java.lang.ThreadGroup, param1: java.lang.Runnable, param2: string);
			public join(param0: number): void;
			public static getAllStackTraces(): java.util.Map<java.lang.Thread,native.Array<java.lang.StackTraceElement>>;
			public getPriority(): number;
			public toString(): string;
			public constructor(param0: java.lang.Runnable, param1: string);
			public constructor(param0: java.lang.ThreadGroup, param1: java.lang.Runnable, param2: string, param3: number);
			public getName(): string;
			public getThreadGroup(): java.lang.ThreadGroup;
			public setPriority(param0: number): void;
			public static yield(): void;
			/** @deprecated */
			public stop(): void;
			public static interrupted(): boolean;
			public setName(param0: string): void;
		}
		export module Thread {
			export class State {
				public static class: java.lang.Class<java.lang.Thread.State>;
				public static NEW: java.lang.Thread.State;
				public static RUNNABLE: java.lang.Thread.State;
				public static BLOCKED: java.lang.Thread.State;
				public static WAITING: java.lang.Thread.State;
				public static TIMED_WAITING: java.lang.Thread.State;
				public static TERMINATED: java.lang.Thread.State;
				public static values(): native.Array<java.lang.Thread.State>;
				public static valueOf(param0: string): java.lang.Thread.State;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			}
			export class UncaughtExceptionHandler extends java.lang.Object {
				public static class: java.lang.Class<java.lang.Thread.UncaughtExceptionHandler>;
				/**
				 * Constructs a new instance of the java.lang.Thread$UncaughtExceptionHandler interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					uncaughtException(param0: java.lang.Thread, param1: java.lang.Throwable): void;
				});
				public constructor();
				public uncaughtException(param0: java.lang.Thread, param1: java.lang.Throwable): void;
			}
		}
	}
}

declare module java {
	export module lang {
		export class ThreadDeath extends java.lang.Error {
			public static class: java.lang.Class<java.lang.ThreadDeath>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module lang {
		export class ThreadGroup extends java.lang.Object implements java.lang.Thread.UncaughtExceptionHandler {
			public static class: java.lang.Class<java.lang.ThreadGroup>;
			public isDestroyed(): boolean;
			public uncaughtException(param0: java.lang.Thread, param1: java.lang.Throwable): void;
			public enumerate(param0: native.Array<java.lang.Thread>): number;
			public enumerate(param0: native.Array<java.lang.Thread>, param1: boolean): number;
			/** @deprecated */
			public allowThreadSuspension(param0: boolean): boolean;
			public getParent(): java.lang.ThreadGroup;
			/** @deprecated */
			public suspend(): void;
			public setMaxPriority(param0: number): void;
			public constructor(param0: string);
			public isDaemon(): boolean;
			public activeGroupCount(): number;
			public activeCount(): number;
			public interrupt(): void;
			/** @deprecated */
			public resume(): void;
			public destroy(): void;
			public enumerate(param0: native.Array<java.lang.ThreadGroup>): number;
			public setDaemon(param0: boolean): void;
			public parentOf(param0: java.lang.ThreadGroup): boolean;
			public checkAccess(): void;
			public toString(): string;
			public getName(): string;
			public getMaxPriority(): number;
			/** @deprecated */
			public stop(): void;
			public enumerate(param0: native.Array<java.lang.ThreadGroup>, param1: boolean): number;
			public list(): void;
			public constructor(param0: java.lang.ThreadGroup, param1: string);
		}
	}
}

declare module java {
	export module lang {
		export class ThreadLocal<T>  extends java.lang.Object {
			public static class: java.lang.Class<java.lang.ThreadLocal<any>>;
			public initialValue(): T;
			public constructor();
			public static withInitial(param0: any /* any*/): java.lang.ThreadLocal<any>;
			public get(): T;
			public set(param0: T): void;
			public remove(): void;
		}
	}
}

declare module java {
	export module lang {
		export class Throwable extends java.lang.Object implements java.io.Serializable {
			public static class: java.lang.Class<java.lang.Throwable>;
			public initCause(param0: java.lang.Throwable): java.lang.Throwable;
			public constructor(param0: java.lang.Throwable);
			public getCause(): java.lang.Throwable;
			public constructor();
			public setStackTrace(param0: native.Array<java.lang.StackTraceElement>): void;
			public getMessage(): string;
			public printStackTrace(param0: java.io.PrintStream): void;
			public addSuppressed(param0: java.lang.Throwable): void;
			public toString(): string;
			public fillInStackTrace(): java.lang.Throwable;
			public constructor(param0: string, param1: java.lang.Throwable);
			public printStackTrace(): void;
			public getLocalizedMessage(): string;
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public getStackTrace(): native.Array<java.lang.StackTraceElement>;
			public getSuppressed(): native.Array<java.lang.Throwable>;
			public constructor(param0: string);
			public printStackTrace(param0: java.io.PrintWriter): void;
		}
	}
}

declare module java {
	export module lang {
		export class TypeNotPresentException extends java.lang.RuntimeException {
			public static class: java.lang.Class<java.lang.TypeNotPresentException>;
			public typeName(): string;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module lang {
		export class UnknownError extends java.lang.VirtualMachineError {
			public static class: java.lang.Class<java.lang.UnknownError>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module lang {
		export class UnsatisfiedLinkError extends java.lang.LinkageError {
			public static class: java.lang.Class<java.lang.UnsatisfiedLinkError>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module lang {
		export class UnsupportedClassVersionError extends java.lang.ClassFormatError {
			public static class: java.lang.Class<java.lang.UnsupportedClassVersionError>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module lang {
		export class UnsupportedOperationException extends java.lang.RuntimeException {
			public static class: java.lang.Class<java.lang.UnsupportedOperationException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module lang {
		export class VerifyError extends java.lang.LinkageError {
			public static class: java.lang.Class<java.lang.VerifyError>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module lang {
		export abstract class VirtualMachineError extends java.lang.Error {
			public static class: java.lang.Class<java.lang.VirtualMachineError>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module lang {
		export class Void extends java.lang.Object {
			public static class: java.lang.Class<java.lang.Void>;
			public static TYPE: java.lang.Class<java.lang.Void>;
		}
	}
}

declare module java {
	export module lang {
		export module annotation {
			export class Annotation extends java.lang.Object {
				public static class: java.lang.Class<java.lang.annotation.Annotation>;
				/**
				 * Constructs a new instance of the java.lang.annotation.Annotation interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					equals(param0: any): boolean;
					hashCode(): number;
					toString(): string;
					annotationType(): java.lang.Class<any>;
				});
				public constructor();
				public hashCode(): number;
				public equals(param0: any): boolean;
				public annotationType(): java.lang.Class<any>;
				public toString(): string;
			}
		}
	}
}

declare module java {
	export module lang {
		export module annotation {
			export class AnnotationFormatError extends java.lang.Error {
				public static class: java.lang.Class<java.lang.annotation.AnnotationFormatError>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module lang {
		export module annotation {
			export class AnnotationTypeMismatchException extends java.lang.RuntimeException {
				public static class: java.lang.Class<java.lang.annotation.AnnotationTypeMismatchException>;
				public constructor(param0: java.lang.reflect.Method, param1: string);
				public element(): java.lang.reflect.Method;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public foundType(): string;
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module lang {
		export module annotation {
			export class Documented extends java.lang.Object implements java.lang.annotation.Annotation {
				public static class: java.lang.Class<java.lang.annotation.Documented>;
				/**
				 * Constructs a new instance of the java.lang.annotation.Documented interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					equals(param0: any): boolean;
					hashCode(): number;
					toString(): string;
					annotationType(): java.lang.Class<any>;
				});
				public constructor();
				public hashCode(): number;
				public equals(param0: any): boolean;
				public annotationType(): java.lang.Class<any>;
				public toString(): string;
			}
		}
	}
}

declare module java {
	export module lang {
		export module annotation {
			export class ElementType {
				public static class: java.lang.Class<java.lang.annotation.ElementType>;
				public static TYPE: java.lang.annotation.ElementType;
				public static FIELD: java.lang.annotation.ElementType;
				public static METHOD: java.lang.annotation.ElementType;
				public static PARAMETER: java.lang.annotation.ElementType;
				public static CONSTRUCTOR: java.lang.annotation.ElementType;
				public static LOCAL_VARIABLE: java.lang.annotation.ElementType;
				public static ANNOTATION_TYPE: java.lang.annotation.ElementType;
				public static PACKAGE: java.lang.annotation.ElementType;
				public static TYPE_PARAMETER: java.lang.annotation.ElementType;
				public static TYPE_USE: java.lang.annotation.ElementType;
				public static values(): native.Array<java.lang.annotation.ElementType>;
				public static valueOf(param0: string): java.lang.annotation.ElementType;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			}
		}
	}
}

declare module java {
	export module lang {
		export module annotation {
			export class IncompleteAnnotationException extends java.lang.RuntimeException {
				public static class: java.lang.Class<java.lang.annotation.IncompleteAnnotationException>;
				public constructor(param0: java.lang.Class<any>, param1: string);
				public annotationType(): java.lang.Class<any>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public elementName(): string;
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module lang {
		export module annotation {
			export class Inherited extends java.lang.Object implements java.lang.annotation.Annotation {
				public static class: java.lang.Class<java.lang.annotation.Inherited>;
				/**
				 * Constructs a new instance of the java.lang.annotation.Inherited interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					equals(param0: any): boolean;
					hashCode(): number;
					toString(): string;
					annotationType(): java.lang.Class<any>;
				});
				public constructor();
				public hashCode(): number;
				public equals(param0: any): boolean;
				public annotationType(): java.lang.Class<any>;
				public toString(): string;
			}
		}
	}
}

declare module java {
	export module lang {
		export module annotation {
			export class Native extends java.lang.Object implements java.lang.annotation.Annotation {
				public static class: java.lang.Class<java.lang.annotation.Native>;
				/**
				 * Constructs a new instance of the java.lang.annotation.Native interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					equals(param0: any): boolean;
					hashCode(): number;
					toString(): string;
					annotationType(): java.lang.Class<any>;
				});
				public constructor();
				public hashCode(): number;
				public equals(param0: any): boolean;
				public annotationType(): java.lang.Class<any>;
				public toString(): string;
			}
		}
	}
}

declare module java {
	export module lang {
		export module annotation {
			export class Repeatable extends java.lang.Object implements java.lang.annotation.Annotation {
				public static class: java.lang.Class<java.lang.annotation.Repeatable>;
				/**
				 * Constructs a new instance of the java.lang.annotation.Repeatable interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					value(): java.lang.Class<any>;
					equals(param0: any): boolean;
					hashCode(): number;
					toString(): string;
					annotationType(): java.lang.Class<any>;
				});
				public constructor();
				public value(): java.lang.Class<any>;
				public hashCode(): number;
				public equals(param0: any): boolean;
				public annotationType(): java.lang.Class<any>;
				public toString(): string;
			}
		}
	}
}

declare module java {
	export module lang {
		export module annotation {
			export class Retention extends java.lang.Object implements java.lang.annotation.Annotation {
				public static class: java.lang.Class<java.lang.annotation.Retention>;
				/**
				 * Constructs a new instance of the java.lang.annotation.Retention interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					value(): java.lang.annotation.RetentionPolicy;
					equals(param0: any): boolean;
					hashCode(): number;
					toString(): string;
					annotationType(): java.lang.Class<any>;
				});
				public constructor();
				public hashCode(): number;
				public value(): java.lang.annotation.RetentionPolicy;
				public equals(param0: any): boolean;
				public annotationType(): java.lang.Class<any>;
				public toString(): string;
			}
		}
	}
}

declare module java {
	export module lang {
		export module annotation {
			export class RetentionPolicy {
				public static class: java.lang.Class<java.lang.annotation.RetentionPolicy>;
				public static SOURCE: java.lang.annotation.RetentionPolicy;
				public static CLASS: java.lang.annotation.RetentionPolicy;
				public static RUNTIME: java.lang.annotation.RetentionPolicy;
				public static valueOf(param0: string): java.lang.annotation.RetentionPolicy;
				public static values(): native.Array<java.lang.annotation.RetentionPolicy>;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			}
		}
	}
}

declare module java {
	export module lang {
		export module annotation {
			export class Target extends java.lang.Object implements java.lang.annotation.Annotation {
				public static class: java.lang.Class<java.lang.annotation.Target>;
				/**
				 * Constructs a new instance of the java.lang.annotation.Target interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					value(): native.Array<java.lang.annotation.ElementType>;
					equals(param0: any): boolean;
					hashCode(): number;
					toString(): string;
					annotationType(): java.lang.Class<any>;
				});
				public constructor();
				public hashCode(): number;
				public equals(param0: any): boolean;
				public annotationType(): java.lang.Class<any>;
				public value(): native.Array<java.lang.annotation.ElementType>;
				public toString(): string;
			}
		}
	}
}

declare module java {
	export module lang {
		export module invoke {
			export abstract class CallSite extends java.lang.Object {
				public static class: java.lang.Class<java.lang.invoke.CallSite>;
				public type(): java.lang.invoke.MethodType;
				public setTarget(param0: java.lang.invoke.MethodHandle): void;
				public getTarget(): java.lang.invoke.MethodHandle;
				public dynamicInvoker(): java.lang.invoke.MethodHandle;
			}
		}
	}
}

declare module java {
	export module lang {
		export module invoke {
			export class ConstantCallSite extends java.lang.invoke.CallSite {
				public static class: java.lang.Class<java.lang.invoke.ConstantCallSite>;
				public constructor(param0: java.lang.invoke.MethodType, param1: java.lang.invoke.MethodHandle);
				public constructor(param0: java.lang.invoke.MethodHandle);
				public setTarget(param0: java.lang.invoke.MethodHandle): void;
				public getTarget(): java.lang.invoke.MethodHandle;
				public dynamicInvoker(): java.lang.invoke.MethodHandle;
			}
		}
	}
}

declare module java {
	export module lang {
		export module invoke {
			export class LambdaConversionException extends java.lang.Exception {
				public static class: java.lang.Class<java.lang.invoke.LambdaConversionException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module lang {
		export module invoke {
			export abstract class MethodHandle extends java.lang.Object {
				public static class: java.lang.Class<java.lang.invoke.MethodHandle>;
				public isVarargsCollector(): boolean;
				public asVarargsCollector(param0: java.lang.Class<any>): java.lang.invoke.MethodHandle;
				public asFixedArity(): java.lang.invoke.MethodHandle;
				public asCollector(param0: java.lang.Class<any>, param1: number): java.lang.invoke.MethodHandle;
				public toString(): string;
				public invoke(param0: native.Array<any>): any;
				public invokeWithArguments(param0: java.util.List<any>): any;
				public asSpreader(param0: java.lang.Class<any>, param1: number): java.lang.invoke.MethodHandle;
				public invokeExact(param0: native.Array<any>): any;
				public type(): java.lang.invoke.MethodType;
				public asType(param0: java.lang.invoke.MethodType): java.lang.invoke.MethodHandle;
				public bindTo(param0: any): java.lang.invoke.MethodHandle;
				public invokeWithArguments(param0: native.Array<any>): any;
			}
		}
	}
}

declare module java {
	export module lang {
		export module invoke {
			export class MethodHandleInfo extends java.lang.Object {
				public static class: java.lang.Class<java.lang.invoke.MethodHandleInfo>;
				/**
				 * Constructs a new instance of the java.lang.invoke.MethodHandleInfo interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getReferenceKind(): number;
					getDeclaringClass(): java.lang.Class<any>;
					getName(): string;
					getMethodType(): java.lang.invoke.MethodType;
					reflectAs(param0: java.lang.Class<any>, param1: java.lang.invoke.MethodHandles.Lookup): java.lang.reflect.Member;
					getModifiers(): number;
					isVarArgs(): boolean;
					referenceKindToString(param0: number): string;
					toString(param0: number, param1: java.lang.Class<any>, param2: string, param3: java.lang.invoke.MethodType): string;
					refKindIsValid(param0: number): boolean;
					refKindIsField(param0: number): boolean;
					refKindName(param0: number): string;
				});
				public constructor();
				public static REF_invokeVirtual: number;
				public static REF_putField: number;
				public static REF_invokeSpecial: number;
				public static REF_invokeInterface: number;
				public static REF_invokeStatic: number;
				public static REF_getField: number;
				public static REF_getStatic: number;
				public static REF_newInvokeSpecial: number;
				public static REF_putStatic: number;
				public getReferenceKind(): number;
				public static refKindIsField(param0: number): boolean;
				public getModifiers(): number;
				public reflectAs(param0: java.lang.Class<any>, param1: java.lang.invoke.MethodHandles.Lookup): java.lang.reflect.Member;
				public getName(): string;
				public static referenceKindToString(param0: number): string;
				public static toString(param0: number, param1: java.lang.Class<any>, param2: string, param3: java.lang.invoke.MethodType): string;
				public toString(): string;
				public static refKindName(param0: number): string;
				public isVarArgs(): boolean;
				public getMethodType(): java.lang.invoke.MethodType;
				public getDeclaringClass(): java.lang.Class<any>;
				public static refKindIsValid(param0: number): boolean;
			}
		}
	}
}

declare module java {
	export module lang {
		export module invoke {
			export class MethodHandles extends java.lang.Object {
				public static class: java.lang.Class<java.lang.invoke.MethodHandles>;
				public static lookup(): java.lang.invoke.MethodHandles.Lookup;
				public static spreadInvoker(param0: java.lang.invoke.MethodType, param1: number): java.lang.invoke.MethodHandle;
				public static dropArguments(param0: java.lang.invoke.MethodHandle, param1: number, param2: java.util.List<java.lang.Class<any>>): java.lang.invoke.MethodHandle;
				public static foldArguments(param0: java.lang.invoke.MethodHandle, param1: java.lang.invoke.MethodHandle): java.lang.invoke.MethodHandle;
				public static arrayElementSetter(param0: java.lang.Class<any>): java.lang.invoke.MethodHandle;
				public static invoker(param0: java.lang.invoke.MethodType): java.lang.invoke.MethodHandle;
				public static insertArguments(param0: java.lang.invoke.MethodHandle, param1: number, param2: native.Array<any>): java.lang.invoke.MethodHandle;
				public static throwException(param0: java.lang.Class<any>, param1: java.lang.Class<any>): java.lang.invoke.MethodHandle;
				public static filterReturnValue(param0: java.lang.invoke.MethodHandle, param1: java.lang.invoke.MethodHandle): java.lang.invoke.MethodHandle;
				public static identity(param0: java.lang.Class<any>): java.lang.invoke.MethodHandle;
				public static exactInvoker(param0: java.lang.invoke.MethodType): java.lang.invoke.MethodHandle;
				public static constant(param0: java.lang.Class<any>, param1: any): java.lang.invoke.MethodHandle;
				public static explicitCastArguments(param0: java.lang.invoke.MethodHandle, param1: java.lang.invoke.MethodType): java.lang.invoke.MethodHandle;
				public static catchException(param0: java.lang.invoke.MethodHandle, param1: java.lang.Class<any>, param2: java.lang.invoke.MethodHandle): java.lang.invoke.MethodHandle;
				public static guardWithTest(param0: java.lang.invoke.MethodHandle, param1: java.lang.invoke.MethodHandle, param2: java.lang.invoke.MethodHandle): java.lang.invoke.MethodHandle;
				public static permuteArguments(param0: java.lang.invoke.MethodHandle, param1: java.lang.invoke.MethodType, param2: native.Array<number>): java.lang.invoke.MethodHandle;
				public static reflectAs(param0: java.lang.Class<any>, param1: java.lang.invoke.MethodHandle): java.lang.reflect.Member;
				public static arrayElementGetter(param0: java.lang.Class<any>): java.lang.invoke.MethodHandle;
				public static dropArguments(param0: java.lang.invoke.MethodHandle, param1: number, param2: native.Array<java.lang.Class<any>>): java.lang.invoke.MethodHandle;
				public static filterArguments(param0: java.lang.invoke.MethodHandle, param1: number, param2: native.Array<java.lang.invoke.MethodHandle>): java.lang.invoke.MethodHandle;
				public static collectArguments(param0: java.lang.invoke.MethodHandle, param1: number, param2: java.lang.invoke.MethodHandle): java.lang.invoke.MethodHandle;
				public static publicLookup(): java.lang.invoke.MethodHandles.Lookup;
			}
			export module MethodHandles {
				export class Lookup extends java.lang.Object {
					public static class: java.lang.Class<java.lang.invoke.MethodHandles.Lookup>;
					public static PACKAGE: number;
					public static PRIVATE: number;
					public static PROTECTED: number;
					public static PUBLIC: number;
					public unreflect(param0: java.lang.reflect.Method): java.lang.invoke.MethodHandle;
					public lookupModes(): number;
					public lookupClass(): java.lang.Class<any>;
					public findSpecial(param0: java.lang.Class<any>, param1: string, param2: java.lang.invoke.MethodType, param3: java.lang.Class<any>): java.lang.invoke.MethodHandle;
					public unreflectSetter(param0: java.lang.reflect.Field): java.lang.invoke.MethodHandle;
					public revealDirect(param0: java.lang.invoke.MethodHandle): java.lang.invoke.MethodHandleInfo;
					public findStaticGetter(param0: java.lang.Class<any>, param1: string, param2: java.lang.Class<any>): java.lang.invoke.MethodHandle;
					public findStaticSetter(param0: java.lang.Class<any>, param1: string, param2: java.lang.Class<any>): java.lang.invoke.MethodHandle;
					public unreflectConstructor(param0: java.lang.reflect.Constructor<any>): java.lang.invoke.MethodHandle;
					public findSetter(param0: java.lang.Class<any>, param1: string, param2: java.lang.Class<any>): java.lang.invoke.MethodHandle;
					public findGetter(param0: java.lang.Class<any>, param1: string, param2: java.lang.Class<any>): java.lang.invoke.MethodHandle;
					public toString(): string;
					public findStatic(param0: java.lang.Class<any>, param1: string, param2: java.lang.invoke.MethodType): java.lang.invoke.MethodHandle;
					public unreflectSpecial(param0: java.lang.reflect.Method, param1: java.lang.Class<any>): java.lang.invoke.MethodHandle;
					public findVirtual(param0: java.lang.Class<any>, param1: string, param2: java.lang.invoke.MethodType): java.lang.invoke.MethodHandle;
					public in(param0: java.lang.Class<any>): java.lang.invoke.MethodHandles.Lookup;
					public bind(param0: any, param1: string, param2: java.lang.invoke.MethodType): java.lang.invoke.MethodHandle;
					public findConstructor(param0: java.lang.Class<any>, param1: java.lang.invoke.MethodType): java.lang.invoke.MethodHandle;
					public unreflectGetter(param0: java.lang.reflect.Field): java.lang.invoke.MethodHandle;
				}
			}
		}
	}
}

declare module java {
	export module lang {
		export module invoke {
			export class MethodType extends java.lang.Object implements java.io.Serializable {
				public static class: java.lang.Class<java.lang.invoke.MethodType>;
				public static methodType(param0: java.lang.Class<any>, param1: java.lang.invoke.MethodType): java.lang.invoke.MethodType;
				public wrap(): java.lang.invoke.MethodType;
				public appendParameterTypes(param0: java.util.List<java.lang.Class<any>>): java.lang.invoke.MethodType;
				public parameterArray(): native.Array<java.lang.Class<any>>;
				public static methodType(param0: java.lang.Class<any>, param1: native.Array<java.lang.Class<any>>): java.lang.invoke.MethodType;
				public static methodType(param0: java.lang.Class<any>): java.lang.invoke.MethodType;
				public dropParameterTypes(param0: number, param1: number): java.lang.invoke.MethodType;
				public parameterType(param0: number): java.lang.Class<any>;
				public erase(): java.lang.invoke.MethodType;
				public appendParameterTypes(param0: native.Array<java.lang.Class<any>>): java.lang.invoke.MethodType;
				public hashCode(): number;
				public static methodType(param0: java.lang.Class<any>, param1: java.lang.Class<any>, param2: native.Array<java.lang.Class<any>>): java.lang.invoke.MethodType;
				public equals(param0: any): boolean;
				public returnType(): java.lang.Class<any>;
				public hasPrimitives(): boolean;
				public toMethodDescriptorString(): string;
				public unwrap(): java.lang.invoke.MethodType;
				public static fromMethodDescriptorString(param0: string, param1: java.lang.ClassLoader): java.lang.invoke.MethodType;
				public insertParameterTypes(param0: number, param1: native.Array<java.lang.Class<any>>): java.lang.invoke.MethodType;
				public static genericMethodType(param0: number, param1: boolean): java.lang.invoke.MethodType;
				public static genericMethodType(param0: number): java.lang.invoke.MethodType;
				public generic(): java.lang.invoke.MethodType;
				public toString(): string;
				public parameterList(): java.util.List<java.lang.Class<any>>;
				public static methodType(param0: java.lang.Class<any>, param1: java.lang.Class<any>): java.lang.invoke.MethodType;
				public static methodType(param0: java.lang.Class<any>, param1: java.util.List<java.lang.Class<any>>): java.lang.invoke.MethodType;
				public insertParameterTypes(param0: number, param1: java.util.List<java.lang.Class<any>>): java.lang.invoke.MethodType;
				public hasWrappers(): boolean;
				public parameterCount(): number;
				public changeParameterType(param0: number, param1: java.lang.Class<any>): java.lang.invoke.MethodType;
				public changeReturnType(param0: java.lang.Class<any>): java.lang.invoke.MethodType;
			}
		}
	}
}

declare module java {
	export module lang {
		export module invoke {
			export class MutableCallSite extends java.lang.invoke.CallSite {
				public static class: java.lang.Class<java.lang.invoke.MutableCallSite>;
				public constructor(param0: java.lang.invoke.MethodType);
				public constructor(param0: java.lang.invoke.MethodHandle);
				public setTarget(param0: java.lang.invoke.MethodHandle): void;
				public getTarget(): java.lang.invoke.MethodHandle;
				public dynamicInvoker(): java.lang.invoke.MethodHandle;
			}
		}
	}
}

declare module java {
	export module lang {
		export module invoke {
			export class VolatileCallSite extends java.lang.invoke.CallSite {
				public static class: java.lang.Class<java.lang.invoke.VolatileCallSite>;
				public constructor(param0: java.lang.invoke.MethodType);
				public constructor(param0: java.lang.invoke.MethodHandle);
				public setTarget(param0: java.lang.invoke.MethodHandle): void;
				public getTarget(): java.lang.invoke.MethodHandle;
				public dynamicInvoker(): java.lang.invoke.MethodHandle;
			}
		}
	}
}

declare module java {
	export module lang {
		export module invoke {
			export class WrongMethodTypeException extends java.lang.RuntimeException {
				public static class: java.lang.Class<java.lang.invoke.WrongMethodTypeException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module lang {
		export module ref {
			export class PhantomReference<T>  extends java.lang.ref.Reference<any> {
				public static class: java.lang.Class<java.lang.ref.PhantomReference<any>>;
				public constructor(param0: any, param1: java.lang.ref.ReferenceQueue<any>);
				public get(): any;
			}
		}
	}
}

declare module java {
	export module lang {
		export module ref {
			export abstract class Reference<T>  extends java.lang.Object {
				public static class: java.lang.Class<java.lang.ref.Reference<any>>;
				public enqueue(): boolean;
				public get(): T;
				public static reachabilityFence(param0: any): void;
				public clear(): void;
				public isEnqueued(): boolean;
			}
		}
	}
}

declare module java {
	export module lang {
		export module ref {
			export class ReferenceQueue<T>  extends java.lang.Object {
				public static class: java.lang.Class<java.lang.ref.ReferenceQueue<any>>;
				public remove(): java.lang.ref.Reference<any>;
				public remove(param0: number): java.lang.ref.Reference<any>;
				public poll(): java.lang.ref.Reference<any>;
				public constructor();
			}
		}
	}
}

declare module java {
	export module lang {
		export module ref {
			export class SoftReference<T>  extends java.lang.ref.Reference<any> {
				public static class: java.lang.Class<java.lang.ref.SoftReference<any>>;
				public constructor(param0: any, param1: java.lang.ref.ReferenceQueue<any>);
				public get(): any;
				public constructor(param0: any);
			}
		}
	}
}

declare module java {
	export module lang {
		export module ref {
			export class WeakReference<T>  extends java.lang.ref.Reference<any> {
				public static class: java.lang.Class<java.lang.ref.WeakReference<any>>;
				public constructor(param0: any, param1: java.lang.ref.ReferenceQueue<any>);
				public constructor(param0: any);
			}
		}
	}
}

declare module java {
	export module lang {
		export module reflect {
			export class AccessibleObject extends java.lang.Object implements java.lang.reflect.AnnotatedElement {
				public static class: java.lang.Class<java.lang.reflect.AccessibleObject>;
				public getAnnotation(param0: java.lang.Class<any>): java.lang.annotation.Annotation;
				public getDeclaredAnnotationsByType(param0: java.lang.Class<any>): native.Array<java.lang.annotation.Annotation>;
				public getDeclaredAnnotations(): native.Array<java.lang.annotation.Annotation>;
				public isAccessible(): boolean;
				public static setAccessible(param0: native.Array<java.lang.reflect.AccessibleObject>, param1: boolean): void;
				public isAnnotationPresent(param0: java.lang.Class<any>): boolean;
				public setAccessible(param0: boolean): void;
				public getDeclaredAnnotation(param0: java.lang.Class<any>): java.lang.annotation.Annotation;
				public getAnnotationsByType(param0: java.lang.Class<any>): native.Array<java.lang.annotation.Annotation>;
				public getAnnotations(): native.Array<java.lang.annotation.Annotation>;
				public constructor();
			}
		}
	}
}

declare module java {
	export module lang {
		export module reflect {
			export class AnnotatedElement extends java.lang.Object {
				public static class: java.lang.Class<java.lang.reflect.AnnotatedElement>;
				/**
				 * Constructs a new instance of the java.lang.reflect.AnnotatedElement interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					isAnnotationPresent(param0: java.lang.Class<any>): boolean;
					getAnnotation(param0: java.lang.Class<any>): java.lang.annotation.Annotation;
					getAnnotations(): native.Array<java.lang.annotation.Annotation>;
					getAnnotationsByType(param0: java.lang.Class<any>): native.Array<java.lang.annotation.Annotation>;
					getDeclaredAnnotation(param0: java.lang.Class<any>): java.lang.annotation.Annotation;
					getDeclaredAnnotationsByType(param0: java.lang.Class<any>): native.Array<java.lang.annotation.Annotation>;
					getDeclaredAnnotations(): native.Array<java.lang.annotation.Annotation>;
				});
				public constructor();
				public getAnnotation(param0: java.lang.Class<any>): java.lang.annotation.Annotation;
				public getDeclaredAnnotationsByType(param0: java.lang.Class<any>): native.Array<java.lang.annotation.Annotation>;
				public getDeclaredAnnotations(): native.Array<java.lang.annotation.Annotation>;
				public isAnnotationPresent(param0: java.lang.Class<any>): boolean;
				public getDeclaredAnnotation(param0: java.lang.Class<any>): java.lang.annotation.Annotation;
				public getAnnotations(): native.Array<java.lang.annotation.Annotation>;
				public getAnnotationsByType(param0: java.lang.Class<any>): native.Array<java.lang.annotation.Annotation>;
			}
		}
	}
}

declare module java {
	export module lang {
		export module reflect {
			export class Array extends java.lang.Object {
				public static class: java.lang.Class<java.lang.reflect.Array>;
				public static setBoolean(param0: any, param1: number, param2: boolean): void;
				public static setChar(param0: any, param1: number, param2: string): void;
				public static getFloat(param0: any, param1: number): number;
				public static get(param0: any, param1: number): any;
				public static getInt(param0: any, param1: number): number;
				public static setFloat(param0: any, param1: number, param2: number): void;
				public static newInstance(param0: java.lang.Class<any>, param1: number): any;
				public static setShort(param0: any, param1: number, param2: number): void;
				public static setLong(param0: any, param1: number, param2: number): void;
				public static newInstance(param0: java.lang.Class<any>, param1: native.Array<number>): any;
				public static getLong(param0: any, param1: number): number;
				public static getDouble(param0: any, param1: number): number;
				public static getBoolean(param0: any, param1: number): boolean;
				public static getChar(param0: any, param1: number): string;
				public static set(param0: any, param1: number, param2: any): void;
				public static setByte(param0: any, param1: number, param2: number): void;
				public static getShort(param0: any, param1: number): number;
				public static setDouble(param0: any, param1: number, param2: number): void;
				public static setInt(param0: any, param1: number, param2: number): void;
				public static getByte(param0: any, param1: number): number;
				public static getLength(param0: any): number;
			}
		}
	}
}

declare module java {
	export module lang {
		export module reflect {
			export class Constructor<T>  extends java.lang.reflect.Executable {
				public static class: java.lang.Class<java.lang.reflect.Constructor<any>>;
				public getDeclaredAnnotationsByType(param0: java.lang.Class<any>): native.Array<java.lang.annotation.Annotation>;
				public getModifiers(): number;
				public getDeclaredAnnotation(param0: java.lang.Class<any>): java.lang.annotation.Annotation;
				public isSynthetic(): boolean;
				public getGenericParameterTypes(): native.Array<java.lang.reflect.Type>;
				public getTypeParameters(): native.Array<java.lang.reflect.TypeVariable<any>>;
				public getGenericExceptionTypes(): native.Array<java.lang.reflect.Type>;
				public hashCode(): number;
				public equals(param0: any): boolean;
				public isAnnotationPresent(param0: java.lang.Class<any>): boolean;
				public getAnnotations(): native.Array<java.lang.annotation.Annotation>;
				public toGenericString(): string;
				public getDeclaringClass(): java.lang.Class<any>;
				public getParameterCount(): number;
				public getTypeParameters(): native.Array<java.lang.reflect.TypeVariable<java.lang.reflect.Constructor<any>>>;
				public getAnnotation(param0: java.lang.Class<any>): java.lang.annotation.Annotation;
				public getDeclaredAnnotations(): native.Array<java.lang.annotation.Annotation>;
				public getParameterAnnotations(): native.Array<native.Array<java.lang.annotation.Annotation>>;
				public getParameterTypes(): native.Array<java.lang.Class<any>>;
				public getName(): string;
				public toString(): string;
				public getAnnotationsByType(param0: java.lang.Class<any>): native.Array<java.lang.annotation.Annotation>;
				public isVarArgs(): boolean;
				public getExceptionTypes(): native.Array<java.lang.Class<any>>;
				public newInstance(param0: native.Array<any>): any;
			}
		}
	}
}

declare module java {
	export module lang {
		export module reflect {
			export abstract class Executable extends java.lang.reflect.AccessibleObject implements java.lang.reflect.Member, java.lang.reflect.GenericDeclaration {
				public static class: java.lang.Class<java.lang.reflect.Executable>;
				public getAnnotation(param0: java.lang.Class<any>): java.lang.annotation.Annotation;
				public getDeclaredAnnotations(): native.Array<java.lang.annotation.Annotation>;
				public getDeclaredAnnotationsByType(param0: java.lang.Class<any>): native.Array<java.lang.annotation.Annotation>;
				public getParameterAnnotations(): native.Array<native.Array<java.lang.annotation.Annotation>>;
				public getParameterTypes(): native.Array<java.lang.Class<any>>;
				public getModifiers(): number;
				public getName(): string;
				public getDeclaredAnnotation(param0: java.lang.Class<any>): java.lang.annotation.Annotation;
				public getAnnotationsByType(param0: java.lang.Class<any>): native.Array<java.lang.annotation.Annotation>;
				public isSynthetic(): boolean;
				public getGenericParameterTypes(): native.Array<java.lang.reflect.Type>;
				public isVarArgs(): boolean;
				public getExceptionTypes(): native.Array<java.lang.Class<any>>;
				public getTypeParameters(): native.Array<java.lang.reflect.TypeVariable<any>>;
				public getGenericExceptionTypes(): native.Array<java.lang.reflect.Type>;
				public isAnnotationPresent(param0: java.lang.Class<any>): boolean;
				public getParameters(): native.Array<java.lang.reflect.Parameter>;
				public getAnnotations(): native.Array<java.lang.annotation.Annotation>;
				public toGenericString(): string;
				public getDeclaringClass(): java.lang.Class<any>;
				public getParameterCount(): number;
			}
		}
	}
}

declare module java {
	export module lang {
		export module reflect {
			export class Field extends java.lang.reflect.AccessibleObject implements java.lang.reflect.Member {
				public static class: java.lang.Class<java.lang.reflect.Field>;
				public setInt(param0: any, param1: number): void;
				public get(param0: any): any;
				public getDeclaredAnnotationsByType(param0: java.lang.Class<any>): native.Array<java.lang.annotation.Annotation>;
				public getChar(param0: any): string;
				public getModifiers(): number;
				public getDeclaredAnnotation(param0: java.lang.Class<any>): java.lang.annotation.Annotation;
				public isSynthetic(): boolean;
				public getType(): java.lang.Class<any>;
				public setByte(param0: any, param1: number): void;
				public hashCode(): number;
				public equals(param0: any): boolean;
				public getLong(param0: any): number;
				public setChar(param0: any, param1: string): void;
				public isAnnotationPresent(param0: java.lang.Class<any>): boolean;
				public getInt(param0: any): number;
				public setLong(param0: any, param1: number): void;
				public getAnnotations(): native.Array<java.lang.annotation.Annotation>;
				public toGenericString(): string;
				public getDeclaringClass(): java.lang.Class<any>;
				public getFloat(param0: any): number;
				public setFloat(param0: any, param1: number): void;
				public getGenericType(): java.lang.reflect.Type;
				public getAnnotation(param0: java.lang.Class<any>): java.lang.annotation.Annotation;
				public setBoolean(param0: any, param1: boolean): void;
				public getBoolean(param0: any): boolean;
				public getDeclaredAnnotations(): native.Array<java.lang.annotation.Annotation>;
				public getByte(param0: any): number;
				public setDouble(param0: any, param1: number): void;
				public getName(): string;
				public set(param0: any, param1: any): void;
				public toString(): string;
				public getShort(param0: any): number;
				public getAnnotationsByType(param0: java.lang.Class<any>): native.Array<java.lang.annotation.Annotation>;
				public isEnumConstant(): boolean;
				public getDouble(param0: any): number;
				public setShort(param0: any, param1: number): void;
			}
		}
	}
}

declare module java {
	export module lang {
		export module reflect {
			export class GenericArrayType extends java.lang.Object implements java.lang.reflect.Type {
				public static class: java.lang.Class<java.lang.reflect.GenericArrayType>;
				/**
				 * Constructs a new instance of the java.lang.reflect.GenericArrayType interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getGenericComponentType(): java.lang.reflect.Type;
					getTypeName(): string;
				});
				public constructor();
				public getGenericComponentType(): java.lang.reflect.Type;
				public getTypeName(): string;
			}
		}
	}
}

declare module java {
	export module lang {
		export module reflect {
			export class GenericDeclaration extends java.lang.Object implements java.lang.reflect.AnnotatedElement {
				public static class: java.lang.Class<java.lang.reflect.GenericDeclaration>;
				/**
				 * Constructs a new instance of the java.lang.reflect.GenericDeclaration interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getTypeParameters(): native.Array<java.lang.reflect.TypeVariable<any>>;
					isAnnotationPresent(param0: java.lang.Class<any>): boolean;
					getAnnotation(param0: java.lang.Class<any>): java.lang.annotation.Annotation;
					getAnnotations(): native.Array<java.lang.annotation.Annotation>;
					getAnnotationsByType(param0: java.lang.Class<any>): native.Array<java.lang.annotation.Annotation>;
					getDeclaredAnnotation(param0: java.lang.Class<any>): java.lang.annotation.Annotation;
					getDeclaredAnnotationsByType(param0: java.lang.Class<any>): native.Array<java.lang.annotation.Annotation>;
					getDeclaredAnnotations(): native.Array<java.lang.annotation.Annotation>;
				});
				public constructor();
				public getAnnotation(param0: java.lang.Class<any>): java.lang.annotation.Annotation;
				public getTypeParameters(): native.Array<java.lang.reflect.TypeVariable<any>>;
				public getDeclaredAnnotationsByType(param0: java.lang.Class<any>): native.Array<java.lang.annotation.Annotation>;
				public getDeclaredAnnotations(): native.Array<java.lang.annotation.Annotation>;
				public isAnnotationPresent(param0: java.lang.Class<any>): boolean;
				public getDeclaredAnnotation(param0: java.lang.Class<any>): java.lang.annotation.Annotation;
				public getAnnotations(): native.Array<java.lang.annotation.Annotation>;
				public getAnnotationsByType(param0: java.lang.Class<any>): native.Array<java.lang.annotation.Annotation>;
			}
		}
	}
}

declare module java {
	export module lang {
		export module reflect {
			export class GenericSignatureFormatError extends java.lang.ClassFormatError {
				public static class: java.lang.Class<java.lang.reflect.GenericSignatureFormatError>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module lang {
		export module reflect {
			export class InvocationHandler extends java.lang.Object {
				public static class: java.lang.Class<java.lang.reflect.InvocationHandler>;
				/**
				 * Constructs a new instance of the java.lang.reflect.InvocationHandler interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					invoke(param0: any, param1: java.lang.reflect.Method, param2: native.Array<any>): any;
				});
				public constructor();
				public invoke(param0: any, param1: java.lang.reflect.Method, param2: native.Array<any>): any;
			}
		}
	}
}

declare module java {
	export module lang {
		export module reflect {
			export class InvocationTargetException extends java.lang.ReflectiveOperationException {
				public static class: java.lang.Class<java.lang.reflect.InvocationTargetException>;
				public constructor(param0: java.lang.Throwable, param1: string);
				public constructor(param0: string, param1: java.lang.Throwable);
				public getTargetException(): java.lang.Throwable;
				public getCause(): java.lang.Throwable;
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module lang {
		export module reflect {
			export class MalformedParameterizedTypeException extends java.lang.RuntimeException {
				public static class: java.lang.Class<java.lang.reflect.MalformedParameterizedTypeException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module lang {
		export module reflect {
			export class MalformedParametersException extends java.lang.RuntimeException {
				public static class: java.lang.Class<java.lang.reflect.MalformedParametersException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module lang {
		export module reflect {
			export class Member extends java.lang.Object {
				public static class: java.lang.Class<java.lang.reflect.Member>;
				/**
				 * Constructs a new instance of the java.lang.reflect.Member interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getDeclaringClass(): java.lang.Class<any>;
					getName(): string;
					getModifiers(): number;
					isSynthetic(): boolean;
				});
				public constructor();
				public static PUBLIC: number;
				public static DECLARED: number;
				public getModifiers(): number;
				public getName(): string;
				public isSynthetic(): boolean;
				public getDeclaringClass(): java.lang.Class<any>;
			}
		}
	}
}

declare module java {
	export module lang {
		export module reflect {
			export class Method extends java.lang.reflect.Executable {
				public static class: java.lang.Class<java.lang.reflect.Method>;
				public invoke(param0: any, param1: native.Array<any>): any;
				public getDeclaredAnnotationsByType(param0: java.lang.Class<any>): native.Array<java.lang.annotation.Annotation>;
				public getModifiers(): number;
				public getDeclaredAnnotation(param0: java.lang.Class<any>): java.lang.annotation.Annotation;
				public getDefaultValue(): any;
				public isSynthetic(): boolean;
				public getGenericParameterTypes(): native.Array<java.lang.reflect.Type>;
				public getTypeParameters(): native.Array<java.lang.reflect.TypeVariable<any>>;
				public getGenericExceptionTypes(): native.Array<java.lang.reflect.Type>;
				public isDefault(): boolean;
				public hashCode(): number;
				public equals(param0: any): boolean;
				public isAnnotationPresent(param0: java.lang.Class<any>): boolean;
				public getAnnotations(): native.Array<java.lang.annotation.Annotation>;
				public getGenericReturnType(): java.lang.reflect.Type;
				public toGenericString(): string;
				public getDeclaringClass(): java.lang.Class<any>;
				public getParameterCount(): number;
				public getAnnotation(param0: java.lang.Class<any>): java.lang.annotation.Annotation;
				public getDeclaredAnnotations(): native.Array<java.lang.annotation.Annotation>;
				public getParameterAnnotations(): native.Array<native.Array<java.lang.annotation.Annotation>>;
				public getParameterTypes(): native.Array<java.lang.Class<any>>;
				public getName(): string;
				public getTypeParameters(): native.Array<java.lang.reflect.TypeVariable<java.lang.reflect.Method>>;
				public getReturnType(): java.lang.Class<any>;
				public toString(): string;
				public getAnnotationsByType(param0: java.lang.Class<any>): native.Array<java.lang.annotation.Annotation>;
				public isVarArgs(): boolean;
				public getExceptionTypes(): native.Array<java.lang.Class<any>>;
				public isBridge(): boolean;
			}
		}
	}
}

declare module java {
	export module lang {
		export module reflect {
			export class Modifier extends java.lang.Object {
				public static class: java.lang.Class<java.lang.reflect.Modifier>;
				public static ABSTRACT: number;
				public static FINAL: number;
				public static INTERFACE: number;
				public static NATIVE: number;
				public static PRIVATE: number;
				public static PROTECTED: number;
				public static PUBLIC: number;
				public static STATIC: number;
				public static STRICT: number;
				public static SYNCHRONIZED: number;
				public static TRANSIENT: number;
				public static VOLATILE: number;
				public static isSynchronized(param0: number): boolean;
				public static constructorModifiers(): number;
				public static isPublic(param0: number): boolean;
				public static isStrict(param0: number): boolean;
				public static methodModifiers(): number;
				public static isProtected(param0: number): boolean;
				public toString(): string;
				public constructor();
				public static isFinal(param0: number): boolean;
				public static isInterface(param0: number): boolean;
				public static toString(param0: number): string;
				public static parameterModifiers(): number;
				public static classModifiers(): number;
				public static isNative(param0: number): boolean;
				public static isStatic(param0: number): boolean;
				public static isVolatile(param0: number): boolean;
				public static isPrivate(param0: number): boolean;
				public static isAbstract(param0: number): boolean;
				public static isTransient(param0: number): boolean;
				public static interfaceModifiers(): number;
				public static fieldModifiers(): number;
			}
		}
	}
}

declare module java {
	export module lang {
		export module reflect {
			export class Parameter extends java.lang.Object implements java.lang.reflect.AnnotatedElement {
				public static class: java.lang.Class<java.lang.reflect.Parameter>;
				public isImplicit(): boolean;
				public getAnnotation(param0: java.lang.Class<any>): java.lang.annotation.Annotation;
				public getDeclaredAnnotations(): native.Array<java.lang.annotation.Annotation>;
				public getDeclaredAnnotationsByType(param0: java.lang.Class<any>): native.Array<java.lang.annotation.Annotation>;
				public isNamePresent(): boolean;
				public getModifiers(): number;
				public getName(): string;
				public getDeclaredAnnotation(param0: java.lang.Class<any>): java.lang.annotation.Annotation;
				public toString(): string;
				public getAnnotationsByType(param0: java.lang.Class<any>): native.Array<java.lang.annotation.Annotation>;
				public isSynthetic(): boolean;
				public isVarArgs(): boolean;
				public getParameterizedType(): java.lang.reflect.Type;
				public getType(): java.lang.Class<any>;
				public hashCode(): number;
				public equals(param0: any): boolean;
				public isAnnotationPresent(param0: java.lang.Class<any>): boolean;
				public getDeclaringExecutable(): java.lang.reflect.Executable;
				public getAnnotations(): native.Array<java.lang.annotation.Annotation>;
			}
		}
	}
}

declare module java {
	export module lang {
		export module reflect {
			export class ParameterizedType extends java.lang.Object implements java.lang.reflect.Type {
				public static class: java.lang.Class<java.lang.reflect.ParameterizedType>;
				/**
				 * Constructs a new instance of the java.lang.reflect.ParameterizedType interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getActualTypeArguments(): native.Array<java.lang.reflect.Type>;
					getRawType(): java.lang.reflect.Type;
					getOwnerType(): java.lang.reflect.Type;
					getTypeName(): string;
				});
				public constructor();
				public getTypeName(): string;
				public getOwnerType(): java.lang.reflect.Type;
				public getRawType(): java.lang.reflect.Type;
				public getActualTypeArguments(): native.Array<java.lang.reflect.Type>;
			}
		}
	}
}

declare module java {
	export module lang {
		export module reflect {
			export class Proxy extends java.lang.Object implements java.io.Serializable {
				public static class: java.lang.Class<java.lang.reflect.Proxy>;
				public h: java.lang.reflect.InvocationHandler;
				public static getProxyClass(param0: java.lang.ClassLoader, param1: native.Array<java.lang.Class<any>>): java.lang.Class<any>;
				public static getInvocationHandler(param0: any): java.lang.reflect.InvocationHandler;
				public static newProxyInstance(param0: java.lang.ClassLoader, param1: native.Array<java.lang.Class<any>>, param2: java.lang.reflect.InvocationHandler): any;
				public static isProxyClass(param0: java.lang.Class<any>): boolean;
				public constructor(param0: java.lang.reflect.InvocationHandler);
			}
		}
	}
}

declare module java {
	export module lang {
		export module reflect {
			export class ReflectPermission extends java.security.BasicPermission {
				public static class: java.lang.Class<java.lang.reflect.ReflectPermission>;
				public checkGuard(param0: any): void;
				public constructor(param0: string);
				public constructor(param0: string, param1: string);
			}
		}
	}
}

declare module java {
	export module lang {
		export module reflect {
			export class Type extends java.lang.Object {
				public static class: java.lang.Class<java.lang.reflect.Type>;
				/**
				 * Constructs a new instance of the java.lang.reflect.Type interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getTypeName(): string;
				});
				public constructor();
				public getTypeName(): string;
			}
		}
	}
}

declare module java {
	export module lang {
		export module reflect {
			export class TypeVariable<D>  extends java.lang.reflect.Type {
				public static class: java.lang.Class<java.lang.reflect.TypeVariable<any>>;
				/**
				 * Constructs a new instance of the java.lang.reflect.TypeVariable<any> interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getBounds(): native.Array<java.lang.reflect.Type>;
					getGenericDeclaration(): any;
					getName(): string;
					getTypeName(): string;
				});
				public constructor();
				public getBounds(): native.Array<java.lang.reflect.Type>;
				public getTypeName(): string;
				public getGenericDeclaration(): any;
				public getName(): string;
			}
		}
	}
}

declare module java {
	export module lang {
		export module reflect {
			export class UndeclaredThrowableException extends java.lang.RuntimeException {
				public static class: java.lang.Class<java.lang.reflect.UndeclaredThrowableException>;
				public getUndeclaredThrowable(): java.lang.Throwable;
				public constructor(param0: java.lang.Throwable, param1: string);
				public constructor(param0: string, param1: java.lang.Throwable);
				public getCause(): java.lang.Throwable;
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module lang {
		export module reflect {
			export class WildcardType extends java.lang.Object implements java.lang.reflect.Type {
				public static class: java.lang.Class<java.lang.reflect.WildcardType>;
				/**
				 * Constructs a new instance of the java.lang.reflect.WildcardType interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getUpperBounds(): native.Array<java.lang.reflect.Type>;
					getLowerBounds(): native.Array<java.lang.reflect.Type>;
					getTypeName(): string;
				});
				public constructor();
				public getTypeName(): string;
				public getLowerBounds(): native.Array<java.lang.reflect.Type>;
				public getUpperBounds(): native.Array<java.lang.reflect.Type>;
			}
		}
	}
}

declare module java {
	export module math {
		export class BigDecimal extends java.lang.Number {
			public static class: java.lang.Class<java.math.BigDecimal>;
			public static ONE: java.math.BigDecimal;
			public static ROUND_CEILING: number;
			public static ROUND_DOWN: number;
			public static ROUND_FLOOR: number;
			public static ROUND_HALF_DOWN: number;
			public static ROUND_HALF_EVEN: number;
			public static ROUND_HALF_UP: number;
			public static ROUND_UNNECESSARY: number;
			public static ROUND_UP: number;
			public static TEN: java.math.BigDecimal;
			public static ZERO: java.math.BigDecimal;
			public divide(param0: java.math.BigDecimal): java.math.BigDecimal;
			public pow(param0: number): java.math.BigDecimal;
			public divideToIntegralValue(param0: java.math.BigDecimal): java.math.BigDecimal;
			public max(param0: java.math.BigDecimal): java.math.BigDecimal;
			public scaleByPowerOfTen(param0: number): java.math.BigDecimal;
			public shortValueExact(): number;
			public divide(param0: java.math.BigDecimal, param1: java.math.MathContext): java.math.BigDecimal;
			public remainder(param0: java.math.BigDecimal): java.math.BigDecimal;
			public divideAndRemainder(param0: java.math.BigDecimal): native.Array<java.math.BigDecimal>;
			public toPlainString(): string;
			public multiply(param0: java.math.BigDecimal): java.math.BigDecimal;
			public constructor(param0: string);
			public constructor(param0: native.Array<string>, param1: java.math.MathContext);
			public constructor(param0: native.Array<string>, param1: number, param2: number);
			public subtract(param0: java.math.BigDecimal): java.math.BigDecimal;
			public byteValueExact(): number;
			public constructor(param0: number);
			public divide(param0: java.math.BigDecimal, param1: java.math.RoundingMode): java.math.BigDecimal;
			public constructor();
			public constructor(param0: java.math.BigInteger, param1: java.math.MathContext);
			public divideToIntegralValue(param0: java.math.BigDecimal, param1: java.math.MathContext): java.math.BigDecimal;
			public setScale(param0: number): java.math.BigDecimal;
			public pow(param0: number, param1: java.math.MathContext): java.math.BigDecimal;
			public toBigIntegerExact(): java.math.BigInteger;
			public constructor(param0: string, param1: java.math.MathContext);
			public floatValue(): number;
			public intValue(): number;
			public ulp(): java.math.BigDecimal;
			public abs(param0: java.math.MathContext): java.math.BigDecimal;
			public negate(param0: java.math.MathContext): java.math.BigDecimal;
			public unscaledValue(): java.math.BigInteger;
			public setScale(param0: number, param1: java.math.RoundingMode): java.math.BigDecimal;
			public setScale(param0: number, param1: number): java.math.BigDecimal;
			public abs(): java.math.BigDecimal;
			public plus(param0: java.math.MathContext): java.math.BigDecimal;
			public longValue(): number;
			public plus(): java.math.BigDecimal;
			public equals(param0: any): boolean;
			public min(param0: java.math.BigDecimal): java.math.BigDecimal;
			public compareTo(param0: java.math.BigDecimal): number;
			public constructor(param0: java.math.BigInteger, param1: number);
			public intValueExact(): number;
			public constructor(param0: java.math.BigInteger);
			public constructor(param0: java.math.BigInteger, param1: number, param2: java.math.MathContext);
			public stripTrailingZeros(): java.math.BigDecimal;
			public longValueExact(): number;
			public scale(): number;
			public doubleValue(): number;
			public constructor(param0: native.Array<string>, param1: number, param2: number, param3: java.math.MathContext);
			public subtract(param0: java.math.BigDecimal, param1: java.math.MathContext): java.math.BigDecimal;
			public constructor(param0: native.Array<string>);
			public toEngineeringString(): string;
			public remainder(param0: java.math.BigDecimal, param1: java.math.MathContext): java.math.BigDecimal;
			public toBigInteger(): java.math.BigInteger;
			public negate(): java.math.BigDecimal;
			public signum(): number;
			public static valueOf(param0: number): java.math.BigDecimal;
			public round(param0: java.math.MathContext): java.math.BigDecimal;
			public divide(param0: java.math.BigDecimal, param1: number): java.math.BigDecimal;
			public divide(param0: java.math.BigDecimal, param1: number, param2: number): java.math.BigDecimal;
			public static valueOf(param0: number, param1: number): java.math.BigDecimal;
			public add(param0: java.math.BigDecimal, param1: java.math.MathContext): java.math.BigDecimal;
			public multiply(param0: java.math.BigDecimal, param1: java.math.MathContext): java.math.BigDecimal;
			public divide(param0: java.math.BigDecimal, param1: number, param2: java.math.RoundingMode): java.math.BigDecimal;
			public toString(): string;
			public precision(): number;
			public movePointRight(param0: number): java.math.BigDecimal;
			public add(param0: java.math.BigDecimal): java.math.BigDecimal;
			public divideAndRemainder(param0: java.math.BigDecimal, param1: java.math.MathContext): native.Array<java.math.BigDecimal>;
			public movePointLeft(param0: number): java.math.BigDecimal;
			public constructor(param0: number, param1: java.math.MathContext);
			public hashCode(): number;
		}
	}
}

declare module java {
	export module math {
		export class BigInteger extends java.lang.Number {
			public static class: java.lang.Class<java.math.BigInteger>;
			public static ONE: java.math.BigInteger;
			public static TEN: java.math.BigInteger;
			public static ZERO: java.math.BigInteger;
			public remainder(param0: java.math.BigInteger): java.math.BigInteger;
			public isProbablePrime(param0: number): boolean;
			public constructor(param0: number, param1: native.Array<number>);
			public multiply(param0: java.math.BigInteger): java.math.BigInteger;
			public divideAndRemainder(param0: java.math.BigInteger): native.Array<java.math.BigInteger>;
			public testBit(param0: number): boolean;
			public divide(param0: java.math.BigInteger): java.math.BigInteger;
			public constructor(param0: string, param1: number);
			public constructor(param0: string);
			public pow(param0: number): java.math.BigInteger;
			public toByteArray(): native.Array<number>;
			public nextProbablePrime(): java.math.BigInteger;
			public bitCount(): number;
			public constructor(param0: number, param1: java.util.Random);
			public andNot(param0: java.math.BigInteger): java.math.BigInteger;
			public constructor();
			public constructor(param0: native.Array<number>);
			public add(param0: java.math.BigInteger): java.math.BigInteger;
			public floatValue(): number;
			public intValue(): number;
			public xor(param0: java.math.BigInteger): java.math.BigInteger;
			public toString(param0: number): string;
			public shiftLeft(param0: number): java.math.BigInteger;
			public flipBit(param0: number): java.math.BigInteger;
			public constructor(param0: number, param1: number, param2: java.util.Random);
			public longValue(): number;
			public equals(param0: any): boolean;
			public mod(param0: java.math.BigInteger): java.math.BigInteger;
			public setBit(param0: number): java.math.BigInteger;
			public abs(): java.math.BigInteger;
			public clearBit(param0: number): java.math.BigInteger;
			public getLowestSetBit(): number;
			public doubleValue(): number;
			public gcd(param0: java.math.BigInteger): java.math.BigInteger;
			public modInverse(param0: java.math.BigInteger): java.math.BigInteger;
			public compareTo(param0: java.math.BigInteger): number;
			public bitLength(): number;
			public min(param0: java.math.BigInteger): java.math.BigInteger;
			public signum(): number;
			public not(): java.math.BigInteger;
			public static valueOf(param0: number): java.math.BigInteger;
			public max(param0: java.math.BigInteger): java.math.BigInteger;
			public negate(): java.math.BigInteger;
			public toString(): string;
			public or(param0: java.math.BigInteger): java.math.BigInteger;
			public shiftRight(param0: number): java.math.BigInteger;
			public subtract(param0: java.math.BigInteger): java.math.BigInteger;
			public and(param0: java.math.BigInteger): java.math.BigInteger;
			public static probablePrime(param0: number, param1: java.util.Random): java.math.BigInteger;
			public hashCode(): number;
			public modPow(param0: java.math.BigInteger, param1: java.math.BigInteger): java.math.BigInteger;
		}
	}
}

declare module java {
	export module math {
		export class MathContext extends java.lang.Object implements java.io.Serializable {
			public static class: java.lang.Class<java.math.MathContext>;
			public static DECIMAL128: java.math.MathContext;
			public static DECIMAL32: java.math.MathContext;
			public static DECIMAL64: java.math.MathContext;
			public static UNLIMITED: java.math.MathContext;
			public equals(param0: any): boolean;
			public toString(): string;
			public getPrecision(): number;
			public constructor(param0: number);
			public constructor(param0: number, param1: java.math.RoundingMode);
			public constructor(param0: string);
			public getRoundingMode(): java.math.RoundingMode;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module math {
		export class RoundingMode {
			public static class: java.lang.Class<java.math.RoundingMode>;
			public static UP: java.math.RoundingMode;
			public static DOWN: java.math.RoundingMode;
			public static CEILING: java.math.RoundingMode;
			public static FLOOR: java.math.RoundingMode;
			public static HALF_UP: java.math.RoundingMode;
			public static HALF_DOWN: java.math.RoundingMode;
			public static HALF_EVEN: java.math.RoundingMode;
			public static UNNECESSARY: java.math.RoundingMode;
			public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			public static valueOf(param0: number): java.math.RoundingMode;
			public static values(): native.Array<java.math.RoundingMode>;
			public static valueOf(param0: string): java.math.RoundingMode;
		}
	}
}

declare module java {
	export module net {
		export abstract class Authenticator extends java.lang.Object {
			public static class: java.lang.Class<java.net.Authenticator>;
			public static requestPasswordAuthentication(param0: java.net.InetAddress, param1: number, param2: string, param3: string, param4: string): java.net.PasswordAuthentication;
			public getRequestingPrompt(): string;
			public getRequestingURL(): java.net.URL;
			public constructor();
			public static requestPasswordAuthentication(param0: string, param1: java.net.InetAddress, param2: number, param3: string, param4: string, param5: string, param6: java.net.URL, param7: java.net.Authenticator.RequestorType): java.net.PasswordAuthentication;
			public getRequestingHost(): string;
			public static setDefault(param0: java.net.Authenticator): void;
			public getPasswordAuthentication(): java.net.PasswordAuthentication;
			public getRequestingPort(): number;
			public getRequestingSite(): java.net.InetAddress;
			public getRequestingScheme(): string;
			public getRequestingProtocol(): string;
			public static requestPasswordAuthentication(param0: string, param1: java.net.InetAddress, param2: number, param3: string, param4: string, param5: string): java.net.PasswordAuthentication;
			public getRequestorType(): java.net.Authenticator.RequestorType;
		}
		export module Authenticator {
			export class RequestorType {
				public static class: java.lang.Class<java.net.Authenticator.RequestorType>;
				public static PROXY: java.net.Authenticator.RequestorType;
				public static SERVER: java.net.Authenticator.RequestorType;
				public static valueOf(param0: string): java.net.Authenticator.RequestorType;
				public static values(): native.Array<java.net.Authenticator.RequestorType>;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			}
		}
	}
}

declare module java {
	export module net {
		export class BindException extends java.net.SocketException {
			public static class: java.lang.Class<java.net.BindException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module net {
		export abstract class CacheRequest extends java.lang.Object {
			public static class: java.lang.Class<java.net.CacheRequest>;
			public abort(): void;
			public constructor();
			public getBody(): java.io.OutputStream;
		}
	}
}

declare module java {
	export module net {
		export abstract class CacheResponse extends java.lang.Object {
			public static class: java.lang.Class<java.net.CacheResponse>;
			public getBody(): java.io.InputStream;
			public getHeaders(): java.util.Map<string,java.util.List<string>>;
			public constructor();
		}
	}
}

declare module java {
	export module net {
		export class ConnectException extends java.net.SocketException {
			public static class: java.lang.Class<java.net.ConnectException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module net {
		export abstract class ContentHandler extends java.lang.Object {
			public static class: java.lang.Class<java.net.ContentHandler>;
			public getContent(param0: java.net.URLConnection, param1: native.Array<java.lang.Class<any>>): any;
			public constructor();
			public getContent(param0: java.net.URLConnection): any;
		}
	}
}

declare module java {
	export module net {
		export class ContentHandlerFactory extends java.lang.Object {
			public static class: java.lang.Class<java.net.ContentHandlerFactory>;
			/**
			 * Constructs a new instance of the java.net.ContentHandlerFactory interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				createContentHandler(param0: string): java.net.ContentHandler;
			});
			public constructor();
			public createContentHandler(param0: string): java.net.ContentHandler;
		}
	}
}

declare module java {
	export module net {
		export abstract class CookieHandler extends java.lang.Object {
			public static class: java.lang.Class<java.net.CookieHandler>;
			public static setDefault(param0: java.net.CookieHandler): void;
			public constructor();
			public static getDefault(): java.net.CookieHandler;
			public put(param0: java.net.URI, param1: java.util.Map<string,java.util.List<string>>): void;
			public get(param0: java.net.URI, param1: java.util.Map<string,java.util.List<string>>): java.util.Map<string,java.util.List<string>>;
		}
	}
}

declare module java {
	export module net {
		export class CookieManager extends java.net.CookieHandler {
			public static class: java.lang.Class<java.net.CookieManager>;
			public constructor(param0: java.net.CookieStore, param1: java.net.CookiePolicy);
			public getCookieStore(): java.net.CookieStore;
			public constructor();
			public put(param0: java.net.URI, param1: java.util.Map<string,java.util.List<string>>): void;
			public setCookiePolicy(param0: java.net.CookiePolicy): void;
			public get(param0: java.net.URI, param1: java.util.Map<string,java.util.List<string>>): java.util.Map<string,java.util.List<string>>;
		}
	}
}

declare module java {
	export module net {
		export class CookiePolicy extends java.lang.Object {
			public static class: java.lang.Class<java.net.CookiePolicy>;
			/**
			 * Constructs a new instance of the java.net.CookiePolicy interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				shouldAccept(param0: java.net.URI, param1: java.net.HttpCookie): boolean;
				<clinit>(): void;
			});
			public constructor();
			public static ACCEPT_NONE: java.net.CookiePolicy;
			public static ACCEPT_ALL: java.net.CookiePolicy;
			public static ACCEPT_ORIGINAL_SERVER: java.net.CookiePolicy;
			public shouldAccept(param0: java.net.URI, param1: java.net.HttpCookie): boolean;
		}
	}
}

declare module java {
	export module net {
		export class CookieStore extends java.lang.Object {
			public static class: java.lang.Class<java.net.CookieStore>;
			/**
			 * Constructs a new instance of the java.net.CookieStore interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				add(param0: java.net.URI, param1: java.net.HttpCookie): void;
				get(param0: java.net.URI): java.util.List<java.net.HttpCookie>;
				getCookies(): java.util.List<java.net.HttpCookie>;
				getURIs(): java.util.List<java.net.URI>;
				remove(param0: java.net.URI, param1: java.net.HttpCookie): boolean;
				removeAll(): boolean;
			});
			public constructor();
			public removeAll(): boolean;
			public remove(param0: java.net.URI, param1: java.net.HttpCookie): boolean;
			public add(param0: java.net.URI, param1: java.net.HttpCookie): void;
			public getCookies(): java.util.List<java.net.HttpCookie>;
			public get(param0: java.net.URI): java.util.List<java.net.HttpCookie>;
			public getURIs(): java.util.List<java.net.URI>;
		}
	}
}

declare module java {
	export module net {
		export class DatagramPacket extends java.lang.Object {
			public static class: java.lang.Class<java.net.DatagramPacket>;
			public setLength(param0: number): void;
			public setData(param0: native.Array<number>, param1: number, param2: number): void;
			public getLength(): number;
			public setAddress(param0: java.net.InetAddress): void;
			public constructor(param0: native.Array<number>, param1: number, param2: java.net.InetAddress, param3: number);
			public getSocketAddress(): java.net.SocketAddress;
			public getOffset(): number;
			public constructor(param0: native.Array<number>, param1: number, param2: number, param3: java.net.InetAddress, param4: number);
			public constructor(param0: native.Array<number>, param1: number, param2: number, param3: java.net.SocketAddress);
			public constructor(param0: native.Array<number>, param1: number);
			public getAddress(): java.net.InetAddress;
			public constructor(param0: native.Array<number>, param1: number, param2: java.net.SocketAddress);
			public getData(): native.Array<number>;
			public getPort(): number;
			public constructor(param0: native.Array<number>, param1: number, param2: number);
			public setSocketAddress(param0: java.net.SocketAddress): void;
			public setPort(param0: number): void;
			public setData(param0: native.Array<number>): void;
		}
	}
}

declare module java {
	export module net {
		export class DatagramSocket extends java.lang.Object implements java.io.Closeable {
			public static class: java.lang.Class<java.net.DatagramSocket>;
			public getReuseAddress(): boolean;
			public isClosed(): boolean;
			public setSendBufferSize(param0: number): void;
			public connect(param0: java.net.InetAddress, param1: number): void;
			public constructor(param0: java.net.SocketAddress);
			public bind(param0: java.net.SocketAddress): void;
			public setReceiveBufferSize(param0: number): void;
			public setBroadcast(param0: boolean): void;
			public getBroadcast(): boolean;
			public receive(param0: java.net.DatagramPacket): void;
			public getInetAddress(): java.net.InetAddress;
			public setSoTimeout(param0: number): void;
			public setTrafficClass(param0: number): void;
			public constructor(param0: java.net.DatagramSocketImpl);
			public getLocalPort(): number;
			public getTrafficClass(): number;
			public isConnected(): boolean;
			public getLocalAddress(): java.net.InetAddress;
			public close(): void;
			public setReuseAddress(param0: boolean): void;
			public constructor(param0: number, param1: java.net.InetAddress);
			public isBound(): boolean;
			public getSoTimeout(): number;
			public getSendBufferSize(): number;
			public constructor(param0: number);
			public getReceiveBufferSize(): number;
			public constructor();
			public send(param0: java.net.DatagramPacket): void;
			public connect(param0: java.net.SocketAddress): void;
			public getChannel(): java.nio.channels.DatagramChannel;
			public getLocalSocketAddress(): java.net.SocketAddress;
			public getRemoteSocketAddress(): java.net.SocketAddress;
			public static setDatagramSocketImplFactory(param0: java.net.DatagramSocketImplFactory): void;
			public getPort(): number;
			public disconnect(): void;
		}
	}
}

declare module java {
	export module net {
		export abstract class DatagramSocketImpl extends java.lang.Object implements java.net.SocketOptions {
			public static class: java.lang.Class<java.net.DatagramSocketImpl>;
			public fd: java.io.FileDescriptor;
			public localPort: number;
			public join(param0: java.net.InetAddress): void;
			public setOption(param0: number, param1: any): void;
			public create(): void;
			public connect(param0: java.net.InetAddress, param1: number): void;
			public joinGroup(param0: java.net.SocketAddress, param1: java.net.NetworkInterface): void;
			public constructor();
			public peekData(param0: java.net.DatagramPacket): number;
			/** @deprecated */
			public setTTL(param0: number): void;
			public send(param0: java.net.DatagramPacket): void;
			public receive(param0: java.net.DatagramPacket): void;
			public setTimeToLive(param0: number): void;
			public getLocalPort(): number;
			public leave(param0: java.net.InetAddress): void;
			public leaveGroup(param0: java.net.SocketAddress, param1: java.net.NetworkInterface): void;
			public getFileDescriptor(): java.io.FileDescriptor;
			public getOption(param0: number): any;
			public bind(param0: number, param1: java.net.InetAddress): void;
			/** @deprecated */
			public getTTL(): number;
			public close(): void;
			public getTimeToLive(): number;
			public disconnect(): void;
			public peek(param0: java.net.InetAddress): number;
		}
	}
}

declare module java {
	export module net {
		export class DatagramSocketImplFactory extends java.lang.Object {
			public static class: java.lang.Class<java.net.DatagramSocketImplFactory>;
			/**
			 * Constructs a new instance of the java.net.DatagramSocketImplFactory interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				createDatagramSocketImpl(): java.net.DatagramSocketImpl;
			});
			public constructor();
			public createDatagramSocketImpl(): java.net.DatagramSocketImpl;
		}
	}
}

declare module java {
	export module net {
		export class FileNameMap extends java.lang.Object {
			public static class: java.lang.Class<java.net.FileNameMap>;
			/**
			 * Constructs a new instance of the java.net.FileNameMap interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				getContentTypeFor(param0: string): string;
			});
			public constructor();
			public getContentTypeFor(param0: string): string;
		}
	}
}

declare module java {
	export module net {
		export class HttpCookie extends java.lang.Object implements java.lang.Cloneable {
			public static class: java.lang.Class<java.net.HttpCookie>;
			public getPortlist(): string;
			public equals(param0: any): boolean;
			public getComment(): string;
			public setCommentURL(param0: string): void;
			public setValue(param0: string): void;
			public hasExpired(): boolean;
			public getMaxAge(): number;
			public getVersion(): number;
			public isHttpOnly(): boolean;
			public setDiscard(param0: boolean): void;
			public constructor(param0: string, param1: string);
			public setMaxAge(param0: number): void;
			public getCommentURL(): string;
			public setHttpOnly(param0: boolean): void;
			public setPortlist(param0: string): void;
			public setPath(param0: string): void;
			public static parse(param0: string): java.util.List<java.net.HttpCookie>;
			public setDomain(param0: string): void;
			public static domainMatches(param0: string, param1: string): boolean;
			public setVersion(param0: number): void;
			public getPath(): string;
			public toString(): string;
			public clone(): any;
			public getName(): string;
			public setComment(param0: string): void;
			public getSecure(): boolean;
			public getDiscard(): boolean;
			public getDomain(): string;
			public setSecure(param0: boolean): void;
			public getValue(): string;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module net {
		export class HttpRetryException extends java.io.IOException {
			public static class: java.lang.Class<java.net.HttpRetryException>;
			public constructor(param0: string, param1: number, param2: string);
			public responseCode(): number;
			public getReason(): string;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: number);
			public getLocation(): string;
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module net {
		export abstract class HttpURLConnection extends java.net.URLConnection {
			public static class: java.lang.Class<java.net.HttpURLConnection>;
			public static HTTP_ACCEPTED: number;
			public static HTTP_BAD_GATEWAY: number;
			public static HTTP_BAD_METHOD: number;
			public static HTTP_BAD_REQUEST: number;
			public static HTTP_CLIENT_TIMEOUT: number;
			public static HTTP_CONFLICT: number;
			public static HTTP_CREATED: number;
			public static HTTP_ENTITY_TOO_LARGE: number;
			public static HTTP_FORBIDDEN: number;
			public static HTTP_GATEWAY_TIMEOUT: number;
			public static HTTP_GONE: number;
			public static HTTP_INTERNAL_ERROR: number;
			public static HTTP_LENGTH_REQUIRED: number;
			public static HTTP_MOVED_PERM: number;
			public static HTTP_MOVED_TEMP: number;
			public static HTTP_MULT_CHOICE: number;
			public static HTTP_NOT_ACCEPTABLE: number;
			public static HTTP_NOT_AUTHORITATIVE: number;
			public static HTTP_NOT_FOUND: number;
			public static HTTP_NOT_IMPLEMENTED: number;
			public static HTTP_NOT_MODIFIED: number;
			public static HTTP_NO_CONTENT: number;
			public static HTTP_OK: number;
			public static HTTP_PARTIAL: number;
			public static HTTP_PAYMENT_REQUIRED: number;
			public static HTTP_PRECON_FAILED: number;
			public static HTTP_PROXY_AUTH: number;
			public static HTTP_REQ_TOO_LONG: number;
			public static HTTP_RESET: number;
			public static HTTP_SEE_OTHER: number;
			public static HTTP_SERVER_ERROR: number;
			public static HTTP_UNAUTHORIZED: number;
			public static HTTP_UNAVAILABLE: number;
			public static HTTP_UNSUPPORTED_TYPE: number;
			public static HTTP_USE_PROXY: number;
			public static HTTP_VERSION: number;
			public chunkLength: number;
			public fixedContentLength: number;
			public fixedContentLengthLong: number;
			public instanceFollowRedirects: boolean;
			public method: string;
			public responseCode: number;
			public responseMessage: string;
			public setFixedLengthStreamingMode(param0: number): void;
			public getRequestMethod(): string;
			public static getFollowRedirects(): boolean;
			public setInstanceFollowRedirects(param0: boolean): void;
			public getHeaderField(param0: number): string;
			public getHeaderFieldDate(param0: string, param1: number): number;
			public getHeaderFieldKey(param0: number): string;
			public getPermission(): java.security.Permission;
			public usingProxy(): boolean;
			public getErrorStream(): java.io.InputStream;
			public constructor(param0: java.net.URL);
			public getHeaderField(param0: string): string;
			public getResponseCode(): number;
			public static setFollowRedirects(param0: boolean): void;
			public getResponseMessage(): string;
			public setRequestMethod(param0: string): void;
			public setChunkedStreamingMode(param0: number): void;
			public getInstanceFollowRedirects(): boolean;
			public disconnect(): void;
		}
	}
}

declare module java {
	export module net {
		export class IDN extends java.lang.Object {
			public static class: java.lang.Class<java.net.IDN>;
			public static ALLOW_UNASSIGNED: number;
			public static USE_STD3_ASCII_RULES: number;
			public static toUnicode(param0: string, param1: number): string;
			public static toUnicode(param0: string): string;
			public static toASCII(param0: string, param1: number): string;
			public static toASCII(param0: string): string;
		}
	}
}

declare module java {
	export module net {
		export class Inet4Address extends java.net.InetAddress {
			public static class: java.lang.Class<java.net.Inet4Address>;
			public equals(param0: any): boolean;
			public isMulticastAddress(): boolean;
			public isMCOrgLocal(): boolean;
			public isLoopbackAddress(): boolean;
			public isLinkLocalAddress(): boolean;
			public isMCGlobal(): boolean;
			public getHostAddress(): string;
			public isAnyLocalAddress(): boolean;
			public isMCSiteLocal(): boolean;
			public getAddress(): native.Array<number>;
			public isMCNodeLocal(): boolean;
			public isMCLinkLocal(): boolean;
			public isSiteLocalAddress(): boolean;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module net {
		export class Inet6Address extends java.net.InetAddress {
			public static class: java.lang.Class<java.net.Inet6Address>;
			public static getByAddress(param0: string, param1: native.Array<number>, param2: java.net.NetworkInterface): java.net.Inet6Address;
			public equals(param0: any): boolean;
			public isMulticastAddress(): boolean;
			public isMCOrgLocal(): boolean;
			public isLoopbackAddress(): boolean;
			public isLinkLocalAddress(): boolean;
			public getScopedInterface(): java.net.NetworkInterface;
			public isMCGlobal(): boolean;
			public getHostAddress(): string;
			public getScopeId(): number;
			public static getByAddress(param0: string, param1: native.Array<number>): java.net.InetAddress;
			public isAnyLocalAddress(): boolean;
			public static getByAddress(param0: string, param1: native.Array<number>, param2: number): java.net.Inet6Address;
			public isMCSiteLocal(): boolean;
			public getAddress(): native.Array<number>;
			public static getByAddress(param0: native.Array<number>): java.net.InetAddress;
			public isMCNodeLocal(): boolean;
			public isMCLinkLocal(): boolean;
			public isIPv4CompatibleAddress(): boolean;
			public isSiteLocalAddress(): boolean;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module net {
		export class InetAddress extends java.lang.Object implements java.io.Serializable {
			public static class: java.lang.Class<java.net.InetAddress>;
			public equals(param0: any): boolean;
			public isMulticastAddress(): boolean;
			public isLinkLocalAddress(): boolean;
			public getHostAddress(): string;
			public static getLoopbackAddress(): java.net.InetAddress;
			public static getByAddress(param0: string, param1: native.Array<number>): java.net.InetAddress;
			public getCanonicalHostName(): string;
			public getAddress(): native.Array<number>;
			public isMCLinkLocal(): boolean;
			public isSiteLocalAddress(): boolean;
			public isMCOrgLocal(): boolean;
			public isLoopbackAddress(): boolean;
			public static getAllByName(param0: string): native.Array<java.net.InetAddress>;
			public isMCGlobal(): boolean;
			public static getByName(param0: string): java.net.InetAddress;
			public isReachable(param0: java.net.NetworkInterface, param1: number, param2: number): boolean;
			public isAnyLocalAddress(): boolean;
			public toString(): string;
			public static getLocalHost(): java.net.InetAddress;
			public isMCSiteLocal(): boolean;
			public isReachable(param0: number): boolean;
			public isMCNodeLocal(): boolean;
			public static getByAddress(param0: native.Array<number>): java.net.InetAddress;
			public getHostName(): string;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module net {
		export class InetSocketAddress extends java.net.SocketAddress {
			public static class: java.lang.Class<java.net.InetSocketAddress>;
			public equals(param0: any): boolean;
			public constructor(param0: number);
			public constructor();
			public isUnresolved(): boolean;
			public getAddress(): java.net.InetAddress;
			public toString(): string;
			public static createUnresolved(param0: string, param1: number): java.net.InetSocketAddress;
			public constructor(param0: string, param1: number);
			public getHostName(): string;
			public getPort(): number;
			public getHostString(): string;
			public constructor(param0: java.net.InetAddress, param1: number);
			public hashCode(): number;
		}
	}
}

declare module java {
	export module net {
		export class InterfaceAddress extends java.lang.Object {
			public static class: java.lang.Class<java.net.InterfaceAddress>;
			public equals(param0: any): boolean;
			public getNetworkPrefixLength(): number;
			public toString(): string;
			public getBroadcast(): java.net.InetAddress;
			public getAddress(): java.net.InetAddress;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module net {
		export abstract class JarURLConnection extends java.net.URLConnection {
			public static class: java.lang.Class<java.net.JarURLConnection>;
			public jarFileURLConnection: java.net.URLConnection;
			public getEntryName(): string;
			public constructor(param0: java.net.URL);
			public getJarEntry(): java.util.jar.JarEntry;
			public getManifest(): java.util.jar.Manifest;
			public getMainAttributes(): java.util.jar.Attributes;
			public getCertificates(): native.Array<java.security.cert.Certificate>;
			public getAttributes(): java.util.jar.Attributes;
			public getJarFileURL(): java.net.URL;
			public getJarFile(): java.util.jar.JarFile;
		}
	}
}

declare module java {
	export module net {
		export class MalformedURLException extends java.io.IOException {
			public static class: java.lang.Class<java.net.MalformedURLException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module net {
		export class MulticastSocket extends java.net.DatagramSocket {
			public static class: java.lang.Class<java.net.MulticastSocket>;
			public leaveGroup(param0: java.net.InetAddress): void;
			public constructor(param0: number, param1: java.net.InetAddress);
			public setLoopbackMode(param0: boolean): void;
			public getNetworkInterface(): java.net.NetworkInterface;
			public constructor(param0: number);
			public joinGroup(param0: java.net.SocketAddress, param1: java.net.NetworkInterface): void;
			public constructor(param0: java.net.SocketAddress);
			public constructor();
			/** @deprecated */
			public setTTL(param0: number): void;
			public send(param0: java.net.DatagramPacket): void;
			public setNetworkInterface(param0: java.net.NetworkInterface): void;
			public setTimeToLive(param0: number): void;
			public getInterface(): java.net.InetAddress;
			public constructor(param0: java.net.DatagramSocketImpl);
			public leaveGroup(param0: java.net.SocketAddress, param1: java.net.NetworkInterface): void;
			public getLoopbackMode(): boolean;
			/** @deprecated */
			public getTTL(): number;
			public joinGroup(param0: java.net.InetAddress): void;
			/** @deprecated */
			public send(param0: java.net.DatagramPacket, param1: number): void;
			public close(): void;
			public getTimeToLive(): number;
			public setInterface(param0: java.net.InetAddress): void;
		}
	}
}

declare module java {
	export module net {
		export class NetPermission extends java.security.BasicPermission {
			public static class: java.lang.Class<java.net.NetPermission>;
			public constructor(param0: string, param1: string);
			public checkGuard(param0: any): void;
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module net {
		export class NetworkInterface extends java.lang.Object {
			public static class: java.lang.Class<java.net.NetworkInterface>;
			public getParent(): java.net.NetworkInterface;
			public getIndex(): number;
			public equals(param0: any): boolean;
			public getHardwareAddress(): native.Array<number>;
			public isVirtual(): boolean;
			public getInterfaceAddresses(): java.util.List<java.net.InterfaceAddress>;
			public isLoopback(): boolean;
			public getSubInterfaces(): java.util.Enumeration<java.net.NetworkInterface>;
			public getMTU(): number;
			public static getByIndex(param0: number): java.net.NetworkInterface;
			public static getNetworkInterfaces(): java.util.Enumeration<java.net.NetworkInterface>;
			public getInetAddresses(): java.util.Enumeration<java.net.InetAddress>;
			public static getByInetAddress(param0: java.net.InetAddress): java.net.NetworkInterface;
			public toString(): string;
			public getName(): string;
			public static getByName(param0: string): java.net.NetworkInterface;
			public isPointToPoint(): boolean;
			public isUp(): boolean;
			public supportsMulticast(): boolean;
			public getDisplayName(): string;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module net {
		export class NoRouteToHostException extends java.net.SocketException {
			public static class: java.lang.Class<java.net.NoRouteToHostException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module net {
		export class PasswordAuthentication extends java.lang.Object {
			public static class: java.lang.Class<java.net.PasswordAuthentication>;
			public getUserName(): string;
			public getPassword(): native.Array<string>;
			public constructor(param0: string, param1: native.Array<string>);
		}
	}
}

declare module java {
	export module net {
		export class PortUnreachableException extends java.net.SocketException {
			public static class: java.lang.Class<java.net.PortUnreachableException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module net {
		export class ProtocolException extends java.io.IOException {
			public static class: java.lang.Class<java.net.ProtocolException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module net {
		export class ProtocolFamily extends java.lang.Object {
			public static class: java.lang.Class<java.net.ProtocolFamily>;
			/**
			 * Constructs a new instance of the java.net.ProtocolFamily interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				name(): string;
			});
			public constructor();
			public name(): string;
		}
	}
}

declare module java {
	export module net {
		export class Proxy extends java.lang.Object {
			public static class: java.lang.Class<java.net.Proxy>;
			public static NO_PROXY: java.net.Proxy;
			public equals(param0: any): boolean;
			public toString(): string;
			public type(): java.net.Proxy.Type;
			public address(): java.net.SocketAddress;
			public constructor(param0: java.net.Proxy.Type, param1: java.net.SocketAddress);
			public hashCode(): number;
		}
		export module Proxy {
			export class Type {
				public static class: java.lang.Class<java.net.Proxy.Type>;
				public static DIRECT: java.net.Proxy.Type;
				public static HTTP: java.net.Proxy.Type;
				public static SOCKS: java.net.Proxy.Type;
				public static values(): native.Array<java.net.Proxy.Type>;
				public static valueOf(param0: string): java.net.Proxy.Type;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			}
		}
	}
}

declare module java {
	export module net {
		export abstract class ProxySelector extends java.lang.Object {
			public static class: java.lang.Class<java.net.ProxySelector>;
			public connectFailed(param0: java.net.URI, param1: java.net.SocketAddress, param2: java.io.IOException): void;
			public static getDefault(): java.net.ProxySelector;
			public static setDefault(param0: java.net.ProxySelector): void;
			public select(param0: java.net.URI): java.util.List<java.net.Proxy>;
			public constructor();
		}
	}
}

declare module java {
	export module net {
		export abstract class ResponseCache extends java.lang.Object {
			public static class: java.lang.Class<java.net.ResponseCache>;
			public put(param0: java.net.URI, param1: java.net.URLConnection): java.net.CacheRequest;
			public static setDefault(param0: java.net.ResponseCache): void;
			public get(param0: java.net.URI, param1: string, param2: java.util.Map<string,java.util.List<string>>): java.net.CacheResponse;
			public constructor();
			public static getDefault(): java.net.ResponseCache;
		}
	}
}

declare module java {
	export module net {
		export abstract class SecureCacheResponse extends java.net.CacheResponse {
			public static class: java.lang.Class<java.net.SecureCacheResponse>;
			public getServerCertificateChain(): java.util.List<java.security.cert.Certificate>;
			public getLocalPrincipal(): java.security.Principal;
			public getCipherSuite(): string;
			public getLocalCertificateChain(): java.util.List<java.security.cert.Certificate>;
			public constructor();
			public getPeerPrincipal(): java.security.Principal;
		}
	}
}

declare module java {
	export module net {
		export class ServerSocket extends java.lang.Object implements java.io.Closeable {
			public static class: java.lang.Class<java.net.ServerSocket>;
			public isClosed(): boolean;
			public getReuseAddress(): boolean;
			public bind(param0: java.net.SocketAddress, param1: number): void;
			public isBound(): boolean;
			public getSoTimeout(): number;
			public static setSocketFactory(param0: java.net.SocketImplFactory): void;
			public constructor(param0: number);
			public getReceiveBufferSize(): number;
			public bind(param0: java.net.SocketAddress): void;
			public constructor();
			public constructor(param0: number, param1: number, param2: java.net.InetAddress);
			public getChannel(): java.nio.channels.ServerSocketChannel;
			public setReceiveBufferSize(param0: number): void;
			public toString(): string;
			public getInetAddress(): java.net.InetAddress;
			public setSoTimeout(param0: number): void;
			public implAccept(param0: java.net.Socket): void;
			public setPerformancePreferences(param0: number, param1: number, param2: number): void;
			public getLocalPort(): number;
			public getLocalSocketAddress(): java.net.SocketAddress;
			public close(): void;
			public constructor(param0: number, param1: number);
			public accept(): java.net.Socket;
			public setReuseAddress(param0: boolean): void;
		}
	}
}

declare module java {
	export module net {
		export class Socket extends java.lang.Object implements java.io.Closeable {
			public static class: java.lang.Class<java.net.Socket>;
			public constructor(param0: java.net.Proxy);
			public isInputShutdown(): boolean;
			public getInetAddress(): java.net.InetAddress;
			public setTrafficClass(param0: number): void;
			public constructor(param0: string, param1: number);
			public isConnected(): boolean;
			public getOutputStream(): java.io.OutputStream;
			public constructor(param0: java.net.InetAddress, param1: number);
			public constructor(param0: java.net.SocketImpl);
			public isOutputShutdown(): boolean;
			public sendUrgentData(param0: number): void;
			public getKeepAlive(): boolean;
			public isBound(): boolean;
			public constructor();
			public getOOBInline(): boolean;
			public constructor(param0: java.net.InetAddress, param1: number, param2: java.net.InetAddress, param3: number);
			public getLocalSocketAddress(): java.net.SocketAddress;
			public getRemoteSocketAddress(): java.net.SocketAddress;
			public getPort(): number;
			public shutdownOutput(): void;
			public getReuseAddress(): boolean;
			public isClosed(): boolean;
			public getTcpNoDelay(): boolean;
			public setSendBufferSize(param0: number): void;
			public constructor(param0: string, param1: number, param2: java.net.InetAddress, param3: number);
			public setKeepAlive(param0: boolean): void;
			public bind(param0: java.net.SocketAddress): void;
			public setSoLinger(param0: boolean, param1: number): void;
			public connect(param0: java.net.SocketAddress, param1: number): void;
			public getChannel(): java.nio.channels.SocketChannel;
			public setReceiveBufferSize(param0: number): void;
			/** @deprecated */
			public constructor(param0: string, param1: number, param2: boolean);
			public setSoTimeout(param0: number): void;
			public getLocalPort(): number;
			public getTrafficClass(): number;
			public getLocalAddress(): java.net.InetAddress;
			public close(): void;
			public getSoLinger(): number;
			public setReuseAddress(param0: boolean): void;
			public getSoTimeout(): number;
			public getSendBufferSize(): number;
			/** @deprecated */
			public constructor(param0: java.net.InetAddress, param1: number, param2: boolean);
			public getReceiveBufferSize(): number;
			public setOOBInline(param0: boolean): void;
			public static setSocketImplFactory(param0: java.net.SocketImplFactory): void;
			public shutdownInput(): void;
			public toString(): string;
			public getInputStream(): java.io.InputStream;
			public connect(param0: java.net.SocketAddress): void;
			public setPerformancePreferences(param0: number, param1: number, param2: number): void;
			public setTcpNoDelay(param0: boolean): void;
		}
	}
}

declare module java {
	export module net {
		export abstract class SocketAddress extends java.lang.Object implements java.io.Serializable {
			public static class: java.lang.Class<java.net.SocketAddress>;
			public constructor();
		}
	}
}

declare module java {
	export module net {
		export class SocketException extends java.io.IOException {
			public static class: java.lang.Class<java.net.SocketException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module net {
		export abstract class SocketImpl extends java.lang.Object implements java.net.SocketOptions {
			public static class: java.lang.Class<java.net.SocketImpl>;
			public address: java.net.InetAddress;
			public fd: java.io.FileDescriptor;
			public localport: number;
			public port: number;
			public shutdownOutput(): void;
			public bind(param0: java.net.InetAddress, param1: number): void;
			public supportsUrgentData(): boolean;
			public setOption(param0: number, param1: any): void;
			public sendUrgentData(param0: number): void;
			public connect(param0: java.net.InetAddress, param1: number): void;
			public create(param0: boolean): void;
			public constructor();
			public connect(param0: java.net.SocketAddress, param1: number): void;
			public available(): number;
			public listen(param0: number): void;
			public shutdownInput(): void;
			public toString(): string;
			public getInputStream(): java.io.InputStream;
			public getInetAddress(): java.net.InetAddress;
			public connect(param0: string, param1: number): void;
			public setPerformancePreferences(param0: number, param1: number, param2: number): void;
			public accept(param0: java.net.SocketImpl): void;
			public getLocalPort(): number;
			public getOutputStream(): java.io.OutputStream;
			public getFileDescriptor(): java.io.FileDescriptor;
			public getOption(param0: number): any;
			public close(): void;
			public getPort(): number;
		}
	}
}

declare module java {
	export module net {
		export class SocketImplFactory extends java.lang.Object {
			public static class: java.lang.Class<java.net.SocketImplFactory>;
			/**
			 * Constructs a new instance of the java.net.SocketImplFactory interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				createSocketImpl(): java.net.SocketImpl;
			});
			public constructor();
			public createSocketImpl(): java.net.SocketImpl;
		}
	}
}

declare module java {
	export module net {
		export class SocketOption<T>  extends java.lang.Object {
			public static class: java.lang.Class<java.net.SocketOption<any>>;
			/**
			 * Constructs a new instance of the java.net.SocketOption<any> interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				name(): string;
				type(): java.lang.Class<T>;
			});
			public constructor();
			public type(): java.lang.Class<T>;
			public name(): string;
		}
	}
}

declare module java {
	export module net {
		export class SocketOptions extends java.lang.Object {
			public static class: java.lang.Class<java.net.SocketOptions>;
			/**
			 * Constructs a new instance of the java.net.SocketOptions interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				setOption(param0: number, param1: any): void;
				getOption(param0: number): any;
			});
			public constructor();
			public static SO_REUSEADDR: number;
			public static TCP_NODELAY: number;
			public static IP_TOS: number;
			public static IP_MULTICAST_IF: number;
			public static SO_SNDBUF: number;
			public static IP_MULTICAST_IF2: number;
			public static SO_TIMEOUT: number;
			public static SO_BROADCAST: number;
			public static SO_OOBINLINE: number;
			public static IP_MULTICAST_LOOP: number;
			public static SO_BINDADDR: number;
			public static SO_LINGER: number;
			public static SO_RCVBUF: number;
			public static SO_KEEPALIVE: number;
			public setOption(param0: number, param1: any): void;
			public getOption(param0: number): any;
		}
	}
}

declare module java {
	export module net {
		export class SocketPermission extends java.security.Permission implements java.io.Serializable {
			public static class: java.lang.Class<java.net.SocketPermission>;
			public constructor(param0: string, param1: string);
			public implies(param0: java.security.Permission): boolean;
			public getActions(): string;
			public checkGuard(param0: any): void;
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module net {
		export class SocketTimeoutException extends java.io.InterruptedIOException {
			public static class: java.lang.Class<java.net.SocketTimeoutException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module net {
		export class StandardProtocolFamily extends java.net.ProtocolFamily {
			public static class: java.lang.Class<java.net.StandardProtocolFamily>;
			public static INET: java.net.StandardProtocolFamily;
			public static INET6: java.net.StandardProtocolFamily;
			public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			public name(): string;
			public static valueOf(param0: string): java.net.StandardProtocolFamily;
			public static values(): native.Array<java.net.StandardProtocolFamily>;
		}
	}
}

declare module java {
	export module net {
		export class StandardSocketOptions extends java.lang.Object {
			public static class: java.lang.Class<java.net.StandardSocketOptions>;
			public static IP_MULTICAST_IF: java.net.SocketOption<java.net.NetworkInterface>;
			public static IP_MULTICAST_LOOP: java.net.SocketOption<java.lang.Boolean>;
			public static IP_MULTICAST_TTL: java.net.SocketOption<java.lang.Integer>;
			public static IP_TOS: java.net.SocketOption<java.lang.Integer>;
			public static SO_BROADCAST: java.net.SocketOption<java.lang.Boolean>;
			public static SO_KEEPALIVE: java.net.SocketOption<java.lang.Boolean>;
			public static SO_LINGER: java.net.SocketOption<java.lang.Integer>;
			public static SO_RCVBUF: java.net.SocketOption<java.lang.Integer>;
			public static SO_REUSEADDR: java.net.SocketOption<java.lang.Boolean>;
			public static SO_SNDBUF: java.net.SocketOption<java.lang.Integer>;
			public static TCP_NODELAY: java.net.SocketOption<java.lang.Boolean>;
		}
	}
}

declare module java {
	export module net {
		export class URI extends java.lang.Object {
			public static class: java.lang.Class<java.net.URI>;
			public constructor(param0: string, param1: string, param2: string, param3: string, param4: string);
			public equals(param0: any): boolean;
			public resolve(param0: string): java.net.URI;
			public toASCIIString(): string;
			public getRawSchemeSpecificPart(): string;
			public getRawAuthority(): string;
			public getFragment(): string;
			public resolve(param0: java.net.URI): java.net.URI;
			public constructor(param0: string, param1: string, param2: string);
			public getUserInfo(): string;
			public getHost(): string;
			public constructor(param0: string, param1: string, param2: string, param3: string);
			public getSchemeSpecificPart(): string;
			public getAuthority(): string;
			public getScheme(): string;
			public getRawPath(): string;
			public parseServerAuthority(): java.net.URI;
			public getRawQuery(): string;
			public getQuery(): string;
			public static create(param0: string): java.net.URI;
			public constructor(param0: string);
			public isOpaque(): boolean;
			public relativize(param0: java.net.URI): java.net.URI;
			public getRawFragment(): string;
			public toURL(): java.net.URL;
			public constructor(param0: string, param1: string, param2: string, param3: number, param4: string, param5: string, param6: string);
			public getPath(): string;
			public toString(): string;
			public isAbsolute(): boolean;
			public compareTo(param0: java.net.URI): number;
			public getPort(): number;
			public normalize(): java.net.URI;
			public getRawUserInfo(): string;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module net {
		export class URISyntaxException extends java.lang.Exception {
			public static class: java.lang.Class<java.net.URISyntaxException>;
			public constructor(param0: string, param1: string);
			public getMessage(): string;
			public getIndex(): number;
			public getInput(): string;
			public getReason(): string;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
			public constructor(param0: string, param1: string, param2: number);
		}
	}
}

declare module java {
	export module net {
		export class URL extends java.lang.Object implements java.io.Serializable {
			public static class: java.lang.Class<java.net.URL>;
			public equals(param0: any): boolean;
			public sameFile(param0: java.net.URL): boolean;
			public constructor(param0: string, param1: string, param2: number, param3: string);
			public constructor(param0: string, param1: string, param2: string);
			public getUserInfo(): string;
			public getHost(): string;
			public openStream(): java.io.InputStream;
			public getFile(): string;
			public constructor(param0: java.net.URL, param1: string, param2: java.net.URLStreamHandler);
			public getAuthority(): string;
			public constructor(param0: java.net.URL, param1: string);
			public toExternalForm(): string;
			public getProtocol(): string;
			public getQuery(): string;
			public static setURLStreamHandlerFactory(param0: java.net.URLStreamHandlerFactory): void;
			public constructor(param0: string);
			public toURI(): java.net.URI;
			public constructor(param0: string, param1: string, param2: number, param3: string, param4: java.net.URLStreamHandler);
			public openConnection(): java.net.URLConnection;
			public getDefaultPort(): number;
			public getRef(): string;
			public getContent(): any;
			public getPath(): string;
			public toString(): string;
			public getContent(param0: native.Array<java.lang.Class<any>>): any;
			public openConnection(param0: java.net.Proxy): java.net.URLConnection;
			public getPort(): number;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module net {
		export class URLClassLoader extends java.security.SecureClassLoader implements java.io.Closeable {
			public static class: java.lang.Class<java.net.URLClassLoader>;
			public definePackage(param0: string, param1: java.util.jar.Manifest, param2: java.net.URL): java.lang.Package;
			public constructor(param0: native.Array<java.net.URL>, param1: java.lang.ClassLoader);
			public findResource(param0: string): java.net.URL;
			public getPermissions(param0: java.security.CodeSource): java.security.PermissionCollection;
			public constructor(param0: java.lang.ClassLoader);
			public constructor();
			public addURL(param0: java.net.URL): void;
			public definePackage(param0: string, param1: string, param2: string, param3: string, param4: string, param5: string, param6: string, param7: java.net.URL): java.lang.Package;
			public constructor(param0: native.Array<java.net.URL>);
			public constructor(param0: native.Array<java.net.URL>, param1: java.lang.ClassLoader, param2: java.net.URLStreamHandlerFactory);
			public getResourceAsStream(param0: string): java.io.InputStream;
			public findClass(param0: string): java.lang.Class<any>;
			public static newInstance(param0: native.Array<java.net.URL>, param1: java.lang.ClassLoader): java.net.URLClassLoader;
			public getURLs(): native.Array<java.net.URL>;
			public static newInstance(param0: native.Array<java.net.URL>): java.net.URLClassLoader;
			public close(): void;
			public findResources(param0: string): java.util.Enumeration<java.net.URL>;
		}
	}
}

declare module java {
	export module net {
		export abstract class URLConnection extends java.lang.Object {
			public static class: java.lang.Class<java.net.URLConnection>;
			public allowUserInteraction: boolean;
			public connected: boolean;
			public doInput: boolean;
			public doOutput: boolean;
			public ifModifiedSince: number;
			public url: java.net.URL;
			public useCaches: boolean;
			public static guessContentTypeFromStream(param0: java.io.InputStream): string;
			public getExpiration(): number;
			public getHeaderFieldDate(param0: string, param1: number): number;
			/** @deprecated */
			public static setDefaultRequestProperty(param0: string, param1: string): void;
			public getHeaderFieldKey(param0: number): string;
			public getPermission(): java.security.Permission;
			public getDoOutput(): boolean;
			public setConnectTimeout(param0: number): void;
			public getURL(): java.net.URL;
			public static guessContentTypeFromName(param0: string): string;
			public getOutputStream(): java.io.OutputStream;
			public setReadTimeout(param0: number): void;
			/** @deprecated */
			public static getDefaultRequestProperty(param0: string): string;
			public setDefaultUseCaches(param0: boolean): void;
			public static getFileNameMap(): java.net.FileNameMap;
			public getAllowUserInteraction(): boolean;
			public getDefaultUseCaches(): boolean;
			public setAllowUserInteraction(param0: boolean): void;
			public getRequestProperty(param0: string): string;
			public getContentEncoding(): string;
			public getDate(): number;
			public getLastModified(): number;
			public getHeaderFields(): java.util.Map<string,java.util.List<string>>;
			public getHeaderField(param0: number): string;
			public getContentLengthLong(): number;
			public static setFileNameMap(param0: java.net.FileNameMap): void;
			public getHeaderFieldLong(param0: string, param1: number): number;
			public getDoInput(): boolean;
			public setUseCaches(param0: boolean): void;
			public constructor(param0: java.net.URL);
			public addRequestProperty(param0: string, param1: string): void;
			public static getDefaultAllowUserInteraction(): boolean;
			public static setContentHandlerFactory(param0: java.net.ContentHandlerFactory): void;
			public getContentLength(): number;
			public getHeaderFieldInt(param0: string, param1: number): number;
			public setDoInput(param0: boolean): void;
			public getContentType(): string;
			public getConnectTimeout(): number;
			public getContent(): any;
			public getUseCaches(): boolean;
			public toString(): string;
			public getHeaderField(param0: string): string;
			public getInputStream(): java.io.InputStream;
			public getContent(param0: native.Array<java.lang.Class<any>>): any;
			public getReadTimeout(): number;
			public getIfModifiedSince(): number;
			public setRequestProperty(param0: string, param1: string): void;
			public setDoOutput(param0: boolean): void;
			public getRequestProperties(): java.util.Map<string,java.util.List<string>>;
			public connect(): void;
			public static setDefaultAllowUserInteraction(param0: boolean): void;
			public setIfModifiedSince(param0: number): void;
		}
	}
}

declare module java {
	export module net {
		export class URLDecoder extends java.lang.Object {
			public static class: java.lang.Class<java.net.URLDecoder>;
			/** @deprecated */
			public static decode(param0: string): string;
			public constructor();
			public static decode(param0: string, param1: string): string;
		}
	}
}

declare module java {
	export module net {
		export class URLEncoder extends java.lang.Object {
			public static class: java.lang.Class<java.net.URLEncoder>;
			public static encode(param0: string, param1: string): string;
			/** @deprecated */
			public static encode(param0: string): string;
		}
	}
}

declare module java {
	export module net {
		export abstract class URLStreamHandler extends java.lang.Object {
			public static class: java.lang.Class<java.net.URLStreamHandler>;
			public equals(param0: any): boolean;
			public hostsEqual(param0: java.net.URL, param1: java.net.URL): boolean;
			public setURL(param0: java.net.URL, param1: string, param2: string, param3: number, param4: string, param5: string, param6: string, param7: string, param8: string): void;
			public openConnection(param0: java.net.URL): java.net.URLConnection;
			public getDefaultPort(): number;
			public constructor();
			public getHostAddress(param0: java.net.URL): java.net.InetAddress;
			public parseURL(param0: java.net.URL, param1: string, param2: number, param3: number): void;
			public sameFile(param0: java.net.URL, param1: java.net.URL): boolean;
			/** @deprecated */
			public setURL(param0: java.net.URL, param1: string, param2: string, param3: number, param4: string, param5: string): void;
			public openConnection(param0: java.net.URL, param1: java.net.Proxy): java.net.URLConnection;
			public equals(param0: java.net.URL, param1: java.net.URL): boolean;
			public hashCode(param0: java.net.URL): number;
			public toExternalForm(param0: java.net.URL): string;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module net {
		export class URLStreamHandlerFactory extends java.lang.Object {
			public static class: java.lang.Class<java.net.URLStreamHandlerFactory>;
			/**
			 * Constructs a new instance of the java.net.URLStreamHandlerFactory interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				createURLStreamHandler(param0: string): java.net.URLStreamHandler;
			});
			public constructor();
			public createURLStreamHandler(param0: string): java.net.URLStreamHandler;
		}
	}
}

declare module java {
	export module net {
		export class UnknownHostException extends java.io.IOException {
			public static class: java.lang.Class<java.net.UnknownHostException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module net {
		export class UnknownServiceException extends java.io.IOException {
			public static class: java.lang.Class<java.net.UnknownServiceException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module nio {
		export abstract class Buffer extends java.lang.Object {
			public static class: java.lang.Class<java.nio.Buffer>;
			public isReadOnly(): boolean;
			public array(): any;
			public isDirect(): boolean;
			public hasRemaining(): boolean;
			public position(param0: number): java.nio.Buffer;
			public limit(param0: number): java.nio.Buffer;
			public clear(): java.nio.Buffer;
			public mark(): java.nio.Buffer;
			public flip(): java.nio.Buffer;
			public limit(): number;
			public hasArray(): boolean;
			public capacity(): number;
			public position(): number;
			public reset(): java.nio.Buffer;
			public remaining(): number;
			public rewind(): java.nio.Buffer;
			public arrayOffset(): number;
		}
	}
}

declare module java {
	export module nio {
		export class BufferOverflowException extends java.lang.RuntimeException {
			public static class: java.lang.Class<java.nio.BufferOverflowException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module nio {
		export class BufferUnderflowException extends java.lang.RuntimeException {
			public static class: java.lang.Class<java.nio.BufferUnderflowException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module nio {
		export abstract class ByteBuffer extends java.nio.Buffer implements java.lang.Comparable<java.nio.ByteBuffer>  {
			public static class: java.lang.Class<java.nio.ByteBuffer>;
			public putShort(param0: number, param1: number): java.nio.ByteBuffer;
			public asIntBuffer(): java.nio.IntBuffer;
			public getChar(param0: number): string;
			public putLong(param0: number): java.nio.ByteBuffer;
			public isDirect(): boolean;
			public putFloat(param0: number, param1: number): java.nio.ByteBuffer;
			public compareTo(param0: java.nio.ByteBuffer): number;
			public getFloat(param0: number): number;
			public compact(): java.nio.ByteBuffer;
			public putFloat(param0: number): java.nio.ByteBuffer;
			public put(param0: java.nio.ByteBuffer): java.nio.ByteBuffer;
			public order(): java.nio.ByteOrder;
			public asShortBuffer(): java.nio.ShortBuffer;
			public put(param0: number): java.nio.ByteBuffer;
			public putLong(param0: number, param1: number): java.nio.ByteBuffer;
			public getShort(param0: number): number;
			public arrayOffset(): number;
			public asLongBuffer(): java.nio.LongBuffer;
			public putDouble(param0: number, param1: number): java.nio.ByteBuffer;
			public slice(): java.nio.ByteBuffer;
			public getDouble(param0: number): number;
			public array(): any;
			public putChar(param0: string): java.nio.ByteBuffer;
			public put(param0: native.Array<number>): java.nio.ByteBuffer;
			public static allocate(param0: number): java.nio.ByteBuffer;
			public static wrap(param0: native.Array<number>): java.nio.ByteBuffer;
			public duplicate(): java.nio.ByteBuffer;
			public asCharBuffer(): java.nio.CharBuffer;
			public hasArray(): boolean;
			public asReadOnlyBuffer(): java.nio.ByteBuffer;
			public order(param0: java.nio.ByteOrder): java.nio.ByteBuffer;
			public put(param0: number, param1: number): java.nio.ByteBuffer;
			public getInt(param0: number): number;
			public putChar(param0: number, param1: string): java.nio.ByteBuffer;
			public equals(param0: any): boolean;
			public getChar(): string;
			public static wrap(param0: native.Array<number>, param1: number, param2: number): java.nio.ByteBuffer;
			public get(param0: number): number;
			public get(param0: native.Array<number>): java.nio.ByteBuffer;
			public getShort(): number;
			public get(param0: native.Array<number>, param1: number, param2: number): java.nio.ByteBuffer;
			public static allocateDirect(param0: number): java.nio.ByteBuffer;
			public getInt(): number;
			public array(): native.Array<number>;
			public getLong(): number;
			public asFloatBuffer(): java.nio.FloatBuffer;
			public getDouble(): number;
			public putInt(param0: number): java.nio.ByteBuffer;
			public putShort(param0: number): java.nio.ByteBuffer;
			public toString(): string;
			public getLong(param0: number): number;
			public asDoubleBuffer(): java.nio.DoubleBuffer;
			public get(): number;
			public put(param0: native.Array<number>, param1: number, param2: number): java.nio.ByteBuffer;
			public putDouble(param0: number): java.nio.ByteBuffer;
			public hashCode(): number;
			public putInt(param0: number, param1: number): java.nio.ByteBuffer;
			public getFloat(): number;
		}
	}
}

declare module java {
	export module nio {
		export class ByteOrder extends java.lang.Object {
			public static class: java.lang.Class<java.nio.ByteOrder>;
			public static BIG_ENDIAN: java.nio.ByteOrder;
			public static LITTLE_ENDIAN: java.nio.ByteOrder;
			public toString(): string;
			public static nativeOrder(): java.nio.ByteOrder;
		}
	}
}

declare module java {
	export module nio {
		export abstract class CharBuffer extends java.nio.Buffer {
			public static class: java.lang.Class<java.nio.CharBuffer>;
			public get(param0: native.Array<string>): java.nio.CharBuffer;
			public equals(param0: any): boolean;
			public isDirect(): boolean;
			public static wrap(param0: string): java.nio.CharBuffer;
			public put(param0: native.Array<string>): java.nio.CharBuffer;
			public order(): java.nio.ByteOrder;
			public array(): native.Array<string>;
			public asReadOnlyBuffer(): java.nio.CharBuffer;
			public subSequence(param0: number, param1: number): java.nio.CharBuffer;
			public get(param0: native.Array<string>, param1: number, param2: number): java.nio.CharBuffer;
			public compareTo(param0: java.nio.CharBuffer): number;
			public append(param0: string): java.nio.CharBuffer;
			public slice(): java.nio.CharBuffer;
			public subSequence(param0: number, param1: number): string;
			public duplicate(): java.nio.CharBuffer;
			public read(param0: java.nio.CharBuffer): number;
			public put(param0: java.nio.CharBuffer): java.nio.CharBuffer;
			public static wrap(param0: string, param1: number, param2: number): java.nio.CharBuffer;
			public put(param0: native.Array<string>, param1: number, param2: number): java.nio.CharBuffer;
			public static wrap(param0: native.Array<string>): java.nio.CharBuffer;
			public arrayOffset(): number;
			public chars(): java.util.stream.IntStream;
			public codePoints(): java.util.stream.IntStream;
			public array(): any;
			public compact(): java.nio.CharBuffer;
			public append(param0: string, param1: number, param2: number): java.nio.CharBuffer;
			public length(): number;
			public get(): string;
			public put(param0: number, param1: string): java.nio.CharBuffer;
			public append(param0: string, param1: number, param2: number): java.lang.Appendable;
			public put(param0: string, param1: number, param2: number): java.nio.CharBuffer;
			public get(param0: number): string;
			public hasArray(): boolean;
			public charAt(param0: number): string;
			public toString(): string;
			public put(param0: string): java.nio.CharBuffer;
			public static wrap(param0: native.Array<string>, param1: number, param2: number): java.nio.CharBuffer;
			public static allocate(param0: number): java.nio.CharBuffer;
			public append(param0: string): java.lang.Appendable;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module nio {
		export abstract class DoubleBuffer extends java.nio.Buffer implements java.lang.Comparable<java.nio.DoubleBuffer>  {
			public static class: java.lang.Class<java.nio.DoubleBuffer>;
			public asReadOnlyBuffer(): java.nio.DoubleBuffer;
			public equals(param0: any): boolean;
			public put(param0: number, param1: number): java.nio.DoubleBuffer;
			public isDirect(): boolean;
			public order(): java.nio.ByteOrder;
			public get(param0: native.Array<number>, param1: number, param2: number): java.nio.DoubleBuffer;
			public compareTo(param0: java.nio.DoubleBuffer): number;
			public put(param0: number): java.nio.DoubleBuffer;
			public get(param0: number): number;
			public put(param0: native.Array<number>): java.nio.DoubleBuffer;
			public put(param0: java.nio.DoubleBuffer): java.nio.DoubleBuffer;
			public arrayOffset(): number;
			public slice(): java.nio.DoubleBuffer;
			public compact(): java.nio.DoubleBuffer;
			public array(): any;
			public array(): native.Array<number>;
			public duplicate(): java.nio.DoubleBuffer;
			public static wrap(param0: native.Array<number>, param1: number, param2: number): java.nio.DoubleBuffer;
			public hasArray(): boolean;
			public toString(): string;
			public put(param0: native.Array<number>, param1: number, param2: number): java.nio.DoubleBuffer;
			public get(param0: native.Array<number>): java.nio.DoubleBuffer;
			public get(): number;
			public static wrap(param0: native.Array<number>): java.nio.DoubleBuffer;
			public static allocate(param0: number): java.nio.DoubleBuffer;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module nio {
		export abstract class FloatBuffer extends java.nio.Buffer implements java.lang.Comparable<java.nio.FloatBuffer>  {
			public static class: java.lang.Class<java.nio.FloatBuffer>;
			public equals(param0: any): boolean;
			public static wrap(param0: native.Array<number>): java.nio.FloatBuffer;
			public isDirect(): boolean;
			public static allocate(param0: number): java.nio.FloatBuffer;
			public order(): java.nio.ByteOrder;
			public static wrap(param0: native.Array<number>, param1: number, param2: number): java.nio.FloatBuffer;
			public get(param0: native.Array<number>): java.nio.FloatBuffer;
			public put(param0: java.nio.FloatBuffer): java.nio.FloatBuffer;
			public compareTo(param0: java.nio.FloatBuffer): number;
			public get(param0: number): number;
			public put(param0: number, param1: number): java.nio.FloatBuffer;
			public arrayOffset(): number;
			public array(): any;
			public array(): native.Array<number>;
			public duplicate(): java.nio.FloatBuffer;
			public get(param0: native.Array<number>, param1: number, param2: number): java.nio.FloatBuffer;
			public compact(): java.nio.FloatBuffer;
			public asReadOnlyBuffer(): java.nio.FloatBuffer;
			public slice(): java.nio.FloatBuffer;
			public hasArray(): boolean;
			public toString(): string;
			public put(param0: native.Array<number>, param1: number, param2: number): java.nio.FloatBuffer;
			public put(param0: number): java.nio.FloatBuffer;
			public put(param0: native.Array<number>): java.nio.FloatBuffer;
			public get(): number;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module nio {
		export abstract class IntBuffer extends java.nio.Buffer implements java.lang.Comparable<java.nio.IntBuffer>  {
			public static class: java.lang.Class<java.nio.IntBuffer>;
			public asReadOnlyBuffer(): java.nio.IntBuffer;
			public equals(param0: any): boolean;
			public isDirect(): boolean;
			public static allocate(param0: number): java.nio.IntBuffer;
			public static wrap(param0: native.Array<number>): java.nio.IntBuffer;
			public get(param0: native.Array<number>, param1: number, param2: number): java.nio.IntBuffer;
			public slice(): java.nio.IntBuffer;
			public order(): java.nio.ByteOrder;
			public put(param0: native.Array<number>): java.nio.IntBuffer;
			public duplicate(): java.nio.IntBuffer;
			public put(param0: java.nio.IntBuffer): java.nio.IntBuffer;
			public compact(): java.nio.IntBuffer;
			public get(param0: number): number;
			public compareTo(param0: java.nio.IntBuffer): number;
			public put(param0: number): java.nio.IntBuffer;
			public arrayOffset(): number;
			public array(): any;
			public array(): native.Array<number>;
			public put(param0: native.Array<number>, param1: number, param2: number): java.nio.IntBuffer;
			public hasArray(): boolean;
			public toString(): string;
			public get(param0: native.Array<number>): java.nio.IntBuffer;
			public static wrap(param0: native.Array<number>, param1: number, param2: number): java.nio.IntBuffer;
			public get(): number;
			public put(param0: number, param1: number): java.nio.IntBuffer;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module nio {
		export class InvalidMarkException extends java.lang.IllegalStateException {
			public static class: java.lang.Class<java.nio.InvalidMarkException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module nio {
		export abstract class LongBuffer extends java.nio.Buffer implements java.lang.Comparable<java.nio.LongBuffer>  {
			public static class: java.lang.Class<java.nio.LongBuffer>;
			public equals(param0: any): boolean;
			public asReadOnlyBuffer(): java.nio.LongBuffer;
			public put(param0: number): java.nio.LongBuffer;
			public static wrap(param0: native.Array<number>): java.nio.LongBuffer;
			public isDirect(): boolean;
			public put(param0: java.nio.LongBuffer): java.nio.LongBuffer;
			public static wrap(param0: native.Array<number>, param1: number, param2: number): java.nio.LongBuffer;
			public order(): java.nio.ByteOrder;
			public slice(): java.nio.LongBuffer;
			public get(param0: number): number;
			public get(param0: native.Array<number>): java.nio.LongBuffer;
			public arrayOffset(): number;
			public compareTo(param0: java.nio.LongBuffer): number;
			public array(): any;
			public array(): native.Array<number>;
			public static allocate(param0: number): java.nio.LongBuffer;
			public duplicate(): java.nio.LongBuffer;
			public compact(): java.nio.LongBuffer;
			public hasArray(): boolean;
			public put(param0: native.Array<number>): java.nio.LongBuffer;
			public toString(): string;
			public put(param0: number, param1: number): java.nio.LongBuffer;
			public get(param0: native.Array<number>, param1: number, param2: number): java.nio.LongBuffer;
			public put(param0: native.Array<number>, param1: number, param2: number): java.nio.LongBuffer;
			public get(): number;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module nio {
		export abstract class MappedByteBuffer extends java.nio.ByteBuffer {
			public static class: java.lang.Class<java.nio.MappedByteBuffer>;
			public load(): java.nio.MappedByteBuffer;
			public force(): java.nio.MappedByteBuffer;
			public isLoaded(): boolean;
		}
	}
}

declare module java {
	export module nio {
		export class ReadOnlyBufferException extends java.lang.UnsupportedOperationException {
			public static class: java.lang.Class<java.nio.ReadOnlyBufferException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module nio {
		export abstract class ShortBuffer extends java.nio.Buffer implements java.lang.Comparable<java.nio.ShortBuffer>  {
			public static class: java.lang.Class<java.nio.ShortBuffer>;
			public equals(param0: any): boolean;
			public isDirect(): boolean;
			public duplicate(): java.nio.ShortBuffer;
			public asReadOnlyBuffer(): java.nio.ShortBuffer;
			public order(): java.nio.ByteOrder;
			public put(param0: native.Array<number>, param1: number, param2: number): java.nio.ShortBuffer;
			public slice(): java.nio.ShortBuffer;
			public put(param0: native.Array<number>): java.nio.ShortBuffer;
			public compareTo(param0: java.nio.ShortBuffer): number;
			public put(param0: number): java.nio.ShortBuffer;
			public get(param0: number): number;
			public arrayOffset(): number;
			public static wrap(param0: native.Array<number>): java.nio.ShortBuffer;
			public array(): any;
			public array(): native.Array<number>;
			public put(param0: java.nio.ShortBuffer): java.nio.ShortBuffer;
			public static allocate(param0: number): java.nio.ShortBuffer;
			public static wrap(param0: native.Array<number>, param1: number, param2: number): java.nio.ShortBuffer;
			public hasArray(): boolean;
			public put(param0: number, param1: number): java.nio.ShortBuffer;
			public get(param0: native.Array<number>): java.nio.ShortBuffer;
			public toString(): string;
			public get(param0: native.Array<number>, param1: number, param2: number): java.nio.ShortBuffer;
			public compact(): java.nio.ShortBuffer;
			public get(): number;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module nio {
		export module channels {
			export class AcceptPendingException extends java.lang.IllegalStateException {
				public static class: java.lang.Class<java.nio.channels.AcceptPendingException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module nio {
		export module channels {
			export class AlreadyBoundException extends java.lang.IllegalStateException {
				public static class: java.lang.Class<java.nio.channels.AlreadyBoundException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module nio {
		export module channels {
			export class AlreadyConnectedException extends java.lang.IllegalStateException {
				public static class: java.lang.Class<java.nio.channels.AlreadyConnectedException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module nio {
		export module channels {
			export class AsynchronousByteChannel extends java.lang.Object implements java.nio.channels.AsynchronousChannel {
				public static class: java.lang.Class<java.nio.channels.AsynchronousByteChannel>;
				/**
				 * Constructs a new instance of the java.nio.channels.AsynchronousByteChannel interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					read(param0: java.nio.ByteBuffer, param1: any, param2: java.nio.channels.CompletionHandler<any,any>): void;
					read(param0: java.nio.ByteBuffer): java.util.concurrent.Future<java.lang.Integer>;
					write(param0: java.nio.ByteBuffer, param1: any, param2: java.nio.channels.CompletionHandler<any,any>): void;
					write(param0: java.nio.ByteBuffer): java.util.concurrent.Future<java.lang.Integer>;
					close(): void;
					isOpen(): boolean;
					close(): void;
					close(): void;
					close(): void;
				});
				public constructor();
				public close(): void;
				public write(param0: java.nio.ByteBuffer, param1: any, param2: java.nio.channels.CompletionHandler<any,any>): void;
				public read(param0: java.nio.ByteBuffer, param1: any, param2: java.nio.channels.CompletionHandler<any,any>): void;
				public read(param0: java.nio.ByteBuffer): java.util.concurrent.Future<java.lang.Integer>;
				public write(param0: java.nio.ByteBuffer): java.util.concurrent.Future<java.lang.Integer>;
				public isOpen(): boolean;
			}
		}
	}
}

declare module java {
	export module nio {
		export module channels {
			export class AsynchronousChannel extends java.lang.Object implements java.nio.channels.Channel {
				public static class: java.lang.Class<java.nio.channels.AsynchronousChannel>;
				/**
				 * Constructs a new instance of the java.nio.channels.AsynchronousChannel interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					close(): void;
					isOpen(): boolean;
					close(): void;
					close(): void;
					close(): void;
				});
				public constructor();
				public close(): void;
				public isOpen(): boolean;
			}
		}
	}
}

declare module java {
	export module nio {
		export module channels {
			export abstract class AsynchronousChannelGroup extends java.lang.Object {
				public static class: java.lang.Class<java.nio.channels.AsynchronousChannelGroup>;
				public awaitTermination(param0: number, param1: java.util.concurrent.TimeUnit): boolean;
				public shutdown(): void;
				public isTerminated(): boolean;
				public static withThreadPool(param0: java.util.concurrent.ExecutorService): java.nio.channels.AsynchronousChannelGroup;
				public shutdownNow(): void;
				public isShutdown(): boolean;
				public static withFixedThreadPool(param0: number, param1: java.util.concurrent.ThreadFactory): java.nio.channels.AsynchronousChannelGroup;
				public static withCachedThreadPool(param0: java.util.concurrent.ExecutorService, param1: number): java.nio.channels.AsynchronousChannelGroup;
				public provider(): java.nio.channels.spi.AsynchronousChannelProvider;
				public constructor(param0: java.nio.channels.spi.AsynchronousChannelProvider);
			}
		}
	}
}

declare module java {
	export module nio {
		export module channels {
			export class AsynchronousCloseException extends java.nio.channels.ClosedChannelException {
				public static class: java.lang.Class<java.nio.channels.AsynchronousCloseException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module nio {
		export module channels {
			export abstract class AsynchronousFileChannel extends java.lang.Object implements java.nio.channels.AsynchronousChannel {
				public static class: java.lang.Class<java.nio.channels.AsynchronousFileChannel>;
				public close(): void;
				public force(param0: boolean): void;
				public static open(param0: java.nio.file.Path, param1: native.Array<java.nio.file.OpenOption>): java.nio.channels.AsynchronousFileChannel;
				public lock(): java.util.concurrent.Future<java.nio.channels.FileLock>;
				public read(param0: java.nio.ByteBuffer, param1: number): java.util.concurrent.Future<java.lang.Integer>;
				public constructor();
				public size(): number;
				public lock(param0: number, param1: number, param2: boolean): java.util.concurrent.Future<java.nio.channels.FileLock>;
				public write(param0: java.nio.ByteBuffer, param1: number): java.util.concurrent.Future<java.lang.Integer>;
				public tryLock(): java.nio.channels.FileLock;
				public read(param0: java.nio.ByteBuffer, param1: number, param2: any, param3: java.nio.channels.CompletionHandler<any,any>): void;
				public isOpen(): boolean;
				public lock(param0: number, param1: number, param2: boolean, param3: any, param4: java.nio.channels.CompletionHandler<any,any>): void;
				public write(param0: java.nio.ByteBuffer, param1: number, param2: any, param3: java.nio.channels.CompletionHandler<any,any>): void;
				public static open(param0: java.nio.file.Path, param1: java.util.Set<any>, param2: java.util.concurrent.ExecutorService, param3: native.Array<java.nio.file.attribute.FileAttribute<any>>): java.nio.channels.AsynchronousFileChannel;
				public lock(param0: any, param1: java.nio.channels.CompletionHandler<any,any>): void;
				public tryLock(param0: number, param1: number, param2: boolean): java.nio.channels.FileLock;
				public truncate(param0: number): java.nio.channels.AsynchronousFileChannel;
			}
		}
	}
}

declare module java {
	export module nio {
		export module channels {
			export abstract class AsynchronousServerSocketChannel extends java.lang.Object implements java.nio.channels.AsynchronousChannel, java.nio.channels.NetworkChannel {
				public static class: java.lang.Class<java.nio.channels.AsynchronousServerSocketChannel>;
				public getLocalAddress(): java.net.SocketAddress;
				public bind(param0: java.net.SocketAddress): java.nio.channels.NetworkChannel;
				public close(): void;
				public static open(): java.nio.channels.AsynchronousServerSocketChannel;
				public supportedOptions(): java.util.Set<java.net.SocketOption<any>>;
				public provider(): java.nio.channels.spi.AsynchronousChannelProvider;
				public accept(param0: any, param1: java.nio.channels.CompletionHandler<any,any>): void;
				public bind(param0: java.net.SocketAddress): java.nio.channels.AsynchronousServerSocketChannel;
				public getOption(param0: java.net.SocketOption<any>): any;
				public accept(): java.util.concurrent.Future<java.nio.channels.AsynchronousSocketChannel>;
				public static open(param0: java.nio.channels.AsynchronousChannelGroup): java.nio.channels.AsynchronousServerSocketChannel;
				public isOpen(): boolean;
				public setOption(param0: java.net.SocketOption<any>, param1: any): java.nio.channels.NetworkChannel;
				public setOption(param0: java.net.SocketOption<any>, param1: any): java.nio.channels.AsynchronousServerSocketChannel;
				public bind(param0: java.net.SocketAddress, param1: number): java.nio.channels.AsynchronousServerSocketChannel;
				public constructor(param0: java.nio.channels.spi.AsynchronousChannelProvider);
			}
		}
	}
}

declare module java {
	export module nio {
		export module channels {
			export abstract class AsynchronousSocketChannel extends java.lang.Object implements java.nio.channels.AsynchronousByteChannel, java.nio.channels.NetworkChannel {
				public static class: java.lang.Class<java.nio.channels.AsynchronousSocketChannel>;
				public getLocalAddress(): java.net.SocketAddress;
				public bind(param0: java.net.SocketAddress): java.nio.channels.NetworkChannel;
				public shutdownInput(): java.nio.channels.AsynchronousSocketChannel;
				public write(param0: java.nio.ByteBuffer, param1: any, param2: java.nio.channels.CompletionHandler<any,any>): void;
				public supportedOptions(): java.util.Set<java.net.SocketOption<any>>;
				public read(param0: java.nio.ByteBuffer, param1: any, param2: java.nio.channels.CompletionHandler<any,any>): void;
				public read(param0: java.nio.ByteBuffer): java.util.concurrent.Future<java.lang.Integer>;
				public write(param0: native.Array<java.nio.ByteBuffer>, param1: number, param2: number, param3: number, param4: java.util.concurrent.TimeUnit, param5: any, param6: java.nio.channels.CompletionHandler<any,any>): void;
				public write(param0: java.nio.ByteBuffer, param1: number, param2: java.util.concurrent.TimeUnit, param3: any, param4: java.nio.channels.CompletionHandler<any,any>): void;
				public setOption(param0: java.net.SocketOption<any>, param1: any): java.nio.channels.AsynchronousSocketChannel;
				public read(param0: native.Array<java.nio.ByteBuffer>, param1: number, param2: number, param3: number, param4: java.util.concurrent.TimeUnit, param5: any, param6: java.nio.channels.CompletionHandler<any,any>): void;
				public shutdownOutput(): java.nio.channels.AsynchronousSocketChannel;
				public close(): void;
				public write(param0: java.nio.ByteBuffer): java.util.concurrent.Future<java.lang.Integer>;
				public static open(param0: java.nio.channels.AsynchronousChannelGroup): java.nio.channels.AsynchronousSocketChannel;
				public provider(): java.nio.channels.spi.AsynchronousChannelProvider;
				public static open(): java.nio.channels.AsynchronousSocketChannel;
				public getOption(param0: java.net.SocketOption<any>): any;
				public bind(param0: java.net.SocketAddress): java.nio.channels.AsynchronousSocketChannel;
				public isOpen(): boolean;
				public setOption(param0: java.net.SocketOption<any>, param1: any): java.nio.channels.NetworkChannel;
				public getRemoteAddress(): java.net.SocketAddress;
				public connect(param0: java.net.SocketAddress, param1: any, param2: java.nio.channels.CompletionHandler<any,any>): void;
				public connect(param0: java.net.SocketAddress): java.util.concurrent.Future<java.lang.Void>;
				public read(param0: java.nio.ByteBuffer, param1: number, param2: java.util.concurrent.TimeUnit, param3: any, param4: java.nio.channels.CompletionHandler<any,any>): void;
				public constructor(param0: java.nio.channels.spi.AsynchronousChannelProvider);
			}
		}
	}
}

declare module java {
	export module nio {
		export module channels {
			export class ByteChannel extends java.lang.Object implements java.nio.channels.ReadableByteChannel, java.nio.channels.WritableByteChannel {
				public static class: java.lang.Class<java.nio.channels.ByteChannel>;
				/**
				 * Constructs a new instance of the java.nio.channels.ByteChannel interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					read(param0: java.nio.ByteBuffer): number;
					write(param0: java.nio.ByteBuffer): number;
					isOpen(): boolean;
					close(): void;
					isOpen(): boolean;
					close(): void;
					close(): void;
					close(): void;
					close(): void;
					close(): void;
				});
				public constructor();
				public close(): void;
				public write(param0: java.nio.ByteBuffer): number;
				public read(param0: java.nio.ByteBuffer): number;
				public isOpen(): boolean;
			}
		}
	}
}

declare module java {
	export module nio {
		export module channels {
			export class CancelledKeyException extends java.lang.IllegalStateException {
				public static class: java.lang.Class<java.nio.channels.CancelledKeyException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module nio {
		export module channels {
			export class Channel extends java.lang.Object implements java.io.Closeable {
				public static class: java.lang.Class<java.nio.channels.Channel>;
				/**
				 * Constructs a new instance of the java.nio.channels.Channel interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					isOpen(): boolean;
					close(): void;
					close(): void;
					close(): void;
				});
				public constructor();
				public close(): void;
				public isOpen(): boolean;
			}
		}
	}
}

declare module java {
	export module nio {
		export module channels {
			export class Channels extends java.lang.Object {
				public static class: java.lang.Class<java.nio.channels.Channels>;
				public static newInputStream(param0: java.nio.channels.AsynchronousByteChannel): java.io.InputStream;
				public static newChannel(param0: java.io.InputStream): java.nio.channels.ReadableByteChannel;
				public static newOutputStream(param0: java.nio.channels.WritableByteChannel): java.io.OutputStream;
				public static newChannel(param0: java.io.OutputStream): java.nio.channels.WritableByteChannel;
				public static newInputStream(param0: java.nio.channels.ReadableByteChannel): java.io.InputStream;
				public static newOutputStream(param0: java.nio.channels.AsynchronousByteChannel): java.io.OutputStream;
				public static newWriter(param0: java.nio.channels.WritableByteChannel, param1: java.nio.charset.CharsetEncoder, param2: number): java.io.Writer;
				public static newWriter(param0: java.nio.channels.WritableByteChannel, param1: string): java.io.Writer;
				public static newReader(param0: java.nio.channels.ReadableByteChannel, param1: java.nio.charset.CharsetDecoder, param2: number): java.io.Reader;
				public static newReader(param0: java.nio.channels.ReadableByteChannel, param1: string): java.io.Reader;
			}
		}
	}
}

declare module java {
	export module nio {
		export module channels {
			export class ClosedByInterruptException extends java.nio.channels.AsynchronousCloseException {
				public static class: java.lang.Class<java.nio.channels.ClosedByInterruptException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module nio {
		export module channels {
			export class ClosedChannelException extends java.io.IOException {
				public static class: java.lang.Class<java.nio.channels.ClosedChannelException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module nio {
		export module channels {
			export class ClosedSelectorException extends java.lang.IllegalStateException {
				public static class: java.lang.Class<java.nio.channels.ClosedSelectorException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module nio {
		export module channels {
			export class CompletionHandler<V, A>  extends java.lang.Object {
				public static class: java.lang.Class<java.nio.channels.CompletionHandler<any,any>>;
				/**
				 * Constructs a new instance of the java.nio.channels.CompletionHandler<any,any> interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					completed(param0: V, param1: A): void;
					failed(param0: java.lang.Throwable, param1: A): void;
				});
				public constructor();
				public failed(param0: java.lang.Throwable, param1: A): void;
				public completed(param0: V, param1: A): void;
			}
		}
	}
}

declare module java {
	export module nio {
		export module channels {
			export class ConnectionPendingException extends java.lang.IllegalStateException {
				public static class: java.lang.Class<java.nio.channels.ConnectionPendingException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module nio {
		export module channels {
			export abstract class DatagramChannel extends java.nio.channels.spi.AbstractSelectableChannel implements java.nio.channels.ByteChannel, java.nio.channels.ScatteringByteChannel, java.nio.channels.GatheringByteChannel, java.nio.channels.MulticastChannel {
				public static class: java.lang.Class<java.nio.channels.DatagramChannel>;
				public getLocalAddress(): java.net.SocketAddress;
				public read(param0: native.Array<java.nio.ByteBuffer>): number;
				public bind(param0: java.net.SocketAddress): java.nio.channels.NetworkChannel;
				public write(param0: java.nio.ByteBuffer): number;
				public validOps(): number;
				public disconnect(): java.nio.channels.DatagramChannel;
				public supportedOptions(): java.util.Set<java.net.SocketOption<any>>;
				public static open(param0: java.net.ProtocolFamily): java.nio.channels.DatagramChannel;
				public receive(param0: java.nio.ByteBuffer): java.net.SocketAddress;
				public connect(param0: java.net.SocketAddress): java.nio.channels.DatagramChannel;
				public constructor();
				public isConnected(): boolean;
				public read(param0: native.Array<java.nio.ByteBuffer>, param1: number, param2: number): number;
				public join(param0: java.net.InetAddress, param1: java.net.NetworkInterface, param2: java.net.InetAddress): java.nio.channels.MembershipKey;
				public socket(): java.net.DatagramSocket;
				public close(): void;
				public bind(param0: java.net.SocketAddress): java.nio.channels.DatagramChannel;
				public constructor(param0: java.nio.channels.spi.SelectorProvider);
				public setOption(param0: java.net.SocketOption<any>, param1: any): java.nio.channels.DatagramChannel;
				public getOption(param0: java.net.SocketOption<any>): any;
				public static open(): java.nio.channels.DatagramChannel;
				public read(param0: java.nio.ByteBuffer): number;
				public write(param0: native.Array<java.nio.ByteBuffer>): number;
				public isOpen(): boolean;
				public setOption(param0: java.net.SocketOption<any>, param1: any): java.nio.channels.NetworkChannel;
				public getRemoteAddress(): java.net.SocketAddress;
				public join(param0: java.net.InetAddress, param1: java.net.NetworkInterface): java.nio.channels.MembershipKey;
				public write(param0: native.Array<java.nio.ByteBuffer>, param1: number, param2: number): number;
				public send(param0: java.nio.ByteBuffer, param1: java.net.SocketAddress): number;
			}
		}
	}
}

declare module java {
	export module nio {
		export module channels {
			export abstract class FileChannel extends java.nio.channels.spi.AbstractInterruptibleChannel implements java.nio.channels.SeekableByteChannel, java.nio.channels.GatheringByteChannel, java.nio.channels.ScatteringByteChannel {
				public static class: java.lang.Class<java.nio.channels.FileChannel>;
				public read(param0: native.Array<java.nio.ByteBuffer>): number;
				public write(param0: java.nio.ByteBuffer, param1: number): number;
				public write(param0: java.nio.ByteBuffer): number;
				public map(param0: java.nio.channels.FileChannel.MapMode, param1: number, param2: number): java.nio.MappedByteBuffer;
				public truncate(param0: number): java.nio.channels.SeekableByteChannel;
				public static open(param0: java.nio.file.Path, param1: java.util.Set<any>, param2: native.Array<java.nio.file.attribute.FileAttribute<any>>): java.nio.channels.FileChannel;
				public force(param0: boolean): void;
				public lock(param0: number, param1: number, param2: boolean): java.nio.channels.FileLock;
				public constructor();
				public position(): number;
				public position(param0: number): java.nio.channels.FileChannel;
				public read(param0: native.Array<java.nio.ByteBuffer>, param1: number, param2: number): number;
				public transferFrom(param0: java.nio.channels.ReadableByteChannel, param1: number, param2: number): number;
				public close(): void;
				public transferTo(param0: number, param1: number, param2: java.nio.channels.WritableByteChannel): number;
				public size(): number;
				public lock(): java.nio.channels.FileLock;
				public tryLock(): java.nio.channels.FileLock;
				public read(param0: java.nio.ByteBuffer): number;
				public write(param0: native.Array<java.nio.ByteBuffer>): number;
				public read(param0: java.nio.ByteBuffer, param1: number): number;
				public isOpen(): boolean;
				public truncate(param0: number): java.nio.channels.FileChannel;
				public write(param0: native.Array<java.nio.ByteBuffer>, param1: number, param2: number): number;
				public tryLock(param0: number, param1: number, param2: boolean): java.nio.channels.FileLock;
				public position(param0: number): java.nio.channels.SeekableByteChannel;
				public static open(param0: java.nio.file.Path, param1: native.Array<java.nio.file.OpenOption>): java.nio.channels.FileChannel;
			}
			export module FileChannel {
				export class MapMode extends java.lang.Object {
					public static class: java.lang.Class<java.nio.channels.FileChannel.MapMode>;
					public static PRIVATE: java.nio.channels.FileChannel.MapMode;
					public static READ_ONLY: java.nio.channels.FileChannel.MapMode;
					public static READ_WRITE: java.nio.channels.FileChannel.MapMode;
					public toString(): string;
				}
			}
		}
	}
}

declare module java {
	export module nio {
		export module channels {
			export abstract class FileLock extends java.lang.Object implements java.lang.AutoCloseable {
				public static class: java.lang.Class<java.nio.channels.FileLock>;
				public constructor(param0: java.nio.channels.AsynchronousFileChannel, param1: number, param2: number, param3: boolean);
				public position(): number;
				public isShared(): boolean;
				public close(): void;
				public release(): void;
				public acquiredBy(): java.nio.channels.Channel;
				public overlaps(param0: number, param1: number): boolean;
				public constructor(param0: java.nio.channels.FileChannel, param1: number, param2: number, param3: boolean);
				public channel(): java.nio.channels.FileChannel;
				public isValid(): boolean;
				public toString(): string;
				public size(): number;
			}
		}
	}
}

declare module java {
	export module nio {
		export module channels {
			export class FileLockInterruptionException extends java.io.IOException {
				public static class: java.lang.Class<java.nio.channels.FileLockInterruptionException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module nio {
		export module channels {
			export class GatheringByteChannel extends java.lang.Object implements java.nio.channels.WritableByteChannel {
				public static class: java.lang.Class<java.nio.channels.GatheringByteChannel>;
				/**
				 * Constructs a new instance of the java.nio.channels.GatheringByteChannel interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					write(param0: native.Array<java.nio.ByteBuffer>, param1: number, param2: number): number;
					write(param0: native.Array<java.nio.ByteBuffer>): number;
					write(param0: java.nio.ByteBuffer): number;
					isOpen(): boolean;
					close(): void;
					close(): void;
					close(): void;
				});
				public constructor();
				public close(): void;
				public write(param0: java.nio.ByteBuffer): number;
				public write(param0: native.Array<java.nio.ByteBuffer>): number;
				public isOpen(): boolean;
				public write(param0: native.Array<java.nio.ByteBuffer>, param1: number, param2: number): number;
			}
		}
	}
}

declare module java {
	export module nio {
		export module channels {
			export class IllegalBlockingModeException extends java.lang.IllegalStateException {
				public static class: java.lang.Class<java.nio.channels.IllegalBlockingModeException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module nio {
		export module channels {
			export class IllegalChannelGroupException extends java.lang.IllegalArgumentException {
				public static class: java.lang.Class<java.nio.channels.IllegalChannelGroupException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module nio {
		export module channels {
			export class IllegalSelectorException extends java.lang.IllegalArgumentException {
				public static class: java.lang.Class<java.nio.channels.IllegalSelectorException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module nio {
		export module channels {
			export class InterruptedByTimeoutException extends java.io.IOException {
				public static class: java.lang.Class<java.nio.channels.InterruptedByTimeoutException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module nio {
		export module channels {
			export class InterruptibleChannel extends java.lang.Object implements java.nio.channels.Channel {
				public static class: java.lang.Class<java.nio.channels.InterruptibleChannel>;
				/**
				 * Constructs a new instance of the java.nio.channels.InterruptibleChannel interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					close(): void;
					isOpen(): boolean;
					close(): void;
					close(): void;
					close(): void;
				});
				public constructor();
				public close(): void;
				public isOpen(): boolean;
			}
		}
	}
}

declare module java {
	export module nio {
		export module channels {
			export abstract class MembershipKey extends java.lang.Object {
				public static class: java.lang.Class<java.nio.channels.MembershipKey>;
				public channel(): java.nio.channels.MulticastChannel;
				public block(param0: java.net.InetAddress): java.nio.channels.MembershipKey;
				public networkInterface(): java.net.NetworkInterface;
				public sourceAddress(): java.net.InetAddress;
				public unblock(param0: java.net.InetAddress): java.nio.channels.MembershipKey;
				public group(): java.net.InetAddress;
				public isValid(): boolean;
				public drop(): void;
				public constructor();
			}
		}
	}
}

declare module java {
	export module nio {
		export module channels {
			export class MulticastChannel extends java.lang.Object implements java.nio.channels.NetworkChannel {
				public static class: java.lang.Class<java.nio.channels.MulticastChannel>;
				/**
				 * Constructs a new instance of the java.nio.channels.MulticastChannel interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					close(): void;
					join(param0: java.net.InetAddress, param1: java.net.NetworkInterface): java.nio.channels.MembershipKey;
					join(param0: java.net.InetAddress, param1: java.net.NetworkInterface, param2: java.net.InetAddress): java.nio.channels.MembershipKey;
					bind(param0: java.net.SocketAddress): java.nio.channels.NetworkChannel;
					getLocalAddress(): java.net.SocketAddress;
					setOption(param0: java.net.SocketOption<any>, param1: any): java.nio.channels.NetworkChannel;
					getOption(param0: java.net.SocketOption<any>): any;
					supportedOptions(): java.util.Set<java.net.SocketOption<any>>;
					isOpen(): boolean;
					close(): void;
					close(): void;
					close(): void;
				});
				public constructor();
				public getLocalAddress(): java.net.SocketAddress;
				public bind(param0: java.net.SocketAddress): java.nio.channels.NetworkChannel;
				public close(): void;
				public getOption(param0: java.net.SocketOption<any>): any;
				public supportedOptions(): java.util.Set<java.net.SocketOption<any>>;
				public isOpen(): boolean;
				public setOption(param0: java.net.SocketOption<any>, param1: any): java.nio.channels.NetworkChannel;
				public join(param0: java.net.InetAddress, param1: java.net.NetworkInterface): java.nio.channels.MembershipKey;
				public join(param0: java.net.InetAddress, param1: java.net.NetworkInterface, param2: java.net.InetAddress): java.nio.channels.MembershipKey;
			}
		}
	}
}

declare module java {
	export module nio {
		export module channels {
			export class NetworkChannel extends java.lang.Object implements java.nio.channels.Channel {
				public static class: java.lang.Class<java.nio.channels.NetworkChannel>;
				/**
				 * Constructs a new instance of the java.nio.channels.NetworkChannel interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					bind(param0: java.net.SocketAddress): java.nio.channels.NetworkChannel;
					getLocalAddress(): java.net.SocketAddress;
					setOption(param0: java.net.SocketOption<any>, param1: any): java.nio.channels.NetworkChannel;
					getOption(param0: java.net.SocketOption<any>): any;
					supportedOptions(): java.util.Set<java.net.SocketOption<any>>;
					isOpen(): boolean;
					close(): void;
					close(): void;
					close(): void;
				});
				public constructor();
				public getLocalAddress(): java.net.SocketAddress;
				public bind(param0: java.net.SocketAddress): java.nio.channels.NetworkChannel;
				public close(): void;
				public getOption(param0: java.net.SocketOption<any>): any;
				public supportedOptions(): java.util.Set<java.net.SocketOption<any>>;
				public isOpen(): boolean;
				public setOption(param0: java.net.SocketOption<any>, param1: any): java.nio.channels.NetworkChannel;
			}
		}
	}
}

declare module java {
	export module nio {
		export module channels {
			export class NoConnectionPendingException extends java.lang.IllegalStateException {
				public static class: java.lang.Class<java.nio.channels.NoConnectionPendingException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module nio {
		export module channels {
			export class NonReadableChannelException extends java.lang.IllegalStateException {
				public static class: java.lang.Class<java.nio.channels.NonReadableChannelException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module nio {
		export module channels {
			export class NonWritableChannelException extends java.lang.IllegalStateException {
				public static class: java.lang.Class<java.nio.channels.NonWritableChannelException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module nio {
		export module channels {
			export class NotYetBoundException extends java.lang.IllegalStateException {
				public static class: java.lang.Class<java.nio.channels.NotYetBoundException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module nio {
		export module channels {
			export class NotYetConnectedException extends java.lang.IllegalStateException {
				public static class: java.lang.Class<java.nio.channels.NotYetConnectedException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module nio {
		export module channels {
			export class OverlappingFileLockException extends java.lang.IllegalStateException {
				public static class: java.lang.Class<java.nio.channels.OverlappingFileLockException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module nio {
		export module channels {
			export abstract class Pipe extends java.lang.Object {
				public static class: java.lang.Class<java.nio.channels.Pipe>;
				public static open(): java.nio.channels.Pipe;
				public sink(): java.nio.channels.Pipe.SinkChannel;
				public source(): java.nio.channels.Pipe.SourceChannel;
				public constructor();
			}
			export module Pipe {
				export abstract class SinkChannel extends java.nio.channels.spi.AbstractSelectableChannel implements java.nio.channels.WritableByteChannel, java.nio.channels.GatheringByteChannel {
					public static class: java.lang.Class<java.nio.channels.Pipe.SinkChannel>;
					public constructor(param0: java.nio.channels.spi.SelectorProvider);
					public validOps(): number;
					public write(param0: java.nio.ByteBuffer): number;
					public isOpen(): boolean;
					public constructor();
					public write(param0: native.Array<java.nio.ByteBuffer>): number;
					public close(): void;
					public write(param0: native.Array<java.nio.ByteBuffer>, param1: number, param2: number): number;
				}
				export abstract class SourceChannel extends java.nio.channels.spi.AbstractSelectableChannel implements java.nio.channels.ReadableByteChannel, java.nio.channels.ScatteringByteChannel {
					public static class: java.lang.Class<java.nio.channels.Pipe.SourceChannel>;
					public constructor(param0: java.nio.channels.spi.SelectorProvider);
					public validOps(): number;
					public isOpen(): boolean;
					public constructor();
					public read(param0: java.nio.ByteBuffer): number;
					public read(param0: native.Array<java.nio.ByteBuffer>): number;
					public close(): void;
					public read(param0: native.Array<java.nio.ByteBuffer>, param1: number, param2: number): number;
				}
			}
		}
	}
}

declare module java {
	export module nio {
		export module channels {
			export class ReadPendingException extends java.lang.IllegalStateException {
				public static class: java.lang.Class<java.nio.channels.ReadPendingException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module nio {
		export module channels {
			export class ReadableByteChannel extends java.lang.Object implements java.nio.channels.Channel {
				public static class: java.lang.Class<java.nio.channels.ReadableByteChannel>;
				/**
				 * Constructs a new instance of the java.nio.channels.ReadableByteChannel interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					read(param0: java.nio.ByteBuffer): number;
					isOpen(): boolean;
					close(): void;
					close(): void;
					close(): void;
				});
				public constructor();
				public close(): void;
				public read(param0: java.nio.ByteBuffer): number;
				public isOpen(): boolean;
			}
		}
	}
}

declare module java {
	export module nio {
		export module channels {
			export class ScatteringByteChannel extends java.lang.Object implements java.nio.channels.ReadableByteChannel {
				public static class: java.lang.Class<java.nio.channels.ScatteringByteChannel>;
				/**
				 * Constructs a new instance of the java.nio.channels.ScatteringByteChannel interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					read(param0: native.Array<java.nio.ByteBuffer>, param1: number, param2: number): number;
					read(param0: native.Array<java.nio.ByteBuffer>): number;
					read(param0: java.nio.ByteBuffer): number;
					isOpen(): boolean;
					close(): void;
					close(): void;
					close(): void;
				});
				public constructor();
				public read(param0: native.Array<java.nio.ByteBuffer>): number;
				public close(): void;
				public read(param0: native.Array<java.nio.ByteBuffer>, param1: number, param2: number): number;
				public read(param0: java.nio.ByteBuffer): number;
				public isOpen(): boolean;
			}
		}
	}
}

declare module java {
	export module nio {
		export module channels {
			export class SeekableByteChannel extends java.lang.Object implements java.nio.channels.ByteChannel {
				public static class: java.lang.Class<java.nio.channels.SeekableByteChannel>;
				/**
				 * Constructs a new instance of the java.nio.channels.SeekableByteChannel interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					read(param0: java.nio.ByteBuffer): number;
					write(param0: java.nio.ByteBuffer): number;
					position(): number;
					position(param0: number): java.nio.channels.SeekableByteChannel;
					size(): number;
					truncate(param0: number): java.nio.channels.SeekableByteChannel;
					read(param0: java.nio.ByteBuffer): number;
					write(param0: java.nio.ByteBuffer): number;
					isOpen(): boolean;
					close(): void;
					isOpen(): boolean;
					close(): void;
					close(): void;
					close(): void;
					close(): void;
					close(): void;
				});
				public constructor();
				public position(): number;
				public close(): void;
				public write(param0: java.nio.ByteBuffer): number;
				public read(param0: java.nio.ByteBuffer): number;
				public truncate(param0: number): java.nio.channels.SeekableByteChannel;
				public isOpen(): boolean;
				public position(param0: number): java.nio.channels.SeekableByteChannel;
				public size(): number;
			}
		}
	}
}

declare module java {
	export module nio {
		export module channels {
			export abstract class SelectableChannel extends java.nio.channels.spi.AbstractInterruptibleChannel implements java.nio.channels.Channel {
				public static class: java.lang.Class<java.nio.channels.SelectableChannel>;
				public provider(): java.nio.channels.spi.SelectorProvider;
				public keyFor(param0: java.nio.channels.Selector): java.nio.channels.SelectionKey;
				public close(): void;
				public blockingLock(): any;
				public validOps(): number;
				public isBlocking(): boolean;
				public configureBlocking(param0: boolean): java.nio.channels.SelectableChannel;
				public isOpen(): boolean;
				public register(param0: java.nio.channels.Selector, param1: number, param2: any): java.nio.channels.SelectionKey;
				public isRegistered(): boolean;
				public constructor();
				public register(param0: java.nio.channels.Selector, param1: number): java.nio.channels.SelectionKey;
			}
		}
	}
}

declare module java {
	export module nio {
		export module channels {
			export abstract class SelectionKey extends java.lang.Object {
				public static class: java.lang.Class<java.nio.channels.SelectionKey>;
				public static OP_ACCEPT: number;
				public static OP_CONNECT: number;
				public static OP_READ: number;
				public static OP_WRITE: number;
				public isConnectable(): boolean;
				public isValid(): boolean;
				public isReadable(): boolean;
				public constructor();
				public isAcceptable(): boolean;
				public attach(param0: any): any;
				public interestOps(param0: number): java.nio.channels.SelectionKey;
				public readyOps(): number;
				public attachment(): any;
				public interestOps(): number;
				public isWritable(): boolean;
				public cancel(): void;
				public selector(): java.nio.channels.Selector;
				public channel(): java.nio.channels.SelectableChannel;
			}
		}
	}
}

declare module java {
	export module nio {
		export module channels {
			export abstract class Selector extends java.lang.Object implements java.io.Closeable {
				public static class: java.lang.Class<java.nio.channels.Selector>;
				public provider(): java.nio.channels.spi.SelectorProvider;
				public close(): void;
				public select(): number;
				public wakeup(): java.nio.channels.Selector;
				public static open(): java.nio.channels.Selector;
				public isOpen(): boolean;
				public selectedKeys(): java.util.Set<java.nio.channels.SelectionKey>;
				public select(param0: number): number;
				public keys(): java.util.Set<java.nio.channels.SelectionKey>;
				public constructor();
				public selectNow(): number;
			}
		}
	}
}

declare module java {
	export module nio {
		export module channels {
			export abstract class ServerSocketChannel extends java.nio.channels.spi.AbstractSelectableChannel implements java.nio.channels.NetworkChannel {
				public static class: java.lang.Class<java.nio.channels.ServerSocketChannel>;
				public getLocalAddress(): java.net.SocketAddress;
				public bind(param0: java.net.SocketAddress): java.nio.channels.NetworkChannel;
				public close(): void;
				public validOps(): number;
				public supportedOptions(): java.util.Set<java.net.SocketOption<any>>;
				public static open(): java.nio.channels.ServerSocketChannel;
				public constructor(param0: java.nio.channels.spi.SelectorProvider);
				public setOption(param0: java.net.SocketOption<any>, param1: any): java.nio.channels.ServerSocketChannel;
				public constructor();
				public bind(param0: java.net.SocketAddress, param1: number): java.nio.channels.ServerSocketChannel;
				public getOption(param0: java.net.SocketOption<any>): any;
				public bind(param0: java.net.SocketAddress): java.nio.channels.ServerSocketChannel;
				public isOpen(): boolean;
				public accept(): java.nio.channels.SocketChannel;
				public socket(): java.net.ServerSocket;
				public setOption(param0: java.net.SocketOption<any>, param1: any): java.nio.channels.NetworkChannel;
			}
		}
	}
}

declare module java {
	export module nio {
		export module channels {
			export class ShutdownChannelGroupException extends java.lang.IllegalStateException {
				public static class: java.lang.Class<java.nio.channels.ShutdownChannelGroupException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module nio {
		export module channels {
			export abstract class SocketChannel extends java.nio.channels.spi.AbstractSelectableChannel implements java.nio.channels.ByteChannel, java.nio.channels.ScatteringByteChannel, java.nio.channels.GatheringByteChannel, java.nio.channels.NetworkChannel {
				public static class: java.lang.Class<java.nio.channels.SocketChannel>;
				public shutdownInput(): java.nio.channels.SocketChannel;
				public getLocalAddress(): java.net.SocketAddress;
				public isConnectionPending(): boolean;
				public read(param0: native.Array<java.nio.ByteBuffer>): number;
				public bind(param0: java.net.SocketAddress): java.nio.channels.NetworkChannel;
				public write(param0: java.nio.ByteBuffer): number;
				public validOps(): number;
				public supportedOptions(): java.util.Set<java.net.SocketOption<any>>;
				public bind(param0: java.net.SocketAddress): java.nio.channels.SocketChannel;
				public socket(): java.net.Socket;
				public constructor();
				public isConnected(): boolean;
				public read(param0: native.Array<java.nio.ByteBuffer>, param1: number, param2: number): number;
				public close(): void;
				public connect(param0: java.net.SocketAddress): boolean;
				public constructor(param0: java.nio.channels.spi.SelectorProvider);
				public shutdownOutput(): java.nio.channels.SocketChannel;
				public finishConnect(): boolean;
				public static open(): java.nio.channels.SocketChannel;
				public getOption(param0: java.net.SocketOption<any>): any;
				public setOption(param0: java.net.SocketOption<any>, param1: any): java.nio.channels.SocketChannel;
				public static open(param0: java.net.SocketAddress): java.nio.channels.SocketChannel;
				public read(param0: java.nio.ByteBuffer): number;
				public write(param0: native.Array<java.nio.ByteBuffer>): number;
				public isOpen(): boolean;
				public setOption(param0: java.net.SocketOption<any>, param1: any): java.nio.channels.NetworkChannel;
				public getRemoteAddress(): java.net.SocketAddress;
				public write(param0: native.Array<java.nio.ByteBuffer>, param1: number, param2: number): number;
			}
		}
	}
}

declare module java {
	export module nio {
		export module channels {
			export class UnresolvedAddressException extends java.lang.IllegalArgumentException {
				public static class: java.lang.Class<java.nio.channels.UnresolvedAddressException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module nio {
		export module channels {
			export class UnsupportedAddressTypeException extends java.lang.IllegalArgumentException {
				public static class: java.lang.Class<java.nio.channels.UnsupportedAddressTypeException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module nio {
		export module channels {
			export class WritableByteChannel extends java.lang.Object implements java.nio.channels.Channel {
				public static class: java.lang.Class<java.nio.channels.WritableByteChannel>;
				/**
				 * Constructs a new instance of the java.nio.channels.WritableByteChannel interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					write(param0: java.nio.ByteBuffer): number;
					isOpen(): boolean;
					close(): void;
					close(): void;
					close(): void;
				});
				public constructor();
				public close(): void;
				public write(param0: java.nio.ByteBuffer): number;
				public isOpen(): boolean;
			}
		}
	}
}

declare module java {
	export module nio {
		export module channels {
			export class WritePendingException extends java.lang.IllegalStateException {
				public static class: java.lang.Class<java.nio.channels.WritePendingException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module nio {
		export module channels {
			export module spi {
				export abstract class AbstractInterruptibleChannel extends java.lang.Object implements java.nio.channels.Channel, java.nio.channels.InterruptibleChannel {
					public static class: java.lang.Class<java.nio.channels.spi.AbstractInterruptibleChannel>;
					public begin(): void;
					public isOpen(): boolean;
					public constructor();
					public close(): void;
					public implCloseChannel(): void;
					public end(param0: boolean): void;
				}
			}
		}
	}
}

declare module java {
	export module nio {
		export module channels {
			export module spi {
				export abstract class AbstractSelectableChannel extends java.nio.channels.SelectableChannel {
					public static class: java.lang.Class<java.nio.channels.spi.AbstractSelectableChannel>;
					public constructor(param0: java.nio.channels.spi.SelectorProvider);
					public provider(): java.nio.channels.spi.SelectorProvider;
					public configureBlocking(param0: boolean): java.nio.channels.SelectableChannel;
					public register(param0: java.nio.channels.Selector, param1: number, param2: any): java.nio.channels.SelectionKey;
					public register(param0: java.nio.channels.Selector, param1: number): java.nio.channels.SelectionKey;
					public implCloseSelectableChannel(): void;
					public isBlocking(): boolean;
					public isOpen(): boolean;
					public constructor();
					public close(): void;
					public keyFor(param0: java.nio.channels.Selector): java.nio.channels.SelectionKey;
					public implCloseChannel(): void;
					public implConfigureBlocking(param0: boolean): void;
					public isRegistered(): boolean;
					public blockingLock(): any;
				}
			}
		}
	}
}

declare module java {
	export module nio {
		export module channels {
			export module spi {
				export abstract class AbstractSelectionKey extends java.nio.channels.SelectionKey {
					public static class: java.lang.Class<java.nio.channels.spi.AbstractSelectionKey>;
					public constructor();
					public isValid(): boolean;
					public cancel(): void;
				}
			}
		}
	}
}

declare module java {
	export module nio {
		export module channels {
			export module spi {
				export abstract class AbstractSelector extends java.nio.channels.Selector {
					public static class: java.lang.Class<java.nio.channels.spi.AbstractSelector>;
					public constructor(param0: java.nio.channels.spi.SelectorProvider);
					public deregister(param0: java.nio.channels.spi.AbstractSelectionKey): void;
					public begin(): void;
					public end(): void;
					public isOpen(): boolean;
					public cancelledKeys(): java.util.Set<java.nio.channels.SelectionKey>;
					public constructor();
					public provider(): java.nio.channels.spi.SelectorProvider;
					public implCloseSelector(): void;
					public close(): void;
					public register(param0: java.nio.channels.spi.AbstractSelectableChannel, param1: number, param2: any): java.nio.channels.SelectionKey;
				}
			}
		}
	}
}

declare module java {
	export module nio {
		export module channels {
			export module spi {
				export abstract class AsynchronousChannelProvider extends java.lang.Object {
					public static class: java.lang.Class<java.nio.channels.spi.AsynchronousChannelProvider>;
					public openAsynchronousChannelGroup(param0: number, param1: java.util.concurrent.ThreadFactory): java.nio.channels.AsynchronousChannelGroup;
					public openAsynchronousServerSocketChannel(param0: java.nio.channels.AsynchronousChannelGroup): java.nio.channels.AsynchronousServerSocketChannel;
					public constructor();
					public static provider(): java.nio.channels.spi.AsynchronousChannelProvider;
					public openAsynchronousChannelGroup(param0: java.util.concurrent.ExecutorService, param1: number): java.nio.channels.AsynchronousChannelGroup;
					public openAsynchronousSocketChannel(param0: java.nio.channels.AsynchronousChannelGroup): java.nio.channels.AsynchronousSocketChannel;
				}
			}
		}
	}
}

declare module java {
	export module nio {
		export module channels {
			export module spi {
				export abstract class SelectorProvider extends java.lang.Object {
					public static class: java.lang.Class<java.nio.channels.spi.SelectorProvider>;
					public constructor();
					public inheritedChannel(): java.nio.channels.Channel;
					public static provider(): java.nio.channels.spi.SelectorProvider;
					public openDatagramChannel(): java.nio.channels.DatagramChannel;
					public openSelector(): java.nio.channels.spi.AbstractSelector;
					public openDatagramChannel(param0: java.net.ProtocolFamily): java.nio.channels.DatagramChannel;
					public openPipe(): java.nio.channels.Pipe;
					public openSocketChannel(): java.nio.channels.SocketChannel;
					public openServerSocketChannel(): java.nio.channels.ServerSocketChannel;
				}
			}
		}
	}
}

declare module java {
	export module nio {
		export module charset {
			export class CharacterCodingException extends java.io.IOException {
				public static class: java.lang.Class<java.nio.charset.CharacterCodingException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module nio {
		export module charset {
			export abstract class Charset extends java.lang.Comparable<java.nio.charset.Charset> {
				public static class: java.lang.Class<java.nio.charset.Charset>;
				public displayName(): string;
				public encode(param0: java.nio.CharBuffer): java.nio.ByteBuffer;
				public static forName(param0: string): java.nio.charset.Charset;
				public newDecoder(): java.nio.charset.CharsetDecoder;
				public encode(param0: string): java.nio.ByteBuffer;
				public displayName(param0: java.util.Locale): string;
				public decode(param0: java.nio.ByteBuffer): java.nio.CharBuffer;
				public canEncode(): boolean;
				public isRegistered(): boolean;
				public toString(): string;
				public static defaultCharset(): java.nio.charset.Charset;
				public static isSupported(param0: string): boolean;
				public compareTo(param0: java.nio.charset.Charset): number;
				public constructor(param0: string, param1: native.Array<string>);
				public name(): string;
				public hashCode(): number;
				public static availableCharsets(): java.util.SortedMap<string,java.nio.charset.Charset>;
				public equals(param0: any): boolean;
				public aliases(): java.util.Set<string>;
				public contains(param0: java.nio.charset.Charset): boolean;
				public newEncoder(): java.nio.charset.CharsetEncoder;
			}
		}
	}
}

declare module java {
	export module nio {
		export module charset {
			export abstract class CharsetDecoder extends java.lang.Object {
				public static class: java.lang.Class<java.nio.charset.CharsetDecoder>;
				public isAutoDetecting(): boolean;
				public decode(param0: java.nio.ByteBuffer, param1: java.nio.CharBuffer, param2: boolean): java.nio.charset.CoderResult;
				public detectedCharset(): java.nio.charset.Charset;
				public implReplaceWith(param0: string): void;
				public reset(): java.nio.charset.CharsetDecoder;
				public averageCharsPerByte(): number;
				public decode(param0: java.nio.ByteBuffer): java.nio.CharBuffer;
				public implOnUnmappableCharacter(param0: java.nio.charset.CodingErrorAction): void;
				public implFlush(param0: java.nio.CharBuffer): java.nio.charset.CoderResult;
				public replacement(): string;
				public decodeLoop(param0: java.nio.ByteBuffer, param1: java.nio.CharBuffer): java.nio.charset.CoderResult;
				public charset(): java.nio.charset.Charset;
				public replaceWith(param0: string): java.nio.charset.CharsetDecoder;
				public malformedInputAction(): java.nio.charset.CodingErrorAction;
				public implOnMalformedInput(param0: java.nio.charset.CodingErrorAction): void;
				public flush(param0: java.nio.CharBuffer): java.nio.charset.CoderResult;
				public maxCharsPerByte(): number;
				public isCharsetDetected(): boolean;
				public onMalformedInput(param0: java.nio.charset.CodingErrorAction): java.nio.charset.CharsetDecoder;
				public unmappableCharacterAction(): java.nio.charset.CodingErrorAction;
				public implReset(): void;
				public constructor(param0: java.nio.charset.Charset, param1: number, param2: number);
				public onUnmappableCharacter(param0: java.nio.charset.CodingErrorAction): java.nio.charset.CharsetDecoder;
			}
		}
	}
}

declare module java {
	export module nio {
		export module charset {
			export abstract class CharsetEncoder extends java.lang.Object {
				public static class: java.lang.Class<java.nio.charset.CharsetEncoder>;
				public encode(param0: java.nio.CharBuffer): java.nio.ByteBuffer;
				public maxBytesPerChar(): number;
				public averageBytesPerChar(): number;
				public implOnUnmappableCharacter(param0: java.nio.charset.CodingErrorAction): void;
				public implFlush(param0: java.nio.ByteBuffer): java.nio.charset.CoderResult;
				public canEncode(param0: string): boolean;
				public encodeLoop(param0: java.nio.CharBuffer, param1: java.nio.ByteBuffer): java.nio.charset.CoderResult;
				public charset(): java.nio.charset.Charset;
				public reset(): java.nio.charset.CharsetEncoder;
				public replaceWith(param0: native.Array<number>): java.nio.charset.CharsetEncoder;
				public malformedInputAction(): java.nio.charset.CodingErrorAction;
				public implOnMalformedInput(param0: java.nio.charset.CodingErrorAction): void;
				public flush(param0: java.nio.ByteBuffer): java.nio.charset.CoderResult;
				public constructor(param0: java.nio.charset.Charset, param1: number, param2: number, param3: native.Array<number>);
				public isLegalReplacement(param0: native.Array<number>): boolean;
				public onMalformedInput(param0: java.nio.charset.CodingErrorAction): java.nio.charset.CharsetEncoder;
				public implReplaceWith(param0: native.Array<number>): void;
				public unmappableCharacterAction(): java.nio.charset.CodingErrorAction;
				public implReset(): void;
				public constructor(param0: java.nio.charset.Charset, param1: number, param2: number);
				public replacement(): native.Array<number>;
				public onUnmappableCharacter(param0: java.nio.charset.CodingErrorAction): java.nio.charset.CharsetEncoder;
				public encode(param0: java.nio.CharBuffer, param1: java.nio.ByteBuffer, param2: boolean): java.nio.charset.CoderResult;
			}
		}
	}
}

declare module java {
	export module nio {
		export module charset {
			export class CoderMalfunctionError extends java.lang.Error {
				public static class: java.lang.Class<java.nio.charset.CoderMalfunctionError>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Exception);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module nio {
		export module charset {
			export class CoderResult extends java.lang.Object {
				public static class: java.lang.Class<java.nio.charset.CoderResult>;
				public static OVERFLOW: java.nio.charset.CoderResult;
				public static UNDERFLOW: java.nio.charset.CoderResult;
				public isUnmappable(): boolean;
				public isError(): boolean;
				public isOverflow(): boolean;
				public static unmappableForLength(param0: number): java.nio.charset.CoderResult;
				public length(): number;
				public throwException(): void;
				public isUnderflow(): boolean;
				public toString(): string;
				public static malformedForLength(param0: number): java.nio.charset.CoderResult;
				public isMalformed(): boolean;
			}
		}
	}
}

declare module java {
	export module nio {
		export module charset {
			export class CodingErrorAction extends java.lang.Object {
				public static class: java.lang.Class<java.nio.charset.CodingErrorAction>;
				public static IGNORE: java.nio.charset.CodingErrorAction;
				public static REPLACE: java.nio.charset.CodingErrorAction;
				public static REPORT: java.nio.charset.CodingErrorAction;
				public toString(): string;
			}
		}
	}
}

declare module java {
	export module nio {
		export module charset {
			export class IllegalCharsetNameException extends java.lang.IllegalArgumentException {
				public static class: java.lang.Class<java.nio.charset.IllegalCharsetNameException>;
				public getCharsetName(): string;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module nio {
		export module charset {
			export class MalformedInputException extends java.nio.charset.CharacterCodingException {
				public static class: java.lang.Class<java.nio.charset.MalformedInputException>;
				public constructor(param0: number);
				public constructor(param0: string, param1: java.lang.Throwable);
				public getInputLength(): number;
				public getMessage(): string;
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module nio {
		export module charset {
			export class StandardCharsets extends java.lang.Object {
				public static class: java.lang.Class<java.nio.charset.StandardCharsets>;
				public static ISO_8859_1: java.nio.charset.Charset;
				public static US_ASCII: java.nio.charset.Charset;
				public static UTF_16: java.nio.charset.Charset;
				public static UTF_16BE: java.nio.charset.Charset;
				public static UTF_16LE: java.nio.charset.Charset;
				public static UTF_8: java.nio.charset.Charset;
			}
		}
	}
}

declare module java {
	export module nio {
		export module charset {
			export class UnmappableCharacterException extends java.nio.charset.CharacterCodingException {
				public static class: java.lang.Class<java.nio.charset.UnmappableCharacterException>;
				public constructor(param0: number);
				public constructor(param0: string, param1: java.lang.Throwable);
				public getInputLength(): number;
				public getMessage(): string;
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module nio {
		export module charset {
			export class UnsupportedCharsetException extends java.lang.IllegalArgumentException {
				public static class: java.lang.Class<java.nio.charset.UnsupportedCharsetException>;
				public getCharsetName(): string;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module nio {
		export module charset {
			export module spi {
				export abstract class CharsetProvider extends java.lang.Object {
					public static class: java.lang.Class<java.nio.charset.spi.CharsetProvider>;
					public constructor();
					public charsets(): java.util.Iterator<java.nio.charset.Charset>;
					public charsetForName(param0: string): java.nio.charset.Charset;
				}
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export class AccessDeniedException extends java.nio.file.FileSystemException {
				public static class: java.lang.Class<java.nio.file.AccessDeniedException>;
				public constructor(param0: string, param1: string, param2: string);
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export class AccessMode {
				public static class: java.lang.Class<java.nio.file.AccessMode>;
				public static READ: java.nio.file.AccessMode;
				public static WRITE: java.nio.file.AccessMode;
				public static EXECUTE: java.nio.file.AccessMode;
				public static values(): native.Array<java.nio.file.AccessMode>;
				public static valueOf(param0: string): java.nio.file.AccessMode;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export class AtomicMoveNotSupportedException extends java.nio.file.FileSystemException {
				public static class: java.lang.Class<java.nio.file.AtomicMoveNotSupportedException>;
				public constructor(param0: string, param1: string, param2: string);
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export class ClosedDirectoryStreamException extends java.lang.IllegalStateException {
				public static class: java.lang.Class<java.nio.file.ClosedDirectoryStreamException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export class ClosedFileSystemException extends java.lang.IllegalStateException {
				public static class: java.lang.Class<java.nio.file.ClosedFileSystemException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export class ClosedWatchServiceException extends java.lang.IllegalStateException {
				public static class: java.lang.Class<java.nio.file.ClosedWatchServiceException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export class CopyOption extends java.lang.Object {
				public static class: java.lang.Class<java.nio.file.CopyOption>;
				/**
				 * Constructs a new instance of the java.nio.file.CopyOption interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
				});
				public constructor();
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export class DirectoryIteratorException extends java.util.ConcurrentModificationException {
				public static class: java.lang.Class<java.nio.file.DirectoryIteratorException>;
				public getCause(): java.io.IOException;
				public constructor(param0: java.io.IOException);
				public constructor(param0: string, param1: java.lang.Throwable);
				public getCause(): java.lang.Throwable;
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export class DirectoryNotEmptyException extends java.nio.file.FileSystemException {
				public static class: java.lang.Class<java.nio.file.DirectoryNotEmptyException>;
				public constructor(param0: string, param1: string, param2: string);
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export class DirectoryStream<T>  extends java.lang.Object {
				public static class: java.lang.Class<java.nio.file.DirectoryStream<any>>;
				/**
				 * Constructs a new instance of the java.nio.file.DirectoryStream<any> interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					iterator(): java.util.Iterator<T>;
					close(): void;
					iterator(): java.util.Iterator<T>;
					forEach(param0: any /* any*/): void;
					spliterator(): java.util.Spliterator<T>;
					close(): void;
				});
				public constructor();
				public close(): void;
				public spliterator(): java.util.Spliterator<T>;
				public iterator(): java.util.Iterator<T>;
				public forEach(param0: any /* any*/): void;
			}
			export module DirectoryStream {
				export class Filter<T>  extends java.lang.Object {
					public static class: java.lang.Class<java.nio.file.DirectoryStream.Filter<any>>;
					/**
					 * Constructs a new instance of the java.nio.file.DirectoryStream$Filter interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						accept(param0: T): boolean;
					});
					public constructor();
					public accept(param0: T): boolean;
				}
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export class FileAlreadyExistsException extends java.nio.file.FileSystemException {
				public static class: java.lang.Class<java.nio.file.FileAlreadyExistsException>;
				public constructor(param0: string, param1: string, param2: string);
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export abstract class FileStore extends java.lang.Object {
				public static class: java.lang.Class<java.nio.file.FileStore>;
				public supportsFileAttributeView(param0: string): boolean;
				public getTotalSpace(): number;
				public getFileStoreAttributeView(param0: java.lang.Class<any>): java.nio.file.attribute.FileStoreAttributeView;
				public name(): string;
				public getAttribute(param0: string): any;
				public getUnallocatedSpace(): number;
				public isReadOnly(): boolean;
				public type(): string;
				public getUsableSpace(): number;
				public supportsFileAttributeView(param0: java.lang.Class<any>): boolean;
				public constructor();
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export abstract class FileSystem extends java.lang.Object implements java.io.Closeable {
				public static class: java.lang.Class<java.nio.file.FileSystem>;
				public close(): void;
				public supportedFileAttributeViews(): java.util.Set<string>;
				public getUserPrincipalLookupService(): java.nio.file.attribute.UserPrincipalLookupService;
				public provider(): java.nio.file.spi.FileSystemProvider;
				public constructor();
				public getFileStores(): java.lang.Iterable<java.nio.file.FileStore>;
				public newWatchService(): java.nio.file.WatchService;
				public getPathMatcher(param0: string): java.nio.file.PathMatcher;
				public isReadOnly(): boolean;
				public isOpen(): boolean;
				public getSeparator(): string;
				public getPath(param0: string, param1: native.Array<string>): java.nio.file.Path;
				public getRootDirectories(): java.lang.Iterable<java.nio.file.Path>;
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export class FileSystemAlreadyExistsException extends java.lang.RuntimeException {
				public static class: java.lang.Class<java.nio.file.FileSystemAlreadyExistsException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export class FileSystemException extends java.io.IOException {
				public static class: java.lang.Class<java.nio.file.FileSystemException>;
				public getOtherFile(): string;
				public getReason(): string;
				public constructor(param0: string, param1: string, param2: string);
				public constructor(param0: string, param1: java.lang.Throwable);
				public getFile(): string;
				public getMessage(): string;
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export class FileSystemLoopException extends java.nio.file.FileSystemException {
				public static class: java.lang.Class<java.nio.file.FileSystemLoopException>;
				public constructor(param0: string, param1: string, param2: string);
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export class FileSystemNotFoundException extends java.lang.RuntimeException {
				public static class: java.lang.Class<java.nio.file.FileSystemNotFoundException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export class FileSystems extends java.lang.Object {
				public static class: java.lang.Class<java.nio.file.FileSystems>;
				public static newFileSystem(param0: java.net.URI, param1: java.util.Map<string,any>, param2: java.lang.ClassLoader): java.nio.file.FileSystem;
				public static getDefault(): java.nio.file.FileSystem;
				public static newFileSystem(param0: java.net.URI, param1: java.util.Map<string,any>): java.nio.file.FileSystem;
				public static getFileSystem(param0: java.net.URI): java.nio.file.FileSystem;
				public static newFileSystem(param0: java.nio.file.Path, param1: java.lang.ClassLoader): java.nio.file.FileSystem;
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export class FileVisitOption {
				public static class: java.lang.Class<java.nio.file.FileVisitOption>;
				public static FOLLOW_LINKS: java.nio.file.FileVisitOption;
				public static valueOf(param0: string): java.nio.file.FileVisitOption;
				public static values(): native.Array<java.nio.file.FileVisitOption>;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export class FileVisitResult {
				public static class: java.lang.Class<java.nio.file.FileVisitResult>;
				public static CONTINUE: java.nio.file.FileVisitResult;
				public static TERMINATE: java.nio.file.FileVisitResult;
				public static SKIP_SUBTREE: java.nio.file.FileVisitResult;
				public static SKIP_SIBLINGS: java.nio.file.FileVisitResult;
				public static valueOf(param0: string): java.nio.file.FileVisitResult;
				public static values(): native.Array<java.nio.file.FileVisitResult>;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export class FileVisitor<T>  extends java.lang.Object {
				public static class: java.lang.Class<java.nio.file.FileVisitor<any>>;
				/**
				 * Constructs a new instance of the java.nio.file.FileVisitor<any> interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					preVisitDirectory(param0: T, param1: java.nio.file.attribute.BasicFileAttributes): java.nio.file.FileVisitResult;
					visitFile(param0: T, param1: java.nio.file.attribute.BasicFileAttributes): java.nio.file.FileVisitResult;
					visitFileFailed(param0: T, param1: java.io.IOException): java.nio.file.FileVisitResult;
					postVisitDirectory(param0: T, param1: java.io.IOException): java.nio.file.FileVisitResult;
				});
				public constructor();
				public visitFile(param0: T, param1: java.nio.file.attribute.BasicFileAttributes): java.nio.file.FileVisitResult;
				public postVisitDirectory(param0: T, param1: java.io.IOException): java.nio.file.FileVisitResult;
				public preVisitDirectory(param0: T, param1: java.nio.file.attribute.BasicFileAttributes): java.nio.file.FileVisitResult;
				public visitFileFailed(param0: T, param1: java.io.IOException): java.nio.file.FileVisitResult;
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export class Files extends java.lang.Object {
				public static class: java.lang.Class<java.nio.file.Files>;
				public static createSymbolicLink(param0: java.nio.file.Path, param1: java.nio.file.Path, param2: native.Array<java.nio.file.attribute.FileAttribute<any>>): java.nio.file.Path;
				public static deleteIfExists(param0: java.nio.file.Path): boolean;
				public static setOwner(param0: java.nio.file.Path, param1: java.nio.file.attribute.UserPrincipal): java.nio.file.Path;
				public static isSymbolicLink(param0: java.nio.file.Path): boolean;
				public static list(param0: java.nio.file.Path): java.util.stream.Stream<java.nio.file.Path>;
				public static createTempDirectory(param0: java.nio.file.Path, param1: string, param2: native.Array<java.nio.file.attribute.FileAttribute<any>>): java.nio.file.Path;
				public static isExecutable(param0: java.nio.file.Path): boolean;
				public static copy(param0: java.nio.file.Path, param1: java.nio.file.Path, param2: native.Array<java.nio.file.CopyOption>): java.nio.file.Path;
				public static newDirectoryStream(param0: java.nio.file.Path, param1: string): java.nio.file.DirectoryStream<java.nio.file.Path>;
				public static createTempFile(param0: java.nio.file.Path, param1: string, param2: string, param3: native.Array<java.nio.file.attribute.FileAttribute<any>>): java.nio.file.Path;
				public static probeContentType(param0: java.nio.file.Path): string;
				public static getPosixFilePermissions(param0: java.nio.file.Path, param1: native.Array<java.nio.file.LinkOption>): java.util.Set<java.nio.file.attribute.PosixFilePermission>;
				public static getFileAttributeView(param0: java.nio.file.Path, param1: java.lang.Class<any>, param2: native.Array<java.nio.file.LinkOption>): java.nio.file.attribute.FileAttributeView;
				public static newBufferedReader(param0: java.nio.file.Path, param1: java.nio.charset.Charset): java.io.BufferedReader;
				public static newDirectoryStream(param0: java.nio.file.Path): java.nio.file.DirectoryStream<java.nio.file.Path>;
				public static lines(param0: java.nio.file.Path): java.util.stream.Stream<string>;
				public static lines(param0: java.nio.file.Path, param1: java.nio.charset.Charset): java.util.stream.Stream<string>;
				public static isHidden(param0: java.nio.file.Path): boolean;
				public static getAttribute(param0: java.nio.file.Path, param1: string, param2: native.Array<java.nio.file.LinkOption>): any;
				public static newOutputStream(param0: java.nio.file.Path, param1: native.Array<java.nio.file.OpenOption>): java.io.OutputStream;
				public static setLastModifiedTime(param0: java.nio.file.Path, param1: java.nio.file.attribute.FileTime): java.nio.file.Path;
				public static newByteChannel(param0: java.nio.file.Path, param1: java.util.Set<any>, param2: native.Array<java.nio.file.attribute.FileAttribute<any>>): java.nio.channels.SeekableByteChannel;
				public static copy(param0: java.nio.file.Path, param1: java.io.OutputStream): number;
				public static readAttributes(param0: java.nio.file.Path, param1: string, param2: native.Array<java.nio.file.LinkOption>): java.util.Map<string,any>;
				public static getLastModifiedTime(param0: java.nio.file.Path, param1: native.Array<java.nio.file.LinkOption>): java.nio.file.attribute.FileTime;
				public static exists(param0: java.nio.file.Path, param1: native.Array<java.nio.file.LinkOption>): boolean;
				public static setAttribute(param0: java.nio.file.Path, param1: string, param2: any, param3: native.Array<java.nio.file.LinkOption>): java.nio.file.Path;
				public static write(param0: java.nio.file.Path, param1: java.lang.Iterable<any>, param2: java.nio.charset.Charset, param3: native.Array<java.nio.file.OpenOption>): java.nio.file.Path;
				public static isWritable(param0: java.nio.file.Path): boolean;
				public static isRegularFile(param0: java.nio.file.Path, param1: native.Array<java.nio.file.LinkOption>): boolean;
				public static createLink(param0: java.nio.file.Path, param1: java.nio.file.Path): java.nio.file.Path;
				public static newByteChannel(param0: java.nio.file.Path, param1: native.Array<java.nio.file.OpenOption>): java.nio.channels.SeekableByteChannel;
				public static readAllBytes(param0: java.nio.file.Path): native.Array<number>;
				public static isDirectory(param0: java.nio.file.Path, param1: native.Array<java.nio.file.LinkOption>): boolean;
				public static walkFileTree(param0: java.nio.file.Path, param1: java.nio.file.FileVisitor<any>): java.nio.file.Path;
				public static move(param0: java.nio.file.Path, param1: java.nio.file.Path, param2: native.Array<java.nio.file.CopyOption>): java.nio.file.Path;
				public static isSameFile(param0: java.nio.file.Path, param1: java.nio.file.Path): boolean;
				public static readAllLines(param0: java.nio.file.Path, param1: java.nio.charset.Charset): java.util.List<string>;
				public static walkFileTree(param0: java.nio.file.Path, param1: java.util.Set<java.nio.file.FileVisitOption>, param2: number, param3: java.nio.file.FileVisitor<any>): java.nio.file.Path;
				public static newBufferedWriter(param0: java.nio.file.Path, param1: native.Array<java.nio.file.OpenOption>): java.io.BufferedWriter;
				public static getFileStore(param0: java.nio.file.Path): java.nio.file.FileStore;
				public static delete(param0: java.nio.file.Path): void;
				public static createTempDirectory(param0: string, param1: native.Array<java.nio.file.attribute.FileAttribute<any>>): java.nio.file.Path;
				public static getOwner(param0: java.nio.file.Path, param1: native.Array<java.nio.file.LinkOption>): java.nio.file.attribute.UserPrincipal;
				public static readAttributes(param0: java.nio.file.Path, param1: java.lang.Class<any>, param2: native.Array<java.nio.file.LinkOption>): java.nio.file.attribute.BasicFileAttributes;
				public static walk(param0: java.nio.file.Path, param1: native.Array<java.nio.file.FileVisitOption>): java.util.stream.Stream<java.nio.file.Path>;
				public static size(param0: java.nio.file.Path): number;
				public static createFile(param0: java.nio.file.Path, param1: native.Array<java.nio.file.attribute.FileAttribute<any>>): java.nio.file.Path;
				public static newBufferedReader(param0: java.nio.file.Path): java.io.BufferedReader;
				public static readSymbolicLink(param0: java.nio.file.Path): java.nio.file.Path;
				public static walk(param0: java.nio.file.Path, param1: number, param2: native.Array<java.nio.file.FileVisitOption>): java.util.stream.Stream<java.nio.file.Path>;
				public static find(param0: java.nio.file.Path, param1: number, param2: any /* any<java.nio.file.Path,java.nio.file.attribute.BasicFileAttributes>*/, param3: native.Array<java.nio.file.FileVisitOption>): java.util.stream.Stream<java.nio.file.Path>;
				public static setPosixFilePermissions(param0: java.nio.file.Path, param1: java.util.Set<java.nio.file.attribute.PosixFilePermission>): java.nio.file.Path;
				public static isReadable(param0: java.nio.file.Path): boolean;
				public static createDirectory(param0: java.nio.file.Path, param1: native.Array<java.nio.file.attribute.FileAttribute<any>>): java.nio.file.Path;
				public static createTempFile(param0: string, param1: string, param2: native.Array<java.nio.file.attribute.FileAttribute<any>>): java.nio.file.Path;
				public static copy(param0: java.io.InputStream, param1: java.nio.file.Path, param2: native.Array<java.nio.file.CopyOption>): number;
				public static newInputStream(param0: java.nio.file.Path, param1: native.Array<java.nio.file.OpenOption>): java.io.InputStream;
				public static newBufferedWriter(param0: java.nio.file.Path, param1: java.nio.charset.Charset, param2: native.Array<java.nio.file.OpenOption>): java.io.BufferedWriter;
				public static write(param0: java.nio.file.Path, param1: java.lang.Iterable<any>, param2: native.Array<java.nio.file.OpenOption>): java.nio.file.Path;
				public static write(param0: java.nio.file.Path, param1: native.Array<number>, param2: native.Array<java.nio.file.OpenOption>): java.nio.file.Path;
				public static createDirectories(param0: java.nio.file.Path, param1: native.Array<java.nio.file.attribute.FileAttribute<any>>): java.nio.file.Path;
				public static newDirectoryStream(param0: java.nio.file.Path, param1: java.nio.file.DirectoryStream.Filter<any>): java.nio.file.DirectoryStream<java.nio.file.Path>;
				public static readAllLines(param0: java.nio.file.Path): java.util.List<string>;
				public static notExists(param0: java.nio.file.Path, param1: native.Array<java.nio.file.LinkOption>): boolean;
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export class InvalidPathException extends java.lang.IllegalArgumentException {
				public static class: java.lang.Class<java.nio.file.InvalidPathException>;
				public constructor(param0: string, param1: string, param2: number);
				public getReason(): string;
				public constructor(param0: string, param1: java.lang.Throwable);
				public getIndex(): number;
				public getMessage(): string;
				public constructor(param0: java.lang.Throwable);
				public getInput(): string;
				public constructor(param0: string);
				public constructor(param0: string, param1: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export class LinkOption {
				public static class: java.lang.Class<java.nio.file.LinkOption>;
				public static NOFOLLOW_LINKS: java.nio.file.LinkOption;
				public static values(): native.Array<java.nio.file.LinkOption>;
				public static valueOf(param0: string): java.nio.file.LinkOption;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export class LinkPermission extends java.security.BasicPermission {
				public static class: java.lang.Class<java.nio.file.LinkPermission>;
				public checkGuard(param0: any): void;
				public constructor(param0: string);
				public constructor(param0: string, param1: string);
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export class NoSuchFileException extends java.nio.file.FileSystemException {
				public static class: java.lang.Class<java.nio.file.NoSuchFileException>;
				public constructor(param0: string, param1: string, param2: string);
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export class NotDirectoryException extends java.nio.file.FileSystemException {
				public static class: java.lang.Class<java.nio.file.NotDirectoryException>;
				public constructor(param0: string, param1: string, param2: string);
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export class NotLinkException extends java.nio.file.FileSystemException {
				public static class: java.lang.Class<java.nio.file.NotLinkException>;
				public constructor(param0: string, param1: string, param2: string);
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export class OpenOption extends java.lang.Object {
				public static class: java.lang.Class<java.nio.file.OpenOption>;
				/**
				 * Constructs a new instance of the java.nio.file.OpenOption interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
				});
				public constructor();
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export class Path extends java.lang.Object {
				public static class: java.lang.Class<java.nio.file.Path>;
				/**
				 * Constructs a new instance of the java.nio.file.Path interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getFileSystem(): java.nio.file.FileSystem;
					isAbsolute(): boolean;
					getRoot(): java.nio.file.Path;
					getFileName(): java.nio.file.Path;
					getParent(): java.nio.file.Path;
					getNameCount(): number;
					getName(param0: number): java.nio.file.Path;
					subpath(param0: number, param1: number): java.nio.file.Path;
					startsWith(param0: java.nio.file.Path): boolean;
					startsWith(param0: string): boolean;
					endsWith(param0: java.nio.file.Path): boolean;
					endsWith(param0: string): boolean;
					normalize(): java.nio.file.Path;
					resolve(param0: java.nio.file.Path): java.nio.file.Path;
					resolve(param0: string): java.nio.file.Path;
					resolveSibling(param0: java.nio.file.Path): java.nio.file.Path;
					resolveSibling(param0: string): java.nio.file.Path;
					relativize(param0: java.nio.file.Path): java.nio.file.Path;
					toUri(): java.net.URI;
					toAbsolutePath(): java.nio.file.Path;
					toRealPath(param0: native.Array<java.nio.file.LinkOption>): java.nio.file.Path;
					toFile(): java.io.File;
					register(param0: java.nio.file.WatchService, param1: native.Array<java.nio.file.WatchEvent.Kind<any>>, param2: native.Array<java.nio.file.WatchEvent.Modifier>): java.nio.file.WatchKey;
					register(param0: java.nio.file.WatchService, param1: native.Array<java.nio.file.WatchEvent.Kind<any>>): java.nio.file.WatchKey;
					iterator(): java.util.Iterator<java.nio.file.Path>;
					compareTo(param0: java.nio.file.Path): number;
					equals(param0: any): boolean;
					hashCode(): number;
					toString(): string;
					compareTo(param0: any): number;
					iterator(): java.util.Iterator<any>;
					forEach(param0: any /* any*/): void;
					spliterator(): java.util.Spliterator<any>;
					register(param0: java.nio.file.WatchService, param1: native.Array<java.nio.file.WatchEvent.Kind<any>>, param2: native.Array<java.nio.file.WatchEvent.Modifier>): java.nio.file.WatchKey;
					register(param0: java.nio.file.WatchService, param1: native.Array<java.nio.file.WatchEvent.Kind<any>>): java.nio.file.WatchKey;
				});
				public constructor();
				public isAbsolute(): boolean;
				public getNameCount(): number;
				public relativize(param0: java.nio.file.Path): java.nio.file.Path;
				public resolveSibling(param0: string): java.nio.file.Path;
				public iterator(): java.util.Iterator<java.nio.file.Path>;
				public register(param0: java.nio.file.WatchService, param1: native.Array<java.nio.file.WatchEvent.Kind<any>>, param2: native.Array<java.nio.file.WatchEvent.Modifier>): java.nio.file.WatchKey;
				public toUri(): java.net.URI;
				public getFileName(): java.nio.file.Path;
				public toFile(): java.io.File;
				public getFileSystem(): java.nio.file.FileSystem;
				public startsWith(param0: string): boolean;
				public hashCode(): number;
				public equals(param0: any): boolean;
				public endsWith(param0: string): boolean;
				public toRealPath(param0: native.Array<java.nio.file.LinkOption>): java.nio.file.Path;
				public getRoot(): java.nio.file.Path;
				public normalize(): java.nio.file.Path;
				public resolveSibling(param0: java.nio.file.Path): java.nio.file.Path;
				public spliterator(): java.util.Spliterator<any>;
				public resolve(param0: java.nio.file.Path): java.nio.file.Path;
				public iterator(): java.util.Iterator<any>;
				public register(param0: java.nio.file.WatchService, param1: native.Array<java.nio.file.WatchEvent.Kind<any>>): java.nio.file.WatchKey;
				public toString(): string;
				public subpath(param0: number, param1: number): java.nio.file.Path;
				public startsWith(param0: java.nio.file.Path): boolean;
				public toAbsolutePath(): java.nio.file.Path;
				public getName(param0: number): java.nio.file.Path;
				public forEach(param0: any /* any*/): void;
				public getParent(): java.nio.file.Path;
				public resolve(param0: string): java.nio.file.Path;
				public endsWith(param0: java.nio.file.Path): boolean;
				public compareTo(param0: java.nio.file.Path): number;
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export class PathMatcher extends java.lang.Object {
				public static class: java.lang.Class<java.nio.file.PathMatcher>;
				/**
				 * Constructs a new instance of the java.nio.file.PathMatcher interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					matches(param0: java.nio.file.Path): boolean;
				});
				public constructor();
				public matches(param0: java.nio.file.Path): boolean;
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export class Paths extends java.lang.Object {
				public static class: java.lang.Class<java.nio.file.Paths>;
				public static get(param0: java.net.URI): java.nio.file.Path;
				public static get(param0: string, param1: native.Array<string>): java.nio.file.Path;
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export class ProviderMismatchException extends java.lang.IllegalArgumentException {
				public static class: java.lang.Class<java.nio.file.ProviderMismatchException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export class ProviderNotFoundException extends java.lang.RuntimeException {
				public static class: java.lang.Class<java.nio.file.ProviderNotFoundException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export class ReadOnlyFileSystemException extends java.lang.UnsupportedOperationException {
				public static class: java.lang.Class<java.nio.file.ReadOnlyFileSystemException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export class SecureDirectoryStream<T>  extends java.nio.file.DirectoryStream<any> {
				public static class: java.lang.Class<java.nio.file.SecureDirectoryStream<any>>;
				/**
				 * Constructs a new instance of the java.nio.file.SecureDirectoryStream<any> interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					newDirectoryStream(param0: any, param1: native.Array<java.nio.file.LinkOption>): java.nio.file.SecureDirectoryStream<any>;
					newByteChannel(param0: any, param1: java.util.Set<any>, param2: native.Array<java.nio.file.attribute.FileAttribute<any>>): java.nio.channels.SeekableByteChannel;
					deleteFile(param0: any): void;
					deleteDirectory(param0: any): void;
					move(param0: any, param1: java.nio.file.SecureDirectoryStream<any>, param2: any): void;
					getFileAttributeView(param0: java.lang.Class<any>): java.nio.file.attribute.FileAttributeView;
					getFileAttributeView(param0: any, param1: java.lang.Class<any>, param2: native.Array<java.nio.file.LinkOption>): java.nio.file.attribute.FileAttributeView;
					iterator(): java.util.Iterator<any>;
					close(): void;
					iterator(): java.util.Iterator<any>;
					forEach(param0: any /* any*/): void;
					spliterator(): java.util.Spliterator<any>;
					close(): void;
				});
				public constructor();
				public deleteFile(param0: any): void;
				public close(): void;
				public getFileAttributeView(param0: any, param1: java.lang.Class<any>, param2: native.Array<java.nio.file.LinkOption>): java.nio.file.attribute.FileAttributeView;
				public spliterator(): java.util.Spliterator<any>;
				public newByteChannel(param0: any, param1: java.util.Set<any>, param2: native.Array<java.nio.file.attribute.FileAttribute<any>>): java.nio.channels.SeekableByteChannel;
				public forEach(param0: any /* any*/): void;
				public iterator(): java.util.Iterator<any>;
				public deleteDirectory(param0: any): void;
				public move(param0: any, param1: java.nio.file.SecureDirectoryStream<any>, param2: any): void;
				public getFileAttributeView(param0: java.lang.Class<any>): java.nio.file.attribute.FileAttributeView;
				public newDirectoryStream(param0: any, param1: native.Array<java.nio.file.LinkOption>): java.nio.file.SecureDirectoryStream<any>;
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export class SimpleFileVisitor<T>  extends java.nio.file.FileVisitor<any> {
				public static class: java.lang.Class<java.nio.file.SimpleFileVisitor<any>>;
				public preVisitDirectory(param0: any, param1: java.nio.file.attribute.BasicFileAttributes): java.nio.file.FileVisitResult;
				public visitFileFailed(param0: any, param1: java.io.IOException): java.nio.file.FileVisitResult;
				public visitFile(param0: any, param1: java.nio.file.attribute.BasicFileAttributes): java.nio.file.FileVisitResult;
				public postVisitDirectory(param0: any, param1: java.io.IOException): java.nio.file.FileVisitResult;
				public constructor();
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export class StandardCopyOption extends java.nio.file.CopyOption {
				public static class: java.lang.Class<java.nio.file.StandardCopyOption>;
				public static REPLACE_EXISTING: java.nio.file.StandardCopyOption;
				public static COPY_ATTRIBUTES: java.nio.file.StandardCopyOption;
				public static ATOMIC_MOVE: java.nio.file.StandardCopyOption;
				public static values(): native.Array<java.nio.file.StandardCopyOption>;
				public static valueOf(param0: string): java.nio.file.StandardCopyOption;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export class StandardOpenOption extends java.nio.file.OpenOption {
				public static class: java.lang.Class<java.nio.file.StandardOpenOption>;
				public static READ: java.nio.file.StandardOpenOption;
				public static WRITE: java.nio.file.StandardOpenOption;
				public static APPEND: java.nio.file.StandardOpenOption;
				public static TRUNCATE_EXISTING: java.nio.file.StandardOpenOption;
				public static CREATE: java.nio.file.StandardOpenOption;
				public static CREATE_NEW: java.nio.file.StandardOpenOption;
				public static DELETE_ON_CLOSE: java.nio.file.StandardOpenOption;
				public static SPARSE: java.nio.file.StandardOpenOption;
				public static SYNC: java.nio.file.StandardOpenOption;
				public static DSYNC: java.nio.file.StandardOpenOption;
				public static valueOf(param0: string): java.nio.file.StandardOpenOption;
				public static values(): native.Array<java.nio.file.StandardOpenOption>;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export class StandardWatchEventKinds extends java.lang.Object {
				public static class: java.lang.Class<java.nio.file.StandardWatchEventKinds>;
				public static ENTRY_CREATE: java.nio.file.WatchEvent.Kind<java.nio.file.Path>;
				public static ENTRY_DELETE: java.nio.file.WatchEvent.Kind<java.nio.file.Path>;
				public static ENTRY_MODIFY: java.nio.file.WatchEvent.Kind<java.nio.file.Path>;
				public static OVERFLOW: java.nio.file.WatchEvent.Kind<any>;
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export class WatchEvent<T>  extends java.lang.Object {
				public static class: java.lang.Class<java.nio.file.WatchEvent<any>>;
				/**
				 * Constructs a new instance of the java.nio.file.WatchEvent<any> interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					kind(): java.nio.file.WatchEvent.Kind<T>;
					count(): number;
					context(): T;
				});
				public constructor();
				public context(): T;
				public count(): number;
				public kind(): java.nio.file.WatchEvent.Kind<T>;
			}
			export module WatchEvent {
				export class Kind<T>  extends java.lang.Object {
					public static class: java.lang.Class<java.nio.file.WatchEvent.Kind<any>>;
					/**
					 * Constructs a new instance of the java.nio.file.WatchEvent$Kind interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						name(): string;
						type(): java.lang.Class<T>;
					});
					public constructor();
					public name(): string;
					public type(): java.lang.Class<T>;
				}
				export class Modifier extends java.lang.Object {
					public static class: java.lang.Class<java.nio.file.WatchEvent.Modifier>;
					/**
					 * Constructs a new instance of the java.nio.file.WatchEvent$Modifier interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						name(): string;
					});
					public constructor();
					public name(): string;
				}
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export class WatchKey extends java.lang.Object {
				public static class: java.lang.Class<java.nio.file.WatchKey>;
				/**
				 * Constructs a new instance of the java.nio.file.WatchKey interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					isValid(): boolean;
					pollEvents(): java.util.List<java.nio.file.WatchEvent<any>>;
					reset(): boolean;
					cancel(): void;
					watchable(): java.nio.file.Watchable;
				});
				public constructor();
				public pollEvents(): java.util.List<java.nio.file.WatchEvent<any>>;
				public watchable(): java.nio.file.Watchable;
				public reset(): boolean;
				public cancel(): void;
				public isValid(): boolean;
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export class WatchService extends java.lang.Object implements java.io.Closeable {
				public static class: java.lang.Class<java.nio.file.WatchService>;
				/**
				 * Constructs a new instance of the java.nio.file.WatchService interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					close(): void;
					poll(): java.nio.file.WatchKey;
					poll(param0: number, param1: java.util.concurrent.TimeUnit): java.nio.file.WatchKey;
					take(): java.nio.file.WatchKey;
					close(): void;
					close(): void;
				});
				public constructor();
				public poll(param0: number, param1: java.util.concurrent.TimeUnit): java.nio.file.WatchKey;
				public close(): void;
				public poll(): java.nio.file.WatchKey;
				public take(): java.nio.file.WatchKey;
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export class Watchable extends java.lang.Object {
				public static class: java.lang.Class<java.nio.file.Watchable>;
				/**
				 * Constructs a new instance of the java.nio.file.Watchable interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					register(param0: java.nio.file.WatchService, param1: native.Array<java.nio.file.WatchEvent.Kind<any>>, param2: native.Array<java.nio.file.WatchEvent.Modifier>): java.nio.file.WatchKey;
					register(param0: java.nio.file.WatchService, param1: native.Array<java.nio.file.WatchEvent.Kind<any>>): java.nio.file.WatchKey;
				});
				public constructor();
				public register(param0: java.nio.file.WatchService, param1: native.Array<java.nio.file.WatchEvent.Kind<any>>, param2: native.Array<java.nio.file.WatchEvent.Modifier>): java.nio.file.WatchKey;
				public register(param0: java.nio.file.WatchService, param1: native.Array<java.nio.file.WatchEvent.Kind<any>>): java.nio.file.WatchKey;
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export module attribute {
				export class AclEntry extends java.lang.Object {
					public static class: java.lang.Class<java.nio.file.attribute.AclEntry>;
					public equals(param0: any): boolean;
					public principal(): java.nio.file.attribute.UserPrincipal;
					public toString(): string;
					public static newBuilder(param0: java.nio.file.attribute.AclEntry): java.nio.file.attribute.AclEntry.Builder;
					public hashCode(): number;
					public type(): java.nio.file.attribute.AclEntryType;
					public permissions(): java.util.Set<java.nio.file.attribute.AclEntryPermission>;
					public static newBuilder(): java.nio.file.attribute.AclEntry.Builder;
					public flags(): java.util.Set<java.nio.file.attribute.AclEntryFlag>;
				}
				export module AclEntry {
					export class Builder extends java.lang.Object {
						public static class: java.lang.Class<java.nio.file.attribute.AclEntry.Builder>;
						public setFlags(param0: native.Array<java.nio.file.attribute.AclEntryFlag>): java.nio.file.attribute.AclEntry.Builder;
						public build(): java.nio.file.attribute.AclEntry;
						public setPermissions(param0: java.util.Set<java.nio.file.attribute.AclEntryPermission>): java.nio.file.attribute.AclEntry.Builder;
						public setPermissions(param0: native.Array<java.nio.file.attribute.AclEntryPermission>): java.nio.file.attribute.AclEntry.Builder;
						public setType(param0: java.nio.file.attribute.AclEntryType): java.nio.file.attribute.AclEntry.Builder;
						public setPrincipal(param0: java.nio.file.attribute.UserPrincipal): java.nio.file.attribute.AclEntry.Builder;
						public setFlags(param0: java.util.Set<java.nio.file.attribute.AclEntryFlag>): java.nio.file.attribute.AclEntry.Builder;
					}
				}
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export module attribute {
				export class AclEntryFlag {
					public static class: java.lang.Class<java.nio.file.attribute.AclEntryFlag>;
					public static FILE_INHERIT: java.nio.file.attribute.AclEntryFlag;
					public static DIRECTORY_INHERIT: java.nio.file.attribute.AclEntryFlag;
					public static NO_PROPAGATE_INHERIT: java.nio.file.attribute.AclEntryFlag;
					public static INHERIT_ONLY: java.nio.file.attribute.AclEntryFlag;
					public static valueOf(param0: string): java.nio.file.attribute.AclEntryFlag;
					public static values(): native.Array<java.nio.file.attribute.AclEntryFlag>;
					public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
				}
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export module attribute {
				export class AclEntryPermission {
					public static class: java.lang.Class<java.nio.file.attribute.AclEntryPermission>;
					public static READ_DATA: java.nio.file.attribute.AclEntryPermission;
					public static WRITE_DATA: java.nio.file.attribute.AclEntryPermission;
					public static APPEND_DATA: java.nio.file.attribute.AclEntryPermission;
					public static READ_NAMED_ATTRS: java.nio.file.attribute.AclEntryPermission;
					public static WRITE_NAMED_ATTRS: java.nio.file.attribute.AclEntryPermission;
					public static EXECUTE: java.nio.file.attribute.AclEntryPermission;
					public static DELETE_CHILD: java.nio.file.attribute.AclEntryPermission;
					public static READ_ATTRIBUTES: java.nio.file.attribute.AclEntryPermission;
					public static WRITE_ATTRIBUTES: java.nio.file.attribute.AclEntryPermission;
					public static DELETE: java.nio.file.attribute.AclEntryPermission;
					public static READ_ACL: java.nio.file.attribute.AclEntryPermission;
					public static WRITE_ACL: java.nio.file.attribute.AclEntryPermission;
					public static WRITE_OWNER: java.nio.file.attribute.AclEntryPermission;
					public static SYNCHRONIZE: java.nio.file.attribute.AclEntryPermission;
					public static ADD_FILE: java.nio.file.attribute.AclEntryPermission;
					public static ADD_SUBDIRECTORY: java.nio.file.attribute.AclEntryPermission;
					public static LIST_DIRECTORY: java.nio.file.attribute.AclEntryPermission;
					public static values(): native.Array<java.nio.file.attribute.AclEntryPermission>;
					public static valueOf(param0: string): java.nio.file.attribute.AclEntryPermission;
					public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
				}
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export module attribute {
				export class AclEntryType {
					public static class: java.lang.Class<java.nio.file.attribute.AclEntryType>;
					public static ALLOW: java.nio.file.attribute.AclEntryType;
					public static DENY: java.nio.file.attribute.AclEntryType;
					public static AUDIT: java.nio.file.attribute.AclEntryType;
					public static ALARM: java.nio.file.attribute.AclEntryType;
					public static values(): native.Array<java.nio.file.attribute.AclEntryType>;
					public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
					public static valueOf(param0: string): java.nio.file.attribute.AclEntryType;
				}
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export module attribute {
				export class AclFileAttributeView extends java.lang.Object implements java.nio.file.attribute.FileOwnerAttributeView {
					public static class: java.lang.Class<java.nio.file.attribute.AclFileAttributeView>;
					/**
					 * Constructs a new instance of the java.nio.file.attribute.AclFileAttributeView interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						name(): string;
						getAcl(): java.util.List<java.nio.file.attribute.AclEntry>;
						setAcl(param0: java.util.List<java.nio.file.attribute.AclEntry>): void;
						name(): string;
						getOwner(): java.nio.file.attribute.UserPrincipal;
						setOwner(param0: java.nio.file.attribute.UserPrincipal): void;
						name(): string;
					});
					public constructor();
					public getOwner(): java.nio.file.attribute.UserPrincipal;
					public name(): string;
					public setAcl(param0: java.util.List<java.nio.file.attribute.AclEntry>): void;
					public getAcl(): java.util.List<java.nio.file.attribute.AclEntry>;
					public setOwner(param0: java.nio.file.attribute.UserPrincipal): void;
				}
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export module attribute {
				export class AttributeView extends java.lang.Object {
					public static class: java.lang.Class<java.nio.file.attribute.AttributeView>;
					/**
					 * Constructs a new instance of the java.nio.file.attribute.AttributeView interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						name(): string;
					});
					public constructor();
					public name(): string;
				}
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export module attribute {
				export class BasicFileAttributeView extends java.lang.Object implements java.nio.file.attribute.FileAttributeView {
					public static class: java.lang.Class<java.nio.file.attribute.BasicFileAttributeView>;
					/**
					 * Constructs a new instance of the java.nio.file.attribute.BasicFileAttributeView interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						name(): string;
						readAttributes(): java.nio.file.attribute.BasicFileAttributes;
						setTimes(param0: java.nio.file.attribute.FileTime, param1: java.nio.file.attribute.FileTime, param2: java.nio.file.attribute.FileTime): void;
						name(): string;
					});
					public constructor();
					public name(): string;
					public setTimes(param0: java.nio.file.attribute.FileTime, param1: java.nio.file.attribute.FileTime, param2: java.nio.file.attribute.FileTime): void;
					public readAttributes(): java.nio.file.attribute.BasicFileAttributes;
				}
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export module attribute {
				export class BasicFileAttributes extends java.lang.Object {
					public static class: java.lang.Class<java.nio.file.attribute.BasicFileAttributes>;
					/**
					 * Constructs a new instance of the java.nio.file.attribute.BasicFileAttributes interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						lastModifiedTime(): java.nio.file.attribute.FileTime;
						lastAccessTime(): java.nio.file.attribute.FileTime;
						creationTime(): java.nio.file.attribute.FileTime;
						isRegularFile(): boolean;
						isDirectory(): boolean;
						isSymbolicLink(): boolean;
						isOther(): boolean;
						size(): number;
						fileKey(): any;
					});
					public constructor();
					public fileKey(): any;
					public isDirectory(): boolean;
					public lastModifiedTime(): java.nio.file.attribute.FileTime;
					public creationTime(): java.nio.file.attribute.FileTime;
					public lastAccessTime(): java.nio.file.attribute.FileTime;
					public isRegularFile(): boolean;
					public size(): number;
					public isSymbolicLink(): boolean;
					public isOther(): boolean;
				}
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export module attribute {
				export class DosFileAttributeView extends java.lang.Object implements java.nio.file.attribute.BasicFileAttributeView {
					public static class: java.lang.Class<java.nio.file.attribute.DosFileAttributeView>;
					/**
					 * Constructs a new instance of the java.nio.file.attribute.DosFileAttributeView interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						name(): string;
						readAttributes(): java.nio.file.attribute.DosFileAttributes;
						setReadOnly(param0: boolean): void;
						setHidden(param0: boolean): void;
						setSystem(param0: boolean): void;
						setArchive(param0: boolean): void;
						readAttributes(): java.nio.file.attribute.BasicFileAttributes;
						name(): string;
						readAttributes(): java.nio.file.attribute.BasicFileAttributes;
						setTimes(param0: java.nio.file.attribute.FileTime, param1: java.nio.file.attribute.FileTime, param2: java.nio.file.attribute.FileTime): void;
						name(): string;
					});
					public constructor();
					public setArchive(param0: boolean): void;
					public name(): string;
					public setSystem(param0: boolean): void;
					public setTimes(param0: java.nio.file.attribute.FileTime, param1: java.nio.file.attribute.FileTime, param2: java.nio.file.attribute.FileTime): void;
					public setHidden(param0: boolean): void;
					public readAttributes(): java.nio.file.attribute.DosFileAttributes;
					public readAttributes(): java.nio.file.attribute.BasicFileAttributes;
					public setReadOnly(param0: boolean): void;
				}
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export module attribute {
				export class DosFileAttributes extends java.lang.Object implements java.nio.file.attribute.BasicFileAttributes {
					public static class: java.lang.Class<java.nio.file.attribute.DosFileAttributes>;
					/**
					 * Constructs a new instance of the java.nio.file.attribute.DosFileAttributes interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						isReadOnly(): boolean;
						isHidden(): boolean;
						isArchive(): boolean;
						isSystem(): boolean;
						lastModifiedTime(): java.nio.file.attribute.FileTime;
						lastAccessTime(): java.nio.file.attribute.FileTime;
						creationTime(): java.nio.file.attribute.FileTime;
						isRegularFile(): boolean;
						isDirectory(): boolean;
						isSymbolicLink(): boolean;
						isOther(): boolean;
						size(): number;
						fileKey(): any;
					});
					public constructor();
					public fileKey(): any;
					public isArchive(): boolean;
					public isHidden(): boolean;
					public size(): number;
					public isOther(): boolean;
					public isDirectory(): boolean;
					public lastModifiedTime(): java.nio.file.attribute.FileTime;
					public creationTime(): java.nio.file.attribute.FileTime;
					public lastAccessTime(): java.nio.file.attribute.FileTime;
					public isRegularFile(): boolean;
					public isReadOnly(): boolean;
					public isSystem(): boolean;
					public isSymbolicLink(): boolean;
				}
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export module attribute {
				export class FileAttribute<T>  extends java.lang.Object {
					public static class: java.lang.Class<java.nio.file.attribute.FileAttribute<any>>;
					/**
					 * Constructs a new instance of the java.nio.file.attribute.FileAttribute<any> interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						name(): string;
						value(): T;
					});
					public constructor();
					public name(): string;
					public value(): T;
				}
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export module attribute {
				export class FileAttributeView extends java.lang.Object implements java.nio.file.attribute.AttributeView {
					public static class: java.lang.Class<java.nio.file.attribute.FileAttributeView>;
					/**
					 * Constructs a new instance of the java.nio.file.attribute.FileAttributeView interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						name(): string;
					});
					public constructor();
					public name(): string;
				}
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export module attribute {
				export class FileOwnerAttributeView extends java.lang.Object implements java.nio.file.attribute.FileAttributeView {
					public static class: java.lang.Class<java.nio.file.attribute.FileOwnerAttributeView>;
					/**
					 * Constructs a new instance of the java.nio.file.attribute.FileOwnerAttributeView interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						name(): string;
						getOwner(): java.nio.file.attribute.UserPrincipal;
						setOwner(param0: java.nio.file.attribute.UserPrincipal): void;
						name(): string;
					});
					public constructor();
					public getOwner(): java.nio.file.attribute.UserPrincipal;
					public name(): string;
					public setOwner(param0: java.nio.file.attribute.UserPrincipal): void;
				}
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export module attribute {
				export class FileStoreAttributeView extends java.lang.Object implements java.nio.file.attribute.AttributeView {
					public static class: java.lang.Class<java.nio.file.attribute.FileStoreAttributeView>;
					/**
					 * Constructs a new instance of the java.nio.file.attribute.FileStoreAttributeView interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						name(): string;
					});
					public constructor();
					public name(): string;
				}
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export module attribute {
				export class FileTime extends java.lang.Comparable<java.nio.file.attribute.FileTime> {
					public static class: java.lang.Class<java.nio.file.attribute.FileTime>;
					public equals(param0: any): boolean;
					public static fromMillis(param0: number): java.nio.file.attribute.FileTime;
					public compareTo(param0: java.nio.file.attribute.FileTime): number;
					public static from(param0: java.time.Instant): java.nio.file.attribute.FileTime;
					public to(param0: java.util.concurrent.TimeUnit): number;
					public toString(): string;
					public toInstant(): java.time.Instant;
					public hashCode(): number;
					public toMillis(): number;
					public static from(param0: number, param1: java.util.concurrent.TimeUnit): java.nio.file.attribute.FileTime;
				}
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export module attribute {
				export class GroupPrincipal extends java.lang.Object implements java.nio.file.attribute.UserPrincipal {
					public static class: java.lang.Class<java.nio.file.attribute.GroupPrincipal>;
					/**
					 * Constructs a new instance of the java.nio.file.attribute.GroupPrincipal interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						equals(param0: any): boolean;
						toString(): string;
						hashCode(): number;
						getName(): string;
						implies(param0: javax.security.auth.Subject): boolean;
					});
					public constructor();
					public equals(param0: any): boolean;
					public toString(): string;
					public implies(param0: javax.security.auth.Subject): boolean;
					public getName(): string;
					public hashCode(): number;
				}
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export module attribute {
				export class PosixFileAttributeView extends java.lang.Object implements java.nio.file.attribute.BasicFileAttributeView, java.nio.file.attribute.FileOwnerAttributeView {
					public static class: java.lang.Class<java.nio.file.attribute.PosixFileAttributeView>;
					/**
					 * Constructs a new instance of the java.nio.file.attribute.PosixFileAttributeView interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						name(): string;
						readAttributes(): java.nio.file.attribute.PosixFileAttributes;
						setPermissions(param0: java.util.Set<java.nio.file.attribute.PosixFilePermission>): void;
						setGroup(param0: java.nio.file.attribute.GroupPrincipal): void;
						readAttributes(): java.nio.file.attribute.BasicFileAttributes;
						name(): string;
						readAttributes(): java.nio.file.attribute.BasicFileAttributes;
						setTimes(param0: java.nio.file.attribute.FileTime, param1: java.nio.file.attribute.FileTime, param2: java.nio.file.attribute.FileTime): void;
						name(): string;
						getOwner(): java.nio.file.attribute.UserPrincipal;
						setOwner(param0: java.nio.file.attribute.UserPrincipal): void;
						name(): string;
						name(): string;
					});
					public constructor();
					public setGroup(param0: java.nio.file.attribute.GroupPrincipal): void;
					public getOwner(): java.nio.file.attribute.UserPrincipal;
					public name(): string;
					public setTimes(param0: java.nio.file.attribute.FileTime, param1: java.nio.file.attribute.FileTime, param2: java.nio.file.attribute.FileTime): void;
					public readAttributes(): java.nio.file.attribute.BasicFileAttributes;
					public setPermissions(param0: java.util.Set<java.nio.file.attribute.PosixFilePermission>): void;
					public readAttributes(): java.nio.file.attribute.PosixFileAttributes;
					public setOwner(param0: java.nio.file.attribute.UserPrincipal): void;
				}
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export module attribute {
				export class PosixFileAttributes extends java.lang.Object implements java.nio.file.attribute.BasicFileAttributes {
					public static class: java.lang.Class<java.nio.file.attribute.PosixFileAttributes>;
					/**
					 * Constructs a new instance of the java.nio.file.attribute.PosixFileAttributes interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						owner(): java.nio.file.attribute.UserPrincipal;
						group(): java.nio.file.attribute.GroupPrincipal;
						permissions(): java.util.Set<java.nio.file.attribute.PosixFilePermission>;
						lastModifiedTime(): java.nio.file.attribute.FileTime;
						lastAccessTime(): java.nio.file.attribute.FileTime;
						creationTime(): java.nio.file.attribute.FileTime;
						isRegularFile(): boolean;
						isDirectory(): boolean;
						isSymbolicLink(): boolean;
						isOther(): boolean;
						size(): number;
						fileKey(): any;
					});
					public constructor();
					public fileKey(): any;
					public permissions(): java.util.Set<java.nio.file.attribute.PosixFilePermission>;
					public group(): java.nio.file.attribute.GroupPrincipal;
					public isDirectory(): boolean;
					public lastModifiedTime(): java.nio.file.attribute.FileTime;
					public creationTime(): java.nio.file.attribute.FileTime;
					public lastAccessTime(): java.nio.file.attribute.FileTime;
					public isRegularFile(): boolean;
					public size(): number;
					public isSymbolicLink(): boolean;
					public owner(): java.nio.file.attribute.UserPrincipal;
					public isOther(): boolean;
				}
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export module attribute {
				export class PosixFilePermission {
					public static class: java.lang.Class<java.nio.file.attribute.PosixFilePermission>;
					public static OWNER_READ: java.nio.file.attribute.PosixFilePermission;
					public static OWNER_WRITE: java.nio.file.attribute.PosixFilePermission;
					public static OWNER_EXECUTE: java.nio.file.attribute.PosixFilePermission;
					public static GROUP_READ: java.nio.file.attribute.PosixFilePermission;
					public static GROUP_WRITE: java.nio.file.attribute.PosixFilePermission;
					public static GROUP_EXECUTE: java.nio.file.attribute.PosixFilePermission;
					public static OTHERS_READ: java.nio.file.attribute.PosixFilePermission;
					public static OTHERS_WRITE: java.nio.file.attribute.PosixFilePermission;
					public static OTHERS_EXECUTE: java.nio.file.attribute.PosixFilePermission;
					public static values(): native.Array<java.nio.file.attribute.PosixFilePermission>;
					public static valueOf(param0: string): java.nio.file.attribute.PosixFilePermission;
					public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
				}
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export module attribute {
				export class PosixFilePermissions extends java.lang.Object {
					public static class: java.lang.Class<java.nio.file.attribute.PosixFilePermissions>;
					public static fromString(param0: string): java.util.Set<java.nio.file.attribute.PosixFilePermission>;
					public toString(): string;
					public static asFileAttribute(param0: java.util.Set<java.nio.file.attribute.PosixFilePermission>): java.nio.file.attribute.FileAttribute<java.util.Set<java.nio.file.attribute.PosixFilePermission>>;
					public static toString(param0: java.util.Set<java.nio.file.attribute.PosixFilePermission>): string;
				}
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export module attribute {
				export class UserDefinedFileAttributeView extends java.lang.Object implements java.nio.file.attribute.FileAttributeView {
					public static class: java.lang.Class<java.nio.file.attribute.UserDefinedFileAttributeView>;
					/**
					 * Constructs a new instance of the java.nio.file.attribute.UserDefinedFileAttributeView interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						name(): string;
						list(): java.util.List<string>;
						size(param0: string): number;
						read(param0: string, param1: java.nio.ByteBuffer): number;
						write(param0: string, param1: java.nio.ByteBuffer): number;
						delete(param0: string): void;
						name(): string;
					});
					public constructor();
					public name(): string;
					public read(param0: string, param1: java.nio.ByteBuffer): number;
					public size(param0: string): number;
					public list(): java.util.List<string>;
					public delete(param0: string): void;
					public write(param0: string, param1: java.nio.ByteBuffer): number;
				}
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export module attribute {
				export class UserPrincipal extends java.lang.Object implements java.security.Principal {
					public static class: java.lang.Class<java.nio.file.attribute.UserPrincipal>;
					/**
					 * Constructs a new instance of the java.nio.file.attribute.UserPrincipal interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						equals(param0: any): boolean;
						toString(): string;
						hashCode(): number;
						getName(): string;
						implies(param0: javax.security.auth.Subject): boolean;
					});
					public constructor();
					public equals(param0: any): boolean;
					public toString(): string;
					public implies(param0: javax.security.auth.Subject): boolean;
					public getName(): string;
					public hashCode(): number;
				}
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export module attribute {
				export abstract class UserPrincipalLookupService extends java.lang.Object {
					public static class: java.lang.Class<java.nio.file.attribute.UserPrincipalLookupService>;
					public lookupPrincipalByName(param0: string): java.nio.file.attribute.UserPrincipal;
					public constructor();
					public lookupPrincipalByGroupName(param0: string): java.nio.file.attribute.GroupPrincipal;
				}
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export module attribute {
				export class UserPrincipalNotFoundException extends java.io.IOException {
					public static class: java.lang.Class<java.nio.file.attribute.UserPrincipalNotFoundException>;
					public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
					public constructor(param0: string, param1: java.lang.Throwable);
					public constructor(param0: string);
					public constructor(param0: java.lang.Throwable);
					public constructor();
					public getName(): string;
				}
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export module spi {
				export abstract class FileSystemProvider extends java.lang.Object {
					public static class: java.lang.Class<java.nio.file.spi.FileSystemProvider>;
					public newByteChannel(param0: java.nio.file.Path, param1: java.util.Set<any>, param2: native.Array<java.nio.file.attribute.FileAttribute<any>>): java.nio.channels.SeekableByteChannel;
					public newFileSystem(param0: java.net.URI, param1: java.util.Map<string,any>): java.nio.file.FileSystem;
					public newAsynchronousFileChannel(param0: java.nio.file.Path, param1: java.util.Set<any>, param2: java.util.concurrent.ExecutorService, param3: native.Array<java.nio.file.attribute.FileAttribute<any>>): java.nio.channels.AsynchronousFileChannel;
					public getScheme(): string;
					public getFileAttributeView(param0: java.nio.file.Path, param1: java.lang.Class<any>, param2: native.Array<java.nio.file.LinkOption>): java.nio.file.attribute.FileAttributeView;
					public constructor();
					public createSymbolicLink(param0: java.nio.file.Path, param1: java.nio.file.Path, param2: native.Array<java.nio.file.attribute.FileAttribute<any>>): void;
					public createLink(param0: java.nio.file.Path, param1: java.nio.file.Path): void;
					public move(param0: java.nio.file.Path, param1: java.nio.file.Path, param2: native.Array<java.nio.file.CopyOption>): void;
					public newFileChannel(param0: java.nio.file.Path, param1: java.util.Set<any>, param2: native.Array<java.nio.file.attribute.FileAttribute<any>>): java.nio.channels.FileChannel;
					public readAttributes(param0: java.nio.file.Path, param1: java.lang.Class<any>, param2: native.Array<java.nio.file.LinkOption>): java.nio.file.attribute.BasicFileAttributes;
					public isSameFile(param0: java.nio.file.Path, param1: java.nio.file.Path): boolean;
					public isHidden(param0: java.nio.file.Path): boolean;
					public newInputStream(param0: java.nio.file.Path, param1: native.Array<java.nio.file.OpenOption>): java.io.InputStream;
					public readAttributes(param0: java.nio.file.Path, param1: string, param2: native.Array<java.nio.file.LinkOption>): java.util.Map<string,any>;
					public setAttribute(param0: java.nio.file.Path, param1: string, param2: any, param3: native.Array<java.nio.file.LinkOption>): void;
					public getFileStore(param0: java.nio.file.Path): java.nio.file.FileStore;
					public newFileSystem(param0: java.nio.file.Path, param1: java.util.Map<string,any>): java.nio.file.FileSystem;
					public newOutputStream(param0: java.nio.file.Path, param1: native.Array<java.nio.file.OpenOption>): java.io.OutputStream;
					public createDirectory(param0: java.nio.file.Path, param1: native.Array<java.nio.file.attribute.FileAttribute<any>>): void;
					public deleteIfExists(param0: java.nio.file.Path): boolean;
					public getFileSystem(param0: java.net.URI): java.nio.file.FileSystem;
					public readSymbolicLink(param0: java.nio.file.Path): java.nio.file.Path;
					public static installedProviders(): java.util.List<java.nio.file.spi.FileSystemProvider>;
					public delete(param0: java.nio.file.Path): void;
					public copy(param0: java.nio.file.Path, param1: java.nio.file.Path, param2: native.Array<java.nio.file.CopyOption>): void;
					public checkAccess(param0: java.nio.file.Path, param1: native.Array<java.nio.file.AccessMode>): void;
					public getPath(param0: java.net.URI): java.nio.file.Path;
					public newDirectoryStream(param0: java.nio.file.Path, param1: java.nio.file.DirectoryStream.Filter<any>): java.nio.file.DirectoryStream<java.nio.file.Path>;
				}
			}
		}
	}
}

declare module java {
	export module nio {
		export module file {
			export module spi {
				export abstract class FileTypeDetector extends java.lang.Object {
					public static class: java.lang.Class<java.nio.file.spi.FileTypeDetector>;
					public probeContentType(param0: java.nio.file.Path): string;
					public constructor();
				}
			}
		}
	}
}

declare module java {
	export module security {
		export class AccessControlContext extends java.lang.Object {
			public static class: java.lang.Class<java.security.AccessControlContext>;
			public constructor(param0: native.Array<java.security.ProtectionDomain>);
			public getDomainCombiner(): java.security.DomainCombiner;
			public checkPermission(param0: java.security.Permission): void;
			public constructor(param0: java.security.AccessControlContext, param1: java.security.DomainCombiner);
		}
	}
}

declare module java {
	export module security {
		export class AccessControlException extends java.lang.SecurityException {
			public static class: java.lang.Class<java.security.AccessControlException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor(param0: string, param1: java.security.Permission);
			public getPermission(): java.security.Permission;
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module security {
		export class AccessController extends java.lang.Object {
			public static class: java.lang.Class<java.security.AccessController>;
			public static doPrivilegedWithCombiner(param0: java.security.PrivilegedAction<any>): any;
			public static doPrivileged(param0: java.security.PrivilegedAction<any>, param1: java.security.AccessControlContext): any;
			public static doPrivileged(param0: java.security.PrivilegedExceptionAction<any>, param1: java.security.AccessControlContext): any;
			public static doPrivilegedWithCombiner(param0: java.security.PrivilegedExceptionAction<any>): any;
			public static getContext(): java.security.AccessControlContext;
			public static checkPermission(param0: java.security.Permission): void;
			public static doPrivileged(param0: java.security.PrivilegedAction<any>): any;
			public static doPrivileged(param0: java.security.PrivilegedExceptionAction<any>): any;
		}
	}
}

declare module java {
	export module security {
		export class AlgorithmConstraints extends java.lang.Object {
			public static class: java.lang.Class<java.security.AlgorithmConstraints>;
			/**
			 * Constructs a new instance of the java.security.AlgorithmConstraints interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				permits(param0: java.util.Set<java.security.CryptoPrimitive>, param1: string, param2: java.security.AlgorithmParameters): boolean;
				permits(param0: java.util.Set<java.security.CryptoPrimitive>, param1: java.security.Key): boolean;
				permits(param0: java.util.Set<java.security.CryptoPrimitive>, param1: string, param2: java.security.Key, param3: java.security.AlgorithmParameters): boolean;
			});
			public constructor();
			public permits(param0: java.util.Set<java.security.CryptoPrimitive>, param1: string, param2: java.security.AlgorithmParameters): boolean;
			public permits(param0: java.util.Set<java.security.CryptoPrimitive>, param1: java.security.Key): boolean;
			public permits(param0: java.util.Set<java.security.CryptoPrimitive>, param1: string, param2: java.security.Key, param3: java.security.AlgorithmParameters): boolean;
		}
	}
}

declare module java {
	export module security {
		export class AlgorithmParameterGenerator extends java.lang.Object {
			public static class: java.lang.Class<java.security.AlgorithmParameterGenerator>;
			public static getInstance(param0: string, param1: string): java.security.AlgorithmParameterGenerator;
			public init(param0: number, param1: java.security.SecureRandom): void;
			public static getInstance(param0: string): java.security.AlgorithmParameterGenerator;
			public constructor(param0: java.security.AlgorithmParameterGeneratorSpi, param1: java.security.Provider, param2: string);
			public init(param0: java.security.spec.AlgorithmParameterSpec): void;
			public getAlgorithm(): string;
			public static getInstance(param0: string, param1: java.security.Provider): java.security.AlgorithmParameterGenerator;
			public init(param0: java.security.spec.AlgorithmParameterSpec, param1: java.security.SecureRandom): void;
			public init(param0: number): void;
			public getProvider(): java.security.Provider;
			public generateParameters(): java.security.AlgorithmParameters;
		}
	}
}

declare module java {
	export module security {
		export abstract class AlgorithmParameterGeneratorSpi extends java.lang.Object {
			public static class: java.lang.Class<java.security.AlgorithmParameterGeneratorSpi>;
			public engineGenerateParameters(): java.security.AlgorithmParameters;
			public engineInit(param0: java.security.spec.AlgorithmParameterSpec, param1: java.security.SecureRandom): void;
			public engineInit(param0: number, param1: java.security.SecureRandom): void;
			public constructor();
		}
	}
}

declare module java {
	export module security {
		export class AlgorithmParameters extends java.lang.Object {
			public static class: java.lang.Class<java.security.AlgorithmParameters>;
			public static getInstance(param0: string, param1: java.security.Provider): java.security.AlgorithmParameters;
			public init(param0: native.Array<number>): void;
			public getEncoded(param0: string): native.Array<number>;
			public constructor(param0: java.security.AlgorithmParametersSpi, param1: java.security.Provider, param2: string);
			public init(param0: java.security.spec.AlgorithmParameterSpec): void;
			public static getInstance(param0: string, param1: string): java.security.AlgorithmParameters;
			public init(param0: native.Array<number>, param1: string): void;
			public getProvider(): java.security.Provider;
			public getEncoded(): native.Array<number>;
			public toString(): string;
			public getAlgorithm(): string;
			public static getInstance(param0: string): java.security.AlgorithmParameters;
			public getParameterSpec(param0: java.lang.Class<any>): java.security.spec.AlgorithmParameterSpec;
		}
	}
}

declare module java {
	export module security {
		export abstract class AlgorithmParametersSpi extends java.lang.Object {
			public static class: java.lang.Class<java.security.AlgorithmParametersSpi>;
			public engineInit(param0: native.Array<number>, param1: string): void;
			public engineGetEncoded(): native.Array<number>;
			public engineInit(param0: java.security.spec.AlgorithmParameterSpec): void;
			public engineGetEncoded(param0: string): native.Array<number>;
			public engineToString(): string;
			public constructor();
			public engineInit(param0: native.Array<number>): void;
			public engineGetParameterSpec(param0: java.lang.Class<any>): java.security.spec.AlgorithmParameterSpec;
		}
	}
}

declare module java {
	export module security {
		export class AllPermission extends java.security.Permission {
			public static class: java.lang.Class<java.security.AllPermission>;
			public constructor(param0: string, param1: string);
			public implies(param0: java.security.Permission): boolean;
			public getActions(): string;
			public checkGuard(param0: any): void;
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module security {
		export abstract class AuthProvider extends java.security.Provider {
			public static class: java.lang.Class<java.security.AuthProvider>;
			public replaceAll(param0: any /* any<any,any,any>*/): void;
			public equals(param0: any): boolean;
			public constructor(param0: java.util.Properties);
			public replace(param0: any, param1: any): any;
			public compute(param0: any, param1: any /* any<any,any,any>*/): any;
			public containsValue(param0: any): boolean;
			public replace(param0: any, param1: any, param2: any): boolean;
			public logout(): void;
			public get(param0: any): any;
			public forEach(param0: any /* any<any,any>*/): void;
			public getOrDefault(param0: any, param1: any): any;
			public putIfAbsent(param0: any, param1: any): any;
			public remove(param0: any): any;
			public putAll(param0: java.util.Map<any,any>): void;
			public values(): java.util.Collection<any>;
			public constructor(param0: number, param1: number);
			public clear(): void;
			public size(): number;
			public isEmpty(): boolean;
			public keySet(): java.util.Set<any>;
			public entrySet(): java.util.Set<java.util.Map.Entry<any,any>>;
			public setCallbackHandler(param0: javax.security.auth.callback.CallbackHandler): void;
			public computeIfPresent(param0: any, param1: any /* any<any,any,any>*/): any;
			public constructor(param0: number);
			public constructor(param0: java.util.Map<any,any>);
			public constructor();
			public computeIfAbsent(param0: any, param1: any /* any<any,any>*/): any;
			public put(param0: any, param1: any): any;
			public merge(param0: any, param1: any, param2: any /* any<any,any,any>*/): any;
			public constructor(param0: string, param1: number, param2: string);
			public login(param0: javax.security.auth.Subject, param1: javax.security.auth.callback.CallbackHandler): void;
			public remove(param0: any, param1: any): boolean;
			public containsKey(param0: any): boolean;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module security {
		export abstract class BasicPermission extends java.security.Permission implements java.io.Serializable {
			public static class: java.lang.Class<java.security.BasicPermission>;
			public constructor(param0: string, param1: string);
			public implies(param0: java.security.Permission): boolean;
			public getActions(): string;
			public checkGuard(param0: any): void;
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module security {
		export class Certificate extends java.lang.Object {
			public static class: java.lang.Class<java.security.Certificate>;
			/**
			 * Constructs a new instance of the java.security.Certificate interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				getGuarantor(): java.security.Principal;
				getPrincipal(): java.security.Principal;
				getPublicKey(): java.security.PublicKey;
				encode(param0: java.io.OutputStream): void;
				decode(param0: java.io.InputStream): void;
				getFormat(): string;
				toString(param0: boolean): string;
			});
			public constructor();
			public decode(param0: java.io.InputStream): void;
			public toString(param0: boolean): string;
			public getPublicKey(): java.security.PublicKey;
			public getGuarantor(): java.security.Principal;
			public encode(param0: java.io.OutputStream): void;
			public toString(): string;
			public getPrincipal(): java.security.Principal;
			public getFormat(): string;
		}
	}
}

declare module java {
	export module security {
		export class CodeSigner extends java.lang.Object implements java.io.Serializable {
			public static class: java.lang.Class<java.security.CodeSigner>;
			public equals(param0: any): boolean;
			public getTimestamp(): java.security.Timestamp;
			public toString(): string;
			public getSignerCertPath(): java.security.cert.CertPath;
			public constructor(param0: java.security.cert.CertPath, param1: java.security.Timestamp);
			public hashCode(): number;
		}
	}
}

declare module java {
	export module security {
		export class CodeSource extends java.lang.Object implements java.io.Serializable {
			public static class: java.lang.Class<java.security.CodeSource>;
			public getLocation(): java.net.URL;
			public getCertificates(): native.Array<java.security.cert.Certificate>;
			public constructor(param0: java.net.URL, param1: native.Array<java.security.CodeSigner>);
			public getCodeSigners(): native.Array<java.security.CodeSigner>;
			public constructor(param0: java.net.URL, param1: native.Array<java.security.cert.Certificate>);
			public implies(param0: java.security.CodeSource): boolean;
		}
	}
}

declare module java {
	export module security {
		export class CryptoPrimitive {
			public static class: java.lang.Class<java.security.CryptoPrimitive>;
			public static MESSAGE_DIGEST: java.security.CryptoPrimitive;
			public static SECURE_RANDOM: java.security.CryptoPrimitive;
			public static BLOCK_CIPHER: java.security.CryptoPrimitive;
			public static STREAM_CIPHER: java.security.CryptoPrimitive;
			public static MAC: java.security.CryptoPrimitive;
			public static KEY_WRAP: java.security.CryptoPrimitive;
			public static PUBLIC_KEY_ENCRYPTION: java.security.CryptoPrimitive;
			public static SIGNATURE: java.security.CryptoPrimitive;
			public static KEY_ENCAPSULATION: java.security.CryptoPrimitive;
			public static KEY_AGREEMENT: java.security.CryptoPrimitive;
			public static values(): native.Array<java.security.CryptoPrimitive>;
			public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			public static valueOf(param0: string): java.security.CryptoPrimitive;
		}
	}
}

declare module java {
	export module security {
		export class DigestException extends java.security.GeneralSecurityException {
			public static class: java.lang.Class<java.security.DigestException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module security {
		export class DigestInputStream extends java.io.FilterInputStream {
			public static class: java.lang.Class<java.security.DigestInputStream>;
			public digest: java.security.MessageDigest;
			public toString(): string;
			public setMessageDigest(param0: java.security.MessageDigest): void;
			public read(param0: native.Array<number>): number;
			public getMessageDigest(): java.security.MessageDigest;
			public constructor(param0: java.io.InputStream, param1: java.security.MessageDigest);
			public on(param0: boolean): void;
			public constructor(param0: java.io.InputStream);
			public read(param0: native.Array<number>, param1: number, param2: number): number;
			public constructor();
			public close(): void;
			public read(): number;
		}
	}
}

declare module java {
	export module security {
		export class DigestOutputStream extends java.io.FilterOutputStream {
			public static class: java.lang.Class<java.security.DigestOutputStream>;
			public digest: java.security.MessageDigest;
			public constructor(param0: java.io.OutputStream, param1: java.security.MessageDigest);
			public flush(): void;
			public toString(): string;
			public setMessageDigest(param0: java.security.MessageDigest): void;
			public write(param0: number): void;
			public getMessageDigest(): java.security.MessageDigest;
			public on(param0: boolean): void;
			public constructor(param0: java.io.OutputStream);
			public write(param0: native.Array<number>, param1: number, param2: number): void;
			public constructor();
			public write(param0: native.Array<number>): void;
			public close(): void;
		}
	}
}

declare module java {
	export module security {
		export class DomainCombiner extends java.lang.Object {
			public static class: java.lang.Class<java.security.DomainCombiner>;
			/**
			 * Constructs a new instance of the java.security.DomainCombiner interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				combine(param0: native.Array<java.security.ProtectionDomain>, param1: native.Array<java.security.ProtectionDomain>): native.Array<java.security.ProtectionDomain>;
			});
			public constructor();
			public combine(param0: native.Array<java.security.ProtectionDomain>, param1: native.Array<java.security.ProtectionDomain>): native.Array<java.security.ProtectionDomain>;
		}
	}
}

declare module java {
	export module security {
		export class DomainLoadStoreParameter extends java.lang.Object implements java.security.KeyStore.LoadStoreParameter {
			public static class: java.lang.Class<java.security.DomainLoadStoreParameter>;
			public getConfiguration(): java.net.URI;
			public getProtectionParams(): java.util.Map<string,java.security.KeyStore.ProtectionParameter>;
			public constructor(param0: java.net.URI, param1: java.util.Map<string,java.security.KeyStore.ProtectionParameter>);
			public getProtectionParameter(): java.security.KeyStore.ProtectionParameter;
		}
	}
}

declare module java {
	export module security {
		export class GeneralSecurityException extends java.lang.Exception {
			public static class: java.lang.Class<java.security.GeneralSecurityException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module security {
		export class Guard extends java.lang.Object {
			public static class: java.lang.Class<java.security.Guard>;
			/**
			 * Constructs a new instance of the java.security.Guard interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				checkGuard(param0: any): void;
			});
			public constructor();
			public checkGuard(param0: any): void;
		}
	}
}

declare module java {
	export module security {
		export class GuardedObject extends java.lang.Object implements java.io.Serializable {
			public static class: java.lang.Class<java.security.GuardedObject>;
			public getObject(): any;
			public constructor(param0: any, param1: java.security.Guard);
		}
	}
}

declare module java {
	export module security {
		export abstract class Identity extends java.lang.Object implements java.security.Principal, java.io.Serializable {
			public static class: java.lang.Class<java.security.Identity>;
			public setPublicKey(param0: java.security.PublicKey): void;
			public equals(param0: any): boolean;
			public toString(param0: boolean): string;
			public getPublicKey(): java.security.PublicKey;
			public identityEquals(param0: java.security.Identity): boolean;
			public constructor();
			public setInfo(param0: string): void;
			public constructor(param0: string, param1: java.security.IdentityScope);
			public getScope(): java.security.IdentityScope;
			public certificates(): native.Array<java.security.Certificate>;
			public toString(): string;
			public getName(): string;
			public getInfo(): string;
			public removeCertificate(param0: java.security.Certificate): void;
			public implies(param0: javax.security.auth.Subject): boolean;
			public constructor(param0: string);
			public addCertificate(param0: java.security.Certificate): void;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module security {
		export abstract class IdentityScope extends java.security.Identity {
			public static class: java.lang.Class<java.security.IdentityScope>;
			public toString(param0: boolean): string;
			public equals(param0: any): boolean;
			public static getSystemScope(): java.security.IdentityScope;
			public size(): number;
			public getIdentity(param0: java.security.PublicKey): java.security.Identity;
			public removeIdentity(param0: java.security.Identity): void;
			public addIdentity(param0: java.security.Identity): void;
			public constructor();
			public constructor(param0: string, param1: java.security.IdentityScope);
			public getIdentity(param0: string): java.security.Identity;
			public toString(): string;
			public getIdentity(param0: java.security.Principal): java.security.Identity;
			public getName(): string;
			public implies(param0: javax.security.auth.Subject): boolean;
			public static setSystemScope(param0: java.security.IdentityScope): void;
			public constructor(param0: string);
			public identities(): java.util.Enumeration<java.security.Identity>;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module security {
		export class InvalidAlgorithmParameterException extends java.security.GeneralSecurityException {
			public static class: java.lang.Class<java.security.InvalidAlgorithmParameterException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module security {
		export class InvalidKeyException extends java.security.KeyException {
			public static class: java.lang.Class<java.security.InvalidKeyException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module security {
		export class InvalidParameterException extends java.lang.IllegalArgumentException {
			public static class: java.lang.Class<java.security.InvalidParameterException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module security {
		export class Key extends java.lang.Object implements java.io.Serializable {
			public static class: java.lang.Class<java.security.Key>;
			/**
			 * Constructs a new instance of the java.security.Key interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				getAlgorithm(): string;
				getFormat(): string;
				getEncoded(): native.Array<number>;
			});
			public constructor();
			public static serialVersionUID: number;
			public getAlgorithm(): string;
			public getFormat(): string;
			public getEncoded(): native.Array<number>;
		}
	}
}

declare module java {
	export module security {
		export class KeyException extends java.security.GeneralSecurityException {
			public static class: java.lang.Class<java.security.KeyException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module security {
		export class KeyFactory extends java.lang.Object {
			public static class: java.lang.Class<java.security.KeyFactory>;
			public constructor(param0: java.security.KeyFactorySpi, param1: java.security.Provider, param2: string);
			public generatePrivate(param0: java.security.spec.KeySpec): java.security.PrivateKey;
			public static getInstance(param0: string, param1: java.security.Provider): java.security.KeyFactory;
			public translateKey(param0: java.security.Key): java.security.Key;
			public static getInstance(param0: string, param1: string): java.security.KeyFactory;
			public getAlgorithm(): string;
			public generatePublic(param0: java.security.spec.KeySpec): java.security.PublicKey;
			public static getInstance(param0: string): java.security.KeyFactory;
			public getKeySpec(param0: java.security.Key, param1: java.lang.Class<any>): java.security.spec.KeySpec;
			public getProvider(): java.security.Provider;
		}
	}
}

declare module java {
	export module security {
		export abstract class KeyFactorySpi extends java.lang.Object {
			public static class: java.lang.Class<java.security.KeyFactorySpi>;
			public engineGetKeySpec(param0: java.security.Key, param1: java.lang.Class<any>): java.security.spec.KeySpec;
			public engineGeneratePrivate(param0: java.security.spec.KeySpec): java.security.PrivateKey;
			public engineGeneratePublic(param0: java.security.spec.KeySpec): java.security.PublicKey;
			public engineTranslateKey(param0: java.security.Key): java.security.Key;
			public constructor();
		}
	}
}

declare module java {
	export module security {
		export class KeyManagementException extends java.security.KeyException {
			public static class: java.lang.Class<java.security.KeyManagementException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module security {
		export class KeyPair extends java.lang.Object implements java.io.Serializable {
			public static class: java.lang.Class<java.security.KeyPair>;
			public constructor(param0: java.security.PublicKey, param1: java.security.PrivateKey);
			public getPublic(): java.security.PublicKey;
			public getPrivate(): java.security.PrivateKey;
		}
	}
}

declare module java {
	export module security {
		export abstract class KeyPairGenerator extends java.security.KeyPairGeneratorSpi {
			public static class: java.lang.Class<java.security.KeyPairGenerator>;
			public static getInstance(param0: string, param1: string): java.security.KeyPairGenerator;
			public initialize(param0: java.security.spec.AlgorithmParameterSpec): void;
			public initialize(param0: java.security.spec.AlgorithmParameterSpec, param1: java.security.SecureRandom): void;
			public static getInstance(param0: string): java.security.KeyPairGenerator;
			public constructor();
			public static getInstance(param0: string, param1: java.security.Provider): java.security.KeyPairGenerator;
			public generateKeyPair(): java.security.KeyPair;
			public getProvider(): java.security.Provider;
			public initialize(param0: number, param1: java.security.SecureRandom): void;
			public getAlgorithm(): string;
			public initialize(param0: number): void;
			public genKeyPair(): java.security.KeyPair;
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module security {
		export abstract class KeyPairGeneratorSpi extends java.lang.Object {
			public static class: java.lang.Class<java.security.KeyPairGeneratorSpi>;
			public initialize(param0: number, param1: java.security.SecureRandom): void;
			public initialize(param0: java.security.spec.AlgorithmParameterSpec, param1: java.security.SecureRandom): void;
			public constructor();
			public generateKeyPair(): java.security.KeyPair;
		}
	}
}

declare module java {
	export module security {
		export class KeyRep extends java.lang.Object implements java.io.Serializable {
			public static class: java.lang.Class<java.security.KeyRep>;
			public readResolve(): any;
			public constructor(param0: java.security.KeyRep.Type, param1: string, param2: string, param3: native.Array<number>);
		}
		export module KeyRep {
			export class Type {
				public static class: java.lang.Class<java.security.KeyRep.Type>;
				public static SECRET: java.security.KeyRep.Type;
				public static PUBLIC: java.security.KeyRep.Type;
				public static PRIVATE: java.security.KeyRep.Type;
				public static values(): native.Array<java.security.KeyRep.Type>;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
				public static valueOf(param0: string): java.security.KeyRep.Type;
			}
		}
	}
}

declare module java {
	export module security {
		export class KeyStore extends java.lang.Object {
			public static class: java.lang.Class<java.security.KeyStore>;
			public entryInstanceOf(param0: string, param1: java.lang.Class<any>): boolean;
			public static getDefaultType(): string;
			public setKeyEntry(param0: string, param1: native.Array<number>, param2: native.Array<java.security.cert.Certificate>): void;
			public constructor(param0: java.security.KeyStoreSpi, param1: java.security.Provider, param2: string);
			public store(param0: java.io.OutputStream, param1: native.Array<string>): void;
			public getKey(param0: string, param1: native.Array<string>): java.security.Key;
			public getCreationDate(param0: string): java.util.Date;
			public containsAlias(param0: string): boolean;
			public aliases(): java.util.Enumeration<string>;
			public load(param0: java.io.InputStream, param1: native.Array<string>): void;
			public getCertificateChain(param0: string): native.Array<java.security.cert.Certificate>;
			public setEntry(param0: string, param1: java.security.KeyStore.Entry, param2: java.security.KeyStore.ProtectionParameter): void;
			public getType(): string;
			public static getInstance(param0: string, param1: java.security.Provider): java.security.KeyStore;
			public getCertificateAlias(param0: java.security.cert.Certificate): string;
			public setKeyEntry(param0: string, param1: java.security.Key, param2: native.Array<string>, param3: native.Array<java.security.cert.Certificate>): void;
			public size(): number;
			public static getInstance(param0: string, param1: string): java.security.KeyStore;
			public getEntry(param0: string, param1: java.security.KeyStore.ProtectionParameter): java.security.KeyStore.Entry;
			public store(param0: java.security.KeyStore.LoadStoreParameter): void;
			public setCertificateEntry(param0: string, param1: java.security.cert.Certificate): void;
			public getProvider(): java.security.Provider;
			public getCertificate(param0: string): java.security.cert.Certificate;
			public deleteEntry(param0: string): void;
			public isKeyEntry(param0: string): boolean;
			public static getInstance(param0: string): java.security.KeyStore;
			public load(param0: java.security.KeyStore.LoadStoreParameter): void;
			public isCertificateEntry(param0: string): boolean;
		}
		export module KeyStore {
			export abstract class Builder extends java.lang.Object {
				public static class: java.lang.Class<java.security.KeyStore.Builder>;
				public static newInstance(param0: string, param1: java.security.Provider, param2: java.io.File, param3: java.security.KeyStore.ProtectionParameter): java.security.KeyStore.Builder;
				public static newInstance(param0: string, param1: java.security.Provider, param2: java.security.KeyStore.ProtectionParameter): java.security.KeyStore.Builder;
				public getProtectionParameter(param0: string): java.security.KeyStore.ProtectionParameter;
				public getKeyStore(): java.security.KeyStore;
				public static newInstance(param0: java.security.KeyStore, param1: java.security.KeyStore.ProtectionParameter): java.security.KeyStore.Builder;
				public constructor();
			}
			export class CallbackHandlerProtection extends java.lang.Object implements java.security.KeyStore.ProtectionParameter {
				public static class: java.lang.Class<java.security.KeyStore.CallbackHandlerProtection>;
				public constructor(param0: javax.security.auth.callback.CallbackHandler);
				public getCallbackHandler(): javax.security.auth.callback.CallbackHandler;
			}
			export class Entry extends java.lang.Object {
				public static class: java.lang.Class<java.security.KeyStore.Entry>;
				/**
				 * Constructs a new instance of the java.security.KeyStore$Entry interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getAttributes(): java.util.Set<java.security.KeyStore.Entry.Attribute>;
				});
				public constructor();
				public getAttributes(): java.util.Set<java.security.KeyStore.Entry.Attribute>;
			}
			export module Entry {
				export class Attribute extends java.lang.Object {
					public static class: java.lang.Class<java.security.KeyStore.Entry.Attribute>;
					/**
					 * Constructs a new instance of the java.security.KeyStore$Entry$Attribute interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						getName(): string;
						getValue(): string;
					});
					public constructor();
					public getValue(): string;
					public getName(): string;
				}
			}
			export class LoadStoreParameter extends java.lang.Object {
				public static class: java.lang.Class<java.security.KeyStore.LoadStoreParameter>;
				/**
				 * Constructs a new instance of the java.security.KeyStore$LoadStoreParameter interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getProtectionParameter(): java.security.KeyStore.ProtectionParameter;
				});
				public constructor();
				public getProtectionParameter(): java.security.KeyStore.ProtectionParameter;
			}
			export class PasswordProtection extends java.lang.Object implements java.security.KeyStore.ProtectionParameter, javax.security.auth.Destroyable {
				public static class: java.lang.Class<java.security.KeyStore.PasswordProtection>;
				public destroy(): void;
				public getPassword(): native.Array<string>;
				public isDestroyed(): boolean;
				public constructor(param0: native.Array<string>, param1: string, param2: java.security.spec.AlgorithmParameterSpec);
				public getProtectionParameters(): java.security.spec.AlgorithmParameterSpec;
				public constructor(param0: native.Array<string>);
				public getProtectionAlgorithm(): string;
			}
			export class PrivateKeyEntry extends java.lang.Object implements java.security.KeyStore.Entry {
				public static class: java.lang.Class<java.security.KeyStore.PrivateKeyEntry>;
				public getCertificateChain(): native.Array<java.security.cert.Certificate>;
				public constructor(param0: java.security.PrivateKey, param1: native.Array<java.security.cert.Certificate>, param2: java.util.Set<java.security.KeyStore.Entry.Attribute>);
				public getCertificate(): java.security.cert.Certificate;
				public getPrivateKey(): java.security.PrivateKey;
				public constructor(param0: java.security.PrivateKey, param1: native.Array<java.security.cert.Certificate>);
				public toString(): string;
				public getAttributes(): java.util.Set<java.security.KeyStore.Entry.Attribute>;
			}
			export class ProtectionParameter extends java.lang.Object {
				public static class: java.lang.Class<java.security.KeyStore.ProtectionParameter>;
				/**
				 * Constructs a new instance of the java.security.KeyStore$ProtectionParameter interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
				});
				public constructor();
			}
			export class SecretKeyEntry extends java.lang.Object implements java.security.KeyStore.Entry {
				public static class: java.lang.Class<java.security.KeyStore.SecretKeyEntry>;
				public constructor(param0: javax.crypto.SecretKey);
				public constructor(param0: javax.crypto.SecretKey, param1: java.util.Set<java.security.KeyStore.Entry.Attribute>);
				public getSecretKey(): javax.crypto.SecretKey;
				public toString(): string;
				public getAttributes(): java.util.Set<java.security.KeyStore.Entry.Attribute>;
			}
			export class TrustedCertificateEntry extends java.lang.Object implements java.security.KeyStore.Entry {
				public static class: java.lang.Class<java.security.KeyStore.TrustedCertificateEntry>;
				public getTrustedCertificate(): java.security.cert.Certificate;
				public constructor(param0: java.security.cert.Certificate);
				public toString(): string;
				public getAttributes(): java.util.Set<java.security.KeyStore.Entry.Attribute>;
				public constructor(param0: java.security.cert.Certificate, param1: java.util.Set<java.security.KeyStore.Entry.Attribute>);
			}
		}
	}
}

declare module java {
	export module security {
		export class KeyStoreException extends java.security.GeneralSecurityException {
			public static class: java.lang.Class<java.security.KeyStoreException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module security {
		export abstract class KeyStoreSpi extends java.lang.Object {
			public static class: java.lang.Class<java.security.KeyStoreSpi>;
			public engineGetCreationDate(param0: string): java.util.Date;
			public engineEntryInstanceOf(param0: string, param1: java.lang.Class<any>): boolean;
			public engineGetCertificateChain(param0: string): native.Array<java.security.cert.Certificate>;
			public engineContainsAlias(param0: string): boolean;
			public constructor();
			public engineSetCertificateEntry(param0: string, param1: java.security.cert.Certificate): void;
			public engineLoad(param0: java.io.InputStream, param1: native.Array<string>): void;
			public engineGetEntry(param0: string, param1: java.security.KeyStore.ProtectionParameter): java.security.KeyStore.Entry;
			public engineStore(param0: java.io.OutputStream, param1: native.Array<string>): void;
			public engineAliases(): java.util.Enumeration<string>;
			public engineSetKeyEntry(param0: string, param1: java.security.Key, param2: native.Array<string>, param3: native.Array<java.security.cert.Certificate>): void;
			public engineSetEntry(param0: string, param1: java.security.KeyStore.Entry, param2: java.security.KeyStore.ProtectionParameter): void;
			public engineSetKeyEntry(param0: string, param1: native.Array<number>, param2: native.Array<java.security.cert.Certificate>): void;
			public engineGetCertificateAlias(param0: java.security.cert.Certificate): string;
			public engineGetKey(param0: string, param1: native.Array<string>): java.security.Key;
			public engineDeleteEntry(param0: string): void;
			public engineSize(): number;
			public engineIsCertificateEntry(param0: string): boolean;
			public engineStore(param0: java.security.KeyStore.LoadStoreParameter): void;
			public engineLoad(param0: java.security.KeyStore.LoadStoreParameter): void;
			public engineGetCertificate(param0: string): java.security.cert.Certificate;
			public engineIsKeyEntry(param0: string): boolean;
		}
	}
}

declare module java {
	export module security {
		export abstract class MessageDigest extends java.security.MessageDigestSpi {
			public static class: java.lang.Class<java.security.MessageDigest>;
			public update(param0: number): void;
			public digest(param0: native.Array<number>): native.Array<number>;
			public static isEqual(param0: native.Array<number>, param1: native.Array<number>): boolean;
			public update(param0: java.nio.ByteBuffer): void;
			public digest(param0: native.Array<number>, param1: number, param2: number): number;
			public static getInstance(param0: string, param1: java.security.Provider): java.security.MessageDigest;
			public constructor();
			public digest(): native.Array<number>;
			public getProvider(): java.security.Provider;
			public update(param0: native.Array<number>): void;
			public toString(): string;
			public getDigestLength(): number;
			public clone(): any;
			public static getInstance(param0: string): java.security.MessageDigest;
			public reset(): void;
			public getAlgorithm(): string;
			public update(param0: native.Array<number>, param1: number, param2: number): void;
			public static getInstance(param0: string, param1: string): java.security.MessageDigest;
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module security {
		export abstract class MessageDigestSpi extends java.lang.Object {
			public static class: java.lang.Class<java.security.MessageDigestSpi>;
			public engineUpdate(param0: java.nio.ByteBuffer): void;
			public clone(): any;
			public engineGetDigestLength(): number;
			public engineUpdate(param0: native.Array<number>, param1: number, param2: number): void;
			public engineDigest(): native.Array<number>;
			public engineDigest(param0: native.Array<number>, param1: number, param2: number): number;
			public engineUpdate(param0: number): void;
			public engineReset(): void;
			public constructor();
		}
	}
}

declare module java {
	export module security {
		export class NoSuchAlgorithmException extends java.security.GeneralSecurityException {
			public static class: java.lang.Class<java.security.NoSuchAlgorithmException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module security {
		export class NoSuchProviderException extends java.security.GeneralSecurityException {
			public static class: java.lang.Class<java.security.NoSuchProviderException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module security {
		export class PKCS12Attribute extends java.lang.Object implements java.security.KeyStore.Entry.Attribute {
			public static class: java.lang.Class<java.security.PKCS12Attribute>;
			public constructor(param0: string, param1: string);
			public equals(param0: any): boolean;
			public toString(): string;
			public getName(): string;
			public constructor(param0: native.Array<number>);
			public getValue(): string;
			public getEncoded(): native.Array<number>;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module security {
		export abstract class Permission extends java.lang.Object implements java.security.Guard, java.io.Serializable {
			public static class: java.lang.Class<java.security.Permission>;
			public getName(): string;
			public implies(param0: java.security.Permission): boolean;
			public getActions(): string;
			public checkGuard(param0: any): void;
			public constructor(param0: string);
			public newPermissionCollection(): java.security.PermissionCollection;
		}
	}
}

declare module java {
	export module security {
		export abstract class PermissionCollection extends java.lang.Object implements java.io.Serializable {
			public static class: java.lang.Class<java.security.PermissionCollection>;
			public isReadOnly(): boolean;
			public setReadOnly(): void;
			public elements(): java.util.Enumeration<java.security.Permission>;
			public implies(param0: java.security.Permission): boolean;
			public constructor();
			public add(param0: java.security.Permission): void;
		}
	}
}

declare module java {
	export module security {
		export class Permissions extends java.security.PermissionCollection implements java.io.Serializable {
			public static class: java.lang.Class<java.security.Permissions>;
			public elements(): java.util.Enumeration<java.security.Permission>;
			public implies(param0: java.security.Permission): boolean;
			public constructor();
			public add(param0: java.security.Permission): void;
		}
	}
}

declare module java {
	export module security {
		export abstract class Policy extends java.lang.Object {
			public static class: java.lang.Class<java.security.Policy>;
			public static UNSUPPORTED_EMPTY_COLLECTION: java.security.PermissionCollection;
			public refresh(): void;
			public implies(param0: java.security.ProtectionDomain, param1: java.security.Permission): boolean;
			public static getPolicy(): java.security.Policy;
			public getPermissions(param0: java.security.CodeSource): java.security.PermissionCollection;
			public static getInstance(param0: string, param1: java.security.Policy.Parameters, param2: string): java.security.Policy;
			public getParameters(): java.security.Policy.Parameters;
			public constructor();
			public static getInstance(param0: string, param1: java.security.Policy.Parameters): java.security.Policy;
			public static setPolicy(param0: java.security.Policy): void;
			public getProvider(): java.security.Provider;
			public getPermissions(param0: java.security.ProtectionDomain): java.security.PermissionCollection;
			public static getInstance(param0: string, param1: java.security.Policy.Parameters, param2: java.security.Provider): java.security.Policy;
			public getType(): string;
		}
		export module Policy {
			export class Parameters extends java.lang.Object {
				public static class: java.lang.Class<java.security.Policy.Parameters>;
				/**
				 * Constructs a new instance of the java.security.Policy$Parameters interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
				});
				public constructor();
			}
		}
	}
}

declare module java {
	export module security {
		export abstract class PolicySpi extends java.lang.Object {
			public static class: java.lang.Class<java.security.PolicySpi>;
			public engineImplies(param0: java.security.ProtectionDomain, param1: java.security.Permission): boolean;
			public engineRefresh(): void;
			public engineGetPermissions(param0: java.security.CodeSource): java.security.PermissionCollection;
			public constructor();
			public engineGetPermissions(param0: java.security.ProtectionDomain): java.security.PermissionCollection;
		}
	}
}

declare module java {
	export module security {
		export class Principal extends java.lang.Object {
			public static class: java.lang.Class<java.security.Principal>;
			/**
			 * Constructs a new instance of the java.security.Principal interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				equals(param0: any): boolean;
				toString(): string;
				hashCode(): number;
				getName(): string;
				implies(param0: javax.security.auth.Subject): boolean;
			});
			public constructor();
			public equals(param0: any): boolean;
			public toString(): string;
			public getName(): string;
			public implies(param0: javax.security.auth.Subject): boolean;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module security {
		export class PrivateKey extends java.lang.Object implements java.security.Key, javax.security.auth.Destroyable {
			public static class: java.lang.Class<java.security.PrivateKey>;
			/**
			 * Constructs a new instance of the java.security.PrivateKey interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				getAlgorithm(): string;
				getFormat(): string;
				getEncoded(): native.Array<number>;
				destroy(): void;
				isDestroyed(): boolean;
			});
			public constructor();
			public static serialVersionUID: number;
			public isDestroyed(): boolean;
			public destroy(): void;
			public getAlgorithm(): string;
			public getFormat(): string;
			public getEncoded(): native.Array<number>;
		}
	}
}

declare module java {
	export module security {
		export class PrivilegedAction<T>  extends java.lang.Object {
			public static class: java.lang.Class<java.security.PrivilegedAction<any>>;
			/**
			 * Constructs a new instance of the java.security.PrivilegedAction<any> interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				run(): T;
			});
			public constructor();
			public run(): T;
		}
	}
}

declare module java {
	export module security {
		export class PrivilegedActionException extends java.lang.Exception {
			public static class: java.lang.Class<java.security.PrivilegedActionException>;
			public toString(): string;
			public getException(): java.lang.Exception;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public getCause(): java.lang.Throwable;
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
			public constructor(param0: java.lang.Exception);
		}
	}
}

declare module java {
	export module security {
		export class PrivilegedExceptionAction<T>  extends java.lang.Object {
			public static class: java.lang.Class<java.security.PrivilegedExceptionAction<any>>;
			/**
			 * Constructs a new instance of the java.security.PrivilegedExceptionAction<any> interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				run(): T;
			});
			public constructor();
			public run(): T;
		}
	}
}

declare module java {
	export module security {
		export class ProtectionDomain extends java.lang.Object {
			public static class: java.lang.Class<java.security.ProtectionDomain>;
			public getClassLoader(): java.lang.ClassLoader;
			public constructor(param0: java.security.CodeSource, param1: java.security.PermissionCollection);
			public constructor(param0: java.security.CodeSource, param1: java.security.PermissionCollection, param2: java.lang.ClassLoader, param3: native.Array<java.security.Principal>);
			public implies(param0: java.security.Permission): boolean;
			public getPermissions(): java.security.PermissionCollection;
			public getCodeSource(): java.security.CodeSource;
			public getPrincipals(): native.Array<java.security.Principal>;
		}
	}
}

declare module java {
	export module security {
		export abstract class Provider extends java.util.Properties {
			public static class: java.lang.Class<java.security.Provider>;
			public replaceAll(param0: any /* any<any,any,any>*/): void;
			public getServices(): java.util.Set<java.security.Provider.Service>;
			public equals(param0: any): boolean;
			public constructor(param0: java.util.Properties);
			public replace(param0: any, param1: any): any;
			public compute(param0: any, param1: any /* any<any,any,any>*/): any;
			public replace(param0: any, param1: any, param2: any): boolean;
			public containsValue(param0: any): boolean;
			public get(param0: any): any;
			public forEach(param0: any /* any<any,any>*/): void;
			public getVersion(): number;
			public getOrDefault(param0: any, param1: any): any;
			public putIfAbsent(param0: any, param1: any): any;
			public remove(param0: any): any;
			public putAll(param0: java.util.Map<any,any>): void;
			public putService(param0: java.security.Provider.Service): void;
			public load(param0: java.io.Reader): void;
			public values(): java.util.Collection<any>;
			public constructor(param0: number, param1: number);
			public elements(): java.util.Enumeration<any>;
			public clear(): void;
			public getProperty(param0: string, param1: string): string;
			public entrySet(): java.util.Set<java.util.Map.Entry<any,any>>;
			public keySet(): java.util.Set<any>;
			public size(): number;
			public isEmpty(): boolean;
			public computeIfPresent(param0: any, param1: any /* any<any,any,any>*/): any;
			public constructor(param0: number);
			public constructor(param0: java.util.Map<any,any>);
			public constructor();
			public computeIfAbsent(param0: any, param1: any /* any<any,any>*/): any;
			public put(param0: any, param1: any): any;
			public merge(param0: any, param1: any, param2: any /* any<any,any,any>*/): any;
			public constructor(param0: string, param1: number, param2: string);
			public getProperty(param0: string): string;
			public removeService(param0: java.security.Provider.Service): void;
			public toString(): string;
			public getName(): string;
			public getInfo(): string;
			public keys(): java.util.Enumeration<any>;
			public remove(param0: any, param1: any): boolean;
			public containsKey(param0: any): boolean;
			public getService(param0: string, param1: string): java.security.Provider.Service;
			public load(param0: java.io.InputStream): void;
			public hashCode(): number;
		}
		export module Provider {
			export class Service extends java.lang.Object {
				public static class: java.lang.Class<java.security.Provider.Service>;
				public constructor(param0: java.security.Provider, param1: string, param2: string, param3: string, param4: java.util.List<string>, param5: java.util.Map<string,string>);
				public getAlgorithm(): string;
				public getAttribute(param0: string): string;
				public getType(): string;
				public getClassName(): string;
				public supportsParameter(param0: any): boolean;
				public getProvider(): java.security.Provider;
				public toString(): string;
				public newInstance(param0: any): any;
			}
		}
	}
}

declare module java {
	export module security {
		export class ProviderException extends java.lang.RuntimeException {
			public static class: java.lang.Class<java.security.ProviderException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module security {
		export class PublicKey extends java.lang.Object implements java.security.Key {
			public static class: java.lang.Class<java.security.PublicKey>;
			/**
			 * Constructs a new instance of the java.security.PublicKey interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				getAlgorithm(): string;
				getFormat(): string;
				getEncoded(): native.Array<number>;
			});
			public constructor();
			public static serialVersionUID: number;
			public getAlgorithm(): string;
			public getFormat(): string;
			public getEncoded(): native.Array<number>;
		}
	}
}

declare module java {
	export module security {
		export class SecureClassLoader extends java.lang.ClassLoader {
			public static class: java.lang.Class<java.security.SecureClassLoader>;
			public getPermissions(param0: java.security.CodeSource): java.security.PermissionCollection;
			public constructor(param0: java.lang.ClassLoader);
			public defineClass(param0: string, param1: java.nio.ByteBuffer, param2: java.security.ProtectionDomain): java.lang.Class<any>;
			public defineClass(param0: string, param1: native.Array<number>, param2: number, param3: number, param4: java.security.CodeSource): java.lang.Class<any>;
			public defineClass(param0: string, param1: java.nio.ByteBuffer, param2: java.security.CodeSource): java.lang.Class<any>;
			public constructor();
			public defineClass(param0: string, param1: native.Array<number>, param2: number, param3: number, param4: java.security.ProtectionDomain): java.lang.Class<any>;
			/** @deprecated */
			public defineClass(param0: native.Array<number>, param1: number, param2: number): java.lang.Class<any>;
			public defineClass(param0: string, param1: native.Array<number>, param2: number, param3: number): java.lang.Class<any>;
		}
	}
}

declare module java {
	export module security {
		export class SecureRandom extends java.util.Random {
			public static class: java.lang.Class<java.security.SecureRandom>;
			public static getInstanceStrong(): java.security.SecureRandom;
			public setSeed(param0: native.Array<number>): void;
			public static getInstance(param0: string, param1: java.security.Provider): java.security.SecureRandom;
			public setSeed(param0: number): void;
			public nextBytes(param0: native.Array<number>): void;
			public static getInstance(param0: string, param1: string): java.security.SecureRandom;
			public constructor(param0: number);
			public generateSeed(param0: number): native.Array<number>;
			public constructor();
			public constructor(param0: native.Array<number>);
			public next(param0: number): number;
			public getProvider(): java.security.Provider;
			public constructor(param0: java.security.SecureRandomSpi, param1: java.security.Provider);
			public static getSeed(param0: number): native.Array<number>;
			public getAlgorithm(): string;
			public static getInstance(param0: string): java.security.SecureRandom;
		}
	}
}

declare module java {
	export module security {
		export abstract class SecureRandomSpi extends java.lang.Object implements java.io.Serializable {
			public static class: java.lang.Class<java.security.SecureRandomSpi>;
			public engineGenerateSeed(param0: number): native.Array<number>;
			public engineNextBytes(param0: native.Array<number>): void;
			public engineSetSeed(param0: native.Array<number>): void;
			public constructor();
		}
	}
}

declare module java {
	export module security {
		export class Security extends java.lang.Object {
			public static class: java.lang.Class<java.security.Security>;
			/** @deprecated */
			public static getAlgorithmProperty(param0: string, param1: string): string;
			public static insertProviderAt(param0: java.security.Provider, param1: number): number;
			public static setProperty(param0: string, param1: string): void;
			public static getProviders(param0: java.util.Map<string,string>): native.Array<java.security.Provider>;
			public static getProvider(param0: string): java.security.Provider;
			public static getProperty(param0: string): string;
			public static getProviders(param0: string): native.Array<java.security.Provider>;
			public static getAlgorithms(param0: string): java.util.Set<string>;
			public static addProvider(param0: java.security.Provider): number;
			public static getProviders(): native.Array<java.security.Provider>;
			public static removeProvider(param0: string): void;
		}
	}
}

declare module java {
	export module security {
		export class SecurityPermission extends java.security.BasicPermission {
			public static class: java.lang.Class<java.security.SecurityPermission>;
			public constructor(param0: string, param1: string);
			public checkGuard(param0: any): void;
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module security {
		export abstract class Signature extends java.security.SignatureSpi {
			public static class: java.lang.Class<java.security.Signature>;
			public static SIGN: number;
			public static UNINITIALIZED: number;
			public static VERIFY: number;
			public state: number;
			public getParameters(): java.security.AlgorithmParameters;
			public static getInstance(param0: string): java.security.Signature;
			public update(param0: java.nio.ByteBuffer): void;
			public sign(param0: native.Array<number>, param1: number, param2: number): number;
			public verify(param0: native.Array<number>): boolean;
			/** @deprecated */
			public getParameter(param0: string): any;
			public initSign(param0: java.security.PrivateKey, param1: java.security.SecureRandom): void;
			public static getInstance(param0: string, param1: string): java.security.Signature;
			public update(param0: native.Array<number>, param1: number, param2: number): void;
			public verify(param0: native.Array<number>, param1: number, param2: number): boolean;
			public constructor(param0: string);
			public update(param0: number): void;
			public constructor();
			public getProvider(): java.security.Provider;
			/** @deprecated */
			public setParameter(param0: string, param1: any): void;
			public setParameter(param0: java.security.spec.AlgorithmParameterSpec): void;
			public update(param0: native.Array<number>): void;
			public initVerify(param0: java.security.cert.Certificate): void;
			public toString(): string;
			public clone(): any;
			public static getInstance(param0: string, param1: java.security.Provider): java.security.Signature;
			public sign(): native.Array<number>;
			public getAlgorithm(): string;
			public initVerify(param0: java.security.PublicKey): void;
			public initSign(param0: java.security.PrivateKey): void;
		}
	}
}

declare module java {
	export module security {
		export class SignatureException extends java.security.GeneralSecurityException {
			public static class: java.lang.Class<java.security.SignatureException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module security {
		export abstract class SignatureSpi extends java.lang.Object {
			public static class: java.lang.Class<java.security.SignatureSpi>;
			public appRandom: java.security.SecureRandom;
			public engineSign(): native.Array<number>;
			public engineUpdate(param0: native.Array<number>, param1: number, param2: number): void;
			public engineUpdate(param0: number): void;
			public constructor();
			public engineVerify(param0: native.Array<number>): boolean;
			public engineInitSign(param0: java.security.PrivateKey, param1: java.security.SecureRandom): void;
			public engineVerify(param0: native.Array<number>, param1: number, param2: number): boolean;
			public engineUpdate(param0: java.nio.ByteBuffer): void;
			public engineSetParameter(param0: java.security.spec.AlgorithmParameterSpec): void;
			public clone(): any;
			/** @deprecated */
			public engineSetParameter(param0: string, param1: any): void;
			/** @deprecated */
			public engineGetParameter(param0: string): any;
			public engineInitVerify(param0: java.security.PublicKey): void;
			public engineInitSign(param0: java.security.PrivateKey): void;
			public engineSign(param0: native.Array<number>, param1: number, param2: number): number;
			public engineGetParameters(): java.security.AlgorithmParameters;
		}
	}
}

declare module java {
	export module security {
		export class SignedObject extends java.lang.Object implements java.io.Serializable {
			public static class: java.lang.Class<java.security.SignedObject>;
			public getObject(): any;
			public getAlgorithm(): string;
			public verify(param0: java.security.PublicKey, param1: java.security.Signature): boolean;
			public constructor(param0: java.io.Serializable, param1: java.security.PrivateKey, param2: java.security.Signature);
			public getSignature(): native.Array<number>;
		}
	}
}

declare module java {
	export module security {
		export abstract class Signer extends java.security.Identity {
			public static class: java.lang.Class<java.security.Signer>;
			public getPrivateKey(): java.security.PrivateKey;
			public toString(param0: boolean): string;
			public equals(param0: any): boolean;
			public toString(): string;
			public getName(): string;
			public setKeyPair(param0: java.security.KeyPair): void;
			public constructor();
			public implies(param0: javax.security.auth.Subject): boolean;
			public constructor(param0: string);
			public constructor(param0: string, param1: java.security.IdentityScope);
			public hashCode(): number;
		}
	}
}

declare module java {
	export module security {
		export class Timestamp extends java.lang.Object implements java.io.Serializable {
			public static class: java.lang.Class<java.security.Timestamp>;
			public equals(param0: any): boolean;
			public toString(): string;
			public getSignerCertPath(): java.security.cert.CertPath;
			public getTimestamp(): java.util.Date;
			public constructor(param0: java.util.Date, param1: java.security.cert.CertPath);
			public hashCode(): number;
		}
	}
}

declare module java {
	export module security {
		export class UnrecoverableEntryException extends java.security.GeneralSecurityException {
			public static class: java.lang.Class<java.security.UnrecoverableEntryException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module security {
		export class UnrecoverableKeyException extends java.security.UnrecoverableEntryException {
			public static class: java.lang.Class<java.security.UnrecoverableKeyException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module security {
		export class UnresolvedPermission extends java.security.Permission implements java.io.Serializable {
			public static class: java.lang.Class<java.security.UnresolvedPermission>;
			public getUnresolvedCerts(): native.Array<java.security.cert.Certificate>;
			public getUnresolvedType(): string;
			public getUnresolvedName(): string;
			public constructor(param0: string, param1: string, param2: string, param3: native.Array<java.security.cert.Certificate>);
			public getUnresolvedActions(): string;
			public implies(param0: java.security.Permission): boolean;
			public getActions(): string;
			public checkGuard(param0: any): void;
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module security {
		export module acl {
			export class Acl extends java.lang.Object implements java.security.acl.Owner {
				public static class: java.lang.Class<java.security.acl.Acl>;
				/**
				 * Constructs a new instance of the java.security.acl.Acl interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					setName(param0: java.security.Principal, param1: string): void;
					getName(): string;
					addEntry(param0: java.security.Principal, param1: java.security.acl.AclEntry): boolean;
					removeEntry(param0: java.security.Principal, param1: java.security.acl.AclEntry): boolean;
					getPermissions(param0: java.security.Principal): java.util.Enumeration<java.security.acl.Permission>;
					entries(): java.util.Enumeration<java.security.acl.AclEntry>;
					checkPermission(param0: java.security.Principal, param1: java.security.acl.Permission): boolean;
					toString(): string;
					addOwner(param0: java.security.Principal, param1: java.security.Principal): boolean;
					deleteOwner(param0: java.security.Principal, param1: java.security.Principal): boolean;
					isOwner(param0: java.security.Principal): boolean;
				});
				public constructor();
				public deleteOwner(param0: java.security.Principal, param1: java.security.Principal): boolean;
				public isOwner(param0: java.security.Principal): boolean;
				public addOwner(param0: java.security.Principal, param1: java.security.Principal): boolean;
				public addEntry(param0: java.security.Principal, param1: java.security.acl.AclEntry): boolean;
				public removeEntry(param0: java.security.Principal, param1: java.security.acl.AclEntry): boolean;
				public checkPermission(param0: java.security.Principal, param1: java.security.acl.Permission): boolean;
				public setName(param0: java.security.Principal, param1: string): void;
				public entries(): java.util.Enumeration<java.security.acl.AclEntry>;
				public getName(): string;
				public toString(): string;
				public getPermissions(param0: java.security.Principal): java.util.Enumeration<java.security.acl.Permission>;
			}
		}
	}
}

declare module java {
	export module security {
		export module acl {
			export class AclEntry extends java.lang.Object implements java.lang.Cloneable {
				public static class: java.lang.Class<java.security.acl.AclEntry>;
				/**
				 * Constructs a new instance of the java.security.acl.AclEntry interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					setPrincipal(param0: java.security.Principal): boolean;
					getPrincipal(): java.security.Principal;
					setNegativePermissions(): void;
					isNegative(): boolean;
					addPermission(param0: java.security.acl.Permission): boolean;
					removePermission(param0: java.security.acl.Permission): boolean;
					checkPermission(param0: java.security.acl.Permission): boolean;
					permissions(): java.util.Enumeration<java.security.acl.Permission>;
					toString(): string;
					clone(): any;
				});
				public constructor();
				public addPermission(param0: java.security.acl.Permission): boolean;
				public permissions(): java.util.Enumeration<java.security.acl.Permission>;
				public checkPermission(param0: java.security.acl.Permission): boolean;
				public setNegativePermissions(): void;
				public clone(): any;
				public setPrincipal(param0: java.security.Principal): boolean;
				public isNegative(): boolean;
				public removePermission(param0: java.security.acl.Permission): boolean;
				public toString(): string;
				public getPrincipal(): java.security.Principal;
			}
		}
	}
}

declare module java {
	export module security {
		export module acl {
			export class AclNotFoundException extends java.lang.Exception {
				public static class: java.lang.Class<java.security.acl.AclNotFoundException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module security {
		export module acl {
			export class Group extends java.lang.Object implements java.security.Principal {
				public static class: java.lang.Class<java.security.acl.Group>;
				/**
				 * Constructs a new instance of the java.security.acl.Group interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					addMember(param0: java.security.Principal): boolean;
					removeMember(param0: java.security.Principal): boolean;
					isMember(param0: java.security.Principal): boolean;
					members(): java.util.Enumeration<any>;
					equals(param0: any): boolean;
					toString(): string;
					hashCode(): number;
					getName(): string;
					implies(param0: javax.security.auth.Subject): boolean;
				});
				public constructor();
				public addMember(param0: java.security.Principal): boolean;
				public removeMember(param0: java.security.Principal): boolean;
				public hashCode(): number;
				public implies(param0: javax.security.auth.Subject): boolean;
				public equals(param0: any): boolean;
				public getName(): string;
				public isMember(param0: java.security.Principal): boolean;
				public toString(): string;
				public members(): java.util.Enumeration<any>;
			}
		}
	}
}

declare module java {
	export module security {
		export module acl {
			export class LastOwnerException extends java.lang.Exception {
				public static class: java.lang.Class<java.security.acl.LastOwnerException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module security {
		export module acl {
			export class NotOwnerException extends java.lang.Exception {
				public static class: java.lang.Class<java.security.acl.NotOwnerException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module security {
		export module acl {
			export class Owner extends java.lang.Object {
				public static class: java.lang.Class<java.security.acl.Owner>;
				/**
				 * Constructs a new instance of the java.security.acl.Owner interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					addOwner(param0: java.security.Principal, param1: java.security.Principal): boolean;
					deleteOwner(param0: java.security.Principal, param1: java.security.Principal): boolean;
					isOwner(param0: java.security.Principal): boolean;
				});
				public constructor();
				public deleteOwner(param0: java.security.Principal, param1: java.security.Principal): boolean;
				public isOwner(param0: java.security.Principal): boolean;
				public addOwner(param0: java.security.Principal, param1: java.security.Principal): boolean;
			}
		}
	}
}

declare module java {
	export module security {
		export module acl {
			export class Permission extends java.lang.Object {
				public static class: java.lang.Class<java.security.acl.Permission>;
				/**
				 * Constructs a new instance of the java.security.acl.Permission interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
				});
				public constructor();
			}
		}
	}
}

declare module java {
	export module security {
		export module cert {
			export abstract class CRL extends java.lang.Object {
				public static class: java.lang.Class<java.security.cert.CRL>;
				public getType(): string;
				public isRevoked(param0: java.security.cert.Certificate): boolean;
				public toString(): string;
				public constructor(param0: string);
			}
		}
	}
}

declare module java {
	export module security {
		export module cert {
			export class CRLException extends java.security.GeneralSecurityException {
				public static class: java.lang.Class<java.security.cert.CRLException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module security {
		export module cert {
			export class CRLReason {
				public static class: java.lang.Class<java.security.cert.CRLReason>;
				public static UNSPECIFIED: java.security.cert.CRLReason;
				public static KEY_COMPROMISE: java.security.cert.CRLReason;
				public static CA_COMPROMISE: java.security.cert.CRLReason;
				public static AFFILIATION_CHANGED: java.security.cert.CRLReason;
				public static SUPERSEDED: java.security.cert.CRLReason;
				public static CESSATION_OF_OPERATION: java.security.cert.CRLReason;
				public static CERTIFICATE_HOLD: java.security.cert.CRLReason;
				public static UNUSED: java.security.cert.CRLReason;
				public static REMOVE_FROM_CRL: java.security.cert.CRLReason;
				public static PRIVILEGE_WITHDRAWN: java.security.cert.CRLReason;
				public static AA_COMPROMISE: java.security.cert.CRLReason;
				public static values(): native.Array<java.security.cert.CRLReason>;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
				public static valueOf(param0: string): java.security.cert.CRLReason;
			}
		}
	}
}

declare module java {
	export module security {
		export module cert {
			export class CRLSelector extends java.lang.Object implements java.lang.Cloneable {
				public static class: java.lang.Class<java.security.cert.CRLSelector>;
				/**
				 * Constructs a new instance of the java.security.cert.CRLSelector interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					match(param0: java.security.cert.CRL): boolean;
					clone(): any;
				});
				public constructor();
				public match(param0: java.security.cert.CRL): boolean;
				public clone(): any;
			}
		}
	}
}

declare module java {
	export module security {
		export module cert {
			export abstract class CertPath extends java.lang.Object implements java.io.Serializable {
				public static class: java.lang.Class<java.security.cert.CertPath>;
				public getCertificates(): java.util.List<any>;
				public getType(): string;
				public hashCode(): number;
				public equals(param0: any): boolean;
				public getEncodings(): java.util.Iterator<string>;
				public getEncoded(): native.Array<number>;
				public getEncoded(param0: string): native.Array<number>;
				public toString(): string;
				public writeReplace(): any;
				public constructor(param0: string);
			}
			export module CertPath {
				export class CertPathRep extends java.lang.Object implements java.io.Serializable {
					public static class: java.lang.Class<java.security.cert.CertPath.CertPathRep>;
					public constructor(param0: string, param1: native.Array<number>);
					public readResolve(): any;
				}
			}
		}
	}
}

declare module java {
	export module security {
		export module cert {
			export class CertPathBuilder extends java.lang.Object {
				public static class: java.lang.Class<java.security.cert.CertPathBuilder>;
				public getAlgorithm(): string;
				public static getInstance(param0: string): java.security.cert.CertPathBuilder;
				public static getInstance(param0: string, param1: java.security.Provider): java.security.cert.CertPathBuilder;
				public build(param0: java.security.cert.CertPathParameters): java.security.cert.CertPathBuilderResult;
				public constructor(param0: java.security.cert.CertPathBuilderSpi, param1: java.security.Provider, param2: string);
				public static getInstance(param0: string, param1: string): java.security.cert.CertPathBuilder;
				public static getDefaultType(): string;
				public getProvider(): java.security.Provider;
				public getRevocationChecker(): java.security.cert.CertPathChecker;
			}
		}
	}
}

declare module java {
	export module security {
		export module cert {
			export class CertPathBuilderException extends java.security.GeneralSecurityException {
				public static class: java.lang.Class<java.security.cert.CertPathBuilderException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module security {
		export module cert {
			export class CertPathBuilderResult extends java.lang.Object implements java.lang.Cloneable {
				public static class: java.lang.Class<java.security.cert.CertPathBuilderResult>;
				/**
				 * Constructs a new instance of the java.security.cert.CertPathBuilderResult interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getCertPath(): java.security.cert.CertPath;
					clone(): any;
				});
				public constructor();
				public getCertPath(): java.security.cert.CertPath;
				public clone(): any;
			}
		}
	}
}

declare module java {
	export module security {
		export module cert {
			export abstract class CertPathBuilderSpi extends java.lang.Object {
				public static class: java.lang.Class<java.security.cert.CertPathBuilderSpi>;
				public engineGetRevocationChecker(): java.security.cert.CertPathChecker;
				public engineBuild(param0: java.security.cert.CertPathParameters): java.security.cert.CertPathBuilderResult;
				public constructor();
			}
		}
	}
}

declare module java {
	export module security {
		export module cert {
			export class CertPathChecker extends java.lang.Object {
				public static class: java.lang.Class<java.security.cert.CertPathChecker>;
				/**
				 * Constructs a new instance of the java.security.cert.CertPathChecker interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					init(param0: boolean): void;
					isForwardCheckingSupported(): boolean;
					check(param0: java.security.cert.Certificate): void;
				});
				public constructor();
				public init(param0: boolean): void;
				public isForwardCheckingSupported(): boolean;
				public check(param0: java.security.cert.Certificate): void;
			}
		}
	}
}

declare module java {
	export module security {
		export module cert {
			export class CertPathParameters extends java.lang.Object implements java.lang.Cloneable {
				public static class: java.lang.Class<java.security.cert.CertPathParameters>;
				/**
				 * Constructs a new instance of the java.security.cert.CertPathParameters interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					clone(): any;
				});
				public constructor();
				public clone(): any;
			}
		}
	}
}

declare module java {
	export module security {
		export module cert {
			export class CertPathValidator extends java.lang.Object {
				public static class: java.lang.Class<java.security.cert.CertPathValidator>;
				public getAlgorithm(): string;
				public constructor(param0: java.security.cert.CertPathValidatorSpi, param1: java.security.Provider, param2: string);
				public static getInstance(param0: string, param1: string): java.security.cert.CertPathValidator;
				public static getDefaultType(): string;
				public static getInstance(param0: string): java.security.cert.CertPathValidator;
				public static getInstance(param0: string, param1: java.security.Provider): java.security.cert.CertPathValidator;
				public getProvider(): java.security.Provider;
				public validate(param0: java.security.cert.CertPath, param1: java.security.cert.CertPathParameters): java.security.cert.CertPathValidatorResult;
				public getRevocationChecker(): java.security.cert.CertPathChecker;
			}
		}
	}
}

declare module java {
	export module security {
		export module cert {
			export class CertPathValidatorException extends java.security.GeneralSecurityException {
				public static class: java.lang.Class<java.security.cert.CertPathValidatorException>;
				public getCertPath(): java.security.cert.CertPath;
				public constructor(param0: string, param1: java.lang.Throwable, param2: java.security.cert.CertPath, param3: number);
				public constructor(param0: string, param1: java.lang.Throwable, param2: java.security.cert.CertPath, param3: number, param4: java.security.cert.CertPathValidatorException.Reason);
				public constructor(param0: string, param1: java.lang.Throwable);
				public getIndex(): number;
				public getReason(): java.security.cert.CertPathValidatorException.Reason;
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
			export module CertPathValidatorException {
				export class BasicReason extends java.security.cert.CertPathValidatorException.Reason {
					public static class: java.lang.Class<java.security.cert.CertPathValidatorException.BasicReason>;
					public static UNSPECIFIED: java.security.cert.CertPathValidatorException.BasicReason;
					public static EXPIRED: java.security.cert.CertPathValidatorException.BasicReason;
					public static NOT_YET_VALID: java.security.cert.CertPathValidatorException.BasicReason;
					public static REVOKED: java.security.cert.CertPathValidatorException.BasicReason;
					public static UNDETERMINED_REVOCATION_STATUS: java.security.cert.CertPathValidatorException.BasicReason;
					public static INVALID_SIGNATURE: java.security.cert.CertPathValidatorException.BasicReason;
					public static ALGORITHM_CONSTRAINED: java.security.cert.CertPathValidatorException.BasicReason;
					public static values(): native.Array<java.security.cert.CertPathValidatorException.BasicReason>;
					public static valueOf(param0: string): java.security.cert.CertPathValidatorException.BasicReason;
					public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
				}
				export class Reason extends java.lang.Object implements java.io.Serializable {
					public static class: java.lang.Class<java.security.cert.CertPathValidatorException.Reason>;
					/**
					 * Constructs a new instance of the java.security.cert.CertPathValidatorException$Reason interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
					});
					public constructor();
				}
			}
		}
	}
}

declare module java {
	export module security {
		export module cert {
			export class CertPathValidatorResult extends java.lang.Object implements java.lang.Cloneable {
				public static class: java.lang.Class<java.security.cert.CertPathValidatorResult>;
				/**
				 * Constructs a new instance of the java.security.cert.CertPathValidatorResult interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					clone(): any;
				});
				public constructor();
				public clone(): any;
			}
		}
	}
}

declare module java {
	export module security {
		export module cert {
			export abstract class CertPathValidatorSpi extends java.lang.Object {
				public static class: java.lang.Class<java.security.cert.CertPathValidatorSpi>;
				public engineGetRevocationChecker(): java.security.cert.CertPathChecker;
				public engineValidate(param0: java.security.cert.CertPath, param1: java.security.cert.CertPathParameters): java.security.cert.CertPathValidatorResult;
				public constructor();
			}
		}
	}
}

declare module java {
	export module security {
		export module cert {
			export class CertSelector extends java.lang.Object implements java.lang.Cloneable {
				public static class: java.lang.Class<java.security.cert.CertSelector>;
				/**
				 * Constructs a new instance of the java.security.cert.CertSelector interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					match(param0: java.security.cert.Certificate): boolean;
					clone(): any;
				});
				public constructor();
				public clone(): any;
				public match(param0: java.security.cert.Certificate): boolean;
			}
		}
	}
}

declare module java {
	export module security {
		export module cert {
			export class CertStore extends java.lang.Object {
				public static class: java.lang.Class<java.security.cert.CertStore>;
				public constructor(param0: java.security.cert.CertStoreSpi, param1: java.security.Provider, param2: string, param3: java.security.cert.CertStoreParameters);
				public getCertificates(param0: java.security.cert.CertSelector): java.util.Collection<any>;
				public getType(): string;
				public static getInstance(param0: string, param1: java.security.cert.CertStoreParameters, param2: java.security.Provider): java.security.cert.CertStore;
				public static getInstance(param0: string, param1: java.security.cert.CertStoreParameters): java.security.cert.CertStore;
				public static getInstance(param0: string, param1: java.security.cert.CertStoreParameters, param2: string): java.security.cert.CertStore;
				public getCRLs(param0: java.security.cert.CRLSelector): java.util.Collection<any>;
				public static getDefaultType(): string;
				public getProvider(): java.security.Provider;
				public getCertStoreParameters(): java.security.cert.CertStoreParameters;
			}
		}
	}
}

declare module java {
	export module security {
		export module cert {
			export class CertStoreException extends java.security.GeneralSecurityException {
				public static class: java.lang.Class<java.security.cert.CertStoreException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module security {
		export module cert {
			export class CertStoreParameters extends java.lang.Object implements java.lang.Cloneable {
				public static class: java.lang.Class<java.security.cert.CertStoreParameters>;
				/**
				 * Constructs a new instance of the java.security.cert.CertStoreParameters interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					clone(): any;
				});
				public constructor();
				public clone(): any;
			}
		}
	}
}

declare module java {
	export module security {
		export module cert {
			export abstract class CertStoreSpi extends java.lang.Object {
				public static class: java.lang.Class<java.security.cert.CertStoreSpi>;
				public constructor(param0: java.security.cert.CertStoreParameters);
				public engineGetCertificates(param0: java.security.cert.CertSelector): java.util.Collection<any>;
				public engineGetCRLs(param0: java.security.cert.CRLSelector): java.util.Collection<any>;
			}
		}
	}
}

declare module java {
	export module security {
		export module cert {
			export abstract class Certificate extends java.lang.Object implements java.io.Serializable {
				public static class: java.lang.Class<java.security.cert.Certificate>;
				public getType(): string;
				public verify(param0: java.security.PublicKey, param1: string): void;
				public verify(param0: java.security.PublicKey, param1: java.security.Provider): void;
				public hashCode(): number;
				public verify(param0: java.security.PublicKey): void;
				public getPublicKey(): java.security.PublicKey;
				public equals(param0: any): boolean;
				public getEncoded(): native.Array<number>;
				public toString(): string;
				public writeReplace(): any;
				public constructor(param0: string);
			}
			export module Certificate {
				export class CertificateRep extends java.lang.Object implements java.io.Serializable {
					public static class: java.lang.Class<java.security.cert.Certificate.CertificateRep>;
					public constructor(param0: string, param1: native.Array<number>);
					public readResolve(): any;
				}
			}
		}
	}
}

declare module java {
	export module security {
		export module cert {
			export class CertificateEncodingException extends java.security.cert.CertificateException {
				public static class: java.lang.Class<java.security.cert.CertificateEncodingException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module security {
		export module cert {
			export class CertificateException extends java.security.GeneralSecurityException {
				public static class: java.lang.Class<java.security.cert.CertificateException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module security {
		export module cert {
			export class CertificateExpiredException extends java.security.cert.CertificateException {
				public static class: java.lang.Class<java.security.cert.CertificateExpiredException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module security {
		export module cert {
			export class CertificateFactory extends java.lang.Object {
				public static class: java.lang.Class<java.security.cert.CertificateFactory>;
				public getType(): string;
				public generateCertPath(param0: java.util.List<any>): java.security.cert.CertPath;
				public getCertPathEncodings(): java.util.Iterator<string>;
				public static getInstance(param0: string, param1: java.security.Provider): java.security.cert.CertificateFactory;
				public generateCertPath(param0: java.io.InputStream, param1: string): java.security.cert.CertPath;
				public generateCertificates(param0: java.io.InputStream): java.util.Collection<any>;
				public generateCertPath(param0: java.io.InputStream): java.security.cert.CertPath;
				public constructor(param0: java.security.cert.CertificateFactorySpi, param1: java.security.Provider, param2: string);
				public getProvider(): java.security.Provider;
				public static getInstance(param0: string): java.security.cert.CertificateFactory;
				public generateCertificate(param0: java.io.InputStream): java.security.cert.Certificate;
				public generateCRL(param0: java.io.InputStream): java.security.cert.CRL;
				public static getInstance(param0: string, param1: string): java.security.cert.CertificateFactory;
				public generateCRLs(param0: java.io.InputStream): java.util.Collection<any>;
			}
		}
	}
}

declare module java {
	export module security {
		export module cert {
			export abstract class CertificateFactorySpi extends java.lang.Object {
				public static class: java.lang.Class<java.security.cert.CertificateFactorySpi>;
				public engineGenerateCertPath(param0: java.io.InputStream): java.security.cert.CertPath;
				public engineGenerateCertPath(param0: java.io.InputStream, param1: string): java.security.cert.CertPath;
				public engineGenerateCertificates(param0: java.io.InputStream): java.util.Collection<any>;
				public engineGenerateCertificate(param0: java.io.InputStream): java.security.cert.Certificate;
				public engineGenerateCRL(param0: java.io.InputStream): java.security.cert.CRL;
				public engineGetCertPathEncodings(): java.util.Iterator<string>;
				public engineGenerateCRLs(param0: java.io.InputStream): java.util.Collection<any>;
				public constructor();
				public engineGenerateCertPath(param0: java.util.List<any>): java.security.cert.CertPath;
			}
		}
	}
}

declare module java {
	export module security {
		export module cert {
			export class CertificateNotYetValidException extends java.security.cert.CertificateException {
				public static class: java.lang.Class<java.security.cert.CertificateNotYetValidException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module security {
		export module cert {
			export class CertificateParsingException extends java.security.cert.CertificateException {
				public static class: java.lang.Class<java.security.cert.CertificateParsingException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module security {
		export module cert {
			export class CertificateRevokedException extends java.security.cert.CertificateException {
				public static class: java.lang.Class<java.security.cert.CertificateRevokedException>;
				public getRevocationReason(): java.security.cert.CRLReason;
				public constructor(param0: java.util.Date, param1: java.security.cert.CRLReason, param2: javax.security.auth.x500.X500Principal, param3: java.util.Map<string,java.security.cert.Extension>);
				public getAuthorityName(): javax.security.auth.x500.X500Principal;
				public getInvalidityDate(): java.util.Date;
				public constructor(param0: string, param1: java.lang.Throwable);
				public getRevocationDate(): java.util.Date;
				public getMessage(): string;
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public getExtensions(): java.util.Map<string,java.security.cert.Extension>;
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module security {
		export module cert {
			export class CollectionCertStoreParameters extends java.lang.Object implements java.security.cert.CertStoreParameters {
				public static class: java.lang.Class<java.security.cert.CollectionCertStoreParameters>;
				public constructor(param0: java.util.Collection<any>);
				public clone(): any;
				public toString(): string;
				public getCollection(): java.util.Collection<any>;
				public constructor();
			}
		}
	}
}

declare module java {
	export module security {
		export module cert {
			export class Extension extends java.lang.Object {
				public static class: java.lang.Class<java.security.cert.Extension>;
				/**
				 * Constructs a new instance of the java.security.cert.Extension interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getId(): string;
					isCritical(): boolean;
					getValue(): native.Array<number>;
					encode(param0: java.io.OutputStream): void;
				});
				public constructor();
				public getValue(): native.Array<number>;
				public encode(param0: java.io.OutputStream): void;
				public getId(): string;
				public isCritical(): boolean;
			}
		}
	}
}

declare module java {
	export module security {
		export module cert {
			export class LDAPCertStoreParameters extends java.lang.Object implements java.security.cert.CertStoreParameters {
				public static class: java.lang.Class<java.security.cert.LDAPCertStoreParameters>;
				public getServerName(): string;
				public getPort(): number;
				public constructor(param0: string, param1: number);
				public clone(): any;
				public toString(): string;
				public constructor(param0: string);
				public constructor();
			}
		}
	}
}

declare module java {
	export module security {
		export module cert {
			export class PKIXBuilderParameters extends java.security.cert.PKIXParameters {
				public static class: java.lang.Class<java.security.cert.PKIXBuilderParameters>;
				public constructor(param0: java.security.KeyStore);
				public constructor(param0: java.security.KeyStore, param1: java.security.cert.CertSelector);
				public clone(): any;
				public getMaxPathLength(): number;
				public setMaxPathLength(param0: number): void;
				public constructor(param0: java.util.Set<java.security.cert.TrustAnchor>, param1: java.security.cert.CertSelector);
				public toString(): string;
				public constructor(param0: java.util.Set<java.security.cert.TrustAnchor>);
			}
		}
	}
}

declare module java {
	export module security {
		export module cert {
			export class PKIXCertPathBuilderResult extends java.security.cert.PKIXCertPathValidatorResult implements java.security.cert.CertPathBuilderResult {
				public static class: java.lang.Class<java.security.cert.PKIXCertPathBuilderResult>;
				public getCertPath(): java.security.cert.CertPath;
				public constructor(param0: java.security.cert.TrustAnchor, param1: java.security.cert.PolicyNode, param2: java.security.PublicKey);
				public clone(): any;
				public toString(): string;
				public constructor(param0: java.security.cert.CertPath, param1: java.security.cert.TrustAnchor, param2: java.security.cert.PolicyNode, param3: java.security.PublicKey);
			}
		}
	}
}

declare module java {
	export module security {
		export module cert {
			export abstract class PKIXCertPathChecker extends java.lang.Object implements java.security.cert.CertPathChecker, java.lang.Cloneable {
				public static class: java.lang.Class<java.security.cert.PKIXCertPathChecker>;
				public check(param0: java.security.cert.Certificate, param1: java.util.Collection<string>): void;
				public init(param0: boolean): void;
				public isForwardCheckingSupported(): boolean;
				public check(param0: java.security.cert.Certificate): void;
				public clone(): any;
				public getSupportedExtensions(): java.util.Set<string>;
				public constructor();
			}
		}
	}
}

declare module java {
	export module security {
		export module cert {
			export class PKIXCertPathValidatorResult extends java.lang.Object implements java.security.cert.CertPathValidatorResult {
				public static class: java.lang.Class<java.security.cert.PKIXCertPathValidatorResult>;
				public getTrustAnchor(): java.security.cert.TrustAnchor;
				public getPublicKey(): java.security.PublicKey;
				public constructor(param0: java.security.cert.TrustAnchor, param1: java.security.cert.PolicyNode, param2: java.security.PublicKey);
				public getPolicyTree(): java.security.cert.PolicyNode;
				public clone(): any;
				public toString(): string;
			}
		}
	}
}

declare module java {
	export module security {
		export module cert {
			export class PKIXParameters extends java.lang.Object implements java.security.cert.CertPathParameters {
				public static class: java.lang.Class<java.security.cert.PKIXParameters>;
				public getInitialPolicies(): java.util.Set<string>;
				public getTrustAnchors(): java.util.Set<java.security.cert.TrustAnchor>;
				public setTrustAnchors(param0: java.util.Set<java.security.cert.TrustAnchor>): void;
				public setAnyPolicyInhibited(param0: boolean): void;
				public isExplicitPolicyRequired(): boolean;
				public setPolicyQualifiersRejected(param0: boolean): void;
				public setCertStores(param0: java.util.List<java.security.cert.CertStore>): void;
				public setRevocationEnabled(param0: boolean): void;
				public constructor(param0: java.security.KeyStore);
				public clone(): any;
				public getCertStores(): java.util.List<java.security.cert.CertStore>;
				public isPolicyMappingInhibited(): boolean;
				public getPolicyQualifiersRejected(): boolean;
				public constructor(param0: java.util.Set<java.security.cert.TrustAnchor>);
				public getTargetCertConstraints(): java.security.cert.CertSelector;
				public isRevocationEnabled(): boolean;
				public setPolicyMappingInhibited(param0: boolean): void;
				public getCertPathCheckers(): java.util.List<java.security.cert.PKIXCertPathChecker>;
				public setExplicitPolicyRequired(param0: boolean): void;
				public setTargetCertConstraints(param0: java.security.cert.CertSelector): void;
				public getDate(): java.util.Date;
				public isAnyPolicyInhibited(): boolean;
				public toString(): string;
				public addCertStore(param0: java.security.cert.CertStore): void;
				public setDate(param0: java.util.Date): void;
				public setInitialPolicies(param0: java.util.Set<string>): void;
				public setCertPathCheckers(param0: java.util.List<java.security.cert.PKIXCertPathChecker>): void;
				public addCertPathChecker(param0: java.security.cert.PKIXCertPathChecker): void;
				public getSigProvider(): string;
				public setSigProvider(param0: string): void;
			}
		}
	}
}

declare module java {
	export module security {
		export module cert {
			export class PKIXReason extends java.security.cert.CertPathValidatorException.Reason {
				public static class: java.lang.Class<java.security.cert.PKIXReason>;
				public static NAME_CHAINING: java.security.cert.PKIXReason;
				public static INVALID_KEY_USAGE: java.security.cert.PKIXReason;
				public static INVALID_POLICY: java.security.cert.PKIXReason;
				public static NO_TRUST_ANCHOR: java.security.cert.PKIXReason;
				public static UNRECOGNIZED_CRIT_EXT: java.security.cert.PKIXReason;
				public static NOT_CA_CERT: java.security.cert.PKIXReason;
				public static PATH_TOO_LONG: java.security.cert.PKIXReason;
				public static INVALID_NAME: java.security.cert.PKIXReason;
				public static valueOf(param0: string): java.security.cert.PKIXReason;
				public static values(): native.Array<java.security.cert.PKIXReason>;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			}
		}
	}
}

declare module java {
	export module security {
		export module cert {
			export abstract class PKIXRevocationChecker extends java.security.cert.PKIXCertPathChecker {
				public static class: java.lang.Class<java.security.cert.PKIXRevocationChecker>;
				public getOcspResponder(): java.net.URI;
				public clone(): java.security.cert.PKIXRevocationChecker;
				public setOcspResponses(param0: java.util.Map<java.security.cert.X509Certificate,native.Array<number>>): void;
				public setOptions(param0: java.util.Set<java.security.cert.PKIXRevocationChecker.Option>): void;
				public setOcspResponderCert(param0: java.security.cert.X509Certificate): void;
				public isForwardCheckingSupported(): boolean;
				public check(param0: java.security.cert.Certificate): void;
				public setOcspResponder(param0: java.net.URI): void;
				public setOcspExtensions(param0: java.util.List<java.security.cert.Extension>): void;
				public getOptions(): java.util.Set<java.security.cert.PKIXRevocationChecker.Option>;
				public constructor();
				public check(param0: java.security.cert.Certificate, param1: java.util.Collection<string>): void;
				public init(param0: boolean): void;
				public clone(): any;
				public getOcspExtensions(): java.util.List<java.security.cert.Extension>;
				public getOcspResponderCert(): java.security.cert.X509Certificate;
				public getOcspResponses(): java.util.Map<java.security.cert.X509Certificate,native.Array<number>>;
				public getSoftFailExceptions(): java.util.List<java.security.cert.CertPathValidatorException>;
			}
			export module PKIXRevocationChecker {
				export class Option {
					public static class: java.lang.Class<java.security.cert.PKIXRevocationChecker.Option>;
					public static ONLY_END_ENTITY: java.security.cert.PKIXRevocationChecker.Option;
					public static PREFER_CRLS: java.security.cert.PKIXRevocationChecker.Option;
					public static NO_FALLBACK: java.security.cert.PKIXRevocationChecker.Option;
					public static SOFT_FAIL: java.security.cert.PKIXRevocationChecker.Option;
					public static valueOf(param0: string): java.security.cert.PKIXRevocationChecker.Option;
					public static values(): native.Array<java.security.cert.PKIXRevocationChecker.Option>;
					public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
				}
			}
		}
	}
}

declare module java {
	export module security {
		export module cert {
			export class PolicyNode extends java.lang.Object {
				public static class: java.lang.Class<java.security.cert.PolicyNode>;
				/**
				 * Constructs a new instance of the java.security.cert.PolicyNode interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getParent(): java.security.cert.PolicyNode;
					getChildren(): java.util.Iterator<any>;
					getDepth(): number;
					getValidPolicy(): string;
					getPolicyQualifiers(): java.util.Set<any>;
					getExpectedPolicies(): java.util.Set<string>;
					isCritical(): boolean;
				});
				public constructor();
				public getParent(): java.security.cert.PolicyNode;
				public getValidPolicy(): string;
				public getPolicyQualifiers(): java.util.Set<any>;
				public getChildren(): java.util.Iterator<any>;
				public isCritical(): boolean;
				public getDepth(): number;
				public getExpectedPolicies(): java.util.Set<string>;
			}
		}
	}
}

declare module java {
	export module security {
		export module cert {
			export class PolicyQualifierInfo extends java.lang.Object {
				public static class: java.lang.Class<java.security.cert.PolicyQualifierInfo>;
				public constructor(param0: native.Array<number>);
				public getPolicyQualifier(): native.Array<number>;
				public getPolicyQualifierId(): string;
				public getEncoded(): native.Array<number>;
				public toString(): string;
			}
		}
	}
}

declare module java {
	export module security {
		export module cert {
			export class TrustAnchor extends java.lang.Object {
				public static class: java.lang.Class<java.security.cert.TrustAnchor>;
				public getCA(): javax.security.auth.x500.X500Principal;
				public getCAPublicKey(): java.security.PublicKey;
				public constructor(param0: javax.security.auth.x500.X500Principal, param1: java.security.PublicKey, param2: native.Array<number>);
				public getNameConstraints(): native.Array<number>;
				public getTrustedCert(): java.security.cert.X509Certificate;
				public constructor(param0: java.security.cert.X509Certificate, param1: native.Array<number>);
				public constructor(param0: string, param1: java.security.PublicKey, param2: native.Array<number>);
				public toString(): string;
				public getCAName(): string;
			}
		}
	}
}

declare module java {
	export module security {
		export module cert {
			export abstract class X509CRL extends java.security.cert.CRL implements java.security.cert.X509Extension {
				public static class: java.lang.Class<java.security.cert.X509CRL>;
				public getCriticalExtensionOIDs(): java.util.Set<string>;
				public getSignature(): native.Array<number>;
				public getNonCriticalExtensionOIDs(): java.util.Set<string>;
				public constructor(param0: string);
				public getIssuerDN(): java.security.Principal;
				public constructor();
				public verify(param0: java.security.PublicKey, param1: string): void;
				public getRevokedCertificate(param0: java.math.BigInteger): java.security.cert.X509CRLEntry;
				public getRevokedCertificates(): java.util.Set<any>;
				public hashCode(): number;
				public getThisUpdate(): java.util.Date;
				public getNextUpdate(): java.util.Date;
				public verify(param0: java.security.PublicKey): void;
				public equals(param0: any): boolean;
				public getEncoded(): native.Array<number>;
				public getRevokedCertificate(param0: java.security.cert.X509Certificate): java.security.cert.X509CRLEntry;
				public verify(param0: java.security.PublicKey, param1: java.security.Provider): void;
				public getIssuerX500Principal(): javax.security.auth.x500.X500Principal;
				public getTBSCertList(): native.Array<number>;
				public getSigAlgParams(): native.Array<number>;
				public hasUnsupportedCriticalExtension(): boolean;
				public getVersion(): number;
				public getExtensionValue(param0: string): native.Array<number>;
				public getSigAlgName(): string;
				public getSigAlgOID(): string;
			}
		}
	}
}

declare module java {
	export module security {
		export module cert {
			export abstract class X509CRLEntry extends java.lang.Object implements java.security.cert.X509Extension {
				public static class: java.lang.Class<java.security.cert.X509CRLEntry>;
				public getCriticalExtensionOIDs(): java.util.Set<string>;
				public getSerialNumber(): java.math.BigInteger;
				public getRevocationDate(): java.util.Date;
				public toString(): string;
				public getNonCriticalExtensionOIDs(): java.util.Set<string>;
				public constructor();
				public getCertificateIssuer(): javax.security.auth.x500.X500Principal;
				public getRevocationReason(): java.security.cert.CRLReason;
				public hasUnsupportedCriticalExtension(): boolean;
				public hashCode(): number;
				public getExtensionValue(param0: string): native.Array<number>;
				public hasExtensions(): boolean;
				public equals(param0: any): boolean;
				public getEncoded(): native.Array<number>;
			}
		}
	}
}

declare module java {
	export module security {
		export module cert {
			export class X509CRLSelector extends java.lang.Object implements java.security.cert.CRLSelector {
				public static class: java.lang.Class<java.security.cert.X509CRLSelector>;
				public getDateAndTime(): java.util.Date;
				public getIssuerNames(): java.util.Collection<any>;
				public setMaxCRLNumber(param0: java.math.BigInteger): void;
				public getIssuers(): java.util.Collection<javax.security.auth.x500.X500Principal>;
				public toString(): string;
				public setMinCRLNumber(param0: java.math.BigInteger): void;
				public constructor();
				public setIssuers(param0: java.util.Collection<javax.security.auth.x500.X500Principal>): void;
				public setCertificateChecking(param0: java.security.cert.X509Certificate): void;
				public getMinCRL(): java.math.BigInteger;
				public match(param0: java.security.cert.CRL): boolean;
				public setDateAndTime(param0: java.util.Date): void;
				public clone(): any;
				public addIssuerName(param0: string): void;
				public getCertificateChecking(): java.security.cert.X509Certificate;
				public addIssuer(param0: javax.security.auth.x500.X500Principal): void;
				public addIssuerName(param0: native.Array<number>): void;
				public setIssuerNames(param0: java.util.Collection<any>): void;
				public getMaxCRL(): java.math.BigInteger;
			}
		}
	}
}

declare module java {
	export module security {
		export module cert {
			export class X509CertSelector extends java.lang.Object implements java.security.cert.CertSelector {
				public static class: java.lang.Class<java.security.cert.X509CertSelector>;
				public setIssuer(param0: javax.security.auth.x500.X500Principal): void;
				public getSerialNumber(): java.math.BigInteger;
				public setSubject(param0: javax.security.auth.x500.X500Principal): void;
				public setSubjectPublicKey(param0: native.Array<number>): void;
				public setNameConstraints(param0: native.Array<number>): void;
				public constructor();
				public setIssuer(param0: string): void;
				public getSubjectAsBytes(): native.Array<number>;
				public getBasicConstraints(): number;
				public clone(): any;
				public getExtendedKeyUsage(): java.util.Set<string>;
				public match(param0: java.security.cert.Certificate): boolean;
				public addSubjectAlternativeName(param0: number, param1: string): void;
				public getPrivateKeyValid(): java.util.Date;
				public setKeyUsage(param0: native.Array<boolean>): void;
				public setSubjectKeyIdentifier(param0: native.Array<number>): void;
				public getMatchAllSubjectAltNames(): boolean;
				public setPathToNames(param0: java.util.Collection<java.util.List<any>>): void;
				public setAuthorityKeyIdentifier(param0: native.Array<number>): void;
				public toString(): string;
				public setSubjectAlternativeNames(param0: java.util.Collection<java.util.List<any>>): void;
				public setPolicy(param0: java.util.Set<string>): void;
				public getKeyUsage(): native.Array<boolean>;
				public getSubject(): javax.security.auth.x500.X500Principal;
				public setBasicConstraints(param0: number): void;
				public getIssuerAsBytes(): native.Array<number>;
				public getNameConstraints(): native.Array<number>;
				public setSerialNumber(param0: java.math.BigInteger): void;
				public setPrivateKeyValid(param0: java.util.Date): void;
				public getSubjectKeyIdentifier(): native.Array<number>;
				public setSubject(param0: string): void;
				public getCertificateValid(): java.util.Date;
				public setSubject(param0: native.Array<number>): void;
				public getPathToNames(): java.util.Collection<java.util.List<any>>;
				public getSubjectAlternativeNames(): java.util.Collection<java.util.List<any>>;
				public addPathToName(param0: number, param1: native.Array<number>): void;
				public setSubjectPublicKey(param0: java.security.PublicKey): void;
				public setSubjectPublicKeyAlgID(param0: string): void;
				public getSubjectPublicKeyAlgID(): string;
				public setIssuer(param0: native.Array<number>): void;
				public getAuthorityKeyIdentifier(): native.Array<number>;
				public getCertificate(): java.security.cert.X509Certificate;
				public getSubjectAsString(): string;
				public getSubjectPublicKey(): java.security.PublicKey;
				public setMatchAllSubjectAltNames(param0: boolean): void;
				public getIssuer(): javax.security.auth.x500.X500Principal;
				public getPolicy(): java.util.Set<string>;
				public setExtendedKeyUsage(param0: java.util.Set<string>): void;
				public addSubjectAlternativeName(param0: number, param1: native.Array<number>): void;
				public addPathToName(param0: number, param1: string): void;
				public setCertificate(param0: java.security.cert.X509Certificate): void;
				public getIssuerAsString(): string;
				public setCertificateValid(param0: java.util.Date): void;
			}
		}
	}
}

declare module java {
	export module security {
		export module cert {
			export abstract class X509Certificate extends java.security.cert.Certificate implements java.security.cert.X509Extension {
				public static class: java.lang.Class<java.security.cert.X509Certificate>;
				public getCriticalExtensionOIDs(): java.util.Set<string>;
				public getSerialNumber(): java.math.BigInteger;
				public getSignature(): native.Array<number>;
				public getSubjectUniqueID(): native.Array<boolean>;
				public getNonCriticalExtensionOIDs(): java.util.Set<string>;
				public constructor(param0: string);
				public getIssuerDN(): java.security.Principal;
				public constructor();
				public verify(param0: java.security.PublicKey, param1: string): void;
				public getBasicConstraints(): number;
				public verify(param0: java.security.PublicKey): void;
				public getIssuerUniqueID(): native.Array<boolean>;
				public getSubjectAlternativeNames(): java.util.Collection<java.util.List<any>>;
				public checkValidity(param0: java.util.Date): void;
				public getNotBefore(): java.util.Date;
				public getNotAfter(): java.util.Date;
				public getIssuerX500Principal(): javax.security.auth.x500.X500Principal;
				public getExtendedKeyUsage(): java.util.List<string>;
				public verify(param0: java.security.PublicKey, param1: java.security.Provider): void;
				public getIssuerAlternativeNames(): java.util.Collection<java.util.List<any>>;
				public getSubjectDN(): java.security.Principal;
				public getSigAlgParams(): native.Array<number>;
				public getKeyUsage(): native.Array<boolean>;
				public hasUnsupportedCriticalExtension(): boolean;
				public getVersion(): number;
				public getExtensionValue(param0: string): native.Array<number>;
				public checkValidity(): void;
				public getTBSCertificate(): native.Array<number>;
				public getSigAlgName(): string;
				public getSubjectX500Principal(): javax.security.auth.x500.X500Principal;
				public getSigAlgOID(): string;
			}
		}
	}
}

declare module java {
	export module security {
		export module cert {
			export class X509Extension extends java.lang.Object {
				public static class: java.lang.Class<java.security.cert.X509Extension>;
				/**
				 * Constructs a new instance of the java.security.cert.X509Extension interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					hasUnsupportedCriticalExtension(): boolean;
					getCriticalExtensionOIDs(): java.util.Set<string>;
					getNonCriticalExtensionOIDs(): java.util.Set<string>;
					getExtensionValue(param0: string): native.Array<number>;
				});
				public constructor();
				public getCriticalExtensionOIDs(): java.util.Set<string>;
				public hasUnsupportedCriticalExtension(): boolean;
				public getExtensionValue(param0: string): native.Array<number>;
				public getNonCriticalExtensionOIDs(): java.util.Set<string>;
			}
		}
	}
}

declare module java {
	export module security {
		export module interfaces {
			export class DSAKey extends java.lang.Object {
				public static class: java.lang.Class<java.security.interfaces.DSAKey>;
				/**
				 * Constructs a new instance of the java.security.interfaces.DSAKey interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getParams(): java.security.interfaces.DSAParams;
				});
				public constructor();
				public getParams(): java.security.interfaces.DSAParams;
			}
		}
	}
}

declare module java {
	export module security {
		export module interfaces {
			export class DSAKeyPairGenerator extends java.lang.Object {
				public static class: java.lang.Class<java.security.interfaces.DSAKeyPairGenerator>;
				/**
				 * Constructs a new instance of the java.security.interfaces.DSAKeyPairGenerator interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					initialize(param0: java.security.interfaces.DSAParams, param1: java.security.SecureRandom): void;
					initialize(param0: number, param1: boolean, param2: java.security.SecureRandom): void;
				});
				public constructor();
				public initialize(param0: java.security.interfaces.DSAParams, param1: java.security.SecureRandom): void;
				public initialize(param0: number, param1: boolean, param2: java.security.SecureRandom): void;
			}
		}
	}
}

declare module java {
	export module security {
		export module interfaces {
			export class DSAParams extends java.lang.Object {
				public static class: java.lang.Class<java.security.interfaces.DSAParams>;
				/**
				 * Constructs a new instance of the java.security.interfaces.DSAParams interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getP(): java.math.BigInteger;
					getQ(): java.math.BigInteger;
					getG(): java.math.BigInteger;
				});
				public constructor();
				public getQ(): java.math.BigInteger;
				public getG(): java.math.BigInteger;
				public getP(): java.math.BigInteger;
			}
		}
	}
}

declare module java {
	export module security {
		export module interfaces {
			export class DSAPrivateKey extends java.lang.Object implements java.security.interfaces.DSAKey, java.security.PrivateKey {
				public static class: java.lang.Class<java.security.interfaces.DSAPrivateKey>;
				/**
				 * Constructs a new instance of the java.security.interfaces.DSAPrivateKey interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getX(): java.math.BigInteger;
					getParams(): java.security.interfaces.DSAParams;
					getAlgorithm(): string;
					getFormat(): string;
					getEncoded(): native.Array<number>;
					destroy(): void;
					isDestroyed(): boolean;
				});
				public constructor();
				public static serialVersionUID: number;
				public getAlgorithm(): string;
				public destroy(): void;
				public getFormat(): string;
				public isDestroyed(): boolean;
				public getParams(): java.security.interfaces.DSAParams;
				public getEncoded(): native.Array<number>;
				public getX(): java.math.BigInteger;
			}
		}
	}
}

declare module java {
	export module security {
		export module interfaces {
			export class DSAPublicKey extends java.lang.Object implements java.security.interfaces.DSAKey, java.security.PublicKey {
				public static class: java.lang.Class<java.security.interfaces.DSAPublicKey>;
				/**
				 * Constructs a new instance of the java.security.interfaces.DSAPublicKey interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getY(): java.math.BigInteger;
					getParams(): java.security.interfaces.DSAParams;
					getAlgorithm(): string;
					getFormat(): string;
					getEncoded(): native.Array<number>;
				});
				public constructor();
				public static serialVersionUID: number;
				public getAlgorithm(): string;
				public getFormat(): string;
				public getParams(): java.security.interfaces.DSAParams;
				public getEncoded(): native.Array<number>;
				public getY(): java.math.BigInteger;
			}
		}
	}
}

declare module java {
	export module security {
		export module interfaces {
			export class ECKey extends java.lang.Object {
				public static class: java.lang.Class<java.security.interfaces.ECKey>;
				/**
				 * Constructs a new instance of the java.security.interfaces.ECKey interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getParams(): java.security.spec.ECParameterSpec;
				});
				public constructor();
				public getParams(): java.security.spec.ECParameterSpec;
			}
		}
	}
}

declare module java {
	export module security {
		export module interfaces {
			export class ECPrivateKey extends java.lang.Object implements java.security.PrivateKey, java.security.interfaces.ECKey {
				public static class: java.lang.Class<java.security.interfaces.ECPrivateKey>;
				/**
				 * Constructs a new instance of the java.security.interfaces.ECPrivateKey interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getS(): java.math.BigInteger;
					getParams(): java.security.spec.ECParameterSpec;
					getAlgorithm(): string;
					getFormat(): string;
					getEncoded(): native.Array<number>;
					destroy(): void;
					isDestroyed(): boolean;
				});
				public constructor();
				public static serialVersionUID: number;
				public getAlgorithm(): string;
				public destroy(): void;
				public getFormat(): string;
				public isDestroyed(): boolean;
				public getS(): java.math.BigInteger;
				public getParams(): java.security.spec.ECParameterSpec;
				public getEncoded(): native.Array<number>;
			}
		}
	}
}

declare module java {
	export module security {
		export module interfaces {
			export class ECPublicKey extends java.lang.Object implements java.security.PublicKey, java.security.interfaces.ECKey {
				public static class: java.lang.Class<java.security.interfaces.ECPublicKey>;
				/**
				 * Constructs a new instance of the java.security.interfaces.ECPublicKey interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getW(): java.security.spec.ECPoint;
					getParams(): java.security.spec.ECParameterSpec;
					getAlgorithm(): string;
					getFormat(): string;
					getEncoded(): native.Array<number>;
				});
				public constructor();
				public static serialVersionUID: number;
				public getAlgorithm(): string;
				public getFormat(): string;
				public getParams(): java.security.spec.ECParameterSpec;
				public getEncoded(): native.Array<number>;
				public getW(): java.security.spec.ECPoint;
			}
		}
	}
}

declare module java {
	export module security {
		export module interfaces {
			export class RSAKey extends java.lang.Object {
				public static class: java.lang.Class<java.security.interfaces.RSAKey>;
				/**
				 * Constructs a new instance of the java.security.interfaces.RSAKey interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getModulus(): java.math.BigInteger;
				});
				public constructor();
				public getModulus(): java.math.BigInteger;
			}
		}
	}
}

declare module java {
	export module security {
		export module interfaces {
			export class RSAMultiPrimePrivateCrtKey extends java.lang.Object implements java.security.interfaces.RSAPrivateKey {
				public static class: java.lang.Class<java.security.interfaces.RSAMultiPrimePrivateCrtKey>;
				/**
				 * Constructs a new instance of the java.security.interfaces.RSAMultiPrimePrivateCrtKey interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getPublicExponent(): java.math.BigInteger;
					getPrimeP(): java.math.BigInteger;
					getPrimeQ(): java.math.BigInteger;
					getPrimeExponentP(): java.math.BigInteger;
					getPrimeExponentQ(): java.math.BigInteger;
					getCrtCoefficient(): java.math.BigInteger;
					getOtherPrimeInfo(): native.Array<java.security.spec.RSAOtherPrimeInfo>;
					getPrivateExponent(): java.math.BigInteger;
					getModulus(): java.math.BigInteger;
					getAlgorithm(): string;
					getFormat(): string;
					getEncoded(): native.Array<number>;
					destroy(): void;
					isDestroyed(): boolean;
				});
				public constructor();
				public static serialVersionUID: number;
				public getPrimeQ(): java.math.BigInteger;
				public getFormat(): string;
				public getPublicExponent(): java.math.BigInteger;
				public isDestroyed(): boolean;
				public getCrtCoefficient(): java.math.BigInteger;
				public getAlgorithm(): string;
				public destroy(): void;
				public getPrimeExponentP(): java.math.BigInteger;
				public getPrivateExponent(): java.math.BigInteger;
				public getOtherPrimeInfo(): native.Array<java.security.spec.RSAOtherPrimeInfo>;
				public getEncoded(): native.Array<number>;
				public getPrimeExponentQ(): java.math.BigInteger;
				public getModulus(): java.math.BigInteger;
				public getPrimeP(): java.math.BigInteger;
			}
		}
	}
}

declare module java {
	export module security {
		export module interfaces {
			export class RSAPrivateCrtKey extends java.lang.Object implements java.security.interfaces.RSAPrivateKey {
				public static class: java.lang.Class<java.security.interfaces.RSAPrivateCrtKey>;
				/**
				 * Constructs a new instance of the java.security.interfaces.RSAPrivateCrtKey interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getPublicExponent(): java.math.BigInteger;
					getPrimeP(): java.math.BigInteger;
					getPrimeQ(): java.math.BigInteger;
					getPrimeExponentP(): java.math.BigInteger;
					getPrimeExponentQ(): java.math.BigInteger;
					getCrtCoefficient(): java.math.BigInteger;
					getPrivateExponent(): java.math.BigInteger;
					getModulus(): java.math.BigInteger;
					getAlgorithm(): string;
					getFormat(): string;
					getEncoded(): native.Array<number>;
					destroy(): void;
					isDestroyed(): boolean;
				});
				public constructor();
				public static serialVersionUID: number;
				public getPrimeQ(): java.math.BigInteger;
				public getFormat(): string;
				public getPublicExponent(): java.math.BigInteger;
				public isDestroyed(): boolean;
				public getCrtCoefficient(): java.math.BigInteger;
				public getAlgorithm(): string;
				public destroy(): void;
				public getPrimeExponentP(): java.math.BigInteger;
				public getPrivateExponent(): java.math.BigInteger;
				public getEncoded(): native.Array<number>;
				public getPrimeExponentQ(): java.math.BigInteger;
				public getModulus(): java.math.BigInteger;
				public getPrimeP(): java.math.BigInteger;
			}
		}
	}
}

declare module java {
	export module security {
		export module interfaces {
			export class RSAPrivateKey extends java.lang.Object implements java.security.PrivateKey, java.security.interfaces.RSAKey {
				public static class: java.lang.Class<java.security.interfaces.RSAPrivateKey>;
				/**
				 * Constructs a new instance of the java.security.interfaces.RSAPrivateKey interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getPrivateExponent(): java.math.BigInteger;
					getModulus(): java.math.BigInteger;
					getAlgorithm(): string;
					getFormat(): string;
					getEncoded(): native.Array<number>;
					destroy(): void;
					isDestroyed(): boolean;
				});
				public constructor();
				public static serialVersionUID: number;
				public getAlgorithm(): string;
				public destroy(): void;
				public getPrivateExponent(): java.math.BigInteger;
				public getFormat(): string;
				public isDestroyed(): boolean;
				public getEncoded(): native.Array<number>;
				public getModulus(): java.math.BigInteger;
			}
		}
	}
}

declare module java {
	export module security {
		export module interfaces {
			export class RSAPublicKey extends java.lang.Object implements java.security.PublicKey, java.security.interfaces.RSAKey {
				public static class: java.lang.Class<java.security.interfaces.RSAPublicKey>;
				/**
				 * Constructs a new instance of the java.security.interfaces.RSAPublicKey interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getPublicExponent(): java.math.BigInteger;
					getModulus(): java.math.BigInteger;
					getAlgorithm(): string;
					getFormat(): string;
					getEncoded(): native.Array<number>;
				});
				public constructor();
				public static serialVersionUID: number;
				public getAlgorithm(): string;
				public getFormat(): string;
				public getPublicExponent(): java.math.BigInteger;
				public getEncoded(): native.Array<number>;
				public getModulus(): java.math.BigInteger;
			}
		}
	}
}

declare module java {
	export module security {
		export module spec {
			export class AlgorithmParameterSpec extends java.lang.Object {
				public static class: java.lang.Class<java.security.spec.AlgorithmParameterSpec>;
				/**
				 * Constructs a new instance of the java.security.spec.AlgorithmParameterSpec interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
				});
				public constructor();
			}
		}
	}
}

declare module java {
	export module security {
		export module spec {
			export class DSAParameterSpec extends java.lang.Object implements java.security.spec.AlgorithmParameterSpec, java.security.interfaces.DSAParams {
				public static class: java.lang.Class<java.security.spec.DSAParameterSpec>;
				public constructor(param0: java.math.BigInteger, param1: java.math.BigInteger, param2: java.math.BigInteger);
				public getQ(): java.math.BigInteger;
				public getG(): java.math.BigInteger;
				public getP(): java.math.BigInteger;
			}
		}
	}
}

declare module java {
	export module security {
		export module spec {
			export class DSAPrivateKeySpec extends java.lang.Object implements java.security.spec.KeySpec {
				public static class: java.lang.Class<java.security.spec.DSAPrivateKeySpec>;
				public constructor(param0: java.math.BigInteger, param1: java.math.BigInteger, param2: java.math.BigInteger, param3: java.math.BigInteger);
				public getQ(): java.math.BigInteger;
				public getG(): java.math.BigInteger;
				public getX(): java.math.BigInteger;
				public getP(): java.math.BigInteger;
			}
		}
	}
}

declare module java {
	export module security {
		export module spec {
			export class DSAPublicKeySpec extends java.lang.Object implements java.security.spec.KeySpec {
				public static class: java.lang.Class<java.security.spec.DSAPublicKeySpec>;
				public constructor(param0: java.math.BigInteger, param1: java.math.BigInteger, param2: java.math.BigInteger, param3: java.math.BigInteger);
				public getQ(): java.math.BigInteger;
				public getG(): java.math.BigInteger;
				public getY(): java.math.BigInteger;
				public getP(): java.math.BigInteger;
			}
		}
	}
}

declare module java {
	export module security {
		export module spec {
			export class ECField extends java.lang.Object {
				public static class: java.lang.Class<java.security.spec.ECField>;
				/**
				 * Constructs a new instance of the java.security.spec.ECField interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getFieldSize(): number;
				});
				public constructor();
				public getFieldSize(): number;
			}
		}
	}
}

declare module java {
	export module security {
		export module spec {
			export class ECFieldF2m extends java.lang.Object implements java.security.spec.ECField {
				public static class: java.lang.Class<java.security.spec.ECFieldF2m>;
				public hashCode(): number;
				public getMidTermsOfReductionPolynomial(): native.Array<number>;
				public constructor(param0: number, param1: java.math.BigInteger);
				public equals(param0: any): boolean;
				public constructor(param0: number);
				public getFieldSize(): number;
				public getReductionPolynomial(): java.math.BigInteger;
				public constructor(param0: number, param1: native.Array<number>);
				public getM(): number;
			}
		}
	}
}

declare module java {
	export module security {
		export module spec {
			export class ECFieldFp extends java.lang.Object implements java.security.spec.ECField {
				public static class: java.lang.Class<java.security.spec.ECFieldFp>;
				public hashCode(): number;
				public equals(param0: any): boolean;
				public getFieldSize(): number;
				public constructor(param0: java.math.BigInteger);
				public getP(): java.math.BigInteger;
			}
		}
	}
}

declare module java {
	export module security {
		export module spec {
			export class ECGenParameterSpec extends java.lang.Object implements java.security.spec.AlgorithmParameterSpec {
				public static class: java.lang.Class<java.security.spec.ECGenParameterSpec>;
				public getName(): string;
				public constructor(param0: string);
			}
		}
	}
}

declare module java {
	export module security {
		export module spec {
			export class ECParameterSpec extends java.lang.Object implements java.security.spec.AlgorithmParameterSpec {
				public static class: java.lang.Class<java.security.spec.ECParameterSpec>;
				public getCurve(): java.security.spec.EllipticCurve;
				public getGenerator(): java.security.spec.ECPoint;
				public getOrder(): java.math.BigInteger;
				public constructor(param0: java.security.spec.EllipticCurve, param1: java.security.spec.ECPoint, param2: java.math.BigInteger, param3: number);
				public getCofactor(): number;
			}
		}
	}
}

declare module java {
	export module security {
		export module spec {
			export class ECPoint extends java.lang.Object {
				public static class: java.lang.Class<java.security.spec.ECPoint>;
				public static POINT_INFINITY: java.security.spec.ECPoint;
				public getAffineY(): java.math.BigInteger;
				public constructor(param0: java.math.BigInteger, param1: java.math.BigInteger);
				public getAffineX(): java.math.BigInteger;
				public hashCode(): number;
				public equals(param0: any): boolean;
			}
		}
	}
}

declare module java {
	export module security {
		export module spec {
			export class ECPrivateKeySpec extends java.lang.Object implements java.security.spec.KeySpec {
				public static class: java.lang.Class<java.security.spec.ECPrivateKeySpec>;
				public constructor(param0: java.math.BigInteger, param1: java.security.spec.ECParameterSpec);
				public getS(): java.math.BigInteger;
				public getParams(): java.security.spec.ECParameterSpec;
			}
		}
	}
}

declare module java {
	export module security {
		export module spec {
			export class ECPublicKeySpec extends java.lang.Object implements java.security.spec.KeySpec {
				public static class: java.lang.Class<java.security.spec.ECPublicKeySpec>;
				public constructor(param0: java.security.spec.ECPoint, param1: java.security.spec.ECParameterSpec);
				public getParams(): java.security.spec.ECParameterSpec;
				public getW(): java.security.spec.ECPoint;
			}
		}
	}
}

declare module java {
	export module security {
		export module spec {
			export class EllipticCurve extends java.lang.Object {
				public static class: java.lang.Class<java.security.spec.EllipticCurve>;
				public getA(): java.math.BigInteger;
				public constructor(param0: java.security.spec.ECField, param1: java.math.BigInteger, param2: java.math.BigInteger, param3: native.Array<number>);
				public constructor(param0: java.security.spec.ECField, param1: java.math.BigInteger, param2: java.math.BigInteger);
				public getSeed(): native.Array<number>;
				public hashCode(): number;
				public equals(param0: any): boolean;
				public getB(): java.math.BigInteger;
				public getField(): java.security.spec.ECField;
			}
		}
	}
}

declare module java {
	export module security {
		export module spec {
			export abstract class EncodedKeySpec extends java.lang.Object implements java.security.spec.KeySpec {
				public static class: java.lang.Class<java.security.spec.EncodedKeySpec>;
				public constructor(param0: native.Array<number>);
				public getFormat(): string;
				public getEncoded(): native.Array<number>;
			}
		}
	}
}

declare module java {
	export module security {
		export module spec {
			export class InvalidKeySpecException extends java.security.GeneralSecurityException {
				public static class: java.lang.Class<java.security.spec.InvalidKeySpecException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module security {
		export module spec {
			export class InvalidParameterSpecException extends java.security.GeneralSecurityException {
				public static class: java.lang.Class<java.security.spec.InvalidParameterSpecException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module security {
		export module spec {
			export class KeySpec extends java.lang.Object {
				public static class: java.lang.Class<java.security.spec.KeySpec>;
				/**
				 * Constructs a new instance of the java.security.spec.KeySpec interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
				});
				public constructor();
			}
		}
	}
}

declare module java {
	export module security {
		export module spec {
			export class MGF1ParameterSpec extends java.lang.Object implements java.security.spec.AlgorithmParameterSpec {
				public static class: java.lang.Class<java.security.spec.MGF1ParameterSpec>;
				public static SHA1: java.security.spec.MGF1ParameterSpec;
				public static SHA224: java.security.spec.MGF1ParameterSpec;
				public static SHA256: java.security.spec.MGF1ParameterSpec;
				public static SHA384: java.security.spec.MGF1ParameterSpec;
				public static SHA512: java.security.spec.MGF1ParameterSpec;
				public getDigestAlgorithm(): string;
				public constructor(param0: string);
			}
		}
	}
}

declare module java {
	export module security {
		export module spec {
			export class PKCS8EncodedKeySpec extends java.security.spec.EncodedKeySpec {
				public static class: java.lang.Class<java.security.spec.PKCS8EncodedKeySpec>;
				public constructor(param0: native.Array<number>);
				public getFormat(): string;
				public getEncoded(): native.Array<number>;
			}
		}
	}
}

declare module java {
	export module security {
		export module spec {
			export class PSSParameterSpec extends java.lang.Object implements java.security.spec.AlgorithmParameterSpec {
				public static class: java.lang.Class<java.security.spec.PSSParameterSpec>;
				public static DEFAULT: java.security.spec.PSSParameterSpec;
				public getSaltLength(): number;
				public getDigestAlgorithm(): string;
				public getMGFAlgorithm(): string;
				public getTrailerField(): number;
				public constructor(param0: number);
				public constructor(param0: string, param1: string, param2: java.security.spec.AlgorithmParameterSpec, param3: number, param4: number);
				public getMGFParameters(): java.security.spec.AlgorithmParameterSpec;
			}
		}
	}
}

declare module java {
	export module security {
		export module spec {
			export class RSAKeyGenParameterSpec extends java.lang.Object implements java.security.spec.AlgorithmParameterSpec {
				public static class: java.lang.Class<java.security.spec.RSAKeyGenParameterSpec>;
				public static F0: java.math.BigInteger;
				public static F4: java.math.BigInteger;
				public getPublicExponent(): java.math.BigInteger;
				public constructor(param0: number, param1: java.math.BigInteger);
				public getKeysize(): number;
			}
		}
	}
}

declare module java {
	export module security {
		export module spec {
			export class RSAMultiPrimePrivateCrtKeySpec extends java.security.spec.RSAPrivateKeySpec {
				public static class: java.lang.Class<java.security.spec.RSAMultiPrimePrivateCrtKeySpec>;
				public getPrimeQ(): java.math.BigInteger;
				public constructor(param0: java.math.BigInteger, param1: java.math.BigInteger, param2: java.math.BigInteger, param3: java.math.BigInteger, param4: java.math.BigInteger, param5: java.math.BigInteger, param6: java.math.BigInteger, param7: java.math.BigInteger, param8: native.Array<java.security.spec.RSAOtherPrimeInfo>);
				public constructor(param0: java.math.BigInteger, param1: java.math.BigInteger);
				public getPrimeExponentP(): java.math.BigInteger;
				public getPublicExponent(): java.math.BigInteger;
				public getOtherPrimeInfo(): native.Array<java.security.spec.RSAOtherPrimeInfo>;
				public getCrtCoefficient(): java.math.BigInteger;
				public getPrimeExponentQ(): java.math.BigInteger;
				public getPrimeP(): java.math.BigInteger;
			}
		}
	}
}

declare module java {
	export module security {
		export module spec {
			export class RSAOtherPrimeInfo extends java.lang.Object {
				public static class: java.lang.Class<java.security.spec.RSAOtherPrimeInfo>;
				public getExponent(): java.math.BigInteger;
				public constructor(param0: java.math.BigInteger, param1: java.math.BigInteger, param2: java.math.BigInteger);
				public getPrime(): java.math.BigInteger;
				public getCrtCoefficient(): java.math.BigInteger;
			}
		}
	}
}

declare module java {
	export module security {
		export module spec {
			export class RSAPrivateCrtKeySpec extends java.security.spec.RSAPrivateKeySpec {
				public static class: java.lang.Class<java.security.spec.RSAPrivateCrtKeySpec>;
				public getPrimeQ(): java.math.BigInteger;
				public constructor(param0: java.math.BigInteger, param1: java.math.BigInteger);
				public getPrimeExponentP(): java.math.BigInteger;
				public getPublicExponent(): java.math.BigInteger;
				public constructor(param0: java.math.BigInteger, param1: java.math.BigInteger, param2: java.math.BigInteger, param3: java.math.BigInteger, param4: java.math.BigInteger, param5: java.math.BigInteger, param6: java.math.BigInteger, param7: java.math.BigInteger);
				public getCrtCoefficient(): java.math.BigInteger;
				public getPrimeExponentQ(): java.math.BigInteger;
				public getPrimeP(): java.math.BigInteger;
			}
		}
	}
}

declare module java {
	export module security {
		export module spec {
			export class RSAPrivateKeySpec extends java.lang.Object implements java.security.spec.KeySpec {
				public static class: java.lang.Class<java.security.spec.RSAPrivateKeySpec>;
				public constructor(param0: java.math.BigInteger, param1: java.math.BigInteger);
				public getPrivateExponent(): java.math.BigInteger;
				public getModulus(): java.math.BigInteger;
			}
		}
	}
}

declare module java {
	export module security {
		export module spec {
			export class RSAPublicKeySpec extends java.lang.Object implements java.security.spec.KeySpec {
				public static class: java.lang.Class<java.security.spec.RSAPublicKeySpec>;
				public constructor(param0: java.math.BigInteger, param1: java.math.BigInteger);
				public getPublicExponent(): java.math.BigInteger;
				public getModulus(): java.math.BigInteger;
			}
		}
	}
}

declare module java {
	export module security {
		export module spec {
			export class X509EncodedKeySpec extends java.security.spec.EncodedKeySpec {
				public static class: java.lang.Class<java.security.spec.X509EncodedKeySpec>;
				public constructor(param0: native.Array<number>);
				public getFormat(): string;
				public getEncoded(): native.Array<number>;
			}
		}
	}
}

declare module java {
	export module sql {
		export class Array extends java.lang.Object {
			public static class: java.lang.Class<java.sql.Array>;
			/**
			 * Constructs a new instance of the java.sql.Array interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				getBaseTypeName(): string;
				getBaseType(): number;
				getArray(): any;
				getArray(param0: java.util.Map<string,java.lang.Class<any>>): any;
				getArray(param0: number, param1: number): any;
				getArray(param0: number, param1: number, param2: java.util.Map<string,java.lang.Class<any>>): any;
				getResultSet(): java.sql.ResultSet;
				getResultSet(param0: java.util.Map<string,java.lang.Class<any>>): java.sql.ResultSet;
				getResultSet(param0: number, param1: number): java.sql.ResultSet;
				getResultSet(param0: number, param1: number, param2: java.util.Map<string,java.lang.Class<any>>): java.sql.ResultSet;
				free(): void;
			});
			public constructor();
			public getArray(param0: number, param1: number): any;
			public free(): void;
			public getResultSet(): java.sql.ResultSet;
			public getResultSet(param0: number, param1: number, param2: java.util.Map<string,java.lang.Class<any>>): java.sql.ResultSet;
			public getResultSet(param0: java.util.Map<string,java.lang.Class<any>>): java.sql.ResultSet;
			public getArray(): any;
			public getArray(param0: java.util.Map<string,java.lang.Class<any>>): any;
			public getArray(param0: number, param1: number, param2: java.util.Map<string,java.lang.Class<any>>): any;
			public getBaseType(): number;
			public getResultSet(param0: number, param1: number): java.sql.ResultSet;
			public getBaseTypeName(): string;
		}
	}
}

declare module java {
	export module sql {
		export class BatchUpdateException extends java.sql.SQLException {
			public static class: java.lang.Class<java.sql.BatchUpdateException>;
			public constructor(param0: string, param1: string, param2: number, param3: native.Array<number>);
			public constructor(param0: string, param1: native.Array<number>, param2: java.lang.Throwable);
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: native.Array<number>, param1: java.lang.Throwable);
			public constructor(param0: string, param1: string, param2: native.Array<number>);
			public constructor();
			public constructor(param0: native.Array<number>);
			public constructor(param0: string, param1: string, param2: java.lang.Throwable);
			public forEach(param0: any /* any*/): void;
			public constructor(param0: string, param1: string);
			public constructor(param0: string, param1: string, param2: number, param3: java.lang.Throwable);
			public getUpdateCounts(): native.Array<number>;
			public constructor(param0: string, param1: native.Array<number>);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor(param0: string, param1: string, param2: native.Array<number>, param3: java.lang.Throwable);
			public constructor(param0: string, param1: string, param2: number, param3: native.Array<number>, param4: java.lang.Throwable);
			public spliterator(): java.util.Spliterator<any>;
			public constructor(param0: string, param1: string, param2: number);
			public constructor(param0: string);
			public iterator(): java.util.Iterator<java.lang.Throwable>;
			public iterator(): java.util.Iterator<any>;
		}
	}
}

declare module java {
	export module sql {
		export class Blob extends java.lang.Object {
			public static class: java.lang.Class<java.sql.Blob>;
			/**
			 * Constructs a new instance of the java.sql.Blob interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				length(): number;
				getBytes(param0: number, param1: number): native.Array<number>;
				getBinaryStream(): java.io.InputStream;
				position(param0: native.Array<number>, param1: number): number;
				position(param0: java.sql.Blob, param1: number): number;
				setBytes(param0: number, param1: native.Array<number>): number;
				setBytes(param0: number, param1: native.Array<number>, param2: number, param3: number): number;
				setBinaryStream(param0: number): java.io.OutputStream;
				truncate(param0: number): void;
				free(): void;
				getBinaryStream(param0: number, param1: number): java.io.InputStream;
			});
			public constructor();
			public getBinaryStream(): java.io.InputStream;
			public free(): void;
			public getBinaryStream(param0: number, param1: number): java.io.InputStream;
			public getBytes(param0: number, param1: number): native.Array<number>;
			public truncate(param0: number): void;
			public length(): number;
			public setBinaryStream(param0: number): java.io.OutputStream;
			public position(param0: native.Array<number>, param1: number): number;
			public setBytes(param0: number, param1: native.Array<number>, param2: number, param3: number): number;
			public position(param0: java.sql.Blob, param1: number): number;
			public setBytes(param0: number, param1: native.Array<number>): number;
		}
	}
}

declare module java {
	export module sql {
		export class CallableStatement extends java.lang.Object implements java.sql.PreparedStatement {
			public static class: java.lang.Class<java.sql.CallableStatement>;
			/**
			 * Constructs a new instance of the java.sql.CallableStatement interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				registerOutParameter(param0: number, param1: number): void;
				registerOutParameter(param0: number, param1: number, param2: number): void;
				wasNull(): boolean;
				getString(param0: number): string;
				getBoolean(param0: number): boolean;
				getByte(param0: number): number;
				getShort(param0: number): number;
				getInt(param0: number): number;
				getLong(param0: number): number;
				getFloat(param0: number): number;
				getDouble(param0: number): number;
				getBigDecimal(param0: number, param1: number): java.math.BigDecimal;
				getBytes(param0: number): native.Array<number>;
				getDate(param0: number): java.sql.Date;
				getTime(param0: number): java.sql.Time;
				getTimestamp(param0: number): java.sql.Timestamp;
				getObject(param0: number): any;
				getBigDecimal(param0: number): java.math.BigDecimal;
				getObject(param0: number, param1: java.util.Map<string,java.lang.Class<any>>): any;
				getRef(param0: number): java.sql.Ref;
				getBlob(param0: number): java.sql.Blob;
				getClob(param0: number): java.sql.Clob;
				getArray(param0: number): java.sql.Array;
				getDate(param0: number, param1: java.util.Calendar): java.sql.Date;
				getTime(param0: number, param1: java.util.Calendar): java.sql.Time;
				getTimestamp(param0: number, param1: java.util.Calendar): java.sql.Timestamp;
				registerOutParameter(param0: number, param1: number, param2: string): void;
				registerOutParameter(param0: string, param1: number): void;
				registerOutParameter(param0: string, param1: number, param2: number): void;
				registerOutParameter(param0: string, param1: number, param2: string): void;
				getURL(param0: number): java.net.URL;
				setURL(param0: string, param1: java.net.URL): void;
				setNull(param0: string, param1: number): void;
				setBoolean(param0: string, param1: boolean): void;
				setByte(param0: string, param1: number): void;
				setShort(param0: string, param1: number): void;
				setInt(param0: string, param1: number): void;
				setLong(param0: string, param1: number): void;
				setFloat(param0: string, param1: number): void;
				setDouble(param0: string, param1: number): void;
				setBigDecimal(param0: string, param1: java.math.BigDecimal): void;
				setString(param0: string, param1: string): void;
				setBytes(param0: string, param1: native.Array<number>): void;
				setDate(param0: string, param1: java.sql.Date): void;
				setTime(param0: string, param1: java.sql.Time): void;
				setTimestamp(param0: string, param1: java.sql.Timestamp): void;
				setAsciiStream(param0: string, param1: java.io.InputStream, param2: number): void;
				setBinaryStream(param0: string, param1: java.io.InputStream, param2: number): void;
				setObject(param0: string, param1: any, param2: number, param3: number): void;
				setObject(param0: string, param1: any, param2: number): void;
				setObject(param0: string, param1: any): void;
				setCharacterStream(param0: string, param1: java.io.Reader, param2: number): void;
				setDate(param0: string, param1: java.sql.Date, param2: java.util.Calendar): void;
				setTime(param0: string, param1: java.sql.Time, param2: java.util.Calendar): void;
				setTimestamp(param0: string, param1: java.sql.Timestamp, param2: java.util.Calendar): void;
				setNull(param0: string, param1: number, param2: string): void;
				getString(param0: string): string;
				getBoolean(param0: string): boolean;
				getByte(param0: string): number;
				getShort(param0: string): number;
				getInt(param0: string): number;
				getLong(param0: string): number;
				getFloat(param0: string): number;
				getDouble(param0: string): number;
				getBytes(param0: string): native.Array<number>;
				getDate(param0: string): java.sql.Date;
				getTime(param0: string): java.sql.Time;
				getTimestamp(param0: string): java.sql.Timestamp;
				getObject(param0: string): any;
				getBigDecimal(param0: string): java.math.BigDecimal;
				getObject(param0: string, param1: java.util.Map<string,java.lang.Class<any>>): any;
				getRef(param0: string): java.sql.Ref;
				getBlob(param0: string): java.sql.Blob;
				getClob(param0: string): java.sql.Clob;
				getArray(param0: string): java.sql.Array;
				getDate(param0: string, param1: java.util.Calendar): java.sql.Date;
				getTime(param0: string, param1: java.util.Calendar): java.sql.Time;
				getTimestamp(param0: string, param1: java.util.Calendar): java.sql.Timestamp;
				getURL(param0: string): java.net.URL;
				getRowId(param0: number): java.sql.RowId;
				getRowId(param0: string): java.sql.RowId;
				setRowId(param0: string, param1: java.sql.RowId): void;
				setNString(param0: string, param1: string): void;
				setNCharacterStream(param0: string, param1: java.io.Reader, param2: number): void;
				setNClob(param0: string, param1: java.sql.NClob): void;
				setClob(param0: string, param1: java.io.Reader, param2: number): void;
				setBlob(param0: string, param1: java.io.InputStream, param2: number): void;
				setNClob(param0: string, param1: java.io.Reader, param2: number): void;
				getNClob(param0: number): java.sql.NClob;
				getNClob(param0: string): java.sql.NClob;
				setSQLXML(param0: string, param1: java.sql.SQLXML): void;
				getSQLXML(param0: number): java.sql.SQLXML;
				getSQLXML(param0: string): java.sql.SQLXML;
				getNString(param0: number): string;
				getNString(param0: string): string;
				getNCharacterStream(param0: number): java.io.Reader;
				getNCharacterStream(param0: string): java.io.Reader;
				getCharacterStream(param0: number): java.io.Reader;
				getCharacterStream(param0: string): java.io.Reader;
				setBlob(param0: string, param1: java.sql.Blob): void;
				setClob(param0: string, param1: java.sql.Clob): void;
				setAsciiStream(param0: string, param1: java.io.InputStream, param2: number): void;
				setBinaryStream(param0: string, param1: java.io.InputStream, param2: number): void;
				setCharacterStream(param0: string, param1: java.io.Reader, param2: number): void;
				setAsciiStream(param0: string, param1: java.io.InputStream): void;
				setBinaryStream(param0: string, param1: java.io.InputStream): void;
				setCharacterStream(param0: string, param1: java.io.Reader): void;
				setNCharacterStream(param0: string, param1: java.io.Reader): void;
				setClob(param0: string, param1: java.io.Reader): void;
				setBlob(param0: string, param1: java.io.InputStream): void;
				setNClob(param0: string, param1: java.io.Reader): void;
				executeQuery(): java.sql.ResultSet;
				executeUpdate(): number;
				setNull(param0: number, param1: number): void;
				setBoolean(param0: number, param1: boolean): void;
				setByte(param0: number, param1: number): void;
				setShort(param0: number, param1: number): void;
				setInt(param0: number, param1: number): void;
				setLong(param0: number, param1: number): void;
				setFloat(param0: number, param1: number): void;
				setDouble(param0: number, param1: number): void;
				setBigDecimal(param0: number, param1: java.math.BigDecimal): void;
				setString(param0: number, param1: string): void;
				setBytes(param0: number, param1: native.Array<number>): void;
				setDate(param0: number, param1: java.sql.Date): void;
				setTime(param0: number, param1: java.sql.Time): void;
				setTimestamp(param0: number, param1: java.sql.Timestamp): void;
				setAsciiStream(param0: number, param1: java.io.InputStream, param2: number): void;
				setUnicodeStream(param0: number, param1: java.io.InputStream, param2: number): void;
				setBinaryStream(param0: number, param1: java.io.InputStream, param2: number): void;
				clearParameters(): void;
				setObject(param0: number, param1: any, param2: number): void;
				setObject(param0: number, param1: any): void;
				execute(): boolean;
				addBatch(): void;
				setCharacterStream(param0: number, param1: java.io.Reader, param2: number): void;
				setRef(param0: number, param1: java.sql.Ref): void;
				setBlob(param0: number, param1: java.sql.Blob): void;
				setClob(param0: number, param1: java.sql.Clob): void;
				setArray(param0: number, param1: java.sql.Array): void;
				getMetaData(): java.sql.ResultSetMetaData;
				setDate(param0: number, param1: java.sql.Date, param2: java.util.Calendar): void;
				setTime(param0: number, param1: java.sql.Time, param2: java.util.Calendar): void;
				setTimestamp(param0: number, param1: java.sql.Timestamp, param2: java.util.Calendar): void;
				setNull(param0: number, param1: number, param2: string): void;
				setURL(param0: number, param1: java.net.URL): void;
				getParameterMetaData(): java.sql.ParameterMetaData;
				setRowId(param0: number, param1: java.sql.RowId): void;
				setNString(param0: number, param1: string): void;
				setNCharacterStream(param0: number, param1: java.io.Reader, param2: number): void;
				setNClob(param0: number, param1: java.sql.NClob): void;
				setClob(param0: number, param1: java.io.Reader, param2: number): void;
				setBlob(param0: number, param1: java.io.InputStream, param2: number): void;
				setNClob(param0: number, param1: java.io.Reader, param2: number): void;
				setSQLXML(param0: number, param1: java.sql.SQLXML): void;
				setObject(param0: number, param1: any, param2: number, param3: number): void;
				setAsciiStream(param0: number, param1: java.io.InputStream, param2: number): void;
				setBinaryStream(param0: number, param1: java.io.InputStream, param2: number): void;
				setCharacterStream(param0: number, param1: java.io.Reader, param2: number): void;
				setAsciiStream(param0: number, param1: java.io.InputStream): void;
				setBinaryStream(param0: number, param1: java.io.InputStream): void;
				setCharacterStream(param0: number, param1: java.io.Reader): void;
				setNCharacterStream(param0: number, param1: java.io.Reader): void;
				setClob(param0: number, param1: java.io.Reader): void;
				setBlob(param0: number, param1: java.io.InputStream): void;
				setNClob(param0: number, param1: java.io.Reader): void;
				executeQuery(param0: string): java.sql.ResultSet;
				executeUpdate(param0: string): number;
				close(): void;
				getMaxFieldSize(): number;
				setMaxFieldSize(param0: number): void;
				getMaxRows(): number;
				setMaxRows(param0: number): void;
				setEscapeProcessing(param0: boolean): void;
				getQueryTimeout(): number;
				setQueryTimeout(param0: number): void;
				cancel(): void;
				getWarnings(): java.sql.SQLWarning;
				clearWarnings(): void;
				setCursorName(param0: string): void;
				execute(param0: string): boolean;
				getResultSet(): java.sql.ResultSet;
				getUpdateCount(): number;
				getMoreResults(): boolean;
				setFetchDirection(param0: number): void;
				getFetchDirection(): number;
				setFetchSize(param0: number): void;
				getFetchSize(): number;
				getResultSetConcurrency(): number;
				getResultSetType(): number;
				addBatch(param0: string): void;
				clearBatch(): void;
				executeBatch(): native.Array<number>;
				getConnection(): java.sql.Connection;
				getMoreResults(param0: number): boolean;
				getGeneratedKeys(): java.sql.ResultSet;
				executeUpdate(param0: string, param1: number): number;
				executeUpdate(param0: string, param1: native.Array<number>): number;
				executeUpdate(param0: string, param1: native.Array<string>): number;
				execute(param0: string, param1: number): boolean;
				execute(param0: string, param1: native.Array<number>): boolean;
				execute(param0: string, param1: native.Array<string>): boolean;
				getResultSetHoldability(): number;
				isClosed(): boolean;
				setPoolable(param0: boolean): void;
				isPoolable(): boolean;
				unwrap(param0: java.lang.Class<any>): any;
				isWrapperFor(param0: java.lang.Class<any>): boolean;
				close(): void;
			});
			public constructor();
			public static CLOSE_CURRENT_RESULT: number;
			public static EXECUTE_FAILED: number;
			public static KEEP_CURRENT_RESULT: number;
			public static NO_GENERATED_KEYS: number;
			public static RETURN_GENERATED_KEYS: number;
			public static CLOSE_ALL_RESULTS: number;
			public static SUCCESS_NO_INFO: number;
			public setNClob(param0: string, param1: java.io.Reader): void;
			public cancel(): void;
			public setNString(param0: string, param1: string): void;
			public setBlob(param0: number, param1: java.io.InputStream): void;
			public setPoolable(param0: boolean): void;
			public setByte(param0: number, param1: number): void;
			public setSQLXML(param0: number, param1: java.sql.SQLXML): void;
			public addBatch(param0: string): void;
			public wasNull(): boolean;
			public registerOutParameter(param0: string, param1: number, param2: number): void;
			public setNull(param0: string, param1: number, param2: string): void;
			public getNClob(param0: string): java.sql.NClob;
			public setNCharacterStream(param0: string, param1: java.io.Reader): void;
			public setCharacterStream(param0: number, param1: java.io.Reader, param2: number): void;
			public setNClob(param0: number, param1: java.sql.NClob): void;
			public getParameterMetaData(): java.sql.ParameterMetaData;
			public executeQuery(): java.sql.ResultSet;
			public setEscapeProcessing(param0: boolean): void;
			public getObject(param0: string): any;
			public getDouble(param0: string): number;
			public setBlob(param0: string, param1: java.io.InputStream): void;
			public getMoreResults(param0: number): boolean;
			/** @deprecated */
			public getBigDecimal(param0: number, param1: number): java.math.BigDecimal;
			public setLong(param0: string, param1: number): void;
			public getRef(param0: number): java.sql.Ref;
			public isClosed(): boolean;
			public getObject(param0: number, param1: java.util.Map<string,java.lang.Class<any>>): any;
			public setDate(param0: string, param1: java.sql.Date, param2: java.util.Calendar): void;
			public clearParameters(): void;
			public setDate(param0: string, param1: java.sql.Date): void;
			public isPoolable(): boolean;
			public getSQLXML(param0: number): java.sql.SQLXML;
			public registerOutParameter(param0: string, param1: number, param2: string): void;
			public execute(param0: string): boolean;
			public getCharacterStream(param0: number): java.io.Reader;
			public registerOutParameter(param0: string, param1: number): void;
			public getObject(param0: string, param1: java.util.Map<string,java.lang.Class<any>>): any;
			public setClob(param0: number, param1: java.io.Reader, param2: number): void;
			public setBytes(param0: number, param1: native.Array<number>): void;
			public getString(param0: string): string;
			public setString(param0: string, param1: string): void;
			public setCharacterStream(param0: number, param1: java.io.Reader): void;
			public setTimestamp(param0: number, param1: java.sql.Timestamp): void;
			public setArray(param0: number, param1: java.sql.Array): void;
			public setTimestamp(param0: string, param1: java.sql.Timestamp, param2: java.util.Calendar): void;
			public setClob(param0: number, param1: java.io.Reader): void;
			public setBlob(param0: number, param1: java.io.InputStream, param2: number): void;
			public setDouble(param0: number, param1: number): void;
			public getRowId(param0: string): java.sql.RowId;
			public getArray(param0: number): java.sql.Array;
			public getDate(param0: number): java.sql.Date;
			public setClob(param0: string, param1: java.io.Reader): void;
			public getTimestamp(param0: string, param1: java.util.Calendar): java.sql.Timestamp;
			public setBlob(param0: string, param1: java.io.InputStream, param2: number): void;
			public setDouble(param0: string, param1: number): void;
			public getBoolean(param0: string): boolean;
			public setNCharacterStream(param0: string, param1: java.io.Reader, param2: number): void;
			public setNClob(param0: string, param1: java.io.Reader, param2: number): void;
			public setFloat(param0: number, param1: number): void;
			public getBigDecimal(param0: number): java.math.BigDecimal;
			public setBlob(param0: string, param1: java.sql.Blob): void;
			public getShort(param0: number): number;
			public setBoolean(param0: number, param1: boolean): void;
			public setShort(param0: string, param1: number): void;
			public getDouble(param0: number): number;
			public getBytes(param0: string): native.Array<number>;
			public getString(param0: number): string;
			public setNull(param0: number, param1: number): void;
			public getFetchDirection(): number;
			public executeUpdate(): number;
			public setTimestamp(param0: number, param1: java.sql.Timestamp, param2: java.util.Calendar): void;
			public setInt(param0: number, param1: number): void;
			public getTime(param0: string, param1: java.util.Calendar): java.sql.Time;
			public getRowId(param0: number): java.sql.RowId;
			public setSQLXML(param0: string, param1: java.sql.SQLXML): void;
			public isWrapperFor(param0: java.lang.Class<any>): boolean;
			public setTime(param0: string, param1: java.sql.Time, param2: java.util.Calendar): void;
			public setTime(param0: number, param1: java.sql.Time, param2: java.util.Calendar): void;
			public setURL(param0: number, param1: java.net.URL): void;
			public getRef(param0: string): java.sql.Ref;
			public getGeneratedKeys(): java.sql.ResultSet;
			public setBigDecimal(param0: number, param1: java.math.BigDecimal): void;
			public setTime(param0: number, param1: java.sql.Time): void;
			/** @deprecated */
			public setUnicodeStream(param0: number, param1: java.io.InputStream, param2: number): void;
			public getNString(param0: number): string;
			public clearBatch(): void;
			public setRowId(param0: string, param1: java.sql.RowId): void;
			public execute(): boolean;
			public getLong(param0: number): number;
			public execute(param0: string, param1: native.Array<number>): boolean;
			public getQueryTimeout(): number;
			public setAsciiStream(param0: number, param1: java.io.InputStream): void;
			public getClob(param0: string): java.sql.Clob;
			public setLong(param0: number, param1: number): void;
			public setObject(param0: number, param1: any, param2: number): void;
			public setNull(param0: number, param1: number, param2: string): void;
			public setMaxRows(param0: number): void;
			public setBinaryStream(param0: string, param1: java.io.InputStream): void;
			public setCharacterStream(param0: string, param1: java.io.Reader): void;
			public registerOutParameter(param0: number, param1: number): void;
			public registerOutParameter(param0: number, param1: number, param2: number): void;
			public clearWarnings(): void;
			public setByte(param0: string, param1: number): void;
			public setAsciiStream(param0: string, param1: java.io.InputStream): void;
			public getResultSetHoldability(): number;
			public getByte(param0: number): number;
			public getNString(param0: string): string;
			public setCursorName(param0: string): void;
			public getMoreResults(): boolean;
			public setClob(param0: number, param1: java.sql.Clob): void;
			public setBinaryStream(param0: number, param1: java.io.InputStream): void;
			public setQueryTimeout(param0: number): void;
			public setNClob(param0: number, param1: java.io.Reader): void;
			public setMaxFieldSize(param0: number): void;
			public getFloat(param0: string): number;
			public setObject(param0: number, param1: any): void;
			public setFetchSize(param0: number): void;
			public setNString(param0: number, param1: string): void;
			public getResultSet(): java.sql.ResultSet;
			public addBatch(): void;
			public setNCharacterStream(param0: number, param1: java.io.Reader, param2: number): void;
			public getInt(param0: number): number;
			public setNull(param0: string, param1: number): void;
			public setDate(param0: number, param1: java.sql.Date): void;
			public setCharacterStream(param0: string, param1: java.io.Reader, param2: number): void;
			public getMaxRows(): number;
			public setNClob(param0: string, param1: java.sql.NClob): void;
			public executeUpdate(param0: string, param1: native.Array<number>): number;
			public getMetaData(): java.sql.ResultSetMetaData;
			public setURL(param0: string, param1: java.net.URL): void;
			public getUpdateCount(): number;
			public executeBatch(): native.Array<number>;
			public getTimestamp(param0: number, param1: java.util.Calendar): java.sql.Timestamp;
			public setNClob(param0: number, param1: java.io.Reader, param2: number): void;
			public close(): void;
			public setFloat(param0: string, param1: number): void;
			public setDate(param0: number, param1: java.sql.Date, param2: java.util.Calendar): void;
			public setObject(param0: string, param1: any, param2: number): void;
			public getDate(param0: string): java.sql.Date;
			public getResultSetConcurrency(): number;
			public getObject(param0: number): any;
			public getURL(param0: number): java.net.URL;
			public executeQuery(param0: string): java.sql.ResultSet;
			public setBigDecimal(param0: string, param1: java.math.BigDecimal): void;
			public getShort(param0: string): number;
			public setBlob(param0: number, param1: java.sql.Blob): void;
			public getDate(param0: number, param1: java.util.Calendar): java.sql.Date;
			public setInt(param0: string, param1: number): void;
			public setBoolean(param0: string, param1: boolean): void;
			public getFloat(param0: number): number;
			public setClob(param0: string, param1: java.io.Reader, param2: number): void;
			public setObject(param0: number, param1: any, param2: number, param3: number): void;
			public getWarnings(): java.sql.SQLWarning;
			public executeUpdate(param0: string, param1: native.Array<string>): number;
			public getBlob(param0: string): java.sql.Blob;
			public getSQLXML(param0: string): java.sql.SQLXML;
			public getCharacterStream(param0: string): java.io.Reader;
			public getMaxFieldSize(): number;
			public getTime(param0: number, param1: java.util.Calendar): java.sql.Time;
			public getFetchSize(): number;
			public getTime(param0: number): java.sql.Time;
			public getLong(param0: string): number;
			public getClob(param0: number): java.sql.Clob;
			public getInt(param0: string): number;
			public getArray(param0: string): java.sql.Array;
			public getByte(param0: string): number;
			public setObject(param0: string, param1: any): void;
			public setRef(param0: number, param1: java.sql.Ref): void;
			public setClob(param0: string, param1: java.sql.Clob): void;
			public executeUpdate(param0: string, param1: number): number;
			public getNCharacterStream(param0: string): java.io.Reader;
			public getBoolean(param0: number): boolean;
			public setString(param0: number, param1: string): void;
			public getBytes(param0: number): native.Array<number>;
			public setRowId(param0: number, param1: java.sql.RowId): void;
			public getTimestamp(param0: string): java.sql.Timestamp;
			public getTime(param0: string): java.sql.Time;
			public setShort(param0: number, param1: number): void;
			public unwrap(param0: java.lang.Class<any>): any;
			public getBlob(param0: number): java.sql.Blob;
			public setTime(param0: string, param1: java.sql.Time): void;
			public setBinaryStream(param0: number, param1: java.io.InputStream, param2: number): void;
			public getDate(param0: string, param1: java.util.Calendar): java.sql.Date;
			public getNClob(param0: number): java.sql.NClob;
			public execute(param0: string, param1: number): boolean;
			public getConnection(): java.sql.Connection;
			public getURL(param0: string): java.net.URL;
			public getTimestamp(param0: number): java.sql.Timestamp;
			public setObject(param0: string, param1: any, param2: number, param3: number): void;
			public getResultSetType(): number;
			public executeUpdate(param0: string): number;
			public setBinaryStream(param0: string, param1: java.io.InputStream, param2: number): void;
			public setBytes(param0: string, param1: native.Array<number>): void;
			public getNCharacterStream(param0: number): java.io.Reader;
			public setNCharacterStream(param0: number, param1: java.io.Reader): void;
			public registerOutParameter(param0: number, param1: number, param2: string): void;
			public setFetchDirection(param0: number): void;
			public getBigDecimal(param0: string): java.math.BigDecimal;
			public setAsciiStream(param0: string, param1: java.io.InputStream, param2: number): void;
			public setTimestamp(param0: string, param1: java.sql.Timestamp): void;
			public setAsciiStream(param0: number, param1: java.io.InputStream, param2: number): void;
			public execute(param0: string, param1: native.Array<string>): boolean;
		}
	}
}

declare module java {
	export module sql {
		export class ClientInfoStatus {
			public static class: java.lang.Class<java.sql.ClientInfoStatus>;
			public static REASON_UNKNOWN: java.sql.ClientInfoStatus;
			public static REASON_UNKNOWN_PROPERTY: java.sql.ClientInfoStatus;
			public static REASON_VALUE_INVALID: java.sql.ClientInfoStatus;
			public static REASON_VALUE_TRUNCATED: java.sql.ClientInfoStatus;
			public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			public static values(): native.Array<java.sql.ClientInfoStatus>;
			public static valueOf(param0: string): java.sql.ClientInfoStatus;
		}
	}
}

declare module java {
	export module sql {
		export class Clob extends java.lang.Object {
			public static class: java.lang.Class<java.sql.Clob>;
			/**
			 * Constructs a new instance of the java.sql.Clob interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				length(): number;
				getSubString(param0: number, param1: number): string;
				getCharacterStream(): java.io.Reader;
				getAsciiStream(): java.io.InputStream;
				position(param0: string, param1: number): number;
				position(param0: java.sql.Clob, param1: number): number;
				setString(param0: number, param1: string): number;
				setString(param0: number, param1: string, param2: number, param3: number): number;
				setAsciiStream(param0: number): java.io.OutputStream;
				setCharacterStream(param0: number): java.io.Writer;
				truncate(param0: number): void;
				free(): void;
				getCharacterStream(param0: number, param1: number): java.io.Reader;
			});
			public constructor();
			public getSubString(param0: number, param1: number): string;
			public setCharacterStream(param0: number): java.io.Writer;
			public free(): void;
			public truncate(param0: number): void;
			public getCharacterStream(param0: number, param1: number): java.io.Reader;
			public length(): number;
			public setString(param0: number, param1: string, param2: number, param3: number): number;
			public setString(param0: number, param1: string): number;
			public getCharacterStream(): java.io.Reader;
			public position(param0: string, param1: number): number;
			public setAsciiStream(param0: number): java.io.OutputStream;
			public position(param0: java.sql.Clob, param1: number): number;
			public getAsciiStream(): java.io.InputStream;
		}
	}
}

declare module java {
	export module sql {
		export class Connection extends java.lang.Object implements java.sql.Wrapper, java.lang.AutoCloseable {
			public static class: java.lang.Class<java.sql.Connection>;
			/**
			 * Constructs a new instance of the java.sql.Connection interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				createStatement(): java.sql.Statement;
				prepareStatement(param0: string): java.sql.PreparedStatement;
				prepareCall(param0: string): java.sql.CallableStatement;
				nativeSQL(param0: string): string;
				setAutoCommit(param0: boolean): void;
				getAutoCommit(): boolean;
				commit(): void;
				rollback(): void;
				close(): void;
				isClosed(): boolean;
				getMetaData(): java.sql.DatabaseMetaData;
				setReadOnly(param0: boolean): void;
				isReadOnly(): boolean;
				setCatalog(param0: string): void;
				getCatalog(): string;
				setTransactionIsolation(param0: number): void;
				getTransactionIsolation(): number;
				getWarnings(): java.sql.SQLWarning;
				clearWarnings(): void;
				createStatement(param0: number, param1: number): java.sql.Statement;
				prepareStatement(param0: string, param1: number, param2: number): java.sql.PreparedStatement;
				prepareCall(param0: string, param1: number, param2: number): java.sql.CallableStatement;
				getTypeMap(): java.util.Map<string,java.lang.Class<any>>;
				setTypeMap(param0: java.util.Map<string,java.lang.Class<any>>): void;
				setHoldability(param0: number): void;
				getHoldability(): number;
				setSavepoint(): java.sql.Savepoint;
				setSavepoint(param0: string): java.sql.Savepoint;
				rollback(param0: java.sql.Savepoint): void;
				releaseSavepoint(param0: java.sql.Savepoint): void;
				createStatement(param0: number, param1: number, param2: number): java.sql.Statement;
				prepareStatement(param0: string, param1: number, param2: number, param3: number): java.sql.PreparedStatement;
				prepareCall(param0: string, param1: number, param2: number, param3: number): java.sql.CallableStatement;
				prepareStatement(param0: string, param1: number): java.sql.PreparedStatement;
				prepareStatement(param0: string, param1: native.Array<number>): java.sql.PreparedStatement;
				prepareStatement(param0: string, param1: native.Array<string>): java.sql.PreparedStatement;
				createClob(): java.sql.Clob;
				createBlob(): java.sql.Blob;
				createNClob(): java.sql.NClob;
				createSQLXML(): java.sql.SQLXML;
				isValid(param0: number): boolean;
				setClientInfo(param0: string, param1: string): void;
				setClientInfo(param0: java.util.Properties): void;
				getClientInfo(param0: string): string;
				getClientInfo(): java.util.Properties;
				createArrayOf(param0: string, param1: native.Array<any>): java.sql.Array;
				createStruct(param0: string, param1: native.Array<any>): java.sql.Struct;
				unwrap(param0: java.lang.Class<any>): any;
				isWrapperFor(param0: java.lang.Class<any>): boolean;
				close(): void;
			});
			public constructor();
			public static TRANSACTION_READ_COMMITTED: number;
			public static TRANSACTION_NONE: number;
			public static TRANSACTION_READ_UNCOMMITTED: number;
			public static TRANSACTION_SERIALIZABLE: number;
			public static TRANSACTION_REPEATABLE_READ: number;
			public isReadOnly(): boolean;
			public rollback(param0: java.sql.Savepoint): void;
			public commit(): void;
			public releaseSavepoint(param0: java.sql.Savepoint): void;
			public setSavepoint(param0: string): java.sql.Savepoint;
			public createSQLXML(): java.sql.SQLXML;
			public getWarnings(): java.sql.SQLWarning;
			public isValid(param0: number): boolean;
			public prepareStatement(param0: string): java.sql.PreparedStatement;
			public prepareStatement(param0: string, param1: native.Array<string>): java.sql.PreparedStatement;
			public clearWarnings(): void;
			public getClientInfo(param0: string): string;
			public setClientInfo(param0: string, param1: string): void;
			public getMetaData(): java.sql.DatabaseMetaData;
			public prepareCall(param0: string, param1: number, param2: number): java.sql.CallableStatement;
			public prepareCall(param0: string): java.sql.CallableStatement;
			public createArrayOf(param0: string, param1: native.Array<any>): java.sql.Array;
			public prepareStatement(param0: string, param1: number, param2: number): java.sql.PreparedStatement;
			public rollback(): void;
			public setHoldability(param0: number): void;
			public prepareStatement(param0: string, param1: number, param2: number, param3: number): java.sql.PreparedStatement;
			public createStatement(): java.sql.Statement;
			public createNClob(): java.sql.NClob;
			public isClosed(): boolean;
			public createStatement(param0: number, param1: number): java.sql.Statement;
			public setCatalog(param0: string): void;
			public isWrapperFor(param0: java.lang.Class<any>): boolean;
			public setSavepoint(): java.sql.Savepoint;
			public unwrap(param0: java.lang.Class<any>): any;
			public setReadOnly(param0: boolean): void;
			public createStatement(param0: number, param1: number, param2: number): java.sql.Statement;
			public getCatalog(): string;
			public createClob(): java.sql.Clob;
			public setAutoCommit(param0: boolean): void;
			public getTypeMap(): java.util.Map<string,java.lang.Class<any>>;
			public getClientInfo(): java.util.Properties;
			public createStruct(param0: string, param1: native.Array<any>): java.sql.Struct;
			public getHoldability(): number;
			public close(): void;
			public createBlob(): java.sql.Blob;
			public prepareStatement(param0: string, param1: number): java.sql.PreparedStatement;
			public setClientInfo(param0: java.util.Properties): void;
			public prepareCall(param0: string, param1: number, param2: number, param3: number): java.sql.CallableStatement;
			public setTransactionIsolation(param0: number): void;
			public nativeSQL(param0: string): string;
			public setTypeMap(param0: java.util.Map<string,java.lang.Class<any>>): void;
			public getAutoCommit(): boolean;
			public getTransactionIsolation(): number;
			public prepareStatement(param0: string, param1: native.Array<number>): java.sql.PreparedStatement;
		}
	}
}

declare module java {
	export module sql {
		export class DataTruncation extends java.sql.SQLWarning {
			public static class: java.lang.Class<java.sql.DataTruncation>;
			public constructor(param0: number, param1: boolean, param2: boolean, param3: number, param4: number);
			public getIndex(): number;
			public constructor(param0: java.lang.Throwable);
			public getParameter(): boolean;
			public getDataSize(): number;
			public constructor();
			public constructor(param0: string, param1: string, param2: java.lang.Throwable);
			public forEach(param0: any /* any*/): void;
			public constructor(param0: string, param1: string);
			public constructor(param0: string, param1: string, param2: number, param3: java.lang.Throwable);
			public constructor(param0: number, param1: boolean, param2: boolean, param3: number, param4: number, param5: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public getTransferSize(): number;
			public spliterator(): java.util.Spliterator<any>;
			public constructor(param0: string, param1: string, param2: number);
			public constructor(param0: string);
			public getRead(): boolean;
			public iterator(): java.util.Iterator<java.lang.Throwable>;
			public iterator(): java.util.Iterator<any>;
		}
	}
}

declare module java {
	export module sql {
		export class DatabaseMetaData extends java.lang.Object implements java.sql.Wrapper {
			public static class: java.lang.Class<java.sql.DatabaseMetaData>;
			/**
			 * Constructs a new instance of the java.sql.DatabaseMetaData interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				allProceduresAreCallable(): boolean;
				allTablesAreSelectable(): boolean;
				getURL(): string;
				getUserName(): string;
				isReadOnly(): boolean;
				nullsAreSortedHigh(): boolean;
				nullsAreSortedLow(): boolean;
				nullsAreSortedAtStart(): boolean;
				nullsAreSortedAtEnd(): boolean;
				getDatabaseProductName(): string;
				getDatabaseProductVersion(): string;
				getDriverName(): string;
				getDriverVersion(): string;
				getDriverMajorVersion(): number;
				getDriverMinorVersion(): number;
				usesLocalFiles(): boolean;
				usesLocalFilePerTable(): boolean;
				supportsMixedCaseIdentifiers(): boolean;
				storesUpperCaseIdentifiers(): boolean;
				storesLowerCaseIdentifiers(): boolean;
				storesMixedCaseIdentifiers(): boolean;
				supportsMixedCaseQuotedIdentifiers(): boolean;
				storesUpperCaseQuotedIdentifiers(): boolean;
				storesLowerCaseQuotedIdentifiers(): boolean;
				storesMixedCaseQuotedIdentifiers(): boolean;
				getIdentifierQuoteString(): string;
				getSQLKeywords(): string;
				getNumericFunctions(): string;
				getStringFunctions(): string;
				getSystemFunctions(): string;
				getTimeDateFunctions(): string;
				getSearchStringEscape(): string;
				getExtraNameCharacters(): string;
				supportsAlterTableWithAddColumn(): boolean;
				supportsAlterTableWithDropColumn(): boolean;
				supportsColumnAliasing(): boolean;
				nullPlusNonNullIsNull(): boolean;
				supportsConvert(): boolean;
				supportsConvert(param0: number, param1: number): boolean;
				supportsTableCorrelationNames(): boolean;
				supportsDifferentTableCorrelationNames(): boolean;
				supportsExpressionsInOrderBy(): boolean;
				supportsOrderByUnrelated(): boolean;
				supportsGroupBy(): boolean;
				supportsGroupByUnrelated(): boolean;
				supportsGroupByBeyondSelect(): boolean;
				supportsLikeEscapeClause(): boolean;
				supportsMultipleResultSets(): boolean;
				supportsMultipleTransactions(): boolean;
				supportsNonNullableColumns(): boolean;
				supportsMinimumSQLGrammar(): boolean;
				supportsCoreSQLGrammar(): boolean;
				supportsExtendedSQLGrammar(): boolean;
				supportsANSI92EntryLevelSQL(): boolean;
				supportsANSI92IntermediateSQL(): boolean;
				supportsANSI92FullSQL(): boolean;
				supportsIntegrityEnhancementFacility(): boolean;
				supportsOuterJoins(): boolean;
				supportsFullOuterJoins(): boolean;
				supportsLimitedOuterJoins(): boolean;
				getSchemaTerm(): string;
				getProcedureTerm(): string;
				getCatalogTerm(): string;
				isCatalogAtStart(): boolean;
				getCatalogSeparator(): string;
				supportsSchemasInDataManipulation(): boolean;
				supportsSchemasInProcedureCalls(): boolean;
				supportsSchemasInTableDefinitions(): boolean;
				supportsSchemasInIndexDefinitions(): boolean;
				supportsSchemasInPrivilegeDefinitions(): boolean;
				supportsCatalogsInDataManipulation(): boolean;
				supportsCatalogsInProcedureCalls(): boolean;
				supportsCatalogsInTableDefinitions(): boolean;
				supportsCatalogsInIndexDefinitions(): boolean;
				supportsCatalogsInPrivilegeDefinitions(): boolean;
				supportsPositionedDelete(): boolean;
				supportsPositionedUpdate(): boolean;
				supportsSelectForUpdate(): boolean;
				supportsStoredProcedures(): boolean;
				supportsSubqueriesInComparisons(): boolean;
				supportsSubqueriesInExists(): boolean;
				supportsSubqueriesInIns(): boolean;
				supportsSubqueriesInQuantifieds(): boolean;
				supportsCorrelatedSubqueries(): boolean;
				supportsUnion(): boolean;
				supportsUnionAll(): boolean;
				supportsOpenCursorsAcrossCommit(): boolean;
				supportsOpenCursorsAcrossRollback(): boolean;
				supportsOpenStatementsAcrossCommit(): boolean;
				supportsOpenStatementsAcrossRollback(): boolean;
				getMaxBinaryLiteralLength(): number;
				getMaxCharLiteralLength(): number;
				getMaxColumnNameLength(): number;
				getMaxColumnsInGroupBy(): number;
				getMaxColumnsInIndex(): number;
				getMaxColumnsInOrderBy(): number;
				getMaxColumnsInSelect(): number;
				getMaxColumnsInTable(): number;
				getMaxConnections(): number;
				getMaxCursorNameLength(): number;
				getMaxIndexLength(): number;
				getMaxSchemaNameLength(): number;
				getMaxProcedureNameLength(): number;
				getMaxCatalogNameLength(): number;
				getMaxRowSize(): number;
				doesMaxRowSizeIncludeBlobs(): boolean;
				getMaxStatementLength(): number;
				getMaxStatements(): number;
				getMaxTableNameLength(): number;
				getMaxTablesInSelect(): number;
				getMaxUserNameLength(): number;
				getDefaultTransactionIsolation(): number;
				supportsTransactions(): boolean;
				supportsTransactionIsolationLevel(param0: number): boolean;
				supportsDataDefinitionAndDataManipulationTransactions(): boolean;
				supportsDataManipulationTransactionsOnly(): boolean;
				dataDefinitionCausesTransactionCommit(): boolean;
				dataDefinitionIgnoredInTransactions(): boolean;
				getProcedures(param0: string, param1: string, param2: string): java.sql.ResultSet;
				getProcedureColumns(param0: string, param1: string, param2: string, param3: string): java.sql.ResultSet;
				getTables(param0: string, param1: string, param2: string, param3: native.Array<string>): java.sql.ResultSet;
				getSchemas(): java.sql.ResultSet;
				getCatalogs(): java.sql.ResultSet;
				getTableTypes(): java.sql.ResultSet;
				getColumns(param0: string, param1: string, param2: string, param3: string): java.sql.ResultSet;
				getColumnPrivileges(param0: string, param1: string, param2: string, param3: string): java.sql.ResultSet;
				getTablePrivileges(param0: string, param1: string, param2: string): java.sql.ResultSet;
				getBestRowIdentifier(param0: string, param1: string, param2: string, param3: number, param4: boolean): java.sql.ResultSet;
				getVersionColumns(param0: string, param1: string, param2: string): java.sql.ResultSet;
				getPrimaryKeys(param0: string, param1: string, param2: string): java.sql.ResultSet;
				getImportedKeys(param0: string, param1: string, param2: string): java.sql.ResultSet;
				getExportedKeys(param0: string, param1: string, param2: string): java.sql.ResultSet;
				getCrossReference(param0: string, param1: string, param2: string, param3: string, param4: string, param5: string): java.sql.ResultSet;
				getTypeInfo(): java.sql.ResultSet;
				getIndexInfo(param0: string, param1: string, param2: string, param3: boolean, param4: boolean): java.sql.ResultSet;
				supportsResultSetType(param0: number): boolean;
				supportsResultSetConcurrency(param0: number, param1: number): boolean;
				ownUpdatesAreVisible(param0: number): boolean;
				ownDeletesAreVisible(param0: number): boolean;
				ownInsertsAreVisible(param0: number): boolean;
				othersUpdatesAreVisible(param0: number): boolean;
				othersDeletesAreVisible(param0: number): boolean;
				othersInsertsAreVisible(param0: number): boolean;
				updatesAreDetected(param0: number): boolean;
				deletesAreDetected(param0: number): boolean;
				insertsAreDetected(param0: number): boolean;
				supportsBatchUpdates(): boolean;
				getUDTs(param0: string, param1: string, param2: string, param3: native.Array<number>): java.sql.ResultSet;
				getConnection(): java.sql.Connection;
				supportsSavepoints(): boolean;
				supportsNamedParameters(): boolean;
				supportsMultipleOpenResults(): boolean;
				supportsGetGeneratedKeys(): boolean;
				getSuperTypes(param0: string, param1: string, param2: string): java.sql.ResultSet;
				getSuperTables(param0: string, param1: string, param2: string): java.sql.ResultSet;
				getAttributes(param0: string, param1: string, param2: string, param3: string): java.sql.ResultSet;
				supportsResultSetHoldability(param0: number): boolean;
				getResultSetHoldability(): number;
				getDatabaseMajorVersion(): number;
				getDatabaseMinorVersion(): number;
				getJDBCMajorVersion(): number;
				getJDBCMinorVersion(): number;
				getSQLStateType(): number;
				locatorsUpdateCopy(): boolean;
				supportsStatementPooling(): boolean;
				getRowIdLifetime(): java.sql.RowIdLifetime;
				getSchemas(param0: string, param1: string): java.sql.ResultSet;
				supportsStoredFunctionsUsingCallSyntax(): boolean;
				autoCommitFailureClosesAllResultSets(): boolean;
				getClientInfoProperties(): java.sql.ResultSet;
				getFunctions(param0: string, param1: string, param2: string): java.sql.ResultSet;
				getFunctionColumns(param0: string, param1: string, param2: string, param3: string): java.sql.ResultSet;
				unwrap(param0: java.lang.Class<any>): any;
				isWrapperFor(param0: java.lang.Class<any>): boolean;
			});
			public constructor();
			public static bestRowNotPseudo: number;
			public static procedureColumnOut: number;
			public static attributeNullableUnknown: number;
			public static typePredNone: number;
			public static functionNoTable: number;
			public static typeNoNulls: number;
			public static functionColumnOut: number;
			public static typeNullable: number;
			public static bestRowTemporary: number;
			public static importedKeyInitiallyImmediate: number;
			public static tableIndexHashed: number;
			public static versionColumnUnknown: number;
			public static functionColumnUnknown: number;
			public static versionColumnNotPseudo: number;
			public static versionColumnPseudo: number;
			public static importedKeyNotDeferrable: number;
			public static functionColumnInOut: number;
			public static bestRowPseudo: number;
			public static procedureNullable: number;
			public static procedureColumnResult: number;
			public static tableIndexClustered: number;
			public static importedKeySetNull: number;
			public static importedKeyRestrict: number;
			public static columnNoNulls: number;
			public static bestRowTransaction: number;
			public static typePredChar: number;
			public static columnNullableUnknown: number;
			public static procedureColumnUnknown: number;
			public static procedureColumnInOut: number;
			public static functionNullable: number;
			public static attributeNullable: number;
			public static procedureColumnReturn: number;
			public static functionReturnsTable: number;
			public static functionNullableUnknown: number;
			public static functionColumnIn: number;
			public static functionReturn: number;
			public static importedKeySetDefault: number;
			public static bestRowSession: number;
			public static tableIndexStatistic: number;
			public static procedureNoNulls: number;
			public static procedureNullableUnknown: number;
			public static typeSearchable: number;
			public static importedKeyNoAction: number;
			public static sqlStateSQL99: number;
			public static sqlStateSQL: number;
			public static functionNoNulls: number;
			public static importedKeyCascade: number;
			public static procedureNoResult: number;
			public static tableIndexOther: number;
			public static columnNullable: number;
			public static importedKeyInitiallyDeferred: number;
			public static procedureColumnIn: number;
			public static typeNullableUnknown: number;
			public static typePredBasic: number;
			public static procedureResultUnknown: number;
			public static functionColumnResult: number;
			public static attributeNoNulls: number;
			public static procedureReturnsResult: number;
			public static sqlStateXOpen: number;
			public static functionResultUnknown: number;
			public static bestRowUnknown: number;
			public isReadOnly(): boolean;
			public nullsAreSortedAtStart(): boolean;
			public storesUpperCaseIdentifiers(): boolean;
			public supportsBatchUpdates(): boolean;
			public updatesAreDetected(param0: number): boolean;
			public getDatabaseMajorVersion(): number;
			public supportsNonNullableColumns(): boolean;
			public getJDBCMinorVersion(): number;
			public othersInsertsAreVisible(param0: number): boolean;
			public getRowIdLifetime(): java.sql.RowIdLifetime;
			public getNumericFunctions(): string;
			public supportsSubqueriesInQuantifieds(): boolean;
			public supportsSchemasInProcedureCalls(): boolean;
			public ownUpdatesAreVisible(param0: number): boolean;
			public getMaxStatementLength(): number;
			public getColumnPrivileges(param0: string, param1: string, param2: string, param3: string): java.sql.ResultSet;
			public supportsMixedCaseIdentifiers(): boolean;
			public usesLocalFiles(): boolean;
			public getTypeInfo(): java.sql.ResultSet;
			public getStringFunctions(): string;
			public getMaxCatalogNameLength(): number;
			public supportsSchemasInTableDefinitions(): boolean;
			public getSystemFunctions(): string;
			public getFunctionColumns(param0: string, param1: string, param2: string, param3: string): java.sql.ResultSet;
			public isCatalogAtStart(): boolean;
			public getMaxSchemaNameLength(): number;
			public supportsMultipleResultSets(): boolean;
			public getDatabaseProductVersion(): string;
			public getResultSetHoldability(): number;
			public getDriverMajorVersion(): number;
			public usesLocalFilePerTable(): boolean;
			public supportsStatementPooling(): boolean;
			public getFunctions(param0: string, param1: string, param2: string): java.sql.ResultSet;
			public supportsResultSetHoldability(param0: number): boolean;
			public supportsUnionAll(): boolean;
			public storesLowerCaseIdentifiers(): boolean;
			public supportsAlterTableWithDropColumn(): boolean;
			public supportsStoredProcedures(): boolean;
			public supportsOpenCursorsAcrossCommit(): boolean;
			public getProcedureColumns(param0: string, param1: string, param2: string, param3: string): java.sql.ResultSet;
			public getExtraNameCharacters(): string;
			public supportsPositionedDelete(): boolean;
			public getMaxColumnsInOrderBy(): number;
			public supportsConvert(): boolean;
			public supportsANSI92EntryLevelSQL(): boolean;
			public nullsAreSortedAtEnd(): boolean;
			public getSchemas(): java.sql.ResultSet;
			public getDefaultTransactionIsolation(): number;
			public supportsOpenStatementsAcrossRollback(): boolean;
			public supportsOuterJoins(): boolean;
			public getDriverMinorVersion(): number;
			public getMaxBinaryLiteralLength(): number;
			public supportsAlterTableWithAddColumn(): boolean;
			public supportsLikeEscapeClause(): boolean;
			public getMaxColumnNameLength(): number;
			public getPrimaryKeys(param0: string, param1: string, param2: string): java.sql.ResultSet;
			public dataDefinitionIgnoredInTransactions(): boolean;
			public getMaxCharLiteralLength(): number;
			public ownInsertsAreVisible(param0: number): boolean;
			public supportsPositionedUpdate(): boolean;
			public getMaxStatements(): number;
			public getIndexInfo(param0: string, param1: string, param2: string, param3: boolean, param4: boolean): java.sql.ResultSet;
			public nullsAreSortedLow(): boolean;
			public supportsSavepoints(): boolean;
			public supportsGroupBy(): boolean;
			public supportsOpenCursorsAcrossRollback(): boolean;
			public getProcedureTerm(): string;
			public supportsUnion(): boolean;
			public supportsConvert(param0: number, param1: number): boolean;
			public supportsResultSetType(param0: number): boolean;
			public nullPlusNonNullIsNull(): boolean;
			public supportsColumnAliasing(): boolean;
			public getMaxConnections(): number;
			public supportsGroupByBeyondSelect(): boolean;
			public getIdentifierQuoteString(): string;
			public nullsAreSortedHigh(): boolean;
			public getMaxTablesInSelect(): number;
			public getSchemas(param0: string, param1: string): java.sql.ResultSet;
			public storesUpperCaseQuotedIdentifiers(): boolean;
			public getMaxColumnsInSelect(): number;
			public dataDefinitionCausesTransactionCommit(): boolean;
			public supportsOrderByUnrelated(): boolean;
			public getDriverName(): string;
			public getSQLKeywords(): string;
			public supportsFullOuterJoins(): boolean;
			public getSearchStringEscape(): string;
			public doesMaxRowSizeIncludeBlobs(): boolean;
			public storesMixedCaseIdentifiers(): boolean;
			public getMaxProcedureNameLength(): number;
			public supportsSchemasInPrivilegeDefinitions(): boolean;
			public getUDTs(param0: string, param1: string, param2: string, param3: native.Array<number>): java.sql.ResultSet;
			public supportsStoredFunctionsUsingCallSyntax(): boolean;
			public supportsCatalogsInPrivilegeDefinitions(): boolean;
			public supportsMinimumSQLGrammar(): boolean;
			public getTableTypes(): java.sql.ResultSet;
			public supportsSubqueriesInExists(): boolean;
			public supportsMixedCaseQuotedIdentifiers(): boolean;
			public supportsCatalogsInProcedureCalls(): boolean;
			public supportsGroupByUnrelated(): boolean;
			public getImportedKeys(param0: string, param1: string, param2: string): java.sql.ResultSet;
			public getSuperTypes(param0: string, param1: string, param2: string): java.sql.ResultSet;
			public getMaxColumnsInGroupBy(): number;
			public getMaxIndexLength(): number;
			public supportsCoreSQLGrammar(): boolean;
			public getDatabaseMinorVersion(): number;
			public supportsExpressionsInOrderBy(): boolean;
			public supportsSchemasInDataManipulation(): boolean;
			public supportsDataDefinitionAndDataManipulationTransactions(): boolean;
			public supportsTransactions(): boolean;
			public getClientInfoProperties(): java.sql.ResultSet;
			public supportsOpenStatementsAcrossCommit(): boolean;
			public supportsGetGeneratedKeys(): boolean;
			public supportsDataManipulationTransactionsOnly(): boolean;
			public supportsCatalogsInDataManipulation(): boolean;
			public othersDeletesAreVisible(param0: number): boolean;
			public allTablesAreSelectable(): boolean;
			public getCrossReference(param0: string, param1: string, param2: string, param3: string, param4: string, param5: string): java.sql.ResultSet;
			public ownDeletesAreVisible(param0: number): boolean;
			public storesMixedCaseQuotedIdentifiers(): boolean;
			public supportsCorrelatedSubqueries(): boolean;
			public getProcedures(param0: string, param1: string, param2: string): java.sql.ResultSet;
			public getTimeDateFunctions(): string;
			public getMaxColumnsInIndex(): number;
			public getSQLStateType(): number;
			public supportsMultipleTransactions(): boolean;
			public getCatalogTerm(): string;
			public supportsCatalogsInTableDefinitions(): boolean;
			public getTablePrivileges(param0: string, param1: string, param2: string): java.sql.ResultSet;
			public getSchemaTerm(): string;
			public insertsAreDetected(param0: number): boolean;
			public getColumns(param0: string, param1: string, param2: string, param3: string): java.sql.ResultSet;
			public getVersionColumns(param0: string, param1: string, param2: string): java.sql.ResultSet;
			public supportsSubqueriesInIns(): boolean;
			public isWrapperFor(param0: java.lang.Class<any>): boolean;
			public getMaxUserNameLength(): number;
			public getDatabaseProductName(): string;
			public unwrap(param0: java.lang.Class<any>): any;
			public deletesAreDetected(param0: number): boolean;
			public getCatalogs(): java.sql.ResultSet;
			public othersUpdatesAreVisible(param0: number): boolean;
			public getCatalogSeparator(): string;
			public supportsTransactionIsolationLevel(param0: number): boolean;
			public getTables(param0: string, param1: string, param2: string, param3: native.Array<string>): java.sql.ResultSet;
			public supportsMultipleOpenResults(): boolean;
			public storesLowerCaseQuotedIdentifiers(): boolean;
			public getMaxColumnsInTable(): number;
			public getConnection(): java.sql.Connection;
			public getMaxTableNameLength(): number;
			public locatorsUpdateCopy(): boolean;
			public getDriverVersion(): string;
			public supportsSelectForUpdate(): boolean;
			public supportsANSI92FullSQL(): boolean;
			public supportsCatalogsInIndexDefinitions(): boolean;
			public supportsExtendedSQLGrammar(): boolean;
			public getBestRowIdentifier(param0: string, param1: string, param2: string, param3: number, param4: boolean): java.sql.ResultSet;
			public getAttributes(param0: string, param1: string, param2: string, param3: string): java.sql.ResultSet;
			public getSuperTables(param0: string, param1: string, param2: string): java.sql.ResultSet;
			public supportsIntegrityEnhancementFacility(): boolean;
			public supportsSchemasInIndexDefinitions(): boolean;
			public supportsNamedParameters(): boolean;
			public allProceduresAreCallable(): boolean;
			public getUserName(): string;
			public getExportedKeys(param0: string, param1: string, param2: string): java.sql.ResultSet;
			public getMaxRowSize(): number;
			public autoCommitFailureClosesAllResultSets(): boolean;
			public getURL(): string;
			public supportsANSI92IntermediateSQL(): boolean;
			public supportsResultSetConcurrency(param0: number, param1: number): boolean;
			public supportsTableCorrelationNames(): boolean;
			public supportsSubqueriesInComparisons(): boolean;
			public supportsDifferentTableCorrelationNames(): boolean;
			public getJDBCMajorVersion(): number;
			public getMaxCursorNameLength(): number;
			public supportsLimitedOuterJoins(): boolean;
		}
	}
}

declare module java {
	export module sql {
		export class Date extends java.util.Date {
			public static class: java.lang.Class<java.sql.Date>;
			public static valueOf(param0: string): java.sql.Date;
			/** @deprecated */
			public constructor(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number);
			public constructor(param0: number);
			public constructor();
			/** @deprecated */
			public constructor(param0: number, param1: number, param2: number);
			/** @deprecated */
			public getMinutes(): number;
			public toString(): string;
			public setTime(param0: number): void;
			/** @deprecated */
			public getHours(): number;
			/** @deprecated */
			public setHours(param0: number): void;
			/** @deprecated */
			public getSeconds(): number;
			/** @deprecated */
			public setMinutes(param0: number): void;
			/** @deprecated */
			public setSeconds(param0: number): void;
			/** @deprecated */
			public constructor(param0: number, param1: number, param2: number, param3: number, param4: number);
			/** @deprecated */
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module sql {
		export class Driver extends java.lang.Object {
			public static class: java.lang.Class<java.sql.Driver>;
			/**
			 * Constructs a new instance of the java.sql.Driver interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				connect(param0: string, param1: java.util.Properties): java.sql.Connection;
				acceptsURL(param0: string): boolean;
				getPropertyInfo(param0: string, param1: java.util.Properties): native.Array<java.sql.DriverPropertyInfo>;
				getMajorVersion(): number;
				getMinorVersion(): number;
				jdbcCompliant(): boolean;
			});
			public constructor();
			public connect(param0: string, param1: java.util.Properties): java.sql.Connection;
			public getMinorVersion(): number;
			public getMajorVersion(): number;
			public jdbcCompliant(): boolean;
			public acceptsURL(param0: string): boolean;
			public getPropertyInfo(param0: string, param1: java.util.Properties): native.Array<java.sql.DriverPropertyInfo>;
		}
	}
}

declare module java {
	export module sql {
		export class DriverManager extends java.lang.Object {
			public static class: java.lang.Class<java.sql.DriverManager>;
			public static deregisterDriver(param0: java.sql.Driver): void;
			public static getConnection(param0: string, param1: string, param2: string): java.sql.Connection;
			public static getDrivers(): java.util.Enumeration<java.sql.Driver>;
			/** @deprecated */
			public static setLogStream(param0: java.io.PrintStream): void;
			public static getDriver(param0: string): java.sql.Driver;
			public static setLogWriter(param0: java.io.PrintWriter): void;
			public static getConnection(param0: string, param1: java.util.Properties): java.sql.Connection;
			public static getLogWriter(): java.io.PrintWriter;
			public static getConnection(param0: string): java.sql.Connection;
			public static getLoginTimeout(): number;
			public static println(param0: string): void;
			public static registerDriver(param0: java.sql.Driver): void;
			/** @deprecated */
			public static getLogStream(): java.io.PrintStream;
			public static setLoginTimeout(param0: number): void;
		}
	}
}

declare module java {
	export module sql {
		export class DriverPropertyInfo extends java.lang.Object {
			public static class: java.lang.Class<java.sql.DriverPropertyInfo>;
			public choices: native.Array<string>;
			public description: string;
			public name: string;
			public required: boolean;
			public value: string;
			public constructor(param0: string, param1: string);
		}
	}
}

declare module java {
	export module sql {
		export class NClob extends java.lang.Object implements java.sql.Clob {
			public static class: java.lang.Class<java.sql.NClob>;
			/**
			 * Constructs a new instance of the java.sql.NClob interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				length(): number;
				getSubString(param0: number, param1: number): string;
				getCharacterStream(): java.io.Reader;
				getAsciiStream(): java.io.InputStream;
				position(param0: string, param1: number): number;
				position(param0: java.sql.Clob, param1: number): number;
				setString(param0: number, param1: string): number;
				setString(param0: number, param1: string, param2: number, param3: number): number;
				setAsciiStream(param0: number): java.io.OutputStream;
				setCharacterStream(param0: number): java.io.Writer;
				truncate(param0: number): void;
				free(): void;
				getCharacterStream(param0: number, param1: number): java.io.Reader;
			});
			public constructor();
			public getSubString(param0: number, param1: number): string;
			public setCharacterStream(param0: number): java.io.Writer;
			public free(): void;
			public truncate(param0: number): void;
			public getCharacterStream(param0: number, param1: number): java.io.Reader;
			public length(): number;
			public setString(param0: number, param1: string, param2: number, param3: number): number;
			public setString(param0: number, param1: string): number;
			public getCharacterStream(): java.io.Reader;
			public position(param0: string, param1: number): number;
			public setAsciiStream(param0: number): java.io.OutputStream;
			public position(param0: java.sql.Clob, param1: number): number;
			public getAsciiStream(): java.io.InputStream;
		}
	}
}

declare module java {
	export module sql {
		export class ParameterMetaData extends java.lang.Object implements java.sql.Wrapper {
			public static class: java.lang.Class<java.sql.ParameterMetaData>;
			/**
			 * Constructs a new instance of the java.sql.ParameterMetaData interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				getParameterCount(): number;
				isNullable(param0: number): number;
				isSigned(param0: number): boolean;
				getPrecision(param0: number): number;
				getScale(param0: number): number;
				getParameterType(param0: number): number;
				getParameterTypeName(param0: number): string;
				getParameterClassName(param0: number): string;
				getParameterMode(param0: number): number;
				unwrap(param0: java.lang.Class<any>): any;
				isWrapperFor(param0: java.lang.Class<any>): boolean;
			});
			public constructor();
			public static parameterNullableUnknown: number;
			public static parameterModeIn: number;
			public static parameterNoNulls: number;
			public static parameterModeOut: number;
			public static parameterModeInOut: number;
			public static parameterNullable: number;
			public static parameterModeUnknown: number;
			public isWrapperFor(param0: java.lang.Class<any>): boolean;
			public getParameterType(param0: number): number;
			public getParameterMode(param0: number): number;
			public getPrecision(param0: number): number;
			public getParameterClassName(param0: number): string;
			public unwrap(param0: java.lang.Class<any>): any;
			public getParameterCount(): number;
			public isSigned(param0: number): boolean;
			public getParameterTypeName(param0: number): string;
			public getScale(param0: number): number;
			public isNullable(param0: number): number;
		}
	}
}

declare module java {
	export module sql {
		export class PreparedStatement extends java.lang.Object implements java.sql.Statement {
			public static class: java.lang.Class<java.sql.PreparedStatement>;
			/**
			 * Constructs a new instance of the java.sql.PreparedStatement interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				executeQuery(): java.sql.ResultSet;
				executeUpdate(): number;
				setNull(param0: number, param1: number): void;
				setBoolean(param0: number, param1: boolean): void;
				setByte(param0: number, param1: number): void;
				setShort(param0: number, param1: number): void;
				setInt(param0: number, param1: number): void;
				setLong(param0: number, param1: number): void;
				setFloat(param0: number, param1: number): void;
				setDouble(param0: number, param1: number): void;
				setBigDecimal(param0: number, param1: java.math.BigDecimal): void;
				setString(param0: number, param1: string): void;
				setBytes(param0: number, param1: native.Array<number>): void;
				setDate(param0: number, param1: java.sql.Date): void;
				setTime(param0: number, param1: java.sql.Time): void;
				setTimestamp(param0: number, param1: java.sql.Timestamp): void;
				setAsciiStream(param0: number, param1: java.io.InputStream, param2: number): void;
				setUnicodeStream(param0: number, param1: java.io.InputStream, param2: number): void;
				setBinaryStream(param0: number, param1: java.io.InputStream, param2: number): void;
				clearParameters(): void;
				setObject(param0: number, param1: any, param2: number): void;
				setObject(param0: number, param1: any): void;
				execute(): boolean;
				addBatch(): void;
				setCharacterStream(param0: number, param1: java.io.Reader, param2: number): void;
				setRef(param0: number, param1: java.sql.Ref): void;
				setBlob(param0: number, param1: java.sql.Blob): void;
				setClob(param0: number, param1: java.sql.Clob): void;
				setArray(param0: number, param1: java.sql.Array): void;
				getMetaData(): java.sql.ResultSetMetaData;
				setDate(param0: number, param1: java.sql.Date, param2: java.util.Calendar): void;
				setTime(param0: number, param1: java.sql.Time, param2: java.util.Calendar): void;
				setTimestamp(param0: number, param1: java.sql.Timestamp, param2: java.util.Calendar): void;
				setNull(param0: number, param1: number, param2: string): void;
				setURL(param0: number, param1: java.net.URL): void;
				getParameterMetaData(): java.sql.ParameterMetaData;
				setRowId(param0: number, param1: java.sql.RowId): void;
				setNString(param0: number, param1: string): void;
				setNCharacterStream(param0: number, param1: java.io.Reader, param2: number): void;
				setNClob(param0: number, param1: java.sql.NClob): void;
				setClob(param0: number, param1: java.io.Reader, param2: number): void;
				setBlob(param0: number, param1: java.io.InputStream, param2: number): void;
				setNClob(param0: number, param1: java.io.Reader, param2: number): void;
				setSQLXML(param0: number, param1: java.sql.SQLXML): void;
				setObject(param0: number, param1: any, param2: number, param3: number): void;
				setAsciiStream(param0: number, param1: java.io.InputStream, param2: number): void;
				setBinaryStream(param0: number, param1: java.io.InputStream, param2: number): void;
				setCharacterStream(param0: number, param1: java.io.Reader, param2: number): void;
				setAsciiStream(param0: number, param1: java.io.InputStream): void;
				setBinaryStream(param0: number, param1: java.io.InputStream): void;
				setCharacterStream(param0: number, param1: java.io.Reader): void;
				setNCharacterStream(param0: number, param1: java.io.Reader): void;
				setClob(param0: number, param1: java.io.Reader): void;
				setBlob(param0: number, param1: java.io.InputStream): void;
				setNClob(param0: number, param1: java.io.Reader): void;
				executeQuery(param0: string): java.sql.ResultSet;
				executeUpdate(param0: string): number;
				close(): void;
				getMaxFieldSize(): number;
				setMaxFieldSize(param0: number): void;
				getMaxRows(): number;
				setMaxRows(param0: number): void;
				setEscapeProcessing(param0: boolean): void;
				getQueryTimeout(): number;
				setQueryTimeout(param0: number): void;
				cancel(): void;
				getWarnings(): java.sql.SQLWarning;
				clearWarnings(): void;
				setCursorName(param0: string): void;
				execute(param0: string): boolean;
				getResultSet(): java.sql.ResultSet;
				getUpdateCount(): number;
				getMoreResults(): boolean;
				setFetchDirection(param0: number): void;
				getFetchDirection(): number;
				setFetchSize(param0: number): void;
				getFetchSize(): number;
				getResultSetConcurrency(): number;
				getResultSetType(): number;
				addBatch(param0: string): void;
				clearBatch(): void;
				executeBatch(): native.Array<number>;
				getConnection(): java.sql.Connection;
				getMoreResults(param0: number): boolean;
				getGeneratedKeys(): java.sql.ResultSet;
				executeUpdate(param0: string, param1: number): number;
				executeUpdate(param0: string, param1: native.Array<number>): number;
				executeUpdate(param0: string, param1: native.Array<string>): number;
				execute(param0: string, param1: number): boolean;
				execute(param0: string, param1: native.Array<number>): boolean;
				execute(param0: string, param1: native.Array<string>): boolean;
				getResultSetHoldability(): number;
				isClosed(): boolean;
				setPoolable(param0: boolean): void;
				isPoolable(): boolean;
				unwrap(param0: java.lang.Class<any>): any;
				isWrapperFor(param0: java.lang.Class<any>): boolean;
				close(): void;
			});
			public constructor();
			public static CLOSE_CURRENT_RESULT: number;
			public static EXECUTE_FAILED: number;
			public static KEEP_CURRENT_RESULT: number;
			public static NO_GENERATED_KEYS: number;
			public static RETURN_GENERATED_KEYS: number;
			public static CLOSE_ALL_RESULTS: number;
			public static SUCCESS_NO_INFO: number;
			public setAsciiStream(param0: number, param1: java.io.InputStream): void;
			public cancel(): void;
			public setLong(param0: number, param1: number): void;
			public setFloat(param0: number, param1: number): void;
			public setObject(param0: number, param1: any, param2: number): void;
			public setNull(param0: number, param1: number, param2: string): void;
			public setMaxRows(param0: number): void;
			public setObject(param0: number, param1: any, param2: number, param3: number): void;
			public setBlob(param0: number, param1: java.io.InputStream): void;
			public setPoolable(param0: boolean): void;
			public setByte(param0: number, param1: number): void;
			public getWarnings(): java.sql.SQLWarning;
			public executeUpdate(param0: string, param1: native.Array<string>): number;
			public setSQLXML(param0: number, param1: java.sql.SQLXML): void;
			public addBatch(param0: string): void;
			public getMaxFieldSize(): number;
			public clearWarnings(): void;
			public setBoolean(param0: number, param1: boolean): void;
			public getFetchSize(): number;
			public getResultSetHoldability(): number;
			public setCharacterStream(param0: number, param1: java.io.Reader, param2: number): void;
			public setCursorName(param0: string): void;
			public getMoreResults(): boolean;
			public setNull(param0: number, param1: number): void;
			public setClob(param0: number, param1: java.sql.Clob): void;
			public setBinaryStream(param0: number, param1: java.io.InputStream): void;
			public setQueryTimeout(param0: number): void;
			public setNClob(param0: number, param1: java.sql.NClob): void;
			public setNClob(param0: number, param1: java.io.Reader): void;
			public getFetchDirection(): number;
			public setMaxFieldSize(param0: number): void;
			public getParameterMetaData(): java.sql.ParameterMetaData;
			public executeUpdate(): number;
			public setTimestamp(param0: number, param1: java.sql.Timestamp, param2: java.util.Calendar): void;
			public setInt(param0: number, param1: number): void;
			public setObject(param0: number, param1: any): void;
			public setRef(param0: number, param1: java.sql.Ref): void;
			public setFetchSize(param0: number): void;
			public executeQuery(): java.sql.ResultSet;
			public setNString(param0: number, param1: string): void;
			public setEscapeProcessing(param0: boolean): void;
			public getResultSet(): java.sql.ResultSet;
			public executeUpdate(param0: string, param1: number): number;
			public getMoreResults(param0: number): boolean;
			public addBatch(): void;
			public setString(param0: number, param1: string): void;
			public setNCharacterStream(param0: number, param1: java.io.Reader, param2: number): void;
			public setRowId(param0: number, param1: java.sql.RowId): void;
			public setDate(param0: number, param1: java.sql.Date): void;
			public isClosed(): boolean;
			public getMaxRows(): number;
			public isWrapperFor(param0: java.lang.Class<any>): boolean;
			public clearParameters(): void;
			public setShort(param0: number, param1: number): void;
			public unwrap(param0: java.lang.Class<any>): any;
			public executeUpdate(param0: string, param1: native.Array<number>): number;
			public getMetaData(): java.sql.ResultSetMetaData;
			public setBinaryStream(param0: number, param1: java.io.InputStream, param2: number): void;
			public setTime(param0: number, param1: java.sql.Time, param2: java.util.Calendar): void;
			public getUpdateCount(): number;
			public executeBatch(): native.Array<number>;
			public isPoolable(): boolean;
			public execute(param0: string, param1: number): boolean;
			public getConnection(): java.sql.Connection;
			public setNClob(param0: number, param1: java.io.Reader, param2: number): void;
			public close(): void;
			public execute(param0: string): boolean;
			public setURL(param0: number, param1: java.net.URL): void;
			public getResultSetType(): number;
			public setDate(param0: number, param1: java.sql.Date, param2: java.util.Calendar): void;
			public executeUpdate(param0: string): number;
			public setClob(param0: number, param1: java.io.Reader, param2: number): void;
			public getGeneratedKeys(): java.sql.ResultSet;
			public setBigDecimal(param0: number, param1: java.math.BigDecimal): void;
			public setBytes(param0: number, param1: native.Array<number>): void;
			public getResultSetConcurrency(): number;
			public setCharacterStream(param0: number, param1: java.io.Reader): void;
			public setTime(param0: number, param1: java.sql.Time): void;
			/** @deprecated */
			public setUnicodeStream(param0: number, param1: java.io.InputStream, param2: number): void;
			public setTimestamp(param0: number, param1: java.sql.Timestamp): void;
			public setArray(param0: number, param1: java.sql.Array): void;
			public clearBatch(): void;
			public setClob(param0: number, param1: java.io.Reader): void;
			public execute(): boolean;
			public setNCharacterStream(param0: number, param1: java.io.Reader): void;
			public executeQuery(param0: string): java.sql.ResultSet;
			public setFetchDirection(param0: number): void;
			public setBlob(param0: number, param1: java.io.InputStream, param2: number): void;
			public setDouble(param0: number, param1: number): void;
			public setBlob(param0: number, param1: java.sql.Blob): void;
			public execute(param0: string, param1: native.Array<number>): boolean;
			public getQueryTimeout(): number;
			public setAsciiStream(param0: number, param1: java.io.InputStream, param2: number): void;
			public execute(param0: string, param1: native.Array<string>): boolean;
		}
	}
}

declare module java {
	export module sql {
		export class Ref extends java.lang.Object {
			public static class: java.lang.Class<java.sql.Ref>;
			/**
			 * Constructs a new instance of the java.sql.Ref interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				getBaseTypeName(): string;
				getObject(param0: java.util.Map<string,java.lang.Class<any>>): any;
				getObject(): any;
				setObject(param0: any): void;
			});
			public constructor();
			public setObject(param0: any): void;
			public getObject(): any;
			public getObject(param0: java.util.Map<string,java.lang.Class<any>>): any;
			public getBaseTypeName(): string;
		}
	}
}

declare module java {
	export module sql {
		export class ResultSet extends java.lang.Object implements java.sql.Wrapper, java.lang.AutoCloseable {
			public static class: java.lang.Class<java.sql.ResultSet>;
			/**
			 * Constructs a new instance of the java.sql.ResultSet interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				next(): boolean;
				close(): void;
				wasNull(): boolean;
				getString(param0: number): string;
				getBoolean(param0: number): boolean;
				getByte(param0: number): number;
				getShort(param0: number): number;
				getInt(param0: number): number;
				getLong(param0: number): number;
				getFloat(param0: number): number;
				getDouble(param0: number): number;
				getBigDecimal(param0: number, param1: number): java.math.BigDecimal;
				getBytes(param0: number): native.Array<number>;
				getDate(param0: number): java.sql.Date;
				getTime(param0: number): java.sql.Time;
				getTimestamp(param0: number): java.sql.Timestamp;
				getAsciiStream(param0: number): java.io.InputStream;
				getUnicodeStream(param0: number): java.io.InputStream;
				getBinaryStream(param0: number): java.io.InputStream;
				getString(param0: string): string;
				getBoolean(param0: string): boolean;
				getByte(param0: string): number;
				getShort(param0: string): number;
				getInt(param0: string): number;
				getLong(param0: string): number;
				getFloat(param0: string): number;
				getDouble(param0: string): number;
				getBigDecimal(param0: string, param1: number): java.math.BigDecimal;
				getBytes(param0: string): native.Array<number>;
				getDate(param0: string): java.sql.Date;
				getTime(param0: string): java.sql.Time;
				getTimestamp(param0: string): java.sql.Timestamp;
				getAsciiStream(param0: string): java.io.InputStream;
				getUnicodeStream(param0: string): java.io.InputStream;
				getBinaryStream(param0: string): java.io.InputStream;
				getWarnings(): java.sql.SQLWarning;
				clearWarnings(): void;
				getCursorName(): string;
				getMetaData(): java.sql.ResultSetMetaData;
				getObject(param0: number): any;
				getObject(param0: string): any;
				findColumn(param0: string): number;
				getCharacterStream(param0: number): java.io.Reader;
				getCharacterStream(param0: string): java.io.Reader;
				getBigDecimal(param0: number): java.math.BigDecimal;
				getBigDecimal(param0: string): java.math.BigDecimal;
				isBeforeFirst(): boolean;
				isAfterLast(): boolean;
				isFirst(): boolean;
				isLast(): boolean;
				beforeFirst(): void;
				afterLast(): void;
				first(): boolean;
				last(): boolean;
				getRow(): number;
				absolute(param0: number): boolean;
				relative(param0: number): boolean;
				previous(): boolean;
				setFetchDirection(param0: number): void;
				getFetchDirection(): number;
				setFetchSize(param0: number): void;
				getFetchSize(): number;
				getType(): number;
				getConcurrency(): number;
				rowUpdated(): boolean;
				rowInserted(): boolean;
				rowDeleted(): boolean;
				updateNull(param0: number): void;
				updateBoolean(param0: number, param1: boolean): void;
				updateByte(param0: number, param1: number): void;
				updateShort(param0: number, param1: number): void;
				updateInt(param0: number, param1: number): void;
				updateLong(param0: number, param1: number): void;
				updateFloat(param0: number, param1: number): void;
				updateDouble(param0: number, param1: number): void;
				updateBigDecimal(param0: number, param1: java.math.BigDecimal): void;
				updateString(param0: number, param1: string): void;
				updateBytes(param0: number, param1: native.Array<number>): void;
				updateDate(param0: number, param1: java.sql.Date): void;
				updateTime(param0: number, param1: java.sql.Time): void;
				updateTimestamp(param0: number, param1: java.sql.Timestamp): void;
				updateAsciiStream(param0: number, param1: java.io.InputStream, param2: number): void;
				updateBinaryStream(param0: number, param1: java.io.InputStream, param2: number): void;
				updateCharacterStream(param0: number, param1: java.io.Reader, param2: number): void;
				updateObject(param0: number, param1: any, param2: number): void;
				updateObject(param0: number, param1: any): void;
				updateNull(param0: string): void;
				updateBoolean(param0: string, param1: boolean): void;
				updateByte(param0: string, param1: number): void;
				updateShort(param0: string, param1: number): void;
				updateInt(param0: string, param1: number): void;
				updateLong(param0: string, param1: number): void;
				updateFloat(param0: string, param1: number): void;
				updateDouble(param0: string, param1: number): void;
				updateBigDecimal(param0: string, param1: java.math.BigDecimal): void;
				updateString(param0: string, param1: string): void;
				updateBytes(param0: string, param1: native.Array<number>): void;
				updateDate(param0: string, param1: java.sql.Date): void;
				updateTime(param0: string, param1: java.sql.Time): void;
				updateTimestamp(param0: string, param1: java.sql.Timestamp): void;
				updateAsciiStream(param0: string, param1: java.io.InputStream, param2: number): void;
				updateBinaryStream(param0: string, param1: java.io.InputStream, param2: number): void;
				updateCharacterStream(param0: string, param1: java.io.Reader, param2: number): void;
				updateObject(param0: string, param1: any, param2: number): void;
				updateObject(param0: string, param1: any): void;
				insertRow(): void;
				updateRow(): void;
				deleteRow(): void;
				refreshRow(): void;
				cancelRowUpdates(): void;
				moveToInsertRow(): void;
				moveToCurrentRow(): void;
				getStatement(): java.sql.Statement;
				getObject(param0: number, param1: java.util.Map<string,java.lang.Class<any>>): any;
				getRef(param0: number): java.sql.Ref;
				getBlob(param0: number): java.sql.Blob;
				getClob(param0: number): java.sql.Clob;
				getArray(param0: number): java.sql.Array;
				getObject(param0: string, param1: java.util.Map<string,java.lang.Class<any>>): any;
				getRef(param0: string): java.sql.Ref;
				getBlob(param0: string): java.sql.Blob;
				getClob(param0: string): java.sql.Clob;
				getArray(param0: string): java.sql.Array;
				getDate(param0: number, param1: java.util.Calendar): java.sql.Date;
				getDate(param0: string, param1: java.util.Calendar): java.sql.Date;
				getTime(param0: number, param1: java.util.Calendar): java.sql.Time;
				getTime(param0: string, param1: java.util.Calendar): java.sql.Time;
				getTimestamp(param0: number, param1: java.util.Calendar): java.sql.Timestamp;
				getTimestamp(param0: string, param1: java.util.Calendar): java.sql.Timestamp;
				getURL(param0: number): java.net.URL;
				getURL(param0: string): java.net.URL;
				updateRef(param0: number, param1: java.sql.Ref): void;
				updateRef(param0: string, param1: java.sql.Ref): void;
				updateBlob(param0: number, param1: java.sql.Blob): void;
				updateBlob(param0: string, param1: java.sql.Blob): void;
				updateClob(param0: number, param1: java.sql.Clob): void;
				updateClob(param0: string, param1: java.sql.Clob): void;
				updateArray(param0: number, param1: java.sql.Array): void;
				updateArray(param0: string, param1: java.sql.Array): void;
				getRowId(param0: number): java.sql.RowId;
				getRowId(param0: string): java.sql.RowId;
				updateRowId(param0: number, param1: java.sql.RowId): void;
				updateRowId(param0: string, param1: java.sql.RowId): void;
				getHoldability(): number;
				isClosed(): boolean;
				updateNString(param0: number, param1: string): void;
				updateNString(param0: string, param1: string): void;
				updateNClob(param0: number, param1: java.sql.NClob): void;
				updateNClob(param0: string, param1: java.sql.NClob): void;
				getNClob(param0: number): java.sql.NClob;
				getNClob(param0: string): java.sql.NClob;
				getSQLXML(param0: number): java.sql.SQLXML;
				getSQLXML(param0: string): java.sql.SQLXML;
				updateSQLXML(param0: number, param1: java.sql.SQLXML): void;
				updateSQLXML(param0: string, param1: java.sql.SQLXML): void;
				getNString(param0: number): string;
				getNString(param0: string): string;
				getNCharacterStream(param0: number): java.io.Reader;
				getNCharacterStream(param0: string): java.io.Reader;
				updateNCharacterStream(param0: number, param1: java.io.Reader, param2: number): void;
				updateNCharacterStream(param0: string, param1: java.io.Reader, param2: number): void;
				updateAsciiStream(param0: number, param1: java.io.InputStream, param2: number): void;
				updateBinaryStream(param0: number, param1: java.io.InputStream, param2: number): void;
				updateCharacterStream(param0: number, param1: java.io.Reader, param2: number): void;
				updateAsciiStream(param0: string, param1: java.io.InputStream, param2: number): void;
				updateBinaryStream(param0: string, param1: java.io.InputStream, param2: number): void;
				updateCharacterStream(param0: string, param1: java.io.Reader, param2: number): void;
				updateBlob(param0: number, param1: java.io.InputStream, param2: number): void;
				updateBlob(param0: string, param1: java.io.InputStream, param2: number): void;
				updateClob(param0: number, param1: java.io.Reader, param2: number): void;
				updateClob(param0: string, param1: java.io.Reader, param2: number): void;
				updateNClob(param0: number, param1: java.io.Reader, param2: number): void;
				updateNClob(param0: string, param1: java.io.Reader, param2: number): void;
				updateNCharacterStream(param0: number, param1: java.io.Reader): void;
				updateNCharacterStream(param0: string, param1: java.io.Reader): void;
				updateAsciiStream(param0: number, param1: java.io.InputStream): void;
				updateBinaryStream(param0: number, param1: java.io.InputStream): void;
				updateCharacterStream(param0: number, param1: java.io.Reader): void;
				updateAsciiStream(param0: string, param1: java.io.InputStream): void;
				updateBinaryStream(param0: string, param1: java.io.InputStream): void;
				updateCharacterStream(param0: string, param1: java.io.Reader): void;
				updateBlob(param0: number, param1: java.io.InputStream): void;
				updateBlob(param0: string, param1: java.io.InputStream): void;
				updateClob(param0: number, param1: java.io.Reader): void;
				updateClob(param0: string, param1: java.io.Reader): void;
				updateNClob(param0: number, param1: java.io.Reader): void;
				updateNClob(param0: string, param1: java.io.Reader): void;
				unwrap(param0: java.lang.Class<any>): any;
				isWrapperFor(param0: java.lang.Class<any>): boolean;
				close(): void;
			});
			public constructor();
			public static HOLD_CURSORS_OVER_COMMIT: number;
			public static CLOSE_CURSORS_AT_COMMIT: number;
			public static FETCH_UNKNOWN: number;
			public static FETCH_REVERSE: number;
			public static CONCUR_READ_ONLY: number;
			public static TYPE_SCROLL_SENSITIVE: number;
			public static CONCUR_UPDATABLE: number;
			public static TYPE_FORWARD_ONLY: number;
			public static TYPE_SCROLL_INSENSITIVE: number;
			public static FETCH_FORWARD: number;
			public getAsciiStream(param0: number): java.io.InputStream;
			public updateBinaryStream(param0: string, param1: java.io.InputStream): void;
			public updateObject(param0: number, param1: any): void;
			public getClob(param0: string): java.sql.Clob;
			public updateDouble(param0: number, param1: number): void;
			public previous(): boolean;
			public updateBinaryStream(param0: string, param1: java.io.InputStream, param2: number): void;
			public cancelRowUpdates(): void;
			public getConcurrency(): number;
			public wasNull(): boolean;
			public afterLast(): void;
			public updateSQLXML(param0: string, param1: java.sql.SQLXML): void;
			public updateRef(param0: string, param1: java.sql.Ref): void;
			public clearWarnings(): void;
			public updateNClob(param0: number, param1: java.io.Reader, param2: number): void;
			public updateCharacterStream(param0: number, param1: java.io.Reader, param2: number): void;
			public updateArray(param0: number, param1: java.sql.Array): void;
			public getNClob(param0: string): java.sql.NClob;
			public updateArray(param0: string, param1: java.sql.Array): void;
			public getByte(param0: number): number;
			public getNString(param0: string): string;
			public refreshRow(): void;
			public updateBinaryStream(param0: number, param1: java.io.InputStream): void;
			public updateTime(param0: number, param1: java.sql.Time): void;
			public updateCharacterStream(param0: string, param1: java.io.Reader): void;
			public getFloat(param0: string): number;
			public setFetchSize(param0: number): void;
			public getCursorName(): string;
			public getObject(param0: string): any;
			public getDouble(param0: string): number;
			public absolute(param0: number): boolean;
			public last(): boolean;
			public relative(param0: number): boolean;
			/** @deprecated */
			public getBigDecimal(param0: number, param1: number): java.math.BigDecimal;
			public updateNString(param0: string, param1: string): void;
			public getInt(param0: number): number;
			public getType(): number;
			public getRef(param0: number): java.sql.Ref;
			public isClosed(): boolean;
			public getObject(param0: number, param1: java.util.Map<string,java.lang.Class<any>>): any;
			public updateBlob(param0: number, param1: java.sql.Blob): void;
			public updateAsciiStream(param0: number, param1: java.io.InputStream, param2: number): void;
			public updateBytes(param0: string, param1: native.Array<number>): void;
			/** @deprecated */
			public getBigDecimal(param0: string, param1: number): java.math.BigDecimal;
			public updateNClob(param0: string, param1: java.io.Reader, param2: number): void;
			public getMetaData(): java.sql.ResultSetMetaData;
			public updateNull(param0: number): void;
			public updateCharacterStream(param0: string, param1: java.io.Reader, param2: number): void;
			public updateCharacterStream(param0: number, param1: java.io.Reader): void;
			public updateBlob(param0: string, param1: java.sql.Blob): void;
			public updateAsciiStream(param0: number, param1: java.io.InputStream): void;
			public updateAsciiStream(param0: string, param1: java.io.InputStream, param2: number): void;
			public updateString(param0: number, param1: string): void;
			/** @deprecated */
			public getUnicodeStream(param0: string): java.io.InputStream;
			public isLast(): boolean;
			public getTimestamp(param0: number, param1: java.util.Calendar): java.sql.Timestamp;
			public updateString(param0: string, param1: string): void;
			public getSQLXML(param0: number): java.sql.SQLXML;
			public updateNull(param0: string): void;
			public close(): void;
			public getCharacterStream(param0: number): java.io.Reader;
			public updateBigDecimal(param0: string, param1: java.math.BigDecimal): void;
			public updateClob(param0: number, param1: java.sql.Clob): void;
			public getObject(param0: string, param1: java.util.Map<string,java.lang.Class<any>>): any;
			public getDate(param0: string): java.sql.Date;
			public isFirst(): boolean;
			public updateObject(param0: number, param1: any, param2: number): void;
			public updateNClob(param0: number, param1: java.sql.NClob): void;
			public findColumn(param0: string): number;
			public getString(param0: string): string;
			public updateDate(param0: string, param1: java.sql.Date): void;
			public updateNString(param0: number, param1: string): void;
			public getAsciiStream(param0: string): java.io.InputStream;
			public rowUpdated(): boolean;
			public getObject(param0: number): any;
			public getURL(param0: number): java.net.URL;
			public getRow(): number;
			public updateSQLXML(param0: number, param1: java.sql.SQLXML): void;
			public rowInserted(): boolean;
			public next(): boolean;
			/** @deprecated */
			public getUnicodeStream(param0: number): java.io.InputStream;
			public getShort(param0: string): number;
			public getRowId(param0: string): java.sql.RowId;
			public updateInt(param0: string, param1: number): void;
			public getArray(param0: number): java.sql.Array;
			public getDate(param0: number, param1: java.util.Calendar): java.sql.Date;
			public getDate(param0: number): java.sql.Date;
			public rowDeleted(): boolean;
			public insertRow(): void;
			public updateBlob(param0: string, param1: java.io.InputStream, param2: number): void;
			public updateInt(param0: number, param1: number): void;
			public updateObject(param0: string, param1: any): void;
			public getTimestamp(param0: string, param1: java.util.Calendar): java.sql.Timestamp;
			public updateLong(param0: number, param1: number): void;
			public getBoolean(param0: string): boolean;
			public getFloat(param0: number): number;
			public updateDate(param0: number, param1: java.sql.Date): void;
			public updateClob(param0: string, param1: java.sql.Clob): void;
			public updateTime(param0: string, param1: java.sql.Time): void;
			public getBigDecimal(param0: number): java.math.BigDecimal;
			public isAfterLast(): boolean;
			public updateBinaryStream(param0: number, param1: java.io.InputStream, param2: number): void;
			public getWarnings(): java.sql.SQLWarning;
			public beforeFirst(): void;
			public getStatement(): java.sql.Statement;
			public updateShort(param0: string, param1: number): void;
			public getBlob(param0: string): java.sql.Blob;
			public updateByte(param0: number, param1: number): void;
			public updateNClob(param0: string, param1: java.sql.NClob): void;
			public getCharacterStream(param0: string): java.io.Reader;
			public getSQLXML(param0: string): java.sql.SQLXML;
			public updateByte(param0: string, param1: number): void;
			public getTime(param0: number, param1: java.util.Calendar): java.sql.Time;
			public updateNCharacterStream(param0: number, param1: java.io.Reader, param2: number): void;
			public getShort(param0: number): number;
			public updateBlob(param0: number, param1: java.io.InputStream): void;
			public getFetchSize(): number;
			public getTime(param0: number): java.sql.Time;
			public getLong(param0: string): number;
			public getInt(param0: string): number;
			public getClob(param0: number): java.sql.Clob;
			public getDouble(param0: number): number;
			public getArray(param0: string): java.sql.Array;
			public getBytes(param0: string): native.Array<number>;
			public getString(param0: number): string;
			public getFetchDirection(): number;
			public getByte(param0: string): number;
			public updateAsciiStream(param0: string, param1: java.io.InputStream): void;
			public getBinaryStream(param0: number): java.io.InputStream;
			public getTime(param0: string, param1: java.util.Calendar): java.sql.Time;
			public getRowId(param0: number): java.sql.RowId;
			public updateClob(param0: string, param1: java.io.Reader, param2: number): void;
			public updateBoolean(param0: number, param1: boolean): void;
			public updateShort(param0: number, param1: number): void;
			public updateTimestamp(param0: number, param1: java.sql.Timestamp): void;
			public updateTimestamp(param0: string, param1: java.sql.Timestamp): void;
			public updateFloat(param0: number, param1: number): void;
			public getNCharacterStream(param0: string): java.io.Reader;
			public updateRef(param0: number, param1: java.sql.Ref): void;
			public getBoolean(param0: number): boolean;
			public updateNCharacterStream(param0: string, param1: java.io.Reader): void;
			public updateRowId(param0: string, param1: java.sql.RowId): void;
			public first(): boolean;
			public getBytes(param0: number): native.Array<number>;
			public getTimestamp(param0: string): java.sql.Timestamp;
			public getTime(param0: string): java.sql.Time;
			public isWrapperFor(param0: java.lang.Class<any>): boolean;
			public updateBoolean(param0: string, param1: boolean): void;
			public updateBytes(param0: number, param1: native.Array<number>): void;
			public unwrap(param0: java.lang.Class<any>): any;
			public updateFloat(param0: string, param1: number): void;
			public updateNCharacterStream(param0: string, param1: java.io.Reader, param2: number): void;
			public getBlob(param0: number): java.sql.Blob;
			public isBeforeFirst(): boolean;
			public updateBigDecimal(param0: number, param1: java.math.BigDecimal): void;
			public updateNClob(param0: string, param1: java.io.Reader): void;
			public updateRow(): void;
			public getDate(param0: string, param1: java.util.Calendar): java.sql.Date;
			public updateBlob(param0: string, param1: java.io.InputStream): void;
			public getNClob(param0: number): java.sql.NClob;
			public updateClob(param0: string, param1: java.io.Reader): void;
			public getURL(param0: string): java.net.URL;
			public getHoldability(): number;
			public updateClob(param0: number, param1: java.io.Reader): void;
			public moveToInsertRow(): void;
			public updateClob(param0: number, param1: java.io.Reader, param2: number): void;
			public getTimestamp(param0: number): java.sql.Timestamp;
			public updateDouble(param0: string, param1: number): void;
			public getBinaryStream(param0: string): java.io.InputStream;
			public updateNClob(param0: number, param1: java.io.Reader): void;
			public getRef(param0: string): java.sql.Ref;
			public moveToCurrentRow(): void;
			public getNString(param0: number): string;
			public deleteRow(): void;
			public getNCharacterStream(param0: number): java.io.Reader;
			public setFetchDirection(param0: number): void;
			public updateBlob(param0: number, param1: java.io.InputStream, param2: number): void;
			public getBigDecimal(param0: string): java.math.BigDecimal;
			public getLong(param0: number): number;
			public updateRowId(param0: number, param1: java.sql.RowId): void;
			public updateNCharacterStream(param0: number, param1: java.io.Reader): void;
			public updateObject(param0: string, param1: any, param2: number): void;
			public updateLong(param0: string, param1: number): void;
		}
	}
}

declare module java {
	export module sql {
		export class ResultSetMetaData extends java.lang.Object implements java.sql.Wrapper {
			public static class: java.lang.Class<java.sql.ResultSetMetaData>;
			/**
			 * Constructs a new instance of the java.sql.ResultSetMetaData interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				getColumnCount(): number;
				isAutoIncrement(param0: number): boolean;
				isCaseSensitive(param0: number): boolean;
				isSearchable(param0: number): boolean;
				isCurrency(param0: number): boolean;
				isNullable(param0: number): number;
				isSigned(param0: number): boolean;
				getColumnDisplaySize(param0: number): number;
				getColumnLabel(param0: number): string;
				getColumnName(param0: number): string;
				getSchemaName(param0: number): string;
				getPrecision(param0: number): number;
				getScale(param0: number): number;
				getTableName(param0: number): string;
				getCatalogName(param0: number): string;
				getColumnType(param0: number): number;
				getColumnTypeName(param0: number): string;
				isReadOnly(param0: number): boolean;
				isWritable(param0: number): boolean;
				isDefinitelyWritable(param0: number): boolean;
				getColumnClassName(param0: number): string;
				unwrap(param0: java.lang.Class<any>): any;
				isWrapperFor(param0: java.lang.Class<any>): boolean;
			});
			public constructor();
			public static columnNullableUnknown: number;
			public static columnNullable: number;
			public static columnNoNulls: number;
			public getColumnCount(): number;
			public isCurrency(param0: number): boolean;
			public getColumnName(param0: number): string;
			public getColumnType(param0: number): number;
			public getTableName(param0: number): string;
			public isReadOnly(param0: number): boolean;
			public isWrapperFor(param0: java.lang.Class<any>): boolean;
			public getColumnDisplaySize(param0: number): number;
			public getColumnTypeName(param0: number): string;
			public getPrecision(param0: number): number;
			public unwrap(param0: java.lang.Class<any>): any;
			public isSigned(param0: number): boolean;
			public getColumnLabel(param0: number): string;
			public getScale(param0: number): number;
			public isAutoIncrement(param0: number): boolean;
			public isDefinitelyWritable(param0: number): boolean;
			public isCaseSensitive(param0: number): boolean;
			public getSchemaName(param0: number): string;
			public isSearchable(param0: number): boolean;
			public getCatalogName(param0: number): string;
			public isWritable(param0: number): boolean;
			public getColumnClassName(param0: number): string;
			public isNullable(param0: number): number;
		}
	}
}

declare module java {
	export module sql {
		export class RowId extends java.lang.Object {
			public static class: java.lang.Class<java.sql.RowId>;
			/**
			 * Constructs a new instance of the java.sql.RowId interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				equals(param0: any): boolean;
				getBytes(): native.Array<number>;
				toString(): string;
				hashCode(): number;
			});
			public constructor();
			public equals(param0: any): boolean;
			public toString(): string;
			public getBytes(): native.Array<number>;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module sql {
		export class RowIdLifetime {
			public static class: java.lang.Class<java.sql.RowIdLifetime>;
			public static ROWID_UNSUPPORTED: java.sql.RowIdLifetime;
			public static ROWID_VALID_OTHER: java.sql.RowIdLifetime;
			public static ROWID_VALID_SESSION: java.sql.RowIdLifetime;
			public static ROWID_VALID_TRANSACTION: java.sql.RowIdLifetime;
			public static ROWID_VALID_FOREVER: java.sql.RowIdLifetime;
			public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			public static valueOf(param0: string): java.sql.RowIdLifetime;
			public static values(): native.Array<java.sql.RowIdLifetime>;
		}
	}
}

declare module java {
	export module sql {
		export class SQLClientInfoException extends java.sql.SQLException {
			public static class: java.lang.Class<java.sql.SQLClientInfoException>;
			public constructor(param0: string, param1: string, param2: number, param3: java.util.Map<string,java.sql.ClientInfoStatus>, param4: java.lang.Throwable);
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: java.util.Map<string,java.sql.ClientInfoStatus>, param1: java.lang.Throwable);
			public constructor();
			public constructor(param0: string, param1: string, param2: java.lang.Throwable);
			public constructor(param0: string, param1: java.util.Map<string,java.sql.ClientInfoStatus>);
			public getFailedProperties(): java.util.Map<string,java.sql.ClientInfoStatus>;
			public forEach(param0: any /* any*/): void;
			public constructor(param0: string, param1: string);
			public constructor(param0: string, param1: java.util.Map<string,java.sql.ClientInfoStatus>, param2: java.lang.Throwable);
			public constructor(param0: string, param1: string, param2: number, param3: java.lang.Throwable);
			public constructor(param0: string, param1: string, param2: number, param3: java.util.Map<string,java.sql.ClientInfoStatus>);
			public constructor(param0: java.util.Map<string,java.sql.ClientInfoStatus>);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: string, param2: java.util.Map<string,java.sql.ClientInfoStatus>, param3: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor(param0: string, param1: string, param2: java.util.Map<string,java.sql.ClientInfoStatus>);
			public spliterator(): java.util.Spliterator<any>;
			public constructor(param0: string, param1: string, param2: number);
			public constructor(param0: string);
			public iterator(): java.util.Iterator<java.lang.Throwable>;
			public iterator(): java.util.Iterator<any>;
		}
	}
}

declare module java {
	export module sql {
		export class SQLData extends java.lang.Object {
			public static class: java.lang.Class<java.sql.SQLData>;
			/**
			 * Constructs a new instance of the java.sql.SQLData interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				getSQLTypeName(): string;
				readSQL(param0: java.sql.SQLInput, param1: string): void;
				writeSQL(param0: java.sql.SQLOutput): void;
			});
			public constructor();
			public getSQLTypeName(): string;
			public writeSQL(param0: java.sql.SQLOutput): void;
			public readSQL(param0: java.sql.SQLInput, param1: string): void;
		}
	}
}

declare module java {
	export module sql {
		export class SQLDataException extends java.sql.SQLNonTransientException {
			public static class: java.lang.Class<java.sql.SQLDataException>;
			public constructor(param0: java.lang.Throwable);
			public constructor();
			public constructor(param0: string, param1: string, param2: java.lang.Throwable);
			public forEach(param0: any /* any*/): void;
			public constructor(param0: string, param1: string);
			public constructor(param0: string, param1: string, param2: number, param3: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public spliterator(): java.util.Spliterator<any>;
			public constructor(param0: string);
			public constructor(param0: string, param1: string, param2: number);
			public iterator(): java.util.Iterator<java.lang.Throwable>;
			public iterator(): java.util.Iterator<any>;
		}
	}
}

declare module java {
	export module sql {
		export class SQLException extends java.lang.Exception implements java.lang.Iterable<java.lang.Throwable>  {
			public static class: java.lang.Class<java.sql.SQLException>;
			public getErrorCode(): number;
			public getNextException(): java.sql.SQLException;
			public setNextException(param0: java.sql.SQLException): void;
			public constructor(param0: java.lang.Throwable);
			public constructor();
			public constructor(param0: string, param1: string, param2: java.lang.Throwable);
			public forEach(param0: any /* any*/): void;
			public constructor(param0: string, param1: string);
			public constructor(param0: string, param1: string, param2: number, param3: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public spliterator(): java.util.Spliterator<any>;
			public constructor(param0: string);
			public constructor(param0: string, param1: string, param2: number);
			public getSQLState(): string;
			public iterator(): java.util.Iterator<java.lang.Throwable>;
			public iterator(): java.util.Iterator<any>;
		}
	}
}

declare module java {
	export module sql {
		export class SQLFeatureNotSupportedException extends java.sql.SQLNonTransientException {
			public static class: java.lang.Class<java.sql.SQLFeatureNotSupportedException>;
			public constructor(param0: java.lang.Throwable);
			public constructor();
			public constructor(param0: string, param1: string, param2: java.lang.Throwable);
			public forEach(param0: any /* any*/): void;
			public constructor(param0: string, param1: string);
			public constructor(param0: string, param1: string, param2: number, param3: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public spliterator(): java.util.Spliterator<any>;
			public constructor(param0: string);
			public constructor(param0: string, param1: string, param2: number);
			public iterator(): java.util.Iterator<java.lang.Throwable>;
			public iterator(): java.util.Iterator<any>;
		}
	}
}

declare module java {
	export module sql {
		export class SQLInput extends java.lang.Object {
			public static class: java.lang.Class<java.sql.SQLInput>;
			/**
			 * Constructs a new instance of the java.sql.SQLInput interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				readString(): string;
				readBoolean(): boolean;
				readByte(): number;
				readShort(): number;
				readInt(): number;
				readLong(): number;
				readFloat(): number;
				readDouble(): number;
				readBigDecimal(): java.math.BigDecimal;
				readBytes(): native.Array<number>;
				readDate(): java.sql.Date;
				readTime(): java.sql.Time;
				readTimestamp(): java.sql.Timestamp;
				readCharacterStream(): java.io.Reader;
				readAsciiStream(): java.io.InputStream;
				readBinaryStream(): java.io.InputStream;
				readObject(): any;
				readRef(): java.sql.Ref;
				readBlob(): java.sql.Blob;
				readClob(): java.sql.Clob;
				readArray(): java.sql.Array;
				wasNull(): boolean;
				readURL(): java.net.URL;
				readNClob(): java.sql.NClob;
				readNString(): string;
				readSQLXML(): java.sql.SQLXML;
				readRowId(): java.sql.RowId;
			});
			public constructor();
			public readSQLXML(): java.sql.SQLXML;
			public readBinaryStream(): java.io.InputStream;
			public readString(): string;
			public readByte(): number;
			public readShort(): number;
			public readRef(): java.sql.Ref;
			public readURL(): java.net.URL;
			public readDate(): java.sql.Date;
			public readNString(): string;
			public readRowId(): java.sql.RowId;
			public wasNull(): boolean;
			public readDouble(): number;
			public readBigDecimal(): java.math.BigDecimal;
			public readObject(): any;
			public readTime(): java.sql.Time;
			public readNClob(): java.sql.NClob;
			public readInt(): number;
			public readFloat(): number;
			public readCharacterStream(): java.io.Reader;
			public readBytes(): native.Array<number>;
			public readLong(): number;
			public readAsciiStream(): java.io.InputStream;
			public readBlob(): java.sql.Blob;
			public readBoolean(): boolean;
			public readTimestamp(): java.sql.Timestamp;
			public readClob(): java.sql.Clob;
			public readArray(): java.sql.Array;
		}
	}
}

declare module java {
	export module sql {
		export class SQLIntegrityConstraintViolationException extends java.sql.SQLNonTransientException {
			public static class: java.lang.Class<java.sql.SQLIntegrityConstraintViolationException>;
			public constructor(param0: java.lang.Throwable);
			public constructor();
			public constructor(param0: string, param1: string, param2: java.lang.Throwable);
			public forEach(param0: any /* any*/): void;
			public constructor(param0: string, param1: string);
			public constructor(param0: string, param1: string, param2: number, param3: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public spliterator(): java.util.Spliterator<any>;
			public constructor(param0: string);
			public constructor(param0: string, param1: string, param2: number);
			public iterator(): java.util.Iterator<java.lang.Throwable>;
			public iterator(): java.util.Iterator<any>;
		}
	}
}

declare module java {
	export module sql {
		export class SQLInvalidAuthorizationSpecException extends java.sql.SQLNonTransientException {
			public static class: java.lang.Class<java.sql.SQLInvalidAuthorizationSpecException>;
			public constructor(param0: java.lang.Throwable);
			public constructor();
			public constructor(param0: string, param1: string, param2: java.lang.Throwable);
			public forEach(param0: any /* any*/): void;
			public constructor(param0: string, param1: string);
			public constructor(param0: string, param1: string, param2: number, param3: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public spliterator(): java.util.Spliterator<any>;
			public constructor(param0: string);
			public constructor(param0: string, param1: string, param2: number);
			public iterator(): java.util.Iterator<java.lang.Throwable>;
			public iterator(): java.util.Iterator<any>;
		}
	}
}

declare module java {
	export module sql {
		export class SQLNonTransientConnectionException extends java.sql.SQLNonTransientException {
			public static class: java.lang.Class<java.sql.SQLNonTransientConnectionException>;
			public constructor(param0: java.lang.Throwable);
			public constructor();
			public constructor(param0: string, param1: string, param2: java.lang.Throwable);
			public forEach(param0: any /* any*/): void;
			public constructor(param0: string, param1: string);
			public constructor(param0: string, param1: string, param2: number, param3: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public spliterator(): java.util.Spliterator<any>;
			public constructor(param0: string);
			public constructor(param0: string, param1: string, param2: number);
			public iterator(): java.util.Iterator<java.lang.Throwable>;
			public iterator(): java.util.Iterator<any>;
		}
	}
}

declare module java {
	export module sql {
		export class SQLNonTransientException extends java.sql.SQLException {
			public static class: java.lang.Class<java.sql.SQLNonTransientException>;
			public constructor(param0: java.lang.Throwable);
			public constructor();
			public constructor(param0: string, param1: string, param2: java.lang.Throwable);
			public forEach(param0: any /* any*/): void;
			public constructor(param0: string, param1: string);
			public constructor(param0: string, param1: string, param2: number, param3: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public spliterator(): java.util.Spliterator<any>;
			public constructor(param0: string, param1: string, param2: number);
			public constructor(param0: string);
			public iterator(): java.util.Iterator<java.lang.Throwable>;
			public iterator(): java.util.Iterator<any>;
		}
	}
}

declare module java {
	export module sql {
		export class SQLOutput extends java.lang.Object {
			public static class: java.lang.Class<java.sql.SQLOutput>;
			/**
			 * Constructs a new instance of the java.sql.SQLOutput interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				writeString(param0: string): void;
				writeBoolean(param0: boolean): void;
				writeByte(param0: number): void;
				writeShort(param0: number): void;
				writeInt(param0: number): void;
				writeLong(param0: number): void;
				writeFloat(param0: number): void;
				writeDouble(param0: number): void;
				writeBigDecimal(param0: java.math.BigDecimal): void;
				writeBytes(param0: native.Array<number>): void;
				writeDate(param0: java.sql.Date): void;
				writeTime(param0: java.sql.Time): void;
				writeTimestamp(param0: java.sql.Timestamp): void;
				writeCharacterStream(param0: java.io.Reader): void;
				writeAsciiStream(param0: java.io.InputStream): void;
				writeBinaryStream(param0: java.io.InputStream): void;
				writeObject(param0: java.sql.SQLData): void;
				writeRef(param0: java.sql.Ref): void;
				writeBlob(param0: java.sql.Blob): void;
				writeClob(param0: java.sql.Clob): void;
				writeStruct(param0: java.sql.Struct): void;
				writeArray(param0: java.sql.Array): void;
				writeURL(param0: java.net.URL): void;
				writeNString(param0: string): void;
				writeNClob(param0: java.sql.NClob): void;
				writeRowId(param0: java.sql.RowId): void;
				writeSQLXML(param0: java.sql.SQLXML): void;
			});
			public constructor();
			public writeNString(param0: string): void;
			public writeTime(param0: java.sql.Time): void;
			public writeFloat(param0: number): void;
			public writeURL(param0: java.net.URL): void;
			public writeString(param0: string): void;
			public writeCharacterStream(param0: java.io.Reader): void;
			public writeDate(param0: java.sql.Date): void;
			public writeStruct(param0: java.sql.Struct): void;
			public writeRowId(param0: java.sql.RowId): void;
			public writeSQLXML(param0: java.sql.SQLXML): void;
			public writeInt(param0: number): void;
			public writeLong(param0: number): void;
			public writeBigDecimal(param0: java.math.BigDecimal): void;
			public writeObject(param0: java.sql.SQLData): void;
			public writeByte(param0: number): void;
			public writeDouble(param0: number): void;
			public writeBytes(param0: native.Array<number>): void;
			public writeTimestamp(param0: java.sql.Timestamp): void;
			public writeClob(param0: java.sql.Clob): void;
			public writeArray(param0: java.sql.Array): void;
			public writeBoolean(param0: boolean): void;
			public writeAsciiStream(param0: java.io.InputStream): void;
			public writeRef(param0: java.sql.Ref): void;
			public writeShort(param0: number): void;
			public writeBlob(param0: java.sql.Blob): void;
			public writeNClob(param0: java.sql.NClob): void;
			public writeBinaryStream(param0: java.io.InputStream): void;
		}
	}
}

declare module java {
	export module sql {
		export class SQLPermission extends java.security.BasicPermission {
			public static class: java.lang.Class<java.sql.SQLPermission>;
			public constructor(param0: string, param1: string);
			public checkGuard(param0: any): void;
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module sql {
		export class SQLRecoverableException extends java.sql.SQLException {
			public static class: java.lang.Class<java.sql.SQLRecoverableException>;
			public constructor(param0: java.lang.Throwable);
			public constructor();
			public constructor(param0: string, param1: string, param2: java.lang.Throwable);
			public forEach(param0: any /* any*/): void;
			public constructor(param0: string, param1: string);
			public constructor(param0: string, param1: string, param2: number, param3: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public spliterator(): java.util.Spliterator<any>;
			public constructor(param0: string, param1: string, param2: number);
			public constructor(param0: string);
			public iterator(): java.util.Iterator<java.lang.Throwable>;
			public iterator(): java.util.Iterator<any>;
		}
	}
}

declare module java {
	export module sql {
		export class SQLSyntaxErrorException extends java.sql.SQLNonTransientException {
			public static class: java.lang.Class<java.sql.SQLSyntaxErrorException>;
			public constructor(param0: java.lang.Throwable);
			public constructor();
			public constructor(param0: string, param1: string, param2: java.lang.Throwable);
			public forEach(param0: any /* any*/): void;
			public constructor(param0: string, param1: string);
			public constructor(param0: string, param1: string, param2: number, param3: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public spliterator(): java.util.Spliterator<any>;
			public constructor(param0: string);
			public constructor(param0: string, param1: string, param2: number);
			public iterator(): java.util.Iterator<java.lang.Throwable>;
			public iterator(): java.util.Iterator<any>;
		}
	}
}

declare module java {
	export module sql {
		export class SQLTimeoutException extends java.sql.SQLTransientException {
			public static class: java.lang.Class<java.sql.SQLTimeoutException>;
			public constructor(param0: java.lang.Throwable);
			public constructor();
			public constructor(param0: string, param1: string, param2: java.lang.Throwable);
			public forEach(param0: any /* any*/): void;
			public constructor(param0: string, param1: string);
			public constructor(param0: string, param1: string, param2: number, param3: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public spliterator(): java.util.Spliterator<any>;
			public constructor(param0: string);
			public constructor(param0: string, param1: string, param2: number);
			public iterator(): java.util.Iterator<java.lang.Throwable>;
			public iterator(): java.util.Iterator<any>;
		}
	}
}

declare module java {
	export module sql {
		export class SQLTransactionRollbackException extends java.sql.SQLTransientException {
			public static class: java.lang.Class<java.sql.SQLTransactionRollbackException>;
			public constructor(param0: java.lang.Throwable);
			public constructor();
			public constructor(param0: string, param1: string, param2: java.lang.Throwable);
			public forEach(param0: any /* any*/): void;
			public constructor(param0: string, param1: string);
			public constructor(param0: string, param1: string, param2: number, param3: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public spliterator(): java.util.Spliterator<any>;
			public constructor(param0: string);
			public constructor(param0: string, param1: string, param2: number);
			public iterator(): java.util.Iterator<java.lang.Throwable>;
			public iterator(): java.util.Iterator<any>;
		}
	}
}

declare module java {
	export module sql {
		export class SQLTransientConnectionException extends java.sql.SQLTransientException {
			public static class: java.lang.Class<java.sql.SQLTransientConnectionException>;
			public constructor(param0: java.lang.Throwable);
			public constructor();
			public constructor(param0: string, param1: string, param2: java.lang.Throwable);
			public forEach(param0: any /* any*/): void;
			public constructor(param0: string, param1: string);
			public constructor(param0: string, param1: string, param2: number, param3: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public spliterator(): java.util.Spliterator<any>;
			public constructor(param0: string);
			public constructor(param0: string, param1: string, param2: number);
			public iterator(): java.util.Iterator<java.lang.Throwable>;
			public iterator(): java.util.Iterator<any>;
		}
	}
}

declare module java {
	export module sql {
		export class SQLTransientException extends java.sql.SQLException {
			public static class: java.lang.Class<java.sql.SQLTransientException>;
			public constructor(param0: java.lang.Throwable);
			public constructor();
			public constructor(param0: string, param1: string, param2: java.lang.Throwable);
			public forEach(param0: any /* any*/): void;
			public constructor(param0: string, param1: string);
			public constructor(param0: string, param1: string, param2: number, param3: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public spliterator(): java.util.Spliterator<any>;
			public constructor(param0: string, param1: string, param2: number);
			public constructor(param0: string);
			public iterator(): java.util.Iterator<java.lang.Throwable>;
			public iterator(): java.util.Iterator<any>;
		}
	}
}

declare module java {
	export module sql {
		export class SQLWarning extends java.sql.SQLException {
			public static class: java.lang.Class<java.sql.SQLWarning>;
			public setNextWarning(param0: java.sql.SQLWarning): void;
			public constructor(param0: java.lang.Throwable);
			public constructor();
			public constructor(param0: string, param1: string, param2: java.lang.Throwable);
			public forEach(param0: any /* any*/): void;
			public constructor(param0: string, param1: string);
			public constructor(param0: string, param1: string, param2: number, param3: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public getNextWarning(): java.sql.SQLWarning;
			public spliterator(): java.util.Spliterator<any>;
			public constructor(param0: string, param1: string, param2: number);
			public constructor(param0: string);
			public iterator(): java.util.Iterator<java.lang.Throwable>;
			public iterator(): java.util.Iterator<any>;
		}
	}
}

declare module java {
	export module sql {
		export class SQLXML extends java.lang.Object {
			public static class: java.lang.Class<java.sql.SQLXML>;
			/**
			 * Constructs a new instance of the java.sql.SQLXML interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				free(): void;
				getBinaryStream(): java.io.InputStream;
				setBinaryStream(): java.io.OutputStream;
				getCharacterStream(): java.io.Reader;
				setCharacterStream(): java.io.Writer;
				getString(): string;
				setString(param0: string): void;
				getSource(param0: java.lang.Class<any>): javax.xml.transform.Source;
				setResult(param0: java.lang.Class<any>): javax.xml.transform.Result;
			});
			public constructor();
			public setResult(param0: java.lang.Class<any>): javax.xml.transform.Result;
			public getBinaryStream(): java.io.InputStream;
			public free(): void;
			public getCharacterStream(): java.io.Reader;
			public setCharacterStream(): java.io.Writer;
			public getString(): string;
			public setBinaryStream(): java.io.OutputStream;
			public getSource(param0: java.lang.Class<any>): javax.xml.transform.Source;
			public setString(param0: string): void;
		}
	}
}

declare module java {
	export module sql {
		export class Savepoint extends java.lang.Object {
			public static class: java.lang.Class<java.sql.Savepoint>;
			/**
			 * Constructs a new instance of the java.sql.Savepoint interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				getSavepointId(): number;
				getSavepointName(): string;
			});
			public constructor();
			public getSavepointId(): number;
			public getSavepointName(): string;
		}
	}
}

declare module java {
	export module sql {
		export class Statement extends java.lang.Object implements java.sql.Wrapper, java.lang.AutoCloseable {
			public static class: java.lang.Class<java.sql.Statement>;
			/**
			 * Constructs a new instance of the java.sql.Statement interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				executeQuery(param0: string): java.sql.ResultSet;
				executeUpdate(param0: string): number;
				close(): void;
				getMaxFieldSize(): number;
				setMaxFieldSize(param0: number): void;
				getMaxRows(): number;
				setMaxRows(param0: number): void;
				setEscapeProcessing(param0: boolean): void;
				getQueryTimeout(): number;
				setQueryTimeout(param0: number): void;
				cancel(): void;
				getWarnings(): java.sql.SQLWarning;
				clearWarnings(): void;
				setCursorName(param0: string): void;
				execute(param0: string): boolean;
				getResultSet(): java.sql.ResultSet;
				getUpdateCount(): number;
				getMoreResults(): boolean;
				setFetchDirection(param0: number): void;
				getFetchDirection(): number;
				setFetchSize(param0: number): void;
				getFetchSize(): number;
				getResultSetConcurrency(): number;
				getResultSetType(): number;
				addBatch(param0: string): void;
				clearBatch(): void;
				executeBatch(): native.Array<number>;
				getConnection(): java.sql.Connection;
				getMoreResults(param0: number): boolean;
				getGeneratedKeys(): java.sql.ResultSet;
				executeUpdate(param0: string, param1: number): number;
				executeUpdate(param0: string, param1: native.Array<number>): number;
				executeUpdate(param0: string, param1: native.Array<string>): number;
				execute(param0: string, param1: number): boolean;
				execute(param0: string, param1: native.Array<number>): boolean;
				execute(param0: string, param1: native.Array<string>): boolean;
				getResultSetHoldability(): number;
				isClosed(): boolean;
				setPoolable(param0: boolean): void;
				isPoolable(): boolean;
				unwrap(param0: java.lang.Class<any>): any;
				isWrapperFor(param0: java.lang.Class<any>): boolean;
				close(): void;
			});
			public constructor();
			public static CLOSE_CURRENT_RESULT: number;
			public static EXECUTE_FAILED: number;
			public static KEEP_CURRENT_RESULT: number;
			public static NO_GENERATED_KEYS: number;
			public static RETURN_GENERATED_KEYS: number;
			public static CLOSE_ALL_RESULTS: number;
			public static SUCCESS_NO_INFO: number;
			public isClosed(): boolean;
			public getMaxRows(): number;
			public isWrapperFor(param0: java.lang.Class<any>): boolean;
			public unwrap(param0: java.lang.Class<any>): any;
			public cancel(): void;
			public executeUpdate(param0: string, param1: native.Array<number>): number;
			public setMaxRows(param0: number): void;
			public setPoolable(param0: boolean): void;
			public getWarnings(): java.sql.SQLWarning;
			public executeUpdate(param0: string, param1: native.Array<string>): number;
			public addBatch(param0: string): void;
			public getUpdateCount(): number;
			public executeBatch(): native.Array<number>;
			public isPoolable(): boolean;
			public execute(param0: string, param1: number): boolean;
			public getMaxFieldSize(): number;
			public getConnection(): java.sql.Connection;
			public clearWarnings(): void;
			public close(): void;
			public execute(param0: string): boolean;
			public getFetchSize(): number;
			public getResultSetHoldability(): number;
			public getResultSetType(): number;
			public executeUpdate(param0: string): number;
			public setCursorName(param0: string): void;
			public getMoreResults(): boolean;
			public getGeneratedKeys(): java.sql.ResultSet;
			public setQueryTimeout(param0: number): void;
			public getFetchDirection(): number;
			public getResultSetConcurrency(): number;
			public setMaxFieldSize(param0: number): void;
			public clearBatch(): void;
			public executeQuery(param0: string): java.sql.ResultSet;
			public setFetchDirection(param0: number): void;
			public setFetchSize(param0: number): void;
			public setEscapeProcessing(param0: boolean): void;
			public getResultSet(): java.sql.ResultSet;
			public executeUpdate(param0: string, param1: number): number;
			public getMoreResults(param0: number): boolean;
			public execute(param0: string, param1: native.Array<number>): boolean;
			public getQueryTimeout(): number;
			public execute(param0: string, param1: native.Array<string>): boolean;
		}
	}
}

declare module java {
	export module sql {
		export class Struct extends java.lang.Object {
			public static class: java.lang.Class<java.sql.Struct>;
			/**
			 * Constructs a new instance of the java.sql.Struct interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				getSQLTypeName(): string;
				getAttributes(): native.Array<any>;
				getAttributes(param0: java.util.Map<string,java.lang.Class<any>>): native.Array<any>;
			});
			public constructor();
			public getAttributes(param0: java.util.Map<string,java.lang.Class<any>>): native.Array<any>;
			public getSQLTypeName(): string;
			public getAttributes(): native.Array<any>;
		}
	}
}

declare module java {
	export module sql {
		export class Time extends java.util.Date {
			public static class: java.lang.Class<java.sql.Time>;
			/** @deprecated */
			public constructor(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number);
			/** @deprecated */
			public getDay(): number;
			/** @deprecated */
			public getDate(): number;
			public static valueOf(param0: string): java.sql.Time;
			public constructor(param0: number);
			/** @deprecated */
			public setMonth(param0: number): void;
			/** @deprecated */
			public getMonth(): number;
			public constructor();
			/** @deprecated */
			public constructor(param0: number, param1: number, param2: number);
			public toString(): string;
			public setTime(param0: number): void;
			/** @deprecated */
			public setDate(param0: number): void;
			/** @deprecated */
			public setYear(param0: number): void;
			/** @deprecated */
			public getYear(): number;
			/** @deprecated */
			public constructor(param0: number, param1: number, param2: number, param3: number, param4: number);
			/** @deprecated */
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module sql {
		export class Timestamp extends java.util.Date {
			public static class: java.lang.Class<java.sql.Timestamp>;
			public static valueOf(param0: string): java.sql.Timestamp;
			public equals(param0: any): boolean;
			public setNanos(param0: number): void;
			public after(param0: java.sql.Timestamp): boolean;
			/** @deprecated */
			public constructor(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number);
			public before(param0: java.util.Date): boolean;
			public constructor(param0: number);
			public after(param0: java.util.Date): boolean;
			public constructor();
			/** @deprecated */
			public constructor(param0: number, param1: number, param2: number);
			public compareTo(param0: java.util.Date): number;
			public getNanos(): number;
			public toString(): string;
			public setTime(param0: number): void;
			public getTime(): number;
			public before(param0: java.sql.Timestamp): boolean;
			public compareTo(param0: java.sql.Timestamp): number;
			public equals(param0: java.sql.Timestamp): boolean;
			/** @deprecated */
			public constructor(param0: number, param1: number, param2: number, param3: number, param4: number);
			/** @deprecated */
			public constructor(param0: string);
			/** @deprecated */
			public constructor(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number);
			public hashCode(): number;
		}
	}
}

declare module java {
	export module sql {
		export class Types extends java.lang.Object {
			public static class: java.lang.Class<java.sql.Types>;
			public static ARRAY: number;
			public static BIGINT: number;
			public static BINARY: number;
			public static BIT: number;
			public static BLOB: number;
			public static BOOLEAN: number;
			public static CHAR: number;
			public static CLOB: number;
			public static DATALINK: number;
			public static DATE: number;
			public static DECIMAL: number;
			public static DISTINCT: number;
			public static DOUBLE: number;
			public static FLOAT: number;
			public static INTEGER: number;
			public static JAVA_OBJECT: number;
			public static LONGNVARCHAR: number;
			public static LONGVARBINARY: number;
			public static LONGVARCHAR: number;
			public static NCHAR: number;
			public static NCLOB: number;
			public static NULL: number;
			public static NUMERIC: number;
			public static NVARCHAR: number;
			public static OTHER: number;
			public static REAL: number;
			public static REF: number;
			public static ROWID: number;
			public static SMALLINT: number;
			public static SQLXML: number;
			public static STRUCT: number;
			public static TIME: number;
			public static TIMESTAMP: number;
			public static TINYINT: number;
			public static VARBINARY: number;
			public static VARCHAR: number;
		}
	}
}

declare module java {
	export module sql {
		export class Wrapper extends java.lang.Object {
			public static class: java.lang.Class<java.sql.Wrapper>;
			/**
			 * Constructs a new instance of the java.sql.Wrapper interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				unwrap(param0: java.lang.Class<any>): any;
				isWrapperFor(param0: java.lang.Class<any>): boolean;
			});
			public constructor();
			public isWrapperFor(param0: java.lang.Class<any>): boolean;
			public unwrap(param0: java.lang.Class<any>): any;
		}
	}
}

declare module java {
	export module text {
		export class Annotation extends java.lang.Object {
			public static class: java.lang.Class<java.text.Annotation>;
			public toString(): string;
			public getValue(): any;
			public constructor(param0: any);
		}
	}
}

declare module java {
	export module text {
		export class AttributedCharacterIterator extends java.lang.Object implements java.text.CharacterIterator {
			public static class: java.lang.Class<java.text.AttributedCharacterIterator>;
			/**
			 * Constructs a new instance of the java.text.AttributedCharacterIterator interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				getRunStart(): number;
				getRunStart(param0: java.text.AttributedCharacterIterator.Attribute): number;
				getRunStart(param0: java.util.Set<any>): number;
				getRunLimit(): number;
				getRunLimit(param0: java.text.AttributedCharacterIterator.Attribute): number;
				getRunLimit(param0: java.util.Set<any>): number;
				getAttributes(): java.util.Map<java.text.AttributedCharacterIterator.Attribute,any>;
				getAttribute(param0: java.text.AttributedCharacterIterator.Attribute): any;
				getAllAttributeKeys(): java.util.Set<java.text.AttributedCharacterIterator.Attribute>;
				first(): string;
				last(): string;
				current(): string;
				next(): string;
				previous(): string;
				setIndex(param0: number): string;
				getBeginIndex(): number;
				getEndIndex(): number;
				getIndex(): number;
				clone(): any;
			});
			public constructor();
			public static DONE: string;
			public getIndex(): number;
			public getRunStart(param0: java.text.AttributedCharacterIterator.Attribute): number;
			public setIndex(param0: number): string;
			public getRunLimit(param0: java.util.Set<any>): number;
			public getRunLimit(param0: java.text.AttributedCharacterIterator.Attribute): number;
			public first(): string;
			public current(): string;
			public getBeginIndex(): number;
			public last(): string;
			public next(): string;
			public getRunLimit(): number;
			public getAllAttributeKeys(): java.util.Set<java.text.AttributedCharacterIterator.Attribute>;
			public getRunStart(): number;
			public clone(): any;
			public getEndIndex(): number;
			public getRunStart(param0: java.util.Set<any>): number;
			public getAttribute(param0: java.text.AttributedCharacterIterator.Attribute): any;
			public getAttributes(): java.util.Map<java.text.AttributedCharacterIterator.Attribute,any>;
			public previous(): string;
		}
		export module AttributedCharacterIterator {
			export class Attribute extends java.lang.Object implements java.io.Serializable {
				public static class: java.lang.Class<java.text.AttributedCharacterIterator.Attribute>;
				public static INPUT_METHOD_SEGMENT: java.text.AttributedCharacterIterator.Attribute;
				public static LANGUAGE: java.text.AttributedCharacterIterator.Attribute;
				public static READING: java.text.AttributedCharacterIterator.Attribute;
				public hashCode(): number;
				public equals(param0: any): boolean;
				public getName(): string;
				public toString(): string;
				public constructor(param0: string);
				public readResolve(): any;
			}
		}
	}
}

declare module java {
	export module text {
		export class AttributedString extends java.lang.Object {
			public static class: java.lang.Class<java.text.AttributedString>;
			public constructor(param0: java.text.AttributedCharacterIterator);
			public addAttributes(param0: java.util.Map<any,any>, param1: number, param2: number): void;
			public getIterator(): java.text.AttributedCharacterIterator;
			public constructor(param0: java.text.AttributedCharacterIterator, param1: number, param2: number, param3: native.Array<java.text.AttributedCharacterIterator.Attribute>);
			public addAttribute(param0: java.text.AttributedCharacterIterator.Attribute, param1: any): void;
			public addAttribute(param0: java.text.AttributedCharacterIterator.Attribute, param1: any, param2: number, param3: number): void;
			public getIterator(param0: native.Array<java.text.AttributedCharacterIterator.Attribute>): java.text.AttributedCharacterIterator;
			public constructor(param0: java.text.AttributedCharacterIterator, param1: number, param2: number);
			public getIterator(param0: native.Array<java.text.AttributedCharacterIterator.Attribute>, param1: number, param2: number): java.text.AttributedCharacterIterator;
			public constructor(param0: string);
			public constructor(param0: string, param1: java.util.Map<any,any>);
		}
	}
}

declare module java {
	export module text {
		export class Bidi extends java.lang.Object {
			public static class: java.lang.Class<java.text.Bidi>;
			public static DIRECTION_DEFAULT_LEFT_TO_RIGHT: number;
			public static DIRECTION_DEFAULT_RIGHT_TO_LEFT: number;
			public static DIRECTION_LEFT_TO_RIGHT: number;
			public static DIRECTION_RIGHT_TO_LEFT: number;
			public getRunStart(param0: number): number;
			public getBaseLevel(): number;
			public getRunCount(): number;
			public isRightToLeft(): boolean;
			public getLength(): number;
			public getRunLevel(param0: number): number;
			public constructor(param0: native.Array<string>, param1: number, param2: native.Array<number>, param3: number, param4: number, param5: number);
			public getRunLimit(param0: number): number;
			public isLeftToRight(): boolean;
			public getLevelAt(param0: number): number;
			public constructor(param0: java.text.AttributedCharacterIterator);
			public baseIsLeftToRight(): boolean;
			public static requiresBidi(param0: native.Array<string>, param1: number, param2: number): boolean;
			public isMixed(): boolean;
			public toString(): string;
			public constructor(param0: string, param1: number);
			public createLineBidi(param0: number, param1: number): java.text.Bidi;
			public static reorderVisually(param0: native.Array<number>, param1: number, param2: native.Array<any>, param3: number, param4: number): void;
		}
	}
}

declare module java {
	export module text {
		export abstract class BreakIterator extends java.lang.Object implements java.lang.Cloneable {
			public static class: java.lang.Class<java.text.BreakIterator>;
			public static DONE: number;
			public current(): number;
			public setText(param0: string): void;
			public static getSentenceInstance(param0: java.util.Locale): java.text.BreakIterator;
			public setText(param0: java.text.CharacterIterator): void;
			public following(param0: number): number;
			public getText(): java.text.CharacterIterator;
			public constructor();
			public next(param0: number): number;
			public previous(): number;
			public static getWordInstance(): java.text.BreakIterator;
			public static getLineInstance(param0: java.util.Locale): java.text.BreakIterator;
			public static getCharacterInstance(): java.text.BreakIterator;
			public static getWordInstance(param0: java.util.Locale): java.text.BreakIterator;
			public next(): number;
			public static getSentenceInstance(): java.text.BreakIterator;
			public clone(): any;
			public last(): number;
			public static getAvailableLocales(): native.Array<java.util.Locale>;
			public static getCharacterInstance(param0: java.util.Locale): java.text.BreakIterator;
			public static getLineInstance(): java.text.BreakIterator;
			public preceding(param0: number): number;
			public first(): number;
			public isBoundary(param0: number): boolean;
		}
	}
}

declare module java {
	export module text {
		export class CharacterIterator extends java.lang.Object implements java.lang.Cloneable {
			public static class: java.lang.Class<java.text.CharacterIterator>;
			/**
			 * Constructs a new instance of the java.text.CharacterIterator interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				first(): string;
				last(): string;
				current(): string;
				next(): string;
				previous(): string;
				setIndex(param0: number): string;
				getBeginIndex(): number;
				getEndIndex(): number;
				getIndex(): number;
				clone(): any;
			});
			public constructor();
			public static DONE: string;
			public getIndex(): number;
			public clone(): any;
			public setIndex(param0: number): string;
			public getEndIndex(): number;
			public first(): string;
			public current(): string;
			public getBeginIndex(): number;
			public last(): string;
			public next(): string;
			public previous(): string;
		}
	}
}

declare module java {
	export module text {
		export class ChoiceFormat extends java.text.NumberFormat {
			public static class: java.lang.Class<java.text.ChoiceFormat>;
			public format(param0: any, param1: java.lang.StringBuffer, param2: java.text.FieldPosition): java.lang.StringBuffer;
			public equals(param0: any): boolean;
			public getFormats(): native.Array<any>;
			public format(param0: any): string;
			public applyPattern(param0: string): void;
			public format(param0: number): string;
			public constructor();
			public toPattern(): string;
			public constructor(param0: native.Array<number>, param1: native.Array<string>);
			public format(param0: number, param1: java.lang.StringBuffer, param2: java.text.FieldPosition): java.lang.StringBuffer;
			public getLimits(): native.Array<number>;
			public static previousDouble(param0: number): number;
			public clone(): any;
			public setChoices(param0: native.Array<number>, param1: native.Array<string>): void;
			public static nextDouble(param0: number, param1: boolean): number;
			public static nextDouble(param0: number): number;
			public parse(param0: string, param1: java.text.ParsePosition): java.lang.Number;
			public parse(param0: string): java.lang.Number;
			public constructor(param0: string);
			public hashCode(): number;
		}
	}
}

declare module java {
	export module text {
		export class CollationElementIterator extends java.lang.Object {
			public static class: java.lang.Class<java.text.CollationElementIterator>;
			public static NULLORDER: number;
			public static primaryOrder(param0: number): number;
			public next(): number;
			public static tertiaryOrder(param0: number): number;
			public static secondaryOrder(param0: number): number;
			public setText(param0: string): void;
			public setText(param0: java.text.CharacterIterator): void;
			public reset(): void;
			public getOffset(): number;
			public previous(): number;
			public setOffset(param0: number): void;
			public getMaxExpansion(param0: number): number;
		}
	}
}

declare module java {
	export module text {
		export abstract class CollationKey extends java.lang.Comparable<java.text.CollationKey> {
			public static class: java.lang.Class<java.text.CollationKey>;
			public toByteArray(): native.Array<number>;
			public compareTo(param0: java.text.CollationKey): number;
			public constructor(param0: string);
			public getSourceString(): string;
		}
	}
}

declare module java {
	export module text {
		export abstract class Collator extends java.lang.Object {
			public static class: java.lang.Class<java.text.Collator>;
			public static CANONICAL_DECOMPOSITION: number;
			public static FULL_DECOMPOSITION: number;
			public static IDENTICAL: number;
			public static NO_DECOMPOSITION: number;
			public static PRIMARY: number;
			public static SECONDARY: number;
			public static TERTIARY: number;
			public getCollationKey(param0: string): java.text.CollationKey;
			public equals(param0: any): boolean;
			public getStrength(): number;
			public static nullsFirst(param0: java.util.Comparator<any>): java.util.Comparator<any>;
			public equals(param0: string, param1: string): boolean;
			public getDecomposition(): number;
			public compare(param0: any, param1: any): number;
			public static comparing(param0: any /* any*/, param1: java.util.Comparator<any>): java.util.Comparator<any>;
			public static comparing(param0: any /* any*/): java.util.Comparator<any>;
			public setStrength(param0: number): void;
			public thenComparing(param0: any /* any*/, param1: java.util.Comparator<any>): java.util.Comparator<any>;
			public thenComparing(param0: any /* any*/): java.util.Comparator<any>;
			public static comparingDouble(param0: any /* any*/): java.util.Comparator<any>;
			public static getInstance(param0: java.util.Locale): java.text.Collator;
			public static getAvailableLocales(): native.Array<java.util.Locale>;
			public setDecomposition(param0: number): void;
			public static naturalOrder(): java.util.Comparator<any>;
			public static nullsLast(param0: java.util.Comparator<any>): java.util.Comparator<any>;
			public static reverseOrder(): java.util.Comparator<any>;
			public static comparingLong(param0: any /* any*/): java.util.Comparator<any>;
			public constructor();
			public compare(param0: string, param1: string): number;
			public clone(): any;
			public thenComparingDouble(param0: any /* any*/): java.util.Comparator<any>;
			public static comparingInt(param0: any /* any*/): java.util.Comparator<any>;
			public static getInstance(): java.text.Collator;
			public thenComparingLong(param0: any /* any*/): java.util.Comparator<any>;
			public reversed(): java.util.Comparator<any>;
			public thenComparing(param0: java.util.Comparator<any>): java.util.Comparator<any>;
			public thenComparingInt(param0: any /* any*/): java.util.Comparator<any>;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module text {
		export abstract class DateFormat extends java.text.Format {
			public static class: java.lang.Class<java.text.DateFormat>;
			public static AM_PM_FIELD: number;
			public static DATE_FIELD: number;
			public static DAY_OF_WEEK_FIELD: number;
			public static DAY_OF_WEEK_IN_MONTH_FIELD: number;
			public static DAY_OF_YEAR_FIELD: number;
			public static DEFAULT: number;
			public static ERA_FIELD: number;
			public static FULL: number;
			public static HOUR0_FIELD: number;
			public static HOUR1_FIELD: number;
			public static HOUR_OF_DAY0_FIELD: number;
			public static HOUR_OF_DAY1_FIELD: number;
			public static LONG: number;
			public static MEDIUM: number;
			public static MILLISECOND_FIELD: number;
			public static MINUTE_FIELD: number;
			public static MONTH_FIELD: number;
			public static SECOND_FIELD: number;
			public static SHORT: number;
			public static TIMEZONE_FIELD: number;
			public static WEEK_OF_MONTH_FIELD: number;
			public static WEEK_OF_YEAR_FIELD: number;
			public static YEAR_FIELD: number;
			public calendar: java.util.Calendar;
			public numberFormat: java.text.NumberFormat;
			public format(param0: any, param1: java.lang.StringBuffer, param2: java.text.FieldPosition): java.lang.StringBuffer;
			public parseObject(param0: string): any;
			public equals(param0: any): boolean;
			public format(param0: any): string;
			public getNumberFormat(): java.text.NumberFormat;
			public getTimeZone(): java.util.TimeZone;
			public static getDateInstance(param0: number, param1: java.util.Locale): java.text.DateFormat;
			public getCalendar(): java.util.Calendar;
			public static getTimeInstance(param0: number): java.text.DateFormat;
			public static getInstance(): java.text.DateFormat;
			public format(param0: java.util.Date): string;
			public setNumberFormat(param0: java.text.NumberFormat): void;
			public parse(param0: string, param1: java.text.ParsePosition): java.util.Date;
			public setLenient(param0: boolean): void;
			public parse(param0: string): java.util.Date;
			public static getDateInstance(param0: number): java.text.DateFormat;
			public static getAvailableLocales(): native.Array<java.util.Locale>;
			public parseObject(param0: string, param1: java.text.ParsePosition): any;
			public format(param0: java.util.Date, param1: java.lang.StringBuffer, param2: java.text.FieldPosition): java.lang.StringBuffer;
			public static getDateInstance(): java.text.DateFormat;
			public constructor();
			public isLenient(): boolean;
			public setCalendar(param0: java.util.Calendar): void;
			public static getTimeInstance(): java.text.DateFormat;
			public static getDateTimeInstance(): java.text.DateFormat;
			public static getDateTimeInstance(param0: number, param1: number, param2: java.util.Locale): java.text.DateFormat;
			public static getTimeInstance(param0: number, param1: java.util.Locale): java.text.DateFormat;
			public clone(): any;
			public setTimeZone(param0: java.util.TimeZone): void;
			public static getDateTimeInstance(param0: number, param1: number): java.text.DateFormat;
			public hashCode(): number;
		}
		export module DateFormat {
			export class Field extends java.text.Format.Field {
				public static class: java.lang.Class<java.text.DateFormat.Field>;
				public static AM_PM: java.text.DateFormat.Field;
				public static DAY_OF_MONTH: java.text.DateFormat.Field;
				public static DAY_OF_WEEK: java.text.DateFormat.Field;
				public static DAY_OF_WEEK_IN_MONTH: java.text.DateFormat.Field;
				public static DAY_OF_YEAR: java.text.DateFormat.Field;
				public static ERA: java.text.DateFormat.Field;
				public static HOUR0: java.text.DateFormat.Field;
				public static HOUR1: java.text.DateFormat.Field;
				public static HOUR_OF_DAY0: java.text.DateFormat.Field;
				public static HOUR_OF_DAY1: java.text.DateFormat.Field;
				public static MILLISECOND: java.text.DateFormat.Field;
				public static MINUTE: java.text.DateFormat.Field;
				public static MONTH: java.text.DateFormat.Field;
				public static SECOND: java.text.DateFormat.Field;
				public static TIME_ZONE: java.text.DateFormat.Field;
				public static WEEK_OF_MONTH: java.text.DateFormat.Field;
				public static WEEK_OF_YEAR: java.text.DateFormat.Field;
				public static YEAR: java.text.DateFormat.Field;
				public static ofCalendarField(param0: number): java.text.DateFormat.Field;
				public getCalendarField(): number;
				public constructor(param0: string, param1: number);
				public constructor(param0: string);
				public readResolve(): any;
			}
		}
	}
}

declare module java {
	export module text {
		export class DateFormatSymbols extends java.lang.Object implements java.io.Serializable, java.lang.Cloneable {
			public static class: java.lang.Class<java.text.DateFormatSymbols>;
			public setShortMonths(param0: native.Array<string>): void;
			public equals(param0: any): boolean;
			public setEras(param0: native.Array<string>): void;
			public setShortWeekdays(param0: native.Array<string>): void;
			public getShortWeekdays(): native.Array<string>;
			public setZoneStrings(param0: native.Array<native.Array<string>>): void;
			public getWeekdays(): native.Array<string>;
			public getLocalPatternChars(): string;
			public getAmPmStrings(): native.Array<string>;
			public setAmPmStrings(param0: native.Array<string>): void;
			public getMonths(): native.Array<string>;
			public getZoneStrings(): native.Array<native.Array<string>>;
			public constructor();
			public static getInstance(param0: java.util.Locale): java.text.DateFormatSymbols;
			public constructor(param0: java.util.Locale);
			public getEras(): native.Array<string>;
			public setWeekdays(param0: native.Array<string>): void;
			public clone(): any;
			public static getInstance(): java.text.DateFormatSymbols;
			public static getAvailableLocales(): native.Array<java.util.Locale>;
			public setMonths(param0: native.Array<string>): void;
			public getShortMonths(): native.Array<string>;
			public setLocalPatternChars(param0: string): void;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module text {
		export class DecimalFormat extends java.text.NumberFormat {
			public static class: java.lang.Class<java.text.DecimalFormat>;
			public format(param0: any, param1: java.lang.StringBuffer, param2: java.text.FieldPosition): java.lang.StringBuffer;
			public setMaximumFractionDigits(param0: number): void;
			public setNegativeSuffix(param0: string): void;
			public setParseBigDecimal(param0: boolean): void;
			public format(param0: any): string;
			public setGroupingSize(param0: number): void;
			public applyPattern(param0: string): void;
			public setMultiplier(param0: number): void;
			public getMinimumIntegerDigits(): number;
			public getPositivePrefix(): string;
			public isGroupingUsed(): boolean;
			public applyLocalizedPattern(param0: string): void;
			public getNegativeSuffix(): string;
			public setMinimumIntegerDigits(param0: number): void;
			public constructor(param0: string);
			public constructor(param0: string, param1: java.text.DecimalFormatSymbols);
			public setRoundingMode(param0: java.math.RoundingMode): void;
			public constructor();
			public toPattern(): string;
			public clone(): any;
			public setMaximumIntegerDigits(param0: number): void;
			public setParseIntegerOnly(param0: boolean): void;
			public getMultiplier(): number;
			public parse(param0: string): java.lang.Number;
			public setGroupingUsed(param0: boolean): void;
			public equals(param0: any): boolean;
			public getGroupingSize(): number;
			public getNegativePrefix(): string;
			public setMinimumFractionDigits(param0: number): void;
			public getMaximumIntegerDigits(): number;
			public setPositiveSuffix(param0: string): void;
			public setNegativePrefix(param0: string): void;
			public isParseIntegerOnly(): boolean;
			public setDecimalSeparatorAlwaysShown(param0: boolean): void;
			public getMaximumFractionDigits(): number;
			public formatToCharacterIterator(param0: any): java.text.AttributedCharacterIterator;
			public parse(param0: string, param1: java.text.ParsePosition): java.lang.Number;
			public getRoundingMode(): java.math.RoundingMode;
			public isDecimalSeparatorAlwaysShown(): boolean;
			public getPositiveSuffix(): string;
			public setPositivePrefix(param0: string): void;
			public setDecimalFormatSymbols(param0: java.text.DecimalFormatSymbols): void;
			public getDecimalFormatSymbols(): java.text.DecimalFormatSymbols;
			public format(param0: number): string;
			public isParseBigDecimal(): boolean;
			public setCurrency(param0: java.util.Currency): void;
			public format(param0: number, param1: java.lang.StringBuffer, param2: java.text.FieldPosition): java.lang.StringBuffer;
			public getCurrency(): java.util.Currency;
			public toLocalizedPattern(): string;
			public getMinimumFractionDigits(): number;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module text {
		export class DecimalFormatSymbols extends java.lang.Object implements java.lang.Cloneable, java.io.Serializable {
			public static class: java.lang.Class<java.text.DecimalFormatSymbols>;
			public equals(param0: any): boolean;
			public setMinusSign(param0: string): void;
			public getPerMill(): string;
			public static getInstance(): java.text.DecimalFormatSymbols;
			public static getInstance(param0: java.util.Locale): java.text.DecimalFormatSymbols;
			public getZeroDigit(): string;
			public setGroupingSeparator(param0: string): void;
			public setMonetaryDecimalSeparator(param0: string): void;
			public setDecimalSeparator(param0: string): void;
			public static getAvailableLocales(): native.Array<java.util.Locale>;
			public getCurrencySymbol(): string;
			public getExponentSeparator(): string;
			public setZeroDigit(param0: string): void;
			public setPerMill(param0: string): void;
			public setInternationalCurrencySymbol(param0: string): void;
			public getInternationalCurrencySymbol(): string;
			public setDigit(param0: string): void;
			public setPercent(param0: string): void;
			public setExponentSeparator(param0: string): void;
			public getPatternSeparator(): string;
			public setCurrencySymbol(param0: string): void;
			public getInfinity(): string;
			public constructor();
			public getDecimalSeparator(): string;
			public getMinusSign(): string;
			public constructor(param0: java.util.Locale);
			public getDigit(): string;
			public setInfinity(param0: string): void;
			public getPercent(): string;
			public setCurrency(param0: java.util.Currency): void;
			public getCurrency(): java.util.Currency;
			public clone(): any;
			public setNaN(param0: string): void;
			public getMonetaryDecimalSeparator(): string;
			public getNaN(): string;
			public setPatternSeparator(param0: string): void;
			public getGroupingSeparator(): string;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module text {
		export class FieldPosition extends java.lang.Object {
			public static class: java.lang.Class<java.text.FieldPosition>;
			public setBeginIndex(param0: number): void;
			public equals(param0: any): boolean;
			public constructor(param0: java.text.Format.Field, param1: number);
			public getFieldAttribute(): java.text.Format.Field;
			public toString(): string;
			public getEndIndex(): number;
			public constructor(param0: java.text.Format.Field);
			public constructor(param0: number);
			public getField(): number;
			public getBeginIndex(): number;
			public setEndIndex(param0: number): void;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module text {
		export abstract class Format extends java.lang.Object implements java.io.Serializable, java.lang.Cloneable {
			public static class: java.lang.Class<java.text.Format>;
			public format(param0: any, param1: java.lang.StringBuffer, param2: java.text.FieldPosition): java.lang.StringBuffer;
			public parseObject(param0: string): any;
			public clone(): any;
			public format(param0: any): string;
			public formatToCharacterIterator(param0: any): java.text.AttributedCharacterIterator;
			public constructor();
			public parseObject(param0: string, param1: java.text.ParsePosition): any;
		}
		export module Format {
			export class Field extends java.text.AttributedCharacterIterator.Attribute {
				public static class: java.lang.Class<java.text.Format.Field>;
				public constructor(param0: string);
			}
		}
	}
}

declare module java {
	export module text {
		export class MessageFormat extends java.text.Format {
			public static class: java.lang.Class<java.text.MessageFormat>;
			public setLocale(param0: java.util.Locale): void;
			public format(param0: any, param1: java.lang.StringBuffer, param2: java.text.FieldPosition): java.lang.StringBuffer;
			public parseObject(param0: string): any;
			public equals(param0: any): boolean;
			public setFormatsByArgumentIndex(param0: native.Array<java.text.Format>): void;
			public setFormats(param0: native.Array<java.text.Format>): void;
			public format(param0: any): string;
			public static format(param0: string, param1: native.Array<any>): string;
			public applyPattern(param0: string): void;
			public parse(param0: string, param1: java.text.ParsePosition): native.Array<any>;
			public formatToCharacterIterator(param0: any): java.text.AttributedCharacterIterator;
			public format(param0: native.Array<any>, param1: java.lang.StringBuffer, param2: java.text.FieldPosition): java.lang.StringBuffer;
			public parseObject(param0: string, param1: java.text.ParsePosition): any;
			public setFormat(param0: number, param1: java.text.Format): void;
			public constructor(param0: string);
			public getLocale(): java.util.Locale;
			public setFormatByArgumentIndex(param0: number, param1: java.text.Format): void;
			public constructor(param0: string, param1: java.util.Locale);
			public getFormats(): native.Array<java.text.Format>;
			public constructor();
			public toPattern(): string;
			public getFormatsByArgumentIndex(): native.Array<java.text.Format>;
			public clone(): any;
			public parse(param0: string): native.Array<any>;
			public hashCode(): number;
		}
		export module MessageFormat {
			export class Field extends java.text.Format.Field {
				public static class: java.lang.Class<java.text.MessageFormat.Field>;
				public static ARGUMENT: java.text.MessageFormat.Field;
				public constructor(param0: string);
				public readResolve(): any;
			}
		}
	}
}

declare module java {
	export module text {
		export class Normalizer extends java.lang.Object {
			public static class: java.lang.Class<java.text.Normalizer>;
			public static isNormalized(param0: string, param1: java.text.Normalizer.Form): boolean;
			public static normalize(param0: string, param1: java.text.Normalizer.Form): string;
		}
		export module Normalizer {
			export class Form {
				public static class: java.lang.Class<java.text.Normalizer.Form>;
				public static NFD: java.text.Normalizer.Form;
				public static NFC: java.text.Normalizer.Form;
				public static NFKD: java.text.Normalizer.Form;
				public static NFKC: java.text.Normalizer.Form;
				public static values(): native.Array<java.text.Normalizer.Form>;
				public static valueOf(param0: string): java.text.Normalizer.Form;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			}
		}
	}
}

declare module java {
	export module text {
		export abstract class NumberFormat extends java.text.Format {
			public static class: java.lang.Class<java.text.NumberFormat>;
			public static FRACTION_FIELD: number;
			public static INTEGER_FIELD: number;
			public format(param0: any, param1: java.lang.StringBuffer, param2: java.text.FieldPosition): java.lang.StringBuffer;
			public parseObject(param0: string): any;
			public equals(param0: any): boolean;
			public setGroupingUsed(param0: boolean): void;
			public setMaximumFractionDigits(param0: number): void;
			public format(param0: any): string;
			public setMinimumFractionDigits(param0: number): void;
			public getMaximumIntegerDigits(): number;
			public static getCurrencyInstance(): java.text.NumberFormat;
			public static getNumberInstance(): java.text.NumberFormat;
			public static getIntegerInstance(param0: java.util.Locale): java.text.NumberFormat;
			public static getCurrencyInstance(param0: java.util.Locale): java.text.NumberFormat;
			public getMinimumIntegerDigits(): number;
			public isParseIntegerOnly(): boolean;
			public isGroupingUsed(): boolean;
			public getMaximumFractionDigits(): number;
			public static getAvailableLocales(): native.Array<java.util.Locale>;
			public setMinimumIntegerDigits(param0: number): void;
			public static getInstance(param0: java.util.Locale): java.text.NumberFormat;
			public parseObject(param0: string, param1: java.text.ParsePosition): any;
			public parse(param0: string, param1: java.text.ParsePosition): java.lang.Number;
			public getRoundingMode(): java.math.RoundingMode;
			public static getInstance(): java.text.NumberFormat;
			public static getIntegerInstance(): java.text.NumberFormat;
			public setRoundingMode(param0: java.math.RoundingMode): void;
			public format(param0: number): string;
			public constructor();
			public static getPercentInstance(): java.text.NumberFormat;
			public static getPercentInstance(param0: java.util.Locale): java.text.NumberFormat;
			public setCurrency(param0: java.util.Currency): void;
			public format(param0: number, param1: java.lang.StringBuffer, param2: java.text.FieldPosition): java.lang.StringBuffer;
			public static getNumberInstance(param0: java.util.Locale): java.text.NumberFormat;
			public clone(): any;
			public setMaximumIntegerDigits(param0: number): void;
			public getCurrency(): java.util.Currency;
			public setParseIntegerOnly(param0: boolean): void;
			public getMinimumFractionDigits(): number;
			public parse(param0: string): java.lang.Number;
			public hashCode(): number;
		}
		export module NumberFormat {
			export class Field extends java.text.Format.Field {
				public static class: java.lang.Class<java.text.NumberFormat.Field>;
				public static CURRENCY: java.text.NumberFormat.Field;
				public static DECIMAL_SEPARATOR: java.text.NumberFormat.Field;
				public static EXPONENT: java.text.NumberFormat.Field;
				public static EXPONENT_SIGN: java.text.NumberFormat.Field;
				public static EXPONENT_SYMBOL: java.text.NumberFormat.Field;
				public static FRACTION: java.text.NumberFormat.Field;
				public static GROUPING_SEPARATOR: java.text.NumberFormat.Field;
				public static INTEGER: java.text.NumberFormat.Field;
				public static PERCENT: java.text.NumberFormat.Field;
				public static PERMILLE: java.text.NumberFormat.Field;
				public static SIGN: java.text.NumberFormat.Field;
				public constructor(param0: string);
				public readResolve(): any;
			}
		}
	}
}

declare module java {
	export module text {
		export class ParseException extends java.lang.Exception {
			public static class: java.lang.Class<java.text.ParseException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: number);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
			public getErrorOffset(): number;
		}
	}
}

declare module java {
	export module text {
		export class ParsePosition extends java.lang.Object {
			public static class: java.lang.Class<java.text.ParsePosition>;
			public getIndex(): number;
			public setIndex(param0: number): void;
			public equals(param0: any): boolean;
			public toString(): string;
			public getErrorIndex(): number;
			public constructor(param0: number);
			public setErrorIndex(param0: number): void;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module text {
		export class RuleBasedCollator extends java.text.Collator {
			public static class: java.lang.Class<java.text.RuleBasedCollator>;
			public getCollationKey(param0: string): java.text.CollationKey;
			public equals(param0: any): boolean;
			public static nullsFirst(param0: java.util.Comparator<any>): java.util.Comparator<any>;
			public equals(param0: string, param1: string): boolean;
			public compare(param0: any, param1: any): number;
			public static comparing(param0: any /* any*/, param1: java.util.Comparator<any>): java.util.Comparator<any>;
			public static comparing(param0: any /* any*/): java.util.Comparator<any>;
			public thenComparing(param0: any /* any*/, param1: java.util.Comparator<any>): java.util.Comparator<any>;
			public thenComparing(param0: any /* any*/): java.util.Comparator<any>;
			public static comparingDouble(param0: any /* any*/): java.util.Comparator<any>;
			public getCollationElementIterator(param0: java.text.CharacterIterator): java.text.CollationElementIterator;
			public static naturalOrder(): java.util.Comparator<any>;
			public constructor(param0: string);
			public getRules(): string;
			public static nullsLast(param0: java.util.Comparator<any>): java.util.Comparator<any>;
			public static reverseOrder(): java.util.Comparator<any>;
			public static comparingLong(param0: any /* any*/): java.util.Comparator<any>;
			public constructor();
			public compare(param0: string, param1: string): number;
			public clone(): any;
			public thenComparingDouble(param0: any /* any*/): java.util.Comparator<any>;
			public static comparingInt(param0: any /* any*/): java.util.Comparator<any>;
			public getCollationElementIterator(param0: string): java.text.CollationElementIterator;
			public thenComparingLong(param0: any /* any*/): java.util.Comparator<any>;
			public reversed(): java.util.Comparator<any>;
			public thenComparing(param0: java.util.Comparator<any>): java.util.Comparator<any>;
			public thenComparingInt(param0: any /* any*/): java.util.Comparator<any>;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module text {
		export class SimpleDateFormat extends java.text.DateFormat {
			public static class: java.lang.Class<java.text.SimpleDateFormat>;
			public format(param0: any, param1: java.lang.StringBuffer, param2: java.text.FieldPosition): java.lang.StringBuffer;
			public equals(param0: any): boolean;
			public constructor(param0: string, param1: java.util.Locale);
			public format(param0: any): string;
			public applyPattern(param0: string): void;
			public constructor();
			public toPattern(): string;
			public get2DigitYearStart(): java.util.Date;
			public applyLocalizedPattern(param0: string): void;
			public clone(): any;
			public format(param0: java.util.Date): string;
			public parse(param0: string, param1: java.text.ParsePosition): java.util.Date;
			public setDateFormatSymbols(param0: java.text.DateFormatSymbols): void;
			public parse(param0: string): java.util.Date;
			public toLocalizedPattern(): string;
			public constructor(param0: string, param1: java.text.DateFormatSymbols);
			public set2DigitYearStart(param0: java.util.Date): void;
			public formatToCharacterIterator(param0: any): java.text.AttributedCharacterIterator;
			public getDateFormatSymbols(): java.text.DateFormatSymbols;
			public format(param0: java.util.Date, param1: java.lang.StringBuffer, param2: java.text.FieldPosition): java.lang.StringBuffer;
			public constructor(param0: string);
			public hashCode(): number;
		}
	}
}

declare module java {
	export module text {
		export class StringCharacterIterator extends java.lang.Object implements java.text.CharacterIterator {
			public static class: java.lang.Class<java.text.StringCharacterIterator>;
			public getIndex(): number;
			public equals(param0: any): boolean;
			public setText(param0: string): void;
			public setIndex(param0: number): string;
			public first(): string;
			public current(): string;
			public getBeginIndex(): number;
			public last(): string;
			public next(): string;
			public clone(): any;
			public getEndIndex(): number;
			public constructor(param0: string, param1: number);
			public constructor(param0: string, param1: number, param2: number, param3: number);
			public constructor(param0: string);
			public previous(): string;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module time {
		export abstract class Clock extends java.lang.Object {
			public static class: java.lang.Class<java.time.Clock>;
			public static system(param0: java.time.ZoneId): java.time.Clock;
			public equals(param0: any): boolean;
			public static tickMinutes(param0: java.time.ZoneId): java.time.Clock;
			public static offset(param0: java.time.Clock, param1: java.time.Duration): java.time.Clock;
			public static fixed(param0: java.time.Instant, param1: java.time.ZoneId): java.time.Clock;
			public static tick(param0: java.time.Clock, param1: java.time.Duration): java.time.Clock;
			public static systemUTC(): java.time.Clock;
			public constructor();
			public static systemDefaultZone(): java.time.Clock;
			public instant(): java.time.Instant;
			public getZone(): java.time.ZoneId;
			public millis(): number;
			public static tickSeconds(param0: java.time.ZoneId): java.time.Clock;
			public withZone(param0: java.time.ZoneId): java.time.Clock;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module time {
		export class DateTimeException extends java.lang.RuntimeException {
			public static class: java.lang.Class<java.time.DateTimeException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module time {
		export class DayOfWeek {
			public static class: java.lang.Class<java.time.DayOfWeek>;
			public static MONDAY: java.time.DayOfWeek;
			public static TUESDAY: java.time.DayOfWeek;
			public static WEDNESDAY: java.time.DayOfWeek;
			public static THURSDAY: java.time.DayOfWeek;
			public static FRIDAY: java.time.DayOfWeek;
			public static SATURDAY: java.time.DayOfWeek;
			public static SUNDAY: java.time.DayOfWeek;
			public static valueOf(param0: string): java.time.DayOfWeek;
			public getLong(param0: java.time.temporal.TemporalField): number;
			public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			public query(param0: java.time.temporal.TemporalQuery<any>): any;
			public get(param0: java.time.temporal.TemporalField): number;
			public plus(param0: number): java.time.DayOfWeek;
			public minus(param0: number): java.time.DayOfWeek;
			public adjustInto(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
			public getValue(): number;
			public isSupported(param0: java.time.temporal.TemporalField): boolean;
			public static values(): native.Array<java.time.DayOfWeek>;
			public static of(param0: number): java.time.DayOfWeek;
			public static from(param0: java.time.temporal.TemporalAccessor): java.time.DayOfWeek;
			public getDisplayName(param0: java.time.format.TextStyle, param1: java.util.Locale): string;
			public range(param0: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
		}
	}
}

declare module java {
	export module time {
		export class Duration extends java.lang.Object {
			public static class: java.lang.Class<java.time.Duration>;
			public static ZERO: java.time.Duration;
			public static of(param0: number, param1: java.time.temporal.TemporalUnit): java.time.Duration;
			public getSeconds(): number;
			public getNano(): number;
			public minusNanos(param0: number): java.time.Duration;
			public get(param0: java.time.temporal.TemporalUnit): number;
			public static ofHours(param0: number): java.time.Duration;
			public getUnits(): java.util.List<java.time.temporal.TemporalUnit>;
			public static ofSeconds(param0: number): java.time.Duration;
			public static from(param0: java.time.temporal.TemporalAmount): java.time.Duration;
			public toMillis(): number;
			public addTo(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
			public plusDays(param0: number): java.time.Duration;
			public static ofSeconds(param0: number, param1: number): java.time.Duration;
			public plusMinutes(param0: number): java.time.Duration;
			public minusDays(param0: number): java.time.Duration;
			public static parse(param0: string): java.time.Duration;
			public plus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.Duration;
			public plusSeconds(param0: number): java.time.Duration;
			public compareTo(param0: java.time.Duration): number;
			public static ofNanos(param0: number): java.time.Duration;
			public plusHours(param0: number): java.time.Duration;
			public subtractFrom(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
			public plus(param0: java.time.Duration): java.time.Duration;
			public equals(param0: any): boolean;
			public toMinutes(): number;
			public abs(): java.time.Duration;
			public plusMillis(param0: number): java.time.Duration;
			public withSeconds(param0: number): java.time.Duration;
			public toNanos(): number;
			public withNanos(param0: number): java.time.Duration;
			public minusMillis(param0: number): java.time.Duration;
			public toHours(): number;
			public isNegative(): boolean;
			public plusNanos(param0: number): java.time.Duration;
			public isZero(): boolean;
			public dividedBy(param0: number): java.time.Duration;
			public minus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.Duration;
			public static ofMinutes(param0: number): java.time.Duration;
			public static ofMillis(param0: number): java.time.Duration;
			public static between(param0: java.time.temporal.Temporal, param1: java.time.temporal.Temporal): java.time.Duration;
			public minusMinutes(param0: number): java.time.Duration;
			public negated(): java.time.Duration;
			public toString(): string;
			public minus(param0: java.time.Duration): java.time.Duration;
			public multipliedBy(param0: number): java.time.Duration;
			public minusHours(param0: number): java.time.Duration;
			public toDays(): number;
			public static ofDays(param0: number): java.time.Duration;
			public minusSeconds(param0: number): java.time.Duration;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module time {
		export class Instant extends java.lang.Object {
			public static class: java.lang.Class<java.time.Instant>;
			public static EPOCH: java.time.Instant;
			public static MAX: java.time.Instant;
			public static MIN: java.time.Instant;
			public minusNanos(param0: number): java.time.Instant;
			public equals(param0: any): boolean;
			public static ofEpochMilli(param0: number): java.time.Instant;
			public atZone(param0: java.time.ZoneId): java.time.ZonedDateTime;
			public static now(): java.time.Instant;
			public minus(param0: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
			public query(param0: java.time.temporal.TemporalQuery<any>): any;
			public plus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.Instant;
			public compareTo(param0: java.time.Instant): number;
			public get(param0: java.time.temporal.TemporalField): number;
			public static ofEpochSecond(param0: number): java.time.Instant;
			public isSupported(param0: java.time.temporal.TemporalUnit): boolean;
			public getNano(): number;
			public adjustInto(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
			public plus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
			public with(param0: java.time.temporal.TemporalField, param1: number): java.time.Instant;
			public minus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
			public isBefore(param0: java.time.Instant): boolean;
			public with(param0: java.time.temporal.TemporalAdjuster): java.time.temporal.Temporal;
			public static now(param0: java.time.Clock): java.time.Instant;
			public plusSeconds(param0: number): java.time.Instant;
			public getEpochSecond(): number;
			public range(param0: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
			public plus(param0: java.time.temporal.TemporalAmount): java.time.Instant;
			public static ofEpochSecond(param0: number, param1: number): java.time.Instant;
			public until(param0: java.time.temporal.Temporal, param1: java.time.temporal.TemporalUnit): number;
			public isAfter(param0: java.time.Instant): boolean;
			public plusMillis(param0: number): java.time.Instant;
			public getLong(param0: java.time.temporal.TemporalField): number;
			public truncatedTo(param0: java.time.temporal.TemporalUnit): java.time.Instant;
			public with(param0: java.time.temporal.TemporalField, param1: number): java.time.temporal.Temporal;
			public plusNanos(param0: number): java.time.Instant;
			public plus(param0: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
			public minus(param0: java.time.temporal.TemporalAmount): java.time.Instant;
			public static parse(param0: string): java.time.Instant;
			public minus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.Instant;
			public isSupported(param0: java.time.temporal.TemporalField): boolean;
			public toString(): string;
			public atOffset(param0: java.time.ZoneOffset): java.time.OffsetDateTime;
			public minusSeconds(param0: number): java.time.Instant;
			public minusMillis(param0: number): java.time.Instant;
			public toEpochMilli(): number;
			public with(param0: java.time.temporal.TemporalAdjuster): java.time.Instant;
			public static from(param0: java.time.temporal.TemporalAccessor): java.time.Instant;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module time {
		export class LocalDate extends java.lang.Object implements java.time.temporal.Temporal, java.time.temporal.TemporalAdjuster, java.time.chrono.ChronoLocalDate, java.io.Serializable {
			public static class: java.lang.Class<java.time.LocalDate>;
			public static MAX: java.time.LocalDate;
			public static MIN: java.time.LocalDate;
			public getDayOfYear(): number;
			public isBefore(param0: java.time.chrono.ChronoLocalDate): boolean;
			public static ofYearDay(param0: number, param1: number): java.time.LocalDate;
			public with(param0: java.time.temporal.TemporalField, param1: number): java.time.LocalDate;
			public with(param0: java.time.temporal.TemporalField, param1: number): java.time.chrono.ChronoLocalDate;
			public static now(param0: java.time.Clock): java.time.LocalDate;
			public withDayOfMonth(param0: number): java.time.LocalDate;
			public toEpochDay(): number;
			public static parse(param0: string, param1: java.time.format.DateTimeFormatter): java.time.LocalDate;
			public isSupported(param0: java.time.temporal.TemporalUnit): boolean;
			public getDayOfWeek(): java.time.DayOfWeek;
			public adjustInto(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
			public atTime(param0: java.time.OffsetTime): java.time.OffsetDateTime;
			public isEqual(param0: java.time.chrono.ChronoLocalDate): boolean;
			public getEra(): java.time.chrono.Era;
			public plus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
			public getMonth(): java.time.Month;
			public minus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
			public static now(param0: java.time.ZoneId): java.time.LocalDate;
			public withYear(param0: number): java.time.LocalDate;
			public atTime(param0: number, param1: number, param2: number, param3: number): java.time.LocalDateTime;
			public with(param0: java.time.temporal.TemporalAdjuster): java.time.temporal.Temporal;
			public static now(): java.time.LocalDate;
			public with(param0: java.time.temporal.TemporalAdjuster): java.time.LocalDate;
			public atTime(param0: java.time.LocalTime): java.time.LocalDateTime;
			public until(param0: java.time.temporal.Temporal, param1: java.time.temporal.TemporalUnit): number;
			public compareTo(param0: java.time.chrono.ChronoLocalDate): number;
			public plusYears(param0: number): java.time.LocalDate;
			public minusDays(param0: number): java.time.LocalDate;
			public getLong(param0: java.time.temporal.TemporalField): number;
			public isAfter(param0: java.time.chrono.ChronoLocalDate): boolean;
			public static of(param0: number, param1: number, param2: number): java.time.LocalDate;
			public withDayOfYear(param0: number): java.time.LocalDate;
			public isLeapYear(): boolean;
			public plusMonths(param0: number): java.time.LocalDate;
			public plus(param0: java.time.temporal.TemporalAmount): java.time.chrono.ChronoLocalDate;
			public isSupported(param0: java.time.temporal.TemporalField): boolean;
			public plus(param0: java.time.temporal.TemporalAmount): java.time.LocalDate;
			public plus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.chrono.ChronoLocalDate;
			public static from(param0: java.time.temporal.TemporalAccessor): java.time.LocalDate;
			public static timeLineOrder(): java.util.Comparator<java.time.chrono.ChronoLocalDate>;
			public minus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.LocalDate;
			public withMonth(param0: number): java.time.LocalDate;
			public equals(param0: any): boolean;
			public atStartOfDay(): java.time.LocalDateTime;
			public minus(param0: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
			public static of(param0: number, param1: java.time.Month, param2: number): java.time.LocalDate;
			public query(param0: java.time.temporal.TemporalQuery<any>): any;
			public get(param0: java.time.temporal.TemporalField): number;
			public static from(param0: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoLocalDate;
			public getChronology(): java.time.chrono.IsoChronology;
			public getMonthValue(): number;
			public atTime(param0: number, param1: number, param2: number): java.time.LocalDateTime;
			public format(param0: java.time.format.DateTimeFormatter): string;
			public minus(param0: java.time.temporal.TemporalAmount): java.time.chrono.ChronoLocalDate;
			public range(param0: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
			public until(param0: java.time.chrono.ChronoLocalDate): java.time.chrono.ChronoPeriod;
			public plus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.LocalDate;
			public plusWeeks(param0: number): java.time.LocalDate;
			public with(param0: java.time.temporal.TemporalField, param1: number): java.time.temporal.Temporal;
			public atTime(param0: java.time.LocalTime): java.time.chrono.ChronoLocalDateTime<any>;
			public plusDays(param0: number): java.time.LocalDate;
			public getDayOfMonth(): number;
			public lengthOfMonth(): number;
			public plus(param0: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
			public minus(param0: java.time.temporal.TemporalAmount): java.time.LocalDate;
			public minusMonths(param0: number): java.time.LocalDate;
			public minusYears(param0: number): java.time.LocalDate;
			public getYear(): number;
			public minusWeeks(param0: number): java.time.LocalDate;
			public toString(): string;
			public atTime(param0: number, param1: number): java.time.LocalDateTime;
			public until(param0: java.time.chrono.ChronoLocalDate): java.time.Period;
			public static parse(param0: string): java.time.LocalDate;
			public with(param0: java.time.temporal.TemporalAdjuster): java.time.chrono.ChronoLocalDate;
			public lengthOfYear(): number;
			public atStartOfDay(param0: java.time.ZoneId): java.time.ZonedDateTime;
			public getChronology(): java.time.chrono.Chronology;
			public minus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.chrono.ChronoLocalDate;
			public static ofEpochDay(param0: number): java.time.LocalDate;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module time {
		export class LocalDateTime extends java.lang.Object {
			public static class: java.lang.Class<java.time.LocalDateTime>;
			public static MAX: java.time.LocalDateTime;
			public static MIN: java.time.LocalDateTime;
			public getDayOfYear(): number;
			public with(param0: java.time.temporal.TemporalField, param1: number): java.time.LocalDateTime;
			public plusSeconds(param0: number): java.time.LocalDateTime;
			public minus(param0: java.time.temporal.TemporalAmount): java.time.LocalDateTime;
			public plus(param0: java.time.temporal.TemporalAmount): java.time.chrono.ChronoLocalDateTime<any>;
			public static parse(param0: string, param1: java.time.format.DateTimeFormatter): java.time.LocalDateTime;
			public toLocalDate(): java.time.LocalDate;
			public plusYears(param0: number): java.time.LocalDateTime;
			public minus(param0: java.time.temporal.TemporalAmount): java.time.chrono.ChronoLocalDateTime<any>;
			public isSupported(param0: java.time.temporal.TemporalUnit): boolean;
			public getDayOfWeek(): java.time.DayOfWeek;
			public getNano(): number;
			public toInstant(param0: java.time.ZoneOffset): java.time.Instant;
			public withYear(param0: number): java.time.LocalDateTime;
			public adjustInto(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
			public plus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
			public getMonth(): java.time.Month;
			public minus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
			public static now(): java.time.LocalDateTime;
			public withDayOfYear(param0: number): java.time.LocalDateTime;
			public with(param0: java.time.temporal.TemporalAdjuster): java.time.chrono.ChronoLocalDateTime<any>;
			public static of(param0: number, param1: number, param2: number, param3: number, param4: number): java.time.LocalDateTime;
			public with(param0: java.time.temporal.TemporalAdjuster): java.time.temporal.Temporal;
			public withHour(param0: number): java.time.LocalDateTime;
			public withSecond(param0: number): java.time.LocalDateTime;
			public minusYears(param0: number): java.time.LocalDateTime;
			public static ofEpochSecond(param0: number, param1: number, param2: java.time.ZoneOffset): java.time.LocalDateTime;
			public plus(param0: java.time.temporal.TemporalAmount): java.time.LocalDateTime;
			public until(param0: java.time.temporal.Temporal, param1: java.time.temporal.TemporalUnit): number;
			public isAfter(param0: java.time.chrono.ChronoLocalDateTime<any>): boolean;
			public atZone(param0: java.time.ZoneId): java.time.chrono.ChronoZonedDateTime<any>;
			public isBefore(param0: java.time.chrono.ChronoLocalDateTime<any>): boolean;
			public getLong(param0: java.time.temporal.TemporalField): number;
			public minusMinutes(param0: number): java.time.LocalDateTime;
			public plusWeeks(param0: number): java.time.LocalDateTime;
			public minusNanos(param0: number): java.time.LocalDateTime;
			public minusSeconds(param0: number): java.time.LocalDateTime;
			public static of(param0: number, param1: java.time.Month, param2: number, param3: number, param4: number): java.time.LocalDateTime;
			public plusMinutes(param0: number): java.time.LocalDateTime;
			public isSupported(param0: java.time.temporal.TemporalField): boolean;
			public getHour(): number;
			public with(param0: java.time.temporal.TemporalAdjuster): java.time.LocalDateTime;
			public minusDays(param0: number): java.time.LocalDateTime;
			public static of(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number): java.time.LocalDateTime;
			public plusNanos(param0: number): java.time.LocalDateTime;
			public plus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.chrono.ChronoLocalDateTime<any>;
			public static of(param0: java.time.LocalDate, param1: java.time.LocalTime): java.time.LocalDateTime;
			public equals(param0: any): boolean;
			public plusDays(param0: number): java.time.LocalDateTime;
			public atZone(param0: java.time.ZoneId): java.time.ZonedDateTime;
			public minus(param0: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
			public query(param0: java.time.temporal.TemporalQuery<any>): any;
			public withDayOfMonth(param0: number): java.time.LocalDateTime;
			public static from(param0: java.time.temporal.TemporalAccessor): java.time.LocalDateTime;
			public get(param0: java.time.temporal.TemporalField): number;
			public truncatedTo(param0: java.time.temporal.TemporalUnit): java.time.LocalDateTime;
			public static from(param0: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoLocalDateTime<any>;
			public static ofInstant(param0: java.time.Instant, param1: java.time.ZoneId): java.time.LocalDateTime;
			public static now(param0: java.time.ZoneId): java.time.LocalDateTime;
			public getMonthValue(): number;
			public static parse(param0: string): java.time.LocalDateTime;
			public minusMonths(param0: number): java.time.LocalDateTime;
			public format(param0: java.time.format.DateTimeFormatter): string;
			public minusWeeks(param0: number): java.time.LocalDateTime;
			public range(param0: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
			public minus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.chrono.ChronoLocalDateTime<any>;
			public withMinute(param0: number): java.time.LocalDateTime;
			public minusHours(param0: number): java.time.LocalDateTime;
			public plusHours(param0: number): java.time.LocalDateTime;
			public with(param0: java.time.temporal.TemporalField, param1: number): java.time.chrono.ChronoLocalDateTime<any>;
			public static now(param0: java.time.Clock): java.time.LocalDateTime;
			public isEqual(param0: java.time.chrono.ChronoLocalDateTime<any>): boolean;
			public with(param0: java.time.temporal.TemporalField, param1: number): java.time.temporal.Temporal;
			public plusMonths(param0: number): java.time.LocalDateTime;
			public static of(param0: number, param1: java.time.Month, param2: number, param3: number, param4: number, param5: number, param6: number): java.time.LocalDateTime;
			public getSecond(): number;
			public minus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.LocalDateTime;
			public getDayOfMonth(): number;
			public plus(param0: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
			public toLocalDate(): any;
			public getYear(): number;
			public withNano(param0: number): java.time.LocalDateTime;
			public static timeLineOrder(): java.util.Comparator<java.time.chrono.ChronoLocalDateTime<any>>;
			public static of(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number): java.time.LocalDateTime;
			public toString(): string;
			public plus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.LocalDateTime;
			public atOffset(param0: java.time.ZoneOffset): java.time.OffsetDateTime;
			public withMonth(param0: number): java.time.LocalDateTime;
			public toEpochSecond(param0: java.time.ZoneOffset): number;
			public toLocalTime(): java.time.LocalTime;
			public getMinute(): number;
			public static of(param0: number, param1: java.time.Month, param2: number, param3: number, param4: number, param5: number): java.time.LocalDateTime;
			public compareTo(param0: java.time.chrono.ChronoLocalDateTime<any>): number;
			public getChronology(): java.time.chrono.Chronology;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module time {
		export class LocalTime extends java.lang.Object {
			public static class: java.lang.Class<java.time.LocalTime>;
			public static MAX: java.time.LocalTime;
			public static MIDNIGHT: java.time.LocalTime;
			public static MIN: java.time.LocalTime;
			public static NOON: java.time.LocalTime;
			public withNano(param0: number): java.time.LocalTime;
			public plusMinutes(param0: number): java.time.LocalTime;
			public withHour(param0: number): java.time.LocalTime;
			public isBefore(param0: java.time.LocalTime): boolean;
			public isSupported(param0: java.time.temporal.TemporalUnit): boolean;
			public getNano(): number;
			public withSecond(param0: number): java.time.LocalTime;
			public adjustInto(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
			public plus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
			public static from(param0: java.time.temporal.TemporalAccessor): java.time.LocalTime;
			public minus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
			public with(param0: java.time.temporal.TemporalAdjuster): java.time.temporal.Temporal;
			public static of(param0: number, param1: number, param2: number, param3: number): java.time.LocalTime;
			public atDate(param0: java.time.LocalDate): java.time.LocalDateTime;
			public static ofNanoOfDay(param0: number): java.time.LocalTime;
			public until(param0: java.time.temporal.Temporal, param1: java.time.temporal.TemporalUnit): number;
			public getLong(param0: java.time.temporal.TemporalField): number;
			public plusSeconds(param0: number): java.time.LocalTime;
			public truncatedTo(param0: java.time.temporal.TemporalUnit): java.time.LocalTime;
			public with(param0: java.time.temporal.TemporalField, param1: number): java.time.LocalTime;
			public static of(param0: number, param1: number): java.time.LocalTime;
			public toSecondOfDay(): number;
			public minusSeconds(param0: number): java.time.LocalTime;
			public isSupported(param0: java.time.temporal.TemporalField): boolean;
			public with(param0: java.time.temporal.TemporalAdjuster): java.time.LocalTime;
			public getHour(): number;
			public static ofSecondOfDay(param0: number): java.time.LocalTime;
			public static now(): java.time.LocalTime;
			public equals(param0: any): boolean;
			public static parse(param0: string): java.time.LocalTime;
			public minus(param0: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
			public query(param0: java.time.temporal.TemporalQuery<any>): any;
			public plusNanos(param0: number): java.time.LocalTime;
			public get(param0: java.time.temporal.TemporalField): number;
			public minus(param0: java.time.temporal.TemporalAmount): java.time.LocalTime;
			public minusHours(param0: number): java.time.LocalTime;
			public static now(param0: java.time.ZoneId): java.time.LocalTime;
			public plus(param0: java.time.temporal.TemporalAmount): java.time.LocalTime;
			public minusNanos(param0: number): java.time.LocalTime;
			public withMinute(param0: number): java.time.LocalTime;
			public format(param0: java.time.format.DateTimeFormatter): string;
			public range(param0: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
			public toNanoOfDay(): number;
			public isAfter(param0: java.time.LocalTime): boolean;
			public static now(param0: java.time.Clock): java.time.LocalTime;
			public atOffset(param0: java.time.ZoneOffset): java.time.OffsetTime;
			public with(param0: java.time.temporal.TemporalField, param1: number): java.time.temporal.Temporal;
			public getSecond(): number;
			public minus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.LocalTime;
			public plusHours(param0: number): java.time.LocalTime;
			public plus(param0: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
			public static parse(param0: string, param1: java.time.format.DateTimeFormatter): java.time.LocalTime;
			public plus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.LocalTime;
			public toString(): string;
			public minusMinutes(param0: number): java.time.LocalTime;
			public getMinute(): number;
			public compareTo(param0: java.time.LocalTime): number;
			public static of(param0: number, param1: number, param2: number): java.time.LocalTime;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module time {
		export class Month {
			public static class: java.lang.Class<java.time.Month>;
			public static JANUARY: java.time.Month;
			public static FEBRUARY: java.time.Month;
			public static MARCH: java.time.Month;
			public static APRIL: java.time.Month;
			public static MAY: java.time.Month;
			public static JUNE: java.time.Month;
			public static JULY: java.time.Month;
			public static AUGUST: java.time.Month;
			public static SEPTEMBER: java.time.Month;
			public static OCTOBER: java.time.Month;
			public static NOVEMBER: java.time.Month;
			public static DECEMBER: java.time.Month;
			public static of(param0: number): java.time.Month;
			public getLong(param0: java.time.temporal.TemporalField): number;
			public static values(): native.Array<java.time.Month>;
			public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			public minLength(): number;
			public firstDayOfYear(param0: boolean): number;
			public firstMonthOfQuarter(): java.time.Month;
			public query(param0: java.time.temporal.TemporalQuery<any>): any;
			public get(param0: java.time.temporal.TemporalField): number;
			public maxLength(): number;
			public adjustInto(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
			public getValue(): number;
			public static from(param0: java.time.temporal.TemporalAccessor): java.time.Month;
			public isSupported(param0: java.time.temporal.TemporalField): boolean;
			public static valueOf(param0: string): java.time.Month;
			public getDisplayName(param0: java.time.format.TextStyle, param1: java.util.Locale): string;
			public plus(param0: number): java.time.Month;
			public length(param0: boolean): number;
			public minus(param0: number): java.time.Month;
			public range(param0: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
		}
	}
}

declare module java {
	export module time {
		export class MonthDay extends java.lang.Object {
			public static class: java.lang.Class<java.time.MonthDay>;
			public equals(param0: any): boolean;
			public query(param0: java.time.temporal.TemporalQuery<any>): any;
			public get(param0: java.time.temporal.TemporalField): number;
			public static parse(param0: string, param1: java.time.format.DateTimeFormatter): java.time.MonthDay;
			public static of(param0: java.time.Month, param1: number): java.time.MonthDay;
			public atYear(param0: number): java.time.LocalDate;
			public adjustInto(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
			public compareTo(param0: java.time.MonthDay): number;
			public getMonthValue(): number;
			public getMonth(): java.time.Month;
			public isAfter(param0: java.time.MonthDay): boolean;
			public isValidYear(param0: number): boolean;
			public format(param0: java.time.format.DateTimeFormatter): string;
			public range(param0: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
			public static now(): java.time.MonthDay;
			public static now(param0: java.time.Clock): java.time.MonthDay;
			public static now(param0: java.time.ZoneId): java.time.MonthDay;
			public isBefore(param0: java.time.MonthDay): boolean;
			public getLong(param0: java.time.temporal.TemporalField): number;
			public with(param0: java.time.Month): java.time.MonthDay;
			public getDayOfMonth(): number;
			public static of(param0: number, param1: number): java.time.MonthDay;
			public withMonth(param0: number): java.time.MonthDay;
			public static parse(param0: string): java.time.MonthDay;
			public static from(param0: java.time.temporal.TemporalAccessor): java.time.MonthDay;
			public isSupported(param0: java.time.temporal.TemporalField): boolean;
			public toString(): string;
			public withDayOfMonth(param0: number): java.time.MonthDay;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module time {
		export class OffsetDateTime extends java.lang.Object {
			public static class: java.lang.Class<java.time.OffsetDateTime>;
			public static MAX: java.time.OffsetDateTime;
			public static MIN: java.time.OffsetDateTime;
			public getDayOfYear(): number;
			public plusYears(param0: number): java.time.OffsetDateTime;
			public plusHours(param0: number): java.time.OffsetDateTime;
			public plus(param0: java.time.temporal.TemporalAmount): java.time.OffsetDateTime;
			public static parse(param0: string): java.time.OffsetDateTime;
			public toLocalDate(): java.time.LocalDate;
			public toEpochSecond(): number;
			public minusWeeks(param0: number): java.time.OffsetDateTime;
			public compareTo(param0: java.time.OffsetDateTime): number;
			public isSupported(param0: java.time.temporal.TemporalUnit): boolean;
			public getDayOfWeek(): java.time.DayOfWeek;
			public getNano(): number;
			public static now(param0: java.time.ZoneId): java.time.OffsetDateTime;
			public withOffsetSameLocal(param0: java.time.ZoneOffset): java.time.OffsetDateTime;
			public adjustInto(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
			public plus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
			public isAfter(param0: java.time.OffsetDateTime): boolean;
			public getMonth(): java.time.Month;
			public minus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
			public with(param0: java.time.temporal.TemporalField, param1: number): java.time.OffsetDateTime;
			public withOffsetSameInstant(param0: java.time.ZoneOffset): java.time.OffsetDateTime;
			public withMonth(param0: number): java.time.OffsetDateTime;
			public with(param0: java.time.temporal.TemporalAdjuster): java.time.temporal.Temporal;
			public toLocalDateTime(): java.time.LocalDateTime;
			public with(param0: java.time.temporal.TemporalAdjuster): java.time.OffsetDateTime;
			public atZoneSameInstant(param0: java.time.ZoneId): java.time.ZonedDateTime;
			public until(param0: java.time.temporal.Temporal, param1: java.time.temporal.TemporalUnit): number;
			public getLong(param0: java.time.temporal.TemporalField): number;
			public static of(param0: java.time.LocalDate, param1: java.time.LocalTime, param2: java.time.ZoneOffset): java.time.OffsetDateTime;
			public plusNanos(param0: number): java.time.OffsetDateTime;
			public withSecond(param0: number): java.time.OffsetDateTime;
			public minusHours(param0: number): java.time.OffsetDateTime;
			public plusDays(param0: number): java.time.OffsetDateTime;
			public static from(param0: java.time.temporal.TemporalAccessor): java.time.OffsetDateTime;
			public minusMinutes(param0: number): java.time.OffsetDateTime;
			public static now(param0: java.time.Clock): java.time.OffsetDateTime;
			public withDayOfMonth(param0: number): java.time.OffsetDateTime;
			public withNano(param0: number): java.time.OffsetDateTime;
			public isSupported(param0: java.time.temporal.TemporalField): boolean;
			public static of(param0: java.time.LocalDateTime, param1: java.time.ZoneOffset): java.time.OffsetDateTime;
			public getHour(): number;
			public plusMonths(param0: number): java.time.OffsetDateTime;
			public minus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.OffsetDateTime;
			public plusWeeks(param0: number): java.time.OffsetDateTime;
			public static parse(param0: string, param1: java.time.format.DateTimeFormatter): java.time.OffsetDateTime;
			public minusDays(param0: number): java.time.OffsetDateTime;
			public plus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.OffsetDateTime;
			public static now(): java.time.OffsetDateTime;
			public plusSeconds(param0: number): java.time.OffsetDateTime;
			public equals(param0: any): boolean;
			public getOffset(): java.time.ZoneOffset;
			public static ofInstant(param0: java.time.Instant, param1: java.time.ZoneId): java.time.OffsetDateTime;
			public minus(param0: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
			public query(param0: java.time.temporal.TemporalQuery<any>): any;
			public get(param0: java.time.temporal.TemporalField): number;
			public withDayOfYear(param0: number): java.time.OffsetDateTime;
			public atZoneSimilarLocal(param0: java.time.ZoneId): java.time.ZonedDateTime;
			public isBefore(param0: java.time.OffsetDateTime): boolean;
			public getMonthValue(): number;
			public plusMinutes(param0: number): java.time.OffsetDateTime;
			public withYear(param0: number): java.time.OffsetDateTime;
			public withMinute(param0: number): java.time.OffsetDateTime;
			public minusMonths(param0: number): java.time.OffsetDateTime;
			public toZonedDateTime(): java.time.ZonedDateTime;
			public static of(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: java.time.ZoneOffset): java.time.OffsetDateTime;
			public toOffsetTime(): java.time.OffsetTime;
			public isEqual(param0: java.time.OffsetDateTime): boolean;
			public format(param0: java.time.format.DateTimeFormatter): string;
			public range(param0: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
			public with(param0: java.time.temporal.TemporalField, param1: number): java.time.temporal.Temporal;
			public minusYears(param0: number): java.time.OffsetDateTime;
			public minusSeconds(param0: number): java.time.OffsetDateTime;
			public withHour(param0: number): java.time.OffsetDateTime;
			public toInstant(): java.time.Instant;
			public getSecond(): number;
			public getDayOfMonth(): number;
			public plus(param0: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
			public minus(param0: java.time.temporal.TemporalAmount): java.time.OffsetDateTime;
			public getYear(): number;
			public toString(): string;
			public toLocalTime(): java.time.LocalTime;
			public truncatedTo(param0: java.time.temporal.TemporalUnit): java.time.OffsetDateTime;
			public getMinute(): number;
			public minusNanos(param0: number): java.time.OffsetDateTime;
			public static timeLineOrder(): java.util.Comparator<java.time.OffsetDateTime>;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module time {
		export class OffsetTime extends java.lang.Object {
			public static class: java.lang.Class<java.time.OffsetTime>;
			public static MAX: java.time.OffsetTime;
			public static MIN: java.time.OffsetTime;
			public static parse(param0: string): java.time.OffsetTime;
			public withSecond(param0: number): java.time.OffsetTime;
			public isEqual(param0: java.time.OffsetTime): boolean;
			public isSupported(param0: java.time.temporal.TemporalUnit): boolean;
			public getNano(): number;
			public compareTo(param0: java.time.OffsetTime): number;
			public adjustInto(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
			public plus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
			public with(param0: java.time.temporal.TemporalAdjuster): java.time.OffsetTime;
			public minus(param0: java.time.temporal.TemporalAmount): java.time.OffsetTime;
			public minus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
			public with(param0: java.time.temporal.TemporalAdjuster): java.time.temporal.Temporal;
			public withOffsetSameInstant(param0: java.time.ZoneOffset): java.time.OffsetTime;
			public until(param0: java.time.temporal.Temporal, param1: java.time.temporal.TemporalUnit): number;
			public static of(param0: java.time.LocalTime, param1: java.time.ZoneOffset): java.time.OffsetTime;
			public getLong(param0: java.time.temporal.TemporalField): number;
			public minusHours(param0: number): java.time.OffsetTime;
			public minusNanos(param0: number): java.time.OffsetTime;
			public minusMinutes(param0: number): java.time.OffsetTime;
			public static now(param0: java.time.ZoneId): java.time.OffsetTime;
			public minusSeconds(param0: number): java.time.OffsetTime;
			public static now(): java.time.OffsetTime;
			public plusMinutes(param0: number): java.time.OffsetTime;
			public isSupported(param0: java.time.temporal.TemporalField): boolean;
			public getHour(): number;
			public truncatedTo(param0: java.time.temporal.TemporalUnit): java.time.OffsetTime;
			public static of(param0: number, param1: number, param2: number, param3: number, param4: java.time.ZoneOffset): java.time.OffsetTime;
			public atDate(param0: java.time.LocalDate): java.time.OffsetDateTime;
			public plusSeconds(param0: number): java.time.OffsetTime;
			public isBefore(param0: java.time.OffsetTime): boolean;
			public equals(param0: any): boolean;
			public getOffset(): java.time.ZoneOffset;
			public static ofInstant(param0: java.time.Instant, param1: java.time.ZoneId): java.time.OffsetTime;
			public withNano(param0: number): java.time.OffsetTime;
			public minus(param0: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
			public query(param0: java.time.temporal.TemporalQuery<any>): any;
			public get(param0: java.time.temporal.TemporalField): number;
			public isAfter(param0: java.time.OffsetTime): boolean;
			public static now(param0: java.time.Clock): java.time.OffsetTime;
			public plus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.OffsetTime;
			public minus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.OffsetTime;
			public withOffsetSameLocal(param0: java.time.ZoneOffset): java.time.OffsetTime;
			public withHour(param0: number): java.time.OffsetTime;
			public format(param0: java.time.format.DateTimeFormatter): string;
			public range(param0: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
			public withMinute(param0: number): java.time.OffsetTime;
			public with(param0: java.time.temporal.TemporalField, param1: number): java.time.temporal.Temporal;
			public with(param0: java.time.temporal.TemporalField, param1: number): java.time.OffsetTime;
			public getSecond(): number;
			public static parse(param0: string, param1: java.time.format.DateTimeFormatter): java.time.OffsetTime;
			public plus(param0: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
			public plusHours(param0: number): java.time.OffsetTime;
			public plusNanos(param0: number): java.time.OffsetTime;
			public static from(param0: java.time.temporal.TemporalAccessor): java.time.OffsetTime;
			public toString(): string;
			public toLocalTime(): java.time.LocalTime;
			public getMinute(): number;
			public plus(param0: java.time.temporal.TemporalAmount): java.time.OffsetTime;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module time {
		export class Period extends java.lang.Object implements java.time.chrono.ChronoPeriod, java.io.Serializable {
			public static class: java.lang.Class<java.time.Period>;
			public static ZERO: java.time.Period;
			public getYears(): number;
			public equals(param0: any): boolean;
			public minus(param0: java.time.temporal.TemporalAmount): java.time.chrono.ChronoPeriod;
			public minus(param0: java.time.temporal.TemporalAmount): java.time.Period;
			public normalized(): java.time.chrono.ChronoPeriod;
			public plusMonths(param0: number): java.time.Period;
			public getMonths(): number;
			public plusDays(param0: number): java.time.Period;
			public multipliedBy(param0: number): java.time.Period;
			public normalized(): java.time.Period;
			public getChronology(): java.time.chrono.IsoChronology;
			public minusDays(param0: number): java.time.Period;
			public static from(param0: java.time.temporal.TemporalAmount): java.time.Period;
			public get(param0: java.time.temporal.TemporalUnit): number;
			public isNegative(): boolean;
			public multipliedBy(param0: number): java.time.chrono.ChronoPeriod;
			public getDays(): number;
			public toTotalMonths(): number;
			public static ofMonths(param0: number): java.time.Period;
			public getUnits(): java.util.List<java.time.temporal.TemporalUnit>;
			public isZero(): boolean;
			public static parse(param0: string): java.time.Period;
			public static ofDays(param0: number): java.time.Period;
			public static of(param0: number, param1: number, param2: number): java.time.Period;
			public minusYears(param0: number): java.time.Period;
			public withYears(param0: number): java.time.Period;
			public withDays(param0: number): java.time.Period;
			public static ofWeeks(param0: number): java.time.Period;
			public static between(param0: java.time.chrono.ChronoLocalDate, param1: java.time.chrono.ChronoLocalDate): java.time.chrono.ChronoPeriod;
			public addTo(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
			public plusYears(param0: number): java.time.Period;
			public plus(param0: java.time.temporal.TemporalAmount): java.time.chrono.ChronoPeriod;
			public negated(): java.time.Period;
			public static ofYears(param0: number): java.time.Period;
			public minusMonths(param0: number): java.time.Period;
			public plus(param0: java.time.temporal.TemporalAmount): java.time.Period;
			public static between(param0: java.time.LocalDate, param1: java.time.LocalDate): java.time.Period;
			public toString(): string;
			public getChronology(): java.time.chrono.Chronology;
			public withMonths(param0: number): java.time.Period;
			public subtractFrom(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
			public hashCode(): number;
			public negated(): java.time.chrono.ChronoPeriod;
		}
	}
}

declare module java {
	export module time {
		export class Year extends java.lang.Object {
			public static class: java.lang.Class<java.time.Year>;
			public static MAX_VALUE: number;
			public static MIN_VALUE: number;
			public isLeap(): boolean;
			public equals(param0: any): boolean;
			public minus(param0: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
			public static now(param0: java.time.Clock): java.time.Year;
			public static parse(param0: string): java.time.Year;
			public plus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.Year;
			public query(param0: java.time.temporal.TemporalQuery<any>): any;
			public get(param0: java.time.temporal.TemporalField): number;
			public isSupported(param0: java.time.temporal.TemporalUnit): boolean;
			public atDay(param0: number): java.time.LocalDate;
			public isBefore(param0: java.time.Year): boolean;
			public plusYears(param0: number): java.time.Year;
			public static isLeap(param0: number): boolean;
			public adjustInto(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
			public static parse(param0: string, param1: java.time.format.DateTimeFormatter): java.time.Year;
			public plus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
			public minus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
			public isValidMonthDay(param0: java.time.MonthDay): boolean;
			public with(param0: java.time.temporal.TemporalAdjuster): java.time.temporal.Temporal;
			public format(param0: java.time.format.DateTimeFormatter): string;
			public range(param0: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
			public until(param0: java.time.temporal.Temporal, param1: java.time.temporal.TemporalUnit): number;
			public static now(param0: java.time.ZoneId): java.time.Year;
			public getLong(param0: java.time.temporal.TemporalField): number;
			public static now(): java.time.Year;
			public minusYears(param0: number): java.time.Year;
			public with(param0: java.time.temporal.TemporalField, param1: number): java.time.temporal.Temporal;
			public length(): number;
			public with(param0: java.time.temporal.TemporalAdjuster): java.time.Year;
			public minus(param0: java.time.temporal.TemporalAmount): java.time.Year;
			public minus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.Year;
			public isAfter(param0: java.time.Year): boolean;
			public static from(param0: java.time.temporal.TemporalAccessor): java.time.Year;
			public with(param0: java.time.temporal.TemporalField, param1: number): java.time.Year;
			public plus(param0: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
			public static of(param0: number): java.time.Year;
			public compareTo(param0: java.time.Year): number;
			public getValue(): number;
			public isSupported(param0: java.time.temporal.TemporalField): boolean;
			public toString(): string;
			public atMonth(param0: java.time.Month): java.time.YearMonth;
			public atMonth(param0: number): java.time.YearMonth;
			public plus(param0: java.time.temporal.TemporalAmount): java.time.Year;
			public atMonthDay(param0: java.time.MonthDay): java.time.LocalDate;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module time {
		export class YearMonth extends java.lang.Object {
			public static class: java.lang.Class<java.time.YearMonth>;
			public minus(param0: java.time.temporal.TemporalAmount): java.time.YearMonth;
			public compareTo(param0: java.time.YearMonth): number;
			public isSupported(param0: java.time.temporal.TemporalUnit): boolean;
			public adjustInto(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
			public plus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
			public getMonth(): java.time.Month;
			public minus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
			public plus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.YearMonth;
			public with(param0: java.time.temporal.TemporalAdjuster): java.time.temporal.Temporal;
			public isAfter(param0: java.time.YearMonth): boolean;
			public until(param0: java.time.temporal.Temporal, param1: java.time.temporal.TemporalUnit): number;
			public atEndOfMonth(): java.time.LocalDate;
			public getLong(param0: java.time.temporal.TemporalField): number;
			public with(param0: java.time.temporal.TemporalField, param1: number): java.time.YearMonth;
			public isLeapYear(): boolean;
			public static of(param0: number, param1: number): java.time.YearMonth;
			public isBefore(param0: java.time.YearMonth): boolean;
			public isSupported(param0: java.time.temporal.TemporalField): boolean;
			public minusMonths(param0: number): java.time.YearMonth;
			public minusYears(param0: number): java.time.YearMonth;
			public static parse(param0: string): java.time.YearMonth;
			public equals(param0: any): boolean;
			public minus(param0: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
			public query(param0: java.time.temporal.TemporalQuery<any>): any;
			public get(param0: java.time.temporal.TemporalField): number;
			public atDay(param0: number): java.time.LocalDate;
			public withYear(param0: number): java.time.YearMonth;
			public getMonthValue(): number;
			public isValidDay(param0: number): boolean;
			public static of(param0: number, param1: java.time.Month): java.time.YearMonth;
			public format(param0: java.time.format.DateTimeFormatter): string;
			public range(param0: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
			public static now(): java.time.YearMonth;
			public plusYears(param0: number): java.time.YearMonth;
			public static now(param0: java.time.Clock): java.time.YearMonth;
			public withMonth(param0: number): java.time.YearMonth;
			public with(param0: java.time.temporal.TemporalField, param1: number): java.time.temporal.Temporal;
			public static parse(param0: string, param1: java.time.format.DateTimeFormatter): java.time.YearMonth;
			public plus(param0: java.time.temporal.TemporalAmount): java.time.YearMonth;
			public lengthOfMonth(): number;
			public plus(param0: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
			public minus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.YearMonth;
			public with(param0: java.time.temporal.TemporalAdjuster): java.time.YearMonth;
			public getYear(): number;
			public static now(param0: java.time.ZoneId): java.time.YearMonth;
			public toString(): string;
			public static from(param0: java.time.temporal.TemporalAccessor): java.time.YearMonth;
			public lengthOfYear(): number;
			public plusMonths(param0: number): java.time.YearMonth;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module time {
		export abstract class ZoneId extends java.lang.Object implements java.io.Serializable {
			public static class: java.lang.Class<java.time.ZoneId>;
			public static SHORT_IDS: java.util.Map<string,string>;
			public equals(param0: any): boolean;
			public static from(param0: java.time.temporal.TemporalAccessor): java.time.ZoneId;
			public getRules(): java.time.zone.ZoneRules;
			public static systemDefault(): java.time.ZoneId;
			public static getAvailableZoneIds(): java.util.Set<string>;
			public static of(param0: string, param1: java.util.Map<string,string>): java.time.ZoneId;
			public getId(): string;
			public toString(): string;
			public normalized(): java.time.ZoneId;
			public getDisplayName(param0: java.time.format.TextStyle, param1: java.util.Locale): string;
			public static of(param0: string): java.time.ZoneId;
			public static ofOffset(param0: string, param1: java.time.ZoneOffset): java.time.ZoneId;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module time {
		export class ZoneOffset extends java.time.ZoneId {
			public static class: java.lang.Class<java.time.ZoneOffset>;
			public static MAX: java.time.ZoneOffset;
			public static MIN: java.time.ZoneOffset;
			public static UTC: java.time.ZoneOffset;
			public compareTo(param0: java.time.ZoneOffset): number;
			public equals(param0: any): boolean;
			public getLong(param0: java.time.temporal.TemporalField): number;
			public static from(param0: java.time.temporal.TemporalAccessor): java.time.ZoneId;
			public getRules(): java.time.zone.ZoneRules;
			public query(param0: java.time.temporal.TemporalQuery<any>): any;
			public get(param0: java.time.temporal.TemporalField): number;
			public static of(param0: string, param1: java.util.Map<string,string>): java.time.ZoneId;
			public static ofHoursMinutesSeconds(param0: number, param1: number, param2: number): java.time.ZoneOffset;
			public adjustInto(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
			public getId(): string;
			public isSupported(param0: java.time.temporal.TemporalField): boolean;
			public toString(): string;
			public getTotalSeconds(): number;
			public static of(param0: string): java.time.ZoneOffset;
			public static ofHours(param0: number): java.time.ZoneOffset;
			public static from(param0: java.time.temporal.TemporalAccessor): java.time.ZoneOffset;
			public static ofTotalSeconds(param0: number): java.time.ZoneOffset;
			public range(param0: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
			public static of(param0: string): java.time.ZoneId;
			public static ofHoursMinutes(param0: number, param1: number): java.time.ZoneOffset;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module time {
		export class ZonedDateTime extends java.lang.Object {
			public static class: java.lang.Class<java.time.ZonedDateTime>;
			public minus(param0: java.time.temporal.TemporalAmount): java.time.chrono.ChronoZonedDateTime<any>;
			public truncatedTo(param0: java.time.temporal.TemporalUnit): java.time.ZonedDateTime;
			public plusMinutes(param0: number): java.time.ZonedDateTime;
			public toEpochSecond(): number;
			public withZoneSameLocal(param0: java.time.ZoneId): java.time.ZonedDateTime;
			public isSupported(param0: java.time.temporal.TemporalUnit): boolean;
			public getDayOfWeek(): java.time.DayOfWeek;
			public with(param0: java.time.temporal.TemporalAdjuster): java.time.chrono.ChronoZonedDateTime<any>;
			public minusDays(param0: number): java.time.ZonedDateTime;
			public plusDays(param0: number): java.time.ZonedDateTime;
			public with(param0: java.time.temporal.TemporalAdjuster): java.time.temporal.Temporal;
			public plus(param0: java.time.temporal.TemporalAmount): java.time.chrono.ChronoZonedDateTime<any>;
			public getLong(param0: java.time.temporal.TemporalField): number;
			public withLaterOffsetAtOverlap(): java.time.ZonedDateTime;
			public static ofStrict(param0: java.time.LocalDateTime, param1: java.time.ZoneOffset, param2: java.time.ZoneId): java.time.ZonedDateTime;
			public minus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.chrono.ChronoZonedDateTime<any>;
			public static ofInstant(param0: java.time.Instant, param1: java.time.ZoneId): java.time.ZonedDateTime;
			public plusYears(param0: number): java.time.ZonedDateTime;
			public withEarlierOffsetAtOverlap(): java.time.chrono.ChronoZonedDateTime<any>;
			public static of(param0: java.time.LocalDate, param1: java.time.LocalTime, param2: java.time.ZoneId): java.time.ZonedDateTime;
			public withHour(param0: number): java.time.ZonedDateTime;
			public minusYears(param0: number): java.time.ZonedDateTime;
			public equals(param0: any): boolean;
			public toLocalDateTime(): java.time.chrono.ChronoLocalDateTime<any>;
			public query(param0: java.time.temporal.TemporalQuery<any>): any;
			public with(param0: java.time.temporal.TemporalField, param1: number): java.time.ZonedDateTime;
			public static parse(param0: string, param1: java.time.format.DateTimeFormatter): java.time.ZonedDateTime;
			public get(param0: java.time.temporal.TemporalField): number;
			public withZoneSameLocal(param0: java.time.ZoneId): java.time.chrono.ChronoZonedDateTime<any>;
			public isEqual(param0: java.time.chrono.ChronoZonedDateTime<any>): boolean;
			public getZone(): java.time.ZoneId;
			public minusSeconds(param0: number): java.time.ZonedDateTime;
			public static of(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: java.time.ZoneId): java.time.ZonedDateTime;
			public static from(param0: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoZonedDateTime<any>;
			public withNano(param0: number): java.time.ZonedDateTime;
			public format(param0: java.time.format.DateTimeFormatter): string;
			public range(param0: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
			public withLaterOffsetAtOverlap(): java.time.chrono.ChronoZonedDateTime<any>;
			public plusNanos(param0: number): java.time.ZonedDateTime;
			public isBefore(param0: java.time.chrono.ChronoZonedDateTime<any>): boolean;
			public with(param0: java.time.temporal.TemporalField, param1: number): java.time.chrono.ChronoZonedDateTime<any>;
			public with(param0: java.time.temporal.TemporalField, param1: number): java.time.temporal.Temporal;
			public getSecond(): number;
			public getDayOfMonth(): number;
			public plus(param0: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
			public toLocalDate(): any;
			public withZoneSameInstant(param0: java.time.ZoneId): java.time.chrono.ChronoZonedDateTime<any>;
			public static parse(param0: string): java.time.ZonedDateTime;
			public toOffsetDateTime(): java.time.OffsetDateTime;
			public withDayOfYear(param0: number): java.time.ZonedDateTime;
			public plusSeconds(param0: number): java.time.ZonedDateTime;
			public getMinute(): number;
			public withSecond(param0: number): java.time.ZonedDateTime;
			public plus(param0: java.time.temporal.TemporalAmount): java.time.ZonedDateTime;
			public getChronology(): java.time.chrono.Chronology;
			public hashCode(): number;
			public getDayOfYear(): number;
			public withDayOfMonth(param0: number): java.time.ZonedDateTime;
			public plus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.chrono.ChronoZonedDateTime<any>;
			public toLocalDate(): java.time.LocalDate;
			public getNano(): number;
			public plus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
			public getMonth(): java.time.Month;
			public minus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
			public static ofInstant(param0: java.time.LocalDateTime, param1: java.time.ZoneOffset, param2: java.time.ZoneId): java.time.ZonedDateTime;
			public toLocalDateTime(): java.time.LocalDateTime;
			public static ofLocal(param0: java.time.LocalDateTime, param1: java.time.ZoneId, param2: java.time.ZoneOffset): java.time.ZonedDateTime;
			public withMonth(param0: number): java.time.ZonedDateTime;
			public until(param0: java.time.temporal.Temporal, param1: java.time.temporal.TemporalUnit): number;
			public plusWeeks(param0: number): java.time.ZonedDateTime;
			public withFixedOffsetZone(): java.time.ZonedDateTime;
			public minusMinutes(param0: number): java.time.ZonedDateTime;
			public minusHours(param0: number): java.time.ZonedDateTime;
			public static timeLineOrder(): java.util.Comparator<java.time.chrono.ChronoZonedDateTime<any>>;
			public withEarlierOffsetAtOverlap(): java.time.ZonedDateTime;
			public minusNanos(param0: number): java.time.ZonedDateTime;
			public isAfter(param0: java.time.chrono.ChronoZonedDateTime<any>): boolean;
			public static from(param0: java.time.temporal.TemporalAccessor): java.time.ZonedDateTime;
			public isSupported(param0: java.time.temporal.TemporalField): boolean;
			public getHour(): number;
			public plusHours(param0: number): java.time.ZonedDateTime;
			public static of(param0: java.time.LocalDateTime, param1: java.time.ZoneId): java.time.ZonedDateTime;
			public minusWeeks(param0: number): java.time.ZonedDateTime;
			public minusMonths(param0: number): java.time.ZonedDateTime;
			public getOffset(): java.time.ZoneOffset;
			public minus(param0: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
			public withYear(param0: number): java.time.ZonedDateTime;
			public getMonthValue(): number;
			public withZoneSameInstant(param0: java.time.ZoneId): java.time.ZonedDateTime;
			public plus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.ZonedDateTime;
			public minus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.ZonedDateTime;
			public static now(param0: java.time.ZoneId): java.time.ZonedDateTime;
			public toInstant(): java.time.Instant;
			public with(param0: java.time.temporal.TemporalAdjuster): java.time.ZonedDateTime;
			public plusMonths(param0: number): java.time.ZonedDateTime;
			public compareTo(param0: java.time.chrono.ChronoZonedDateTime<any>): number;
			public getYear(): number;
			public minus(param0: java.time.temporal.TemporalAmount): java.time.ZonedDateTime;
			public toString(): string;
			public static now(): java.time.ZonedDateTime;
			public static now(param0: java.time.Clock): java.time.ZonedDateTime;
			public toLocalTime(): java.time.LocalTime;
			public withMinute(param0: number): java.time.ZonedDateTime;
		}
	}
}

declare module java {
	export module time {
		export module chrono {
			export abstract class AbstractChronology extends java.lang.Object implements java.time.chrono.Chronology {
				public static class: java.lang.Class<java.time.chrono.AbstractChronology>;
				public resolveDate(param0: java.util.Map<java.time.temporal.TemporalField,java.lang.Long>, param1: java.time.format.ResolverStyle): java.time.chrono.ChronoLocalDate;
				public getId(): string;
				public period(param0: number, param1: number, param2: number): java.time.chrono.ChronoPeriod;
				public localDateTime(param0: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoLocalDateTime<any>;
				public constructor();
				public dateYearDay(param0: number, param1: number): java.time.chrono.ChronoLocalDate;
				public prolepticYear(param0: java.time.chrono.Era, param1: number): number;
				public hashCode(): number;
				public equals(param0: any): boolean;
				public static ofLocale(param0: java.util.Locale): java.time.chrono.Chronology;
				public zonedDateTime(param0: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoZonedDateTime<any>;
				public range(param0: java.time.temporal.ChronoField): java.time.temporal.ValueRange;
				public eras(): java.util.List<java.time.chrono.Era>;
				public dateNow(param0: java.time.Clock): java.time.chrono.ChronoLocalDate;
				public dateYearDay(param0: java.time.chrono.Era, param1: number, param2: number): java.time.chrono.ChronoLocalDate;
				public compareTo(param0: java.time.chrono.Chronology): number;
				public dateNow(param0: java.time.ZoneId): java.time.chrono.ChronoLocalDate;
				public eraOf(param0: number): java.time.chrono.Era;
				public static of(param0: string): java.time.chrono.Chronology;
				public date(param0: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoLocalDate;
				public toString(): string;
				public date(param0: number, param1: number, param2: number): java.time.chrono.ChronoLocalDate;
				public getDisplayName(param0: java.time.format.TextStyle, param1: java.util.Locale): string;
				public zonedDateTime(param0: java.time.Instant, param1: java.time.ZoneId): java.time.chrono.ChronoZonedDateTime<any>;
				public static from(param0: java.time.temporal.TemporalAccessor): java.time.chrono.Chronology;
				public static getAvailableChronologies(): java.util.Set<java.time.chrono.Chronology>;
				public isLeapYear(param0: number): boolean;
				public dateNow(): java.time.chrono.ChronoLocalDate;
				public getCalendarType(): string;
				public date(param0: java.time.chrono.Era, param1: number, param2: number, param3: number): java.time.chrono.ChronoLocalDate;
				public dateEpochDay(param0: number): java.time.chrono.ChronoLocalDate;
			}
		}
	}
}

declare module java {
	export module time {
		export module chrono {
			export class ChronoLocalDate extends java.lang.Object {
				public static class: java.lang.Class<java.time.chrono.ChronoLocalDate>;
				/**
				 * Constructs a new instance of the java.time.chrono.ChronoLocalDate interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					timeLineOrder(): java.util.Comparator<java.time.chrono.ChronoLocalDate>;
					from(param0: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoLocalDate;
					getChronology(): java.time.chrono.Chronology;
					getEra(): java.time.chrono.Era;
					isLeapYear(): boolean;
					lengthOfMonth(): number;
					lengthOfYear(): number;
					isSupported(param0: java.time.temporal.TemporalField): boolean;
					isSupported(param0: java.time.temporal.TemporalUnit): boolean;
					with(param0: java.time.temporal.TemporalAdjuster): java.time.chrono.ChronoLocalDate;
					with(param0: java.time.temporal.TemporalField, param1: number): java.time.chrono.ChronoLocalDate;
					plus(param0: java.time.temporal.TemporalAmount): java.time.chrono.ChronoLocalDate;
					plus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.chrono.ChronoLocalDate;
					minus(param0: java.time.temporal.TemporalAmount): java.time.chrono.ChronoLocalDate;
					minus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.chrono.ChronoLocalDate;
					query(param0: java.time.temporal.TemporalQuery<any>): any;
					adjustInto(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
					until(param0: java.time.temporal.Temporal, param1: java.time.temporal.TemporalUnit): number;
					until(param0: java.time.chrono.ChronoLocalDate): java.time.chrono.ChronoPeriod;
					format(param0: java.time.format.DateTimeFormatter): string;
					atTime(param0: java.time.LocalTime): java.time.chrono.ChronoLocalDateTime<any>;
					toEpochDay(): number;
					compareTo(param0: java.time.chrono.ChronoLocalDate): number;
					isAfter(param0: java.time.chrono.ChronoLocalDate): boolean;
					isBefore(param0: java.time.chrono.ChronoLocalDate): boolean;
					isEqual(param0: java.time.chrono.ChronoLocalDate): boolean;
					equals(param0: any): boolean;
					hashCode(): number;
					toString(): string;
					minus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
					minus(param0: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
					plus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
					plus(param0: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
					with(param0: java.time.temporal.TemporalField, param1: number): java.time.temporal.Temporal;
					with(param0: java.time.temporal.TemporalAdjuster): java.time.temporal.Temporal;
					compareTo(param0: any): number;
					isSupported(param0: java.time.temporal.TemporalUnit): boolean;
					with(param0: java.time.temporal.TemporalAdjuster): java.time.temporal.Temporal;
					with(param0: java.time.temporal.TemporalField, param1: number): java.time.temporal.Temporal;
					plus(param0: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
					plus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
					minus(param0: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
					minus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
					until(param0: java.time.temporal.Temporal, param1: java.time.temporal.TemporalUnit): number;
					adjustInto(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
					isSupported(param0: java.time.temporal.TemporalField): boolean;
					range(param0: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
					get(param0: java.time.temporal.TemporalField): number;
					getLong(param0: java.time.temporal.TemporalField): number;
					query(param0: java.time.temporal.TemporalQuery<any>): any;
				});
				public constructor();
				public plus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.chrono.ChronoLocalDate;
				public isEqual(param0: java.time.chrono.ChronoLocalDate): boolean;
				public isBefore(param0: java.time.chrono.ChronoLocalDate): boolean;
				public lengthOfMonth(): number;
				public atTime(param0: java.time.LocalTime): java.time.chrono.ChronoLocalDateTime<any>;
				public getEra(): java.time.chrono.Era;
				public minus(param0: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
				public static timeLineOrder(): java.util.Comparator<java.time.chrono.ChronoLocalDate>;
				public range(param0: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
				public getLong(param0: java.time.temporal.TemporalField): number;
				public lengthOfYear(): number;
				public until(param0: java.time.temporal.Temporal, param1: java.time.temporal.TemporalUnit): number;
				public adjustInto(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
				public hashCode(): number;
				public with(param0: java.time.temporal.TemporalField, param1: number): java.time.temporal.Temporal;
				public get(param0: java.time.temporal.TemporalField): number;
				public equals(param0: any): boolean;
				public format(param0: java.time.format.DateTimeFormatter): string;
				public minus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.chrono.ChronoLocalDate;
				public toEpochDay(): number;
				public compareTo(param0: java.time.chrono.ChronoLocalDate): number;
				public minus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
				public query(param0: java.time.temporal.TemporalQuery<any>): any;
				public toString(): string;
				public until(param0: java.time.chrono.ChronoLocalDate): java.time.chrono.ChronoPeriod;
				public plus(param0: java.time.temporal.TemporalAmount): java.time.chrono.ChronoLocalDate;
				public static from(param0: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoLocalDate;
				public isSupported(param0: java.time.temporal.TemporalField): boolean;
				public minus(param0: java.time.temporal.TemporalAmount): java.time.chrono.ChronoLocalDate;
				public isLeapYear(): boolean;
				public isAfter(param0: java.time.chrono.ChronoLocalDate): boolean;
				public plus(param0: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
				public with(param0: java.time.temporal.TemporalAdjuster): java.time.temporal.Temporal;
				public with(param0: java.time.temporal.TemporalAdjuster): java.time.chrono.ChronoLocalDate;
				public getChronology(): java.time.chrono.Chronology;
				public isSupported(param0: java.time.temporal.TemporalUnit): boolean;
				public with(param0: java.time.temporal.TemporalField, param1: number): java.time.chrono.ChronoLocalDate;
				public plus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
			}
		}
	}
}

declare module java {
	export module time {
		export module chrono {
			export class ChronoLocalDateTime<D>  extends java.lang.Object {
				public static class: java.lang.Class<java.time.chrono.ChronoLocalDateTime<any>>;
				/**
				 * Constructs a new instance of the java.time.chrono.ChronoLocalDateTime<any> interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					timeLineOrder(): java.util.Comparator<java.time.chrono.ChronoLocalDateTime<any>>;
					from(param0: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoLocalDateTime<any>;
					getChronology(): java.time.chrono.Chronology;
					toLocalDate(): D;
					toLocalTime(): java.time.LocalTime;
					isSupported(param0: java.time.temporal.TemporalField): boolean;
					isSupported(param0: java.time.temporal.TemporalUnit): boolean;
					with(param0: java.time.temporal.TemporalAdjuster): java.time.chrono.ChronoLocalDateTime<D>;
					with(param0: java.time.temporal.TemporalField, param1: number): java.time.chrono.ChronoLocalDateTime<D>;
					plus(param0: java.time.temporal.TemporalAmount): java.time.chrono.ChronoLocalDateTime<D>;
					plus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.chrono.ChronoLocalDateTime<D>;
					minus(param0: java.time.temporal.TemporalAmount): java.time.chrono.ChronoLocalDateTime<D>;
					minus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.chrono.ChronoLocalDateTime<D>;
					query(param0: java.time.temporal.TemporalQuery<any>): any;
					adjustInto(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
					format(param0: java.time.format.DateTimeFormatter): string;
					atZone(param0: java.time.ZoneId): java.time.chrono.ChronoZonedDateTime<D>;
					toInstant(param0: java.time.ZoneOffset): java.time.Instant;
					toEpochSecond(param0: java.time.ZoneOffset): number;
					compareTo(param0: java.time.chrono.ChronoLocalDateTime<any>): number;
					isAfter(param0: java.time.chrono.ChronoLocalDateTime<any>): boolean;
					isBefore(param0: java.time.chrono.ChronoLocalDateTime<any>): boolean;
					isEqual(param0: java.time.chrono.ChronoLocalDateTime<any>): boolean;
					equals(param0: any): boolean;
					hashCode(): number;
					toString(): string;
					minus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
					minus(param0: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
					plus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
					plus(param0: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
					with(param0: java.time.temporal.TemporalField, param1: number): java.time.temporal.Temporal;
					with(param0: java.time.temporal.TemporalAdjuster): java.time.temporal.Temporal;
					compareTo(param0: any): number;
					isSupported(param0: java.time.temporal.TemporalUnit): boolean;
					with(param0: java.time.temporal.TemporalAdjuster): java.time.temporal.Temporal;
					with(param0: java.time.temporal.TemporalField, param1: number): java.time.temporal.Temporal;
					plus(param0: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
					plus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
					minus(param0: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
					minus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
					until(param0: java.time.temporal.Temporal, param1: java.time.temporal.TemporalUnit): number;
					adjustInto(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
					isSupported(param0: java.time.temporal.TemporalField): boolean;
					range(param0: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
					get(param0: java.time.temporal.TemporalField): number;
					getLong(param0: java.time.temporal.TemporalField): number;
					query(param0: java.time.temporal.TemporalQuery<any>): any;
				});
				public constructor();
				public minus(param0: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
				public isAfter(param0: java.time.chrono.ChronoLocalDateTime<any>): boolean;
				public range(param0: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
				public getLong(param0: java.time.temporal.TemporalField): number;
				public toLocalTime(): java.time.LocalTime;
				public until(param0: java.time.temporal.Temporal, param1: java.time.temporal.TemporalUnit): number;
				public static timeLineOrder(): java.util.Comparator<java.time.chrono.ChronoLocalDateTime<any>>;
				public compareTo(param0: java.time.chrono.ChronoLocalDateTime<any>): number;
				public plus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.chrono.ChronoLocalDateTime<D>;
				public adjustInto(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
				public hashCode(): number;
				public with(param0: java.time.temporal.TemporalField, param1: number): java.time.temporal.Temporal;
				public get(param0: java.time.temporal.TemporalField): number;
				public equals(param0: any): boolean;
				public format(param0: java.time.format.DateTimeFormatter): string;
				public plus(param0: java.time.temporal.TemporalAmount): java.time.chrono.ChronoLocalDateTime<D>;
				public atZone(param0: java.time.ZoneId): java.time.chrono.ChronoZonedDateTime<D>;
				public toLocalDate(): D;
				public minus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
				public minus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.chrono.ChronoLocalDateTime<D>;
				public query(param0: java.time.temporal.TemporalQuery<any>): any;
				public minus(param0: java.time.temporal.TemporalAmount): java.time.chrono.ChronoLocalDateTime<D>;
				public toInstant(param0: java.time.ZoneOffset): java.time.Instant;
				public with(param0: java.time.temporal.TemporalField, param1: number): java.time.chrono.ChronoLocalDateTime<D>;
				public toString(): string;
				public with(param0: java.time.temporal.TemporalAdjuster): java.time.chrono.ChronoLocalDateTime<D>;
				public toEpochSecond(param0: java.time.ZoneOffset): number;
				public static from(param0: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoLocalDateTime<any>;
				public isSupported(param0: java.time.temporal.TemporalField): boolean;
				public plus(param0: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
				public with(param0: java.time.temporal.TemporalAdjuster): java.time.temporal.Temporal;
				public getChronology(): java.time.chrono.Chronology;
				public isBefore(param0: java.time.chrono.ChronoLocalDateTime<any>): boolean;
				public isEqual(param0: java.time.chrono.ChronoLocalDateTime<any>): boolean;
				public isSupported(param0: java.time.temporal.TemporalUnit): boolean;
				public plus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
			}
		}
	}
}

declare module java {
	export module time {
		export module chrono {
			export class ChronoPeriod extends java.lang.Object implements java.time.temporal.TemporalAmount {
				public static class: java.lang.Class<java.time.chrono.ChronoPeriod>;
				/**
				 * Constructs a new instance of the java.time.chrono.ChronoPeriod interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					between(param0: java.time.chrono.ChronoLocalDate, param1: java.time.chrono.ChronoLocalDate): java.time.chrono.ChronoPeriod;
					get(param0: java.time.temporal.TemporalUnit): number;
					getUnits(): java.util.List<java.time.temporal.TemporalUnit>;
					getChronology(): java.time.chrono.Chronology;
					isZero(): boolean;
					isNegative(): boolean;
					plus(param0: java.time.temporal.TemporalAmount): java.time.chrono.ChronoPeriod;
					minus(param0: java.time.temporal.TemporalAmount): java.time.chrono.ChronoPeriod;
					multipliedBy(param0: number): java.time.chrono.ChronoPeriod;
					negated(): java.time.chrono.ChronoPeriod;
					normalized(): java.time.chrono.ChronoPeriod;
					addTo(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
					subtractFrom(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
					equals(param0: any): boolean;
					hashCode(): number;
					toString(): string;
					get(param0: java.time.temporal.TemporalUnit): number;
					getUnits(): java.util.List<java.time.temporal.TemporalUnit>;
					addTo(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
					subtractFrom(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
				});
				public constructor();
				public get(param0: java.time.temporal.TemporalUnit): number;
				public static between(param0: java.time.chrono.ChronoLocalDate, param1: java.time.chrono.ChronoLocalDate): java.time.chrono.ChronoPeriod;
				public toString(): string;
				public subtractFrom(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
				public negated(): java.time.chrono.ChronoPeriod;
				public normalized(): java.time.chrono.ChronoPeriod;
				public multipliedBy(param0: number): java.time.chrono.ChronoPeriod;
				public getUnits(): java.util.List<java.time.temporal.TemporalUnit>;
				public hashCode(): number;
				public isZero(): boolean;
				public equals(param0: any): boolean;
				public plus(param0: java.time.temporal.TemporalAmount): java.time.chrono.ChronoPeriod;
				public getChronology(): java.time.chrono.Chronology;
				public isNegative(): boolean;
				public minus(param0: java.time.temporal.TemporalAmount): java.time.chrono.ChronoPeriod;
				public addTo(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
			}
		}
	}
}

declare module java {
	export module time {
		export module chrono {
			export class ChronoZonedDateTime<D>  extends java.lang.Object {
				public static class: java.lang.Class<java.time.chrono.ChronoZonedDateTime<any>>;
				/**
				 * Constructs a new instance of the java.time.chrono.ChronoZonedDateTime<any> interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					timeLineOrder(): java.util.Comparator<java.time.chrono.ChronoZonedDateTime<any>>;
					from(param0: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoZonedDateTime<any>;
					range(param0: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
					get(param0: java.time.temporal.TemporalField): number;
					getLong(param0: java.time.temporal.TemporalField): number;
					toLocalDate(): D;
					toLocalTime(): java.time.LocalTime;
					toLocalDateTime(): java.time.chrono.ChronoLocalDateTime<D>;
					getChronology(): java.time.chrono.Chronology;
					getOffset(): java.time.ZoneOffset;
					getZone(): java.time.ZoneId;
					withEarlierOffsetAtOverlap(): java.time.chrono.ChronoZonedDateTime<D>;
					withLaterOffsetAtOverlap(): java.time.chrono.ChronoZonedDateTime<D>;
					withZoneSameLocal(param0: java.time.ZoneId): java.time.chrono.ChronoZonedDateTime<D>;
					withZoneSameInstant(param0: java.time.ZoneId): java.time.chrono.ChronoZonedDateTime<D>;
					isSupported(param0: java.time.temporal.TemporalField): boolean;
					isSupported(param0: java.time.temporal.TemporalUnit): boolean;
					with(param0: java.time.temporal.TemporalAdjuster): java.time.chrono.ChronoZonedDateTime<D>;
					with(param0: java.time.temporal.TemporalField, param1: number): java.time.chrono.ChronoZonedDateTime<D>;
					plus(param0: java.time.temporal.TemporalAmount): java.time.chrono.ChronoZonedDateTime<D>;
					plus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.chrono.ChronoZonedDateTime<D>;
					minus(param0: java.time.temporal.TemporalAmount): java.time.chrono.ChronoZonedDateTime<D>;
					minus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.chrono.ChronoZonedDateTime<D>;
					query(param0: java.time.temporal.TemporalQuery<any>): any;
					format(param0: java.time.format.DateTimeFormatter): string;
					toInstant(): java.time.Instant;
					toEpochSecond(): number;
					compareTo(param0: java.time.chrono.ChronoZonedDateTime<any>): number;
					isBefore(param0: java.time.chrono.ChronoZonedDateTime<any>): boolean;
					isAfter(param0: java.time.chrono.ChronoZonedDateTime<any>): boolean;
					isEqual(param0: java.time.chrono.ChronoZonedDateTime<any>): boolean;
					equals(param0: any): boolean;
					hashCode(): number;
					toString(): string;
					minus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
					minus(param0: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
					plus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
					plus(param0: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
					with(param0: java.time.temporal.TemporalField, param1: number): java.time.temporal.Temporal;
					with(param0: java.time.temporal.TemporalAdjuster): java.time.temporal.Temporal;
					compareTo(param0: any): number;
					isSupported(param0: java.time.temporal.TemporalUnit): boolean;
					with(param0: java.time.temporal.TemporalAdjuster): java.time.temporal.Temporal;
					with(param0: java.time.temporal.TemporalField, param1: number): java.time.temporal.Temporal;
					plus(param0: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
					plus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
					minus(param0: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
					minus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
					until(param0: java.time.temporal.Temporal, param1: java.time.temporal.TemporalUnit): number;
					isSupported(param0: java.time.temporal.TemporalField): boolean;
					range(param0: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
					get(param0: java.time.temporal.TemporalField): number;
					getLong(param0: java.time.temporal.TemporalField): number;
					query(param0: java.time.temporal.TemporalQuery<any>): any;
				});
				public constructor();
				public withEarlierOffsetAtOverlap(): java.time.chrono.ChronoZonedDateTime<D>;
				public withZoneSameInstant(param0: java.time.ZoneId): java.time.chrono.ChronoZonedDateTime<D>;
				public minus(param0: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
				public withLaterOffsetAtOverlap(): java.time.chrono.ChronoZonedDateTime<D>;
				public range(param0: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
				public getLong(param0: java.time.temporal.TemporalField): number;
				public with(param0: java.time.temporal.TemporalAdjuster): java.time.chrono.ChronoZonedDateTime<D>;
				public isEqual(param0: java.time.chrono.ChronoZonedDateTime<any>): boolean;
				public toLocalTime(): java.time.LocalTime;
				public toInstant(): java.time.Instant;
				public until(param0: java.time.temporal.Temporal, param1: java.time.temporal.TemporalUnit): number;
				public static from(param0: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoZonedDateTime<any>;
				public getZone(): java.time.ZoneId;
				public get(param0: java.time.temporal.TemporalField): number;
				public toLocalDateTime(): java.time.chrono.ChronoLocalDateTime<D>;
				public hashCode(): number;
				public with(param0: java.time.temporal.TemporalField, param1: number): java.time.temporal.Temporal;
				public static timeLineOrder(): java.util.Comparator<java.time.chrono.ChronoZonedDateTime<any>>;
				public equals(param0: any): boolean;
				public format(param0: java.time.format.DateTimeFormatter): string;
				public withZoneSameLocal(param0: java.time.ZoneId): java.time.chrono.ChronoZonedDateTime<D>;
				public toEpochSecond(): number;
				public toLocalDate(): D;
				public getOffset(): java.time.ZoneOffset;
				public minus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
				public query(param0: java.time.temporal.TemporalQuery<any>): any;
				public minus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.chrono.ChronoZonedDateTime<D>;
				public minus(param0: java.time.temporal.TemporalAmount): java.time.chrono.ChronoZonedDateTime<D>;
				public toString(): string;
				public with(param0: java.time.temporal.TemporalField, param1: number): java.time.chrono.ChronoZonedDateTime<D>;
				public plus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.chrono.ChronoZonedDateTime<D>;
				public compareTo(param0: java.time.chrono.ChronoZonedDateTime<any>): number;
				public isSupported(param0: java.time.temporal.TemporalField): boolean;
				public plus(param0: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
				public with(param0: java.time.temporal.TemporalAdjuster): java.time.temporal.Temporal;
				public isBefore(param0: java.time.chrono.ChronoZonedDateTime<any>): boolean;
				public getChronology(): java.time.chrono.Chronology;
				public isSupported(param0: java.time.temporal.TemporalUnit): boolean;
				public plus(param0: java.time.temporal.TemporalAmount): java.time.chrono.ChronoZonedDateTime<D>;
				public isAfter(param0: java.time.chrono.ChronoZonedDateTime<any>): boolean;
				public plus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
			}
		}
	}
}

declare module java {
	export module time {
		export module chrono {
			export class Chronology extends java.lang.Comparable<java.time.chrono.Chronology> {
				public static class: java.lang.Class<java.time.chrono.Chronology>;
				/**
				 * Constructs a new instance of the java.time.chrono.Chronology interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					from(param0: java.time.temporal.TemporalAccessor): java.time.chrono.Chronology;
					ofLocale(param0: java.util.Locale): java.time.chrono.Chronology;
					of(param0: string): java.time.chrono.Chronology;
					getAvailableChronologies(): java.util.Set<java.time.chrono.Chronology>;
					getId(): string;
					getCalendarType(): string;
					date(param0: java.time.chrono.Era, param1: number, param2: number, param3: number): java.time.chrono.ChronoLocalDate;
					date(param0: number, param1: number, param2: number): java.time.chrono.ChronoLocalDate;
					dateYearDay(param0: java.time.chrono.Era, param1: number, param2: number): java.time.chrono.ChronoLocalDate;
					dateYearDay(param0: number, param1: number): java.time.chrono.ChronoLocalDate;
					dateEpochDay(param0: number): java.time.chrono.ChronoLocalDate;
					dateNow(): java.time.chrono.ChronoLocalDate;
					dateNow(param0: java.time.ZoneId): java.time.chrono.ChronoLocalDate;
					dateNow(param0: java.time.Clock): java.time.chrono.ChronoLocalDate;
					date(param0: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoLocalDate;
					localDateTime(param0: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoLocalDateTime<any>;
					zonedDateTime(param0: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoZonedDateTime<any>;
					zonedDateTime(param0: java.time.Instant, param1: java.time.ZoneId): java.time.chrono.ChronoZonedDateTime<any>;
					isLeapYear(param0: number): boolean;
					prolepticYear(param0: java.time.chrono.Era, param1: number): number;
					eraOf(param0: number): java.time.chrono.Era;
					eras(): java.util.List<java.time.chrono.Era>;
					range(param0: java.time.temporal.ChronoField): java.time.temporal.ValueRange;
					getDisplayName(param0: java.time.format.TextStyle, param1: java.util.Locale): string;
					resolveDate(param0: java.util.Map<java.time.temporal.TemporalField,java.lang.Long>, param1: java.time.format.ResolverStyle): java.time.chrono.ChronoLocalDate;
					period(param0: number, param1: number, param2: number): java.time.chrono.ChronoPeriod;
					compareTo(param0: java.time.chrono.Chronology): number;
					equals(param0: any): boolean;
					hashCode(): number;
					toString(): string;
					compareTo(param0: any): number;
				});
				public constructor();
				public resolveDate(param0: java.util.Map<java.time.temporal.TemporalField,java.lang.Long>, param1: java.time.format.ResolverStyle): java.time.chrono.ChronoLocalDate;
				public getId(): string;
				public period(param0: number, param1: number, param2: number): java.time.chrono.ChronoPeriod;
				public localDateTime(param0: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoLocalDateTime<any>;
				public dateYearDay(param0: number, param1: number): java.time.chrono.ChronoLocalDate;
				public prolepticYear(param0: java.time.chrono.Era, param1: number): number;
				public hashCode(): number;
				public static ofLocale(param0: java.util.Locale): java.time.chrono.Chronology;
				public equals(param0: any): boolean;
				public zonedDateTime(param0: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoZonedDateTime<any>;
				public range(param0: java.time.temporal.ChronoField): java.time.temporal.ValueRange;
				public eras(): java.util.List<java.time.chrono.Era>;
				public dateNow(param0: java.time.Clock): java.time.chrono.ChronoLocalDate;
				public dateYearDay(param0: java.time.chrono.Era, param1: number, param2: number): java.time.chrono.ChronoLocalDate;
				public compareTo(param0: java.time.chrono.Chronology): number;
				public dateNow(param0: java.time.ZoneId): java.time.chrono.ChronoLocalDate;
				public eraOf(param0: number): java.time.chrono.Era;
				public static of(param0: string): java.time.chrono.Chronology;
				public date(param0: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoLocalDate;
				public toString(): string;
				public date(param0: number, param1: number, param2: number): java.time.chrono.ChronoLocalDate;
				public getDisplayName(param0: java.time.format.TextStyle, param1: java.util.Locale): string;
				public zonedDateTime(param0: java.time.Instant, param1: java.time.ZoneId): java.time.chrono.ChronoZonedDateTime<any>;
				public static from(param0: java.time.temporal.TemporalAccessor): java.time.chrono.Chronology;
				public static getAvailableChronologies(): java.util.Set<java.time.chrono.Chronology>;
				public isLeapYear(param0: number): boolean;
				public dateNow(): java.time.chrono.ChronoLocalDate;
				public getCalendarType(): string;
				public date(param0: java.time.chrono.Era, param1: number, param2: number, param3: number): java.time.chrono.ChronoLocalDate;
				public dateEpochDay(param0: number): java.time.chrono.ChronoLocalDate;
			}
		}
	}
}

declare module java {
	export module time {
		export module chrono {
			export class Era extends java.lang.Object implements java.time.temporal.TemporalAccessor, java.time.temporal.TemporalAdjuster {
				public static class: java.lang.Class<java.time.chrono.Era>;
				/**
				 * Constructs a new instance of the java.time.chrono.Era interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getValue(): number;
					isSupported(param0: java.time.temporal.TemporalField): boolean;
					range(param0: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
					get(param0: java.time.temporal.TemporalField): number;
					getLong(param0: java.time.temporal.TemporalField): number;
					query(param0: java.time.temporal.TemporalQuery<any>): any;
					adjustInto(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
					getDisplayName(param0: java.time.format.TextStyle, param1: java.util.Locale): string;
					isSupported(param0: java.time.temporal.TemporalField): boolean;
					range(param0: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
					get(param0: java.time.temporal.TemporalField): number;
					getLong(param0: java.time.temporal.TemporalField): number;
					query(param0: java.time.temporal.TemporalQuery<any>): any;
					adjustInto(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
				});
				public constructor();
				public getDisplayName(param0: java.time.format.TextStyle, param1: java.util.Locale): string;
				public isSupported(param0: java.time.temporal.TemporalField): boolean;
				public adjustInto(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
				public get(param0: java.time.temporal.TemporalField): number;
				public query(param0: java.time.temporal.TemporalQuery<any>): any;
				public range(param0: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
				public getLong(param0: java.time.temporal.TemporalField): number;
				public getValue(): number;
			}
		}
	}
}

declare module java {
	export module time {
		export module chrono {
			export class HijrahChronology extends java.time.chrono.AbstractChronology implements java.io.Serializable {
				public static class: java.lang.Class<java.time.chrono.HijrahChronology>;
				public static INSTANCE: java.time.chrono.HijrahChronology;
				public dateEpochDay(param0: number): java.time.chrono.HijrahDate;
				public resolveDate(param0: java.util.Map<java.time.temporal.TemporalField,java.lang.Long>, param1: java.time.format.ResolverStyle): java.time.chrono.ChronoLocalDate;
				public getId(): string;
				public date(param0: java.time.chrono.Era, param1: number, param2: number, param3: number): java.time.chrono.HijrahDate;
				public period(param0: number, param1: number, param2: number): java.time.chrono.ChronoPeriod;
				public dateNow(param0: java.time.Clock): java.time.chrono.HijrahDate;
				public zonedDateTime(param0: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoZonedDateTime<java.time.chrono.HijrahDate>;
				public localDateTime(param0: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoLocalDateTime<any>;
				public dateYearDay(param0: java.time.chrono.Era, param1: number, param2: number): java.time.chrono.HijrahDate;
				public resolveDate(param0: java.util.Map<java.time.temporal.TemporalField,java.lang.Long>, param1: java.time.format.ResolverStyle): java.time.chrono.HijrahDate;
				public dateYearDay(param0: number, param1: number): java.time.chrono.ChronoLocalDate;
				public prolepticYear(param0: java.time.chrono.Era, param1: number): number;
				public dateYearDay(param0: number, param1: number): java.time.chrono.HijrahDate;
				public hashCode(): number;
				public dateNow(): java.time.chrono.HijrahDate;
				public localDateTime(param0: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoLocalDateTime<java.time.chrono.HijrahDate>;
				public static ofLocale(param0: java.util.Locale): java.time.chrono.Chronology;
				public equals(param0: any): boolean;
				public eraOf(param0: number): java.time.chrono.HijrahEra;
				public range(param0: java.time.temporal.ChronoField): java.time.temporal.ValueRange;
				public zonedDateTime(param0: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoZonedDateTime<any>;
				public eras(): java.util.List<java.time.chrono.Era>;
				public dateNow(param0: java.time.Clock): java.time.chrono.ChronoLocalDate;
				public date(param0: java.time.temporal.TemporalAccessor): java.time.chrono.HijrahDate;
				public dateYearDay(param0: java.time.chrono.Era, param1: number, param2: number): java.time.chrono.ChronoLocalDate;
				public date(param0: number, param1: number, param2: number): java.time.chrono.HijrahDate;
				public compareTo(param0: java.time.chrono.Chronology): number;
				public dateNow(param0: java.time.ZoneId): java.time.chrono.ChronoLocalDate;
				public eraOf(param0: number): java.time.chrono.Era;
				public static of(param0: string): java.time.chrono.Chronology;
				public date(param0: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoLocalDate;
				public toString(): string;
				public date(param0: number, param1: number, param2: number): java.time.chrono.ChronoLocalDate;
				public getDisplayName(param0: java.time.format.TextStyle, param1: java.util.Locale): string;
				public zonedDateTime(param0: java.time.Instant, param1: java.time.ZoneId): java.time.chrono.ChronoZonedDateTime<any>;
				public static from(param0: java.time.temporal.TemporalAccessor): java.time.chrono.Chronology;
				public static getAvailableChronologies(): java.util.Set<java.time.chrono.Chronology>;
				public dateNow(param0: java.time.ZoneId): java.time.chrono.HijrahDate;
				public isLeapYear(param0: number): boolean;
				public zonedDateTime(param0: java.time.Instant, param1: java.time.ZoneId): java.time.chrono.ChronoZonedDateTime<java.time.chrono.HijrahDate>;
				public dateNow(): java.time.chrono.ChronoLocalDate;
				public getCalendarType(): string;
				public date(param0: java.time.chrono.Era, param1: number, param2: number, param3: number): java.time.chrono.ChronoLocalDate;
				public dateEpochDay(param0: number): java.time.chrono.ChronoLocalDate;
			}
		}
	}
}

declare module java {
	export module time {
		export module chrono {
			export class HijrahDate extends java.lang.Object implements java.time.chrono.ChronoLocalDate, java.time.temporal.Temporal, java.time.temporal.TemporalAdjuster, java.io.Serializable {
				public static class: java.lang.Class<java.time.chrono.HijrahDate>;
				public plus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.chrono.ChronoLocalDate;
				public atTime(param0: java.time.LocalTime): java.time.chrono.ChronoLocalDateTime<any>;
				public getEra(): java.time.chrono.Era;
				public minus(param0: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
				public static timeLineOrder(): java.util.Comparator<java.time.chrono.ChronoLocalDate>;
				public getLong(param0: java.time.temporal.TemporalField): number;
				public lengthOfYear(): number;
				public until(param0: java.time.temporal.Temporal, param1: java.time.temporal.TemporalUnit): number;
				public plus(param0: java.time.temporal.TemporalAmount): java.time.chrono.HijrahDate;
				public atTime(param0: java.time.LocalTime): java.time.chrono.ChronoLocalDateTime<java.time.chrono.HijrahDate>;
				public hashCode(): number;
				public with(param0: java.time.temporal.TemporalField, param1: number): java.time.temporal.Temporal;
				public get(param0: java.time.temporal.TemporalField): number;
				public equals(param0: any): boolean;
				public format(param0: java.time.format.DateTimeFormatter): string;
				public minus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.chrono.ChronoLocalDate;
				public plus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.chrono.HijrahDate;
				public toString(): string;
				public plus(param0: java.time.temporal.TemporalAmount): java.time.chrono.ChronoLocalDate;
				public minus(param0: java.time.temporal.TemporalAmount): java.time.chrono.HijrahDate;
				public isSupported(param0: java.time.temporal.TemporalField): boolean;
				public minus(param0: java.time.temporal.TemporalAmount): java.time.chrono.ChronoLocalDate;
				public isAfter(param0: java.time.chrono.ChronoLocalDate): boolean;
				public with(param0: java.time.temporal.TemporalAdjuster): java.time.chrono.ChronoLocalDate;
				public getChronology(): java.time.chrono.Chronology;
				public static now(param0: java.time.Clock): java.time.chrono.HijrahDate;
				public isSupported(param0: java.time.temporal.TemporalUnit): boolean;
				public with(param0: java.time.temporal.TemporalField, param1: number): java.time.chrono.ChronoLocalDate;
				public isEqual(param0: java.time.chrono.ChronoLocalDate): boolean;
				public isBefore(param0: java.time.chrono.ChronoLocalDate): boolean;
				public lengthOfMonth(): number;
				public static now(): java.time.chrono.HijrahDate;
				public minus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.chrono.HijrahDate;
				public static now(param0: java.time.ZoneId): java.time.chrono.HijrahDate;
				public range(param0: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
				public static of(param0: number, param1: number, param2: number): java.time.chrono.HijrahDate;
				public with(param0: java.time.temporal.TemporalAdjuster): java.time.chrono.HijrahDate;
				public withVariant(param0: java.time.chrono.HijrahChronology): java.time.chrono.HijrahDate;
				public adjustInto(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
				public toEpochDay(): number;
				public compareTo(param0: java.time.chrono.ChronoLocalDate): number;
				public minus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
				public getEra(): java.time.chrono.HijrahEra;
				public query(param0: java.time.temporal.TemporalQuery<any>): any;
				public until(param0: java.time.chrono.ChronoLocalDate): java.time.chrono.ChronoPeriod;
				public static from(param0: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoLocalDate;
				public isLeapYear(): boolean;
				public plus(param0: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
				public with(param0: java.time.temporal.TemporalAdjuster): java.time.temporal.Temporal;
				public getChronology(): java.time.chrono.HijrahChronology;
				public with(param0: java.time.temporal.TemporalField, param1: number): java.time.chrono.HijrahDate;
				public static from(param0: java.time.temporal.TemporalAccessor): java.time.chrono.HijrahDate;
				public plus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
			}
		}
	}
}

declare module java {
	export module time {
		export module chrono {
			export class HijrahEra extends java.time.chrono.Era {
				public static class: java.lang.Class<java.time.chrono.HijrahEra>;
				public static AH: java.time.chrono.HijrahEra;
				public getDisplayName(param0: java.time.format.TextStyle, param1: java.util.Locale): string;
				public static of(param0: number): java.time.chrono.HijrahEra;
				public isSupported(param0: java.time.temporal.TemporalField): boolean;
				public adjustInto(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
				public static valueOf(param0: string): java.time.chrono.HijrahEra;
				public get(param0: java.time.temporal.TemporalField): number;
				public query(param0: java.time.temporal.TemporalQuery<any>): any;
				public static values(): native.Array<java.time.chrono.HijrahEra>;
				public range(param0: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
				public getLong(param0: java.time.temporal.TemporalField): number;
				public getValue(): number;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			}
		}
	}
}

declare module java {
	export module time {
		export module chrono {
			export class IsoChronology extends java.time.chrono.AbstractChronology implements java.io.Serializable {
				public static class: java.lang.Class<java.time.chrono.IsoChronology>;
				public static INSTANCE: java.time.chrono.IsoChronology;
				public resolveDate(param0: java.util.Map<java.time.temporal.TemporalField,java.lang.Long>, param1: java.time.format.ResolverStyle): java.time.chrono.ChronoLocalDate;
				public getId(): string;
				public dateNow(param0: java.time.ZoneId): java.time.LocalDate;
				public period(param0: number, param1: number, param2: number): java.time.chrono.ChronoPeriod;
				public dateYearDay(param0: java.time.chrono.Era, param1: number, param2: number): java.time.LocalDate;
				public dateNow(param0: java.time.Clock): java.time.LocalDate;
				public eraOf(param0: number): java.time.chrono.IsoEra;
				public localDateTime(param0: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoLocalDateTime<any>;
				public dateYearDay(param0: number, param1: number): java.time.chrono.ChronoLocalDate;
				public prolepticYear(param0: java.time.chrono.Era, param1: number): number;
				public zonedDateTime(param0: java.time.Instant, param1: java.time.ZoneId): java.time.ZonedDateTime;
				public hashCode(): number;
				public dateEpochDay(param0: number): java.time.LocalDate;
				public static ofLocale(param0: java.util.Locale): java.time.chrono.Chronology;
				public equals(param0: any): boolean;
				public range(param0: java.time.temporal.ChronoField): java.time.temporal.ValueRange;
				public zonedDateTime(param0: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoZonedDateTime<any>;
				public eras(): java.util.List<java.time.chrono.Era>;
				public dateNow(param0: java.time.Clock): java.time.chrono.ChronoLocalDate;
				public date(param0: number, param1: number, param2: number): java.time.LocalDate;
				public zonedDateTime(param0: java.time.temporal.TemporalAccessor): java.time.ZonedDateTime;
				public dateYearDay(param0: java.time.chrono.Era, param1: number, param2: number): java.time.chrono.ChronoLocalDate;
				public date(param0: java.time.chrono.Era, param1: number, param2: number, param3: number): java.time.LocalDate;
				public compareTo(param0: java.time.chrono.Chronology): number;
				public dateNow(param0: java.time.ZoneId): java.time.chrono.ChronoLocalDate;
				public eraOf(param0: number): java.time.chrono.Era;
				public static of(param0: string): java.time.chrono.Chronology;
				public date(param0: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoLocalDate;
				public localDateTime(param0: java.time.temporal.TemporalAccessor): java.time.LocalDateTime;
				public dateNow(): java.time.LocalDate;
				public toString(): string;
				public resolveDate(param0: java.util.Map<java.time.temporal.TemporalField,java.lang.Long>, param1: java.time.format.ResolverStyle): java.time.LocalDate;
				public date(param0: number, param1: number, param2: number): java.time.chrono.ChronoLocalDate;
				public getDisplayName(param0: java.time.format.TextStyle, param1: java.util.Locale): string;
				public zonedDateTime(param0: java.time.Instant, param1: java.time.ZoneId): java.time.chrono.ChronoZonedDateTime<any>;
				public static from(param0: java.time.temporal.TemporalAccessor): java.time.chrono.Chronology;
				public static getAvailableChronologies(): java.util.Set<java.time.chrono.Chronology>;
				public date(param0: java.time.temporal.TemporalAccessor): java.time.LocalDate;
				public isLeapYear(param0: number): boolean;
				public dateNow(): java.time.chrono.ChronoLocalDate;
				public getCalendarType(): string;
				public date(param0: java.time.chrono.Era, param1: number, param2: number, param3: number): java.time.chrono.ChronoLocalDate;
				public dateEpochDay(param0: number): java.time.chrono.ChronoLocalDate;
				public dateYearDay(param0: number, param1: number): java.time.LocalDate;
				public period(param0: number, param1: number, param2: number): java.time.Period;
			}
		}
	}
}

declare module java {
	export module time {
		export module chrono {
			export class IsoEra extends java.time.chrono.Era {
				public static class: java.lang.Class<java.time.chrono.IsoEra>;
				public static BCE: java.time.chrono.IsoEra;
				public static CE: java.time.chrono.IsoEra;
				public getDisplayName(param0: java.time.format.TextStyle, param1: java.util.Locale): string;
				public isSupported(param0: java.time.temporal.TemporalField): boolean;
				public adjustInto(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
				public get(param0: java.time.temporal.TemporalField): number;
				public query(param0: java.time.temporal.TemporalQuery<any>): any;
				public static valueOf(param0: string): java.time.chrono.IsoEra;
				public static of(param0: number): java.time.chrono.IsoEra;
				public range(param0: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
				public getLong(param0: java.time.temporal.TemporalField): number;
				public getValue(): number;
				public static values(): native.Array<java.time.chrono.IsoEra>;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			}
		}
	}
}

declare module java {
	export module time {
		export module chrono {
			export class JapaneseChronology extends java.time.chrono.AbstractChronology implements java.io.Serializable {
				public static class: java.lang.Class<java.time.chrono.JapaneseChronology>;
				public static INSTANCE: java.time.chrono.JapaneseChronology;
				public resolveDate(param0: java.util.Map<java.time.temporal.TemporalField,java.lang.Long>, param1: java.time.format.ResolverStyle): java.time.chrono.ChronoLocalDate;
				public getId(): string;
				public period(param0: number, param1: number, param2: number): java.time.chrono.ChronoPeriod;
				public dateYearDay(param0: number, param1: number): java.time.chrono.JapaneseDate;
				public dateNow(param0: java.time.ZoneId): java.time.chrono.JapaneseDate;
				public localDateTime(param0: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoLocalDateTime<any>;
				public dateYearDay(param0: java.time.chrono.Era, param1: number, param2: number): java.time.chrono.JapaneseDate;
				public date(param0: java.time.chrono.Era, param1: number, param2: number, param3: number): java.time.chrono.JapaneseDate;
				public eraOf(param0: number): java.time.chrono.JapaneseEra;
				public dateYearDay(param0: number, param1: number): java.time.chrono.ChronoLocalDate;
				public zonedDateTime(param0: java.time.Instant, param1: java.time.ZoneId): java.time.chrono.ChronoZonedDateTime<java.time.chrono.JapaneseDate>;
				public prolepticYear(param0: java.time.chrono.Era, param1: number): number;
				public hashCode(): number;
				public resolveDate(param0: java.util.Map<java.time.temporal.TemporalField,java.lang.Long>, param1: java.time.format.ResolverStyle): java.time.chrono.JapaneseDate;
				public static ofLocale(param0: java.util.Locale): java.time.chrono.Chronology;
				public equals(param0: any): boolean;
				public range(param0: java.time.temporal.ChronoField): java.time.temporal.ValueRange;
				public zonedDateTime(param0: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoZonedDateTime<any>;
				public localDateTime(param0: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoLocalDateTime<java.time.chrono.JapaneseDate>;
				public eras(): java.util.List<java.time.chrono.Era>;
				public dateNow(param0: java.time.Clock): java.time.chrono.ChronoLocalDate;
				public date(param0: number, param1: number, param2: number): java.time.chrono.JapaneseDate;
				public dateYearDay(param0: java.time.chrono.Era, param1: number, param2: number): java.time.chrono.ChronoLocalDate;
				public compareTo(param0: java.time.chrono.Chronology): number;
				public dateNow(param0: java.time.ZoneId): java.time.chrono.ChronoLocalDate;
				public date(param0: java.time.temporal.TemporalAccessor): java.time.chrono.JapaneseDate;
				public eraOf(param0: number): java.time.chrono.Era;
				public static of(param0: string): java.time.chrono.Chronology;
				public date(param0: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoLocalDate;
				public dateNow(param0: java.time.Clock): java.time.chrono.JapaneseDate;
				public dateEpochDay(param0: number): java.time.chrono.JapaneseDate;
				public zonedDateTime(param0: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoZonedDateTime<java.time.chrono.JapaneseDate>;
				public dateNow(): java.time.chrono.JapaneseDate;
				public toString(): string;
				public date(param0: number, param1: number, param2: number): java.time.chrono.ChronoLocalDate;
				public getDisplayName(param0: java.time.format.TextStyle, param1: java.util.Locale): string;
				public zonedDateTime(param0: java.time.Instant, param1: java.time.ZoneId): java.time.chrono.ChronoZonedDateTime<any>;
				public static from(param0: java.time.temporal.TemporalAccessor): java.time.chrono.Chronology;
				public static getAvailableChronologies(): java.util.Set<java.time.chrono.Chronology>;
				public isLeapYear(param0: number): boolean;
				public dateNow(): java.time.chrono.ChronoLocalDate;
				public getCalendarType(): string;
				public date(param0: java.time.chrono.Era, param1: number, param2: number, param3: number): java.time.chrono.ChronoLocalDate;
				public dateEpochDay(param0: number): java.time.chrono.ChronoLocalDate;
			}
		}
	}
}

declare module java {
	export module time {
		export module chrono {
			export class JapaneseDate extends java.lang.Object implements java.time.chrono.ChronoLocalDate, java.time.temporal.Temporal, java.time.temporal.TemporalAdjuster, java.io.Serializable {
				public static class: java.lang.Class<java.time.chrono.JapaneseDate>;
				public plus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.chrono.ChronoLocalDate;
				public static now(): java.time.chrono.JapaneseDate;
				public atTime(param0: java.time.LocalTime): java.time.chrono.ChronoLocalDateTime<any>;
				public static from(param0: java.time.temporal.TemporalAccessor): java.time.chrono.JapaneseDate;
				public getEra(): java.time.chrono.Era;
				public minus(param0: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
				public static timeLineOrder(): java.util.Comparator<java.time.chrono.ChronoLocalDate>;
				public getLong(param0: java.time.temporal.TemporalField): number;
				public static now(param0: java.time.Clock): java.time.chrono.JapaneseDate;
				public static of(param0: number, param1: number, param2: number): java.time.chrono.JapaneseDate;
				public lengthOfYear(): number;
				public until(param0: java.time.temporal.Temporal, param1: java.time.temporal.TemporalUnit): number;
				public hashCode(): number;
				public with(param0: java.time.temporal.TemporalField, param1: number): java.time.temporal.Temporal;
				public get(param0: java.time.temporal.TemporalField): number;
				public equals(param0: any): boolean;
				public format(param0: java.time.format.DateTimeFormatter): string;
				public minus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.chrono.ChronoLocalDate;
				public getChronology(): java.time.chrono.JapaneseChronology;
				public toString(): string;
				public plus(param0: java.time.temporal.TemporalAmount): java.time.chrono.ChronoLocalDate;
				public isSupported(param0: java.time.temporal.TemporalField): boolean;
				public minus(param0: java.time.temporal.TemporalAmount): java.time.chrono.ChronoLocalDate;
				public isAfter(param0: java.time.chrono.ChronoLocalDate): boolean;
				public with(param0: java.time.temporal.TemporalAdjuster): java.time.chrono.ChronoLocalDate;
				public getChronology(): java.time.chrono.Chronology;
				public isSupported(param0: java.time.temporal.TemporalUnit): boolean;
				public with(param0: java.time.temporal.TemporalField, param1: number): java.time.chrono.ChronoLocalDate;
				public isEqual(param0: java.time.chrono.ChronoLocalDate): boolean;
				public isBefore(param0: java.time.chrono.ChronoLocalDate): boolean;
				public lengthOfMonth(): number;
				public with(param0: java.time.temporal.TemporalField, param1: number): java.time.chrono.JapaneseDate;
				public plus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.chrono.JapaneseDate;
				public range(param0: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
				public with(param0: java.time.temporal.TemporalAdjuster): java.time.chrono.JapaneseDate;
				public minus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.chrono.JapaneseDate;
				public atTime(param0: java.time.LocalTime): java.time.chrono.ChronoLocalDateTime<java.time.chrono.JapaneseDate>;
				public adjustInto(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
				public toEpochDay(): number;
				public minus(param0: java.time.temporal.TemporalAmount): java.time.chrono.JapaneseDate;
				public compareTo(param0: java.time.chrono.ChronoLocalDate): number;
				public minus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
				public query(param0: java.time.temporal.TemporalQuery<any>): any;
				public static now(param0: java.time.ZoneId): java.time.chrono.JapaneseDate;
				public until(param0: java.time.chrono.ChronoLocalDate): java.time.chrono.ChronoPeriod;
				public getEra(): java.time.chrono.JapaneseEra;
				public plus(param0: java.time.temporal.TemporalAmount): java.time.chrono.JapaneseDate;
				public static from(param0: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoLocalDate;
				public static of(param0: java.time.chrono.JapaneseEra, param1: number, param2: number, param3: number): java.time.chrono.JapaneseDate;
				public isLeapYear(): boolean;
				public plus(param0: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
				public with(param0: java.time.temporal.TemporalAdjuster): java.time.temporal.Temporal;
				public plus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
			}
		}
	}
}

declare module java {
	export module time {
		export module chrono {
			export class JapaneseEra extends java.lang.Object implements java.time.chrono.Era, java.io.Serializable {
				public static class: java.lang.Class<java.time.chrono.JapaneseEra>;
				public static HEISEI: java.time.chrono.JapaneseEra;
				public static MEIJI: java.time.chrono.JapaneseEra;
				public static SHOWA: java.time.chrono.JapaneseEra;
				public static TAISHO: java.time.chrono.JapaneseEra;
				public getDisplayName(param0: java.time.format.TextStyle, param1: java.util.Locale): string;
				public isSupported(param0: java.time.temporal.TemporalField): boolean;
				public static values(): native.Array<java.time.chrono.JapaneseEra>;
				public adjustInto(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
				public get(param0: java.time.temporal.TemporalField): number;
				public query(param0: java.time.temporal.TemporalQuery<any>): any;
				public static of(param0: number): java.time.chrono.JapaneseEra;
				public static valueOf(param0: string): java.time.chrono.JapaneseEra;
				public range(param0: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
				public getLong(param0: java.time.temporal.TemporalField): number;
				public getValue(): number;
				public toString(): string;
			}
		}
	}
}

declare module java {
	export module time {
		export module chrono {
			export class MinguoChronology extends java.time.chrono.AbstractChronology implements java.io.Serializable {
				public static class: java.lang.Class<java.time.chrono.MinguoChronology>;
				public static INSTANCE: java.time.chrono.MinguoChronology;
				public dateNow(param0: java.time.ZoneId): java.time.chrono.MinguoDate;
				public resolveDate(param0: java.util.Map<java.time.temporal.TemporalField,java.lang.Long>, param1: java.time.format.ResolverStyle): java.time.chrono.ChronoLocalDate;
				public getId(): string;
				public date(param0: java.time.temporal.TemporalAccessor): java.time.chrono.MinguoDate;
				public period(param0: number, param1: number, param2: number): java.time.chrono.ChronoPeriod;
				public localDateTime(param0: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoLocalDateTime<java.time.chrono.MinguoDate>;
				public zonedDateTime(param0: java.time.Instant, param1: java.time.ZoneId): java.time.chrono.ChronoZonedDateTime<java.time.chrono.MinguoDate>;
				public localDateTime(param0: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoLocalDateTime<any>;
				public date(param0: number, param1: number, param2: number): java.time.chrono.MinguoDate;
				public dateYearDay(param0: number, param1: number): java.time.chrono.ChronoLocalDate;
				public dateNow(): java.time.chrono.MinguoDate;
				public prolepticYear(param0: java.time.chrono.Era, param1: number): number;
				public dateYearDay(param0: number, param1: number): java.time.chrono.MinguoDate;
				public hashCode(): number;
				public static ofLocale(param0: java.util.Locale): java.time.chrono.Chronology;
				public equals(param0: any): boolean;
				public dateYearDay(param0: java.time.chrono.Era, param1: number, param2: number): java.time.chrono.MinguoDate;
				public range(param0: java.time.temporal.ChronoField): java.time.temporal.ValueRange;
				public zonedDateTime(param0: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoZonedDateTime<any>;
				public eras(): java.util.List<java.time.chrono.Era>;
				public dateNow(param0: java.time.Clock): java.time.chrono.MinguoDate;
				public dateNow(param0: java.time.Clock): java.time.chrono.ChronoLocalDate;
				public dateYearDay(param0: java.time.chrono.Era, param1: number, param2: number): java.time.chrono.ChronoLocalDate;
				public resolveDate(param0: java.util.Map<java.time.temporal.TemporalField,java.lang.Long>, param1: java.time.format.ResolverStyle): java.time.chrono.MinguoDate;
				public compareTo(param0: java.time.chrono.Chronology): number;
				public dateNow(param0: java.time.ZoneId): java.time.chrono.ChronoLocalDate;
				public eraOf(param0: number): java.time.chrono.Era;
				public static of(param0: string): java.time.chrono.Chronology;
				public date(param0: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoLocalDate;
				public date(param0: java.time.chrono.Era, param1: number, param2: number, param3: number): java.time.chrono.MinguoDate;
				public dateEpochDay(param0: number): java.time.chrono.MinguoDate;
				public toString(): string;
				public date(param0: number, param1: number, param2: number): java.time.chrono.ChronoLocalDate;
				public getDisplayName(param0: java.time.format.TextStyle, param1: java.util.Locale): string;
				public zonedDateTime(param0: java.time.Instant, param1: java.time.ZoneId): java.time.chrono.ChronoZonedDateTime<any>;
				public static from(param0: java.time.temporal.TemporalAccessor): java.time.chrono.Chronology;
				public static getAvailableChronologies(): java.util.Set<java.time.chrono.Chronology>;
				public eraOf(param0: number): java.time.chrono.MinguoEra;
				public isLeapYear(param0: number): boolean;
				public dateNow(): java.time.chrono.ChronoLocalDate;
				public getCalendarType(): string;
				public zonedDateTime(param0: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoZonedDateTime<java.time.chrono.MinguoDate>;
				public date(param0: java.time.chrono.Era, param1: number, param2: number, param3: number): java.time.chrono.ChronoLocalDate;
				public dateEpochDay(param0: number): java.time.chrono.ChronoLocalDate;
			}
		}
	}
}

declare module java {
	export module time {
		export module chrono {
			export class MinguoDate extends java.lang.Object implements java.time.chrono.ChronoLocalDate, java.time.temporal.Temporal, java.time.temporal.TemporalAdjuster, java.io.Serializable {
				public static class: java.lang.Class<java.time.chrono.MinguoDate>;
				public plus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.chrono.ChronoLocalDate;
				public atTime(param0: java.time.LocalTime): java.time.chrono.ChronoLocalDateTime<any>;
				public minus(param0: java.time.temporal.TemporalAmount): java.time.chrono.MinguoDate;
				public getEra(): java.time.chrono.Era;
				public minus(param0: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
				public static timeLineOrder(): java.util.Comparator<java.time.chrono.ChronoLocalDate>;
				public getLong(param0: java.time.temporal.TemporalField): number;
				public lengthOfYear(): number;
				public until(param0: java.time.temporal.Temporal, param1: java.time.temporal.TemporalUnit): number;
				public with(param0: java.time.temporal.TemporalField, param1: number): java.time.chrono.MinguoDate;
				public hashCode(): number;
				public with(param0: java.time.temporal.TemporalField, param1: number): java.time.temporal.Temporal;
				public get(param0: java.time.temporal.TemporalField): number;
				public equals(param0: any): boolean;
				public format(param0: java.time.format.DateTimeFormatter): string;
				public minus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.chrono.ChronoLocalDate;
				public atTime(param0: java.time.LocalTime): java.time.chrono.ChronoLocalDateTime<java.time.chrono.MinguoDate>;
				public toString(): string;
				public plus(param0: java.time.temporal.TemporalAmount): java.time.chrono.ChronoLocalDate;
				public isSupported(param0: java.time.temporal.TemporalField): boolean;
				public minus(param0: java.time.temporal.TemporalAmount): java.time.chrono.ChronoLocalDate;
				public isAfter(param0: java.time.chrono.ChronoLocalDate): boolean;
				public with(param0: java.time.temporal.TemporalAdjuster): java.time.chrono.ChronoLocalDate;
				public getChronology(): java.time.chrono.Chronology;
				public isSupported(param0: java.time.temporal.TemporalUnit): boolean;
				public with(param0: java.time.temporal.TemporalField, param1: number): java.time.chrono.ChronoLocalDate;
				public isEqual(param0: java.time.chrono.ChronoLocalDate): boolean;
				public isBefore(param0: java.time.chrono.ChronoLocalDate): boolean;
				public lengthOfMonth(): number;
				public range(param0: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
				public static now(param0: java.time.Clock): java.time.chrono.MinguoDate;
				public plus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.chrono.MinguoDate;
				public getChronology(): java.time.chrono.MinguoChronology;
				public adjustInto(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
				public static of(param0: number, param1: number, param2: number): java.time.chrono.MinguoDate;
				public getEra(): java.time.chrono.MinguoEra;
				public toEpochDay(): number;
				public compareTo(param0: java.time.chrono.ChronoLocalDate): number;
				public minus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
				public static now(): java.time.chrono.MinguoDate;
				public minus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.chrono.MinguoDate;
				public query(param0: java.time.temporal.TemporalQuery<any>): any;
				public static from(param0: java.time.temporal.TemporalAccessor): java.time.chrono.MinguoDate;
				public until(param0: java.time.chrono.ChronoLocalDate): java.time.chrono.ChronoPeriod;
				public static from(param0: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoLocalDate;
				public isLeapYear(): boolean;
				public plus(param0: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
				public with(param0: java.time.temporal.TemporalAdjuster): java.time.temporal.Temporal;
				public with(param0: java.time.temporal.TemporalAdjuster): java.time.chrono.MinguoDate;
				public plus(param0: java.time.temporal.TemporalAmount): java.time.chrono.MinguoDate;
				public static now(param0: java.time.ZoneId): java.time.chrono.MinguoDate;
				public plus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
			}
		}
	}
}

declare module java {
	export module time {
		export module chrono {
			export class MinguoEra extends java.time.chrono.Era {
				public static class: java.lang.Class<java.time.chrono.MinguoEra>;
				public static BEFORE_ROC: java.time.chrono.MinguoEra;
				public static ROC: java.time.chrono.MinguoEra;
				public static values(): native.Array<java.time.chrono.MinguoEra>;
				public getDisplayName(param0: java.time.format.TextStyle, param1: java.util.Locale): string;
				public isSupported(param0: java.time.temporal.TemporalField): boolean;
				public adjustInto(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
				public get(param0: java.time.temporal.TemporalField): number;
				public query(param0: java.time.temporal.TemporalQuery<any>): any;
				public static valueOf(param0: string): java.time.chrono.MinguoEra;
				public range(param0: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
				public getLong(param0: java.time.temporal.TemporalField): number;
				public getValue(): number;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
				public static of(param0: number): java.time.chrono.MinguoEra;
			}
		}
	}
}

declare module java {
	export module time {
		export module chrono {
			export class ThaiBuddhistChronology extends java.time.chrono.AbstractChronology implements java.io.Serializable {
				public static class: java.lang.Class<java.time.chrono.ThaiBuddhistChronology>;
				public static INSTANCE: java.time.chrono.ThaiBuddhistChronology;
				public date(param0: java.time.chrono.Era, param1: number, param2: number, param3: number): java.time.chrono.ThaiBuddhistDate;
				public dateYearDay(param0: java.time.chrono.Era, param1: number, param2: number): java.time.chrono.ThaiBuddhistDate;
				public resolveDate(param0: java.util.Map<java.time.temporal.TemporalField,java.lang.Long>, param1: java.time.format.ResolverStyle): java.time.chrono.ChronoLocalDate;
				public getId(): string;
				public date(param0: number, param1: number, param2: number): java.time.chrono.ThaiBuddhistDate;
				public period(param0: number, param1: number, param2: number): java.time.chrono.ChronoPeriod;
				public resolveDate(param0: java.util.Map<java.time.temporal.TemporalField,java.lang.Long>, param1: java.time.format.ResolverStyle): java.time.chrono.ThaiBuddhistDate;
				public localDateTime(param0: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoLocalDateTime<any>;
				public dateYearDay(param0: number, param1: number): java.time.chrono.ChronoLocalDate;
				public prolepticYear(param0: java.time.chrono.Era, param1: number): number;
				public dateNow(param0: java.time.ZoneId): java.time.chrono.ThaiBuddhistDate;
				public hashCode(): number;
				public static ofLocale(param0: java.util.Locale): java.time.chrono.Chronology;
				public equals(param0: any): boolean;
				public range(param0: java.time.temporal.ChronoField): java.time.temporal.ValueRange;
				public zonedDateTime(param0: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoZonedDateTime<any>;
				public dateEpochDay(param0: number): java.time.chrono.ThaiBuddhistDate;
				public eraOf(param0: number): java.time.chrono.ThaiBuddhistEra;
				public eras(): java.util.List<java.time.chrono.Era>;
				public dateNow(param0: java.time.Clock): java.time.chrono.ChronoLocalDate;
				public zonedDateTime(param0: java.time.Instant, param1: java.time.ZoneId): java.time.chrono.ChronoZonedDateTime<java.time.chrono.ThaiBuddhistDate>;
				public dateYearDay(param0: java.time.chrono.Era, param1: number, param2: number): java.time.chrono.ChronoLocalDate;
				public dateYearDay(param0: number, param1: number): java.time.chrono.ThaiBuddhistDate;
				public compareTo(param0: java.time.chrono.Chronology): number;
				public dateNow(param0: java.time.ZoneId): java.time.chrono.ChronoLocalDate;
				public eraOf(param0: number): java.time.chrono.Era;
				public static of(param0: string): java.time.chrono.Chronology;
				public date(param0: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoLocalDate;
				public dateNow(): java.time.chrono.ThaiBuddhistDate;
				public date(param0: java.time.temporal.TemporalAccessor): java.time.chrono.ThaiBuddhistDate;
				public toString(): string;
				public date(param0: number, param1: number, param2: number): java.time.chrono.ChronoLocalDate;
				public getDisplayName(param0: java.time.format.TextStyle, param1: java.util.Locale): string;
				public zonedDateTime(param0: java.time.Instant, param1: java.time.ZoneId): java.time.chrono.ChronoZonedDateTime<any>;
				public static from(param0: java.time.temporal.TemporalAccessor): java.time.chrono.Chronology;
				public static getAvailableChronologies(): java.util.Set<java.time.chrono.Chronology>;
				public isLeapYear(param0: number): boolean;
				public dateNow(): java.time.chrono.ChronoLocalDate;
				public getCalendarType(): string;
				public dateNow(param0: java.time.Clock): java.time.chrono.ThaiBuddhistDate;
				public date(param0: java.time.chrono.Era, param1: number, param2: number, param3: number): java.time.chrono.ChronoLocalDate;
				public zonedDateTime(param0: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoZonedDateTime<java.time.chrono.ThaiBuddhistDate>;
				public dateEpochDay(param0: number): java.time.chrono.ChronoLocalDate;
				public localDateTime(param0: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoLocalDateTime<java.time.chrono.ThaiBuddhistDate>;
			}
		}
	}
}

declare module java {
	export module time {
		export module chrono {
			export class ThaiBuddhistDate extends java.lang.Object implements java.time.chrono.ChronoLocalDate, java.time.temporal.Temporal, java.time.temporal.TemporalAdjuster, java.io.Serializable {
				public static class: java.lang.Class<java.time.chrono.ThaiBuddhistDate>;
				public plus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.chrono.ChronoLocalDate;
				public atTime(param0: java.time.LocalTime): java.time.chrono.ChronoLocalDateTime<any>;
				public getEra(): java.time.chrono.Era;
				public minus(param0: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
				public static from(param0: java.time.temporal.TemporalAccessor): java.time.chrono.ThaiBuddhistDate;
				public static timeLineOrder(): java.util.Comparator<java.time.chrono.ChronoLocalDate>;
				public getLong(param0: java.time.temporal.TemporalField): number;
				public atTime(param0: java.time.LocalTime): java.time.chrono.ChronoLocalDateTime<java.time.chrono.ThaiBuddhistDate>;
				public lengthOfYear(): number;
				public until(param0: java.time.temporal.Temporal, param1: java.time.temporal.TemporalUnit): number;
				public hashCode(): number;
				public with(param0: java.time.temporal.TemporalField, param1: number): java.time.temporal.Temporal;
				public get(param0: java.time.temporal.TemporalField): number;
				public with(param0: java.time.temporal.TemporalField, param1: number): java.time.chrono.ThaiBuddhistDate;
				public equals(param0: any): boolean;
				public format(param0: java.time.format.DateTimeFormatter): string;
				public minus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.chrono.ChronoLocalDate;
				public toString(): string;
				public static now(param0: java.time.Clock): java.time.chrono.ThaiBuddhistDate;
				public plus(param0: java.time.temporal.TemporalAmount): java.time.chrono.ChronoLocalDate;
				public static now(param0: java.time.ZoneId): java.time.chrono.ThaiBuddhistDate;
				public with(param0: java.time.temporal.TemporalAdjuster): java.time.chrono.ThaiBuddhistDate;
				public isSupported(param0: java.time.temporal.TemporalField): boolean;
				public minus(param0: java.time.temporal.TemporalAmount): java.time.chrono.ChronoLocalDate;
				public plus(param0: java.time.temporal.TemporalAmount): java.time.chrono.ThaiBuddhistDate;
				public getChronology(): java.time.chrono.ThaiBuddhistChronology;
				public isAfter(param0: java.time.chrono.ChronoLocalDate): boolean;
				public with(param0: java.time.temporal.TemporalAdjuster): java.time.chrono.ChronoLocalDate;
				public getChronology(): java.time.chrono.Chronology;
				public static now(): java.time.chrono.ThaiBuddhistDate;
				public isSupported(param0: java.time.temporal.TemporalUnit): boolean;
				public with(param0: java.time.temporal.TemporalField, param1: number): java.time.chrono.ChronoLocalDate;
				public isEqual(param0: java.time.chrono.ChronoLocalDate): boolean;
				public isBefore(param0: java.time.chrono.ChronoLocalDate): boolean;
				public lengthOfMonth(): number;
				public range(param0: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
				public static of(param0: number, param1: number, param2: number): java.time.chrono.ThaiBuddhistDate;
				public plus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.chrono.ThaiBuddhistDate;
				public adjustInto(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
				public getEra(): java.time.chrono.ThaiBuddhistEra;
				public toEpochDay(): number;
				public compareTo(param0: java.time.chrono.ChronoLocalDate): number;
				public minus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
				public minus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.chrono.ThaiBuddhistDate;
				public query(param0: java.time.temporal.TemporalQuery<any>): any;
				public until(param0: java.time.chrono.ChronoLocalDate): java.time.chrono.ChronoPeriod;
				public static from(param0: java.time.temporal.TemporalAccessor): java.time.chrono.ChronoLocalDate;
				public isLeapYear(): boolean;
				public plus(param0: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
				public with(param0: java.time.temporal.TemporalAdjuster): java.time.temporal.Temporal;
				public minus(param0: java.time.temporal.TemporalAmount): java.time.chrono.ThaiBuddhistDate;
				public plus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
			}
		}
	}
}

declare module java {
	export module time {
		export module chrono {
			export class ThaiBuddhistEra extends java.time.chrono.Era {
				public static class: java.lang.Class<java.time.chrono.ThaiBuddhistEra>;
				public static BEFORE_BE: java.time.chrono.ThaiBuddhistEra;
				public static BE: java.time.chrono.ThaiBuddhistEra;
				public getDisplayName(param0: java.time.format.TextStyle, param1: java.util.Locale): string;
				public static of(param0: number): java.time.chrono.ThaiBuddhistEra;
				public isSupported(param0: java.time.temporal.TemporalField): boolean;
				public adjustInto(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
				public get(param0: java.time.temporal.TemporalField): number;
				public query(param0: java.time.temporal.TemporalQuery<any>): any;
				public range(param0: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
				public getLong(param0: java.time.temporal.TemporalField): number;
				public getValue(): number;
				public static valueOf(param0: string): java.time.chrono.ThaiBuddhistEra;
				public static values(): native.Array<java.time.chrono.ThaiBuddhistEra>;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			}
		}
	}
}

declare module java {
	export module time {
		export module format {
			export class DateTimeFormatter extends java.lang.Object {
				public static class: java.lang.Class<java.time.format.DateTimeFormatter>;
				public static BASIC_ISO_DATE: java.time.format.DateTimeFormatter;
				public static ISO_DATE: java.time.format.DateTimeFormatter;
				public static ISO_DATE_TIME: java.time.format.DateTimeFormatter;
				public static ISO_INSTANT: java.time.format.DateTimeFormatter;
				public static ISO_LOCAL_DATE: java.time.format.DateTimeFormatter;
				public static ISO_LOCAL_DATE_TIME: java.time.format.DateTimeFormatter;
				public static ISO_LOCAL_TIME: java.time.format.DateTimeFormatter;
				public static ISO_OFFSET_DATE: java.time.format.DateTimeFormatter;
				public static ISO_OFFSET_DATE_TIME: java.time.format.DateTimeFormatter;
				public static ISO_OFFSET_TIME: java.time.format.DateTimeFormatter;
				public static ISO_ORDINAL_DATE: java.time.format.DateTimeFormatter;
				public static ISO_TIME: java.time.format.DateTimeFormatter;
				public static ISO_WEEK_DATE: java.time.format.DateTimeFormatter;
				public static ISO_ZONED_DATE_TIME: java.time.format.DateTimeFormatter;
				public static RFC_1123_DATE_TIME: java.time.format.DateTimeFormatter;
				public static ofPattern(param0: string, param1: java.util.Locale): java.time.format.DateTimeFormatter;
				public static ofLocalizedTime(param0: java.time.format.FormatStyle): java.time.format.DateTimeFormatter;
				public static parsedLeapSecond(): java.time.temporal.TemporalQuery<java.lang.Boolean>;
				public withResolverFields(param0: java.util.Set<java.time.temporal.TemporalField>): java.time.format.DateTimeFormatter;
				public getLocale(): java.util.Locale;
				public static parsedExcessDays(): java.time.temporal.TemporalQuery<java.time.Period>;
				public withZone(param0: java.time.ZoneId): java.time.format.DateTimeFormatter;
				public toFormat(param0: java.time.temporal.TemporalQuery<any>): java.text.Format;
				public withLocale(param0: java.util.Locale): java.time.format.DateTimeFormatter;
				public withChronology(param0: java.time.chrono.Chronology): java.time.format.DateTimeFormatter;
				public withDecimalStyle(param0: java.time.format.DecimalStyle): java.time.format.DateTimeFormatter;
				public static ofLocalizedDateTime(param0: java.time.format.FormatStyle): java.time.format.DateTimeFormatter;
				public formatTo(param0: java.time.temporal.TemporalAccessor, param1: java.lang.Appendable): void;
				public getZone(): java.time.ZoneId;
				public toFormat(): java.text.Format;
				public getResolverStyle(): java.time.format.ResolverStyle;
				public parse(param0: string, param1: java.time.temporal.TemporalQuery<any>): any;
				public format(param0: java.time.temporal.TemporalAccessor): string;
				public parseBest(param0: string, param1: native.Array<java.time.temporal.TemporalQuery<any>>): java.time.temporal.TemporalAccessor;
				public static ofLocalizedDateTime(param0: java.time.format.FormatStyle, param1: java.time.format.FormatStyle): java.time.format.DateTimeFormatter;
				public toString(): string;
				public getDecimalStyle(): java.time.format.DecimalStyle;
				public withResolverFields(param0: native.Array<java.time.temporal.TemporalField>): java.time.format.DateTimeFormatter;
				public static ofLocalizedDate(param0: java.time.format.FormatStyle): java.time.format.DateTimeFormatter;
				public parse(param0: string, param1: java.text.ParsePosition): java.time.temporal.TemporalAccessor;
				public static ofPattern(param0: string): java.time.format.DateTimeFormatter;
				public getResolverFields(): java.util.Set<java.time.temporal.TemporalField>;
				public parse(param0: string): java.time.temporal.TemporalAccessor;
				public withResolverStyle(param0: java.time.format.ResolverStyle): java.time.format.DateTimeFormatter;
				public getChronology(): java.time.chrono.Chronology;
				public parseUnresolved(param0: string, param1: java.text.ParsePosition): java.time.temporal.TemporalAccessor;
			}
		}
	}
}

declare module java {
	export module time {
		export module format {
			export class DateTimeFormatterBuilder extends java.lang.Object {
				public static class: java.lang.Class<java.time.format.DateTimeFormatterBuilder>;
				public appendZoneOrOffsetId(): java.time.format.DateTimeFormatterBuilder;
				public append(param0: java.time.format.DateTimeFormatter): java.time.format.DateTimeFormatterBuilder;
				public appendFraction(param0: java.time.temporal.TemporalField, param1: number, param2: number, param3: boolean): java.time.format.DateTimeFormatterBuilder;
				public appendText(param0: java.time.temporal.TemporalField, param1: java.util.Map<java.lang.Long,string>): java.time.format.DateTimeFormatterBuilder;
				public optionalStart(): java.time.format.DateTimeFormatterBuilder;
				public constructor();
				public parseCaseSensitive(): java.time.format.DateTimeFormatterBuilder;
				public appendInstant(param0: number): java.time.format.DateTimeFormatterBuilder;
				public appendOffsetId(): java.time.format.DateTimeFormatterBuilder;
				public appendValueReduced(param0: java.time.temporal.TemporalField, param1: number, param2: number, param3: number): java.time.format.DateTimeFormatterBuilder;
				public appendZoneText(param0: java.time.format.TextStyle, param1: java.util.Set<java.time.ZoneId>): java.time.format.DateTimeFormatterBuilder;
				public appendValue(param0: java.time.temporal.TemporalField, param1: number): java.time.format.DateTimeFormatterBuilder;
				public appendLocalized(param0: java.time.format.FormatStyle, param1: java.time.format.FormatStyle): java.time.format.DateTimeFormatterBuilder;
				public appendInstant(): java.time.format.DateTimeFormatterBuilder;
				public toFormatter(param0: java.util.Locale): java.time.format.DateTimeFormatter;
				public appendLiteral(param0: string): java.time.format.DateTimeFormatterBuilder;
				public parseStrict(): java.time.format.DateTimeFormatterBuilder;
				public optionalEnd(): java.time.format.DateTimeFormatterBuilder;
				public appendChronologyText(param0: java.time.format.TextStyle): java.time.format.DateTimeFormatterBuilder;
				public appendOptional(param0: java.time.format.DateTimeFormatter): java.time.format.DateTimeFormatterBuilder;
				public appendZoneId(): java.time.format.DateTimeFormatterBuilder;
				public padNext(param0: number, param1: string): java.time.format.DateTimeFormatterBuilder;
				public appendLocalizedOffset(param0: java.time.format.TextStyle): java.time.format.DateTimeFormatterBuilder;
				public parseDefaulting(param0: java.time.temporal.TemporalField, param1: number): java.time.format.DateTimeFormatterBuilder;
				public appendChronologyId(): java.time.format.DateTimeFormatterBuilder;
				public toFormatter(): java.time.format.DateTimeFormatter;
				public padNext(param0: number): java.time.format.DateTimeFormatterBuilder;
				public appendText(param0: java.time.temporal.TemporalField, param1: java.time.format.TextStyle): java.time.format.DateTimeFormatterBuilder;
				public static getLocalizedDateTimePattern(param0: java.time.format.FormatStyle, param1: java.time.format.FormatStyle, param2: java.time.chrono.Chronology, param3: java.util.Locale): string;
				public appendText(param0: java.time.temporal.TemporalField): java.time.format.DateTimeFormatterBuilder;
				public appendOffset(param0: string, param1: string): java.time.format.DateTimeFormatterBuilder;
				public appendZoneText(param0: java.time.format.TextStyle): java.time.format.DateTimeFormatterBuilder;
				public appendValue(param0: java.time.temporal.TemporalField, param1: number, param2: number, param3: java.time.format.SignStyle): java.time.format.DateTimeFormatterBuilder;
				public appendValue(param0: java.time.temporal.TemporalField): java.time.format.DateTimeFormatterBuilder;
				public parseCaseInsensitive(): java.time.format.DateTimeFormatterBuilder;
				public parseLenient(): java.time.format.DateTimeFormatterBuilder;
				public appendValueReduced(param0: java.time.temporal.TemporalField, param1: number, param2: number, param3: java.time.chrono.ChronoLocalDate): java.time.format.DateTimeFormatterBuilder;
				public appendPattern(param0: string): java.time.format.DateTimeFormatterBuilder;
				public appendZoneRegionId(): java.time.format.DateTimeFormatterBuilder;
			}
		}
	}
}

declare module java {
	export module time {
		export module format {
			export class DateTimeParseException extends java.time.DateTimeException {
				public static class: java.lang.Class<java.time.format.DateTimeParseException>;
				public constructor(param0: string, param1: string, param2: number);
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string, param1: string, param2: number, param3: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
				public getParsedString(): string;
				public getErrorIndex(): number;
			}
		}
	}
}

declare module java {
	export module time {
		export module format {
			export class DecimalStyle extends java.lang.Object {
				public static class: java.lang.Class<java.time.format.DecimalStyle>;
				public static STANDARD: java.time.format.DecimalStyle;
				public static getAvailableLocales(): java.util.Set<java.util.Locale>;
				public getPositiveSign(): string;
				public getNegativeSign(): string;
				public withDecimalSeparator(param0: string): java.time.format.DecimalStyle;
				public toString(): string;
				public getZeroDigit(): string;
				public withPositiveSign(param0: string): java.time.format.DecimalStyle;
				public hashCode(): number;
				public withZeroDigit(param0: string): java.time.format.DecimalStyle;
				public equals(param0: any): boolean;
				public static ofDefaultLocale(): java.time.format.DecimalStyle;
				public static of(param0: java.util.Locale): java.time.format.DecimalStyle;
				public getDecimalSeparator(): string;
				public withNegativeSign(param0: string): java.time.format.DecimalStyle;
			}
		}
	}
}

declare module java {
	export module time {
		export module format {
			export class FormatStyle {
				public static class: java.lang.Class<java.time.format.FormatStyle>;
				public static FULL: java.time.format.FormatStyle;
				public static LONG: java.time.format.FormatStyle;
				public static MEDIUM: java.time.format.FormatStyle;
				public static SHORT: java.time.format.FormatStyle;
				public static values(): native.Array<java.time.format.FormatStyle>;
				public static valueOf(param0: string): java.time.format.FormatStyle;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			}
		}
	}
}

declare module java {
	export module time {
		export module format {
			export class ResolverStyle {
				public static class: java.lang.Class<java.time.format.ResolverStyle>;
				public static STRICT: java.time.format.ResolverStyle;
				public static SMART: java.time.format.ResolverStyle;
				public static LENIENT: java.time.format.ResolverStyle;
				public static values(): native.Array<java.time.format.ResolverStyle>;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
				public static valueOf(param0: string): java.time.format.ResolverStyle;
			}
		}
	}
}

declare module java {
	export module time {
		export module format {
			export class SignStyle {
				public static class: java.lang.Class<java.time.format.SignStyle>;
				public static NORMAL: java.time.format.SignStyle;
				public static ALWAYS: java.time.format.SignStyle;
				public static NEVER: java.time.format.SignStyle;
				public static NOT_NEGATIVE: java.time.format.SignStyle;
				public static EXCEEDS_PAD: java.time.format.SignStyle;
				public static valueOf(param0: string): java.time.format.SignStyle;
				public static values(): native.Array<java.time.format.SignStyle>;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			}
		}
	}
}

declare module java {
	export module time {
		export module format {
			export class TextStyle {
				public static class: java.lang.Class<java.time.format.TextStyle>;
				public static FULL: java.time.format.TextStyle;
				public static FULL_STANDALONE: java.time.format.TextStyle;
				public static SHORT: java.time.format.TextStyle;
				public static SHORT_STANDALONE: java.time.format.TextStyle;
				public static NARROW: java.time.format.TextStyle;
				public static NARROW_STANDALONE: java.time.format.TextStyle;
				public static valueOf(param0: string): java.time.format.TextStyle;
				public asStandalone(): java.time.format.TextStyle;
				public static values(): native.Array<java.time.format.TextStyle>;
				public asNormal(): java.time.format.TextStyle;
				public isStandalone(): boolean;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			}
		}
	}
}

declare module java {
	export module time {
		export module temporal {
			export class ChronoField extends java.time.temporal.TemporalField {
				public static class: java.lang.Class<java.time.temporal.ChronoField>;
				public static NANO_OF_SECOND: java.time.temporal.ChronoField;
				public static NANO_OF_DAY: java.time.temporal.ChronoField;
				public static MICRO_OF_SECOND: java.time.temporal.ChronoField;
				public static MICRO_OF_DAY: java.time.temporal.ChronoField;
				public static MILLI_OF_SECOND: java.time.temporal.ChronoField;
				public static MILLI_OF_DAY: java.time.temporal.ChronoField;
				public static SECOND_OF_MINUTE: java.time.temporal.ChronoField;
				public static SECOND_OF_DAY: java.time.temporal.ChronoField;
				public static MINUTE_OF_HOUR: java.time.temporal.ChronoField;
				public static MINUTE_OF_DAY: java.time.temporal.ChronoField;
				public static HOUR_OF_AMPM: java.time.temporal.ChronoField;
				public static CLOCK_HOUR_OF_AMPM: java.time.temporal.ChronoField;
				public static HOUR_OF_DAY: java.time.temporal.ChronoField;
				public static CLOCK_HOUR_OF_DAY: java.time.temporal.ChronoField;
				public static AMPM_OF_DAY: java.time.temporal.ChronoField;
				public static DAY_OF_WEEK: java.time.temporal.ChronoField;
				public static ALIGNED_DAY_OF_WEEK_IN_MONTH: java.time.temporal.ChronoField;
				public static ALIGNED_DAY_OF_WEEK_IN_YEAR: java.time.temporal.ChronoField;
				public static DAY_OF_MONTH: java.time.temporal.ChronoField;
				public static DAY_OF_YEAR: java.time.temporal.ChronoField;
				public static EPOCH_DAY: java.time.temporal.ChronoField;
				public static ALIGNED_WEEK_OF_MONTH: java.time.temporal.ChronoField;
				public static ALIGNED_WEEK_OF_YEAR: java.time.temporal.ChronoField;
				public static MONTH_OF_YEAR: java.time.temporal.ChronoField;
				public static PROLEPTIC_MONTH: java.time.temporal.ChronoField;
				public static YEAR_OF_ERA: java.time.temporal.ChronoField;
				public static YEAR: java.time.temporal.ChronoField;
				public static ERA: java.time.temporal.ChronoField;
				public static INSTANT_SECONDS: java.time.temporal.ChronoField;
				public static OFFSET_SECONDS: java.time.temporal.ChronoField;
				public checkValidValue(param0: number): number;
				public adjustInto(param0: java.time.temporal.Temporal, param1: number): java.time.temporal.Temporal;
				public resolve(param0: java.util.Map<java.time.temporal.TemporalField,java.lang.Long>, param1: java.time.temporal.TemporalAccessor, param2: java.time.format.ResolverStyle): java.time.temporal.TemporalAccessor;
				public checkValidIntValue(param0: number): number;
				public isDateBased(): boolean;
				public static values(): native.Array<java.time.temporal.ChronoField>;
				public getDisplayName(param0: java.util.Locale): string;
				public getBaseUnit(): java.time.temporal.TemporalUnit;
				public toString(): string;
				public rangeRefinedBy(param0: java.time.temporal.TemporalAccessor): java.time.temporal.ValueRange;
				public static valueOf(param0: string): java.time.temporal.ChronoField;
				public getRangeUnit(): java.time.temporal.TemporalUnit;
				public isSupportedBy(param0: java.time.temporal.TemporalAccessor): boolean;
				public isTimeBased(): boolean;
				public range(): java.time.temporal.ValueRange;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
				public getFrom(param0: java.time.temporal.TemporalAccessor): number;
			}
		}
	}
}

declare module java {
	export module time {
		export module temporal {
			export class ChronoUnit extends java.time.temporal.TemporalUnit {
				public static class: java.lang.Class<java.time.temporal.ChronoUnit>;
				public static NANOS: java.time.temporal.ChronoUnit;
				public static MICROS: java.time.temporal.ChronoUnit;
				public static MILLIS: java.time.temporal.ChronoUnit;
				public static SECONDS: java.time.temporal.ChronoUnit;
				public static MINUTES: java.time.temporal.ChronoUnit;
				public static HOURS: java.time.temporal.ChronoUnit;
				public static HALF_DAYS: java.time.temporal.ChronoUnit;
				public static DAYS: java.time.temporal.ChronoUnit;
				public static WEEKS: java.time.temporal.ChronoUnit;
				public static MONTHS: java.time.temporal.ChronoUnit;
				public static YEARS: java.time.temporal.ChronoUnit;
				public static DECADES: java.time.temporal.ChronoUnit;
				public static CENTURIES: java.time.temporal.ChronoUnit;
				public static MILLENNIA: java.time.temporal.ChronoUnit;
				public static ERAS: java.time.temporal.ChronoUnit;
				public static FOREVER: java.time.temporal.ChronoUnit;
				public between(param0: java.time.temporal.Temporal, param1: java.time.temporal.Temporal): number;
				public static valueOf(param0: string): java.time.temporal.ChronoUnit;
				public static values(): native.Array<java.time.temporal.ChronoUnit>;
				public isTimeBased(): boolean;
				public isSupportedBy(param0: java.time.temporal.Temporal): boolean;
				public isDateBased(): boolean;
				public addTo(param0: java.time.temporal.Temporal, param1: number): java.time.temporal.Temporal;
				public toString(): string;
				public getDuration(): java.time.Duration;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
				public isDurationEstimated(): boolean;
			}
		}
	}
}

declare module java {
	export module time {
		export module temporal {
			export class IsoFields extends java.lang.Object {
				public static class: java.lang.Class<java.time.temporal.IsoFields>;
				public static DAY_OF_QUARTER: java.time.temporal.TemporalField;
				public static QUARTER_OF_YEAR: java.time.temporal.TemporalField;
				public static QUARTER_YEARS: java.time.temporal.TemporalUnit;
				public static WEEK_BASED_YEAR: java.time.temporal.TemporalField;
				public static WEEK_BASED_YEARS: java.time.temporal.TemporalUnit;
				public static WEEK_OF_WEEK_BASED_YEAR: java.time.temporal.TemporalField;
			}
		}
	}
}

declare module java {
	export module time {
		export module temporal {
			export class JulianFields extends java.lang.Object {
				public static class: java.lang.Class<java.time.temporal.JulianFields>;
				public static JULIAN_DAY: java.time.temporal.TemporalField;
				public static MODIFIED_JULIAN_DAY: java.time.temporal.TemporalField;
				public static RATA_DIE: java.time.temporal.TemporalField;
			}
		}
	}
}

declare module java {
	export module time {
		export module temporal {
			export class Temporal extends java.lang.Object implements java.time.temporal.TemporalAccessor {
				public static class: java.lang.Class<java.time.temporal.Temporal>;
				/**
				 * Constructs a new instance of the java.time.temporal.Temporal interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					isSupported(param0: java.time.temporal.TemporalUnit): boolean;
					with(param0: java.time.temporal.TemporalAdjuster): java.time.temporal.Temporal;
					with(param0: java.time.temporal.TemporalField, param1: number): java.time.temporal.Temporal;
					plus(param0: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
					plus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
					minus(param0: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
					minus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
					until(param0: java.time.temporal.Temporal, param1: java.time.temporal.TemporalUnit): number;
					isSupported(param0: java.time.temporal.TemporalField): boolean;
					range(param0: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
					get(param0: java.time.temporal.TemporalField): number;
					getLong(param0: java.time.temporal.TemporalField): number;
					query(param0: java.time.temporal.TemporalQuery<any>): any;
				});
				public constructor();
				public minus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
				public minus(param0: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
				public query(param0: java.time.temporal.TemporalQuery<any>): any;
				public range(param0: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
				public getLong(param0: java.time.temporal.TemporalField): number;
				public until(param0: java.time.temporal.Temporal, param1: java.time.temporal.TemporalUnit): number;
				public isSupported(param0: java.time.temporal.TemporalField): boolean;
				public plus(param0: java.time.temporal.TemporalAmount): java.time.temporal.Temporal;
				public with(param0: java.time.temporal.TemporalAdjuster): java.time.temporal.Temporal;
				public with(param0: java.time.temporal.TemporalField, param1: number): java.time.temporal.Temporal;
				public get(param0: java.time.temporal.TemporalField): number;
				public isSupported(param0: java.time.temporal.TemporalUnit): boolean;
				public plus(param0: number, param1: java.time.temporal.TemporalUnit): java.time.temporal.Temporal;
			}
		}
	}
}

declare module java {
	export module time {
		export module temporal {
			export class TemporalAccessor extends java.lang.Object {
				public static class: java.lang.Class<java.time.temporal.TemporalAccessor>;
				/**
				 * Constructs a new instance of the java.time.temporal.TemporalAccessor interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					isSupported(param0: java.time.temporal.TemporalField): boolean;
					range(param0: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
					get(param0: java.time.temporal.TemporalField): number;
					getLong(param0: java.time.temporal.TemporalField): number;
					query(param0: java.time.temporal.TemporalQuery<any>): any;
				});
				public constructor();
				public isSupported(param0: java.time.temporal.TemporalField): boolean;
				public get(param0: java.time.temporal.TemporalField): number;
				public query(param0: java.time.temporal.TemporalQuery<any>): any;
				public range(param0: java.time.temporal.TemporalField): java.time.temporal.ValueRange;
				public getLong(param0: java.time.temporal.TemporalField): number;
			}
		}
	}
}

declare module java {
	export module time {
		export module temporal {
			export class TemporalAdjuster extends java.lang.Object {
				public static class: java.lang.Class<java.time.temporal.TemporalAdjuster>;
				/**
				 * Constructs a new instance of the java.time.temporal.TemporalAdjuster interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					adjustInto(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
				});
				public constructor();
				public adjustInto(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
			}
		}
	}
}

declare module java {
	export module time {
		export module temporal {
			export class TemporalAdjusters extends java.lang.Object {
				public static class: java.lang.Class<java.time.temporal.TemporalAdjusters>;
				public static firstDayOfNextYear(): java.time.temporal.TemporalAdjuster;
				public static previous(param0: java.time.DayOfWeek): java.time.temporal.TemporalAdjuster;
				public static ofDateAdjuster(param0: any /* any*/): java.time.temporal.TemporalAdjuster;
				public static dayOfWeekInMonth(param0: number, param1: java.time.DayOfWeek): java.time.temporal.TemporalAdjuster;
				public static next(param0: java.time.DayOfWeek): java.time.temporal.TemporalAdjuster;
				public static firstDayOfNextMonth(): java.time.temporal.TemporalAdjuster;
				public static firstDayOfYear(): java.time.temporal.TemporalAdjuster;
				public static lastInMonth(param0: java.time.DayOfWeek): java.time.temporal.TemporalAdjuster;
				public static lastDayOfYear(): java.time.temporal.TemporalAdjuster;
				public static lastDayOfMonth(): java.time.temporal.TemporalAdjuster;
				public static firstDayOfMonth(): java.time.temporal.TemporalAdjuster;
				public static previousOrSame(param0: java.time.DayOfWeek): java.time.temporal.TemporalAdjuster;
				public static firstInMonth(param0: java.time.DayOfWeek): java.time.temporal.TemporalAdjuster;
				public static nextOrSame(param0: java.time.DayOfWeek): java.time.temporal.TemporalAdjuster;
			}
		}
	}
}

declare module java {
	export module time {
		export module temporal {
			export class TemporalAmount extends java.lang.Object {
				public static class: java.lang.Class<java.time.temporal.TemporalAmount>;
				/**
				 * Constructs a new instance of the java.time.temporal.TemporalAmount interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					get(param0: java.time.temporal.TemporalUnit): number;
					getUnits(): java.util.List<java.time.temporal.TemporalUnit>;
					addTo(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
					subtractFrom(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
				});
				public constructor();
				public get(param0: java.time.temporal.TemporalUnit): number;
				public getUnits(): java.util.List<java.time.temporal.TemporalUnit>;
				public addTo(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
				public subtractFrom(param0: java.time.temporal.Temporal): java.time.temporal.Temporal;
			}
		}
	}
}

declare module java {
	export module time {
		export module temporal {
			export class TemporalField extends java.lang.Object {
				public static class: java.lang.Class<java.time.temporal.TemporalField>;
				/**
				 * Constructs a new instance of the java.time.temporal.TemporalField interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getDisplayName(param0: java.util.Locale): string;
					getBaseUnit(): java.time.temporal.TemporalUnit;
					getRangeUnit(): java.time.temporal.TemporalUnit;
					range(): java.time.temporal.ValueRange;
					isDateBased(): boolean;
					isTimeBased(): boolean;
					isSupportedBy(param0: java.time.temporal.TemporalAccessor): boolean;
					rangeRefinedBy(param0: java.time.temporal.TemporalAccessor): java.time.temporal.ValueRange;
					getFrom(param0: java.time.temporal.TemporalAccessor): number;
					adjustInto(param0: java.time.temporal.Temporal, param1: number): java.time.temporal.Temporal;
					resolve(param0: java.util.Map<java.time.temporal.TemporalField,java.lang.Long>, param1: java.time.temporal.TemporalAccessor, param2: java.time.format.ResolverStyle): java.time.temporal.TemporalAccessor;
					toString(): string;
				});
				public constructor();
				public adjustInto(param0: java.time.temporal.Temporal, param1: number): java.time.temporal.Temporal;
				public isSupportedBy(param0: java.time.temporal.TemporalAccessor): boolean;
				public resolve(param0: java.util.Map<java.time.temporal.TemporalField,java.lang.Long>, param1: java.time.temporal.TemporalAccessor, param2: java.time.format.ResolverStyle): java.time.temporal.TemporalAccessor;
				public isTimeBased(): boolean;
				public range(): java.time.temporal.ValueRange;
				public isDateBased(): boolean;
				public getDisplayName(param0: java.util.Locale): string;
				public getBaseUnit(): java.time.temporal.TemporalUnit;
				public toString(): string;
				public rangeRefinedBy(param0: java.time.temporal.TemporalAccessor): java.time.temporal.ValueRange;
				public getRangeUnit(): java.time.temporal.TemporalUnit;
				public getFrom(param0: java.time.temporal.TemporalAccessor): number;
			}
		}
	}
}

declare module java {
	export module time {
		export module temporal {
			export class TemporalQueries extends java.lang.Object {
				public static class: java.lang.Class<java.time.temporal.TemporalQueries>;
				public static zone(): java.time.temporal.TemporalQuery<java.time.ZoneId>;
				public static offset(): java.time.temporal.TemporalQuery<java.time.ZoneOffset>;
				public static precision(): java.time.temporal.TemporalQuery<java.time.temporal.TemporalUnit>;
				public static zoneId(): java.time.temporal.TemporalQuery<java.time.ZoneId>;
				public static localDate(): java.time.temporal.TemporalQuery<java.time.LocalDate>;
				public static localTime(): java.time.temporal.TemporalQuery<java.time.LocalTime>;
				public static chronology(): java.time.temporal.TemporalQuery<java.time.chrono.Chronology>;
			}
		}
	}
}

declare module java {
	export module time {
		export module temporal {
			export class TemporalQuery<R>  extends java.lang.Object {
				public static class: java.lang.Class<java.time.temporal.TemporalQuery<any>>;
				/**
				 * Constructs a new instance of the java.time.temporal.TemporalQuery<any> interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					queryFrom(param0: java.time.temporal.TemporalAccessor): R;
				});
				public constructor();
				public queryFrom(param0: java.time.temporal.TemporalAccessor): R;
			}
		}
	}
}

declare module java {
	export module time {
		export module temporal {
			export class TemporalUnit extends java.lang.Object {
				public static class: java.lang.Class<java.time.temporal.TemporalUnit>;
				/**
				 * Constructs a new instance of the java.time.temporal.TemporalUnit interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getDuration(): java.time.Duration;
					isDurationEstimated(): boolean;
					isDateBased(): boolean;
					isTimeBased(): boolean;
					isSupportedBy(param0: java.time.temporal.Temporal): boolean;
					addTo(param0: java.time.temporal.Temporal, param1: number): java.time.temporal.Temporal;
					between(param0: java.time.temporal.Temporal, param1: java.time.temporal.Temporal): number;
					toString(): string;
				});
				public constructor();
				public between(param0: java.time.temporal.Temporal, param1: java.time.temporal.Temporal): number;
				public isTimeBased(): boolean;
				public isSupportedBy(param0: java.time.temporal.Temporal): boolean;
				public isDateBased(): boolean;
				public addTo(param0: java.time.temporal.Temporal, param1: number): java.time.temporal.Temporal;
				public toString(): string;
				public getDuration(): java.time.Duration;
				public isDurationEstimated(): boolean;
			}
		}
	}
}

declare module java {
	export module time {
		export module temporal {
			export class UnsupportedTemporalTypeException extends java.time.DateTimeException {
				public static class: java.lang.Class<java.time.temporal.UnsupportedTemporalTypeException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module time {
		export module temporal {
			export class ValueRange extends java.lang.Object implements java.io.Serializable {
				public static class: java.lang.Class<java.time.temporal.ValueRange>;
				public isValidValue(param0: number): boolean;
				public getMaximum(): number;
				public checkValidValue(param0: number, param1: java.time.temporal.TemporalField): number;
				public static of(param0: number, param1: number, param2: number, param3: number): java.time.temporal.ValueRange;
				public isIntValue(): boolean;
				public toString(): string;
				public isFixed(): boolean;
				public static of(param0: number, param1: number, param2: number): java.time.temporal.ValueRange;
				public checkValidIntValue(param0: number, param1: java.time.temporal.TemporalField): number;
				public hashCode(): number;
				public getMinimum(): number;
				public getLargestMinimum(): number;
				public equals(param0: any): boolean;
				public static of(param0: number, param1: number): java.time.temporal.ValueRange;
				public getSmallestMaximum(): number;
				public isValidIntValue(param0: number): boolean;
			}
		}
	}
}

declare module java {
	export module time {
		export module temporal {
			export class WeekFields extends java.lang.Object implements java.io.Serializable {
				public static class: java.lang.Class<java.time.temporal.WeekFields>;
				public static ISO: java.time.temporal.WeekFields;
				public static SUNDAY_START: java.time.temporal.WeekFields;
				public static WEEK_BASED_YEARS: java.time.temporal.TemporalUnit;
				public static of(param0: java.time.DayOfWeek, param1: number): java.time.temporal.WeekFields;
				public weekBasedYear(): java.time.temporal.TemporalField;
				public hashCode(): number;
				public static of(param0: java.util.Locale): java.time.temporal.WeekFields;
				public dayOfWeek(): java.time.temporal.TemporalField;
				public weekOfWeekBasedYear(): java.time.temporal.TemporalField;
				public equals(param0: any): boolean;
				public getFirstDayOfWeek(): java.time.DayOfWeek;
				public getMinimalDaysInFirstWeek(): number;
				public toString(): string;
				public weekOfYear(): java.time.temporal.TemporalField;
				public weekOfMonth(): java.time.temporal.TemporalField;
			}
		}
	}
}

declare module java {
	export module time {
		export module zone {
			export class ZoneOffsetTransition extends java.lang.Object {
				public static class: java.lang.Class<java.time.zone.ZoneOffsetTransition>;
				public compareTo(param0: java.time.zone.ZoneOffsetTransition): number;
				public isGap(): boolean;
				public static of(param0: java.time.LocalDateTime, param1: java.time.ZoneOffset, param2: java.time.ZoneOffset): java.time.zone.ZoneOffsetTransition;
				public getDateTimeBefore(): java.time.LocalDateTime;
				public isOverlap(): boolean;
				public toString(): string;
				public getDuration(): java.time.Duration;
				public getOffsetAfter(): java.time.ZoneOffset;
				public getOffsetBefore(): java.time.ZoneOffset;
				public isValidOffset(param0: java.time.ZoneOffset): boolean;
				public hashCode(): number;
				public equals(param0: any): boolean;
				public getDateTimeAfter(): java.time.LocalDateTime;
				public getInstant(): java.time.Instant;
				public toEpochSecond(): number;
			}
		}
	}
}

declare module java {
	export module time {
		export module zone {
			export class ZoneOffsetTransitionRule extends java.lang.Object implements java.io.Serializable {
				public static class: java.lang.Class<java.time.zone.ZoneOffsetTransitionRule>;
				public getTimeDefinition(): java.time.zone.ZoneOffsetTransitionRule.TimeDefinition;
				public static of(param0: java.time.Month, param1: number, param2: java.time.DayOfWeek, param3: java.time.LocalTime, param4: boolean, param5: java.time.zone.ZoneOffsetTransitionRule.TimeDefinition, param6: java.time.ZoneOffset, param7: java.time.ZoneOffset, param8: java.time.ZoneOffset): java.time.zone.ZoneOffsetTransitionRule;
				public toString(): string;
				public getOffsetAfter(): java.time.ZoneOffset;
				public isMidnightEndOfDay(): boolean;
				public getOffsetBefore(): java.time.ZoneOffset;
				public getDayOfMonthIndicator(): number;
				public createTransition(param0: number): java.time.zone.ZoneOffsetTransition;
				public getDayOfWeek(): java.time.DayOfWeek;
				public hashCode(): number;
				public getLocalTime(): java.time.LocalTime;
				public equals(param0: any): boolean;
				public getStandardOffset(): java.time.ZoneOffset;
				public getMonth(): java.time.Month;
			}
			export module ZoneOffsetTransitionRule {
				export class TimeDefinition {
					public static class: java.lang.Class<java.time.zone.ZoneOffsetTransitionRule.TimeDefinition>;
					public static UTC: java.time.zone.ZoneOffsetTransitionRule.TimeDefinition;
					public static WALL: java.time.zone.ZoneOffsetTransitionRule.TimeDefinition;
					public static STANDARD: java.time.zone.ZoneOffsetTransitionRule.TimeDefinition;
					public static valueOf(param0: string): java.time.zone.ZoneOffsetTransitionRule.TimeDefinition;
					public createDateTime(param0: java.time.LocalDateTime, param1: java.time.ZoneOffset, param2: java.time.ZoneOffset): java.time.LocalDateTime;
					public static values(): native.Array<java.time.zone.ZoneOffsetTransitionRule.TimeDefinition>;
					public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
				}
			}
		}
	}
}

declare module java {
	export module time {
		export module zone {
			export class ZoneRules extends java.lang.Object implements java.io.Serializable {
				public static class: java.lang.Class<java.time.zone.ZoneRules>;
				public nextTransition(param0: java.time.Instant): java.time.zone.ZoneOffsetTransition;
				public isFixedOffset(): boolean;
				public isDaylightSavings(param0: java.time.Instant): boolean;
				public previousTransition(param0: java.time.Instant): java.time.zone.ZoneOffsetTransition;
				public getValidOffsets(param0: java.time.LocalDateTime): java.util.List<java.time.ZoneOffset>;
				public toString(): string;
				public static of(param0: java.time.ZoneOffset): java.time.zone.ZoneRules;
				public getOffset(param0: java.time.LocalDateTime): java.time.ZoneOffset;
				public getTransition(param0: java.time.LocalDateTime): java.time.zone.ZoneOffsetTransition;
				public static of(param0: java.time.ZoneOffset, param1: java.time.ZoneOffset, param2: java.util.List<java.time.zone.ZoneOffsetTransition>, param3: java.util.List<java.time.zone.ZoneOffsetTransition>, param4: java.util.List<java.time.zone.ZoneOffsetTransitionRule>): java.time.zone.ZoneRules;
				public getTransitionRules(): java.util.List<java.time.zone.ZoneOffsetTransitionRule>;
				public hashCode(): number;
				public getOffset(param0: java.time.Instant): java.time.ZoneOffset;
				public getStandardOffset(param0: java.time.Instant): java.time.ZoneOffset;
				public equals(param0: any): boolean;
				public getDaylightSavings(param0: java.time.Instant): java.time.Duration;
				public isValidOffset(param0: java.time.LocalDateTime, param1: java.time.ZoneOffset): boolean;
				public getTransitions(): java.util.List<java.time.zone.ZoneOffsetTransition>;
			}
		}
	}
}

declare module java {
	export module time {
		export module zone {
			export class ZoneRulesException extends java.time.DateTimeException {
				public static class: java.lang.Class<java.time.zone.ZoneRulesException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module util {
		export abstract class AbstractCollection<E>  extends java.util.Collection<any> {
			public static class: java.lang.Class<java.util.AbstractCollection<any>>;
			public clear(): void;
			public equals(param0: any): boolean;
			public toArray(): native.Array<any>;
			public size(): number;
			public isEmpty(): boolean;
			public stream(): java.util.stream.Stream<any>;
			public toArray(param0: native.Array<any>): native.Array<any>;
			public constructor();
			public addAll(param0: java.util.Collection<any>): boolean;
			public retainAll(param0: java.util.Collection<any>): boolean;
			public forEach(param0: any /* any*/): void;
			public remove(param0: any): boolean;
			public containsAll(param0: java.util.Collection<any>): boolean;
			public contains(param0: any): boolean;
			public toString(): string;
			public add(param0: any): boolean;
			public removeAll(param0: java.util.Collection<any>): boolean;
			public spliterator(): java.util.Spliterator<any>;
			public removeIf(param0: any /* any*/): boolean;
			public parallelStream(): java.util.stream.Stream<any>;
			public iterator(): java.util.Iterator<any>;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module util {
		export abstract class AbstractList<E>  extends java.util.AbstractCollection<any> implements java.util.List<any>  {
			public static class: java.lang.Class<java.util.AbstractList<any>>;
			public modCount: number;
			public addAll(param0: number, param1: java.util.Collection<any>): boolean;
			public equals(param0: any): boolean;
			public toArray(): native.Array<any>;
			public replaceAll(param0: any /* any*/): void;
			public stream(): java.util.stream.Stream<any>;
			public remove(param0: number): any;
			public sort(param0: java.util.Comparator<any>): void;
			public contains(param0: any): boolean;
			public removeRange(param0: number, param1: number): void;
			public get(param0: number): any;
			public add(param0: number, param1: any): void;
			public iterator(): java.util.Iterator<any>;
			public clear(): void;
			public size(): number;
			public isEmpty(): boolean;
			public listIterator(param0: number): java.util.ListIterator<any>;
			public toArray(param0: native.Array<any>): native.Array<any>;
			public constructor();
			public subList(param0: number, param1: number): java.util.List<any>;
			public addAll(param0: java.util.Collection<any>): boolean;
			public retainAll(param0: java.util.Collection<any>): boolean;
			public set(param0: number, param1: any): any;
			public forEach(param0: any /* any*/): void;
			public remove(param0: any): boolean;
			public containsAll(param0: java.util.Collection<any>): boolean;
			public lastIndexOf(param0: any): number;
			public add(param0: any): boolean;
			public listIterator(): java.util.ListIterator<any>;
			public removeAll(param0: java.util.Collection<any>): boolean;
			public indexOf(param0: any): number;
			public spliterator(): java.util.Spliterator<any>;
			public removeIf(param0: any /* any*/): boolean;
			public parallelStream(): java.util.stream.Stream<any>;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module util {
		export abstract class AbstractMap<K, V>  extends java.util.Map<any,any> {
			public static class: java.lang.Class<java.util.AbstractMap<any,any>>;
			public replaceAll(param0: any /* any<any,any,any>*/): void;
			public equals(param0: any): boolean;
			public replace(param0: any, param1: any): any;
			public compute(param0: any, param1: any /* any<any,any,any>*/): any;
			public containsValue(param0: any): boolean;
			public replace(param0: any, param1: any, param2: any): boolean;
			public get(param0: any): any;
			public forEach(param0: any /* any<any,any>*/): void;
			public getOrDefault(param0: any, param1: any): any;
			public putIfAbsent(param0: any, param1: any): any;
			public remove(param0: any): any;
			public putAll(param0: java.util.Map<any,any>): void;
			public values(): java.util.Collection<any>;
			public clear(): void;
			public size(): number;
			public isEmpty(): boolean;
			public keySet(): java.util.Set<any>;
			public entrySet(): java.util.Set<java.util.Map.Entry<any,any>>;
			public computeIfPresent(param0: any, param1: any /* any<any,any,any>*/): any;
			public constructor();
			public computeIfAbsent(param0: any, param1: any /* any<any,any>*/): any;
			public put(param0: any, param1: any): any;
			public merge(param0: any, param1: any, param2: any /* any<any,any,any>*/): any;
			public toString(): string;
			public clone(): any;
			public remove(param0: any, param1: any): boolean;
			public containsKey(param0: any): boolean;
			public hashCode(): number;
		}
		export module AbstractMap {
			export class SimpleEntry<K, V>  extends java.lang.Object {
				public static class: java.lang.Class<java.util.AbstractMap.SimpleEntry<any,any>>;
				public constructor(param0: K, param1: V);
				public static comparingByKey(): java.util.Comparator<any>;
				public constructor(param0: java.util.Map.Entry<any,any>);
				public getValue(): V;
				public setValue(param0: V): V;
				public static comparingByValue(param0: java.util.Comparator<any>): java.util.Comparator<any>;
				public static comparingByValue(): java.util.Comparator<any>;
				public hashCode(): number;
				public equals(param0: any): boolean;
				public getKey(): K;
				public toString(): string;
				public static comparingByKey(param0: java.util.Comparator<any>): java.util.Comparator<any>;
			}
			export class SimpleImmutableEntry<K, V>  extends java.lang.Object {
				public static class: java.lang.Class<java.util.AbstractMap.SimpleImmutableEntry<any,any>>;
				public constructor(param0: K, param1: V);
				public static comparingByKey(): java.util.Comparator<any>;
				public constructor(param0: java.util.Map.Entry<any,any>);
				public getValue(): V;
				public setValue(param0: V): V;
				public static comparingByValue(param0: java.util.Comparator<any>): java.util.Comparator<any>;
				public static comparingByValue(): java.util.Comparator<any>;
				public hashCode(): number;
				public equals(param0: any): boolean;
				public getKey(): K;
				public toString(): string;
				public static comparingByKey(param0: java.util.Comparator<any>): java.util.Comparator<any>;
			}
		}
	}
}

declare module java {
	export module util {
		export abstract class AbstractQueue<E>  extends java.util.AbstractCollection<any> implements java.util.Queue<any>  {
			public static class: java.lang.Class<java.util.AbstractQueue<any>>;
			public equals(param0: any): boolean;
			public toArray(): native.Array<any>;
			public stream(): java.util.stream.Stream<any>;
			public contains(param0: any): boolean;
			public element(): any;
			public iterator(): java.util.Iterator<any>;
			public clear(): void;
			public size(): number;
			public isEmpty(): boolean;
			public poll(): any;
			public toArray(param0: native.Array<any>): native.Array<any>;
			public constructor();
			public addAll(param0: java.util.Collection<any>): boolean;
			public retainAll(param0: java.util.Collection<any>): boolean;
			public forEach(param0: any /* any*/): void;
			public remove(param0: any): boolean;
			public peek(): any;
			public containsAll(param0: java.util.Collection<any>): boolean;
			public remove(): any;
			public offer(param0: any): boolean;
			public add(param0: any): boolean;
			public removeAll(param0: java.util.Collection<any>): boolean;
			public spliterator(): java.util.Spliterator<any>;
			public removeIf(param0: any /* any*/): boolean;
			public parallelStream(): java.util.stream.Stream<any>;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module util {
		export abstract class AbstractSequentialList<E>  extends java.util.AbstractList<any> {
			public static class: java.lang.Class<java.util.AbstractSequentialList<any>>;
			public addAll(param0: number, param1: java.util.Collection<any>): boolean;
			public equals(param0: any): boolean;
			public toArray(): native.Array<any>;
			public replaceAll(param0: any /* any*/): void;
			public stream(): java.util.stream.Stream<any>;
			public remove(param0: number): any;
			public sort(param0: java.util.Comparator<any>): void;
			public contains(param0: any): boolean;
			public get(param0: number): any;
			public add(param0: number, param1: any): void;
			public iterator(): java.util.Iterator<any>;
			public clear(): void;
			public size(): number;
			public isEmpty(): boolean;
			public listIterator(param0: number): java.util.ListIterator<any>;
			public toArray(param0: native.Array<any>): native.Array<any>;
			public constructor();
			public subList(param0: number, param1: number): java.util.List<any>;
			public addAll(param0: java.util.Collection<any>): boolean;
			public retainAll(param0: java.util.Collection<any>): boolean;
			public set(param0: number, param1: any): any;
			public remove(param0: any): boolean;
			public containsAll(param0: java.util.Collection<any>): boolean;
			public lastIndexOf(param0: any): number;
			public add(param0: any): boolean;
			public listIterator(): java.util.ListIterator<any>;
			public removeAll(param0: java.util.Collection<any>): boolean;
			public indexOf(param0: any): number;
			public spliterator(): java.util.Spliterator<any>;
			public removeIf(param0: any /* any*/): boolean;
			public parallelStream(): java.util.stream.Stream<any>;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module util {
		export abstract class AbstractSet<E>  extends java.util.AbstractCollection<any> implements java.util.Set<any>  {
			public static class: java.lang.Class<java.util.AbstractSet<any>>;
			public equals(param0: any): boolean;
			public clear(): void;
			public toArray(): native.Array<any>;
			public size(): number;
			public isEmpty(): boolean;
			public stream(): java.util.stream.Stream<any>;
			public toArray(param0: native.Array<any>): native.Array<any>;
			public constructor();
			public addAll(param0: java.util.Collection<any>): boolean;
			public retainAll(param0: java.util.Collection<any>): boolean;
			public forEach(param0: any /* any*/): void;
			public remove(param0: any): boolean;
			public containsAll(param0: java.util.Collection<any>): boolean;
			public contains(param0: any): boolean;
			public add(param0: any): boolean;
			public removeAll(param0: java.util.Collection<any>): boolean;
			public spliterator(): java.util.Spliterator<any>;
			public removeIf(param0: any /* any*/): boolean;
			public parallelStream(): java.util.stream.Stream<any>;
			public hashCode(): number;
			public iterator(): java.util.Iterator<any>;
		}
	}
}

declare module java {
	export module util {
		export class ArrayDeque<E>  extends java.util.AbstractCollection<any> {
			public static class: java.lang.Class<java.util.ArrayDeque<any>>;
			public equals(param0: any): boolean;
			public pollLast(): any;
			public toArray(): native.Array<any>;
			public peekLast(): any;
			public stream(): java.util.stream.Stream<any>;
			public removeLast(): any;
			public removeFirstOccurrence(param0: any): boolean;
			public descendingIterator(): java.util.Iterator<any>;
			public push(param0: any): void;
			public constructor(param0: java.util.Collection<any>);
			public clone(): java.util.ArrayDeque<any>;
			public contains(param0: any): boolean;
			public offerLast(param0: any): boolean;
			public peekFirst(): any;
			public addLast(param0: any): void;
			public element(): any;
			public iterator(): java.util.Iterator<any>;
			public clear(): void;
			public size(): number;
			public isEmpty(): boolean;
			public poll(): any;
			public constructor(param0: number);
			public toArray(param0: native.Array<any>): native.Array<any>;
			public constructor();
			public pop(): any;
			public getFirst(): any;
			public addAll(param0: java.util.Collection<any>): boolean;
			public retainAll(param0: java.util.Collection<any>): boolean;
			public pollFirst(): any;
			public forEach(param0: any /* any*/): void;
			public remove(param0: any): boolean;
			public peek(): any;
			public offerFirst(param0: any): boolean;
			public getLast(): any;
			public containsAll(param0: java.util.Collection<any>): boolean;
			public addFirst(param0: any): void;
			public clone(): any;
			public offer(param0: any): boolean;
			public remove(): any;
			public add(param0: any): boolean;
			public removeFirst(): any;
			public removeAll(param0: java.util.Collection<any>): boolean;
			public removeLastOccurrence(param0: any): boolean;
			public spliterator(): java.util.Spliterator<any>;
			public removeIf(param0: any /* any*/): boolean;
			public parallelStream(): java.util.stream.Stream<any>;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module util {
		export class ArrayList<E>  extends java.util.AbstractList<any> {
			public static class: java.lang.Class<java.util.ArrayList<any>>;
			public addAll(param0: number, param1: java.util.Collection<any>): boolean;
			public equals(param0: any): boolean;
			public toArray(): native.Array<any>;
			public replaceAll(param0: any /* any*/): void;
			public stream(): java.util.stream.Stream<any>;
			public remove(param0: number): any;
			public constructor(param0: java.util.Collection<any>);
			public ensureCapacity(param0: number): void;
			public sort(param0: java.util.Comparator<any>): void;
			public contains(param0: any): boolean;
			public removeRange(param0: number, param1: number): void;
			public get(param0: number): any;
			public add(param0: number, param1: any): void;
			public iterator(): java.util.Iterator<any>;
			public clear(): void;
			public size(): number;
			public isEmpty(): boolean;
			public listIterator(param0: number): java.util.ListIterator<any>;
			public constructor(param0: number);
			public toArray(param0: native.Array<any>): native.Array<any>;
			public constructor();
			public subList(param0: number, param1: number): java.util.List<any>;
			public addAll(param0: java.util.Collection<any>): boolean;
			public retainAll(param0: java.util.Collection<any>): boolean;
			public set(param0: number, param1: any): any;
			public forEach(param0: any /* any*/): void;
			public remove(param0: any): boolean;
			public containsAll(param0: java.util.Collection<any>): boolean;
			public lastIndexOf(param0: any): number;
			public clone(): any;
			public add(param0: any): boolean;
			public listIterator(): java.util.ListIterator<any>;
			public trimToSize(): void;
			public removeAll(param0: java.util.Collection<any>): boolean;
			public indexOf(param0: any): number;
			public spliterator(): java.util.Spliterator<any>;
			public removeIf(param0: any /* any*/): boolean;
			public parallelStream(): java.util.stream.Stream<any>;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module util {
		export class Arrays extends java.lang.Object {
			public static class: java.lang.Class<java.util.Arrays>;
			public static deepToString(param0: native.Array<any>): string;
			public static parallelSetAll(param0: native.Array<number>, param1: any /* any*/): void;
			public static parallelSetAll(param0: native.Array<any>, param1: any /* any*/): void;
			public static stream(param0: native.Array<number>): java.util.stream.DoubleStream;
			public static parallelSort(param0: native.Array<number>, param1: number, param2: number): void;
			public static copyOf(param0: native.Array<boolean>, param1: number): native.Array<boolean>;
			public static copyOf(param0: native.Array<string>, param1: number): native.Array<string>;
			public static hashCode(param0: native.Array<string>): number;
			public static copyOf(param0: native.Array<any>, param1: number): native.Array<any>;
			public static binarySearch(param0: native.Array<number>, param1: number, param2: number, param3: number): number;
			public static setAll(param0: native.Array<number>, param1: any /* any*/): void;
			public static sort(param0: native.Array<number>, param1: number, param2: number): void;
			public static setAll(param0: native.Array<number>, param1: any /* any*/): void;
			public static spliterator(param0: native.Array<number>): java.util.Spliterator.OfDouble;
			public static parallelPrefix(param0: native.Array<any>, param1: any /* any*/): void;
			public static stream(param0: native.Array<number>): java.util.stream.IntStream;
			public static parallelPrefix(param0: native.Array<number>, param1: any /* any*/): void;
			public static fill(param0: native.Array<boolean>, param1: number, param2: number, param3: boolean): void;
			public static copyOf(param0: native.Array<any>, param1: number, param2: java.lang.Class<any>): native.Array<any>;
			public static spliterator(param0: native.Array<number>, param1: number, param2: number): java.util.Spliterator.OfDouble;
			public static spliterator(param0: native.Array<number>): java.util.Spliterator.OfInt;
			public static sort(param0: native.Array<any>, param1: java.util.Comparator<any>): void;
			public static binarySearch(param0: native.Array<string>, param1: string): number;
			public static stream(param0: native.Array<any>): java.util.stream.Stream<any>;
			public static stream(param0: native.Array<number>, param1: number, param2: number): java.util.stream.DoubleStream;
			public static binarySearch(param0: native.Array<string>, param1: number, param2: number, param3: string): number;
			public static hashCode(param0: native.Array<any>): number;
			public static copyOfRange(param0: native.Array<boolean>, param1: number, param2: number): native.Array<boolean>;
			public static parallelPrefix(param0: native.Array<number>, param1: number, param2: number, param3: any /* any*/): void;
			public static parallelPrefix(param0: native.Array<any>, param1: number, param2: number, param3: any /* any*/): void;
			public static deepEquals(param0: native.Array<any>, param1: native.Array<any>): boolean;
			public static sort(param0: native.Array<any>, param1: number, param2: number, param3: java.util.Comparator<any>): void;
			public static hashCode(param0: native.Array<number>): number;
			public static binarySearch(param0: native.Array<any>, param1: any): number;
			public static spliterator(param0: native.Array<number>, param1: number, param2: number): java.util.Spliterator.OfLong;
			public static stream(param0: native.Array<number>, param1: number, param2: number): java.util.stream.LongStream;
			public static sort(param0: native.Array<number>): void;
			public static stream(param0: native.Array<any>, param1: number, param2: number): java.util.stream.Stream<any>;
			public static sort(param0: native.Array<any>, param1: number, param2: number): void;
			public static hashCode(param0: native.Array<boolean>): number;
			public static spliterator(param0: native.Array<any>): java.util.Spliterator<any>;
			public static copyOfRange(param0: native.Array<number>, param1: number, param2: number): native.Array<number>;
			public static binarySearch(param0: native.Array<number>, param1: number): number;
			public static copyOf(param0: native.Array<number>, param1: number): native.Array<number>;
			public static parallelSetAll(param0: native.Array<number>, param1: any /* any*/): void;
			public static deepHashCode(param0: native.Array<any>): number;
			public static spliterator(param0: native.Array<number>, param1: number, param2: number): java.util.Spliterator.OfInt;
			public static parallelSort(param0: native.Array<string>, param1: number, param2: number): void;
			public equals(param0: any): boolean;
			public static fill(param0: native.Array<boolean>, param1: boolean): void;
			public static equals(param0: native.Array<any>, param1: native.Array<any>): boolean;
			public static fill(param0: native.Array<number>, param1: number, param2: number, param3: number): void;
			public static parallelSort(param0: native.Array<java.lang.Comparable<any>>): void;
			public static fill(param0: native.Array<number>, param1: number): void;
			public static parallelSort(param0: native.Array<any>, param1: number, param2: number, param3: java.util.Comparator<any>): void;
			public static toString(param0: native.Array<string>): string;
			public static spliterator(param0: native.Array<any>, param1: number, param2: number): java.util.Spliterator<any>;
			public static binarySearch(param0: native.Array<any>, param1: any, param2: java.util.Comparator<any>): number;
			public static sort(param0: native.Array<string>): void;
			public static sort(param0: native.Array<string>, param1: number, param2: number): void;
			public static spliterator(param0: native.Array<number>): java.util.Spliterator.OfLong;
			public static equals(param0: native.Array<string>, param1: native.Array<string>): boolean;
			public static toString(param0: native.Array<boolean>): string;
			public static parallelSort(param0: native.Array<java.lang.Comparable<any>>, param1: number, param2: number): void;
			public static parallelSort(param0: native.Array<any>, param1: java.util.Comparator<any>): void;
			public static stream(param0: native.Array<number>, param1: number, param2: number): java.util.stream.IntStream;
			public static equals(param0: native.Array<number>, param1: native.Array<number>): boolean;
			public static fill(param0: native.Array<any>, param1: number, param2: number, param3: any): void;
			public static parallelPrefix(param0: native.Array<number>, param1: number, param2: number, param3: any /* any*/): void;
			public static equals(param0: native.Array<boolean>, param1: native.Array<boolean>): boolean;
			public static copyOfRange(param0: native.Array<string>, param1: number, param2: number): native.Array<string>;
			public static copyOfRange(param0: native.Array<any>, param1: number, param2: number, param3: java.lang.Class<any>): native.Array<any>;
			public static parallelPrefix(param0: native.Array<number>, param1: number, param2: number, param3: any /* any*/): void;
			public static parallelSort(param0: native.Array<number>): void;
			public static parallelSort(param0: native.Array<string>): void;
			public static fill(param0: native.Array<string>, param1: string): void;
			public static setAll(param0: native.Array<number>, param1: any /* any*/): void;
			public static binarySearch(param0: native.Array<any>, param1: number, param2: number, param3: any, param4: java.util.Comparator<any>): number;
			public static sort(param0: native.Array<any>): void;
			public static stream(param0: native.Array<number>): java.util.stream.LongStream;
			public static toString(param0: native.Array<number>): string;
			public static parallelSetAll(param0: native.Array<number>, param1: any /* any*/): void;
			public static copyOfRange(param0: native.Array<any>, param1: number, param2: number): native.Array<any>;
			public static binarySearch(param0: native.Array<any>, param1: number, param2: number, param3: any): number;
			public static fill(param0: native.Array<any>, param1: any): void;
			public static toString(param0: native.Array<any>): string;
			public toString(): string;
			public static asList(param0: native.Array<any>): java.util.List<any>;
			public static setAll(param0: native.Array<any>, param1: any /* any*/): void;
			public static fill(param0: native.Array<string>, param1: number, param2: number, param3: string): void;
			public static parallelPrefix(param0: native.Array<number>, param1: any /* any*/): void;
			public static parallelPrefix(param0: native.Array<number>, param1: any /* any*/): void;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module util {
		export class Base64 extends java.lang.Object {
			public static class: java.lang.Class<java.util.Base64>;
			public static getMimeDecoder(): java.util.Base64.Decoder;
			public static getMimeEncoder(param0: number, param1: native.Array<number>): java.util.Base64.Encoder;
			public static getUrlEncoder(): java.util.Base64.Encoder;
			public static getDecoder(): java.util.Base64.Decoder;
			public static getMimeEncoder(): java.util.Base64.Encoder;
			public static getEncoder(): java.util.Base64.Encoder;
			public static getUrlDecoder(): java.util.Base64.Decoder;
		}
		export module Base64 {
			export class Decoder extends java.lang.Object {
				public static class: java.lang.Class<java.util.Base64.Decoder>;
				public decode(param0: native.Array<number>, param1: native.Array<number>): number;
				public decode(param0: native.Array<number>): native.Array<number>;
				public decode(param0: string): native.Array<number>;
				public wrap(param0: java.io.InputStream): java.io.InputStream;
				public decode(param0: java.nio.ByteBuffer): java.nio.ByteBuffer;
			}
			export class Encoder extends java.lang.Object {
				public static class: java.lang.Class<java.util.Base64.Encoder>;
				public encode(param0: native.Array<number>, param1: native.Array<number>): number;
				public withoutPadding(): java.util.Base64.Encoder;
				public encode(param0: java.nio.ByteBuffer): java.nio.ByteBuffer;
				public encode(param0: native.Array<number>): native.Array<number>;
				public wrap(param0: java.io.OutputStream): java.io.OutputStream;
				public encodeToString(param0: native.Array<number>): string;
			}
		}
	}
}

declare module java {
	export module util {
		export class BitSet extends java.lang.Object implements java.lang.Cloneable, java.io.Serializable {
			public static class: java.lang.Class<java.util.BitSet>;
			public clear(param0: number): void;
			public equals(param0: any): boolean;
			public set(param0: number, param1: number): void;
			public andNot(param0: java.util.BitSet): void;
			public previousClearBit(param0: number): number;
			public stream(): java.util.stream.IntStream;
			public nextClearBit(param0: number): number;
			public clear(param0: number, param1: number): void;
			public intersects(param0: java.util.BitSet): boolean;
			public flip(param0: number, param1: number): void;
			public set(param0: number, param1: number, param2: boolean): void;
			public static valueOf(param0: java.nio.LongBuffer): java.util.BitSet;
			public previousSetBit(param0: number): number;
			public clear(): void;
			public nextSetBit(param0: number): number;
			public toByteArray(): native.Array<number>;
			public set(param0: number): void;
			public isEmpty(): boolean;
			public cardinality(): number;
			public size(): number;
			public length(): number;
			public constructor(param0: number);
			public static valueOf(param0: native.Array<number>): java.util.BitSet;
			public or(param0: java.util.BitSet): void;
			public constructor();
			public flip(param0: number): void;
			public static valueOf(param0: java.nio.ByteBuffer): java.util.BitSet;
			public set(param0: number, param1: boolean): void;
			public get(param0: number, param1: number): java.util.BitSet;
			public toLongArray(): native.Array<number>;
			public and(param0: java.util.BitSet): void;
			public clone(): any;
			public toString(): string;
			public get(param0: number): boolean;
			public xor(param0: java.util.BitSet): void;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module util {
		export abstract class Calendar extends java.lang.Object {
			public static class: java.lang.Class<java.util.Calendar>;
			public static ALL_STYLES: number;
			public static AM: number;
			public static AM_PM: number;
			public static APRIL: number;
			public static AUGUST: number;
			public static DATE: number;
			public static DAY_OF_MONTH: number;
			public static DAY_OF_WEEK: number;
			public static DAY_OF_WEEK_IN_MONTH: number;
			public static DAY_OF_YEAR: number;
			public static DECEMBER: number;
			public static DST_OFFSET: number;
			public static ERA: number;
			public static FEBRUARY: number;
			public static FIELD_COUNT: number;
			public static FRIDAY: number;
			public static HOUR: number;
			public static HOUR_OF_DAY: number;
			public static JANUARY: number;
			public static JULY: number;
			public static JUNE: number;
			public static LONG: number;
			public static LONG_FORMAT: number;
			public static LONG_STANDALONE: number;
			public static MARCH: number;
			public static MAY: number;
			public static MILLISECOND: number;
			public static MINUTE: number;
			public static MONDAY: number;
			public static MONTH: number;
			public static NARROW_FORMAT: number;
			public static NARROW_STANDALONE: number;
			public static NOVEMBER: number;
			public static OCTOBER: number;
			public static PM: number;
			public static SATURDAY: number;
			public static SECOND: number;
			public static SEPTEMBER: number;
			public static SHORT: number;
			public static SHORT_FORMAT: number;
			public static SHORT_STANDALONE: number;
			public static SUNDAY: number;
			public static THURSDAY: number;
			public static TUESDAY: number;
			public static UNDECIMBER: number;
			public static WEDNESDAY: number;
			public static WEEK_OF_MONTH: number;
			public static WEEK_OF_YEAR: number;
			public static YEAR: number;
			public static ZONE_OFFSET: number;
			public areFieldsSet: boolean;
			public fields: native.Array<number>;
			public isTimeSet: boolean;
			public time: number;
			public getTimeInMillis(): number;
			public computeFields(): void;
			public getTimeZone(): java.util.TimeZone;
			public setWeekDate(param0: number, param1: number, param2: number): void;
			public computeTime(): void;
			public getCalendarType(): string;
			public isSet(param0: number): boolean;
			public getDisplayName(param0: number, param1: number, param2: java.util.Locale): string;
			public before(param0: any): boolean;
			public getDisplayNames(param0: number, param1: number, param2: java.util.Locale): java.util.Map<string,java.lang.Integer>;
			public getActualMinimum(param0: number): number;
			public getLeastMaximum(param0: number): number;
			public clear(): void;
			public complete(): void;
			public roll(param0: number, param1: number): void;
			public setTimeInMillis(param0: number): void;
			public getActualMaximum(param0: number): number;
			public setMinimalDaysInFirstWeek(param0: number): void;
			public constructor();
			public isLenient(): boolean;
			public getMinimum(param0: number): number;
			public getTime(): java.util.Date;
			public clone(): any;
			public setFirstDayOfWeek(param0: number): void;
			public set(param0: number, param1: number, param2: number, param3: number, param4: number): void;
			public clear(param0: number): void;
			public equals(param0: any): boolean;
			public getGreatestMinimum(param0: number): number;
			public getWeeksInWeekYear(): number;
			public set(param0: number, param1: number): void;
			public add(param0: number, param1: number): void;
			public getFirstDayOfWeek(): number;
			public set(param0: number, param1: number, param2: number): void;
			public getWeekYear(): number;
			public compareTo(param0: java.util.Calendar): number;
			public internalGet(param0: number): number;
			public setLenient(param0: boolean): void;
			public static getInstance(param0: java.util.Locale): java.util.Calendar;
			public static getAvailableLocales(): native.Array<java.util.Locale>;
			public get(param0: number): number;
			public set(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number): void;
			public getMaximum(param0: number): number;
			public static getInstance(param0: java.util.TimeZone): java.util.Calendar;
			public roll(param0: number, param1: boolean): void;
			public static getInstance(param0: java.util.TimeZone, param1: java.util.Locale): java.util.Calendar;
			public setTime(param0: java.util.Date): void;
			public static getInstance(): java.util.Calendar;
			public toInstant(): java.time.Instant;
			public getMinimalDaysInFirstWeek(): number;
			public isWeekDateSupported(): boolean;
			public toString(): string;
			public constructor(param0: java.util.TimeZone, param1: java.util.Locale);
			public setTimeZone(param0: java.util.TimeZone): void;
			public after(param0: any): boolean;
			public static getAvailableCalendarTypes(): java.util.Set<string>;
			public hashCode(): number;
		}
		export module Calendar {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<java.util.Calendar.Builder>;
				public setCalendarType(param0: string): java.util.Calendar.Builder;
				public build(): java.util.Calendar;
				public set(param0: number, param1: number): java.util.Calendar.Builder;
				public setInstant(param0: number): java.util.Calendar.Builder;
				public setTimeOfDay(param0: number, param1: number, param2: number): java.util.Calendar.Builder;
				public constructor();
				public setWeekDefinition(param0: number, param1: number): java.util.Calendar.Builder;
				public setDate(param0: number, param1: number, param2: number): java.util.Calendar.Builder;
				public setTimeZone(param0: java.util.TimeZone): java.util.Calendar.Builder;
				public setInstant(param0: java.util.Date): java.util.Calendar.Builder;
				public setLocale(param0: java.util.Locale): java.util.Calendar.Builder;
				public setFields(param0: native.Array<number>): java.util.Calendar.Builder;
				public setTimeOfDay(param0: number, param1: number, param2: number, param3: number): java.util.Calendar.Builder;
				public setWeekDate(param0: number, param1: number, param2: number): java.util.Calendar.Builder;
				public setLenient(param0: boolean): java.util.Calendar.Builder;
			}
		}
	}
}

declare module java {
	export module util {
		export class Collection<E>  extends java.lang.Iterable<any> {
			public static class: java.lang.Class<java.util.Collection<any>>;
			/**
			 * Constructs a new instance of the java.util.Collection<any> interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				size(): number;
				isEmpty(): boolean;
				contains(param0: any): boolean;
				iterator(): java.util.Iterator<any>;
				toArray(): native.Array<any>;
				toArray(param0: native.Array<any>): native.Array<any>;
				add(param0: any): boolean;
				remove(param0: any): boolean;
				containsAll(param0: java.util.Collection<any>): boolean;
				addAll(param0: java.util.Collection<any>): boolean;
				removeAll(param0: java.util.Collection<any>): boolean;
				removeIf(param0: any /* any*/): boolean;
				retainAll(param0: java.util.Collection<any>): boolean;
				clear(): void;
				equals(param0: any): boolean;
				hashCode(): number;
				spliterator(): java.util.Spliterator<any>;
				stream(): java.util.stream.Stream<any>;
				parallelStream(): java.util.stream.Stream<any>;
				iterator(): java.util.Iterator<any>;
				forEach(param0: any /* any*/): void;
				spliterator(): java.util.Spliterator<any>;
			});
			public constructor();
			public clear(): void;
			public equals(param0: any): boolean;
			public toArray(): native.Array<any>;
			public size(): number;
			public isEmpty(): boolean;
			public stream(): java.util.stream.Stream<any>;
			public toArray(param0: native.Array<any>): native.Array<any>;
			public addAll(param0: java.util.Collection<any>): boolean;
			public retainAll(param0: java.util.Collection<any>): boolean;
			public forEach(param0: any /* any*/): void;
			public remove(param0: any): boolean;
			public containsAll(param0: java.util.Collection<any>): boolean;
			public contains(param0: any): boolean;
			public add(param0: any): boolean;
			public removeAll(param0: java.util.Collection<any>): boolean;
			public spliterator(): java.util.Spliterator<any>;
			public removeIf(param0: any /* any*/): boolean;
			public parallelStream(): java.util.stream.Stream<any>;
			public iterator(): java.util.Iterator<any>;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module util {
		export class Collections extends java.lang.Object {
			public static class: java.lang.Class<java.util.Collections>;
			public static EMPTY_LIST: java.util.List<any>;
			public static EMPTY_MAP: java.util.Map<any,any>;
			public static EMPTY_SET: java.util.Set<any>;
			public static sort(param0: java.util.List<any>, param1: java.util.Comparator<any>): void;
			public static lastIndexOfSubList(param0: java.util.List<any>, param1: java.util.List<any>): number;
			public static enumeration(param0: java.util.Collection<any>): java.util.Enumeration<any>;
			public static swap(param0: java.util.List<any>, param1: number, param2: number): void;
			public static rotate(param0: java.util.List<any>, param1: number): void;
			public static unmodifiableSortedSet(param0: java.util.SortedSet<any>): java.util.SortedSet<any>;
			public static singletonMap(param0: any, param1: any): java.util.Map<any,any>;
			public static max(param0: java.util.Collection<any>): any;
			public static emptyIterator(): java.util.Iterator<any>;
			public static unmodifiableList(param0: java.util.List<any>): java.util.List<any>;
			public static unmodifiableSortedMap(param0: java.util.SortedMap<any,any>): java.util.SortedMap<any,any>;
			public static synchronizedNavigableSet(param0: java.util.NavigableSet<any>): java.util.NavigableSet<any>;
			public static emptyNavigableSet(): java.util.NavigableSet<any>;
			public static min(param0: java.util.Collection<any>, param1: java.util.Comparator<any>): any;
			public static synchronizedMap(param0: java.util.Map<any,any>): java.util.Map<any,any>;
			public static singletonList(param0: any): java.util.List<any>;
			public static emptySet(): java.util.Set<any>;
			public static max(param0: java.util.Collection<any>, param1: java.util.Comparator<any>): any;
			public static emptyMap(): java.util.Map<any,any>;
			public static addAll(param0: java.util.Collection<any>, param1: native.Array<any>): boolean;
			public static fill(param0: java.util.List<any>, param1: any): void;
			public static unmodifiableCollection(param0: java.util.Collection<any>): java.util.Collection<any>;
			public static nCopies(param0: number, param1: any): java.util.List<any>;
			public static reverseOrder(param0: java.util.Comparator<any>): java.util.Comparator<any>;
			public static synchronizedSortedSet(param0: java.util.SortedSet<any>): java.util.SortedSet<any>;
			public static synchronizedCollection(param0: java.util.Collection<any>): java.util.Collection<any>;
			public static checkedSortedMap(param0: java.util.SortedMap<any,any>, param1: java.lang.Class<any>, param2: java.lang.Class<any>): java.util.SortedMap<any,any>;
			public static shuffle(param0: java.util.List<any>, param1: java.util.Random): void;
			public static unmodifiableSet(param0: java.util.Set<any>): java.util.Set<any>;
			public static disjoint(param0: java.util.Collection<any>, param1: java.util.Collection<any>): boolean;
			public static synchronizedSortedMap(param0: java.util.SortedMap<any,any>): java.util.SortedMap<any,any>;
			public static checkedCollection(param0: java.util.Collection<any>, param1: java.lang.Class<any>): java.util.Collection<any>;
			public static emptySortedMap(): java.util.SortedMap<any,any>;
			public static checkedMap(param0: java.util.Map<any,any>, param1: java.lang.Class<any>, param2: java.lang.Class<any>): java.util.Map<any,any>;
			public static reverse(param0: java.util.List<any>): void;
			public static emptyList(): java.util.List<any>;
			public static binarySearch(param0: java.util.List<any>, param1: any, param2: java.util.Comparator<any>): number;
			public static unmodifiableNavigableSet(param0: java.util.NavigableSet<any>): java.util.NavigableSet<any>;
			public static emptyEnumeration(): java.util.Enumeration<any>;
			public static singleton(param0: any): java.util.Set<any>;
			public static asLifoQueue(param0: java.util.Deque<any>): java.util.Queue<any>;
			public static frequency(param0: java.util.Collection<any>, param1: any): number;
			public static checkedList(param0: java.util.List<any>, param1: java.lang.Class<any>): java.util.List<any>;
			public static unmodifiableNavigableMap(param0: java.util.NavigableMap<any,any>): java.util.NavigableMap<any,any>;
			public static synchronizedSet(param0: java.util.Set<any>): java.util.Set<any>;
			public static indexOfSubList(param0: java.util.List<any>, param1: java.util.List<any>): number;
			public static checkedSet(param0: java.util.Set<any>, param1: java.lang.Class<any>): java.util.Set<any>;
			public static checkedNavigableSet(param0: java.util.NavigableSet<any>, param1: java.lang.Class<any>): java.util.NavigableSet<any>;
			public static synchronizedNavigableMap(param0: java.util.NavigableMap<any,any>): java.util.NavigableMap<any,any>;
			public static checkedSortedSet(param0: java.util.SortedSet<any>, param1: java.lang.Class<any>): java.util.SortedSet<any>;
			public static emptyNavigableMap(): java.util.NavigableMap<any,any>;
			public static list(param0: java.util.Enumeration<any>): java.util.ArrayList<any>;
			public static emptyListIterator(): java.util.ListIterator<any>;
			public static newSetFromMap(param0: java.util.Map<any,any>): java.util.Set<any>;
			public static min(param0: java.util.Collection<any>): any;
			public static unmodifiableMap(param0: java.util.Map<any,any>): java.util.Map<any,any>;
			public static shuffle(param0: java.util.List<any>): void;
			public static reverseOrder(): java.util.Comparator<any>;
			public static replaceAll(param0: java.util.List<any>, param1: any, param2: any): boolean;
			public static checkedNavigableMap(param0: java.util.NavigableMap<any,any>, param1: java.lang.Class<any>, param2: java.lang.Class<any>): java.util.NavigableMap<any,any>;
			public static sort(param0: java.util.List<any>): void;
			public static checkedQueue(param0: java.util.Queue<any>, param1: java.lang.Class<any>): java.util.Queue<any>;
			public static emptySortedSet(): java.util.SortedSet<any>;
			public static binarySearch(param0: java.util.List<any>, param1: any): number;
			public static copy(param0: java.util.List<any>, param1: java.util.List<any>): void;
			public static synchronizedList(param0: java.util.List<any>): java.util.List<any>;
		}
	}
}

declare module java {
	export module util {
		export class Comparator<T>  extends java.lang.Object {
			public static class: java.lang.Class<java.util.Comparator<any>>;
			/**
			 * Constructs a new instance of the java.util.Comparator<any> interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				compare(param0: T, param1: T): number;
				equals(param0: any): boolean;
				reversed(): java.util.Comparator<T>;
				thenComparing(param0: java.util.Comparator<any>): java.util.Comparator<T>;
				thenComparing(param0: any /* any*/, param1: java.util.Comparator<any>): java.util.Comparator<any>;
				thenComparing(param0: any /* any*/): java.util.Comparator<any>;
				thenComparingInt(param0: any /* any*/): java.util.Comparator<T>;
				thenComparingLong(param0: any /* any*/): java.util.Comparator<T>;
				thenComparingDouble(param0: any /* any*/): java.util.Comparator<T>;
				reverseOrder(): java.util.Comparator<any>;
				naturalOrder(): java.util.Comparator<any>;
				nullsFirst(param0: java.util.Comparator<any>): java.util.Comparator<any>;
				nullsLast(param0: java.util.Comparator<any>): java.util.Comparator<any>;
				comparing(param0: any /* any*/, param1: java.util.Comparator<any>): java.util.Comparator<any>;
				comparing(param0: any /* any*/): java.util.Comparator<any>;
				comparingInt(param0: any /* any*/): java.util.Comparator<any>;
				comparingLong(param0: any /* any*/): java.util.Comparator<any>;
				comparingDouble(param0: any /* any*/): java.util.Comparator<any>;
			});
			public constructor();
			public equals(param0: any): boolean;
			public thenComparingDouble(param0: any /* any*/): java.util.Comparator<T>;
			public compare(param0: T, param1: T): number;
			public static nullsFirst(param0: java.util.Comparator<any>): java.util.Comparator<any>;
			public static reverseOrder(): java.util.Comparator<any>;
			public static comparing(param0: any /* any*/, param1: java.util.Comparator<any>): java.util.Comparator<any>;
			public thenComparingLong(param0: any /* any*/): java.util.Comparator<T>;
			public static comparingLong(param0: any /* any*/): java.util.Comparator<any>;
			public static comparing(param0: any /* any*/): java.util.Comparator<any>;
			public thenComparing(param0: any /* any*/, param1: java.util.Comparator<any>): java.util.Comparator<any>;
			public thenComparingInt(param0: any /* any*/): java.util.Comparator<T>;
			public reversed(): java.util.Comparator<T>;
			public thenComparing(param0: java.util.Comparator<any>): java.util.Comparator<T>;
			public thenComparing(param0: any /* any*/): java.util.Comparator<any>;
			public static comparingInt(param0: any /* any*/): java.util.Comparator<any>;
			public static comparingDouble(param0: any /* any*/): java.util.Comparator<any>;
			public static naturalOrder(): java.util.Comparator<any>;
			public static nullsLast(param0: java.util.Comparator<any>): java.util.Comparator<any>;
		}
	}
}

declare module java {
	export module util {
		export class ConcurrentModificationException extends java.lang.RuntimeException {
			public static class: java.lang.Class<java.util.ConcurrentModificationException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module util {
		export class Currency extends java.lang.Object implements java.io.Serializable {
			public static class: java.lang.Class<java.util.Currency>;
			public getDefaultFractionDigits(): number;
			public static getInstance(param0: string): java.util.Currency;
			public static getInstance(param0: java.util.Locale): java.util.Currency;
			public getDisplayName(param0: java.util.Locale): string;
			public toString(): string;
			public getNumericCode(): number;
			public static getAvailableCurrencies(): java.util.Set<java.util.Currency>;
			public getCurrencyCode(): string;
			public getSymbol(): string;
			public getSymbol(param0: java.util.Locale): string;
			public getDisplayName(): string;
		}
	}
}

declare module java {
	export module util {
		export class Date extends java.lang.Object {
			public static class: java.lang.Class<java.util.Date>;
			public equals(param0: any): boolean;
			/** @deprecated */
			public constructor(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number);
			/** @deprecated */
			public getDay(): number;
			/** @deprecated */
			public getDate(): number;
			public before(param0: java.util.Date): boolean;
			/** @deprecated */
			public getMonth(): number;
			/** @deprecated */
			public constructor(param0: number, param1: number, param2: number);
			public compareTo(param0: java.util.Date): number;
			/** @deprecated */
			public getMinutes(): number;
			/** @deprecated */
			public getHours(): number;
			/** @deprecated */
			public setYear(param0: number): void;
			/** @deprecated */
			public getSeconds(): number;
			/** @deprecated */
			public setMinutes(param0: number): void;
			/** @deprecated */
			public setSeconds(param0: number): void;
			/** @deprecated */
			public constructor(param0: number, param1: number, param2: number, param3: number, param4: number);
			/** @deprecated */
			public constructor(param0: string);
			/** @deprecated */
			public static parse(param0: string): number;
			public static from(param0: java.time.Instant): java.util.Date;
			public constructor(param0: number);
			/** @deprecated */
			public toLocaleString(): string;
			public toInstant(): java.time.Instant;
			/** @deprecated */
			public setMonth(param0: number): void;
			public after(param0: java.util.Date): boolean;
			public constructor();
			public clone(): any;
			public toString(): string;
			/** @deprecated */
			public toGMTString(): string;
			public setTime(param0: number): void;
			/** @deprecated */
			public setDate(param0: number): void;
			public getTime(): number;
			/** @deprecated */
			public getTimezoneOffset(): number;
			/** @deprecated */
			public setHours(param0: number): void;
			/** @deprecated */
			public static UTC(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number): number;
			/** @deprecated */
			public getYear(): number;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module util {
		export class Deque<E>  extends java.util.Queue<any> {
			public static class: java.lang.Class<java.util.Deque<any>>;
			/**
			 * Constructs a new instance of the java.util.Deque<any> interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				addFirst(param0: any): void;
				addLast(param0: any): void;
				offerFirst(param0: any): boolean;
				offerLast(param0: any): boolean;
				removeFirst(): any;
				removeLast(): any;
				pollFirst(): any;
				pollLast(): any;
				getFirst(): any;
				getLast(): any;
				peekFirst(): any;
				peekLast(): any;
				removeFirstOccurrence(param0: any): boolean;
				removeLastOccurrence(param0: any): boolean;
				add(param0: any): boolean;
				offer(param0: any): boolean;
				remove(): any;
				poll(): any;
				element(): any;
				peek(): any;
				push(param0: any): void;
				pop(): any;
				remove(param0: any): boolean;
				contains(param0: any): boolean;
				size(): number;
				iterator(): java.util.Iterator<any>;
				descendingIterator(): java.util.Iterator<any>;
				add(param0: any): boolean;
				offer(param0: any): boolean;
				remove(): any;
				poll(): any;
				element(): any;
				peek(): any;
				size(): number;
				isEmpty(): boolean;
				contains(param0: any): boolean;
				iterator(): java.util.Iterator<any>;
				toArray(): native.Array<any>;
				toArray(param0: native.Array<any>): native.Array<any>;
				add(param0: any): boolean;
				remove(param0: any): boolean;
				containsAll(param0: java.util.Collection<any>): boolean;
				addAll(param0: java.util.Collection<any>): boolean;
				removeAll(param0: java.util.Collection<any>): boolean;
				removeIf(param0: any /* any*/): boolean;
				retainAll(param0: java.util.Collection<any>): boolean;
				clear(): void;
				equals(param0: any): boolean;
				hashCode(): number;
				spliterator(): java.util.Spliterator<any>;
				stream(): java.util.stream.Stream<any>;
				parallelStream(): java.util.stream.Stream<any>;
				iterator(): java.util.Iterator<any>;
				forEach(param0: any /* any*/): void;
				spliterator(): java.util.Spliterator<any>;
			});
			public constructor();
			public equals(param0: any): boolean;
			public pollLast(): any;
			public toArray(): native.Array<any>;
			public peekLast(): any;
			public stream(): java.util.stream.Stream<any>;
			public removeLast(): any;
			public removeFirstOccurrence(param0: any): boolean;
			public descendingIterator(): java.util.Iterator<any>;
			public push(param0: any): void;
			public contains(param0: any): boolean;
			public offerLast(param0: any): boolean;
			public peekFirst(): any;
			public addLast(param0: any): void;
			public element(): any;
			public iterator(): java.util.Iterator<any>;
			public clear(): void;
			public size(): number;
			public isEmpty(): boolean;
			public poll(): any;
			public toArray(param0: native.Array<any>): native.Array<any>;
			public pop(): any;
			public getFirst(): any;
			public addAll(param0: java.util.Collection<any>): boolean;
			public retainAll(param0: java.util.Collection<any>): boolean;
			public pollFirst(): any;
			public forEach(param0: any /* any*/): void;
			public peek(): any;
			public remove(param0: any): boolean;
			public offerFirst(param0: any): boolean;
			public getLast(): any;
			public containsAll(param0: java.util.Collection<any>): boolean;
			public addFirst(param0: any): void;
			public offer(param0: any): boolean;
			public remove(): any;
			public add(param0: any): boolean;
			public removeFirst(): any;
			public removeAll(param0: java.util.Collection<any>): boolean;
			public removeLastOccurrence(param0: any): boolean;
			public spliterator(): java.util.Spliterator<any>;
			public removeIf(param0: any /* any*/): boolean;
			public parallelStream(): java.util.stream.Stream<any>;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module util {
		export abstract class Dictionary<K, V>  extends java.lang.Object {
			public static class: java.lang.Class<java.util.Dictionary<any,any>>;
			public elements(): java.util.Enumeration<V>;
			public size(): number;
			public isEmpty(): boolean;
			public put(param0: K, param1: V): V;
			public remove(param0: any): V;
			public constructor();
			public keys(): java.util.Enumeration<K>;
			public get(param0: any): V;
		}
	}
}

declare module java {
	export module util {
		export class DoubleSummaryStatistics extends java.lang.Object {
			public static class: java.lang.Class<java.util.DoubleSummaryStatistics>;
			public getSum(): number;
			public getMax(): number;
			public toString(): string;
			public combine(param0: java.util.DoubleSummaryStatistics): void;
			public getMin(): number;
			public accept(param0: number): void;
			public getAverage(): number;
			public constructor();
			public getCount(): number;
		}
	}
}

declare module java {
	export module util {
		export class DuplicateFormatFlagsException extends java.util.IllegalFormatException {
			public static class: java.lang.Class<java.util.DuplicateFormatFlagsException>;
			public getMessage(): string;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public getFlags(): string;
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module util {
		export class EmptyStackException extends java.lang.RuntimeException {
			public static class: java.lang.Class<java.util.EmptyStackException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module util {
		export class EnumMap<K, V>  extends java.util.AbstractMap<any,any> {
			public static class: java.lang.Class<java.util.EnumMap<any,any>>;
			public replaceAll(param0: any /* any<any,any,any>*/): void;
			public equals(param0: any): boolean;
			public replace(param0: any, param1: any): any;
			public compute(param0: any, param1: any /* any<any,any,any>*/): any;
			public containsValue(param0: any): boolean;
			public clone(): java.util.EnumMap<any,any>;
			public replace(param0: any, param1: any, param2: any): boolean;
			public get(param0: any): any;
			public forEach(param0: any /* any<any,any>*/): void;
			public getOrDefault(param0: any, param1: any): any;
			public constructor(param0: java.util.EnumMap<any,any>);
			public putIfAbsent(param0: any, param1: any): any;
			public remove(param0: any): any;
			public putAll(param0: java.util.Map<any,any>): void;
			public values(): java.util.Collection<any>;
			public clear(): void;
			public size(): number;
			public keySet(): java.util.Set<any>;
			public entrySet(): java.util.Set<java.util.Map.Entry<any,any>>;
			public isEmpty(): boolean;
			public computeIfPresent(param0: any, param1: any /* any<any,any,any>*/): any;
			public constructor(param0: java.util.Map<any,any>);
			public constructor();
			public computeIfAbsent(param0: any, param1: any /* any<any,any>*/): any;
			public put(param0: any, param1: any): any;
			public merge(param0: any, param1: any, param2: any /* any<any,any,any>*/): any;
			public clone(): any;
			public remove(param0: any, param1: any): boolean;
			public containsKey(param0: any): boolean;
			public constructor(param0: java.lang.Class<any>);
			public hashCode(): number;
		}
	}
}

declare module java {
	export module util {
		export abstract class EnumSet<E>  extends java.util.AbstractSet<any> {
			public static class: java.lang.Class<java.util.EnumSet<any>>;
			public equals(param0: any): boolean;
			public toArray(): native.Array<any>;
			public stream(): java.util.stream.Stream<any>;
			public static copyOf(param0: java.util.EnumSet<any>): java.util.EnumSet<any>;
			public static of(param0: java.lang.Enum<any>, param1: java.lang.Enum<any>, param2: java.lang.Enum<any>, param3: java.lang.Enum<any>, param4: java.lang.Enum<any>): java.util.EnumSet<any>;
			public contains(param0: any): boolean;
			public static of(param0: java.lang.Enum<any>, param1: java.lang.Enum<any>): java.util.EnumSet<any>;
			public static noneOf(param0: java.lang.Class<any>): java.util.EnumSet<any>;
			public static range(param0: java.lang.Enum<any>, param1: java.lang.Enum<any>): java.util.EnumSet<any>;
			public iterator(): java.util.Iterator<any>;
			public clear(): void;
			public size(): number;
			public isEmpty(): boolean;
			public static allOf(param0: java.lang.Class<any>): java.util.EnumSet<any>;
			public toArray(param0: native.Array<any>): native.Array<any>;
			public static of(param0: java.lang.Enum<any>): java.util.EnumSet<any>;
			public static of(param0: java.lang.Enum<any>, param1: java.lang.Enum<any>, param2: java.lang.Enum<any>): java.util.EnumSet<any>;
			public addAll(param0: java.util.Collection<any>): boolean;
			public retainAll(param0: java.util.Collection<any>): boolean;
			public static of(param0: java.lang.Enum<any>, param1: java.lang.Enum<any>, param2: java.lang.Enum<any>, param3: java.lang.Enum<any>): java.util.EnumSet<any>;
			public remove(param0: any): boolean;
			public containsAll(param0: java.util.Collection<any>): boolean;
			public clone(): any;
			public static complementOf(param0: java.util.EnumSet<any>): java.util.EnumSet<any>;
			public add(param0: any): boolean;
			public removeAll(param0: java.util.Collection<any>): boolean;
			public clone(): java.util.EnumSet<any>;
			public spliterator(): java.util.Spliterator<any>;
			public static copyOf(param0: java.util.Collection<any>): java.util.EnumSet<any>;
			public removeIf(param0: any /* any*/): boolean;
			public parallelStream(): java.util.stream.Stream<any>;
			public static of(param0: java.lang.Enum<any>, param1: native.Array<java.lang.Enum<any>>): java.util.EnumSet<any>;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module util {
		export class Enumeration<E>  extends java.lang.Object {
			public static class: java.lang.Class<java.util.Enumeration<any>>;
			/**
			 * Constructs a new instance of the java.util.Enumeration<any> interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				hasMoreElements(): boolean;
				nextElement(): E;
			});
			public constructor();
			public hasMoreElements(): boolean;
			public nextElement(): E;
		}
	}
}

declare module java {
	export module util {
		export class EventListener extends java.lang.Object {
			public static class: java.lang.Class<java.util.EventListener>;
			/**
			 * Constructs a new instance of the java.util.EventListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
			});
			public constructor();
		}
	}
}

declare module java {
	export module util {
		export abstract class EventListenerProxy<T>  extends java.util.EventListener {
			public static class: java.lang.Class<java.util.EventListenerProxy<any>>;
			public getListener(): any;
			public constructor(param0: any);
		}
	}
}

declare module java {
	export module util {
		export class EventObject extends java.lang.Object implements java.io.Serializable {
			public static class: java.lang.Class<java.util.EventObject>;
			public source: any;
			public toString(): string;
			public getSource(): any;
			public constructor(param0: any);
		}
	}
}

declare module java {
	export module util {
		export class FormatFlagsConversionMismatchException extends java.util.IllegalFormatException {
			public static class: java.lang.Class<java.util.FormatFlagsConversionMismatchException>;
			public constructor(param0: string, param1: string);
			public getMessage(): string;
			public getConversion(): string;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public getFlags(): string;
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module util {
		export class Formattable extends java.lang.Object {
			public static class: java.lang.Class<java.util.Formattable>;
			/**
			 * Constructs a new instance of the java.util.Formattable interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				formatTo(param0: java.util.Formatter, param1: number, param2: number, param3: number): void;
			});
			public constructor();
			public formatTo(param0: java.util.Formatter, param1: number, param2: number, param3: number): void;
		}
	}
}

declare module java {
	export module util {
		export class FormattableFlags extends java.lang.Object {
			public static class: java.lang.Class<java.util.FormattableFlags>;
			public static ALTERNATE: number;
			public static LEFT_JUSTIFY: number;
			public static UPPERCASE: number;
		}
	}
}

declare module java {
	export module util {
		export class Formatter extends java.lang.Object implements java.io.Closeable, java.io.Flushable {
			public static class: java.lang.Class<java.util.Formatter>;
			public constructor(param0: java.lang.Appendable);
			public flush(): void;
			public ioException(): java.io.IOException;
			public constructor(param0: java.io.PrintStream);
			public constructor(param0: java.io.OutputStream, param1: string);
			public constructor();
			public constructor(param0: java.util.Locale);
			public constructor(param0: java.io.File, param1: string, param2: java.util.Locale);
			public out(): java.lang.Appendable;
			public format(param0: string, param1: native.Array<any>): java.util.Formatter;
			public constructor(param0: java.lang.Appendable, param1: java.util.Locale);
			public constructor(param0: string, param1: string);
			public format(param0: java.util.Locale, param1: string, param2: native.Array<any>): java.util.Formatter;
			public constructor(param0: java.io.File, param1: string);
			public toString(): string;
			public constructor(param0: java.io.File);
			public constructor(param0: java.io.OutputStream);
			public locale(): java.util.Locale;
			public constructor(param0: string, param1: string, param2: java.util.Locale);
			public close(): void;
			public constructor(param0: string);
			public constructor(param0: java.io.OutputStream, param1: string, param2: java.util.Locale);
		}
		export module Formatter {
			export class BigDecimalLayoutForm {
				public static class: java.lang.Class<java.util.Formatter.BigDecimalLayoutForm>;
				public static SCIENTIFIC: java.util.Formatter.BigDecimalLayoutForm;
				public static DECIMAL_FLOAT: java.util.Formatter.BigDecimalLayoutForm;
				public static valueOf(param0: string): java.util.Formatter.BigDecimalLayoutForm;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
				public static values(): native.Array<java.util.Formatter.BigDecimalLayoutForm>;
			}
		}
	}
}

declare module java {
	export module util {
		export class FormatterClosedException extends java.lang.IllegalStateException {
			public static class: java.lang.Class<java.util.FormatterClosedException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module util {
		export class GregorianCalendar extends java.util.Calendar {
			public static class: java.lang.Class<java.util.GregorianCalendar>;
			public static AD: number;
			public static BC: number;
			public constructor(param0: number, param1: number, param2: number);
			public setGregorianChange(param0: java.util.Date): void;
			public equals(param0: any): boolean;
			public getGreatestMinimum(param0: number): number;
			public computeFields(): void;
			public getWeeksInWeekYear(): number;
			public getTimeZone(): java.util.TimeZone;
			public setWeekDate(param0: number, param1: number, param2: number): void;
			public computeTime(): void;
			public getCalendarType(): string;
			public add(param0: number, param1: number): void;
			public static from(param0: java.time.ZonedDateTime): java.util.GregorianCalendar;
			public getWeekYear(): number;
			public constructor(param0: number, param1: number, param2: number, param3: number, param4: number);
			public toZonedDateTime(): java.time.ZonedDateTime;
			public getActualMinimum(param0: number): number;
			public getMaximum(param0: number): number;
			public getLeastMaximum(param0: number): number;
			public roll(param0: number, param1: boolean): void;
			public getGregorianChange(): java.util.Date;
			public roll(param0: number, param1: number): void;
			public getActualMaximum(param0: number): number;
			public isLeapYear(param0: number): boolean;
			public constructor();
			public constructor(param0: java.util.Locale);
			public constructor(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number);
			public getMinimum(param0: number): number;
			public clone(): any;
			public isWeekDateSupported(): boolean;
			public constructor(param0: java.util.TimeZone, param1: java.util.Locale);
			public setTimeZone(param0: java.util.TimeZone): void;
			public constructor(param0: java.util.TimeZone);
			public hashCode(): number;
		}
	}
}

declare module java {
	export module util {
		export class HashMap<K, V>  extends java.util.AbstractMap<any,any> {
			public static class: java.lang.Class<java.util.HashMap<any,any>>;
			public replaceAll(param0: any /* any<any,any,any>*/): void;
			public equals(param0: any): boolean;
			public replace(param0: any, param1: any): any;
			public compute(param0: any, param1: any /* any<any,any,any>*/): any;
			public containsValue(param0: any): boolean;
			public replace(param0: any, param1: any, param2: any): boolean;
			public get(param0: any): any;
			public forEach(param0: any /* any<any,any>*/): void;
			public getOrDefault(param0: any, param1: any): any;
			public putIfAbsent(param0: any, param1: any): any;
			public remove(param0: any): any;
			public putAll(param0: java.util.Map<any,any>): void;
			public values(): java.util.Collection<any>;
			public constructor(param0: number, param1: number);
			public clear(): void;
			public size(): number;
			public isEmpty(): boolean;
			public keySet(): java.util.Set<any>;
			public entrySet(): java.util.Set<java.util.Map.Entry<any,any>>;
			public computeIfPresent(param0: any, param1: any /* any<any,any,any>*/): any;
			public constructor(param0: number);
			public constructor(param0: java.util.Map<any,any>);
			public constructor();
			public computeIfAbsent(param0: any, param1: any /* any<any,any>*/): any;
			public put(param0: any, param1: any): any;
			public merge(param0: any, param1: any, param2: any /* any<any,any,any>*/): any;
			public clone(): any;
			public remove(param0: any, param1: any): boolean;
			public containsKey(param0: any): boolean;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module util {
		export class HashSet<E>  extends java.util.AbstractSet<any> {
			public static class: java.lang.Class<java.util.HashSet<any>>;
			public equals(param0: any): boolean;
			public toArray(): native.Array<any>;
			public stream(): java.util.stream.Stream<any>;
			public constructor(param0: java.util.Collection<any>);
			public contains(param0: any): boolean;
			public constructor(param0: number, param1: number);
			public iterator(): java.util.Iterator<any>;
			public clear(): void;
			public size(): number;
			public isEmpty(): boolean;
			public constructor(param0: number);
			public toArray(param0: native.Array<any>): native.Array<any>;
			public constructor();
			public addAll(param0: java.util.Collection<any>): boolean;
			public retainAll(param0: java.util.Collection<any>): boolean;
			public forEach(param0: any /* any*/): void;
			public remove(param0: any): boolean;
			public containsAll(param0: java.util.Collection<any>): boolean;
			public clone(): any;
			public add(param0: any): boolean;
			public removeAll(param0: java.util.Collection<any>): boolean;
			public spliterator(): java.util.Spliterator<any>;
			public removeIf(param0: any /* any*/): boolean;
			public parallelStream(): java.util.stream.Stream<any>;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module util {
		export class Hashtable<K, V>  extends java.util.Dictionary<any,any> {
			public static class: java.lang.Class<java.util.Hashtable<any,any>>;
			public replaceAll(param0: any /* any<any,any,any>*/): void;
			public equals(param0: any): boolean;
			public replace(param0: any, param1: any): any;
			public compute(param0: any, param1: any /* any<any,any,any>*/): any;
			public containsValue(param0: any): boolean;
			public replace(param0: any, param1: any, param2: any): boolean;
			public get(param0: any): any;
			public forEach(param0: any /* any<any,any>*/): void;
			public getOrDefault(param0: any, param1: any): any;
			public contains(param0: any): boolean;
			public putIfAbsent(param0: any, param1: any): any;
			public remove(param0: any): any;
			public putAll(param0: java.util.Map<any,any>): void;
			public values(): java.util.Collection<any>;
			public constructor(param0: number, param1: number);
			public elements(): java.util.Enumeration<any>;
			public clear(): void;
			public size(): number;
			public isEmpty(): boolean;
			public keySet(): java.util.Set<any>;
			public entrySet(): java.util.Set<java.util.Map.Entry<any,any>>;
			public computeIfPresent(param0: any, param1: any /* any<any,any,any>*/): any;
			public constructor(param0: number);
			public constructor(param0: java.util.Map<any,any>);
			public constructor();
			public computeIfAbsent(param0: any, param1: any /* any<any,any>*/): any;
			public put(param0: any, param1: any): any;
			public merge(param0: any, param1: any, param2: any /* any<any,any,any>*/): any;
			public clone(): any;
			public toString(): string;
			public keys(): java.util.Enumeration<any>;
			public remove(param0: any, param1: any): boolean;
			public containsKey(param0: any): boolean;
			public rehash(): void;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module util {
		export class IdentityHashMap<K, V>  extends java.util.AbstractMap<any,any> {
			public static class: java.lang.Class<java.util.IdentityHashMap<any,any>>;
			public replaceAll(param0: any /* any<any,any,any>*/): void;
			public equals(param0: any): boolean;
			public replace(param0: any, param1: any): any;
			public compute(param0: any, param1: any /* any<any,any,any>*/): any;
			public containsValue(param0: any): boolean;
			public replace(param0: any, param1: any, param2: any): boolean;
			public get(param0: any): any;
			public forEach(param0: any /* any<any,any>*/): void;
			public getOrDefault(param0: any, param1: any): any;
			public putIfAbsent(param0: any, param1: any): any;
			public remove(param0: any): any;
			public putAll(param0: java.util.Map<any,any>): void;
			public values(): java.util.Collection<any>;
			public clear(): void;
			public size(): number;
			public isEmpty(): boolean;
			public keySet(): java.util.Set<any>;
			public entrySet(): java.util.Set<java.util.Map.Entry<any,any>>;
			public computeIfPresent(param0: any, param1: any /* any<any,any,any>*/): any;
			public constructor(param0: number);
			public constructor(param0: java.util.Map<any,any>);
			public constructor();
			public computeIfAbsent(param0: any, param1: any /* any<any,any>*/): any;
			public put(param0: any, param1: any): any;
			public merge(param0: any, param1: any, param2: any /* any<any,any,any>*/): any;
			public clone(): any;
			public remove(param0: any, param1: any): boolean;
			public containsKey(param0: any): boolean;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module util {
		export class IllegalFormatCodePointException extends java.util.IllegalFormatException {
			public static class: java.lang.Class<java.util.IllegalFormatCodePointException>;
			public getMessage(): string;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public getCodePoint(): number;
			public constructor(param0: number);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module util {
		export class IllegalFormatConversionException extends java.util.IllegalFormatException {
			public static class: java.lang.Class<java.util.IllegalFormatConversionException>;
			public getMessage(): string;
			public getConversion(): string;
			public getArgumentClass(): java.lang.Class<any>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Class<any>);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module util {
		export class IllegalFormatException extends java.lang.IllegalArgumentException {
			public static class: java.lang.Class<java.util.IllegalFormatException>;
		}
	}
}

declare module java {
	export module util {
		export class IllegalFormatFlagsException extends java.util.IllegalFormatException {
			public static class: java.lang.Class<java.util.IllegalFormatFlagsException>;
			public getMessage(): string;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public getFlags(): string;
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module util {
		export class IllegalFormatPrecisionException extends java.util.IllegalFormatException {
			public static class: java.lang.Class<java.util.IllegalFormatPrecisionException>;
			public getMessage(): string;
			public getPrecision(): number;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: number);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module util {
		export class IllegalFormatWidthException extends java.util.IllegalFormatException {
			public static class: java.lang.Class<java.util.IllegalFormatWidthException>;
			public getMessage(): string;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: number);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public getWidth(): number;
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module util {
		export class IllformedLocaleException extends java.lang.RuntimeException {
			public static class: java.lang.Class<java.util.IllformedLocaleException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: number);
			public getErrorIndex(): number;
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module util {
		export class InputMismatchException extends java.util.NoSuchElementException {
			public static class: java.lang.Class<java.util.InputMismatchException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module util {
		export class IntSummaryStatistics extends java.lang.Object {
			public static class: java.lang.Class<java.util.IntSummaryStatistics>;
			public getSum(): number;
			public getMax(): number;
			public toString(): string;
			public getMin(): number;
			public accept(param0: number): void;
			public combine(param0: java.util.IntSummaryStatistics): void;
			public getAverage(): number;
			public constructor();
			public getCount(): number;
		}
	}
}

declare module java {
	export module util {
		export class InvalidPropertiesFormatException extends java.io.IOException {
			public static class: java.lang.Class<java.util.InvalidPropertiesFormatException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module util {
		export class Iterator<E>  extends java.lang.Object {
			public static class: java.lang.Class<java.util.Iterator<any>>;
			/**
			 * Constructs a new instance of the java.util.Iterator<any> interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				hasNext(): boolean;
				next(): E;
				remove(): void;
				forEachRemaining(param0: any /* any*/): void;
			});
			public constructor();
			public next(): E;
			public hasNext(): boolean;
			public remove(): void;
			public forEachRemaining(param0: any /* any*/): void;
		}
	}
}

declare module java {
	export module util {
		export class LinkedHashMap<K, V>  extends java.util.HashMap<any,any> implements java.util.Map<any,any>  {
			public static class: java.lang.Class<java.util.LinkedHashMap<any,any>>;
			public replaceAll(param0: any /* any<any,any,any>*/): void;
			public equals(param0: any): boolean;
			public replace(param0: any, param1: any): any;
			public compute(param0: any, param1: any /* any<any,any,any>*/): any;
			public containsValue(param0: any): boolean;
			public replace(param0: any, param1: any, param2: any): boolean;
			public get(param0: any): any;
			public forEach(param0: any /* any<any,any>*/): void;
			public getOrDefault(param0: any, param1: any): any;
			public constructor(param0: number, param1: number, param2: boolean);
			public putIfAbsent(param0: any, param1: any): any;
			public remove(param0: any): any;
			public putAll(param0: java.util.Map<any,any>): void;
			public values(): java.util.Collection<any>;
			public constructor(param0: number, param1: number);
			public clear(): void;
			public keySet(): java.util.Set<any>;
			public entrySet(): java.util.Set<java.util.Map.Entry<any,any>>;
			public size(): number;
			public isEmpty(): boolean;
			public computeIfPresent(param0: any, param1: any /* any<any,any,any>*/): any;
			public constructor(param0: number);
			public constructor(param0: java.util.Map<any,any>);
			public constructor();
			public computeIfAbsent(param0: any, param1: any /* any<any,any>*/): any;
			public put(param0: any, param1: any): any;
			public merge(param0: any, param1: any, param2: any /* any<any,any,any>*/): any;
			public removeEldestEntry(param0: java.util.Map.Entry<any,any>): boolean;
			public remove(param0: any, param1: any): boolean;
			public containsKey(param0: any): boolean;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module util {
		export class LinkedHashSet<E>  extends java.util.HashSet<any> {
			public static class: java.lang.Class<java.util.LinkedHashSet<any>>;
			public clear(): void;
			public equals(param0: any): boolean;
			public toArray(): native.Array<any>;
			public size(): number;
			public isEmpty(): boolean;
			public stream(): java.util.stream.Stream<any>;
			public constructor(param0: number);
			public toArray(param0: native.Array<any>): native.Array<any>;
			public constructor();
			public constructor(param0: java.util.Collection<any>);
			public addAll(param0: java.util.Collection<any>): boolean;
			public retainAll(param0: java.util.Collection<any>): boolean;
			public forEach(param0: any /* any*/): void;
			public remove(param0: any): boolean;
			public containsAll(param0: java.util.Collection<any>): boolean;
			public contains(param0: any): boolean;
			public add(param0: any): boolean;
			public removeAll(param0: java.util.Collection<any>): boolean;
			public spliterator(): java.util.Spliterator<any>;
			public constructor(param0: number, param1: number);
			public removeIf(param0: any /* any*/): boolean;
			public parallelStream(): java.util.stream.Stream<any>;
			public iterator(): java.util.Iterator<any>;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module util {
		export class LinkedList<E>  extends java.util.AbstractSequentialList<any> {
			public static class: java.lang.Class<java.util.LinkedList<any>>;
			public addAll(param0: number, param1: java.util.Collection<any>): boolean;
			public peekLast(): any;
			public removeLast(): any;
			public push(param0: any): void;
			public constructor(param0: java.util.Collection<any>);
			public offerLast(param0: any): boolean;
			public element(): any;
			public clear(): void;
			public poll(): any;
			public listIterator(param0: number): java.util.ListIterator<any>;
			public toArray(param0: native.Array<any>): native.Array<any>;
			public constructor();
			public getFirst(): any;
			public addAll(param0: java.util.Collection<any>): boolean;
			public set(param0: number, param1: any): any;
			public pollFirst(): any;
			public forEach(param0: any /* any*/): void;
			public getLast(): any;
			public containsAll(param0: java.util.Collection<any>): boolean;
			public lastIndexOf(param0: any): number;
			public clone(): any;
			public remove(): any;
			public add(param0: any): boolean;
			public removeFirst(): any;
			public spliterator(): java.util.Spliterator<any>;
			public equals(param0: any): boolean;
			public pollLast(): any;
			public toArray(): native.Array<any>;
			public replaceAll(param0: any /* any*/): void;
			public stream(): java.util.stream.Stream<any>;
			public remove(param0: number): any;
			public removeFirstOccurrence(param0: any): boolean;
			public descendingIterator(): java.util.Iterator<any>;
			public sort(param0: java.util.Comparator<any>): void;
			public contains(param0: any): boolean;
			public get(param0: number): any;
			public peekFirst(): any;
			public addLast(param0: any): void;
			public add(param0: number, param1: any): void;
			public iterator(): java.util.Iterator<any>;
			public size(): number;
			public isEmpty(): boolean;
			public pop(): any;
			public subList(param0: number, param1: number): java.util.List<any>;
			public retainAll(param0: java.util.Collection<any>): boolean;
			public remove(param0: any): boolean;
			public peek(): any;
			public offerFirst(param0: any): boolean;
			public addFirst(param0: any): void;
			public offer(param0: any): boolean;
			public listIterator(): java.util.ListIterator<any>;
			public removeAll(param0: java.util.Collection<any>): boolean;
			public indexOf(param0: any): number;
			public removeLastOccurrence(param0: any): boolean;
			public removeIf(param0: any /* any*/): boolean;
			public parallelStream(): java.util.stream.Stream<any>;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module util {
		export class List<E>  extends java.util.Collection<any> {
			public static class: java.lang.Class<java.util.List<any>>;
			/**
			 * Constructs a new instance of the java.util.List<any> interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				size(): number;
				isEmpty(): boolean;
				contains(param0: any): boolean;
				iterator(): java.util.Iterator<any>;
				toArray(): native.Array<any>;
				toArray(param0: native.Array<any>): native.Array<any>;
				add(param0: any): boolean;
				remove(param0: any): boolean;
				containsAll(param0: java.util.Collection<any>): boolean;
				addAll(param0: java.util.Collection<any>): boolean;
				addAll(param0: number, param1: java.util.Collection<any>): boolean;
				removeAll(param0: java.util.Collection<any>): boolean;
				retainAll(param0: java.util.Collection<any>): boolean;
				replaceAll(param0: any /* any*/): void;
				sort(param0: java.util.Comparator<any>): void;
				clear(): void;
				equals(param0: any): boolean;
				hashCode(): number;
				get(param0: number): any;
				set(param0: number, param1: any): any;
				add(param0: number, param1: any): void;
				remove(param0: number): any;
				indexOf(param0: any): number;
				lastIndexOf(param0: any): number;
				listIterator(): java.util.ListIterator<any>;
				listIterator(param0: number): java.util.ListIterator<any>;
				subList(param0: number, param1: number): java.util.List<any>;
				spliterator(): java.util.Spliterator<any>;
				size(): number;
				isEmpty(): boolean;
				contains(param0: any): boolean;
				iterator(): java.util.Iterator<any>;
				toArray(): native.Array<any>;
				toArray(param0: native.Array<any>): native.Array<any>;
				add(param0: any): boolean;
				remove(param0: any): boolean;
				containsAll(param0: java.util.Collection<any>): boolean;
				addAll(param0: java.util.Collection<any>): boolean;
				removeAll(param0: java.util.Collection<any>): boolean;
				removeIf(param0: any /* any*/): boolean;
				retainAll(param0: java.util.Collection<any>): boolean;
				clear(): void;
				equals(param0: any): boolean;
				hashCode(): number;
				spliterator(): java.util.Spliterator<any>;
				stream(): java.util.stream.Stream<any>;
				parallelStream(): java.util.stream.Stream<any>;
				iterator(): java.util.Iterator<any>;
				forEach(param0: any /* any*/): void;
				spliterator(): java.util.Spliterator<any>;
			});
			public constructor();
			public addAll(param0: number, param1: java.util.Collection<any>): boolean;
			public equals(param0: any): boolean;
			public toArray(): native.Array<any>;
			public replaceAll(param0: any /* any*/): void;
			public stream(): java.util.stream.Stream<any>;
			public remove(param0: number): any;
			public sort(param0: java.util.Comparator<any>): void;
			public contains(param0: any): boolean;
			public get(param0: number): any;
			public add(param0: number, param1: any): void;
			public iterator(): java.util.Iterator<any>;
			public clear(): void;
			public size(): number;
			public isEmpty(): boolean;
			public listIterator(param0: number): java.util.ListIterator<any>;
			public toArray(param0: native.Array<any>): native.Array<any>;
			public subList(param0: number, param1: number): java.util.List<any>;
			public addAll(param0: java.util.Collection<any>): boolean;
			public retainAll(param0: java.util.Collection<any>): boolean;
			public set(param0: number, param1: any): any;
			public forEach(param0: any /* any*/): void;
			public remove(param0: any): boolean;
			public containsAll(param0: java.util.Collection<any>): boolean;
			public lastIndexOf(param0: any): number;
			public add(param0: any): boolean;
			public listIterator(): java.util.ListIterator<any>;
			public removeAll(param0: java.util.Collection<any>): boolean;
			public indexOf(param0: any): number;
			public spliterator(): java.util.Spliterator<any>;
			public removeIf(param0: any /* any*/): boolean;
			public parallelStream(): java.util.stream.Stream<any>;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module util {
		export class ListIterator<E>  extends java.util.Iterator<any> {
			public static class: java.lang.Class<java.util.ListIterator<any>>;
			/**
			 * Constructs a new instance of the java.util.ListIterator<any> interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				hasNext(): boolean;
				next(): any;
				hasPrevious(): boolean;
				previous(): any;
				nextIndex(): number;
				previousIndex(): number;
				remove(): void;
				set(param0: any): void;
				add(param0: any): void;
			});
			public constructor();
			public next(): any;
			public previous(): any;
			public hasPrevious(): boolean;
			public previousIndex(): number;
			public hasNext(): boolean;
			public set(param0: any): void;
			public nextIndex(): number;
			public remove(): void;
			public add(param0: any): void;
		}
	}
}

declare module java {
	export module util {
		export abstract class ListResourceBundle extends java.util.ResourceBundle {
			public static class: java.lang.Class<java.util.ListResourceBundle>;
			public handleGetObject(param0: string): any;
			public handleKeySet(): java.util.Set<string>;
			public getContents(): native.Array<native.Array<any>>;
			public constructor();
			public getKeys(): java.util.Enumeration<string>;
		}
	}
}

declare module java {
	export module util {
		export class Locale extends java.lang.Object implements java.lang.Cloneable, java.io.Serializable {
			public static class: java.lang.Class<java.util.Locale>;
			public static CANADA: java.util.Locale;
			public static CANADA_FRENCH: java.util.Locale;
			public static CHINA: java.util.Locale;
			public static CHINESE: java.util.Locale;
			public static ENGLISH: java.util.Locale;
			public static FRANCE: java.util.Locale;
			public static FRENCH: java.util.Locale;
			public static GERMAN: java.util.Locale;
			public static GERMANY: java.util.Locale;
			public static ITALIAN: java.util.Locale;
			public static ITALY: java.util.Locale;
			public static JAPAN: java.util.Locale;
			public static JAPANESE: java.util.Locale;
			public static KOREA: java.util.Locale;
			public static KOREAN: java.util.Locale;
			public static PRC: java.util.Locale;
			public static PRIVATE_USE_EXTENSION: string;
			public static ROOT: java.util.Locale;
			public static SIMPLIFIED_CHINESE: java.util.Locale;
			public static TAIWAN: java.util.Locale;
			public static TRADITIONAL_CHINESE: java.util.Locale;
			public static UK: java.util.Locale;
			public static UNICODE_LOCALE_EXTENSION: string;
			public static US: java.util.Locale;
			public static setDefault(param0: java.util.Locale): void;
			public equals(param0: any): boolean;
			public getCountry(): string;
			public constructor(param0: string, param1: string, param2: string);
			public static filterTags(param0: java.util.List<java.util.Locale.LanguageRange>, param1: java.util.Collection<string>, param2: java.util.Locale.FilteringMode): java.util.List<string>;
			public static lookupTag(param0: java.util.List<java.util.Locale.LanguageRange>, param1: java.util.Collection<string>): string;
			public getScript(): string;
			public getExtensionKeys(): java.util.Set<java.lang.Character>;
			public getDisplayScript(param0: java.util.Locale): string;
			public getDisplayCountry(param0: java.util.Locale): string;
			public constructor(param0: string, param1: string);
			public getDisplayVariant(param0: java.util.Locale): string;
			public static forLanguageTag(param0: string): java.util.Locale;
			public getISO3Country(): string;
			public hasExtensions(): boolean;
			public static getAvailableLocales(): native.Array<java.util.Locale>;
			public getDisplayLanguage(param0: java.util.Locale): string;
			public getDisplayLanguage(): string;
			public constructor(param0: string);
			public getUnicodeLocaleAttributes(): java.util.Set<string>;
			public getDisplayName(): string;
			public getDisplayScript(): string;
			public stripExtensions(): java.util.Locale;
			public getLanguage(): string;
			public static filter(param0: java.util.List<java.util.Locale.LanguageRange>, param1: java.util.Collection<java.util.Locale>): java.util.List<java.util.Locale>;
			public toLanguageTag(): string;
			public static getISOLanguages(): native.Array<string>;
			public getExtension(param0: string): string;
			public getVariant(): string;
			public getUnicodeLocaleType(param0: string): string;
			public static getDefault(param0: java.util.Locale.Category): java.util.Locale;
			public toString(): string;
			public getDisplayName(param0: java.util.Locale): string;
			public clone(): any;
			public getDisplayCountry(): string;
			public getUnicodeLocaleKeys(): java.util.Set<string>;
			public getISO3Language(): string;
			public static getISOCountries(): native.Array<string>;
			public static filterTags(param0: java.util.List<java.util.Locale.LanguageRange>, param1: java.util.Collection<string>): java.util.List<string>;
			public static setDefault(param0: java.util.Locale.Category, param1: java.util.Locale): void;
			public getDisplayVariant(): string;
			public static filter(param0: java.util.List<java.util.Locale.LanguageRange>, param1: java.util.Collection<java.util.Locale>, param2: java.util.Locale.FilteringMode): java.util.List<java.util.Locale>;
			public static getDefault(): java.util.Locale;
			public static lookup(param0: java.util.List<java.util.Locale.LanguageRange>, param1: java.util.Collection<java.util.Locale>): java.util.Locale;
			public hashCode(): number;
		}
		export module Locale {
			export class Builder extends java.lang.Object {
				public static class: java.lang.Class<java.util.Locale.Builder>;
				public setExtension(param0: string, param1: string): java.util.Locale.Builder;
				public clear(): java.util.Locale.Builder;
				public removeUnicodeLocaleAttribute(param0: string): java.util.Locale.Builder;
				public setVariant(param0: string): java.util.Locale.Builder;
				public setUnicodeLocaleKeyword(param0: string, param1: string): java.util.Locale.Builder;
				public setScript(param0: string): java.util.Locale.Builder;
				public constructor();
				public clearExtensions(): java.util.Locale.Builder;
				public setLanguageTag(param0: string): java.util.Locale.Builder;
				public setLanguage(param0: string): java.util.Locale.Builder;
				public setRegion(param0: string): java.util.Locale.Builder;
				public build(): java.util.Locale;
				public addUnicodeLocaleAttribute(param0: string): java.util.Locale.Builder;
				public setLocale(param0: java.util.Locale): java.util.Locale.Builder;
			}
			export class Category {
				public static class: java.lang.Class<java.util.Locale.Category>;
				public static DISPLAY: java.util.Locale.Category;
				public static FORMAT: java.util.Locale.Category;
				public static valueOf(param0: string): java.util.Locale.Category;
				public static values(): native.Array<java.util.Locale.Category>;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			}
			export class FilteringMode {
				public static class: java.lang.Class<java.util.Locale.FilteringMode>;
				public static AUTOSELECT_FILTERING: java.util.Locale.FilteringMode;
				public static EXTENDED_FILTERING: java.util.Locale.FilteringMode;
				public static IGNORE_EXTENDED_RANGES: java.util.Locale.FilteringMode;
				public static MAP_EXTENDED_RANGES: java.util.Locale.FilteringMode;
				public static REJECT_EXTENDED_RANGES: java.util.Locale.FilteringMode;
				public static valueOf(param0: string): java.util.Locale.FilteringMode;
				public static values(): native.Array<java.util.Locale.FilteringMode>;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
			}
			export class LanguageRange extends java.lang.Object {
				public static class: java.lang.Class<java.util.Locale.LanguageRange>;
				public static MAX_WEIGHT: number;
				public static MIN_WEIGHT: number;
				public static mapEquivalents(param0: java.util.List<java.util.Locale.LanguageRange>, param1: java.util.Map<string,java.util.List<string>>): java.util.List<java.util.Locale.LanguageRange>;
				public static parse(param0: string): java.util.List<java.util.Locale.LanguageRange>;
				public getRange(): string;
				public hashCode(): number;
				public constructor(param0: string, param1: number);
				public static parse(param0: string, param1: java.util.Map<string,java.util.List<string>>): java.util.List<java.util.Locale.LanguageRange>;
				public equals(param0: any): boolean;
				public constructor(param0: string);
				public getWeight(): number;
			}
		}
	}
}

declare module java {
	export module util {
		export class LongSummaryStatistics extends java.lang.Object {
			public static class: java.lang.Class<java.util.LongSummaryStatistics>;
			public getSum(): number;
			public getMax(): number;
			public toString(): string;
			public getMin(): number;
			public combine(param0: java.util.LongSummaryStatistics): void;
			public accept(param0: number): void;
			public getAverage(): number;
			public constructor();
			public getCount(): number;
		}
	}
}

declare module java {
	export module util {
		export class Map<K, V>  extends java.lang.Object {
			public static class: java.lang.Class<java.util.Map<any,any>>;
			/**
			 * Constructs a new instance of the java.util.Map<any,any> interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				size(): number;
				isEmpty(): boolean;
				containsKey(param0: any): boolean;
				containsValue(param0: any): boolean;
				get(param0: any): V;
				put(param0: K, param1: V): V;
				remove(param0: any): V;
				putAll(param0: java.util.Map<any,any>): void;
				clear(): void;
				keySet(): java.util.Set<K>;
				values(): java.util.Collection<V>;
				entrySet(): java.util.Set<java.util.Map.Entry<K,V>>;
				equals(param0: any): boolean;
				hashCode(): number;
				getOrDefault(param0: any, param1: V): V;
				forEach(param0: any /* any<any,any>*/): void;
				replaceAll(param0: any /* any<any,any,any>*/): void;
				putIfAbsent(param0: K, param1: V): V;
				remove(param0: any, param1: any): boolean;
				replace(param0: K, param1: V, param2: V): boolean;
				replace(param0: K, param1: V): V;
				computeIfAbsent(param0: K, param1: any /* any<any,any>*/): V;
				computeIfPresent(param0: K, param1: any /* any<any,any,any>*/): V;
				compute(param0: K, param1: any /* any<any,any,any>*/): V;
				merge(param0: K, param1: V, param2: any /* any<any,any,any>*/): V;
			});
			public constructor();
			public replaceAll(param0: any /* any<any,any,any>*/): void;
			public equals(param0: any): boolean;
			public put(param0: K, param1: V): V;
			public containsValue(param0: any): boolean;
			public forEach(param0: any /* any<any,any>*/): void;
			public putAll(param0: java.util.Map<any,any>): void;
			public keySet(): java.util.Set<K>;
			public compute(param0: K, param1: any /* any<any,any,any>*/): V;
			public values(): java.util.Collection<V>;
			public merge(param0: K, param1: V, param2: any /* any<any,any,any>*/): V;
			public clear(): void;
			public putIfAbsent(param0: K, param1: V): V;
			public size(): number;
			public isEmpty(): boolean;
			public computeIfAbsent(param0: K, param1: any /* any<any,any>*/): V;
			public get(param0: any): V;
			public computeIfPresent(param0: K, param1: any /* any<any,any,any>*/): V;
			public getOrDefault(param0: any, param1: V): V;
			public remove(param0: any, param1: any): boolean;
			public remove(param0: any): V;
			public replace(param0: K, param1: V): V;
			public containsKey(param0: any): boolean;
			public replace(param0: K, param1: V, param2: V): boolean;
			public entrySet(): java.util.Set<java.util.Map.Entry<K,V>>;
			public hashCode(): number;
		}
		export module Map {
			export class Entry<K, V>  extends java.lang.Object {
				public static class: java.lang.Class<java.util.Map.Entry<any,any>>;
				/**
				 * Constructs a new instance of the java.util.Map$Entry interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getKey(): K;
					getValue(): V;
					setValue(param0: V): V;
					equals(param0: any): boolean;
					hashCode(): number;
					comparingByKey(): java.util.Comparator<any>;
					comparingByValue(): java.util.Comparator<any>;
					comparingByKey(param0: java.util.Comparator<any>): java.util.Comparator<any>;
					comparingByValue(param0: java.util.Comparator<any>): java.util.Comparator<any>;
				});
				public constructor();
				public static comparingByKey(): java.util.Comparator<any>;
				public getValue(): V;
				public setValue(param0: V): V;
				public static comparingByValue(param0: java.util.Comparator<any>): java.util.Comparator<any>;
				public static comparingByValue(): java.util.Comparator<any>;
				public hashCode(): number;
				public equals(param0: any): boolean;
				public getKey(): K;
				public static comparingByKey(param0: java.util.Comparator<any>): java.util.Comparator<any>;
			}
		}
	}
}

declare module java {
	export module util {
		export class MissingFormatArgumentException extends java.util.IllegalFormatException {
			public static class: java.lang.Class<java.util.MissingFormatArgumentException>;
			public getMessage(): string;
			public getFormatSpecifier(): string;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module util {
		export class MissingFormatWidthException extends java.util.IllegalFormatException {
			public static class: java.lang.Class<java.util.MissingFormatWidthException>;
			public getMessage(): string;
			public getFormatSpecifier(): string;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module util {
		export class MissingResourceException extends java.lang.RuntimeException {
			public static class: java.lang.Class<java.util.MissingResourceException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public getClassName(): string;
			public constructor(param0: string, param1: string, param2: string);
			public getKey(): string;
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module util {
		export class NavigableMap<K, V>  extends java.util.SortedMap<any,any> {
			public static class: java.lang.Class<java.util.NavigableMap<any,any>>;
			/**
			 * Constructs a new instance of the java.util.NavigableMap<any,any> interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				lowerEntry(param0: any): java.util.Map.Entry<any,any>;
				lowerKey(param0: any): any;
				floorEntry(param0: any): java.util.Map.Entry<any,any>;
				floorKey(param0: any): any;
				ceilingEntry(param0: any): java.util.Map.Entry<any,any>;
				ceilingKey(param0: any): any;
				higherEntry(param0: any): java.util.Map.Entry<any,any>;
				higherKey(param0: any): any;
				firstEntry(): java.util.Map.Entry<any,any>;
				lastEntry(): java.util.Map.Entry<any,any>;
				pollFirstEntry(): java.util.Map.Entry<any,any>;
				pollLastEntry(): java.util.Map.Entry<any,any>;
				descendingMap(): java.util.NavigableMap<any,any>;
				navigableKeySet(): java.util.NavigableSet<any>;
				descendingKeySet(): java.util.NavigableSet<any>;
				subMap(param0: any, param1: boolean, param2: any, param3: boolean): java.util.NavigableMap<any,any>;
				headMap(param0: any, param1: boolean): java.util.NavigableMap<any,any>;
				tailMap(param0: any, param1: boolean): java.util.NavigableMap<any,any>;
				subMap(param0: any, param1: any): java.util.SortedMap<any,any>;
				headMap(param0: any): java.util.SortedMap<any,any>;
				tailMap(param0: any): java.util.SortedMap<any,any>;
				comparator(): java.util.Comparator<any>;
				subMap(param0: any, param1: any): java.util.SortedMap<any,any>;
				headMap(param0: any): java.util.SortedMap<any,any>;
				tailMap(param0: any): java.util.SortedMap<any,any>;
				firstKey(): any;
				lastKey(): any;
				keySet(): java.util.Set<any>;
				values(): java.util.Collection<any>;
				entrySet(): java.util.Set<java.util.Map.Entry<any,any>>;
				size(): number;
				isEmpty(): boolean;
				containsKey(param0: any): boolean;
				containsValue(param0: any): boolean;
				get(param0: any): any;
				put(param0: any, param1: any): any;
				remove(param0: any): any;
				putAll(param0: java.util.Map<any,any>): void;
				clear(): void;
				keySet(): java.util.Set<any>;
				values(): java.util.Collection<any>;
				entrySet(): java.util.Set<java.util.Map.Entry<any,any>>;
				equals(param0: any): boolean;
				hashCode(): number;
				getOrDefault(param0: any, param1: any): any;
				forEach(param0: any /* any<any,any>*/): void;
				replaceAll(param0: any /* any<any,any,any>*/): void;
				putIfAbsent(param0: any, param1: any): any;
				remove(param0: any, param1: any): boolean;
				replace(param0: any, param1: any, param2: any): boolean;
				replace(param0: any, param1: any): any;
				computeIfAbsent(param0: any, param1: any /* any<any,any>*/): any;
				computeIfPresent(param0: any, param1: any /* any<any,any,any>*/): any;
				compute(param0: any, param1: any /* any<any,any,any>*/): any;
				merge(param0: any, param1: any, param2: any /* any<any,any,any>*/): any;
			});
			public constructor();
			public compute(param0: any, param1: any /* any<any,any,any>*/): any;
			public containsValue(param0: any): boolean;
			public firstKey(): any;
			public getOrDefault(param0: any, param1: any): any;
			public headMap(param0: any): java.util.SortedMap<any,any>;
			public putIfAbsent(param0: any, param1: any): any;
			public putAll(param0: java.util.Map<any,any>): void;
			public lowerKey(param0: any): any;
			public tailMap(param0: any): java.util.SortedMap<any,any>;
			public values(): java.util.Collection<any>;
			public ceilingEntry(param0: any): java.util.Map.Entry<any,any>;
			public higherEntry(param0: any): java.util.Map.Entry<any,any>;
			public clear(): void;
			public keySet(): java.util.Set<any>;
			public entrySet(): java.util.Set<java.util.Map.Entry<any,any>>;
			public computeIfAbsent(param0: any, param1: any /* any<any,any>*/): any;
			public lastEntry(): java.util.Map.Entry<any,any>;
			public merge(param0: any, param1: any, param2: any /* any<any,any,any>*/): any;
			public headMap(param0: any, param1: boolean): java.util.NavigableMap<any,any>;
			public remove(param0: any, param1: any): boolean;
			public lowerEntry(param0: any): java.util.Map.Entry<any,any>;
			public containsKey(param0: any): boolean;
			public replaceAll(param0: any /* any<any,any,any>*/): void;
			public equals(param0: any): boolean;
			public ceilingKey(param0: any): any;
			public replace(param0: any, param1: any): any;
			public floorKey(param0: any): any;
			public replace(param0: any, param1: any, param2: any): boolean;
			public get(param0: any): any;
			public forEach(param0: any /* any<any,any>*/): void;
			public lastKey(): any;
			public remove(param0: any): any;
			public firstEntry(): java.util.Map.Entry<any,any>;
			public tailMap(param0: any, param1: boolean): java.util.NavigableMap<any,any>;
			public descendingKeySet(): java.util.NavigableSet<any>;
			public pollFirstEntry(): java.util.Map.Entry<any,any>;
			public descendingMap(): java.util.NavigableMap<any,any>;
			public size(): number;
			public isEmpty(): boolean;
			public computeIfPresent(param0: any, param1: any /* any<any,any,any>*/): any;
			public floorEntry(param0: any): java.util.Map.Entry<any,any>;
			public comparator(): java.util.Comparator<any>;
			public navigableKeySet(): java.util.NavigableSet<any>;
			public subMap(param0: any, param1: any): java.util.SortedMap<any,any>;
			public put(param0: any, param1: any): any;
			public higherKey(param0: any): any;
			public pollLastEntry(): java.util.Map.Entry<any,any>;
			public subMap(param0: any, param1: boolean, param2: any, param3: boolean): java.util.NavigableMap<any,any>;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module util {
		export class NavigableSet<E>  extends java.util.SortedSet<any> {
			public static class: java.lang.Class<java.util.NavigableSet<any>>;
			/**
			 * Constructs a new instance of the java.util.NavigableSet<any> interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				lower(param0: any): any;
				floor(param0: any): any;
				ceiling(param0: any): any;
				higher(param0: any): any;
				pollFirst(): any;
				pollLast(): any;
				iterator(): java.util.Iterator<any>;
				descendingSet(): java.util.NavigableSet<any>;
				descendingIterator(): java.util.Iterator<any>;
				subSet(param0: any, param1: boolean, param2: any, param3: boolean): java.util.NavigableSet<any>;
				headSet(param0: any, param1: boolean): java.util.NavigableSet<any>;
				tailSet(param0: any, param1: boolean): java.util.NavigableSet<any>;
				subSet(param0: any, param1: any): java.util.SortedSet<any>;
				headSet(param0: any): java.util.SortedSet<any>;
				tailSet(param0: any): java.util.SortedSet<any>;
				comparator(): java.util.Comparator<any>;
				subSet(param0: any, param1: any): java.util.SortedSet<any>;
				headSet(param0: any): java.util.SortedSet<any>;
				tailSet(param0: any): java.util.SortedSet<any>;
				first(): any;
				last(): any;
				spliterator(): java.util.Spliterator<any>;
				size(): number;
				isEmpty(): boolean;
				contains(param0: any): boolean;
				iterator(): java.util.Iterator<any>;
				toArray(): native.Array<any>;
				toArray(param0: native.Array<any>): native.Array<any>;
				add(param0: any): boolean;
				remove(param0: any): boolean;
				containsAll(param0: java.util.Collection<any>): boolean;
				addAll(param0: java.util.Collection<any>): boolean;
				retainAll(param0: java.util.Collection<any>): boolean;
				removeAll(param0: java.util.Collection<any>): boolean;
				clear(): void;
				equals(param0: any): boolean;
				hashCode(): number;
				spliterator(): java.util.Spliterator<any>;
				size(): number;
				isEmpty(): boolean;
				contains(param0: any): boolean;
				iterator(): java.util.Iterator<any>;
				toArray(): native.Array<any>;
				toArray(param0: native.Array<any>): native.Array<any>;
				add(param0: any): boolean;
				remove(param0: any): boolean;
				containsAll(param0: java.util.Collection<any>): boolean;
				addAll(param0: java.util.Collection<any>): boolean;
				removeAll(param0: java.util.Collection<any>): boolean;
				removeIf(param0: any /* any*/): boolean;
				retainAll(param0: java.util.Collection<any>): boolean;
				clear(): void;
				equals(param0: any): boolean;
				hashCode(): number;
				spliterator(): java.util.Spliterator<any>;
				stream(): java.util.stream.Stream<any>;
				parallelStream(): java.util.stream.Stream<any>;
				iterator(): java.util.Iterator<any>;
				forEach(param0: any /* any*/): void;
				spliterator(): java.util.Spliterator<any>;
			});
			public constructor();
			public equals(param0: any): boolean;
			public pollLast(): any;
			public toArray(): native.Array<any>;
			public higher(param0: any): any;
			public stream(): java.util.stream.Stream<any>;
			public descendingIterator(): java.util.Iterator<any>;
			public subSet(param0: any, param1: any): java.util.SortedSet<any>;
			public tailSet(param0: any, param1: boolean): java.util.NavigableSet<any>;
			public first(): any;
			public contains(param0: any): boolean;
			public ceiling(param0: any): any;
			public last(): any;
			public floor(param0: any): any;
			public lower(param0: any): any;
			public iterator(): java.util.Iterator<any>;
			public headSet(param0: any): java.util.SortedSet<any>;
			public clear(): void;
			public size(): number;
			public isEmpty(): boolean;
			public comparator(): java.util.Comparator<any>;
			public toArray(param0: native.Array<any>): native.Array<any>;
			public subSet(param0: any, param1: boolean, param2: any, param3: boolean): java.util.NavigableSet<any>;
			public addAll(param0: java.util.Collection<any>): boolean;
			public retainAll(param0: java.util.Collection<any>): boolean;
			public pollFirst(): any;
			public forEach(param0: any /* any*/): void;
			public tailSet(param0: any): java.util.SortedSet<any>;
			public remove(param0: any): boolean;
			public containsAll(param0: java.util.Collection<any>): boolean;
			public headSet(param0: any, param1: boolean): java.util.NavigableSet<any>;
			public add(param0: any): boolean;
			public removeAll(param0: java.util.Collection<any>): boolean;
			public spliterator(): java.util.Spliterator<any>;
			public removeIf(param0: any /* any*/): boolean;
			public parallelStream(): java.util.stream.Stream<any>;
			public descendingSet(): java.util.NavigableSet<any>;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module util {
		export class NoSuchElementException extends java.lang.RuntimeException {
			public static class: java.lang.Class<java.util.NoSuchElementException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module util {
		export class Objects extends java.lang.Object {
			public static class: java.lang.Class<java.util.Objects>;
			public static toString(param0: any): string;
			public equals(param0: any): boolean;
			public static isNull(param0: any): boolean;
			public static hashCode(param0: any): number;
			public static hash(param0: native.Array<any>): number;
			public static deepEquals(param0: any, param1: any): boolean;
			public static toString(param0: any, param1: string): string;
			public static requireNonNull(param0: any, param1: string): any;
			public toString(): string;
			public static nonNull(param0: any): boolean;
			public static requireNonNull(param0: any): any;
			public static equals(param0: any, param1: any): boolean;
			public static requireNonNull(param0: any, param1: any /* any*/): any;
			public static compare(param0: any, param1: any, param2: java.util.Comparator<any>): number;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module util {
		export class Observable extends java.lang.Object {
			public static class: java.lang.Class<java.util.Observable>;
			public addObserver(param0: java.util.Observer): void;
			public hasChanged(): boolean;
			public countObservers(): number;
			public constructor();
			public notifyObservers(param0: any): void;
			public clearChanged(): void;
			public deleteObservers(): void;
			public notifyObservers(): void;
			public setChanged(): void;
			public deleteObserver(param0: java.util.Observer): void;
		}
	}
}

declare module java {
	export module util {
		export class Observer extends java.lang.Object {
			public static class: java.lang.Class<java.util.Observer>;
			/**
			 * Constructs a new instance of the java.util.Observer interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				update(param0: java.util.Observable, param1: any): void;
			});
			public constructor();
			public update(param0: java.util.Observable, param1: any): void;
		}
	}
}

declare module java {
	export module util {
		export class Optional<T>  extends java.lang.Object {
			public static class: java.lang.Class<java.util.Optional<any>>;
			public equals(param0: any): boolean;
			public isPresent(): boolean;
			public static empty(): java.util.Optional<any>;
			public orElseGet(param0: any /* any*/): T;
			public map(param0: any /* any*/): java.util.Optional<any>;
			public orElseThrow(param0: any /* any*/): any;
			public filter(param0: any /* any*/): java.util.Optional<T>;
			public static ofNullable(param0: any): java.util.Optional<any>;
			public toString(): string;
			public flatMap(param0: any /* any*/): java.util.Optional<any>;
			public static of(param0: any): java.util.Optional<any>;
			public ifPresent(param0: any /* any*/): void;
			public get(): T;
			public orElse(param0: T): T;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module util {
		export class OptionalDouble extends java.lang.Object {
			public static class: java.lang.Class<java.util.OptionalDouble>;
			public orElseGet(param0: any /* any*/): number;
			public equals(param0: any): boolean;
			public isPresent(): boolean;
			public toString(): string;
			public static empty(): java.util.OptionalDouble;
			public orElse(param0: number): number;
			public ifPresent(param0: any /* any*/): void;
			public static of(param0: number): java.util.OptionalDouble;
			public getAsDouble(): number;
			public orElseThrow(param0: any /* any*/): number;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module util {
		export class OptionalInt extends java.lang.Object {
			public static class: java.lang.Class<java.util.OptionalInt>;
			public equals(param0: any): boolean;
			public isPresent(): boolean;
			public toString(): string;
			public ifPresent(param0: any /* any*/): void;
			public orElse(param0: number): number;
			public static of(param0: number): java.util.OptionalInt;
			public static empty(): java.util.OptionalInt;
			public getAsInt(): number;
			public orElseThrow(param0: any /* any*/): number;
			public orElseGet(param0: any /* any*/): number;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module util {
		export class OptionalLong extends java.lang.Object {
			public static class: java.lang.Class<java.util.OptionalLong>;
			public static empty(): java.util.OptionalLong;
			public equals(param0: any): boolean;
			public isPresent(): boolean;
			public toString(): string;
			public ifPresent(param0: any /* any*/): void;
			public orElse(param0: number): number;
			public getAsLong(): number;
			public orElseGet(param0: any /* any*/): number;
			public static of(param0: number): java.util.OptionalLong;
			public orElseThrow(param0: any /* any*/): number;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module util {
		export class PrimitiveIterator<T, T_CONS>  extends java.util.Iterator<any> {
			public static class: java.lang.Class<java.util.PrimitiveIterator<any,any>>;
			/**
			 * Constructs a new instance of the java.util.PrimitiveIterator<any,any> interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				forEachRemaining(param0: any): void;
			});
			public constructor();
			public forEachRemaining(param0: any): void;
		}
		export module PrimitiveIterator {
			export class OfDouble extends java.util.PrimitiveIterator<java.lang.Double,any> {
				public static class: java.lang.Class<java.util.PrimitiveIterator.OfDouble>;
				/**
				 * Constructs a new instance of the java.util.PrimitiveIterator$OfDouble interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					nextDouble(): number;
					forEachRemaining(param0: any /* any*/): void;
					next(): java.lang.Double;
					forEachRemaining(param0: any /* any*/): void;
					forEachRemaining(param0: any): void;
					next(): any;
					forEachRemaining(param0: any): void;
				});
				public constructor();
				public forEachRemaining(param0: any): void;
				public next(): java.lang.Double;
				public forEachRemaining(param0: any /* any*/): void;
				public forEachRemaining(param0: any /* any*/): void;
				public nextDouble(): number;
			}
			export class OfInt extends java.util.PrimitiveIterator<java.lang.Integer,any> {
				public static class: java.lang.Class<java.util.PrimitiveIterator.OfInt>;
				/**
				 * Constructs a new instance of the java.util.PrimitiveIterator$OfInt interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					nextInt(): number;
					forEachRemaining(param0: any /* any*/): void;
					next(): java.lang.Integer;
					forEachRemaining(param0: any /* any*/): void;
					forEachRemaining(param0: any): void;
					next(): any;
					forEachRemaining(param0: any): void;
				});
				public constructor();
				public nextInt(): number;
				public forEachRemaining(param0: any): void;
				public forEachRemaining(param0: any /* any*/): void;
				public next(): java.lang.Integer;
				public forEachRemaining(param0: any /* any*/): void;
			}
			export class OfLong extends java.util.PrimitiveIterator<java.lang.Long,any> {
				public static class: java.lang.Class<java.util.PrimitiveIterator.OfLong>;
				/**
				 * Constructs a new instance of the java.util.PrimitiveIterator$OfLong interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					nextLong(): number;
					forEachRemaining(param0: any /* any*/): void;
					next(): java.lang.Long;
					forEachRemaining(param0: any /* any*/): void;
					forEachRemaining(param0: any): void;
					next(): any;
					forEachRemaining(param0: any): void;
				});
				public constructor();
				public nextLong(): number;
				public forEachRemaining(param0: any): void;
				public forEachRemaining(param0: any /* any*/): void;
				public next(): java.lang.Long;
				public forEachRemaining(param0: any /* any*/): void;
			}
		}
	}
}

declare module java {
	export module util {
		export class PriorityQueue<E>  extends java.util.AbstractQueue<any> implements java.io.Serializable  {
			public static class: java.lang.Class<java.util.PriorityQueue<any>>;
			public equals(param0: any): boolean;
			public toArray(): native.Array<any>;
			public stream(): java.util.stream.Stream<any>;
			public constructor(param0: java.util.PriorityQueue<any>);
			public constructor(param0: java.util.Collection<any>);
			public contains(param0: any): boolean;
			public constructor(param0: java.util.Comparator<any>);
			public constructor(param0: java.util.SortedSet<any>);
			public constructor(param0: number, param1: java.util.Comparator<any>);
			public iterator(): java.util.Iterator<any>;
			public element(): any;
			public clear(): void;
			public size(): number;
			public isEmpty(): boolean;
			public poll(): any;
			public constructor(param0: number);
			public comparator(): java.util.Comparator<any>;
			public toArray(param0: native.Array<any>): native.Array<any>;
			public constructor();
			public addAll(param0: java.util.Collection<any>): boolean;
			public retainAll(param0: java.util.Collection<any>): boolean;
			public peek(): any;
			public remove(param0: any): boolean;
			public containsAll(param0: java.util.Collection<any>): boolean;
			public offer(param0: any): boolean;
			public remove(): any;
			public add(param0: any): boolean;
			public removeAll(param0: java.util.Collection<any>): boolean;
			public spliterator(): java.util.Spliterator<any>;
			public removeIf(param0: any /* any*/): boolean;
			public parallelStream(): java.util.stream.Stream<any>;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module util {
		export class Properties extends java.util.Hashtable<any,any> {
			public static class: java.lang.Class<java.util.Properties>;
			public defaults: java.util.Properties;
			public replaceAll(param0: any /* any<any,any,any>*/): void;
			public propertyNames(): java.util.Enumeration<any>;
			public stringPropertyNames(): java.util.Set<string>;
			public equals(param0: any): boolean;
			/** @deprecated */
			public save(param0: java.io.OutputStream, param1: string): void;
			public constructor(param0: java.util.Properties);
			public replace(param0: any, param1: any): any;
			public compute(param0: any, param1: any /* any<any,any,any>*/): any;
			public containsValue(param0: any): boolean;
			public replace(param0: any, param1: any, param2: any): boolean;
			public get(param0: any): any;
			public forEach(param0: any /* any<any,any>*/): void;
			public getOrDefault(param0: any, param1: any): any;
			public putIfAbsent(param0: any, param1: any): any;
			public remove(param0: any): any;
			public putAll(param0: java.util.Map<any,any>): void;
			public load(param0: java.io.Reader): void;
			public values(): java.util.Collection<any>;
			public constructor(param0: number, param1: number);
			public clear(): void;
			public getProperty(param0: string, param1: string): string;
			public size(): number;
			public isEmpty(): boolean;
			public keySet(): java.util.Set<any>;
			public entrySet(): java.util.Set<java.util.Map.Entry<any,any>>;
			public store(param0: java.io.OutputStream, param1: string): void;
			public computeIfPresent(param0: any, param1: any /* any<any,any,any>*/): any;
			public store(param0: java.io.Writer, param1: string): void;
			public storeToXML(param0: java.io.OutputStream, param1: string, param2: string): void;
			public constructor(param0: number);
			public list(param0: java.io.PrintStream): void;
			public constructor(param0: java.util.Map<any,any>);
			public constructor();
			public computeIfAbsent(param0: any, param1: any /* any<any,any>*/): any;
			public put(param0: any, param1: any): any;
			public merge(param0: any, param1: any, param2: any /* any<any,any,any>*/): any;
			public getProperty(param0: string): string;
			public loadFromXML(param0: java.io.InputStream): void;
			public remove(param0: any, param1: any): boolean;
			public storeToXML(param0: java.io.OutputStream, param1: string): void;
			public list(param0: java.io.PrintWriter): void;
			public containsKey(param0: any): boolean;
			public setProperty(param0: string, param1: string): any;
			public load(param0: java.io.InputStream): void;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module util {
		export class PropertyPermission extends java.security.BasicPermission {
			public static class: java.lang.Class<java.util.PropertyPermission>;
			public constructor(param0: string, param1: string);
			public checkGuard(param0: any): void;
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module util {
		export class PropertyResourceBundle extends java.util.ResourceBundle {
			public static class: java.lang.Class<java.util.PropertyResourceBundle>;
			public constructor(param0: java.io.Reader);
			public handleGetObject(param0: string): any;
			public handleKeySet(): java.util.Set<string>;
			public constructor(param0: java.io.InputStream);
			public constructor();
			public getKeys(): java.util.Enumeration<string>;
		}
	}
}

declare module java {
	export module util {
		export class Queue<E>  extends java.util.Collection<any> {
			public static class: java.lang.Class<java.util.Queue<any>>;
			/**
			 * Constructs a new instance of the java.util.Queue<any> interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				add(param0: any): boolean;
				offer(param0: any): boolean;
				remove(): any;
				poll(): any;
				element(): any;
				peek(): any;
				size(): number;
				isEmpty(): boolean;
				contains(param0: any): boolean;
				iterator(): java.util.Iterator<any>;
				toArray(): native.Array<any>;
				toArray(param0: native.Array<any>): native.Array<any>;
				add(param0: any): boolean;
				remove(param0: any): boolean;
				containsAll(param0: java.util.Collection<any>): boolean;
				addAll(param0: java.util.Collection<any>): boolean;
				removeAll(param0: java.util.Collection<any>): boolean;
				removeIf(param0: any /* any*/): boolean;
				retainAll(param0: java.util.Collection<any>): boolean;
				clear(): void;
				equals(param0: any): boolean;
				hashCode(): number;
				spliterator(): java.util.Spliterator<any>;
				stream(): java.util.stream.Stream<any>;
				parallelStream(): java.util.stream.Stream<any>;
				iterator(): java.util.Iterator<any>;
				forEach(param0: any /* any*/): void;
				spliterator(): java.util.Spliterator<any>;
			});
			public constructor();
			public equals(param0: any): boolean;
			public toArray(): native.Array<any>;
			public stream(): java.util.stream.Stream<any>;
			public contains(param0: any): boolean;
			public element(): any;
			public iterator(): java.util.Iterator<any>;
			public clear(): void;
			public size(): number;
			public isEmpty(): boolean;
			public poll(): any;
			public toArray(param0: native.Array<any>): native.Array<any>;
			public addAll(param0: java.util.Collection<any>): boolean;
			public retainAll(param0: java.util.Collection<any>): boolean;
			public forEach(param0: any /* any*/): void;
			public peek(): any;
			public remove(param0: any): boolean;
			public containsAll(param0: java.util.Collection<any>): boolean;
			public offer(param0: any): boolean;
			public remove(): any;
			public add(param0: any): boolean;
			public removeAll(param0: java.util.Collection<any>): boolean;
			public spliterator(): java.util.Spliterator<any>;
			public removeIf(param0: any /* any*/): boolean;
			public parallelStream(): java.util.stream.Stream<any>;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module util {
		export class Random extends java.lang.Object implements java.io.Serializable {
			public static class: java.lang.Class<java.util.Random>;
			public nextInt(param0: number): number;
			public ints(param0: number): java.util.stream.IntStream;
			public longs(param0: number, param1: number, param2: number): java.util.stream.LongStream;
			public setSeed(param0: number): void;
			public nextBytes(param0: native.Array<number>): void;
			public nextBoolean(): boolean;
			public doubles(param0: number, param1: number, param2: number): java.util.stream.DoubleStream;
			public constructor(param0: number);
			public ints(): java.util.stream.IntStream;
			public ints(param0: number, param1: number): java.util.stream.IntStream;
			public ints(param0: number, param1: number, param2: number): java.util.stream.IntStream;
			public doubles(param0: number): java.util.stream.DoubleStream;
			public constructor();
			public next(param0: number): number;
			public nextLong(): number;
			public longs(param0: number, param1: number): java.util.stream.LongStream;
			public nextFloat(): number;
			public nextDouble(): number;
			public doubles(): java.util.stream.DoubleStream;
			public longs(param0: number): java.util.stream.LongStream;
			public nextGaussian(): number;
			public nextInt(): number;
			public longs(): java.util.stream.LongStream;
			public doubles(param0: number, param1: number): java.util.stream.DoubleStream;
		}
	}
}

declare module java {
	export module util {
		export class RandomAccess extends java.lang.Object {
			public static class: java.lang.Class<java.util.RandomAccess>;
			/**
			 * Constructs a new instance of the java.util.RandomAccess interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
			});
			public constructor();
		}
	}
}

declare module java {
	export module util {
		export abstract class ResourceBundle extends java.lang.Object {
			public static class: java.lang.Class<java.util.ResourceBundle>;
			public parent: java.util.ResourceBundle;
			public keySet(): java.util.Set<string>;
			public static getBundle(param0: string, param1: java.util.ResourceBundle.Control): java.util.ResourceBundle;
			public static getBundle(param0: string, param1: java.util.Locale, param2: java.util.ResourceBundle.Control): java.util.ResourceBundle;
			public static getBundle(param0: string, param1: java.util.Locale, param2: java.lang.ClassLoader, param3: java.util.ResourceBundle.Control): java.util.ResourceBundle;
			public static getBundle(param0: string, param1: java.util.Locale, param2: java.lang.ClassLoader): java.util.ResourceBundle;
			public getString(param0: string): string;
			public constructor();
			public setParent(param0: java.util.ResourceBundle): void;
			public static clearCache(param0: java.lang.ClassLoader): void;
			public static clearCache(): void;
			public getObject(param0: string): any;
			public handleGetObject(param0: string): any;
			public handleKeySet(): java.util.Set<string>;
			public static getBundle(param0: string): java.util.ResourceBundle;
			public getBaseBundleName(): string;
			public getStringArray(param0: string): native.Array<string>;
			public getKeys(): java.util.Enumeration<string>;
			public containsKey(param0: string): boolean;
			public getLocale(): java.util.Locale;
			public static getBundle(param0: string, param1: java.util.Locale): java.util.ResourceBundle;
		}
		export module ResourceBundle {
			export class Control extends java.lang.Object {
				public static class: java.lang.Class<java.util.ResourceBundle.Control>;
				public static FORMAT_CLASS: java.util.List<string>;
				public static FORMAT_DEFAULT: java.util.List<string>;
				public static FORMAT_PROPERTIES: java.util.List<string>;
				public static TTL_DONT_CACHE: number;
				public static TTL_NO_EXPIRATION_CONTROL: number;
				public getTimeToLive(param0: string, param1: java.util.Locale): number;
				public newBundle(param0: string, param1: java.util.Locale, param2: string, param3: java.lang.ClassLoader, param4: boolean): java.util.ResourceBundle;
				public toResourceName(param0: string, param1: string): string;
				public getFallbackLocale(param0: string, param1: java.util.Locale): java.util.Locale;
				public static getNoFallbackControl(param0: java.util.List<string>): java.util.ResourceBundle.Control;
				public needsReload(param0: string, param1: java.util.Locale, param2: string, param3: java.lang.ClassLoader, param4: java.util.ResourceBundle, param5: number): boolean;
				public toBundleName(param0: string, param1: java.util.Locale): string;
				public getFormats(param0: string): java.util.List<string>;
				public getCandidateLocales(param0: string, param1: java.util.Locale): java.util.List<java.util.Locale>;
				public static getControl(param0: java.util.List<string>): java.util.ResourceBundle.Control;
				public constructor();
			}
		}
	}
}

declare module java {
	export module util {
		export class Scanner extends java.lang.Object {
			public static class: java.lang.Class<java.util.Scanner>;
			public ioException(): java.io.IOException;
			public match(): java.util.regex.MatchResult;
			public hasNextBigInteger(): boolean;
			public useDelimiter(param0: java.util.regex.Pattern): java.util.Scanner;
			public next(): string;
			public constructor(param0: java.lang.Readable);
			public useLocale(param0: java.util.Locale): java.util.Scanner;
			public findWithinHorizon(param0: java.util.regex.Pattern, param1: number): string;
			public nextDouble(): number;
			public nextBigDecimal(): java.math.BigDecimal;
			public constructor(param0: java.io.File, param1: string);
			public findInLine(param0: java.util.regex.Pattern): string;
			public hasNextByte(): boolean;
			public hasNextBigDecimal(): boolean;
			public constructor(param0: java.io.File);
			public hasNextInt(): boolean;
			public constructor(param0: java.io.InputStream);
			public nextBigInteger(param0: number): java.math.BigInteger;
			public hasNext(param0: string): boolean;
			public constructor(param0: string);
			public hasNextByte(param0: number): boolean;
			public hasNextInt(param0: number): boolean;
			public nextInt(param0: number): number;
			public delimiter(): java.util.regex.Pattern;
			public radix(): number;
			public hasNext(): boolean;
			public hasNextFloat(): boolean;
			public remove(): void;
			public nextLong(): number;
			public hasNextDouble(): boolean;
			public hasNextLine(): boolean;
			public hasNextBoolean(): boolean;
			public skip(param0: java.util.regex.Pattern): java.util.Scanner;
			public nextInt(): number;
			public next(param0: java.util.regex.Pattern): string;
			public nextByte(param0: number): number;
			public next(param0: string): string;
			public constructor(param0: java.nio.channels.ReadableByteChannel);
			public findWithinHorizon(param0: string, param1: number): string;
			public hasNextBigInteger(param0: number): boolean;
			public findInLine(param0: string): string;
			public skip(param0: string): java.util.Scanner;
			public hasNextShort(param0: number): boolean;
			public close(): void;
			public reset(): java.util.Scanner;
			public nextBoolean(): boolean;
			public nextBigInteger(): java.math.BigInteger;
			public nextByte(): number;
			public useRadix(param0: number): java.util.Scanner;
			public nextLine(): string;
			public hasNextLong(param0: number): boolean;
			public nextFloat(): number;
			public hasNext(param0: java.util.regex.Pattern): boolean;
			public toString(): string;
			public hasNextLong(): boolean;
			public constructor(param0: java.io.InputStream, param1: string);
			public nextLong(param0: number): number;
			public useDelimiter(param0: string): java.util.Scanner;
			public nextShort(param0: number): number;
			public constructor(param0: java.nio.file.Path, param1: string);
			public constructor(param0: java.nio.channels.ReadableByteChannel, param1: string);
			public hasNextShort(): boolean;
			public locale(): java.util.Locale;
			public constructor(param0: java.nio.file.Path);
			public nextShort(): number;
		}
	}
}

declare module java {
	export module util {
		export class ServiceConfigurationError extends java.lang.Error {
			public static class: java.lang.Class<java.util.ServiceConfigurationError>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module util {
		export class ServiceLoader<S>  extends java.lang.Iterable<any> {
			public static class: java.lang.Class<java.util.ServiceLoader<any>>;
			public static load(param0: java.lang.Class<any>, param1: java.lang.ClassLoader): java.util.ServiceLoader<any>;
			public static load(param0: java.lang.Class<any>): java.util.ServiceLoader<any>;
			public toString(): string;
			public reload(): void;
			public spliterator(): java.util.Spliterator<any>;
			public iterator(): java.util.Iterator<any>;
			public static loadInstalled(param0: java.lang.Class<any>): java.util.ServiceLoader<any>;
			public forEach(param0: any /* any*/): void;
		}
	}
}

declare module java {
	export module util {
		export class Set<E>  extends java.util.Collection<any> {
			public static class: java.lang.Class<java.util.Set<any>>;
			/**
			 * Constructs a new instance of the java.util.Set<any> interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				size(): number;
				isEmpty(): boolean;
				contains(param0: any): boolean;
				iterator(): java.util.Iterator<any>;
				toArray(): native.Array<any>;
				toArray(param0: native.Array<any>): native.Array<any>;
				add(param0: any): boolean;
				remove(param0: any): boolean;
				containsAll(param0: java.util.Collection<any>): boolean;
				addAll(param0: java.util.Collection<any>): boolean;
				retainAll(param0: java.util.Collection<any>): boolean;
				removeAll(param0: java.util.Collection<any>): boolean;
				clear(): void;
				equals(param0: any): boolean;
				hashCode(): number;
				spliterator(): java.util.Spliterator<any>;
				size(): number;
				isEmpty(): boolean;
				contains(param0: any): boolean;
				iterator(): java.util.Iterator<any>;
				toArray(): native.Array<any>;
				toArray(param0: native.Array<any>): native.Array<any>;
				add(param0: any): boolean;
				remove(param0: any): boolean;
				containsAll(param0: java.util.Collection<any>): boolean;
				addAll(param0: java.util.Collection<any>): boolean;
				removeAll(param0: java.util.Collection<any>): boolean;
				removeIf(param0: any /* any*/): boolean;
				retainAll(param0: java.util.Collection<any>): boolean;
				clear(): void;
				equals(param0: any): boolean;
				hashCode(): number;
				spliterator(): java.util.Spliterator<any>;
				stream(): java.util.stream.Stream<any>;
				parallelStream(): java.util.stream.Stream<any>;
				iterator(): java.util.Iterator<any>;
				forEach(param0: any /* any*/): void;
				spliterator(): java.util.Spliterator<any>;
			});
			public constructor();
			public clear(): void;
			public equals(param0: any): boolean;
			public toArray(): native.Array<any>;
			public size(): number;
			public isEmpty(): boolean;
			public stream(): java.util.stream.Stream<any>;
			public toArray(param0: native.Array<any>): native.Array<any>;
			public addAll(param0: java.util.Collection<any>): boolean;
			public retainAll(param0: java.util.Collection<any>): boolean;
			public forEach(param0: any /* any*/): void;
			public remove(param0: any): boolean;
			public containsAll(param0: java.util.Collection<any>): boolean;
			public contains(param0: any): boolean;
			public add(param0: any): boolean;
			public removeAll(param0: java.util.Collection<any>): boolean;
			public spliterator(): java.util.Spliterator<any>;
			public removeIf(param0: any /* any*/): boolean;
			public parallelStream(): java.util.stream.Stream<any>;
			public iterator(): java.util.Iterator<any>;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module util {
		export class SimpleTimeZone extends java.util.TimeZone {
			public static class: java.lang.Class<java.util.SimpleTimeZone>;
			public static STANDARD_TIME: number;
			public static UTC_TIME: number;
			public static WALL_TIME: number;
			public constructor(param0: number, param1: string, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number, param8: number, param9: number, param10: number, param11: number, param12: number);
			public equals(param0: any): boolean;
			public constructor(param0: number, param1: string, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number, param8: number, param9: number);
			public setEndRule(param0: number, param1: number, param2: number, param3: number): void;
			public getOffset(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number): number;
			public getDSTSavings(): number;
			public useDaylightTime(): boolean;
			public constructor(param0: number, param1: string);
			public setStartRule(param0: number, param1: number, param2: number, param3: number, param4: boolean): void;
			public getOffset(param0: number): number;
			public setEndRule(param0: number, param1: number, param2: number): void;
			public getRawOffset(): number;
			public setDSTSavings(param0: number): void;
			public observesDaylightTime(): boolean;
			public setEndRule(param0: number, param1: number, param2: number, param3: number, param4: boolean): void;
			public hasSameRules(param0: java.util.TimeZone): boolean;
			public setRawOffset(param0: number): void;
			public constructor();
			public setStartRule(param0: number, param1: number, param2: number): void;
			public clone(): any;
			public toString(): string;
			public constructor(param0: number, param1: string, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number, param8: number, param9: number, param10: number);
			public inDaylightTime(param0: java.util.Date): boolean;
			public setStartRule(param0: number, param1: number, param2: number, param3: number): void;
			public setStartYear(param0: number): void;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module util {
		export class SortedMap<K, V>  extends java.util.Map<any,any> {
			public static class: java.lang.Class<java.util.SortedMap<any,any>>;
			/**
			 * Constructs a new instance of the java.util.SortedMap<any,any> interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				comparator(): java.util.Comparator<any>;
				subMap(param0: any, param1: any): java.util.SortedMap<any,any>;
				headMap(param0: any): java.util.SortedMap<any,any>;
				tailMap(param0: any): java.util.SortedMap<any,any>;
				firstKey(): any;
				lastKey(): any;
				keySet(): java.util.Set<any>;
				values(): java.util.Collection<any>;
				entrySet(): java.util.Set<java.util.Map.Entry<any,any>>;
				size(): number;
				isEmpty(): boolean;
				containsKey(param0: any): boolean;
				containsValue(param0: any): boolean;
				get(param0: any): any;
				put(param0: any, param1: any): any;
				remove(param0: any): any;
				putAll(param0: java.util.Map<any,any>): void;
				clear(): void;
				keySet(): java.util.Set<any>;
				values(): java.util.Collection<any>;
				entrySet(): java.util.Set<java.util.Map.Entry<any,any>>;
				equals(param0: any): boolean;
				hashCode(): number;
				getOrDefault(param0: any, param1: any): any;
				forEach(param0: any /* any<any,any>*/): void;
				replaceAll(param0: any /* any<any,any,any>*/): void;
				putIfAbsent(param0: any, param1: any): any;
				remove(param0: any, param1: any): boolean;
				replace(param0: any, param1: any, param2: any): boolean;
				replace(param0: any, param1: any): any;
				computeIfAbsent(param0: any, param1: any /* any<any,any>*/): any;
				computeIfPresent(param0: any, param1: any /* any<any,any,any>*/): any;
				compute(param0: any, param1: any /* any<any,any,any>*/): any;
				merge(param0: any, param1: any, param2: any /* any<any,any,any>*/): any;
			});
			public constructor();
			public replaceAll(param0: any /* any<any,any,any>*/): void;
			public equals(param0: any): boolean;
			public replace(param0: any, param1: any): any;
			public compute(param0: any, param1: any /* any<any,any,any>*/): any;
			public containsValue(param0: any): boolean;
			public replace(param0: any, param1: any, param2: any): boolean;
			public firstKey(): any;
			public get(param0: any): any;
			public forEach(param0: any /* any<any,any>*/): void;
			public getOrDefault(param0: any, param1: any): any;
			public headMap(param0: any): java.util.SortedMap<any,any>;
			public lastKey(): any;
			public putIfAbsent(param0: any, param1: any): any;
			public remove(param0: any): any;
			public putAll(param0: java.util.Map<any,any>): void;
			public tailMap(param0: any): java.util.SortedMap<any,any>;
			public values(): java.util.Collection<any>;
			public clear(): void;
			public keySet(): java.util.Set<any>;
			public entrySet(): java.util.Set<java.util.Map.Entry<any,any>>;
			public size(): number;
			public isEmpty(): boolean;
			public computeIfPresent(param0: any, param1: any /* any<any,any,any>*/): any;
			public comparator(): java.util.Comparator<any>;
			public computeIfAbsent(param0: any, param1: any /* any<any,any>*/): any;
			public subMap(param0: any, param1: any): java.util.SortedMap<any,any>;
			public put(param0: any, param1: any): any;
			public merge(param0: any, param1: any, param2: any /* any<any,any,any>*/): any;
			public remove(param0: any, param1: any): boolean;
			public containsKey(param0: any): boolean;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module util {
		export class SortedSet<E>  extends java.util.Set<any> {
			public static class: java.lang.Class<java.util.SortedSet<any>>;
			/**
			 * Constructs a new instance of the java.util.SortedSet<any> interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				comparator(): java.util.Comparator<any>;
				subSet(param0: any, param1: any): java.util.SortedSet<any>;
				headSet(param0: any): java.util.SortedSet<any>;
				tailSet(param0: any): java.util.SortedSet<any>;
				first(): any;
				last(): any;
				spliterator(): java.util.Spliterator<any>;
				size(): number;
				isEmpty(): boolean;
				contains(param0: any): boolean;
				iterator(): java.util.Iterator<any>;
				toArray(): native.Array<any>;
				toArray(param0: native.Array<any>): native.Array<any>;
				add(param0: any): boolean;
				remove(param0: any): boolean;
				containsAll(param0: java.util.Collection<any>): boolean;
				addAll(param0: java.util.Collection<any>): boolean;
				retainAll(param0: java.util.Collection<any>): boolean;
				removeAll(param0: java.util.Collection<any>): boolean;
				clear(): void;
				equals(param0: any): boolean;
				hashCode(): number;
				spliterator(): java.util.Spliterator<any>;
				size(): number;
				isEmpty(): boolean;
				contains(param0: any): boolean;
				iterator(): java.util.Iterator<any>;
				toArray(): native.Array<any>;
				toArray(param0: native.Array<any>): native.Array<any>;
				add(param0: any): boolean;
				remove(param0: any): boolean;
				containsAll(param0: java.util.Collection<any>): boolean;
				addAll(param0: java.util.Collection<any>): boolean;
				removeAll(param0: java.util.Collection<any>): boolean;
				removeIf(param0: any /* any*/): boolean;
				retainAll(param0: java.util.Collection<any>): boolean;
				clear(): void;
				equals(param0: any): boolean;
				hashCode(): number;
				spliterator(): java.util.Spliterator<any>;
				stream(): java.util.stream.Stream<any>;
				parallelStream(): java.util.stream.Stream<any>;
				iterator(): java.util.Iterator<any>;
				forEach(param0: any /* any*/): void;
				spliterator(): java.util.Spliterator<any>;
			});
			public constructor();
			public equals(param0: any): boolean;
			public toArray(): native.Array<any>;
			public stream(): java.util.stream.Stream<any>;
			public subSet(param0: any, param1: any): java.util.SortedSet<any>;
			public first(): any;
			public contains(param0: any): boolean;
			public last(): any;
			public headSet(param0: any): java.util.SortedSet<any>;
			public iterator(): java.util.Iterator<any>;
			public clear(): void;
			public size(): number;
			public isEmpty(): boolean;
			public comparator(): java.util.Comparator<any>;
			public toArray(param0: native.Array<any>): native.Array<any>;
			public addAll(param0: java.util.Collection<any>): boolean;
			public retainAll(param0: java.util.Collection<any>): boolean;
			public forEach(param0: any /* any*/): void;
			public tailSet(param0: any): java.util.SortedSet<any>;
			public remove(param0: any): boolean;
			public containsAll(param0: java.util.Collection<any>): boolean;
			public add(param0: any): boolean;
			public removeAll(param0: java.util.Collection<any>): boolean;
			public spliterator(): java.util.Spliterator<any>;
			public removeIf(param0: any /* any*/): boolean;
			public parallelStream(): java.util.stream.Stream<any>;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module util {
		export class Spliterator<T>  extends java.lang.Object {
			public static class: java.lang.Class<java.util.Spliterator<any>>;
			/**
			 * Constructs a new instance of the java.util.Spliterator<any> interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				tryAdvance(param0: any /* any*/): boolean;
				forEachRemaining(param0: any /* any*/): void;
				trySplit(): java.util.Spliterator<T>;
				estimateSize(): number;
				getExactSizeIfKnown(): number;
				characteristics(): number;
				hasCharacteristics(param0: number): boolean;
				getComparator(): java.util.Comparator<any>;
			});
			public constructor();
			public static IMMUTABLE: number;
			public static SORTED: number;
			public static CONCURRENT: number;
			public static NONNULL: number;
			public static ORDERED: number;
			public static SUBSIZED: number;
			public static DISTINCT: number;
			public static SIZED: number;
			public estimateSize(): number;
			public trySplit(): java.util.Spliterator<T>;
			public hasCharacteristics(param0: number): boolean;
			public getExactSizeIfKnown(): number;
			public getComparator(): java.util.Comparator<any>;
			public characteristics(): number;
			public tryAdvance(param0: any /* any*/): boolean;
			public forEachRemaining(param0: any /* any*/): void;
		}
		export module Spliterator {
			export class OfDouble extends java.util.Spliterator.OfPrimitive<java.lang.Double,any,java.util.Spliterator.OfDouble> {
				public static class: java.lang.Class<java.util.Spliterator.OfDouble>;
				/**
				 * Constructs a new instance of the java.util.Spliterator$OfDouble interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					trySplit(): java.util.Spliterator.OfDouble;
					tryAdvance(param0: any /* any*/): boolean;
					forEachRemaining(param0: any /* any*/): void;
					tryAdvance(param0: any /* any*/): boolean;
					forEachRemaining(param0: any /* any*/): void;
					forEachRemaining(param0: any): void;
					tryAdvance(param0: any): boolean;
					trySplit(): java.util.Spliterator.OfPrimitive<any,any,any>;
					trySplit(): java.util.Spliterator<any>;
					trySplit(): any;
					tryAdvance(param0: any): boolean;
					forEachRemaining(param0: any): void;
					trySplit(): java.util.Spliterator<any>;
					tryAdvance(param0: any /* any*/): boolean;
					forEachRemaining(param0: any /* any*/): void;
					trySplit(): java.util.Spliterator<any>;
					estimateSize(): number;
					getExactSizeIfKnown(): number;
					characteristics(): number;
					hasCharacteristics(param0: number): boolean;
					getComparator(): java.util.Comparator<any>;
				});
				public constructor();
				public static IMMUTABLE: number;
				public static SORTED: number;
				public static CONCURRENT: number;
				public static NONNULL: number;
				public static ORDERED: number;
				public static SUBSIZED: number;
				public static DISTINCT: number;
				public static SIZED: number;
				public forEachRemaining(param0: any /* any*/): void;
				public tryAdvance(param0: any /* any*/): boolean;
				public tryAdvance(param0: any /* any*/): boolean;
				public getComparator(): java.util.Comparator<any>;
				public trySplit(): java.util.Spliterator.OfDouble;
				public characteristics(): number;
				public trySplit(): java.util.Spliterator<any>;
				public tryAdvance(param0: any): boolean;
				public getExactSizeIfKnown(): number;
				public forEachRemaining(param0: any): void;
				public forEachRemaining(param0: any /* any*/): void;
				public hasCharacteristics(param0: number): boolean;
				public trySplit(): any;
				public estimateSize(): number;
			}
			export class OfInt extends java.util.Spliterator.OfPrimitive<java.lang.Integer,any,java.util.Spliterator.OfInt> {
				public static class: java.lang.Class<java.util.Spliterator.OfInt>;
				/**
				 * Constructs a new instance of the java.util.Spliterator$OfInt interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					trySplit(): java.util.Spliterator.OfInt;
					tryAdvance(param0: any /* any*/): boolean;
					forEachRemaining(param0: any /* any*/): void;
					tryAdvance(param0: any /* any*/): boolean;
					forEachRemaining(param0: any /* any*/): void;
					forEachRemaining(param0: any): void;
					tryAdvance(param0: any): boolean;
					trySplit(): java.util.Spliterator.OfPrimitive<any,any,any>;
					trySplit(): java.util.Spliterator<any>;
					trySplit(): any;
					tryAdvance(param0: any): boolean;
					forEachRemaining(param0: any): void;
					trySplit(): java.util.Spliterator<any>;
					tryAdvance(param0: any /* any*/): boolean;
					forEachRemaining(param0: any /* any*/): void;
					trySplit(): java.util.Spliterator<any>;
					estimateSize(): number;
					getExactSizeIfKnown(): number;
					characteristics(): number;
					hasCharacteristics(param0: number): boolean;
					getComparator(): java.util.Comparator<any>;
				});
				public constructor();
				public static IMMUTABLE: number;
				public static SORTED: number;
				public static CONCURRENT: number;
				public static NONNULL: number;
				public static ORDERED: number;
				public static SUBSIZED: number;
				public static DISTINCT: number;
				public static SIZED: number;
				public forEachRemaining(param0: any /* any*/): void;
				public tryAdvance(param0: any /* any*/): boolean;
				public getComparator(): java.util.Comparator<any>;
				public characteristics(): number;
				public trySplit(): java.util.Spliterator.OfInt;
				public trySplit(): java.util.Spliterator<any>;
				public tryAdvance(param0: any): boolean;
				public forEachRemaining(param0: any /* any*/): void;
				public getExactSizeIfKnown(): number;
				public forEachRemaining(param0: any): void;
				public hasCharacteristics(param0: number): boolean;
				public trySplit(): any;
				public tryAdvance(param0: any /* any*/): boolean;
				public estimateSize(): number;
			}
			export class OfLong extends java.util.Spliterator.OfPrimitive<java.lang.Long,any,java.util.Spliterator.OfLong> {
				public static class: java.lang.Class<java.util.Spliterator.OfLong>;
				/**
				 * Constructs a new instance of the java.util.Spliterator$OfLong interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					trySplit(): java.util.Spliterator.OfLong;
					tryAdvance(param0: any /* any*/): boolean;
					forEachRemaining(param0: any /* any*/): void;
					tryAdvance(param0: any /* any*/): boolean;
					forEachRemaining(param0: any /* any*/): void;
					forEachRemaining(param0: any): void;
					tryAdvance(param0: any): boolean;
					trySplit(): java.util.Spliterator.OfPrimitive<any,any,any>;
					trySplit(): java.util.Spliterator<any>;
					trySplit(): any;
					tryAdvance(param0: any): boolean;
					forEachRemaining(param0: any): void;
					trySplit(): java.util.Spliterator<any>;
					tryAdvance(param0: any /* any*/): boolean;
					forEachRemaining(param0: any /* any*/): void;
					trySplit(): java.util.Spliterator<any>;
					estimateSize(): number;
					getExactSizeIfKnown(): number;
					characteristics(): number;
					hasCharacteristics(param0: number): boolean;
					getComparator(): java.util.Comparator<any>;
				});
				public constructor();
				public static IMMUTABLE: number;
				public static SORTED: number;
				public static CONCURRENT: number;
				public static NONNULL: number;
				public static ORDERED: number;
				public static SUBSIZED: number;
				public static DISTINCT: number;
				public static SIZED: number;
				public forEachRemaining(param0: any /* any*/): void;
				public tryAdvance(param0: any /* any*/): boolean;
				public getComparator(): java.util.Comparator<any>;
				public trySplit(): java.util.Spliterator.OfLong;
				public characteristics(): number;
				public trySplit(): java.util.Spliterator<any>;
				public tryAdvance(param0: any): boolean;
				public getExactSizeIfKnown(): number;
				public forEachRemaining(param0: any): void;
				public tryAdvance(param0: any /* any*/): boolean;
				public hasCharacteristics(param0: number): boolean;
				public forEachRemaining(param0: any /* any*/): void;
				public trySplit(): any;
				public estimateSize(): number;
			}
			export class OfPrimitive<T, T_CONS, T_SPLITR>  extends java.util.Spliterator<any> {
				public static class: java.lang.Class<java.util.Spliterator.OfPrimitive<any,any,any>>;
				/**
				 * Constructs a new instance of the java.util.Spliterator$OfPrimitive interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					trySplit(): any;
					tryAdvance(param0: any): boolean;
					forEachRemaining(param0: any): void;
					trySplit(): java.util.Spliterator<any>;
					tryAdvance(param0: any /* any*/): boolean;
					forEachRemaining(param0: any /* any*/): void;
					trySplit(): java.util.Spliterator<any>;
					estimateSize(): number;
					getExactSizeIfKnown(): number;
					characteristics(): number;
					hasCharacteristics(param0: number): boolean;
					getComparator(): java.util.Comparator<any>;
				});
				public constructor();
				public static IMMUTABLE: number;
				public static SORTED: number;
				public static CONCURRENT: number;
				public static NONNULL: number;
				public static ORDERED: number;
				public static SUBSIZED: number;
				public static DISTINCT: number;
				public static SIZED: number;
				public forEachRemaining(param0: any): void;
				public forEachRemaining(param0: any /* any*/): void;
				public tryAdvance(param0: any /* any*/): boolean;
				public getComparator(): java.util.Comparator<any>;
				public characteristics(): number;
				public hasCharacteristics(param0: number): boolean;
				public trySplit(): any;
				public trySplit(): java.util.Spliterator<any>;
				public tryAdvance(param0: any): boolean;
				public estimateSize(): number;
				public getExactSizeIfKnown(): number;
			}
		}
	}
}

declare module java {
	export module util {
		export class Spliterators extends java.lang.Object {
			public static class: java.lang.Class<java.util.Spliterators>;
			public static spliterator(param0: java.util.PrimitiveIterator.OfInt, param1: number, param2: number): java.util.Spliterator.OfInt;
			public static spliterator(param0: java.util.Collection<any>, param1: number): java.util.Spliterator<any>;
			public static spliteratorUnknownSize(param0: java.util.PrimitiveIterator.OfInt, param1: number): java.util.Spliterator.OfInt;
			public static spliterator(param0: native.Array<number>, param1: number): java.util.Spliterator.OfLong;
			public static spliteratorUnknownSize(param0: java.util.Iterator<any>, param1: number): java.util.Spliterator<any>;
			public static spliterator(param0: java.util.PrimitiveIterator.OfLong, param1: number, param2: number): java.util.Spliterator.OfLong;
			public static spliterator(param0: native.Array<number>, param1: number): java.util.Spliterator.OfDouble;
			public static spliterator(param0: native.Array<any>, param1: number, param2: number, param3: number): java.util.Spliterator<any>;
			public static spliterator(param0: native.Array<number>, param1: number, param2: number, param3: number): java.util.Spliterator.OfLong;
			public static spliteratorUnknownSize(param0: java.util.PrimitiveIterator.OfLong, param1: number): java.util.Spliterator.OfLong;
			public static spliterator(param0: native.Array<number>, param1: number): java.util.Spliterator.OfInt;
			public static emptyLongSpliterator(): java.util.Spliterator.OfLong;
			public static spliteratorUnknownSize(param0: java.util.PrimitiveIterator.OfDouble, param1: number): java.util.Spliterator.OfDouble;
			public static emptyDoubleSpliterator(): java.util.Spliterator.OfDouble;
			public static spliterator(param0: native.Array<number>, param1: number, param2: number, param3: number): java.util.Spliterator.OfDouble;
			public static emptySpliterator(): java.util.Spliterator<any>;
			public static emptyIntSpliterator(): java.util.Spliterator.OfInt;
			public static spliterator(param0: native.Array<any>, param1: number): java.util.Spliterator<any>;
			public static iterator(param0: java.util.Spliterator.OfDouble): java.util.PrimitiveIterator.OfDouble;
			public static spliterator(param0: native.Array<number>, param1: number, param2: number, param3: number): java.util.Spliterator.OfInt;
			public static spliterator(param0: java.util.PrimitiveIterator.OfDouble, param1: number, param2: number): java.util.Spliterator.OfDouble;
			public static iterator(param0: java.util.Spliterator<any>): java.util.Iterator<any>;
			public static iterator(param0: java.util.Spliterator.OfLong): java.util.PrimitiveIterator.OfLong;
			public static spliterator(param0: java.util.Iterator<any>, param1: number, param2: number): java.util.Spliterator<any>;
			public static iterator(param0: java.util.Spliterator.OfInt): java.util.PrimitiveIterator.OfInt;
		}
		export module Spliterators {
			export abstract class AbstractDoubleSpliterator extends java.lang.Object implements java.util.Spliterator.OfDouble {
				public static class: java.lang.Class<java.util.Spliterators.AbstractDoubleSpliterator>;
				public constructor(param0: number, param1: number);
				public forEachRemaining(param0: any /* any*/): void;
				public tryAdvance(param0: any /* any*/): boolean;
				public tryAdvance(param0: any /* any*/): boolean;
				public getComparator(): java.util.Comparator<any>;
				public trySplit(): java.util.Spliterator.OfDouble;
				public characteristics(): number;
				public trySplit(): java.util.Spliterator<any>;
				public tryAdvance(param0: any): boolean;
				public getExactSizeIfKnown(): number;
				public forEachRemaining(param0: any): void;
				public forEachRemaining(param0: any /* any*/): void;
				public hasCharacteristics(param0: number): boolean;
				public trySplit(): any;
				public estimateSize(): number;
			}
			export abstract class AbstractIntSpliterator extends java.lang.Object implements java.util.Spliterator.OfInt {
				public static class: java.lang.Class<java.util.Spliterators.AbstractIntSpliterator>;
				public constructor(param0: number, param1: number);
				public forEachRemaining(param0: any /* any*/): void;
				public tryAdvance(param0: any /* any*/): boolean;
				public getComparator(): java.util.Comparator<any>;
				public characteristics(): number;
				public trySplit(): java.util.Spliterator.OfInt;
				public trySplit(): java.util.Spliterator<any>;
				public tryAdvance(param0: any): boolean;
				public forEachRemaining(param0: any /* any*/): void;
				public getExactSizeIfKnown(): number;
				public forEachRemaining(param0: any): void;
				public hasCharacteristics(param0: number): boolean;
				public trySplit(): any;
				public tryAdvance(param0: any /* any*/): boolean;
				public estimateSize(): number;
			}
			export abstract class AbstractLongSpliterator extends java.lang.Object implements java.util.Spliterator.OfLong {
				public static class: java.lang.Class<java.util.Spliterators.AbstractLongSpliterator>;
				public constructor(param0: number, param1: number);
				public forEachRemaining(param0: any /* any*/): void;
				public tryAdvance(param0: any /* any*/): boolean;
				public getComparator(): java.util.Comparator<any>;
				public trySplit(): java.util.Spliterator.OfLong;
				public characteristics(): number;
				public trySplit(): java.util.Spliterator<any>;
				public tryAdvance(param0: any): boolean;
				public getExactSizeIfKnown(): number;
				public forEachRemaining(param0: any): void;
				public tryAdvance(param0: any /* any*/): boolean;
				public hasCharacteristics(param0: number): boolean;
				public forEachRemaining(param0: any /* any*/): void;
				public trySplit(): any;
				public estimateSize(): number;
			}
			export abstract class AbstractSpliterator<T>  extends java.util.Spliterator<any> {
				public static class: java.lang.Class<java.util.Spliterators.AbstractSpliterator<any>>;
				public constructor(param0: number, param1: number);
				public forEachRemaining(param0: any /* any*/): void;
				public tryAdvance(param0: any /* any*/): boolean;
				public getComparator(): java.util.Comparator<any>;
				public characteristics(): number;
				public hasCharacteristics(param0: number): boolean;
				public trySplit(): java.util.Spliterator<any>;
				public estimateSize(): number;
				public getExactSizeIfKnown(): number;
			}
		}
	}
}

declare module java {
	export module util {
		export class SplittableRandom extends java.lang.Object {
			public static class: java.lang.Class<java.util.SplittableRandom>;
			public nextLong(param0: number, param1: number): number;
			public doubles(param0: number, param1: number, param2: number): java.util.stream.DoubleStream;
			public ints(): java.util.stream.IntStream;
			public ints(param0: number, param1: number): java.util.stream.IntStream;
			public ints(param0: number, param1: number, param2: number): java.util.stream.IntStream;
			public nextDouble(param0: number, param1: number): number;
			public longs(param0: number, param1: number): java.util.stream.LongStream;
			public nextDouble(): number;
			public doubles(): java.util.stream.DoubleStream;
			public split(): java.util.SplittableRandom;
			public longs(param0: number): java.util.stream.LongStream;
			public doubles(param0: number, param1: number): java.util.stream.DoubleStream;
			public nextInt(param0: number): number;
			public ints(param0: number): java.util.stream.IntStream;
			public longs(param0: number, param1: number, param2: number): java.util.stream.LongStream;
			public nextBoolean(): boolean;
			public constructor(param0: number);
			public nextInt(param0: number, param1: number): number;
			public doubles(param0: number): java.util.stream.DoubleStream;
			public constructor();
			public nextLong(): number;
			public nextLong(param0: number): number;
			public nextDouble(param0: number): number;
			public nextInt(): number;
			public longs(): java.util.stream.LongStream;
		}
	}
}

declare module java {
	export module util {
		export class Stack<E>  extends java.util.Vector<any> {
			public static class: java.lang.Class<java.util.Stack<any>>;
			public addAll(param0: number, param1: java.util.Collection<any>): boolean;
			public equals(param0: any): boolean;
			public toArray(): native.Array<any>;
			public replaceAll(param0: any /* any*/): void;
			public stream(): java.util.stream.Stream<any>;
			public remove(param0: number): any;
			public empty(): boolean;
			public constructor(param0: java.util.Collection<any>);
			public sort(param0: java.util.Comparator<any>): void;
			public contains(param0: any): boolean;
			public get(param0: number): any;
			public constructor(param0: number, param1: number);
			public add(param0: number, param1: any): void;
			public iterator(): java.util.Iterator<any>;
			public lastIndexOf(param0: any, param1: number): number;
			public clear(): void;
			public size(): number;
			public isEmpty(): boolean;
			public indexOf(param0: any, param1: number): number;
			public listIterator(param0: number): java.util.ListIterator<any>;
			public constructor(param0: number);
			public toArray(param0: native.Array<any>): native.Array<any>;
			public constructor();
			public pop(): any;
			public push(param0: any): any;
			public subList(param0: number, param1: number): java.util.List<any>;
			public addAll(param0: java.util.Collection<any>): boolean;
			public retainAll(param0: java.util.Collection<any>): boolean;
			public set(param0: number, param1: any): any;
			public peek(): any;
			public remove(param0: any): boolean;
			public containsAll(param0: java.util.Collection<any>): boolean;
			public lastIndexOf(param0: any): number;
			public add(param0: any): boolean;
			public listIterator(): java.util.ListIterator<any>;
			public removeAll(param0: java.util.Collection<any>): boolean;
			public search(param0: any): number;
			public indexOf(param0: any): number;
			public spliterator(): java.util.Spliterator<any>;
			public removeIf(param0: any /* any*/): boolean;
			public parallelStream(): java.util.stream.Stream<any>;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module util {
		export class StringJoiner extends java.lang.Object {
			public static class: java.lang.Class<java.util.StringJoiner>;
			public merge(param0: java.util.StringJoiner): java.util.StringJoiner;
			public toString(): string;
			public setEmptyValue(param0: string): java.util.StringJoiner;
			public add(param0: string): java.util.StringJoiner;
			public length(): number;
			public constructor(param0: string, param1: string, param2: string);
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module util {
		export class StringTokenizer extends java.util.Enumeration<any> {
			public static class: java.lang.Class<java.util.StringTokenizer>;
			public constructor(param0: string, param1: string);
			public nextToken(): string;
			public hasMoreElements(): boolean;
			public hasMoreTokens(): boolean;
			public nextElement(): any;
			public nextToken(param0: string): string;
			public constructor(param0: string, param1: string, param2: boolean);
			public countTokens(): number;
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module util {
		export abstract class TimeZone extends java.lang.Object implements java.io.Serializable, java.lang.Cloneable {
			public static class: java.lang.Class<java.util.TimeZone>;
			public static LONG: number;
			public static SHORT: number;
			public static setDefault(param0: java.util.TimeZone): void;
			public getDisplayName(param0: boolean, param1: number): string;
			public toZoneId(): java.time.ZoneId;
			public setID(param0: string): void;
			public getOffset(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number): number;
			public getDSTSavings(): number;
			public useDaylightTime(): boolean;
			public static getAvailableIDs(param0: number): native.Array<string>;
			public setRawOffset(param0: number): void;
			public constructor();
			public static getTimeZone(param0: java.time.ZoneId): java.util.TimeZone;
			public getOffset(param0: number): number;
			public static getTimeZone(param0: string): java.util.TimeZone;
			public getDisplayName(param0: java.util.Locale): string;
			public static getAvailableIDs(): native.Array<string>;
			public clone(): any;
			public getRawOffset(): number;
			public getDisplayName(param0: boolean, param1: number, param2: java.util.Locale): string;
			public observesDaylightTime(): boolean;
			public inDaylightTime(param0: java.util.Date): boolean;
			public static getDefault(): java.util.TimeZone;
			public getID(): string;
			public getDisplayName(): string;
			public hasSameRules(param0: java.util.TimeZone): boolean;
		}
	}
}

declare module java {
	export module util {
		export class Timer extends java.lang.Object {
			public static class: java.lang.Class<java.util.Timer>;
			public schedule(param0: java.util.TimerTask, param1: number, param2: number): void;
			public constructor(param0: boolean);
			public schedule(param0: java.util.TimerTask, param1: java.util.Date): void;
			public schedule(param0: java.util.TimerTask, param1: java.util.Date, param2: number): void;
			public scheduleAtFixedRate(param0: java.util.TimerTask, param1: java.util.Date, param2: number): void;
			public constructor(param0: string, param1: boolean);
			public scheduleAtFixedRate(param0: java.util.TimerTask, param1: number, param2: number): void;
			public cancel(): void;
			public constructor();
			public purge(): number;
			public schedule(param0: java.util.TimerTask, param1: number): void;
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module util {
		export abstract class TimerTask extends java.lang.Object implements java.lang.Runnable {
			public static class: java.lang.Class<java.util.TimerTask>;
			public cancel(): boolean;
			public scheduledExecutionTime(): number;
			public run(): void;
			public constructor();
		}
	}
}

declare module java {
	export module util {
		export class TooManyListenersException extends java.lang.Exception {
			public static class: java.lang.Class<java.util.TooManyListenersException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module util {
		export class TreeMap<K, V>  extends java.util.AbstractMap<any,any> {
			public static class: java.lang.Class<java.util.TreeMap<any,any>>;
			public compute(param0: any, param1: any /* any<any,any,any>*/): any;
			public containsValue(param0: any): boolean;
			public firstKey(): any;
			public getOrDefault(param0: any, param1: any): any;
			public headMap(param0: any): java.util.SortedMap<any,any>;
			public putIfAbsent(param0: any, param1: any): any;
			public constructor(param0: java.util.Comparator<any>);
			public putAll(param0: java.util.Map<any,any>): void;
			public lowerKey(param0: any): any;
			public values(): java.util.Collection<any>;
			public tailMap(param0: any): java.util.SortedMap<any,any>;
			public ceilingEntry(param0: any): java.util.Map.Entry<any,any>;
			public clear(): void;
			public higherEntry(param0: any): java.util.Map.Entry<any,any>;
			public keySet(): java.util.Set<any>;
			public entrySet(): java.util.Set<java.util.Map.Entry<any,any>>;
			public constructor(param0: java.util.Map<any,any>);
			public constructor();
			public computeIfAbsent(param0: any, param1: any /* any<any,any>*/): any;
			public lastEntry(): java.util.Map.Entry<any,any>;
			public merge(param0: any, param1: any, param2: any /* any<any,any,any>*/): any;
			public headMap(param0: any, param1: boolean): java.util.NavigableMap<any,any>;
			public clone(): any;
			public remove(param0: any, param1: any): boolean;
			public lowerEntry(param0: any): java.util.Map.Entry<any,any>;
			public containsKey(param0: any): boolean;
			public replaceAll(param0: any /* any<any,any,any>*/): void;
			public equals(param0: any): boolean;
			public ceilingKey(param0: any): any;
			public replace(param0: any, param1: any): any;
			public floorKey(param0: any): any;
			public replace(param0: any, param1: any, param2: any): boolean;
			public get(param0: any): any;
			public forEach(param0: any /* any<any,any>*/): void;
			public lastKey(): any;
			public remove(param0: any): any;
			public firstEntry(): java.util.Map.Entry<any,any>;
			public tailMap(param0: any, param1: boolean): java.util.NavigableMap<any,any>;
			public descendingKeySet(): java.util.NavigableSet<any>;
			public pollFirstEntry(): java.util.Map.Entry<any,any>;
			public descendingMap(): java.util.NavigableMap<any,any>;
			public size(): number;
			public isEmpty(): boolean;
			public computeIfPresent(param0: any, param1: any /* any<any,any,any>*/): any;
			public comparator(): java.util.Comparator<any>;
			public floorEntry(param0: any): java.util.Map.Entry<any,any>;
			public navigableKeySet(): java.util.NavigableSet<any>;
			public put(param0: any, param1: any): any;
			public subMap(param0: any, param1: any): java.util.SortedMap<any,any>;
			public higherKey(param0: any): any;
			public pollLastEntry(): java.util.Map.Entry<any,any>;
			public constructor(param0: java.util.SortedMap<any,any>);
			public subMap(param0: any, param1: boolean, param2: any, param3: boolean): java.util.NavigableMap<any,any>;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module util {
		export class TreeSet<E>  extends java.util.AbstractSet<any> {
			public static class: java.lang.Class<java.util.TreeSet<any>>;
			public equals(param0: any): boolean;
			public pollLast(): any;
			public toArray(): native.Array<any>;
			public higher(param0: any): any;
			public stream(): java.util.stream.Stream<any>;
			public descendingIterator(): java.util.Iterator<any>;
			public subSet(param0: any, param1: any): java.util.SortedSet<any>;
			public constructor(param0: java.util.Collection<any>);
			public tailSet(param0: any, param1: boolean): java.util.NavigableSet<any>;
			public first(): any;
			public contains(param0: any): boolean;
			public ceiling(param0: any): any;
			public constructor(param0: java.util.Comparator<any>);
			public constructor(param0: java.util.SortedSet<any>);
			public last(): any;
			public floor(param0: any): any;
			public iterator(): java.util.Iterator<any>;
			public headSet(param0: any): java.util.SortedSet<any>;
			public lower(param0: any): any;
			public clear(): void;
			public size(): number;
			public isEmpty(): boolean;
			public comparator(): java.util.Comparator<any>;
			public toArray(param0: native.Array<any>): native.Array<any>;
			public constructor();
			public subSet(param0: any, param1: boolean, param2: any, param3: boolean): java.util.NavigableSet<any>;
			public addAll(param0: java.util.Collection<any>): boolean;
			public retainAll(param0: java.util.Collection<any>): boolean;
			public pollFirst(): any;
			public forEach(param0: any /* any*/): void;
			public remove(param0: any): boolean;
			public tailSet(param0: any): java.util.SortedSet<any>;
			public containsAll(param0: java.util.Collection<any>): boolean;
			public clone(): any;
			public headSet(param0: any, param1: boolean): java.util.NavigableSet<any>;
			public add(param0: any): boolean;
			public removeAll(param0: java.util.Collection<any>): boolean;
			public spliterator(): java.util.Spliterator<any>;
			public removeIf(param0: any /* any*/): boolean;
			public parallelStream(): java.util.stream.Stream<any>;
			public descendingSet(): java.util.NavigableSet<any>;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module util {
		export class UUID extends java.lang.Object {
			public static class: java.lang.Class<java.util.UUID>;
			public equals(param0: any): boolean;
			public clockSequence(): number;
			public version(): number;
			public node(): number;
			public static nameUUIDFromBytes(param0: native.Array<number>): java.util.UUID;
			public getMostSignificantBits(): number;
			public static randomUUID(): java.util.UUID;
			public toString(): string;
			public timestamp(): number;
			public variant(): number;
			public getLeastSignificantBits(): number;
			public compareTo(param0: java.util.UUID): number;
			public constructor(param0: number, param1: number);
			public static fromString(param0: string): java.util.UUID;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module util {
		export class UnknownFormatConversionException extends java.util.IllegalFormatException {
			public static class: java.lang.Class<java.util.UnknownFormatConversionException>;
			public getMessage(): string;
			public getConversion(): string;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module util {
		export class UnknownFormatFlagsException extends java.util.IllegalFormatException {
			public static class: java.lang.Class<java.util.UnknownFormatFlagsException>;
			public getMessage(): string;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public getFlags(): string;
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module java {
	export module util {
		export class Vector<E>  extends java.util.AbstractList<any> {
			public static class: java.lang.Class<java.util.Vector<any>>;
			public capacityIncrement: number;
			public elementCount: number;
			public elementData: native.Array<any>;
			public addAll(param0: number, param1: java.util.Collection<any>): boolean;
			public constructor(param0: java.util.Collection<any>);
			public removeElementAt(param0: number): void;
			public removeAllElements(): void;
			public addElement(param0: any): void;
			public removeRange(param0: number, param1: number): void;
			public elements(): java.util.Enumeration<any>;
			public clear(): void;
			public listIterator(param0: number): java.util.ListIterator<any>;
			public constructor(param0: number);
			public toArray(param0: native.Array<any>): native.Array<any>;
			public constructor();
			public addAll(param0: java.util.Collection<any>): boolean;
			public set(param0: number, param1: any): any;
			public forEach(param0: any /* any*/): void;
			public elementAt(param0: number): any;
			public containsAll(param0: java.util.Collection<any>): boolean;
			public copyInto(param0: native.Array<any>): void;
			public lastIndexOf(param0: any): number;
			public clone(): any;
			public setElementAt(param0: any, param1: number): void;
			public removeElement(param0: any): boolean;
			public add(param0: any): boolean;
			public spliterator(): java.util.Spliterator<any>;
			public equals(param0: any): boolean;
			public toArray(): native.Array<any>;
			public replaceAll(param0: any /* any*/): void;
			public stream(): java.util.stream.Stream<any>;
			public remove(param0: number): any;
			public ensureCapacity(param0: number): void;
			public firstElement(): any;
			public sort(param0: java.util.Comparator<any>): void;
			public contains(param0: any): boolean;
			public setSize(param0: number): void;
			public get(param0: number): any;
			public constructor(param0: number, param1: number);
			public insertElementAt(param0: any, param1: number): void;
			public add(param0: number, param1: any): void;
			public iterator(): java.util.Iterator<any>;
			public lastIndexOf(param0: any, param1: number): number;
			public size(): number;
			public isEmpty(): boolean;
			public indexOf(param0: any, param1: number): number;
			public lastElement(): any;
			public subList(param0: number, param1: number): java.util.List<any>;
			public retainAll(param0: java.util.Collection<any>): boolean;
			public remove(param0: any): boolean;
			public toString(): string;
			public listIterator(): java.util.ListIterator<any>;
			public capacity(): number;
			public trimToSize(): void;
			public removeAll(param0: java.util.Collection<any>): boolean;
			public indexOf(param0: any): number;
			public removeIf(param0: any /* any*/): boolean;
			public parallelStream(): java.util.stream.Stream<any>;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module util {
		export class WeakHashMap<K, V>  extends java.util.AbstractMap<any,any> implements java.util.Map<any,any>  {
			public static class: java.lang.Class<java.util.WeakHashMap<any,any>>;
			public replaceAll(param0: any /* any<any,any,any>*/): void;
			public equals(param0: any): boolean;
			public replace(param0: any, param1: any): any;
			public compute(param0: any, param1: any /* any<any,any,any>*/): any;
			public containsValue(param0: any): boolean;
			public replace(param0: any, param1: any, param2: any): boolean;
			public get(param0: any): any;
			public forEach(param0: any /* any<any,any>*/): void;
			public getOrDefault(param0: any, param1: any): any;
			public putIfAbsent(param0: any, param1: any): any;
			public remove(param0: any): any;
			public putAll(param0: java.util.Map<any,any>): void;
			public values(): java.util.Collection<any>;
			public constructor(param0: number, param1: number);
			public clear(): void;
			public size(): number;
			public isEmpty(): boolean;
			public keySet(): java.util.Set<any>;
			public entrySet(): java.util.Set<java.util.Map.Entry<any,any>>;
			public computeIfPresent(param0: any, param1: any /* any<any,any,any>*/): any;
			public constructor(param0: number);
			public constructor(param0: java.util.Map<any,any>);
			public constructor();
			public computeIfAbsent(param0: any, param1: any /* any<any,any>*/): any;
			public put(param0: any, param1: any): any;
			public merge(param0: any, param1: any, param2: any /* any<any,any,any>*/): any;
			public remove(param0: any, param1: any): boolean;
			public containsKey(param0: any): boolean;
			public hashCode(): number;
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export abstract class AbstractExecutorService extends java.lang.Object implements java.util.concurrent.ExecutorService {
				public static class: java.lang.Class<java.util.concurrent.AbstractExecutorService>;
				public invokeAll(param0: java.util.Collection<any>, param1: number, param2: java.util.concurrent.TimeUnit): java.util.List<any>;
				public submit(param0: java.lang.Runnable): java.util.concurrent.Future<any>;
				public isTerminated(): boolean;
				public newTaskFor(param0: java.util.concurrent.Callable<any>): java.util.concurrent.RunnableFuture<any>;
				public submit(param0: java.lang.Runnable, param1: any): java.util.concurrent.Future<any>;
				public newTaskFor(param0: java.lang.Runnable, param1: any): java.util.concurrent.RunnableFuture<any>;
				public invokeAny(param0: java.util.Collection<any>): any;
				public constructor();
				public submit(param0: java.util.concurrent.Callable<any>): java.util.concurrent.Future<any>;
				public awaitTermination(param0: number, param1: java.util.concurrent.TimeUnit): boolean;
				public shutdown(): void;
				public shutdownNow(): java.util.List<java.lang.Runnable>;
				public execute(param0: java.lang.Runnable): void;
				public isShutdown(): boolean;
				public invokeAll(param0: java.util.Collection<any>): java.util.List<any>;
				public invokeAny(param0: java.util.Collection<any>, param1: number, param2: java.util.concurrent.TimeUnit): any;
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export class ArrayBlockingQueue<E>  extends java.util.AbstractQueue<any> {
				public static class: java.lang.Class<java.util.concurrent.ArrayBlockingQueue<any>>;
				public parallelStream(): java.util.stream.Stream<any>;
				public peek(): any;
				public addAll(param0: java.util.Collection<any>): boolean;
				public offer(param0: any, param1: number, param2: java.util.concurrent.TimeUnit): boolean;
				public constructor(param0: number, param1: boolean, param2: java.util.Collection<any>);
				public removeIf(param0: any /* any*/): boolean;
				public constructor();
				public toArray(): native.Array<any>;
				public containsAll(param0: java.util.Collection<any>): boolean;
				public take(): any;
				public add(param0: any): boolean;
				public hashCode(): number;
				public offer(param0: any): boolean;
				public clear(): void;
				public equals(param0: any): boolean;
				public isEmpty(): boolean;
				public remove(param0: any): boolean;
				public remove(): any;
				public spliterator(): java.util.Spliterator<any>;
				public element(): any;
				public contains(param0: any): boolean;
				public stream(): java.util.stream.Stream<any>;
				public toArray(param0: native.Array<any>): native.Array<any>;
				public constructor(param0: number, param1: boolean);
				public drainTo(param0: java.util.Collection<any>, param1: number): number;
				public iterator(): java.util.Iterator<any>;
				public toString(): string;
				public retainAll(param0: java.util.Collection<any>): boolean;
				public poll(param0: number, param1: java.util.concurrent.TimeUnit): any;
				public drainTo(param0: java.util.Collection<any>): number;
				public poll(): any;
				public size(): number;
				public put(param0: any): void;
				public remainingCapacity(): number;
				public removeAll(param0: java.util.Collection<any>): boolean;
				public forEach(param0: any /* any*/): void;
				public constructor(param0: number);
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export class BlockingDeque<E>  extends java.lang.Object {
				public static class: java.lang.Class<java.util.concurrent.BlockingDeque<any>>;
				/**
				 * Constructs a new instance of the java.util.concurrent.BlockingDeque<any> interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					addFirst(param0: E): void;
					addLast(param0: E): void;
					offerFirst(param0: E): boolean;
					offerLast(param0: E): boolean;
					putFirst(param0: E): void;
					putLast(param0: E): void;
					offerFirst(param0: E, param1: number, param2: java.util.concurrent.TimeUnit): boolean;
					offerLast(param0: E, param1: number, param2: java.util.concurrent.TimeUnit): boolean;
					takeFirst(): E;
					takeLast(): E;
					pollFirst(param0: number, param1: java.util.concurrent.TimeUnit): E;
					pollLast(param0: number, param1: java.util.concurrent.TimeUnit): E;
					removeFirstOccurrence(param0: any): boolean;
					removeLastOccurrence(param0: any): boolean;
					add(param0: E): boolean;
					offer(param0: E): boolean;
					put(param0: E): void;
					offer(param0: E, param1: number, param2: java.util.concurrent.TimeUnit): boolean;
					remove(): E;
					poll(): E;
					take(): E;
					poll(param0: number, param1: java.util.concurrent.TimeUnit): E;
					element(): E;
					peek(): E;
					remove(param0: any): boolean;
					contains(param0: any): boolean;
					size(): number;
					iterator(): java.util.Iterator<E>;
					push(param0: E): void;
					add(param0: E): boolean;
					offer(param0: E): boolean;
					put(param0: E): void;
					offer(param0: E, param1: number, param2: java.util.concurrent.TimeUnit): boolean;
					take(): E;
					poll(param0: number, param1: java.util.concurrent.TimeUnit): E;
					remainingCapacity(): number;
					remove(param0: any): boolean;
					contains(param0: any): boolean;
					drainTo(param0: java.util.Collection<any>): number;
					drainTo(param0: java.util.Collection<any>, param1: number): number;
					addFirst(param0: E): void;
					addLast(param0: E): void;
					offerFirst(param0: E): boolean;
					offerLast(param0: E): boolean;
					removeFirst(): E;
					removeLast(): E;
					pollFirst(): E;
					pollLast(): E;
					getFirst(): E;
					getLast(): E;
					peekFirst(): E;
					peekLast(): E;
					removeFirstOccurrence(param0: any): boolean;
					removeLastOccurrence(param0: any): boolean;
					add(param0: E): boolean;
					offer(param0: E): boolean;
					remove(): E;
					poll(): E;
					element(): E;
					peek(): E;
					push(param0: E): void;
					pop(): E;
					remove(param0: any): boolean;
					contains(param0: any): boolean;
					size(): number;
					iterator(): java.util.Iterator<E>;
					descendingIterator(): java.util.Iterator<E>;
					add(param0: E): boolean;
					offer(param0: E): boolean;
					remove(): E;
					poll(): E;
					element(): E;
					peek(): E;
					add(param0: E): boolean;
					offer(param0: E): boolean;
					remove(): E;
					poll(): E;
					element(): E;
					peek(): E;
					size(): number;
					isEmpty(): boolean;
					contains(param0: any): boolean;
					iterator(): java.util.Iterator<E>;
					toArray(): native.Array<any>;
					toArray(param0: native.Array<any>): native.Array<any>;
					add(param0: E): boolean;
					remove(param0: any): boolean;
					containsAll(param0: java.util.Collection<any>): boolean;
					addAll(param0: java.util.Collection<any>): boolean;
					removeAll(param0: java.util.Collection<any>): boolean;
					removeIf(param0: any /* any*/): boolean;
					retainAll(param0: java.util.Collection<any>): boolean;
					clear(): void;
					equals(param0: any): boolean;
					hashCode(): number;
					spliterator(): java.util.Spliterator<E>;
					stream(): java.util.stream.Stream<E>;
					parallelStream(): java.util.stream.Stream<E>;
					size(): number;
					isEmpty(): boolean;
					contains(param0: any): boolean;
					iterator(): java.util.Iterator<E>;
					toArray(): native.Array<any>;
					toArray(param0: native.Array<any>): native.Array<any>;
					add(param0: E): boolean;
					remove(param0: any): boolean;
					containsAll(param0: java.util.Collection<any>): boolean;
					addAll(param0: java.util.Collection<any>): boolean;
					removeAll(param0: java.util.Collection<any>): boolean;
					removeIf(param0: any /* any*/): boolean;
					retainAll(param0: java.util.Collection<any>): boolean;
					clear(): void;
					equals(param0: any): boolean;
					hashCode(): number;
					spliterator(): java.util.Spliterator<E>;
					stream(): java.util.stream.Stream<E>;
					parallelStream(): java.util.stream.Stream<E>;
					iterator(): java.util.Iterator<any>;
					forEach(param0: any /* any*/): void;
					spliterator(): java.util.Spliterator<any>;
					iterator(): java.util.Iterator<any>;
					forEach(param0: any /* any*/): void;
					spliterator(): java.util.Spliterator<any>;
				});
				public constructor();
				public offerFirst(param0: E, param1: number, param2: java.util.concurrent.TimeUnit): boolean;
				public put(param0: E): void;
				public addAll(param0: java.util.Collection<any>): boolean;
				public removeFirst(): E;
				public offerLast(param0: E, param1: number, param2: java.util.concurrent.TimeUnit): boolean;
				public getFirst(): E;
				public removeIf(param0: any /* any*/): boolean;
				public offerFirst(param0: E): boolean;
				public removeLastOccurrence(param0: any): boolean;
				public toArray(): native.Array<any>;
				public hashCode(): number;
				public equals(param0: any): boolean;
				public isEmpty(): boolean;
				public stream(): java.util.stream.Stream<E>;
				public push(param0: E): void;
				public spliterator(): java.util.Spliterator<any>;
				public contains(param0: any): boolean;
				public iterator(): java.util.Iterator<any>;
				public getLast(): E;
				public remove(): E;
				public retainAll(param0: java.util.Collection<any>): boolean;
				public size(): number;
				public removeLast(): E;
				public spliterator(): java.util.Spliterator<E>;
				public offer(param0: E, param1: number, param2: java.util.concurrent.TimeUnit): boolean;
				public remainingCapacity(): number;
				public removeAll(param0: java.util.Collection<any>): boolean;
				public peek(): E;
				public pollLast(): E;
				public takeFirst(): E;
				public parallelStream(): java.util.stream.Stream<E>;
				public descendingIterator(): java.util.Iterator<E>;
				public offerLast(param0: E): boolean;
				public addLast(param0: E): void;
				public element(): E;
				public take(): E;
				public containsAll(param0: java.util.Collection<any>): boolean;
				public peekFirst(): E;
				public poll(param0: number, param1: java.util.concurrent.TimeUnit): E;
				public clear(): void;
				public iterator(): java.util.Iterator<E>;
				public addFirst(param0: E): void;
				public takeLast(): E;
				public poll(): E;
				public remove(param0: any): boolean;
				public pop(): E;
				public pollLast(param0: number, param1: java.util.concurrent.TimeUnit): E;
				public toArray(param0: native.Array<any>): native.Array<any>;
				public drainTo(param0: java.util.Collection<any>, param1: number): number;
				public drainTo(param0: java.util.Collection<any>): number;
				public putLast(param0: E): void;
				public peekLast(): E;
				public add(param0: E): boolean;
				public removeFirstOccurrence(param0: any): boolean;
				public pollFirst(): E;
				public forEach(param0: any /* any*/): void;
				public offer(param0: E): boolean;
				public pollFirst(param0: number, param1: java.util.concurrent.TimeUnit): E;
				public putFirst(param0: E): void;
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export class BlockingQueue<E>  extends java.util.Queue<any> {
				public static class: java.lang.Class<java.util.concurrent.BlockingQueue<any>>;
				/**
				 * Constructs a new instance of the java.util.concurrent.BlockingQueue<any> interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					add(param0: any): boolean;
					offer(param0: any): boolean;
					put(param0: any): void;
					offer(param0: any, param1: number, param2: java.util.concurrent.TimeUnit): boolean;
					take(): any;
					poll(param0: number, param1: java.util.concurrent.TimeUnit): any;
					remainingCapacity(): number;
					remove(param0: any): boolean;
					contains(param0: any): boolean;
					drainTo(param0: java.util.Collection<any>): number;
					drainTo(param0: java.util.Collection<any>, param1: number): number;
					add(param0: any): boolean;
					offer(param0: any): boolean;
					remove(): any;
					poll(): any;
					element(): any;
					peek(): any;
					size(): number;
					isEmpty(): boolean;
					contains(param0: any): boolean;
					iterator(): java.util.Iterator<any>;
					toArray(): native.Array<any>;
					toArray(param0: native.Array<any>): native.Array<any>;
					add(param0: any): boolean;
					remove(param0: any): boolean;
					containsAll(param0: java.util.Collection<any>): boolean;
					addAll(param0: java.util.Collection<any>): boolean;
					removeAll(param0: java.util.Collection<any>): boolean;
					removeIf(param0: any /* any*/): boolean;
					retainAll(param0: java.util.Collection<any>): boolean;
					clear(): void;
					equals(param0: any): boolean;
					hashCode(): number;
					spliterator(): java.util.Spliterator<any>;
					stream(): java.util.stream.Stream<any>;
					parallelStream(): java.util.stream.Stream<any>;
					iterator(): java.util.Iterator<any>;
					forEach(param0: any /* any*/): void;
					spliterator(): java.util.Spliterator<any>;
				});
				public constructor();
				public parallelStream(): java.util.stream.Stream<any>;
				public peek(): any;
				public addAll(param0: java.util.Collection<any>): boolean;
				public offer(param0: any, param1: number, param2: java.util.concurrent.TimeUnit): boolean;
				public removeIf(param0: any /* any*/): boolean;
				public toArray(): native.Array<any>;
				public containsAll(param0: java.util.Collection<any>): boolean;
				public take(): any;
				public add(param0: any): boolean;
				public hashCode(): number;
				public offer(param0: any): boolean;
				public clear(): void;
				public equals(param0: any): boolean;
				public isEmpty(): boolean;
				public remove(param0: any): boolean;
				public remove(): any;
				public element(): any;
				public spliterator(): java.util.Spliterator<any>;
				public contains(param0: any): boolean;
				public stream(): java.util.stream.Stream<any>;
				public toArray(param0: native.Array<any>): native.Array<any>;
				public drainTo(param0: java.util.Collection<any>, param1: number): number;
				public iterator(): java.util.Iterator<any>;
				public retainAll(param0: java.util.Collection<any>): boolean;
				public poll(param0: number, param1: java.util.concurrent.TimeUnit): any;
				public drainTo(param0: java.util.Collection<any>): number;
				public poll(): any;
				public size(): number;
				public put(param0: any): void;
				public remainingCapacity(): number;
				public removeAll(param0: java.util.Collection<any>): boolean;
				public forEach(param0: any /* any*/): void;
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export class BrokenBarrierException extends java.lang.Exception {
				public static class: java.lang.Class<java.util.concurrent.BrokenBarrierException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export class Callable<V>  extends java.lang.Object {
				public static class: java.lang.Class<java.util.concurrent.Callable<any>>;
				/**
				 * Constructs a new instance of the java.util.concurrent.Callable<any> interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					call(): V;
				});
				public constructor();
				public call(): V;
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export class CancellationException extends java.lang.IllegalStateException {
				public static class: java.lang.Class<java.util.concurrent.CancellationException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export class CompletableFuture<T>  extends java.lang.Object {
				public static class: java.lang.Class<java.util.concurrent.CompletableFuture<any>>;
				public thenComposeAsync(param0: any /* any*/): java.util.concurrent.CompletableFuture<any>;
				public whenCompleteAsync(param0: any /* any<any,any>*/): java.util.concurrent.CompletionStage<T>;
				public runAfterBothAsync(param0: java.util.concurrent.CompletionStage<any>, param1: java.lang.Runnable): java.util.concurrent.CompletionStage<java.lang.Void>;
				public whenCompleteAsync(param0: any /* any<any,any>*/, param1: java.util.concurrent.Executor): java.util.concurrent.CompletionStage<T>;
				public thenRunAsync(param0: java.lang.Runnable, param1: java.util.concurrent.Executor): java.util.concurrent.CompletionStage<java.lang.Void>;
				public get(param0: number, param1: java.util.concurrent.TimeUnit): any;
				public static supplyAsync(param0: any /* any*/, param1: java.util.concurrent.Executor): java.util.concurrent.CompletableFuture<any>;
				public applyToEither(param0: java.util.concurrent.CompletionStage<any>, param1: any /* any*/): java.util.concurrent.CompletableFuture<any>;
				public applyToEither(param0: java.util.concurrent.CompletionStage<any>, param1: any /* any*/): java.util.concurrent.CompletionStage<any>;
				public cancel(param0: boolean): boolean;
				public thenAcceptAsync(param0: any /* any*/, param1: java.util.concurrent.Executor): java.util.concurrent.CompletionStage<java.lang.Void>;
				public thenAcceptBoth(param0: java.util.concurrent.CompletionStage<any>, param1: any /* any*/): java.util.concurrent.CompletionStage<any>;
				public thenCombineAsync(param0: java.util.concurrent.CompletionStage<any>, param1: any /* any*/, param2: java.util.concurrent.Executor): java.util.concurrent.CompletableFuture<any>;
				public thenApply(param0: any /* any*/): java.util.concurrent.CompletionStage<any>;
				public thenComposeAsync(param0: any /* any*/, param1: java.util.concurrent.Executor): java.util.concurrent.CompletableFuture<any>;
				public thenCombine(param0: java.util.concurrent.CompletionStage<any>, param1: any /* any*/): java.util.concurrent.CompletableFuture<any>;
				public thenRun(param0: java.lang.Runnable): java.util.concurrent.CompletableFuture<java.lang.Void>;
				public getNow(param0: T): T;
				public acceptEitherAsync(param0: java.util.concurrent.CompletionStage<any>, param1: any /* any*/): java.util.concurrent.CompletableFuture<java.lang.Void>;
				public isDone(): boolean;
				public static supplyAsync(param0: any /* any*/): java.util.concurrent.CompletableFuture<any>;
				public handleAsync(param0: any /* any*/): java.util.concurrent.CompletableFuture<any>;
				public applyToEitherAsync(param0: java.util.concurrent.CompletionStage<any>, param1: any /* any*/, param2: java.util.concurrent.Executor): java.util.concurrent.CompletionStage<any>;
				public exceptionally(param0: any /* any<java.lang.Throwable,any>*/): java.util.concurrent.CompletableFuture<T>;
				public thenComposeAsync(param0: any /* any*/, param1: java.util.concurrent.Executor): java.util.concurrent.CompletionStage<any>;
				public thenRunAsync(param0: java.lang.Runnable, param1: java.util.concurrent.Executor): java.util.concurrent.CompletableFuture<java.lang.Void>;
				public handle(param0: any /* any*/): java.util.concurrent.CompletableFuture<any>;
				public thenApplyAsync(param0: any /* any*/): java.util.concurrent.CompletableFuture<any>;
				public acceptEitherAsync(param0: java.util.concurrent.CompletionStage<any>, param1: any /* any*/): java.util.concurrent.CompletionStage<java.lang.Void>;
				public acceptEitherAsync(param0: java.util.concurrent.CompletionStage<any>, param1: any /* any*/, param2: java.util.concurrent.Executor): java.util.concurrent.CompletionStage<java.lang.Void>;
				public runAfterEitherAsync(param0: java.util.concurrent.CompletionStage<any>, param1: java.lang.Runnable): java.util.concurrent.CompletionStage<java.lang.Void>;
				public thenAcceptBothAsync(param0: java.util.concurrent.CompletionStage<any>, param1: any /* any*/, param2: java.util.concurrent.Executor): java.util.concurrent.CompletionStage<any>;
				public thenComposeAsync(param0: any /* any*/): java.util.concurrent.CompletionStage<any>;
				public runAfterBothAsync(param0: java.util.concurrent.CompletionStage<any>, param1: java.lang.Runnable): java.util.concurrent.CompletableFuture<java.lang.Void>;
				public thenCompose(param0: any /* any*/): java.util.concurrent.CompletableFuture<any>;
				public thenApply(param0: any /* any*/): java.util.concurrent.CompletableFuture<any>;
				public complete(param0: T): boolean;
				public static runAsync(param0: java.lang.Runnable): java.util.concurrent.CompletableFuture<java.lang.Void>;
				public runAfterEitherAsync(param0: java.util.concurrent.CompletionStage<any>, param1: java.lang.Runnable, param2: java.util.concurrent.Executor): java.util.concurrent.CompletionStage<java.lang.Void>;
				public handleAsync(param0: any /* any*/): java.util.concurrent.CompletionStage<any>;
				public thenAcceptBothAsync(param0: java.util.concurrent.CompletionStage<any>, param1: any /* any*/, param2: java.util.concurrent.Executor): java.util.concurrent.CompletableFuture<any>;
				public get(): T;
				public runAfterEither(param0: java.util.concurrent.CompletionStage<any>, param1: java.lang.Runnable): java.util.concurrent.CompletionStage<java.lang.Void>;
				public isCancelled(): boolean;
				public thenRunAsync(param0: java.lang.Runnable): java.util.concurrent.CompletionStage<java.lang.Void>;
				public handleAsync(param0: any /* any*/, param1: java.util.concurrent.Executor): java.util.concurrent.CompletableFuture<any>;
				public whenCompleteAsync(param0: any /* any<any,any>*/): java.util.concurrent.CompletableFuture<T>;
				public thenCombineAsync(param0: java.util.concurrent.CompletionStage<any>, param1: any /* any*/): java.util.concurrent.CompletableFuture<any>;
				public thenCombine(param0: java.util.concurrent.CompletionStage<any>, param1: any /* any*/): java.util.concurrent.CompletionStage<any>;
				public thenAcceptBoth(param0: java.util.concurrent.CompletionStage<any>, param1: any /* any*/): java.util.concurrent.CompletableFuture<any>;
				public getNumberOfDependents(): number;
				public thenCombineAsync(param0: java.util.concurrent.CompletionStage<any>, param1: any /* any*/, param2: java.util.concurrent.Executor): java.util.concurrent.CompletionStage<any>;
				public constructor();
				public applyToEitherAsync(param0: java.util.concurrent.CompletionStage<any>, param1: any /* any*/, param2: java.util.concurrent.Executor): java.util.concurrent.CompletableFuture<any>;
				public runAfterBoth(param0: java.util.concurrent.CompletionStage<any>, param1: java.lang.Runnable): java.util.concurrent.CompletionStage<java.lang.Void>;
				public thenAcceptBothAsync(param0: java.util.concurrent.CompletionStage<any>, param1: any /* any*/): java.util.concurrent.CompletableFuture<any>;
				public runAfterEither(param0: java.util.concurrent.CompletionStage<any>, param1: java.lang.Runnable): java.util.concurrent.CompletableFuture<java.lang.Void>;
				public runAfterBothAsync(param0: java.util.concurrent.CompletionStage<any>, param1: java.lang.Runnable, param2: java.util.concurrent.Executor): java.util.concurrent.CompletableFuture<java.lang.Void>;
				public applyToEitherAsync(param0: java.util.concurrent.CompletionStage<any>, param1: any /* any*/): java.util.concurrent.CompletionStage<any>;
				public thenAcceptAsync(param0: any /* any*/, param1: java.util.concurrent.Executor): java.util.concurrent.CompletableFuture<java.lang.Void>;
				public static completedFuture(param0: any): java.util.concurrent.CompletableFuture<any>;
				public thenRunAsync(param0: java.lang.Runnable): java.util.concurrent.CompletableFuture<java.lang.Void>;
				public handleAsync(param0: any /* any*/, param1: java.util.concurrent.Executor): java.util.concurrent.CompletionStage<any>;
				public toString(): string;
				public thenAccept(param0: any /* any*/): java.util.concurrent.CompletionStage<java.lang.Void>;
				public isCompletedExceptionally(): boolean;
				public thenAcceptAsync(param0: any /* any*/): java.util.concurrent.CompletionStage<java.lang.Void>;
				public join(): T;
				public thenApplyAsync(param0: any /* any*/): java.util.concurrent.CompletionStage<any>;
				public whenComplete(param0: any /* any<any,any>*/): java.util.concurrent.CompletionStage<T>;
				public runAfterBothAsync(param0: java.util.concurrent.CompletionStage<any>, param1: java.lang.Runnable, param2: java.util.concurrent.Executor): java.util.concurrent.CompletionStage<java.lang.Void>;
				public thenApplyAsync(param0: any /* any*/, param1: java.util.concurrent.Executor): java.util.concurrent.CompletionStage<any>;
				public thenCombineAsync(param0: java.util.concurrent.CompletionStage<any>, param1: any /* any*/): java.util.concurrent.CompletionStage<any>;
				public obtrudeValue(param0: T): void;
				public runAfterEitherAsync(param0: java.util.concurrent.CompletionStage<any>, param1: java.lang.Runnable): java.util.concurrent.CompletableFuture<java.lang.Void>;
				public whenCompleteAsync(param0: any /* any<any,any>*/, param1: java.util.concurrent.Executor): java.util.concurrent.CompletableFuture<T>;
				public exceptionally(param0: any /* any<java.lang.Throwable,any>*/): java.util.concurrent.CompletionStage<T>;
				public thenRun(param0: java.lang.Runnable): java.util.concurrent.CompletionStage<java.lang.Void>;
				public thenCompose(param0: any /* any*/): java.util.concurrent.CompletionStage<any>;
				public acceptEither(param0: java.util.concurrent.CompletionStage<any>, param1: any /* any*/): java.util.concurrent.CompletableFuture<java.lang.Void>;
				public get(param0: number, param1: java.util.concurrent.TimeUnit): T;
				public thenAccept(param0: any /* any*/): java.util.concurrent.CompletableFuture<java.lang.Void>;
				public applyToEitherAsync(param0: java.util.concurrent.CompletionStage<any>, param1: any /* any*/): java.util.concurrent.CompletableFuture<any>;
				public thenAcceptBothAsync(param0: java.util.concurrent.CompletionStage<any>, param1: any /* any*/): java.util.concurrent.CompletionStage<any>;
				public whenComplete(param0: any /* any<any,any>*/): java.util.concurrent.CompletableFuture<T>;
				public acceptEither(param0: java.util.concurrent.CompletionStage<any>, param1: any /* any*/): java.util.concurrent.CompletionStage<java.lang.Void>;
				public toCompletableFuture(): java.util.concurrent.CompletableFuture<T>;
				public static runAsync(param0: java.lang.Runnable, param1: java.util.concurrent.Executor): java.util.concurrent.CompletableFuture<java.lang.Void>;
				public static anyOf(param0: native.Array<java.util.concurrent.CompletableFuture<any>>): java.util.concurrent.CompletableFuture<any>;
				public obtrudeException(param0: java.lang.Throwable): void;
				public thenAcceptAsync(param0: any /* any*/): java.util.concurrent.CompletableFuture<java.lang.Void>;
				public completeExceptionally(param0: java.lang.Throwable): boolean;
				public thenApplyAsync(param0: any /* any*/, param1: java.util.concurrent.Executor): java.util.concurrent.CompletableFuture<any>;
				public handle(param0: any /* any*/): java.util.concurrent.CompletionStage<any>;
				public acceptEitherAsync(param0: java.util.concurrent.CompletionStage<any>, param1: any /* any*/, param2: java.util.concurrent.Executor): java.util.concurrent.CompletableFuture<java.lang.Void>;
				public static allOf(param0: native.Array<java.util.concurrent.CompletableFuture<any>>): java.util.concurrent.CompletableFuture<java.lang.Void>;
				public runAfterBoth(param0: java.util.concurrent.CompletionStage<any>, param1: java.lang.Runnable): java.util.concurrent.CompletableFuture<java.lang.Void>;
				public get(): any;
				public runAfterEitherAsync(param0: java.util.concurrent.CompletionStage<any>, param1: java.lang.Runnable, param2: java.util.concurrent.Executor): java.util.concurrent.CompletableFuture<java.lang.Void>;
			}
			export module CompletableFuture {
				export class AsynchronousCompletionTask extends java.lang.Object {
					public static class: java.lang.Class<java.util.concurrent.CompletableFuture.AsynchronousCompletionTask>;
					/**
					 * Constructs a new instance of the java.util.concurrent.CompletableFuture$AsynchronousCompletionTask interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
					});
					public constructor();
				}
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export class CompletionException extends java.lang.RuntimeException {
				public static class: java.lang.Class<java.util.concurrent.CompletionException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export class CompletionService<V>  extends java.lang.Object {
				public static class: java.lang.Class<java.util.concurrent.CompletionService<any>>;
				/**
				 * Constructs a new instance of the java.util.concurrent.CompletionService<any> interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					submit(param0: java.util.concurrent.Callable<V>): java.util.concurrent.Future<V>;
					submit(param0: java.lang.Runnable, param1: V): java.util.concurrent.Future<V>;
					take(): java.util.concurrent.Future<V>;
					poll(): java.util.concurrent.Future<V>;
					poll(param0: number, param1: java.util.concurrent.TimeUnit): java.util.concurrent.Future<V>;
				});
				public constructor();
				public take(): java.util.concurrent.Future<V>;
				public submit(param0: java.lang.Runnable, param1: V): java.util.concurrent.Future<V>;
				public submit(param0: java.util.concurrent.Callable<V>): java.util.concurrent.Future<V>;
				public poll(): java.util.concurrent.Future<V>;
				public poll(param0: number, param1: java.util.concurrent.TimeUnit): java.util.concurrent.Future<V>;
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export class CompletionStage<T>  extends java.lang.Object {
				public static class: java.lang.Class<java.util.concurrent.CompletionStage<any>>;
				/**
				 * Constructs a new instance of the java.util.concurrent.CompletionStage<any> interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					thenApply(param0: any /* any*/): java.util.concurrent.CompletionStage<any>;
					thenApplyAsync(param0: any /* any*/): java.util.concurrent.CompletionStage<any>;
					thenApplyAsync(param0: any /* any*/, param1: java.util.concurrent.Executor): java.util.concurrent.CompletionStage<any>;
					thenAccept(param0: any /* any*/): java.util.concurrent.CompletionStage<java.lang.Void>;
					thenAcceptAsync(param0: any /* any*/): java.util.concurrent.CompletionStage<java.lang.Void>;
					thenAcceptAsync(param0: any /* any*/, param1: java.util.concurrent.Executor): java.util.concurrent.CompletionStage<java.lang.Void>;
					thenRun(param0: java.lang.Runnable): java.util.concurrent.CompletionStage<java.lang.Void>;
					thenRunAsync(param0: java.lang.Runnable): java.util.concurrent.CompletionStage<java.lang.Void>;
					thenRunAsync(param0: java.lang.Runnable, param1: java.util.concurrent.Executor): java.util.concurrent.CompletionStage<java.lang.Void>;
					thenCombine(param0: java.util.concurrent.CompletionStage<any>, param1: any /* any*/): java.util.concurrent.CompletionStage<any>;
					thenCombineAsync(param0: java.util.concurrent.CompletionStage<any>, param1: any /* any*/): java.util.concurrent.CompletionStage<any>;
					thenCombineAsync(param0: java.util.concurrent.CompletionStage<any>, param1: any /* any*/, param2: java.util.concurrent.Executor): java.util.concurrent.CompletionStage<any>;
					thenAcceptBoth(param0: java.util.concurrent.CompletionStage<any>, param1: any /* any*/): java.util.concurrent.CompletionStage<any>;
					thenAcceptBothAsync(param0: java.util.concurrent.CompletionStage<any>, param1: any /* any*/): java.util.concurrent.CompletionStage<any>;
					thenAcceptBothAsync(param0: java.util.concurrent.CompletionStage<any>, param1: any /* any*/, param2: java.util.concurrent.Executor): java.util.concurrent.CompletionStage<any>;
					runAfterBoth(param0: java.util.concurrent.CompletionStage<any>, param1: java.lang.Runnable): java.util.concurrent.CompletionStage<java.lang.Void>;
					runAfterBothAsync(param0: java.util.concurrent.CompletionStage<any>, param1: java.lang.Runnable): java.util.concurrent.CompletionStage<java.lang.Void>;
					runAfterBothAsync(param0: java.util.concurrent.CompletionStage<any>, param1: java.lang.Runnable, param2: java.util.concurrent.Executor): java.util.concurrent.CompletionStage<java.lang.Void>;
					applyToEither(param0: java.util.concurrent.CompletionStage<any>, param1: any /* any*/): java.util.concurrent.CompletionStage<any>;
					applyToEitherAsync(param0: java.util.concurrent.CompletionStage<any>, param1: any /* any*/): java.util.concurrent.CompletionStage<any>;
					applyToEitherAsync(param0: java.util.concurrent.CompletionStage<any>, param1: any /* any*/, param2: java.util.concurrent.Executor): java.util.concurrent.CompletionStage<any>;
					acceptEither(param0: java.util.concurrent.CompletionStage<any>, param1: any /* any*/): java.util.concurrent.CompletionStage<java.lang.Void>;
					acceptEitherAsync(param0: java.util.concurrent.CompletionStage<any>, param1: any /* any*/): java.util.concurrent.CompletionStage<java.lang.Void>;
					acceptEitherAsync(param0: java.util.concurrent.CompletionStage<any>, param1: any /* any*/, param2: java.util.concurrent.Executor): java.util.concurrent.CompletionStage<java.lang.Void>;
					runAfterEither(param0: java.util.concurrent.CompletionStage<any>, param1: java.lang.Runnable): java.util.concurrent.CompletionStage<java.lang.Void>;
					runAfterEitherAsync(param0: java.util.concurrent.CompletionStage<any>, param1: java.lang.Runnable): java.util.concurrent.CompletionStage<java.lang.Void>;
					runAfterEitherAsync(param0: java.util.concurrent.CompletionStage<any>, param1: java.lang.Runnable, param2: java.util.concurrent.Executor): java.util.concurrent.CompletionStage<java.lang.Void>;
					thenCompose(param0: any /* any*/): java.util.concurrent.CompletionStage<any>;
					thenComposeAsync(param0: any /* any*/): java.util.concurrent.CompletionStage<any>;
					thenComposeAsync(param0: any /* any*/, param1: java.util.concurrent.Executor): java.util.concurrent.CompletionStage<any>;
					handle(param0: any /* any*/): java.util.concurrent.CompletionStage<any>;
					handleAsync(param0: any /* any*/): java.util.concurrent.CompletionStage<any>;
					handleAsync(param0: any /* any*/, param1: java.util.concurrent.Executor): java.util.concurrent.CompletionStage<any>;
					whenComplete(param0: any /* any<any,any>*/): java.util.concurrent.CompletionStage<T>;
					whenCompleteAsync(param0: any /* any<any,any>*/): java.util.concurrent.CompletionStage<T>;
					whenCompleteAsync(param0: any /* any<any,any>*/, param1: java.util.concurrent.Executor): java.util.concurrent.CompletionStage<T>;
					exceptionally(param0: any /* any<java.lang.Throwable,any>*/): java.util.concurrent.CompletionStage<T>;
					toCompletableFuture(): java.util.concurrent.CompletableFuture<T>;
				});
				public constructor();
				public exceptionally(param0: any /* any<java.lang.Throwable,any>*/): java.util.concurrent.CompletionStage<T>;
				public thenCombine(param0: java.util.concurrent.CompletionStage<any>, param1: any /* any*/): java.util.concurrent.CompletionStage<any>;
				public whenCompleteAsync(param0: any /* any<any,any>*/): java.util.concurrent.CompletionStage<T>;
				public runAfterBothAsync(param0: java.util.concurrent.CompletionStage<any>, param1: java.lang.Runnable): java.util.concurrent.CompletionStage<java.lang.Void>;
				public whenCompleteAsync(param0: any /* any<any,any>*/, param1: java.util.concurrent.Executor): java.util.concurrent.CompletionStage<T>;
				public thenRun(param0: java.lang.Runnable): java.util.concurrent.CompletionStage<java.lang.Void>;
				public thenRunAsync(param0: java.lang.Runnable, param1: java.util.concurrent.Executor): java.util.concurrent.CompletionStage<java.lang.Void>;
				public thenCombineAsync(param0: java.util.concurrent.CompletionStage<any>, param1: any /* any*/, param2: java.util.concurrent.Executor): java.util.concurrent.CompletionStage<any>;
				public thenCompose(param0: any /* any*/): java.util.concurrent.CompletionStage<any>;
				public runAfterBoth(param0: java.util.concurrent.CompletionStage<any>, param1: java.lang.Runnable): java.util.concurrent.CompletionStage<java.lang.Void>;
				public thenComposeAsync(param0: any /* any*/, param1: java.util.concurrent.Executor): java.util.concurrent.CompletionStage<any>;
				public thenAcceptBothAsync(param0: java.util.concurrent.CompletionStage<any>, param1: any /* any*/): java.util.concurrent.CompletionStage<any>;
				public acceptEither(param0: java.util.concurrent.CompletionStage<any>, param1: any /* any*/): java.util.concurrent.CompletionStage<java.lang.Void>;
				public acceptEitherAsync(param0: java.util.concurrent.CompletionStage<any>, param1: any /* any*/): java.util.concurrent.CompletionStage<java.lang.Void>;
				public toCompletableFuture(): java.util.concurrent.CompletableFuture<T>;
				public applyToEither(param0: java.util.concurrent.CompletionStage<any>, param1: any /* any*/): java.util.concurrent.CompletionStage<any>;
				public acceptEitherAsync(param0: java.util.concurrent.CompletionStage<any>, param1: any /* any*/, param2: java.util.concurrent.Executor): java.util.concurrent.CompletionStage<java.lang.Void>;
				public runAfterEitherAsync(param0: java.util.concurrent.CompletionStage<any>, param1: java.lang.Runnable): java.util.concurrent.CompletionStage<java.lang.Void>;
				public thenAcceptBothAsync(param0: java.util.concurrent.CompletionStage<any>, param1: any /* any*/, param2: java.util.concurrent.Executor): java.util.concurrent.CompletionStage<any>;
				public applyToEitherAsync(param0: java.util.concurrent.CompletionStage<any>, param1: any /* any*/): java.util.concurrent.CompletionStage<any>;
				public thenComposeAsync(param0: any /* any*/): java.util.concurrent.CompletionStage<any>;
				public thenAcceptAsync(param0: any /* any*/, param1: java.util.concurrent.Executor): java.util.concurrent.CompletionStage<java.lang.Void>;
				public thenAcceptBoth(param0: java.util.concurrent.CompletionStage<any>, param1: any /* any*/): java.util.concurrent.CompletionStage<any>;
				public thenApply(param0: any /* any*/): java.util.concurrent.CompletionStage<any>;
				public runAfterEitherAsync(param0: java.util.concurrent.CompletionStage<any>, param1: java.lang.Runnable, param2: java.util.concurrent.Executor): java.util.concurrent.CompletionStage<java.lang.Void>;
				public handleAsync(param0: any /* any*/, param1: java.util.concurrent.Executor): java.util.concurrent.CompletionStage<any>;
				public handleAsync(param0: any /* any*/): java.util.concurrent.CompletionStage<any>;
				public handle(param0: any /* any*/): java.util.concurrent.CompletionStage<any>;
				public thenAccept(param0: any /* any*/): java.util.concurrent.CompletionStage<java.lang.Void>;
				public thenAcceptAsync(param0: any /* any*/): java.util.concurrent.CompletionStage<java.lang.Void>;
				public thenApplyAsync(param0: any /* any*/): java.util.concurrent.CompletionStage<any>;
				public whenComplete(param0: any /* any<any,any>*/): java.util.concurrent.CompletionStage<T>;
				public runAfterBothAsync(param0: java.util.concurrent.CompletionStage<any>, param1: java.lang.Runnable, param2: java.util.concurrent.Executor): java.util.concurrent.CompletionStage<java.lang.Void>;
				public thenApplyAsync(param0: any /* any*/, param1: java.util.concurrent.Executor): java.util.concurrent.CompletionStage<any>;
				public runAfterEither(param0: java.util.concurrent.CompletionStage<any>, param1: java.lang.Runnable): java.util.concurrent.CompletionStage<java.lang.Void>;
				public thenCombineAsync(param0: java.util.concurrent.CompletionStage<any>, param1: any /* any*/): java.util.concurrent.CompletionStage<any>;
				public thenRunAsync(param0: java.lang.Runnable): java.util.concurrent.CompletionStage<java.lang.Void>;
				public applyToEitherAsync(param0: java.util.concurrent.CompletionStage<any>, param1: any /* any*/, param2: java.util.concurrent.Executor): java.util.concurrent.CompletionStage<any>;
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export class ConcurrentHashMap<K, V>  extends java.util.AbstractMap<any,any> {
				public static class: java.lang.Class<java.util.concurrent.ConcurrentHashMap<any,any>>;
				public constructor(param0: number, param1: number);
				public forEachKey(param0: number, param1: any /* any*/, param2: any /* any*/): void;
				public putAll(param0: java.util.Map<any,any>): void;
				public merge(param0: any, param1: any, param2: any /* any<any,any,any>*/): any;
				public computeIfAbsent(param0: any, param1: any /* any<any,any>*/): any;
				public reduce(param0: number, param1: any /* any*/, param2: any /* any*/): any;
				public forEachEntry(param0: number, param1: any /* any*/): void;
				public replaceAll(param0: any /* any<any,any,any>*/): void;
				public reduceKeysToInt(param0: number, param1: any /* any*/, param2: number, param3: any /* any*/): number;
				public constructor();
				public remove(param0: any, param1: any): boolean;
				public putIfAbsent(param0: any, param1: any): any;
				public keys(): java.util.Enumeration<any>;
				public reduceValues(param0: number, param1: any /* any*/, param2: any /* any*/): any;
				public elements(): java.util.Enumeration<any>;
				public forEach(param0: number, param1: any /* any<any,any>*/): void;
				public remove(param0: any): any;
				public searchKeys(param0: number, param1: any /* any*/): any;
				public hashCode(): number;
				public compute(param0: any, param1: any /* any<any,any,any>*/): any;
				public equals(param0: any): boolean;
				public forEachKey(param0: number, param1: any /* any*/): void;
				public isEmpty(): boolean;
				public containsValue(param0: any): boolean;
				public forEachEntry(param0: number, param1: any /* any*/, param2: any /* any*/): void;
				public searchEntries(param0: number, param1: any /* any*/): any;
				public reduceValuesToDouble(param0: number, param1: any /* any*/, param2: number, param3: any /* any*/): number;
				public reduceToDouble(param0: number, param1: any /* any<any,any>*/, param2: number, param3: any /* any*/): number;
				public replace(param0: any, param1: any): any;
				public contains(param0: any): boolean;
				public reduceToLong(param0: number, param1: any /* any<any,any>*/, param2: number, param3: any /* any*/): number;
				public reduceValuesToInt(param0: number, param1: any /* any*/, param2: number, param3: any /* any*/): number;
				public entrySet(): java.util.Set<java.util.Map.Entry<any,any>>;
				public toString(): string;
				public keySet(): java.util.Set<any>;
				public size(): number;
				public put(param0: any, param1: any): any;
				public reduceEntriesToLong(param0: number, param1: any /* any<java.util.Map.Entry<any,any>>*/, param2: number, param3: any /* any*/): number;
				public reduceToInt(param0: number, param1: any /* any<any,any>*/, param2: number, param3: any /* any*/): number;
				public search(param0: number, param1: any /* any*/): any;
				public forEach(param0: any /* any<any,any>*/): void;
				public reduceEntriesToInt(param0: number, param1: any /* any<java.util.Map.Entry<any,any>>*/, param2: number, param3: any /* any*/): number;
				public constructor(param0: number, param1: number, param2: number);
				public get(param0: any): any;
				public static newKeySet(): java.util.concurrent.ConcurrentHashMap.KeySetView<any,any>;
				public searchValues(param0: number, param1: any /* any*/): any;
				public constructor(param0: java.util.Map<any,any>);
				public reduceKeys(param0: number, param1: any /* any<any,any,any>*/): any;
				public getOrDefault(param0: any, param1: any): any;
				public reduceValues(param0: number, param1: any /* any<any,any,any>*/): any;
				public containsKey(param0: any): boolean;
				public clear(): void;
				public computeIfPresent(param0: any, param1: any /* any<any,any,any>*/): any;
				public forEach(param0: number, param1: any /* any*/, param2: any /* any*/): void;
				public replace(param0: any, param1: any, param2: any): boolean;
				public static newKeySet(param0: number): java.util.concurrent.ConcurrentHashMap.KeySetView<any,any>;
				public values(): java.util.Collection<any>;
				public forEachValue(param0: number, param1: any /* any*/, param2: any /* any*/): void;
				public reduceKeys(param0: number, param1: any /* any*/, param2: any /* any*/): any;
				public reduceEntries(param0: number, param1: any /* any<java.util.Map.Entry<any,any>,java.util.Map.Entry<any,any>,any>*/): java.util.Map.Entry<any,any>;
				public reduceKeysToLong(param0: number, param1: any /* any*/, param2: number, param3: any /* any*/): number;
				public keySet(param0: any): java.util.concurrent.ConcurrentHashMap.KeySetView<any,any>;
				public forEachValue(param0: number, param1: any /* any*/): void;
				public reduceValuesToLong(param0: number, param1: any /* any*/, param2: number, param3: any /* any*/): number;
				public reduceEntriesToDouble(param0: number, param1: any /* any<java.util.Map.Entry<any,any>>*/, param2: number, param3: any /* any*/): number;
				public reduceKeysToDouble(param0: number, param1: any /* any*/, param2: number, param3: any /* any*/): number;
				public reduceEntries(param0: number, param1: any /* any*/, param2: any /* any*/): any;
				public constructor(param0: number);
				public mappingCount(): number;
			}
			export module ConcurrentHashMap {
				export class KeySetView<K, V>  extends java.lang.Object {
					public static class: java.lang.Class<java.util.concurrent.ConcurrentHashMap.KeySetView<any,any>>;
					public addAll(param0: java.util.Collection<any>): boolean;
					public isEmpty(): boolean;
					public add(param0: any): boolean;
					public getMappedValue(): V;
					public spliterator(): java.util.Spliterator<any>;
					public add(param0: K): boolean;
					public containsAll(param0: java.util.Collection<any>): boolean;
					public size(): number;
					public iterator(): java.util.Iterator<K>;
					public toString(): string;
					public iterator(): java.util.Iterator<any>;
					public toArray(param0: native.Array<any>): native.Array<any>;
					public toArray(): native.Array<any>;
					public clear(): void;
					public hashCode(): number;
					public contains(param0: any): boolean;
					public getMap(): java.util.concurrent.ConcurrentHashMap<K,V>;
					public removeIf(param0: any /* any*/): boolean;
					public remove(param0: any): boolean;
					public removeAll(param0: java.util.Collection<any>): boolean;
					public parallelStream(): java.util.stream.Stream<any>;
					public retainAll(param0: java.util.Collection<any>): boolean;
					public equals(param0: any): boolean;
					public spliterator(): java.util.Spliterator<K>;
					public stream(): java.util.stream.Stream<any>;
					public forEach(param0: any /* any*/): void;
				}
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export class ConcurrentLinkedDeque<E>  extends java.util.AbstractCollection<any> {
				public static class: java.lang.Class<java.util.concurrent.ConcurrentLinkedDeque<any>>;
				public removeLast(): any;
				public parallelStream(): java.util.stream.Stream<any>;
				public peek(): any;
				public addAll(param0: java.util.Collection<any>): boolean;
				public removeIf(param0: any /* any*/): boolean;
				public constructor();
				public removeLastOccurrence(param0: any): boolean;
				public toArray(): native.Array<any>;
				public constructor(param0: java.util.Collection<any>);
				public containsAll(param0: java.util.Collection<any>): boolean;
				public add(param0: any): boolean;
				public push(param0: any): void;
				public pop(): any;
				public hashCode(): number;
				public pollLast(): any;
				public offer(param0: any): boolean;
				public clear(): void;
				public equals(param0: any): boolean;
				public descendingIterator(): java.util.Iterator<any>;
				public addLast(param0: any): void;
				public isEmpty(): boolean;
				public remove(param0: any): boolean;
				public offerFirst(param0: any): boolean;
				public remove(): any;
				public getLast(): any;
				public element(): any;
				public spliterator(): java.util.Spliterator<any>;
				public contains(param0: any): boolean;
				public stream(): java.util.stream.Stream<any>;
				public toArray(param0: native.Array<any>): native.Array<any>;
				public offerLast(param0: any): boolean;
				public getFirst(): any;
				public iterator(): java.util.Iterator<any>;
				public peekFirst(): any;
				public removeFirst(): any;
				public toString(): string;
				public retainAll(param0: java.util.Collection<any>): boolean;
				public poll(): any;
				public size(): number;
				public peekLast(): any;
				public addFirst(param0: any): void;
				public removeFirstOccurrence(param0: any): boolean;
				public removeAll(param0: java.util.Collection<any>): boolean;
				public forEach(param0: any /* any*/): void;
				public pollFirst(): any;
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export class ConcurrentLinkedQueue<E>  extends java.util.AbstractQueue<any> {
				public static class: java.lang.Class<java.util.concurrent.ConcurrentLinkedQueue<any>>;
				public parallelStream(): java.util.stream.Stream<any>;
				public peek(): any;
				public addAll(param0: java.util.Collection<any>): boolean;
				public removeIf(param0: any /* any*/): boolean;
				public constructor();
				public toArray(): native.Array<any>;
				public constructor(param0: java.util.Collection<any>);
				public containsAll(param0: java.util.Collection<any>): boolean;
				public add(param0: any): boolean;
				public hashCode(): number;
				public offer(param0: any): boolean;
				public clear(): void;
				public equals(param0: any): boolean;
				public isEmpty(): boolean;
				public remove(param0: any): boolean;
				public remove(): any;
				public spliterator(): java.util.Spliterator<any>;
				public element(): any;
				public contains(param0: any): boolean;
				public stream(): java.util.stream.Stream<any>;
				public toArray(param0: native.Array<any>): native.Array<any>;
				public iterator(): java.util.Iterator<any>;
				public toString(): string;
				public retainAll(param0: java.util.Collection<any>): boolean;
				public poll(): any;
				public size(): number;
				public removeAll(param0: java.util.Collection<any>): boolean;
				public forEach(param0: any /* any*/): void;
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export class ConcurrentMap<K, V>  extends java.util.Map<any,any> {
				public static class: java.lang.Class<java.util.concurrent.ConcurrentMap<any,any>>;
				/**
				 * Constructs a new instance of the java.util.concurrent.ConcurrentMap<any,any> interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getOrDefault(param0: any, param1: any): any;
					forEach(param0: any /* any<any,any>*/): void;
					putIfAbsent(param0: any, param1: any): any;
					remove(param0: any, param1: any): boolean;
					replace(param0: any, param1: any, param2: any): boolean;
					replace(param0: any, param1: any): any;
					replaceAll(param0: any /* any<any,any,any>*/): void;
					computeIfAbsent(param0: any, param1: any /* any<any,any>*/): any;
					computeIfPresent(param0: any, param1: any /* any<any,any,any>*/): any;
					compute(param0: any, param1: any /* any<any,any,any>*/): any;
					merge(param0: any, param1: any, param2: any /* any<any,any,any>*/): any;
					size(): number;
					isEmpty(): boolean;
					containsKey(param0: any): boolean;
					containsValue(param0: any): boolean;
					get(param0: any): any;
					put(param0: any, param1: any): any;
					remove(param0: any): any;
					putAll(param0: java.util.Map<any,any>): void;
					clear(): void;
					keySet(): java.util.Set<any>;
					values(): java.util.Collection<any>;
					entrySet(): java.util.Set<java.util.Map.Entry<any,any>>;
					equals(param0: any): boolean;
					hashCode(): number;
					getOrDefault(param0: any, param1: any): any;
					forEach(param0: any /* any<any,any>*/): void;
					replaceAll(param0: any /* any<any,any,any>*/): void;
					putIfAbsent(param0: any, param1: any): any;
					remove(param0: any, param1: any): boolean;
					replace(param0: any, param1: any, param2: any): boolean;
					replace(param0: any, param1: any): any;
					computeIfAbsent(param0: any, param1: any /* any<any,any>*/): any;
					computeIfPresent(param0: any, param1: any /* any<any,any,any>*/): any;
					compute(param0: any, param1: any /* any<any,any,any>*/): any;
					merge(param0: any, param1: any, param2: any /* any<any,any,any>*/): any;
				});
				public constructor();
				public get(param0: any): any;
				public putAll(param0: java.util.Map<any,any>): void;
				public merge(param0: any, param1: any, param2: any /* any<any,any,any>*/): any;
				public computeIfAbsent(param0: any, param1: any /* any<any,any>*/): any;
				public getOrDefault(param0: any, param1: any): any;
				public replaceAll(param0: any /* any<any,any,any>*/): void;
				public containsKey(param0: any): boolean;
				public remove(param0: any, param1: any): boolean;
				public putIfAbsent(param0: any, param1: any): any;
				public remove(param0: any): any;
				public hashCode(): number;
				public compute(param0: any, param1: any /* any<any,any,any>*/): any;
				public clear(): void;
				public equals(param0: any): boolean;
				public computeIfPresent(param0: any, param1: any /* any<any,any,any>*/): any;
				public isEmpty(): boolean;
				public containsValue(param0: any): boolean;
				public replace(param0: any, param1: any, param2: any): boolean;
				public values(): java.util.Collection<any>;
				public replace(param0: any, param1: any): any;
				public entrySet(): java.util.Set<java.util.Map.Entry<any,any>>;
				public keySet(): java.util.Set<any>;
				public size(): number;
				public put(param0: any, param1: any): any;
				public forEach(param0: any /* any<any,any>*/): void;
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export class ConcurrentNavigableMap<K, V>  extends java.lang.Object {
				public static class: java.lang.Class<java.util.concurrent.ConcurrentNavigableMap<any,any>>;
				/**
				 * Constructs a new instance of the java.util.concurrent.ConcurrentNavigableMap<any,any> interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					subMap(param0: K, param1: boolean, param2: K, param3: boolean): java.util.concurrent.ConcurrentNavigableMap<K,V>;
					headMap(param0: K, param1: boolean): java.util.concurrent.ConcurrentNavigableMap<K,V>;
					tailMap(param0: K, param1: boolean): java.util.concurrent.ConcurrentNavigableMap<K,V>;
					subMap(param0: K, param1: K): java.util.concurrent.ConcurrentNavigableMap<K,V>;
					headMap(param0: K): java.util.concurrent.ConcurrentNavigableMap<K,V>;
					tailMap(param0: K): java.util.concurrent.ConcurrentNavigableMap<K,V>;
					descendingMap(): java.util.concurrent.ConcurrentNavigableMap<K,V>;
					navigableKeySet(): java.util.NavigableSet<K>;
					keySet(): java.util.NavigableSet<K>;
					descendingKeySet(): java.util.NavigableSet<K>;
					keySet(): java.util.Set<any>;
					tailMap(param0: any): java.util.SortedMap<any,any>;
					headMap(param0: any): java.util.SortedMap<any,any>;
					subMap(param0: any, param1: any): java.util.SortedMap<any,any>;
					tailMap(param0: any, param1: boolean): java.util.NavigableMap<any,any>;
					headMap(param0: any, param1: boolean): java.util.NavigableMap<any,any>;
					subMap(param0: any, param1: boolean, param2: any, param3: boolean): java.util.NavigableMap<any,any>;
					descendingMap(): java.util.NavigableMap<any,any>;
					getOrDefault(param0: any, param1: V): V;
					forEach(param0: any /* any<any,any>*/): void;
					putIfAbsent(param0: K, param1: V): V;
					remove(param0: any, param1: any): boolean;
					replace(param0: K, param1: V, param2: V): boolean;
					replace(param0: K, param1: V): V;
					replaceAll(param0: any /* any<any,any,any>*/): void;
					computeIfAbsent(param0: K, param1: any /* any<any,any>*/): V;
					computeIfPresent(param0: K, param1: any /* any<any,any,any>*/): V;
					compute(param0: K, param1: any /* any<any,any,any>*/): V;
					merge(param0: K, param1: V, param2: any /* any<any,any,any>*/): V;
					lowerEntry(param0: K): java.util.Map.Entry<K,V>;
					lowerKey(param0: K): K;
					floorEntry(param0: K): java.util.Map.Entry<K,V>;
					floorKey(param0: K): K;
					ceilingEntry(param0: K): java.util.Map.Entry<K,V>;
					ceilingKey(param0: K): K;
					higherEntry(param0: K): java.util.Map.Entry<K,V>;
					higherKey(param0: K): K;
					firstEntry(): java.util.Map.Entry<K,V>;
					lastEntry(): java.util.Map.Entry<K,V>;
					pollFirstEntry(): java.util.Map.Entry<K,V>;
					pollLastEntry(): java.util.Map.Entry<K,V>;
					descendingMap(): java.util.NavigableMap<K,V>;
					navigableKeySet(): java.util.NavigableSet<K>;
					descendingKeySet(): java.util.NavigableSet<K>;
					subMap(param0: K, param1: boolean, param2: K, param3: boolean): java.util.NavigableMap<K,V>;
					headMap(param0: K, param1: boolean): java.util.NavigableMap<K,V>;
					tailMap(param0: K, param1: boolean): java.util.NavigableMap<K,V>;
					subMap(param0: K, param1: K): java.util.SortedMap<K,V>;
					headMap(param0: K): java.util.SortedMap<K,V>;
					tailMap(param0: K): java.util.SortedMap<K,V>;
					size(): number;
					isEmpty(): boolean;
					containsKey(param0: any): boolean;
					containsValue(param0: any): boolean;
					get(param0: any): V;
					put(param0: K, param1: V): V;
					remove(param0: any): V;
					putAll(param0: java.util.Map<any,any>): void;
					clear(): void;
					keySet(): java.util.Set<K>;
					values(): java.util.Collection<V>;
					entrySet(): java.util.Set<java.util.Map.Entry<K,V>>;
					equals(param0: any): boolean;
					hashCode(): number;
					getOrDefault(param0: any, param1: V): V;
					forEach(param0: any /* any<any,any>*/): void;
					replaceAll(param0: any /* any<any,any,any>*/): void;
					putIfAbsent(param0: K, param1: V): V;
					remove(param0: any, param1: any): boolean;
					replace(param0: K, param1: V, param2: V): boolean;
					replace(param0: K, param1: V): V;
					computeIfAbsent(param0: K, param1: any /* any<any,any>*/): V;
					computeIfPresent(param0: K, param1: any /* any<any,any,any>*/): V;
					compute(param0: K, param1: any /* any<any,any,any>*/): V;
					merge(param0: K, param1: V, param2: any /* any<any,any,any>*/): V;
					comparator(): java.util.Comparator<any>;
					subMap(param0: K, param1: K): java.util.SortedMap<K,V>;
					headMap(param0: K): java.util.SortedMap<K,V>;
					tailMap(param0: K): java.util.SortedMap<K,V>;
					firstKey(): K;
					lastKey(): K;
					keySet(): java.util.Set<K>;
					values(): java.util.Collection<V>;
					entrySet(): java.util.Set<java.util.Map.Entry<K,V>>;
					size(): number;
					isEmpty(): boolean;
					containsKey(param0: any): boolean;
					containsValue(param0: any): boolean;
					get(param0: any): V;
					put(param0: K, param1: V): V;
					remove(param0: any): V;
					putAll(param0: java.util.Map<any,any>): void;
					clear(): void;
					keySet(): java.util.Set<K>;
					values(): java.util.Collection<V>;
					entrySet(): java.util.Set<java.util.Map.Entry<K,V>>;
					equals(param0: any): boolean;
					hashCode(): number;
					getOrDefault(param0: any, param1: V): V;
					forEach(param0: any /* any<any,any>*/): void;
					replaceAll(param0: any /* any<any,any,any>*/): void;
					putIfAbsent(param0: K, param1: V): V;
					remove(param0: any, param1: any): boolean;
					replace(param0: K, param1: V, param2: V): boolean;
					replace(param0: K, param1: V): V;
					computeIfAbsent(param0: K, param1: any /* any<any,any>*/): V;
					computeIfPresent(param0: K, param1: any /* any<any,any,any>*/): V;
					compute(param0: K, param1: any /* any<any,any,any>*/): V;
					merge(param0: K, param1: V, param2: any /* any<any,any,any>*/): V;
				});
				public constructor();
				public computeIfPresent(param0: K, param1: any /* any<any,any,any>*/): V;
				public floorEntry(param0: K): java.util.Map.Entry<K,V>;
				public entrySet(): java.util.Set<java.util.Map.Entry<K,V>>;
				public putAll(param0: java.util.Map<any,any>): void;
				public subMap(param0: K, param1: boolean, param2: K, param3: boolean): java.util.concurrent.ConcurrentNavigableMap<K,V>;
				public keySet(): java.util.Set<K>;
				public replaceAll(param0: any /* any<any,any,any>*/): void;
				public lastKey(): K;
				public compute(param0: K, param1: any /* any<any,any,any>*/): V;
				public remove(param0: any, param1: any): boolean;
				public replace(param0: K, param1: V, param2: V): boolean;
				public remove(param0: any): V;
				public pollFirstEntry(): java.util.Map.Entry<K,V>;
				public hashCode(): number;
				public equals(param0: any): boolean;
				public keySet(): java.util.NavigableSet<K>;
				public isEmpty(): boolean;
				public subMap(param0: K, param1: K): java.util.concurrent.ConcurrentNavigableMap<K,V>;
				public comparator(): java.util.Comparator<any>;
				public containsValue(param0: any): boolean;
				public subMap(param0: K, param1: K): java.util.SortedMap<K,V>;
				public computeIfAbsent(param0: K, param1: any /* any<any,any>*/): V;
				public values(): java.util.Collection<V>;
				public floorKey(param0: K): K;
				public size(): number;
				public tailMap(param0: K): java.util.concurrent.ConcurrentNavigableMap<K,V>;
				public subMap(param0: K, param1: boolean, param2: K, param3: boolean): java.util.NavigableMap<K,V>;
				public lowerKey(param0: K): K;
				public ceilingEntry(param0: K): java.util.Map.Entry<K,V>;
				public forEach(param0: any /* any<any,any>*/): void;
				public merge(param0: K, param1: V, param2: any /* any<any,any,any>*/): V;
				public headMap(param0: K): java.util.SortedMap<K,V>;
				public tailMap(param0: K): java.util.SortedMap<K,V>;
				public replace(param0: K, param1: V): V;
				public lowerEntry(param0: K): java.util.Map.Entry<K,V>;
				public ceilingKey(param0: K): K;
				public pollLastEntry(): java.util.Map.Entry<K,V>;
				public descendingKeySet(): java.util.NavigableSet<K>;
				public containsKey(param0: any): boolean;
				public put(param0: K, param1: V): V;
				public getOrDefault(param0: any, param1: V): V;
				public descendingMap(): java.util.concurrent.ConcurrentNavigableMap<K,V>;
				public clear(): void;
				public higherEntry(param0: K): java.util.Map.Entry<K,V>;
				public lastEntry(): java.util.Map.Entry<K,V>;
				public firstEntry(): java.util.Map.Entry<K,V>;
				public navigableKeySet(): java.util.NavigableSet<K>;
				public headMap(param0: K, param1: boolean): java.util.concurrent.ConcurrentNavigableMap<K,V>;
				public higherKey(param0: K): K;
				public headMap(param0: K): java.util.concurrent.ConcurrentNavigableMap<K,V>;
				public putIfAbsent(param0: K, param1: V): V;
				public tailMap(param0: K, param1: boolean): java.util.concurrent.ConcurrentNavigableMap<K,V>;
				public headMap(param0: K, param1: boolean): java.util.NavigableMap<K,V>;
				public get(param0: any): V;
				public firstKey(): K;
				public descendingMap(): java.util.NavigableMap<K,V>;
				public tailMap(param0: K, param1: boolean): java.util.NavigableMap<K,V>;
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export class ConcurrentSkipListMap<K, V>  extends java.util.AbstractMap<any,any> {
				public static class: java.lang.Class<java.util.concurrent.ConcurrentSkipListMap<any,any>>;
				public pollLastEntry(): java.util.Map.Entry<any,any>;
				public putAll(param0: java.util.Map<any,any>): void;
				public merge(param0: any, param1: any, param2: any /* any<any,any,any>*/): any;
				public subMap(param0: any, param1: any): java.util.concurrent.ConcurrentNavigableMap<any,any>;
				public computeIfAbsent(param0: any, param1: any /* any<any,any>*/): any;
				public lowerEntry(param0: any): java.util.Map.Entry<any,any>;
				public replaceAll(param0: any /* any<any,any,any>*/): void;
				public constructor();
				public remove(param0: any, param1: any): boolean;
				public putIfAbsent(param0: any, param1: any): any;
				public tailMap(param0: any): java.util.SortedMap<any,any>;
				public remove(param0: any): any;
				public navigableKeySet(): java.util.NavigableSet<any>;
				public firstEntry(): java.util.Map.Entry<any,any>;
				public hashCode(): number;
				public compute(param0: any, param1: any /* any<any,any,any>*/): any;
				public clone(): any;
				public equals(param0: any): boolean;
				public headMap(param0: any, param1: boolean): java.util.concurrent.ConcurrentNavigableMap<any,any>;
				public isEmpty(): boolean;
				public comparator(): java.util.Comparator<any>;
				public headMap(param0: any, param1: boolean): java.util.NavigableMap<any,any>;
				public containsValue(param0: any): boolean;
				public keySet(): java.util.NavigableSet<any>;
				public replace(param0: any, param1: any): any;
				public entrySet(): java.util.Set<java.util.Map.Entry<any,any>>;
				public keySet(): java.util.Set<any>;
				public firstKey(): any;
				public size(): number;
				public higherKey(param0: any): any;
				public constructor(param0: java.util.Comparator<any>);
				public ceilingKey(param0: any): any;
				public tailMap(param0: any, param1: boolean): java.util.NavigableMap<any,any>;
				public clone(): java.util.concurrent.ConcurrentSkipListMap<any,any>;
				public put(param0: any, param1: any): any;
				public floorEntry(param0: any): java.util.Map.Entry<any,any>;
				public forEach(param0: any /* any<any,any>*/): void;
				public get(param0: any): any;
				public constructor(param0: java.util.Map<any,any>);
				public getOrDefault(param0: any, param1: any): any;
				public lastKey(): any;
				public containsKey(param0: any): boolean;
				public headMap(param0: any): java.util.concurrent.ConcurrentNavigableMap<any,any>;
				public constructor(param0: java.util.SortedMap<any,any>);
				public clear(): void;
				public lowerKey(param0: any): any;
				public computeIfPresent(param0: any, param1: any /* any<any,any,any>*/): any;
				public replace(param0: any, param1: any, param2: any): boolean;
				public values(): java.util.Collection<any>;
				public subMap(param0: any, param1: boolean, param2: any, param3: boolean): java.util.NavigableMap<any,any>;
				public descendingMap(): java.util.concurrent.ConcurrentNavigableMap<any,any>;
				public headMap(param0: any): java.util.SortedMap<any,any>;
				public subMap(param0: any, param1: boolean, param2: any, param3: boolean): java.util.concurrent.ConcurrentNavigableMap<any,any>;
				public lastEntry(): java.util.Map.Entry<any,any>;
				public tailMap(param0: any): java.util.concurrent.ConcurrentNavigableMap<any,any>;
				public ceilingEntry(param0: any): java.util.Map.Entry<any,any>;
				public descendingMap(): java.util.NavigableMap<any,any>;
				public tailMap(param0: any, param1: boolean): java.util.concurrent.ConcurrentNavigableMap<any,any>;
				public pollFirstEntry(): java.util.Map.Entry<any,any>;
				public floorKey(param0: any): any;
				public descendingKeySet(): java.util.NavigableSet<any>;
				public subMap(param0: any, param1: any): java.util.SortedMap<any,any>;
				public higherEntry(param0: any): java.util.Map.Entry<any,any>;
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export class ConcurrentSkipListSet<E>  extends java.util.AbstractSet<any> {
				public static class: java.lang.Class<java.util.concurrent.ConcurrentSkipListSet<any>>;
				public parallelStream(): java.util.stream.Stream<any>;
				public constructor(param0: java.util.SortedSet<any>);
				public addAll(param0: java.util.Collection<any>): boolean;
				public headSet(param0: any): java.util.SortedSet<any>;
				public removeIf(param0: any /* any*/): boolean;
				public constructor();
				public tailSet(param0: any, param1: boolean): java.util.NavigableSet<any>;
				public toArray(): native.Array<any>;
				public tailSet(param0: any): java.util.NavigableSet<any>;
				public constructor(param0: java.util.Collection<any>);
				public containsAll(param0: java.util.Collection<any>): boolean;
				public add(param0: any): boolean;
				public headSet(param0: any, param1: boolean): java.util.NavigableSet<any>;
				public hashCode(): number;
				public pollLast(): any;
				public clone(): any;
				public clear(): void;
				public equals(param0: any): boolean;
				public descendingIterator(): java.util.Iterator<any>;
				public isEmpty(): boolean;
				public comparator(): java.util.Comparator<any>;
				public remove(param0: any): boolean;
				public tailSet(param0: any): java.util.SortedSet<any>;
				public last(): any;
				public higher(param0: any): any;
				public spliterator(): java.util.Spliterator<any>;
				public contains(param0: any): boolean;
				public stream(): java.util.stream.Stream<any>;
				public toArray(param0: native.Array<any>): native.Array<any>;
				public iterator(): java.util.Iterator<any>;
				public retainAll(param0: java.util.Collection<any>): boolean;
				public subSet(param0: any, param1: any): java.util.SortedSet<any>;
				public size(): number;
				public constructor(param0: java.util.Comparator<any>);
				public lower(param0: any): any;
				public floor(param0: any): any;
				public subSet(param0: any, param1: boolean, param2: any, param3: boolean): java.util.NavigableSet<any>;
				public removeAll(param0: java.util.Collection<any>): boolean;
				public subSet(param0: any, param1: any): java.util.NavigableSet<any>;
				public headSet(param0: any): java.util.NavigableSet<any>;
				public forEach(param0: any /* any*/): void;
				public first(): any;
				public clone(): java.util.concurrent.ConcurrentSkipListSet<any>;
				public ceiling(param0: any): any;
				public pollFirst(): any;
				public descendingSet(): java.util.NavigableSet<any>;
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export class CopyOnWriteArrayList<E>  extends java.lang.Object {
				public static class: java.lang.Class<java.util.concurrent.CopyOnWriteArrayList<any>>;
				public constructor(param0: native.Array<E>);
				public indexOf(param0: any): number;
				public addAllAbsent(param0: java.util.Collection<any>): number;
				public addAll(param0: java.util.Collection<any>): boolean;
				public parallelStream(): java.util.stream.Stream<E>;
				public listIterator(): java.util.ListIterator<E>;
				public removeIf(param0: any /* any*/): boolean;
				public addIfAbsent(param0: E): boolean;
				public constructor();
				public toArray(): native.Array<any>;
				public constructor(param0: java.util.Collection<any>);
				public containsAll(param0: java.util.Collection<any>): boolean;
				public hashCode(): number;
				public clone(): any;
				public clear(): void;
				public equals(param0: any): boolean;
				public iterator(): java.util.Iterator<E>;
				public addAll(param0: number, param1: java.util.Collection<any>): boolean;
				public isEmpty(): boolean;
				public lastIndexOf(param0: any): number;
				public set(param0: number, param1: E): E;
				public sort(param0: java.util.Comparator<any>): void;
				public stream(): java.util.stream.Stream<E>;
				public remove(param0: any): boolean;
				public get(param0: number): E;
				public spliterator(): java.util.Spliterator<any>;
				public contains(param0: any): boolean;
				public toArray(param0: native.Array<any>): native.Array<any>;
				public remove(param0: number): E;
				public listIterator(param0: number): java.util.ListIterator<E>;
				public iterator(): java.util.Iterator<any>;
				public toString(): string;
				public subList(param0: number, param1: number): java.util.List<E>;
				public retainAll(param0: java.util.Collection<any>): boolean;
				public size(): number;
				public spliterator(): java.util.Spliterator<E>;
				public add(param0: number, param1: E): void;
				public indexOf(param0: E, param1: number): number;
				public add(param0: E): boolean;
				public removeAll(param0: java.util.Collection<any>): boolean;
				public forEach(param0: any /* any*/): void;
				public lastIndexOf(param0: E, param1: number): number;
				public replaceAll(param0: any /* any*/): void;
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export class CopyOnWriteArraySet<E>  extends java.util.AbstractSet<any> implements java.io.Serializable  {
				public static class: java.lang.Class<java.util.concurrent.CopyOnWriteArraySet<any>>;
				public parallelStream(): java.util.stream.Stream<any>;
				public spliterator(): java.util.Spliterator<any>;
				public contains(param0: any): boolean;
				public addAll(param0: java.util.Collection<any>): boolean;
				public stream(): java.util.stream.Stream<any>;
				public toArray(param0: native.Array<any>): native.Array<any>;
				public iterator(): java.util.Iterator<any>;
				public retainAll(param0: java.util.Collection<any>): boolean;
				public removeIf(param0: any /* any*/): boolean;
				public constructor();
				public size(): number;
				public toArray(): native.Array<any>;
				public constructor(param0: java.util.Collection<any>);
				public containsAll(param0: java.util.Collection<any>): boolean;
				public add(param0: any): boolean;
				public hashCode(): number;
				public removeAll(param0: java.util.Collection<any>): boolean;
				public forEach(param0: any /* any*/): void;
				public clear(): void;
				public equals(param0: any): boolean;
				public isEmpty(): boolean;
				public remove(param0: any): boolean;
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export class CountDownLatch extends java.lang.Object {
				public static class: java.lang.Class<java.util.concurrent.CountDownLatch>;
				public countDown(): void;
				public constructor(param0: number);
				public getCount(): number;
				public await(): void;
				public toString(): string;
				public await(param0: number, param1: java.util.concurrent.TimeUnit): boolean;
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export abstract class CountedCompleter<T>  extends java.util.concurrent.ForkJoinTask<any> {
				public static class: java.lang.Class<java.util.concurrent.CountedCompleter<any>>;
				public onCompletion(param0: java.util.concurrent.CountedCompleter<any>): void;
				public exec(): boolean;
				public firstComplete(): java.util.concurrent.CountedCompleter<any>;
				public helpComplete(param0: number): void;
				public get(param0: number, param1: java.util.concurrent.TimeUnit): any;
				public constructor();
				public getCompleter(): java.util.concurrent.CountedCompleter<any>;
				public getRawResult(): any;
				public decrementPendingCountUnlessZero(): number;
				public quietlyCompleteRoot(): void;
				public getPendingCount(): number;
				public cancel(param0: boolean): boolean;
				public nextComplete(): java.util.concurrent.CountedCompleter<any>;
				public compute(): void;
				public addToPendingCount(param0: number): void;
				public compareAndSetPendingCount(param0: number, param1: number): boolean;
				public constructor(param0: java.util.concurrent.CountedCompleter<any>);
				public constructor(param0: java.util.concurrent.CountedCompleter<any>, param1: number);
				public onExceptionalCompletion(param0: java.lang.Throwable, param1: java.util.concurrent.CountedCompleter<any>): boolean;
				public setRawResult(param0: any): void;
				public propagateCompletion(): void;
				public tryComplete(): void;
				public complete(param0: any): void;
				public getRoot(): java.util.concurrent.CountedCompleter<any>;
				public isDone(): boolean;
				public setPendingCount(param0: number): void;
				public get(): any;
				public isCancelled(): boolean;
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export class CyclicBarrier extends java.lang.Object {
				public static class: java.lang.Class<java.util.concurrent.CyclicBarrier>;
				public reset(): void;
				public await(): number;
				public constructor(param0: number);
				public await(param0: number, param1: java.util.concurrent.TimeUnit): number;
				public getNumberWaiting(): number;
				public isBroken(): boolean;
				public getParties(): number;
				public constructor(param0: number, param1: java.lang.Runnable);
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export class DelayQueue<E>  extends java.util.AbstractQueue<any> implements java.util.concurrent.BlockingQueue<any>  {
				public static class: java.lang.Class<java.util.concurrent.DelayQueue<any>>;
				public parallelStream(): java.util.stream.Stream<any>;
				public peek(): any;
				public addAll(param0: java.util.Collection<any>): boolean;
				public offer(param0: any, param1: number, param2: java.util.concurrent.TimeUnit): boolean;
				public removeIf(param0: any /* any*/): boolean;
				public constructor();
				public toArray(): native.Array<any>;
				public constructor(param0: java.util.Collection<any>);
				public containsAll(param0: java.util.Collection<any>): boolean;
				public take(): any;
				public add(param0: any): boolean;
				public hashCode(): number;
				public offer(param0: any): boolean;
				public clear(): void;
				public equals(param0: any): boolean;
				public isEmpty(): boolean;
				public remove(param0: any): boolean;
				public remove(): any;
				public element(): any;
				public spliterator(): java.util.Spliterator<any>;
				public contains(param0: any): boolean;
				public stream(): java.util.stream.Stream<any>;
				public toArray(param0: native.Array<any>): native.Array<any>;
				public drainTo(param0: java.util.Collection<any>, param1: number): number;
				public iterator(): java.util.Iterator<any>;
				public retainAll(param0: java.util.Collection<any>): boolean;
				public poll(param0: number, param1: java.util.concurrent.TimeUnit): any;
				public drainTo(param0: java.util.Collection<any>): number;
				public poll(): any;
				public size(): number;
				public put(param0: any): void;
				public remainingCapacity(): number;
				public removeAll(param0: java.util.Collection<any>): boolean;
				public forEach(param0: any /* any*/): void;
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export class Delayed extends java.lang.Comparable<java.util.concurrent.Delayed> {
				public static class: java.lang.Class<java.util.concurrent.Delayed>;
				/**
				 * Constructs a new instance of the java.util.concurrent.Delayed interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getDelay(param0: java.util.concurrent.TimeUnit): number;
				});
				public constructor();
				public getDelay(param0: java.util.concurrent.TimeUnit): number;
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export class Exchanger<V>  extends java.lang.Object {
				public static class: java.lang.Class<java.util.concurrent.Exchanger<any>>;
				public exchange(param0: V): V;
				public exchange(param0: V, param1: number, param2: java.util.concurrent.TimeUnit): V;
				public constructor();
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export class ExecutionException extends java.lang.Exception {
				public static class: java.lang.Class<java.util.concurrent.ExecutionException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export class Executor extends java.lang.Object {
				public static class: java.lang.Class<java.util.concurrent.Executor>;
				/**
				 * Constructs a new instance of the java.util.concurrent.Executor interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					execute(param0: java.lang.Runnable): void;
				});
				public constructor();
				public execute(param0: java.lang.Runnable): void;
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export class ExecutorCompletionService<V>  extends java.util.concurrent.CompletionService<any> {
				public static class: java.lang.Class<java.util.concurrent.ExecutorCompletionService<any>>;
				public submit(param0: java.lang.Runnable, param1: any): java.util.concurrent.Future<any>;
				public poll(): java.util.concurrent.Future<any>;
				public take(): java.util.concurrent.Future<any>;
				public constructor(param0: java.util.concurrent.Executor);
				public poll(param0: number, param1: java.util.concurrent.TimeUnit): java.util.concurrent.Future<any>;
				public constructor(param0: java.util.concurrent.Executor, param1: java.util.concurrent.BlockingQueue<java.util.concurrent.Future<any>>);
				public submit(param0: java.util.concurrent.Callable<any>): java.util.concurrent.Future<any>;
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export class ExecutorService extends java.lang.Object implements java.util.concurrent.Executor {
				public static class: java.lang.Class<java.util.concurrent.ExecutorService>;
				/**
				 * Constructs a new instance of the java.util.concurrent.ExecutorService interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					shutdown(): void;
					shutdownNow(): java.util.List<java.lang.Runnable>;
					isShutdown(): boolean;
					isTerminated(): boolean;
					awaitTermination(param0: number, param1: java.util.concurrent.TimeUnit): boolean;
					submit(param0: java.util.concurrent.Callable<any>): java.util.concurrent.Future<any>;
					submit(param0: java.lang.Runnable, param1: any): java.util.concurrent.Future<any>;
					submit(param0: java.lang.Runnable): java.util.concurrent.Future<any>;
					invokeAll(param0: java.util.Collection<any>): java.util.List<any>;
					invokeAll(param0: java.util.Collection<any>, param1: number, param2: java.util.concurrent.TimeUnit): java.util.List<any>;
					invokeAny(param0: java.util.Collection<any>): any;
					invokeAny(param0: java.util.Collection<any>, param1: number, param2: java.util.concurrent.TimeUnit): any;
					execute(param0: java.lang.Runnable): void;
				});
				public constructor();
				public invokeAll(param0: java.util.Collection<any>, param1: number, param2: java.util.concurrent.TimeUnit): java.util.List<any>;
				public isTerminated(): boolean;
				public submit(param0: java.lang.Runnable): java.util.concurrent.Future<any>;
				public submit(param0: java.lang.Runnable, param1: any): java.util.concurrent.Future<any>;
				public invokeAny(param0: java.util.Collection<any>): any;
				public awaitTermination(param0: number, param1: java.util.concurrent.TimeUnit): boolean;
				public submit(param0: java.util.concurrent.Callable<any>): java.util.concurrent.Future<any>;
				public shutdown(): void;
				public shutdownNow(): java.util.List<java.lang.Runnable>;
				public execute(param0: java.lang.Runnable): void;
				public isShutdown(): boolean;
				public invokeAll(param0: java.util.Collection<any>): java.util.List<any>;
				public invokeAny(param0: java.util.Collection<any>, param1: number, param2: java.util.concurrent.TimeUnit): any;
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export class Executors extends java.lang.Object {
				public static class: java.lang.Class<java.util.concurrent.Executors>;
				public static newScheduledThreadPool(param0: number): java.util.concurrent.ScheduledExecutorService;
				public static newWorkStealingPool(): java.util.concurrent.ExecutorService;
				public static privilegedCallableUsingCurrentClassLoader(param0: java.util.concurrent.Callable<any>): java.util.concurrent.Callable<any>;
				public static unconfigurableScheduledExecutorService(param0: java.util.concurrent.ScheduledExecutorService): java.util.concurrent.ScheduledExecutorService;
				public static newCachedThreadPool(param0: java.util.concurrent.ThreadFactory): java.util.concurrent.ExecutorService;
				public static privilegedThreadFactory(): java.util.concurrent.ThreadFactory;
				public static newFixedThreadPool(param0: number): java.util.concurrent.ExecutorService;
				public static privilegedCallable(param0: java.util.concurrent.Callable<any>): java.util.concurrent.Callable<any>;
				public static newCachedThreadPool(): java.util.concurrent.ExecutorService;
				public static callable(param0: java.lang.Runnable): java.util.concurrent.Callable<any>;
				public static callable(param0: java.lang.Runnable, param1: any): java.util.concurrent.Callable<any>;
				public static newSingleThreadScheduledExecutor(): java.util.concurrent.ScheduledExecutorService;
				public static newSingleThreadScheduledExecutor(param0: java.util.concurrent.ThreadFactory): java.util.concurrent.ScheduledExecutorService;
				public static defaultThreadFactory(): java.util.concurrent.ThreadFactory;
				public static newFixedThreadPool(param0: number, param1: java.util.concurrent.ThreadFactory): java.util.concurrent.ExecutorService;
				public static newSingleThreadExecutor(): java.util.concurrent.ExecutorService;
				public static callable(param0: java.security.PrivilegedAction<any>): java.util.concurrent.Callable<any>;
				public static newSingleThreadExecutor(param0: java.util.concurrent.ThreadFactory): java.util.concurrent.ExecutorService;
				public static newScheduledThreadPool(param0: number, param1: java.util.concurrent.ThreadFactory): java.util.concurrent.ScheduledExecutorService;
				public static unconfigurableExecutorService(param0: java.util.concurrent.ExecutorService): java.util.concurrent.ExecutorService;
				public static callable(param0: java.security.PrivilegedExceptionAction<any>): java.util.concurrent.Callable<any>;
				public static newWorkStealingPool(param0: number): java.util.concurrent.ExecutorService;
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export class ForkJoinPool extends java.util.concurrent.AbstractExecutorService {
				public static class: java.lang.Class<java.util.concurrent.ForkJoinPool>;
				public static defaultForkJoinWorkerThreadFactory: java.util.concurrent.ForkJoinPool.ForkJoinWorkerThreadFactory;
				public submit(param0: java.util.concurrent.ForkJoinTask<any>): java.util.concurrent.ForkJoinTask<any>;
				public getAsyncMode(): boolean;
				public isTerminated(): boolean;
				public submit(param0: java.lang.Runnable, param1: any): java.util.concurrent.Future<any>;
				public newTaskFor(param0: java.util.concurrent.Callable<any>): java.util.concurrent.RunnableFuture<any>;
				public drainTasksTo(param0: java.util.Collection<any>): number;
				public newTaskFor(param0: java.lang.Runnable, param1: any): java.util.concurrent.RunnableFuture<any>;
				public getStealCount(): number;
				public isTerminating(): boolean;
				public constructor();
				public submit(param0: java.util.concurrent.Callable<any>): java.util.concurrent.ForkJoinTask<any>;
				public submit(param0: java.lang.Runnable, param1: any): java.util.concurrent.ForkJoinTask<any>;
				public awaitQuiescence(param0: number, param1: java.util.concurrent.TimeUnit): boolean;
				public submit(param0: java.util.concurrent.Callable<any>): java.util.concurrent.Future<any>;
				public hasQueuedSubmissions(): boolean;
				public awaitTermination(param0: number, param1: java.util.concurrent.TimeUnit): boolean;
				public execute(param0: java.util.concurrent.ForkJoinTask<any>): void;
				public shutdown(): void;
				public getFactory(): java.util.concurrent.ForkJoinPool.ForkJoinWorkerThreadFactory;
				public isShutdown(): boolean;
				public getParallelism(): number;
				public getPoolSize(): number;
				public invokeAny(param0: java.util.Collection<any>, param1: number, param2: java.util.concurrent.TimeUnit): any;
				public invokeAll(param0: java.util.Collection<any>, param1: number, param2: java.util.concurrent.TimeUnit): java.util.List<any>;
				public pollSubmission(): java.util.concurrent.ForkJoinTask<any>;
				public invoke(param0: java.util.concurrent.ForkJoinTask<any>): any;
				public submit(param0: java.lang.Runnable): java.util.concurrent.Future<any>;
				public getRunningThreadCount(): number;
				public getActiveThreadCount(): number;
				public getQueuedSubmissionCount(): number;
				public getQueuedTaskCount(): number;
				public constructor(param0: number, param1: java.util.concurrent.ForkJoinPool.ForkJoinWorkerThreadFactory, param2: java.lang.Thread.UncaughtExceptionHandler, param3: boolean);
				public static commonPool(): java.util.concurrent.ForkJoinPool;
				public toString(): string;
				public getUncaughtExceptionHandler(): java.lang.Thread.UncaughtExceptionHandler;
				public invokeAny(param0: java.util.Collection<any>): any;
				public static managedBlock(param0: java.util.concurrent.ForkJoinPool.ManagedBlocker): void;
				public execute(param0: java.lang.Runnable): void;
				public submit(param0: java.lang.Runnable): java.util.concurrent.ForkJoinTask<any>;
				public shutdownNow(): java.util.List<java.lang.Runnable>;
				public constructor(param0: number);
				public invokeAll(param0: java.util.Collection<any>): java.util.List<any>;
				public isQuiescent(): boolean;
				public static getCommonPoolParallelism(): number;
			}
			export module ForkJoinPool {
				export class ForkJoinWorkerThreadFactory extends java.lang.Object {
					public static class: java.lang.Class<java.util.concurrent.ForkJoinPool.ForkJoinWorkerThreadFactory>;
					/**
					 * Constructs a new instance of the java.util.concurrent.ForkJoinPool$ForkJoinWorkerThreadFactory interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						newThread(param0: java.util.concurrent.ForkJoinPool): java.util.concurrent.ForkJoinWorkerThread;
					});
					public constructor();
					public newThread(param0: java.util.concurrent.ForkJoinPool): java.util.concurrent.ForkJoinWorkerThread;
				}
				export class ManagedBlocker extends java.lang.Object {
					public static class: java.lang.Class<java.util.concurrent.ForkJoinPool.ManagedBlocker>;
					/**
					 * Constructs a new instance of the java.util.concurrent.ForkJoinPool$ManagedBlocker interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						block(): boolean;
						isReleasable(): boolean;
					});
					public constructor();
					public block(): boolean;
					public isReleasable(): boolean;
				}
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export abstract class ForkJoinTask<V>  extends java.lang.Object {
				public static class: java.lang.Class<java.util.concurrent.ForkJoinTask<any>>;
				public reinitialize(): void;
				public setForkJoinTaskTag(param0: number): number;
				public isCompletedNormally(): boolean;
				public exec(): boolean;
				public fork(): java.util.concurrent.ForkJoinTask<V>;
				public complete(param0: V): void;
				public static inForkJoinPool(): boolean;
				public static invokeAll(param0: native.Array<java.util.concurrent.ForkJoinTask<any>>): void;
				public static getPool(): java.util.concurrent.ForkJoinPool;
				public completeExceptionally(param0: java.lang.Throwable): void;
				public constructor();
				public isCompletedAbnormally(): boolean;
				public static adapt(param0: java.lang.Runnable): java.util.concurrent.ForkJoinTask<any>;
				public get(param0: number, param1: java.util.concurrent.TimeUnit): V;
				public quietlyInvoke(): void;
				public compareAndSetForkJoinTaskTag(param0: number, param1: number): boolean;
				public tryUnfork(): boolean;
				public static getQueuedTaskCount(): number;
				public cancel(param0: boolean): boolean;
				public static helpQuiesce(): void;
				public static getSurplusQueuedTaskCount(): number;
				public static invokeAll(param0: java.util.concurrent.ForkJoinTask<any>, param1: java.util.concurrent.ForkJoinTask<any>): void;
				public static peekNextLocalTask(): java.util.concurrent.ForkJoinTask<any>;
				public static adapt(param0: java.lang.Runnable, param1: any): java.util.concurrent.ForkJoinTask<any>;
				public quietlyJoin(): void;
				public static pollNextLocalTask(): java.util.concurrent.ForkJoinTask<any>;
				public getForkJoinTaskTag(): number;
				public static adapt(param0: java.util.concurrent.Callable<any>): java.util.concurrent.ForkJoinTask<any>;
				public quietlyComplete(): void;
				public get(): V;
				public getRawResult(): V;
				public join(): V;
				public invoke(): V;
				public isDone(): boolean;
				public setRawResult(param0: V): void;
				public getException(): java.lang.Throwable;
				public static pollTask(): java.util.concurrent.ForkJoinTask<any>;
				public static invokeAll(param0: java.util.Collection<any>): java.util.Collection<any>;
				public isCancelled(): boolean;
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export class ForkJoinWorkerThread extends java.lang.Thread {
				public static class: java.lang.Class<java.util.concurrent.ForkJoinWorkerThread>;
				public constructor(param0: java.lang.ThreadGroup, param1: java.lang.Runnable, param2: string);
				public constructor(param0: java.lang.ThreadGroup, param1: java.lang.Runnable);
				public constructor(param0: string);
				public constructor();
				public getPoolIndex(): number;
				public constructor(param0: java.lang.Runnable, param1: string);
				public getPool(): java.util.concurrent.ForkJoinPool;
				public constructor(param0: java.util.concurrent.ForkJoinPool);
				public run(): void;
				public onStart(): void;
				public constructor(param0: java.lang.ThreadGroup, param1: string);
				public onTermination(param0: java.lang.Throwable): void;
				public constructor(param0: java.lang.ThreadGroup, param1: java.lang.Runnable, param2: string, param3: number);
				public constructor(param0: java.lang.Runnable);
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export class Future<V>  extends java.lang.Object {
				public static class: java.lang.Class<java.util.concurrent.Future<any>>;
				/**
				 * Constructs a new instance of the java.util.concurrent.Future<any> interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					cancel(param0: boolean): boolean;
					isCancelled(): boolean;
					isDone(): boolean;
					get(): V;
					get(param0: number, param1: java.util.concurrent.TimeUnit): V;
				});
				public constructor();
				public get(): V;
				public isDone(): boolean;
				public get(param0: number, param1: java.util.concurrent.TimeUnit): V;
				public cancel(param0: boolean): boolean;
				public isCancelled(): boolean;
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export class FutureTask<V>  extends java.util.concurrent.RunnableFuture<any> {
				public static class: java.lang.Class<java.util.concurrent.FutureTask<any>>;
				public isDone(): boolean;
				public done(): void;
				public setException(param0: java.lang.Throwable): void;
				public run(): void;
				public constructor(param0: java.lang.Runnable, param1: any);
				public set(param0: any): void;
				public runAndReset(): boolean;
				public get(): any;
				public cancel(param0: boolean): boolean;
				public constructor(param0: java.util.concurrent.Callable<any>);
				public isCancelled(): boolean;
				public get(param0: number, param1: java.util.concurrent.TimeUnit): any;
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export class LinkedBlockingDeque<E>  extends java.util.AbstractQueue<any> {
				public static class: java.lang.Class<java.util.concurrent.LinkedBlockingDeque<any>>;
				public pollFirst(param0: number, param1: java.util.concurrent.TimeUnit): any;
				public addAll(param0: java.util.Collection<any>): boolean;
				public putFirst(param0: any): void;
				public removeIf(param0: any /* any*/): boolean;
				public constructor();
				public removeLastOccurrence(param0: any): boolean;
				public toArray(): native.Array<any>;
				public take(): any;
				public add(param0: any): boolean;
				public hashCode(): number;
				public equals(param0: any): boolean;
				public descendingIterator(): java.util.Iterator<any>;
				public addLast(param0: any): void;
				public isEmpty(): boolean;
				public offerFirst(param0: any): boolean;
				public spliterator(): java.util.Spliterator<any>;
				public contains(param0: any): boolean;
				public stream(): java.util.stream.Stream<any>;
				public offerLast(param0: any): boolean;
				public iterator(): java.util.Iterator<any>;
				public peekFirst(): any;
				public toString(): string;
				public retainAll(param0: java.util.Collection<any>): boolean;
				public poll(param0: number, param1: java.util.concurrent.TimeUnit): any;
				public poll(): any;
				public size(): number;
				public peekLast(): any;
				public addFirst(param0: any): void;
				public remainingCapacity(): number;
				public removeAll(param0: java.util.Collection<any>): boolean;
				public putLast(param0: any): void;
				public removeLast(): any;
				public parallelStream(): java.util.stream.Stream<any>;
				public pollLast(param0: number, param1: java.util.concurrent.TimeUnit): any;
				public peek(): any;
				public offer(param0: any, param1: number, param2: java.util.concurrent.TimeUnit): boolean;
				public offerFirst(param0: any, param1: number, param2: java.util.concurrent.TimeUnit): boolean;
				public constructor(param0: java.util.Collection<any>);
				public containsAll(param0: java.util.Collection<any>): boolean;
				public push(param0: any): void;
				public pop(): any;
				public pollLast(): any;
				public offer(param0: any): boolean;
				public clear(): void;
				public remove(param0: any): boolean;
				public takeLast(): any;
				public remove(): any;
				public getLast(): any;
				public element(): any;
				public toArray(param0: native.Array<any>): native.Array<any>;
				public drainTo(param0: java.util.Collection<any>, param1: number): number;
				public getFirst(): any;
				public removeFirst(): any;
				public drainTo(param0: java.util.Collection<any>): number;
				public offerLast(param0: any, param1: number, param2: java.util.concurrent.TimeUnit): boolean;
				public put(param0: any): void;
				public removeFirstOccurrence(param0: any): boolean;
				public forEach(param0: any /* any*/): void;
				public constructor(param0: number);
				public takeFirst(): any;
				public pollFirst(): any;
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export class LinkedBlockingQueue<E>  extends java.util.AbstractQueue<any> {
				public static class: java.lang.Class<java.util.concurrent.LinkedBlockingQueue<any>>;
				public parallelStream(): java.util.stream.Stream<any>;
				public peek(): any;
				public addAll(param0: java.util.Collection<any>): boolean;
				public offer(param0: any, param1: number, param2: java.util.concurrent.TimeUnit): boolean;
				public removeIf(param0: any /* any*/): boolean;
				public constructor();
				public toArray(): native.Array<any>;
				public constructor(param0: java.util.Collection<any>);
				public containsAll(param0: java.util.Collection<any>): boolean;
				public take(): any;
				public add(param0: any): boolean;
				public hashCode(): number;
				public offer(param0: any): boolean;
				public clear(): void;
				public equals(param0: any): boolean;
				public isEmpty(): boolean;
				public remove(param0: any): boolean;
				public remove(): any;
				public spliterator(): java.util.Spliterator<any>;
				public element(): any;
				public contains(param0: any): boolean;
				public stream(): java.util.stream.Stream<any>;
				public toArray(param0: native.Array<any>): native.Array<any>;
				public drainTo(param0: java.util.Collection<any>, param1: number): number;
				public iterator(): java.util.Iterator<any>;
				public toString(): string;
				public retainAll(param0: java.util.Collection<any>): boolean;
				public poll(param0: number, param1: java.util.concurrent.TimeUnit): any;
				public drainTo(param0: java.util.Collection<any>): number;
				public size(): number;
				public poll(): any;
				public put(param0: any): void;
				public remainingCapacity(): number;
				public removeAll(param0: java.util.Collection<any>): boolean;
				public forEach(param0: any /* any*/): void;
				public constructor(param0: number);
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export class LinkedTransferQueue<E>  extends java.util.AbstractQueue<any> {
				public static class: java.lang.Class<java.util.concurrent.LinkedTransferQueue<any>>;
				public parallelStream(): java.util.stream.Stream<any>;
				public peek(): any;
				public addAll(param0: java.util.Collection<any>): boolean;
				public offer(param0: any, param1: number, param2: java.util.concurrent.TimeUnit): boolean;
				public hasWaitingConsumer(): boolean;
				public removeIf(param0: any /* any*/): boolean;
				public constructor();
				public toArray(): native.Array<any>;
				public tryTransfer(param0: any): boolean;
				public constructor(param0: java.util.Collection<any>);
				public containsAll(param0: java.util.Collection<any>): boolean;
				public take(): any;
				public add(param0: any): boolean;
				public hashCode(): number;
				public offer(param0: any): boolean;
				public clear(): void;
				public equals(param0: any): boolean;
				public isEmpty(): boolean;
				public remove(param0: any): boolean;
				public remove(): any;
				public spliterator(): java.util.Spliterator<any>;
				public element(): any;
				public contains(param0: any): boolean;
				public stream(): java.util.stream.Stream<any>;
				public toArray(param0: native.Array<any>): native.Array<any>;
				public tryTransfer(param0: any, param1: number, param2: java.util.concurrent.TimeUnit): boolean;
				public drainTo(param0: java.util.Collection<any>, param1: number): number;
				public iterator(): java.util.Iterator<any>;
				public toString(): string;
				public transfer(param0: any): void;
				public retainAll(param0: java.util.Collection<any>): boolean;
				public poll(param0: number, param1: java.util.concurrent.TimeUnit): any;
				public drainTo(param0: java.util.Collection<any>): number;
				public poll(): any;
				public size(): number;
				public getWaitingConsumerCount(): number;
				public put(param0: any): void;
				public remainingCapacity(): number;
				public removeAll(param0: java.util.Collection<any>): boolean;
				public forEach(param0: any /* any*/): void;
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export class Phaser extends java.lang.Object {
				public static class: java.lang.Class<java.util.concurrent.Phaser>;
				public bulkRegister(param0: number): number;
				public arrive(): number;
				public getPhase(): number;
				public constructor(param0: java.util.concurrent.Phaser, param1: number);
				public getRoot(): java.util.concurrent.Phaser;
				public isTerminated(): boolean;
				public getUnarrivedParties(): number;
				public forceTermination(): void;
				public register(): number;
				public awaitAdvance(param0: number): number;
				public constructor(param0: java.util.concurrent.Phaser);
				public getParent(): java.util.concurrent.Phaser;
				public onAdvance(param0: number, param1: number): boolean;
				public toString(): string;
				public constructor();
				public getArrivedParties(): number;
				public arriveAndDeregister(): number;
				public constructor(param0: number);
				public arriveAndAwaitAdvance(): number;
				public getRegisteredParties(): number;
				public awaitAdvanceInterruptibly(param0: number): number;
				public awaitAdvanceInterruptibly(param0: number, param1: number, param2: java.util.concurrent.TimeUnit): number;
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export class PriorityBlockingQueue<E>  extends java.util.AbstractQueue<any> {
				public static class: java.lang.Class<java.util.concurrent.PriorityBlockingQueue<any>>;
				public parallelStream(): java.util.stream.Stream<any>;
				public peek(): any;
				public addAll(param0: java.util.Collection<any>): boolean;
				public offer(param0: any, param1: number, param2: java.util.concurrent.TimeUnit): boolean;
				public removeIf(param0: any /* any*/): boolean;
				public constructor();
				public constructor(param0: number, param1: java.util.Comparator<any>);
				public toArray(): native.Array<any>;
				public constructor(param0: java.util.Collection<any>);
				public containsAll(param0: java.util.Collection<any>): boolean;
				public take(): any;
				public add(param0: any): boolean;
				public hashCode(): number;
				public offer(param0: any): boolean;
				public clear(): void;
				public equals(param0: any): boolean;
				public isEmpty(): boolean;
				public comparator(): java.util.Comparator<any>;
				public remove(param0: any): boolean;
				public remove(): any;
				public spliterator(): java.util.Spliterator<any>;
				public element(): any;
				public contains(param0: any): boolean;
				public stream(): java.util.stream.Stream<any>;
				public toArray(param0: native.Array<any>): native.Array<any>;
				public drainTo(param0: java.util.Collection<any>, param1: number): number;
				public iterator(): java.util.Iterator<any>;
				public toString(): string;
				public retainAll(param0: java.util.Collection<any>): boolean;
				public poll(param0: number, param1: java.util.concurrent.TimeUnit): any;
				public drainTo(param0: java.util.Collection<any>): number;
				public poll(): any;
				public size(): number;
				public put(param0: any): void;
				public remainingCapacity(): number;
				public removeAll(param0: java.util.Collection<any>): boolean;
				public forEach(param0: any /* any*/): void;
				public constructor(param0: number);
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export abstract class RecursiveAction extends java.util.concurrent.ForkJoinTask<java.lang.Void> {
				public static class: java.lang.Class<java.util.concurrent.RecursiveAction>;
				public getRawResult(): java.lang.Void;
				public isDone(): boolean;
				public setRawResult(param0: java.lang.Void): void;
				public getRawResult(): any;
				public exec(): boolean;
				public setRawResult(param0: any): void;
				public get(): any;
				public cancel(param0: boolean): boolean;
				public compute(): void;
				public isCancelled(): boolean;
				public get(param0: number, param1: java.util.concurrent.TimeUnit): any;
				public constructor();
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export abstract class RecursiveTask<V>  extends java.util.concurrent.ForkJoinTask<any> {
				public static class: java.lang.Class<java.util.concurrent.RecursiveTask<any>>;
				public isDone(): boolean;
				public getRawResult(): any;
				public compute(): any;
				public exec(): boolean;
				public setRawResult(param0: any): void;
				public get(): any;
				public cancel(param0: boolean): boolean;
				public isCancelled(): boolean;
				public get(param0: number, param1: java.util.concurrent.TimeUnit): any;
				public constructor();
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export class RejectedExecutionException extends java.lang.RuntimeException {
				public static class: java.lang.Class<java.util.concurrent.RejectedExecutionException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export class RejectedExecutionHandler extends java.lang.Object {
				public static class: java.lang.Class<java.util.concurrent.RejectedExecutionHandler>;
				/**
				 * Constructs a new instance of the java.util.concurrent.RejectedExecutionHandler interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					rejectedExecution(param0: java.lang.Runnable, param1: java.util.concurrent.ThreadPoolExecutor): void;
				});
				public constructor();
				public rejectedExecution(param0: java.lang.Runnable, param1: java.util.concurrent.ThreadPoolExecutor): void;
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export class RunnableFuture<V>  extends java.lang.Object {
				public static class: java.lang.Class<java.util.concurrent.RunnableFuture<any>>;
				/**
				 * Constructs a new instance of the java.util.concurrent.RunnableFuture<any> interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					run(): void;
					run(): void;
					cancel(param0: boolean): boolean;
					isCancelled(): boolean;
					isDone(): boolean;
					get(): V;
					get(param0: number, param1: java.util.concurrent.TimeUnit): V;
				});
				public constructor();
				public get(): V;
				public isDone(): boolean;
				public get(param0: number, param1: java.util.concurrent.TimeUnit): V;
				public run(): void;
				public cancel(param0: boolean): boolean;
				public isCancelled(): boolean;
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export class RunnableScheduledFuture<V>  extends java.lang.Object {
				public static class: java.lang.Class<java.util.concurrent.RunnableScheduledFuture<any>>;
				/**
				 * Constructs a new instance of the java.util.concurrent.RunnableScheduledFuture<any> interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					isPeriodic(): boolean;
					run(): void;
					run(): void;
					cancel(param0: boolean): boolean;
					isCancelled(): boolean;
					isDone(): boolean;
					get(): V;
					get(param0: number, param1: java.util.concurrent.TimeUnit): V;
					getDelay(param0: java.util.concurrent.TimeUnit): number;
					cancel(param0: boolean): boolean;
					isCancelled(): boolean;
					isDone(): boolean;
					get(): V;
					get(param0: number, param1: java.util.concurrent.TimeUnit): V;
				});
				public constructor();
				public get(): V;
				public getDelay(param0: java.util.concurrent.TimeUnit): number;
				public isPeriodic(): boolean;
				public isDone(): boolean;
				public get(param0: number, param1: java.util.concurrent.TimeUnit): V;
				public run(): void;
				public cancel(param0: boolean): boolean;
				public isCancelled(): boolean;
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export class ScheduledExecutorService extends java.lang.Object implements java.util.concurrent.ExecutorService {
				public static class: java.lang.Class<java.util.concurrent.ScheduledExecutorService>;
				/**
				 * Constructs a new instance of the java.util.concurrent.ScheduledExecutorService interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					schedule(param0: java.lang.Runnable, param1: number, param2: java.util.concurrent.TimeUnit): java.util.concurrent.ScheduledFuture<any>;
					schedule(param0: java.util.concurrent.Callable<any>, param1: number, param2: java.util.concurrent.TimeUnit): java.util.concurrent.ScheduledFuture<any>;
					scheduleAtFixedRate(param0: java.lang.Runnable, param1: number, param2: number, param3: java.util.concurrent.TimeUnit): java.util.concurrent.ScheduledFuture<any>;
					scheduleWithFixedDelay(param0: java.lang.Runnable, param1: number, param2: number, param3: java.util.concurrent.TimeUnit): java.util.concurrent.ScheduledFuture<any>;
					shutdown(): void;
					shutdownNow(): java.util.List<java.lang.Runnable>;
					isShutdown(): boolean;
					isTerminated(): boolean;
					awaitTermination(param0: number, param1: java.util.concurrent.TimeUnit): boolean;
					submit(param0: java.util.concurrent.Callable<any>): java.util.concurrent.Future<any>;
					submit(param0: java.lang.Runnable, param1: any): java.util.concurrent.Future<any>;
					submit(param0: java.lang.Runnable): java.util.concurrent.Future<any>;
					invokeAll(param0: java.util.Collection<any>): java.util.List<any>;
					invokeAll(param0: java.util.Collection<any>, param1: number, param2: java.util.concurrent.TimeUnit): java.util.List<any>;
					invokeAny(param0: java.util.Collection<any>): any;
					invokeAny(param0: java.util.Collection<any>, param1: number, param2: java.util.concurrent.TimeUnit): any;
					execute(param0: java.lang.Runnable): void;
				});
				public constructor();
				public invokeAll(param0: java.util.Collection<any>, param1: number, param2: java.util.concurrent.TimeUnit): java.util.List<any>;
				public schedule(param0: java.util.concurrent.Callable<any>, param1: number, param2: java.util.concurrent.TimeUnit): java.util.concurrent.ScheduledFuture<any>;
				public schedule(param0: java.lang.Runnable, param1: number, param2: java.util.concurrent.TimeUnit): java.util.concurrent.ScheduledFuture<any>;
				public isTerminated(): boolean;
				public submit(param0: java.lang.Runnable): java.util.concurrent.Future<any>;
				public submit(param0: java.lang.Runnable, param1: any): java.util.concurrent.Future<any>;
				public invokeAny(param0: java.util.Collection<any>): any;
				public scheduleAtFixedRate(param0: java.lang.Runnable, param1: number, param2: number, param3: java.util.concurrent.TimeUnit): java.util.concurrent.ScheduledFuture<any>;
				public awaitTermination(param0: number, param1: java.util.concurrent.TimeUnit): boolean;
				public submit(param0: java.util.concurrent.Callable<any>): java.util.concurrent.Future<any>;
				public shutdown(): void;
				public scheduleWithFixedDelay(param0: java.lang.Runnable, param1: number, param2: number, param3: java.util.concurrent.TimeUnit): java.util.concurrent.ScheduledFuture<any>;
				public shutdownNow(): java.util.List<java.lang.Runnable>;
				public execute(param0: java.lang.Runnable): void;
				public isShutdown(): boolean;
				public invokeAll(param0: java.util.Collection<any>): java.util.List<any>;
				public invokeAny(param0: java.util.Collection<any>, param1: number, param2: java.util.concurrent.TimeUnit): any;
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export class ScheduledFuture<V>  extends java.lang.Object {
				public static class: java.lang.Class<java.util.concurrent.ScheduledFuture<any>>;
				/**
				 * Constructs a new instance of the java.util.concurrent.ScheduledFuture<any> interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getDelay(param0: java.util.concurrent.TimeUnit): number;
					cancel(param0: boolean): boolean;
					isCancelled(): boolean;
					isDone(): boolean;
					get(): V;
					get(param0: number, param1: java.util.concurrent.TimeUnit): V;
				});
				public constructor();
				public get(): V;
				public getDelay(param0: java.util.concurrent.TimeUnit): number;
				public isDone(): boolean;
				public get(param0: number, param1: java.util.concurrent.TimeUnit): V;
				public cancel(param0: boolean): boolean;
				public isCancelled(): boolean;
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export class ScheduledThreadPoolExecutor extends java.util.concurrent.ThreadPoolExecutor implements java.util.concurrent.ScheduledExecutorService {
				public static class: java.lang.Class<java.util.concurrent.ScheduledThreadPoolExecutor>;
				public decorateTask(param0: java.lang.Runnable, param1: java.util.concurrent.RunnableScheduledFuture<any>): java.util.concurrent.RunnableScheduledFuture<any>;
				public isTerminated(): boolean;
				public submit(param0: java.lang.Runnable, param1: any): java.util.concurrent.Future<any>;
				public constructor(param0: number, param1: number, param2: number, param3: java.util.concurrent.TimeUnit, param4: java.util.concurrent.BlockingQueue<java.lang.Runnable>, param5: java.util.concurrent.ThreadFactory, param6: java.util.concurrent.RejectedExecutionHandler);
				public constructor();
				public submit(param0: java.util.concurrent.Callable<any>): java.util.concurrent.Future<any>;
				public getExecuteExistingDelayedTasksAfterShutdownPolicy(): boolean;
				public awaitTermination(param0: number, param1: java.util.concurrent.TimeUnit): boolean;
				public decorateTask(param0: java.util.concurrent.Callable<any>, param1: java.util.concurrent.RunnableScheduledFuture<any>): java.util.concurrent.RunnableScheduledFuture<any>;
				public setRemoveOnCancelPolicy(param0: boolean): void;
				public shutdown(): void;
				public isShutdown(): boolean;
				public constructor(param0: number, param1: number, param2: number, param3: java.util.concurrent.TimeUnit, param4: java.util.concurrent.BlockingQueue<java.lang.Runnable>, param5: java.util.concurrent.ThreadFactory);
				public constructor(param0: number, param1: java.util.concurrent.RejectedExecutionHandler);
				public invokeAny(param0: java.util.Collection<any>, param1: number, param2: java.util.concurrent.TimeUnit): any;
				public constructor(param0: number, param1: java.util.concurrent.ThreadFactory);
				public invokeAll(param0: java.util.Collection<any>, param1: number, param2: java.util.concurrent.TimeUnit): java.util.List<any>;
				public schedule(param0: java.util.concurrent.Callable<any>, param1: number, param2: java.util.concurrent.TimeUnit): java.util.concurrent.ScheduledFuture<any>;
				public setContinueExistingPeriodicTasksAfterShutdownPolicy(param0: boolean): void;
				public schedule(param0: java.lang.Runnable, param1: number, param2: java.util.concurrent.TimeUnit): java.util.concurrent.ScheduledFuture<any>;
				public submit(param0: java.lang.Runnable): java.util.concurrent.Future<any>;
				public constructor(param0: number, param1: number, param2: number, param3: java.util.concurrent.TimeUnit, param4: java.util.concurrent.BlockingQueue<java.lang.Runnable>);
				public getContinueExistingPeriodicTasksAfterShutdownPolicy(): boolean;
				public getRemoveOnCancelPolicy(): boolean;
				public invokeAny(param0: java.util.Collection<any>): any;
				public scheduleAtFixedRate(param0: java.lang.Runnable, param1: number, param2: number, param3: java.util.concurrent.TimeUnit): java.util.concurrent.ScheduledFuture<any>;
				public setExecuteExistingDelayedTasksAfterShutdownPolicy(param0: boolean): void;
				public scheduleWithFixedDelay(param0: java.lang.Runnable, param1: number, param2: number, param3: java.util.concurrent.TimeUnit): java.util.concurrent.ScheduledFuture<any>;
				public execute(param0: java.lang.Runnable): void;
				public shutdownNow(): java.util.List<java.lang.Runnable>;
				public constructor(param0: number, param1: java.util.concurrent.ThreadFactory, param2: java.util.concurrent.RejectedExecutionHandler);
				public constructor(param0: number);
				public invokeAll(param0: java.util.Collection<any>): java.util.List<any>;
				public constructor(param0: number, param1: number, param2: number, param3: java.util.concurrent.TimeUnit, param4: java.util.concurrent.BlockingQueue<java.lang.Runnable>, param5: java.util.concurrent.RejectedExecutionHandler);
				public getQueue(): java.util.concurrent.BlockingQueue<java.lang.Runnable>;
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export class Semaphore extends java.lang.Object implements java.io.Serializable {
				public static class: java.lang.Class<java.util.concurrent.Semaphore>;
				public reducePermits(param0: number): void;
				public release(): void;
				public acquire(param0: number): void;
				public constructor(param0: number, param1: boolean);
				public release(param0: number): void;
				public availablePermits(): number;
				public tryAcquire(param0: number, param1: number, param2: java.util.concurrent.TimeUnit): boolean;
				public drainPermits(): number;
				public toString(): string;
				public hasQueuedThreads(): boolean;
				public getQueuedThreads(): java.util.Collection<java.lang.Thread>;
				public acquireUninterruptibly(): void;
				public acquireUninterruptibly(param0: number): void;
				public tryAcquire(): boolean;
				public tryAcquire(param0: number, param1: java.util.concurrent.TimeUnit): boolean;
				public constructor(param0: number);
				public isFair(): boolean;
				public acquire(): void;
				public tryAcquire(param0: number): boolean;
				public getQueueLength(): number;
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export class SynchronousQueue<E>  extends java.util.AbstractQueue<any> {
				public static class: java.lang.Class<java.util.concurrent.SynchronousQueue<any>>;
				public parallelStream(): java.util.stream.Stream<any>;
				public peek(): any;
				public addAll(param0: java.util.Collection<any>): boolean;
				public offer(param0: any, param1: number, param2: java.util.concurrent.TimeUnit): boolean;
				public constructor(param0: boolean);
				public removeIf(param0: any /* any*/): boolean;
				public constructor();
				public toArray(): native.Array<any>;
				public containsAll(param0: java.util.Collection<any>): boolean;
				public take(): any;
				public add(param0: any): boolean;
				public hashCode(): number;
				public offer(param0: any): boolean;
				public clear(): void;
				public equals(param0: any): boolean;
				public isEmpty(): boolean;
				public remove(param0: any): boolean;
				public remove(): any;
				public spliterator(): java.util.Spliterator<any>;
				public element(): any;
				public contains(param0: any): boolean;
				public stream(): java.util.stream.Stream<any>;
				public toArray(param0: native.Array<any>): native.Array<any>;
				public drainTo(param0: java.util.Collection<any>, param1: number): number;
				public iterator(): java.util.Iterator<any>;
				public toString(): string;
				public retainAll(param0: java.util.Collection<any>): boolean;
				public poll(param0: number, param1: java.util.concurrent.TimeUnit): any;
				public drainTo(param0: java.util.Collection<any>): number;
				public poll(): any;
				public size(): number;
				public put(param0: any): void;
				public remainingCapacity(): number;
				public removeAll(param0: java.util.Collection<any>): boolean;
				public forEach(param0: any /* any*/): void;
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export class ThreadFactory extends java.lang.Object {
				public static class: java.lang.Class<java.util.concurrent.ThreadFactory>;
				/**
				 * Constructs a new instance of the java.util.concurrent.ThreadFactory interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					newThread(param0: java.lang.Runnable): java.lang.Thread;
				});
				public constructor();
				public newThread(param0: java.lang.Runnable): java.lang.Thread;
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export class ThreadLocalRandom extends java.util.Random {
				public static class: java.lang.Class<java.util.concurrent.ThreadLocalRandom>;
				public longs(): java.util.stream.LongStream;
				public nextDouble(param0: number): number;
				public doubles(param0: number): java.util.stream.DoubleStream;
				public doubles(param0: number, param1: number): java.util.stream.DoubleStream;
				public nextDouble(): number;
				public longs(param0: number, param1: number): java.util.stream.LongStream;
				public doubles(): java.util.stream.DoubleStream;
				public nextInt(): number;
				public nextLong(): number;
				public nextLong(param0: number): number;
				public nextGaussian(): number;
				public ints(param0: number, param1: number): java.util.stream.IntStream;
				public nextFloat(): number;
				public doubles(param0: number, param1: number, param2: number): java.util.stream.DoubleStream;
				public nextBoolean(): boolean;
				public nextInt(param0: number): number;
				public ints(): java.util.stream.IntStream;
				public static current(): java.util.concurrent.ThreadLocalRandom;
				public longs(param0: number): java.util.stream.LongStream;
				public next(param0: number): number;
				public longs(param0: number, param1: number, param2: number): java.util.stream.LongStream;
				public nextLong(param0: number, param1: number): number;
				public nextDouble(param0: number, param1: number): number;
				public setSeed(param0: number): void;
				public nextInt(param0: number, param1: number): number;
				public ints(param0: number): java.util.stream.IntStream;
				public ints(param0: number, param1: number, param2: number): java.util.stream.IntStream;
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export class ThreadPoolExecutor extends java.util.concurrent.AbstractExecutorService {
				public static class: java.lang.Class<java.util.concurrent.ThreadPoolExecutor>;
				public setMaximumPoolSize(param0: number): void;
				public setRejectedExecutionHandler(param0: java.util.concurrent.RejectedExecutionHandler): void;
				public afterExecute(param0: java.lang.Runnable, param1: java.lang.Throwable): void;
				public isTerminated(): boolean;
				public setCorePoolSize(param0: number): void;
				public allowsCoreThreadTimeOut(): boolean;
				public allowCoreThreadTimeOut(param0: boolean): void;
				public finalize(): void;
				public submit(param0: java.lang.Runnable, param1: any): java.util.concurrent.Future<any>;
				public constructor(param0: number, param1: number, param2: number, param3: java.util.concurrent.TimeUnit, param4: java.util.concurrent.BlockingQueue<java.lang.Runnable>, param5: java.util.concurrent.ThreadFactory, param6: java.util.concurrent.RejectedExecutionHandler);
				public isTerminating(): boolean;
				public constructor();
				public awaitTermination(param0: number, param1: java.util.concurrent.TimeUnit): boolean;
				public submit(param0: java.util.concurrent.Callable<any>): java.util.concurrent.Future<any>;
				public shutdown(): void;
				public getActiveCount(): number;
				public isShutdown(): boolean;
				public constructor(param0: number, param1: number, param2: number, param3: java.util.concurrent.TimeUnit, param4: java.util.concurrent.BlockingQueue<java.lang.Runnable>, param5: java.util.concurrent.ThreadFactory);
				public remove(param0: java.lang.Runnable): boolean;
				public beforeExecute(param0: java.lang.Thread, param1: java.lang.Runnable): void;
				public getPoolSize(): number;
				public invokeAny(param0: java.util.Collection<any>, param1: number, param2: java.util.concurrent.TimeUnit): any;
				public setKeepAliveTime(param0: number, param1: java.util.concurrent.TimeUnit): void;
				public invokeAll(param0: java.util.Collection<any>, param1: number, param2: java.util.concurrent.TimeUnit): java.util.List<any>;
				public submit(param0: java.lang.Runnable): java.util.concurrent.Future<any>;
				public constructor(param0: number, param1: number, param2: number, param3: java.util.concurrent.TimeUnit, param4: java.util.concurrent.BlockingQueue<java.lang.Runnable>);
				public getCorePoolSize(): number;
				public prestartAllCoreThreads(): number;
				public toString(): string;
				public getMaximumPoolSize(): number;
				public getKeepAliveTime(param0: java.util.concurrent.TimeUnit): number;
				public invokeAny(param0: java.util.Collection<any>): any;
				public purge(): void;
				public getCompletedTaskCount(): number;
				public terminated(): void;
				public execute(param0: java.lang.Runnable): void;
				public shutdownNow(): java.util.List<java.lang.Runnable>;
				public getLargestPoolSize(): number;
				public setThreadFactory(param0: java.util.concurrent.ThreadFactory): void;
				public getTaskCount(): number;
				public invokeAll(param0: java.util.Collection<any>): java.util.List<any>;
				public prestartCoreThread(): boolean;
				public constructor(param0: number, param1: number, param2: number, param3: java.util.concurrent.TimeUnit, param4: java.util.concurrent.BlockingQueue<java.lang.Runnable>, param5: java.util.concurrent.RejectedExecutionHandler);
				public getRejectedExecutionHandler(): java.util.concurrent.RejectedExecutionHandler;
				public getThreadFactory(): java.util.concurrent.ThreadFactory;
				public getQueue(): java.util.concurrent.BlockingQueue<java.lang.Runnable>;
			}
			export module ThreadPoolExecutor {
				export class AbortPolicy extends java.lang.Object implements java.util.concurrent.RejectedExecutionHandler {
					public static class: java.lang.Class<java.util.concurrent.ThreadPoolExecutor.AbortPolicy>;
					public constructor();
					public rejectedExecution(param0: java.lang.Runnable, param1: java.util.concurrent.ThreadPoolExecutor): void;
				}
				export class CallerRunsPolicy extends java.lang.Object implements java.util.concurrent.RejectedExecutionHandler {
					public static class: java.lang.Class<java.util.concurrent.ThreadPoolExecutor.CallerRunsPolicy>;
					public constructor();
					public rejectedExecution(param0: java.lang.Runnable, param1: java.util.concurrent.ThreadPoolExecutor): void;
				}
				export class DiscardOldestPolicy extends java.lang.Object implements java.util.concurrent.RejectedExecutionHandler {
					public static class: java.lang.Class<java.util.concurrent.ThreadPoolExecutor.DiscardOldestPolicy>;
					public constructor();
					public rejectedExecution(param0: java.lang.Runnable, param1: java.util.concurrent.ThreadPoolExecutor): void;
				}
				export class DiscardPolicy extends java.lang.Object implements java.util.concurrent.RejectedExecutionHandler {
					public static class: java.lang.Class<java.util.concurrent.ThreadPoolExecutor.DiscardPolicy>;
					public constructor();
					public rejectedExecution(param0: java.lang.Runnable, param1: java.util.concurrent.ThreadPoolExecutor): void;
				}
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export class TimeUnit {
				public static class: java.lang.Class<java.util.concurrent.TimeUnit>;
				public static NANOSECONDS: java.util.concurrent.TimeUnit;
				public static MICROSECONDS: java.util.concurrent.TimeUnit;
				public static MILLISECONDS: java.util.concurrent.TimeUnit;
				public static SECONDS: java.util.concurrent.TimeUnit;
				public static MINUTES: java.util.concurrent.TimeUnit;
				public static HOURS: java.util.concurrent.TimeUnit;
				public static DAYS: java.util.concurrent.TimeUnit;
				public toSeconds(param0: number): number;
				public toMinutes(param0: number): number;
				public timedWait(param0: any, param1: number): void;
				public static values(): native.Array<java.util.concurrent.TimeUnit>;
				public toMicros(param0: number): number;
				public toNanos(param0: number): number;
				public toMillis(param0: number): number;
				public static valueOf(param0: string): java.util.concurrent.TimeUnit;
				public sleep(param0: number): void;
				public timedJoin(param0: java.lang.Thread, param1: number): void;
				public toDays(param0: number): number;
				public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
				public convert(param0: number, param1: java.util.concurrent.TimeUnit): number;
				public toHours(param0: number): number;
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export class TimeoutException extends java.lang.Exception {
				public static class: java.lang.Class<java.util.concurrent.TimeoutException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export class TransferQueue<E>  extends java.util.concurrent.BlockingQueue<any> {
				public static class: java.lang.Class<java.util.concurrent.TransferQueue<any>>;
				/**
				 * Constructs a new instance of the java.util.concurrent.TransferQueue<any> interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					tryTransfer(param0: any): boolean;
					transfer(param0: any): void;
					tryTransfer(param0: any, param1: number, param2: java.util.concurrent.TimeUnit): boolean;
					hasWaitingConsumer(): boolean;
					getWaitingConsumerCount(): number;
					add(param0: any): boolean;
					offer(param0: any): boolean;
					put(param0: any): void;
					offer(param0: any, param1: number, param2: java.util.concurrent.TimeUnit): boolean;
					take(): any;
					poll(param0: number, param1: java.util.concurrent.TimeUnit): any;
					remainingCapacity(): number;
					remove(param0: any): boolean;
					contains(param0: any): boolean;
					drainTo(param0: java.util.Collection<any>): number;
					drainTo(param0: java.util.Collection<any>, param1: number): number;
					add(param0: any): boolean;
					offer(param0: any): boolean;
					remove(): any;
					poll(): any;
					element(): any;
					peek(): any;
					size(): number;
					isEmpty(): boolean;
					contains(param0: any): boolean;
					iterator(): java.util.Iterator<any>;
					toArray(): native.Array<any>;
					toArray(param0: native.Array<any>): native.Array<any>;
					add(param0: any): boolean;
					remove(param0: any): boolean;
					containsAll(param0: java.util.Collection<any>): boolean;
					addAll(param0: java.util.Collection<any>): boolean;
					removeAll(param0: java.util.Collection<any>): boolean;
					removeIf(param0: any /* any*/): boolean;
					retainAll(param0: java.util.Collection<any>): boolean;
					clear(): void;
					equals(param0: any): boolean;
					hashCode(): number;
					spliterator(): java.util.Spliterator<any>;
					stream(): java.util.stream.Stream<any>;
					parallelStream(): java.util.stream.Stream<any>;
					iterator(): java.util.Iterator<any>;
					forEach(param0: any /* any*/): void;
					spliterator(): java.util.Spliterator<any>;
				});
				public constructor();
				public parallelStream(): java.util.stream.Stream<any>;
				public peek(): any;
				public addAll(param0: java.util.Collection<any>): boolean;
				public offer(param0: any, param1: number, param2: java.util.concurrent.TimeUnit): boolean;
				public hasWaitingConsumer(): boolean;
				public removeIf(param0: any /* any*/): boolean;
				public toArray(): native.Array<any>;
				public tryTransfer(param0: any): boolean;
				public containsAll(param0: java.util.Collection<any>): boolean;
				public take(): any;
				public add(param0: any): boolean;
				public hashCode(): number;
				public offer(param0: any): boolean;
				public clear(): void;
				public equals(param0: any): boolean;
				public isEmpty(): boolean;
				public remove(param0: any): boolean;
				public remove(): any;
				public element(): any;
				public spliterator(): java.util.Spliterator<any>;
				public contains(param0: any): boolean;
				public stream(): java.util.stream.Stream<any>;
				public toArray(param0: native.Array<any>): native.Array<any>;
				public tryTransfer(param0: any, param1: number, param2: java.util.concurrent.TimeUnit): boolean;
				public drainTo(param0: java.util.Collection<any>, param1: number): number;
				public iterator(): java.util.Iterator<any>;
				public transfer(param0: any): void;
				public retainAll(param0: java.util.Collection<any>): boolean;
				public poll(param0: number, param1: java.util.concurrent.TimeUnit): any;
				public drainTo(param0: java.util.Collection<any>): number;
				public poll(): any;
				public size(): number;
				public getWaitingConsumerCount(): number;
				public put(param0: any): void;
				public remainingCapacity(): number;
				public removeAll(param0: java.util.Collection<any>): boolean;
				public forEach(param0: any /* any*/): void;
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export module atomic {
				export class AtomicBoolean extends java.lang.Object implements java.io.Serializable {
					public static class: java.lang.Class<java.util.concurrent.atomic.AtomicBoolean>;
					public getAndSet(param0: boolean): boolean;
					public toString(): string;
					public constructor(param0: boolean);
					public set(param0: boolean): void;
					public constructor();
					public lazySet(param0: boolean): void;
					public get(): boolean;
					public compareAndSet(param0: boolean, param1: boolean): boolean;
					public weakCompareAndSet(param0: boolean, param1: boolean): boolean;
				}
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export module atomic {
				export class AtomicInteger extends java.lang.Number implements java.io.Serializable {
					public static class: java.lang.Class<java.util.concurrent.atomic.AtomicInteger>;
					public addAndGet(param0: number): number;
					public doubleValue(): number;
					public accumulateAndGet(param0: number, param1: any /* any*/): number;
					public floatValue(): number;
					public updateAndGet(param0: any /* any*/): number;
					public incrementAndGet(): number;
					public compareAndSet(param0: number, param1: number): boolean;
					public lazySet(param0: number): void;
					public intValue(): number;
					public getAndAdd(param0: number): number;
					public decrementAndGet(): number;
					public getAndUpdate(param0: any /* any*/): number;
					public toString(): string;
					public getAndIncrement(): number;
					public constructor();
					public set(param0: number): void;
					public get(): number;
					public weakCompareAndSet(param0: number, param1: number): boolean;
					public longValue(): number;
					public getAndSet(param0: number): number;
					public getAndAccumulate(param0: number, param1: any /* any*/): number;
					public constructor(param0: number);
					public getAndDecrement(): number;
				}
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export module atomic {
				export class AtomicIntegerArray extends java.lang.Object implements java.io.Serializable {
					public static class: java.lang.Class<java.util.concurrent.atomic.AtomicIntegerArray>;
					public incrementAndGet(param0: number): number;
					public addAndGet(param0: number, param1: number): number;
					public weakCompareAndSet(param0: number, param1: number, param2: number): boolean;
					public getAndUpdate(param0: number, param1: any /* any*/): number;
					public getAndSet(param0: number, param1: number): number;
					public accumulateAndGet(param0: number, param1: number, param2: any /* any*/): number;
					public getAndDecrement(param0: number): number;
					public length(): number;
					public compareAndSet(param0: number, param1: number, param2: number): boolean;
					public get(param0: number): number;
					public updateAndGet(param0: number, param1: any /* any*/): number;
					public getAndAccumulate(param0: number, param1: number, param2: any /* any*/): number;
					public toString(): string;
					public constructor(param0: native.Array<number>);
					public set(param0: number, param1: number): void;
					public getAndAdd(param0: number, param1: number): number;
					public lazySet(param0: number, param1: number): void;
					public decrementAndGet(param0: number): number;
					public getAndIncrement(param0: number): number;
					public constructor(param0: number);
				}
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export module atomic {
				export abstract class AtomicIntegerFieldUpdater<T>  extends java.lang.Object {
					public static class: java.lang.Class<java.util.concurrent.atomic.AtomicIntegerFieldUpdater<any>>;
					public getAndSet(param0: T, param1: number): number;
					public getAndAdd(param0: T, param1: number): number;
					public getAndIncrement(param0: T): number;
					public lazySet(param0: T, param1: number): void;
					public get(param0: T): number;
					public set(param0: T, param1: number): void;
					public getAndDecrement(param0: T): number;
					public getAndUpdate(param0: T, param1: any /* any*/): number;
					public getAndAccumulate(param0: T, param1: number, param2: any /* any*/): number;
					public decrementAndGet(param0: T): number;
					public weakCompareAndSet(param0: T, param1: number, param2: number): boolean;
					public addAndGet(param0: T, param1: number): number;
					public constructor();
					public incrementAndGet(param0: T): number;
					public static newUpdater(param0: java.lang.Class<any>, param1: string): java.util.concurrent.atomic.AtomicIntegerFieldUpdater<any>;
					public compareAndSet(param0: T, param1: number, param2: number): boolean;
					public updateAndGet(param0: T, param1: any /* any*/): number;
					public accumulateAndGet(param0: T, param1: number, param2: any /* any*/): number;
				}
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export module atomic {
				export class AtomicLong extends java.lang.Number implements java.io.Serializable {
					public static class: java.lang.Class<java.util.concurrent.atomic.AtomicLong>;
					public addAndGet(param0: number): number;
					public doubleValue(): number;
					public floatValue(): number;
					public accumulateAndGet(param0: number, param1: any /* any*/): number;
					public incrementAndGet(): number;
					public compareAndSet(param0: number, param1: number): boolean;
					public lazySet(param0: number): void;
					public intValue(): number;
					public getAndAdd(param0: number): number;
					public decrementAndGet(): number;
					public toString(): string;
					public getAndIncrement(): number;
					public updateAndGet(param0: any /* any*/): number;
					public constructor();
					public getAndUpdate(param0: any /* any*/): number;
					public getAndAccumulate(param0: number, param1: any /* any*/): number;
					public set(param0: number): void;
					public get(): number;
					public weakCompareAndSet(param0: number, param1: number): boolean;
					public longValue(): number;
					public getAndSet(param0: number): number;
					public constructor(param0: number);
					public getAndDecrement(): number;
				}
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export module atomic {
				export class AtomicLongArray extends java.lang.Object implements java.io.Serializable {
					public static class: java.lang.Class<java.util.concurrent.atomic.AtomicLongArray>;
					public incrementAndGet(param0: number): number;
					public addAndGet(param0: number, param1: number): number;
					public weakCompareAndSet(param0: number, param1: number, param2: number): boolean;
					public getAndUpdate(param0: number, param1: any /* any*/): number;
					public getAndSet(param0: number, param1: number): number;
					public updateAndGet(param0: number, param1: any /* any*/): number;
					public getAndDecrement(param0: number): number;
					public length(): number;
					public accumulateAndGet(param0: number, param1: number, param2: any /* any*/): number;
					public compareAndSet(param0: number, param1: number, param2: number): boolean;
					public get(param0: number): number;
					public toString(): string;
					public constructor(param0: native.Array<number>);
					public getAndAccumulate(param0: number, param1: number, param2: any /* any*/): number;
					public set(param0: number, param1: number): void;
					public getAndAdd(param0: number, param1: number): number;
					public lazySet(param0: number, param1: number): void;
					public decrementAndGet(param0: number): number;
					public getAndIncrement(param0: number): number;
					public constructor(param0: number);
				}
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export module atomic {
				export abstract class AtomicLongFieldUpdater<T>  extends java.lang.Object {
					public static class: java.lang.Class<java.util.concurrent.atomic.AtomicLongFieldUpdater<any>>;
					public getAndSet(param0: T, param1: number): number;
					public getAndAdd(param0: T, param1: number): number;
					public getAndIncrement(param0: T): number;
					public getAndUpdate(param0: T, param1: any /* any*/): number;
					public lazySet(param0: T, param1: number): void;
					public get(param0: T): number;
					public set(param0: T, param1: number): void;
					public getAndDecrement(param0: T): number;
					public static newUpdater(param0: java.lang.Class<any>, param1: string): java.util.concurrent.atomic.AtomicLongFieldUpdater<any>;
					public getAndAccumulate(param0: T, param1: number, param2: any /* any*/): number;
					public decrementAndGet(param0: T): number;
					public accumulateAndGet(param0: T, param1: number, param2: any /* any*/): number;
					public weakCompareAndSet(param0: T, param1: number, param2: number): boolean;
					public addAndGet(param0: T, param1: number): number;
					public constructor();
					public updateAndGet(param0: T, param1: any /* any*/): number;
					public incrementAndGet(param0: T): number;
					public compareAndSet(param0: T, param1: number, param2: number): boolean;
				}
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export module atomic {
				export class AtomicMarkableReference<V>  extends java.lang.Object {
					public static class: java.lang.Class<java.util.concurrent.atomic.AtomicMarkableReference<any>>;
					public compareAndSet(param0: V, param1: V, param2: boolean, param3: boolean): boolean;
					public getReference(): V;
					public set(param0: V, param1: boolean): void;
					public get(param0: native.Array<boolean>): V;
					public weakCompareAndSet(param0: V, param1: V, param2: boolean, param3: boolean): boolean;
					public constructor(param0: V, param1: boolean);
					public attemptMark(param0: V, param1: boolean): boolean;
					public isMarked(): boolean;
				}
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export module atomic {
				export class AtomicReference<V>  extends java.io.Serializable {
					public static class: java.lang.Class<java.util.concurrent.atomic.AtomicReference<any>>;
					public updateAndGet(param0: any /* any*/): any;
					public getAndUpdate(param0: any /* any*/): any;
					public weakCompareAndSet(param0: any, param1: any): boolean;
					public constructor(param0: any);
					public getAndSet(param0: any): any;
					public set(param0: any): void;
					public toString(): string;
					public get(): any;
					public lazySet(param0: any): void;
					public constructor();
					public compareAndSet(param0: any, param1: any): boolean;
					public getAndAccumulate(param0: any, param1: any /* any*/): any;
					public accumulateAndGet(param0: any, param1: any /* any*/): any;
				}
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export module atomic {
				export class AtomicReferenceArray<E>  extends java.io.Serializable {
					public static class: java.lang.Class<java.util.concurrent.atomic.AtomicReferenceArray<any>>;
					public getAndSet(param0: number, param1: any): any;
					public getAndUpdate(param0: number, param1: any /* any*/): any;
					public getAndAccumulate(param0: number, param1: any, param2: any /* any*/): any;
					public constructor(param0: native.Array<any>);
					public length(): number;
					public weakCompareAndSet(param0: number, param1: any, param2: any): boolean;
					public accumulateAndGet(param0: number, param1: any, param2: any /* any*/): any;
					public toString(): string;
					public updateAndGet(param0: number, param1: any /* any*/): any;
					public get(param0: number): any;
					public lazySet(param0: number, param1: any): void;
					public compareAndSet(param0: number, param1: any, param2: any): boolean;
					public set(param0: number, param1: any): void;
					public constructor(param0: number);
				}
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export module atomic {
				export abstract class AtomicReferenceFieldUpdater<T, V>  extends java.lang.Object {
					public static class: java.lang.Class<java.util.concurrent.atomic.AtomicReferenceFieldUpdater<any,any>>;
					public set(param0: T, param1: V): void;
					public getAndSet(param0: T, param1: V): V;
					public get(param0: T): V;
					public static newUpdater(param0: java.lang.Class<any>, param1: java.lang.Class<any>, param2: string): java.util.concurrent.atomic.AtomicReferenceFieldUpdater<any,any>;
					public accumulateAndGet(param0: T, param1: V, param2: any /* any*/): V;
					public constructor();
					public compareAndSet(param0: T, param1: V, param2: V): boolean;
					public lazySet(param0: T, param1: V): void;
					public getAndUpdate(param0: T, param1: any /* any*/): V;
					public getAndAccumulate(param0: T, param1: V, param2: any /* any*/): V;
					public weakCompareAndSet(param0: T, param1: V, param2: V): boolean;
					public updateAndGet(param0: T, param1: any /* any*/): V;
				}
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export module atomic {
				export class AtomicStampedReference<V>  extends java.lang.Object {
					public static class: java.lang.Class<java.util.concurrent.atomic.AtomicStampedReference<any>>;
					public constructor(param0: V, param1: number);
					public set(param0: V, param1: number): void;
					public getReference(): V;
					public attemptStamp(param0: V, param1: number): boolean;
					public getStamp(): number;
					public weakCompareAndSet(param0: V, param1: V, param2: number, param3: number): boolean;
					public get(param0: native.Array<number>): V;
					public compareAndSet(param0: V, param1: V, param2: number, param3: number): boolean;
				}
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export module atomic {
				export class DoubleAccumulator extends java.lang.Number implements java.io.Serializable {
					public static class: java.lang.Class<java.util.concurrent.atomic.DoubleAccumulator>;
					public constructor(param0: any /* any*/, param1: number);
					public intValue(): number;
					public reset(): void;
					public toString(): string;
					public getThenReset(): number;
					public constructor();
					public doubleValue(): number;
					public accumulate(param0: number): void;
					public get(): number;
					public floatValue(): number;
					public longValue(): number;
				}
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export module atomic {
				export class DoubleAdder extends java.lang.Number implements java.io.Serializable {
					public static class: java.lang.Class<java.util.concurrent.atomic.DoubleAdder>;
					public sum(): number;
					public intValue(): number;
					public reset(): void;
					public toString(): string;
					public sumThenReset(): number;
					public constructor();
					public doubleValue(): number;
					public add(param0: number): void;
					public floatValue(): number;
					public longValue(): number;
				}
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export module atomic {
				export class LongAccumulator extends java.lang.Number implements java.io.Serializable {
					public static class: java.lang.Class<java.util.concurrent.atomic.LongAccumulator>;
					public intValue(): number;
					public reset(): void;
					public toString(): string;
					public getThenReset(): number;
					public constructor();
					public doubleValue(): number;
					public accumulate(param0: number): void;
					public get(): number;
					public constructor(param0: any /* any*/, param1: number);
					public floatValue(): number;
					public longValue(): number;
				}
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export module atomic {
				export class LongAdder extends java.lang.Number implements java.io.Serializable {
					public static class: java.lang.Class<java.util.concurrent.atomic.LongAdder>;
					public decrement(): void;
					public sum(): number;
					public intValue(): number;
					public reset(): void;
					public toString(): string;
					public increment(): void;
					public sumThenReset(): number;
					public constructor();
					public doubleValue(): number;
					public add(param0: number): void;
					public floatValue(): number;
					public longValue(): number;
				}
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export module locks {
				export abstract class AbstractOwnableSynchronizer extends java.lang.Object implements java.io.Serializable {
					public static class: java.lang.Class<java.util.concurrent.locks.AbstractOwnableSynchronizer>;
					public constructor();
					public getExclusiveOwnerThread(): java.lang.Thread;
					public setExclusiveOwnerThread(param0: java.lang.Thread): void;
				}
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export module locks {
				export abstract class AbstractQueuedLongSynchronizer extends java.util.concurrent.locks.AbstractOwnableSynchronizer implements java.io.Serializable {
					public static class: java.lang.Class<java.util.concurrent.locks.AbstractQueuedLongSynchronizer>;
					public release(param0: number): boolean;
					public tryReleaseShared(param0: number): boolean;
					public acquireShared(param0: number): void;
					public getExclusiveQueuedThreads(): java.util.Collection<java.lang.Thread>;
					public owns(param0: java.util.concurrent.locks.AbstractQueuedLongSynchronizer.ConditionObject): boolean;
					public acquire(param0: number): void;
					public getQueuedThreads(): java.util.Collection<java.lang.Thread>;
					public compareAndSetState(param0: number, param1: number): boolean;
					public toString(): string;
					public getSharedQueuedThreads(): java.util.Collection<java.lang.Thread>;
					public tryAcquire(param0: number): boolean;
					public getWaitingThreads(param0: java.util.concurrent.locks.AbstractQueuedLongSynchronizer.ConditionObject): java.util.Collection<java.lang.Thread>;
					public constructor();
					public getFirstQueuedThread(): java.lang.Thread;
					public tryAcquireSharedNanos(param0: number, param1: number): boolean;
					public setState(param0: number): void;
					public releaseShared(param0: number): boolean;
					public tryAcquireNanos(param0: number, param1: number): boolean;
					public acquireSharedInterruptibly(param0: number): void;
					public getQueueLength(): number;
					public hasQueuedPredecessors(): boolean;
					public hasQueuedThreads(): boolean;
					public hasContended(): boolean;
					public hasWaiters(param0: java.util.concurrent.locks.AbstractQueuedLongSynchronizer.ConditionObject): boolean;
					public tryAcquireShared(param0: number): number;
					public isQueued(param0: java.lang.Thread): boolean;
					public acquireInterruptibly(param0: number): void;
					public tryRelease(param0: number): boolean;
					public getWaitQueueLength(param0: java.util.concurrent.locks.AbstractQueuedLongSynchronizer.ConditionObject): number;
					public isHeldExclusively(): boolean;
					public getState(): number;
				}
				export module AbstractQueuedLongSynchronizer {
					export class ConditionObject extends java.lang.Object implements java.util.concurrent.locks.Condition, java.io.Serializable {
						public static class: java.lang.Class<java.util.concurrent.locks.AbstractQueuedLongSynchronizer.ConditionObject>;
						public await(param0: number, param1: java.util.concurrent.TimeUnit): boolean;
						public constructor(param0: java.util.concurrent.locks.AbstractQueuedLongSynchronizer);
						public awaitUninterruptibly(): void;
						public signalAll(): void;
						public awaitNanos(param0: number): number;
						public hasWaiters(): boolean;
						public getWaitQueueLength(): number;
						public signal(): void;
						public await(): void;
						public awaitUntil(param0: java.util.Date): boolean;
						public getWaitingThreads(): java.util.Collection<java.lang.Thread>;
					}
				}
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export module locks {
				export abstract class AbstractQueuedSynchronizer extends java.util.concurrent.locks.AbstractOwnableSynchronizer implements java.io.Serializable {
					public static class: java.lang.Class<java.util.concurrent.locks.AbstractQueuedSynchronizer>;
					public release(param0: number): boolean;
					public tryReleaseShared(param0: number): boolean;
					public acquireShared(param0: number): void;
					public getExclusiveQueuedThreads(): java.util.Collection<java.lang.Thread>;
					public acquire(param0: number): void;
					public getQueuedThreads(): java.util.Collection<java.lang.Thread>;
					public getWaitingThreads(param0: java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject): java.util.Collection<java.lang.Thread>;
					public compareAndSetState(param0: number, param1: number): boolean;
					public toString(): string;
					public getSharedQueuedThreads(): java.util.Collection<java.lang.Thread>;
					public tryAcquire(param0: number): boolean;
					public constructor();
					public getFirstQueuedThread(): java.lang.Thread;
					public tryAcquireSharedNanos(param0: number, param1: number): boolean;
					public setState(param0: number): void;
					public releaseShared(param0: number): boolean;
					public tryAcquireNanos(param0: number, param1: number): boolean;
					public hasWaiters(param0: java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject): boolean;
					public acquireSharedInterruptibly(param0: number): void;
					public getQueueLength(): number;
					public hasQueuedPredecessors(): boolean;
					public hasQueuedThreads(): boolean;
					public hasContended(): boolean;
					public tryAcquireShared(param0: number): number;
					public isQueued(param0: java.lang.Thread): boolean;
					public owns(param0: java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject): boolean;
					public acquireInterruptibly(param0: number): void;
					public tryRelease(param0: number): boolean;
					public getWaitQueueLength(param0: java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject): number;
					public isHeldExclusively(): boolean;
					public getState(): number;
				}
				export module AbstractQueuedSynchronizer {
					export class ConditionObject extends java.lang.Object implements java.util.concurrent.locks.Condition, java.io.Serializable {
						public static class: java.lang.Class<java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject>;
						public await(param0: number, param1: java.util.concurrent.TimeUnit): boolean;
						public awaitUninterruptibly(): void;
						public signalAll(): void;
						public awaitNanos(param0: number): number;
						public hasWaiters(): boolean;
						public getWaitQueueLength(): number;
						public signal(): void;
						public await(): void;
						public awaitUntil(param0: java.util.Date): boolean;
						public constructor(param0: java.util.concurrent.locks.AbstractQueuedSynchronizer);
						public getWaitingThreads(): java.util.Collection<java.lang.Thread>;
					}
				}
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export module locks {
				export class Condition extends java.lang.Object {
					public static class: java.lang.Class<java.util.concurrent.locks.Condition>;
					/**
					 * Constructs a new instance of the java.util.concurrent.locks.Condition interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						await(): void;
						awaitUninterruptibly(): void;
						awaitNanos(param0: number): number;
						await(param0: number, param1: java.util.concurrent.TimeUnit): boolean;
						awaitUntil(param0: java.util.Date): boolean;
						signal(): void;
						signalAll(): void;
					});
					public constructor();
					public await(param0: number, param1: java.util.concurrent.TimeUnit): boolean;
					public signal(): void;
					public await(): void;
					public awaitUninterruptibly(): void;
					public signalAll(): void;
					public awaitNanos(param0: number): number;
					public awaitUntil(param0: java.util.Date): boolean;
				}
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export module locks {
				export class Lock extends java.lang.Object {
					public static class: java.lang.Class<java.util.concurrent.locks.Lock>;
					/**
					 * Constructs a new instance of the java.util.concurrent.locks.Lock interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						lock(): void;
						lockInterruptibly(): void;
						tryLock(): boolean;
						tryLock(param0: number, param1: java.util.concurrent.TimeUnit): boolean;
						unlock(): void;
						newCondition(): java.util.concurrent.locks.Condition;
					});
					public constructor();
					public lockInterruptibly(): void;
					public unlock(): void;
					public newCondition(): java.util.concurrent.locks.Condition;
					public lock(): void;
					public tryLock(param0: number, param1: java.util.concurrent.TimeUnit): boolean;
					public tryLock(): boolean;
				}
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export module locks {
				export class LockSupport extends java.lang.Object {
					public static class: java.lang.Class<java.util.concurrent.locks.LockSupport>;
					public static getBlocker(param0: java.lang.Thread): any;
					public static parkNanos(param0: any, param1: number): void;
					public static park(param0: any): void;
					public static parkUntil(param0: any, param1: number): void;
					public static parkNanos(param0: number): void;
					public static parkUntil(param0: number): void;
					public static park(): void;
					public static unpark(param0: java.lang.Thread): void;
				}
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export module locks {
				export class ReadWriteLock extends java.lang.Object {
					public static class: java.lang.Class<java.util.concurrent.locks.ReadWriteLock>;
					/**
					 * Constructs a new instance of the java.util.concurrent.locks.ReadWriteLock interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						readLock(): java.util.concurrent.locks.Lock;
						writeLock(): java.util.concurrent.locks.Lock;
					});
					public constructor();
					public readLock(): java.util.concurrent.locks.Lock;
					public writeLock(): java.util.concurrent.locks.Lock;
				}
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export module locks {
				export class ReentrantLock extends java.lang.Object implements java.util.concurrent.locks.Lock, java.io.Serializable {
					public static class: java.lang.Class<java.util.concurrent.locks.ReentrantLock>;
					public lockInterruptibly(): void;
					public isHeldByCurrentThread(): boolean;
					public isFair(): boolean;
					public getQueueLength(): number;
					public tryLock(param0: number, param1: java.util.concurrent.TimeUnit): boolean;
					public getWaitQueueLength(param0: java.util.concurrent.locks.Condition): number;
					public getHoldCount(): number;
					public tryLock(): boolean;
					public hasQueuedThreads(): boolean;
					public isLocked(): boolean;
					public getQueuedThreads(): java.util.Collection<java.lang.Thread>;
					public unlock(): void;
					public toString(): string;
					public constructor(param0: boolean);
					public newCondition(): java.util.concurrent.locks.Condition;
					public lock(): void;
					public constructor();
					public hasWaiters(param0: java.util.concurrent.locks.Condition): boolean;
					public getWaitingThreads(param0: java.util.concurrent.locks.Condition): java.util.Collection<java.lang.Thread>;
					public getOwner(): java.lang.Thread;
					public hasQueuedThread(param0: java.lang.Thread): boolean;
				}
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export module locks {
				export class ReentrantReadWriteLock extends java.lang.Object implements java.util.concurrent.locks.ReadWriteLock, java.io.Serializable {
					public static class: java.lang.Class<java.util.concurrent.locks.ReentrantReadWriteLock>;
					public getReadLockCount(): number;
					public isFair(): boolean;
					public getReadHoldCount(): number;
					public readLock(): java.util.concurrent.locks.Lock;
					public getQueuedReaderThreads(): java.util.Collection<java.lang.Thread>;
					public getQueuedWriterThreads(): java.util.Collection<java.lang.Thread>;
					public getQueueLength(): number;
					public getWaitQueueLength(param0: java.util.concurrent.locks.Condition): number;
					public hasQueuedThreads(): boolean;
					public getQueuedThreads(): java.util.Collection<java.lang.Thread>;
					public readLock(): java.util.concurrent.locks.ReentrantReadWriteLock.ReadLock;
					public toString(): string;
					public constructor(param0: boolean);
					public constructor();
					public isWriteLocked(): boolean;
					public getWriteHoldCount(): number;
					public writeLock(): java.util.concurrent.locks.ReentrantReadWriteLock.WriteLock;
					public hasWaiters(param0: java.util.concurrent.locks.Condition): boolean;
					public getWaitingThreads(param0: java.util.concurrent.locks.Condition): java.util.Collection<java.lang.Thread>;
					public getOwner(): java.lang.Thread;
					public isWriteLockedByCurrentThread(): boolean;
					public writeLock(): java.util.concurrent.locks.Lock;
					public hasQueuedThread(param0: java.lang.Thread): boolean;
				}
				export module ReentrantReadWriteLock {
					export class ReadLock extends java.lang.Object implements java.util.concurrent.locks.Lock, java.io.Serializable {
						public static class: java.lang.Class<java.util.concurrent.locks.ReentrantReadWriteLock.ReadLock>;
						public tryLock(param0: number, param1: java.util.concurrent.TimeUnit): boolean;
						public unlock(): void;
						public lockInterruptibly(): void;
						public lock(): void;
						public tryLock(): boolean;
						public constructor(param0: java.util.concurrent.locks.ReentrantReadWriteLock);
						public newCondition(): java.util.concurrent.locks.Condition;
						public toString(): string;
					}
					export class WriteLock extends java.lang.Object implements java.util.concurrent.locks.Lock, java.io.Serializable {
						public static class: java.lang.Class<java.util.concurrent.locks.ReentrantReadWriteLock.WriteLock>;
						public tryLock(param0: number, param1: java.util.concurrent.TimeUnit): boolean;
						public unlock(): void;
						public getHoldCount(): number;
						public lockInterruptibly(): void;
						public lock(): void;
						public tryLock(): boolean;
						public constructor(param0: java.util.concurrent.locks.ReentrantReadWriteLock);
						public isHeldByCurrentThread(): boolean;
						public newCondition(): java.util.concurrent.locks.Condition;
						public toString(): string;
					}
				}
			}
		}
	}
}

declare module java {
	export module util {
		export module concurrent {
			export module locks {
				export class StampedLock extends java.lang.Object implements java.io.Serializable {
					public static class: java.lang.Class<java.util.concurrent.locks.StampedLock>;
					public getReadLockCount(): number;
					public tryWriteLock(param0: number, param1: java.util.concurrent.TimeUnit): number;
					public tryUnlockWrite(): boolean;
					public asReadLock(): java.util.concurrent.locks.Lock;
					public readLock(): number;
					public isReadLocked(): boolean;
					public unlockWrite(param0: number): void;
					public toString(): string;
					public readLockInterruptibly(): number;
					public constructor();
					public isWriteLocked(): boolean;
					public tryConvertToWriteLock(param0: number): number;
					public writeLock(): number;
					public tryReadLock(param0: number, param1: java.util.concurrent.TimeUnit): number;
					public tryConvertToOptimisticRead(param0: number): number;
					public tryWriteLock(): number;
					public writeLockInterruptibly(): number;
					public unlockRead(param0: number): void;
					public unlock(param0: number): void;
					public asReadWriteLock(): java.util.concurrent.locks.ReadWriteLock;
					public tryOptimisticRead(): number;
					public asWriteLock(): java.util.concurrent.locks.Lock;
					public tryConvertToReadLock(param0: number): number;
					public tryReadLock(): number;
					public validate(param0: number): boolean;
					public tryUnlockRead(): boolean;
				}
			}
		}
	}
}












































declare module java {
	export module util {
		export module jar {
			export class Attributes extends java.lang.Object {
				public static class: java.lang.Class<java.util.jar.Attributes>;
				public map: java.util.Map<any,any>;
				public get(param0: any): any;
				public getValue(param0: java.util.jar.Attributes.Name): string;
				public putAll(param0: java.util.Map<any,any>): void;
				public merge(param0: any, param1: any, param2: any /* any<any,any,any>*/): any;
				public computeIfAbsent(param0: any, param1: any /* any<any,any>*/): any;
				public constructor(param0: java.util.jar.Attributes);
				public getOrDefault(param0: any, param1: any): any;
				public containsKey(param0: any): boolean;
				public replaceAll(param0: any /* any<any,any,any>*/): void;
				public constructor();
				public remove(param0: any, param1: any): boolean;
				public putIfAbsent(param0: any, param1: any): any;
				public remove(param0: any): any;
				public hashCode(): number;
				public compute(param0: any, param1: any /* any<any,any,any>*/): any;
				public clear(): void;
				public equals(param0: any): boolean;
				public clone(): any;
				public isEmpty(): boolean;
				public computeIfPresent(param0: any, param1: any /* any<any,any,any>*/): any;
				public containsValue(param0: any): boolean;
				public replace(param0: any, param1: any, param2: any): boolean;
				public values(): java.util.Collection<any>;
				public replace(param0: any, param1: any): any;
				public entrySet(): java.util.Set<java.util.Map.Entry<any,any>>;
				public getValue(param0: string): string;
				public keySet(): java.util.Set<any>;
				public size(): number;
				public putValue(param0: string, param1: string): string;
				public put(param0: any, param1: any): any;
				public constructor(param0: number);
				public forEach(param0: any /* any<any,any>*/): void;
			}
			export module Attributes {
				export class Name extends java.lang.Object {
					public static class: java.lang.Class<java.util.jar.Attributes.Name>;
					public static CLASS_PATH: java.util.jar.Attributes.Name;
					public static CONTENT_TYPE: java.util.jar.Attributes.Name;
					public static EXTENSION_INSTALLATION: java.util.jar.Attributes.Name;
					public static EXTENSION_LIST: java.util.jar.Attributes.Name;
					public static EXTENSION_NAME: java.util.jar.Attributes.Name;
					public static IMPLEMENTATION_TITLE: java.util.jar.Attributes.Name;
					public static IMPLEMENTATION_URL: java.util.jar.Attributes.Name;
					public static IMPLEMENTATION_VENDOR: java.util.jar.Attributes.Name;
					public static IMPLEMENTATION_VENDOR_ID: java.util.jar.Attributes.Name;
					public static IMPLEMENTATION_VERSION: java.util.jar.Attributes.Name;
					public static MAIN_CLASS: java.util.jar.Attributes.Name;
					public static MANIFEST_VERSION: java.util.jar.Attributes.Name;
					public static SEALED: java.util.jar.Attributes.Name;
					public static SIGNATURE_VERSION: java.util.jar.Attributes.Name;
					public static SPECIFICATION_TITLE: java.util.jar.Attributes.Name;
					public static SPECIFICATION_VENDOR: java.util.jar.Attributes.Name;
					public static SPECIFICATION_VERSION: java.util.jar.Attributes.Name;
					public equals(param0: any): boolean;
					public toString(): string;
					public constructor(param0: string);
					public hashCode(): number;
				}
			}
		}
	}
}

declare module java {
	export module util {
		export module jar {
			export class JarEntry extends java.util.zip.ZipEntry {
				public static class: java.lang.Class<java.util.jar.JarEntry>;
				public static CENATT: number;
				public static CENATX: number;
				public static CENCOM: number;
				public static CENCRC: number;
				public static CENDSK: number;
				public static CENEXT: number;
				public static CENFLG: number;
				public static CENHDR: number;
				public static CENHOW: number;
				public static CENLEN: number;
				public static CENNAM: number;
				public static CENOFF: number;
				public static CENSIG: number;
				public static CENSIZ: number;
				public static CENTIM: number;
				public static CENVEM: number;
				public static CENVER: number;
				public static ENDCOM: number;
				public static ENDHDR: number;
				public static ENDOFF: number;
				public static ENDSIG: number;
				public static ENDSIZ: number;
				public static ENDSUB: number;
				public static ENDTOT: number;
				public static EXTCRC: number;
				public static EXTHDR: number;
				public static EXTLEN: number;
				public static EXTSIG: number;
				public static EXTSIZ: number;
				public static LOCCRC: number;
				public static LOCEXT: number;
				public static LOCFLG: number;
				public static LOCHDR: number;
				public static LOCHOW: number;
				public static LOCLEN: number;
				public static LOCNAM: number;
				public static LOCSIG: number;
				public static LOCSIZ: number;
				public static LOCTIM: number;
				public static LOCVER: number;
				public constructor(param0: java.util.jar.JarEntry);
				public getAttributes(): java.util.jar.Attributes;
				public constructor(param0: java.util.zip.ZipEntry);
				public getCertificates(): native.Array<java.security.cert.Certificate>;
				public getCodeSigners(): native.Array<java.security.CodeSigner>;
				public constructor(param0: string);
			}
		}
	}
}

declare module java {
	export module util {
		export module jar {
			export class JarException extends java.util.zip.ZipException {
				public static class: java.lang.Class<java.util.jar.JarException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module util {
		export module jar {
			export class JarFile extends java.util.zip.ZipFile {
				public static class: java.lang.Class<java.util.jar.JarFile>;
				public static CENATT: number;
				public static CENATX: number;
				public static CENCOM: number;
				public static CENCRC: number;
				public static CENDSK: number;
				public static CENEXT: number;
				public static CENFLG: number;
				public static CENHDR: number;
				public static CENHOW: number;
				public static CENLEN: number;
				public static CENNAM: number;
				public static CENOFF: number;
				public static CENSIG: number;
				public static CENSIZ: number;
				public static CENTIM: number;
				public static CENVEM: number;
				public static CENVER: number;
				public static ENDCOM: number;
				public static ENDHDR: number;
				public static ENDOFF: number;
				public static ENDSIG: number;
				public static ENDSIZ: number;
				public static ENDSUB: number;
				public static ENDTOT: number;
				public static EXTCRC: number;
				public static EXTHDR: number;
				public static EXTLEN: number;
				public static EXTSIG: number;
				public static EXTSIZ: number;
				public static LOCCRC: number;
				public static LOCEXT: number;
				public static LOCFLG: number;
				public static LOCHDR: number;
				public static LOCHOW: number;
				public static LOCLEN: number;
				public static LOCNAM: number;
				public static LOCSIG: number;
				public static LOCSIZ: number;
				public static LOCTIM: number;
				public static LOCVER: number;
				public static MANIFEST_NAME: string;
				public constructor(param0: java.io.File, param1: boolean, param2: number);
				public close(): void;
				public constructor(param0: java.io.File);
				public getEntry(param0: string): java.util.zip.ZipEntry;
				public stream(): java.util.stream.Stream<any>;
				public stream(): java.util.stream.Stream<java.util.jar.JarEntry>;
				public entries(): java.util.Enumeration<any>;
				public constructor(param0: string);
				public constructor(param0: string, param1: java.nio.charset.Charset);
				public getManifest(): java.util.jar.Manifest;
				public getJarEntry(param0: string): java.util.jar.JarEntry;
				public constructor(param0: java.io.File, param1: boolean);
				public getInputStream(param0: java.util.zip.ZipEntry): java.io.InputStream;
				public constructor(param0: string, param1: boolean);
				public entries(): java.util.Enumeration<java.util.jar.JarEntry>;
				public constructor(param0: java.io.File, param1: java.nio.charset.Charset);
				public constructor(param0: java.io.File, param1: number);
				public constructor(param0: java.io.File, param1: number, param2: java.nio.charset.Charset);
			}
		}
	}
}

declare module java {
	export module util {
		export module jar {
			export class JarInputStream extends java.util.zip.ZipInputStream {
				public static class: java.lang.Class<java.util.jar.JarInputStream>;
				public static CENATT: number;
				public static CENATX: number;
				public static CENCOM: number;
				public static CENCRC: number;
				public static CENDSK: number;
				public static CENEXT: number;
				public static CENFLG: number;
				public static CENHDR: number;
				public static CENHOW: number;
				public static CENLEN: number;
				public static CENNAM: number;
				public static CENOFF: number;
				public static CENSIG: number;
				public static CENSIZ: number;
				public static CENTIM: number;
				public static CENVEM: number;
				public static CENVER: number;
				public static ENDCOM: number;
				public static ENDHDR: number;
				public static ENDOFF: number;
				public static ENDSIG: number;
				public static ENDSIZ: number;
				public static ENDSUB: number;
				public static ENDTOT: number;
				public static EXTCRC: number;
				public static EXTHDR: number;
				public static EXTLEN: number;
				public static EXTSIG: number;
				public static EXTSIZ: number;
				public static LOCCRC: number;
				public static LOCEXT: number;
				public static LOCFLG: number;
				public static LOCHDR: number;
				public static LOCHOW: number;
				public static LOCLEN: number;
				public static LOCNAM: number;
				public static LOCSIG: number;
				public static LOCSIZ: number;
				public static LOCTIM: number;
				public static LOCVER: number;
				public constructor(param0: java.io.InputStream, param1: java.util.zip.Inflater, param2: number);
				public close(): void;
				public read(param0: native.Array<number>, param1: number, param2: number): number;
				public createZipEntry(param0: string): java.util.zip.ZipEntry;
				public constructor(param0: java.io.InputStream);
				public constructor(param0: java.io.InputStream, param1: java.util.zip.Inflater);
				public constructor();
				public getNextJarEntry(): java.util.jar.JarEntry;
				public getManifest(): java.util.jar.Manifest;
				public read(): number;
				public read(param0: native.Array<number>): number;
				public getNextEntry(): java.util.zip.ZipEntry;
				public constructor(param0: java.io.InputStream, param1: java.nio.charset.Charset);
				public constructor(param0: java.io.InputStream, param1: boolean);
			}
		}
	}
}

declare module java {
	export module util {
		export module jar {
			export class JarOutputStream extends java.util.zip.ZipOutputStream {
				public static class: java.lang.Class<java.util.jar.JarOutputStream>;
				public static CENATT: number;
				public static CENATX: number;
				public static CENCOM: number;
				public static CENCRC: number;
				public static CENDSK: number;
				public static CENEXT: number;
				public static CENFLG: number;
				public static CENHDR: number;
				public static CENHOW: number;
				public static CENLEN: number;
				public static CENNAM: number;
				public static CENOFF: number;
				public static CENSIG: number;
				public static CENSIZ: number;
				public static CENTIM: number;
				public static CENVEM: number;
				public static CENVER: number;
				public static ENDCOM: number;
				public static ENDHDR: number;
				public static ENDOFF: number;
				public static ENDSIG: number;
				public static ENDSIZ: number;
				public static ENDSUB: number;
				public static ENDTOT: number;
				public static EXTCRC: number;
				public static EXTHDR: number;
				public static EXTLEN: number;
				public static EXTSIG: number;
				public static EXTSIZ: number;
				public static LOCCRC: number;
				public static LOCEXT: number;
				public static LOCFLG: number;
				public static LOCHDR: number;
				public static LOCHOW: number;
				public static LOCLEN: number;
				public static LOCNAM: number;
				public static LOCSIG: number;
				public static LOCSIZ: number;
				public static LOCTIM: number;
				public static LOCVER: number;
				public constructor(param0: java.io.OutputStream, param1: java.util.zip.Deflater, param2: boolean);
				public constructor(param0: java.io.OutputStream, param1: java.util.zip.Deflater, param2: number, param3: boolean);
				public close(): void;
				public constructor(param0: java.io.OutputStream);
				public constructor(param0: java.io.OutputStream, param1: java.nio.charset.Charset);
				public constructor(param0: java.io.OutputStream, param1: java.util.zip.Deflater, param2: number);
				public constructor(param0: java.io.OutputStream, param1: java.util.jar.Manifest);
				public constructor(param0: java.io.OutputStream, param1: boolean);
				public constructor(param0: java.io.OutputStream, param1: java.util.zip.Deflater);
				public constructor();
				public putNextEntry(param0: java.util.zip.ZipEntry): void;
				public flush(): void;
			}
		}
	}
}

declare module java {
	export module util {
		export module jar {
			export class Manifest extends java.lang.Object implements java.lang.Cloneable {
				public static class: java.lang.Class<java.util.jar.Manifest>;
				public getMainAttributes(): java.util.jar.Attributes;
				public getAttributes(param0: string): java.util.jar.Attributes;
				public write(param0: java.io.OutputStream): void;
				public hashCode(): number;
				public read(param0: java.io.InputStream): void;
				public getEntries(): java.util.Map<string,java.util.jar.Attributes>;
				public clear(): void;
				public equals(param0: any): boolean;
				public clone(): any;
				public constructor(param0: java.io.InputStream);
				public constructor(param0: java.util.jar.Manifest);
				public constructor();
			}
		}
	}
}

declare module java {
	export module util {
		export module jar {
			export abstract class Pack200 extends java.lang.Object {
				public static class: java.lang.Class<java.util.jar.Pack200>;
				public static newUnpacker(): java.util.jar.Pack200.Unpacker;
				public static newPacker(): java.util.jar.Pack200.Packer;
			}
			export module Pack200 {
				export class Packer extends java.lang.Object {
					public static class: java.lang.Class<java.util.jar.Pack200.Packer>;
					/**
					 * Constructs a new instance of the java.util.jar.Pack200$Packer interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						properties(): java.util.SortedMap<string,string>;
						pack(param0: java.util.jar.JarFile, param1: java.io.OutputStream): void;
						pack(param0: java.util.jar.JarInputStream, param1: java.io.OutputStream): void;
						addPropertyChangeListener(param0: java.beans.PropertyChangeListener): void;
						removePropertyChangeListener(param0: java.beans.PropertyChangeListener): void;
					});
					public constructor();
					public static CODE_ATTRIBUTE_PFX: string;
					public static EFFORT: string;
					public static FIELD_ATTRIBUTE_PFX: string;
					public static PASS: string;
					public static DEFLATE_HINT: string;
					public static PROGRESS: string;
					public static UNKNOWN_ATTRIBUTE: string;
					public static KEEP_FILE_ORDER: string;
					public static ERROR: string;
					public static FALSE: string;
					public static STRIP: string;
					public static MODIFICATION_TIME: string;
					public static PASS_FILE_PFX: string;
					public static SEGMENT_LIMIT: string;
					public static KEEP: string;
					public static TRUE: string;
					public static METHOD_ATTRIBUTE_PFX: string;
					public static LATEST: string;
					public static CLASS_ATTRIBUTE_PFX: string;
					/** @deprecated */
					public removePropertyChangeListener(param0: java.beans.PropertyChangeListener): void;
					/** @deprecated */
					public addPropertyChangeListener(param0: java.beans.PropertyChangeListener): void;
					public pack(param0: java.util.jar.JarInputStream, param1: java.io.OutputStream): void;
					public properties(): java.util.SortedMap<string,string>;
					public pack(param0: java.util.jar.JarFile, param1: java.io.OutputStream): void;
				}
				export class Unpacker extends java.lang.Object {
					public static class: java.lang.Class<java.util.jar.Pack200.Unpacker>;
					/**
					 * Constructs a new instance of the java.util.jar.Pack200$Unpacker interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						properties(): java.util.SortedMap<string,string>;
						unpack(param0: java.io.InputStream, param1: java.util.jar.JarOutputStream): void;
						unpack(param0: java.io.File, param1: java.util.jar.JarOutputStream): void;
						addPropertyChangeListener(param0: java.beans.PropertyChangeListener): void;
						removePropertyChangeListener(param0: java.beans.PropertyChangeListener): void;
					});
					public constructor();
					public static DEFLATE_HINT: string;
					public static PROGRESS: string;
					public static KEEP: string;
					public static TRUE: string;
					public static FALSE: string;
					public unpack(param0: java.io.File, param1: java.util.jar.JarOutputStream): void;
					public unpack(param0: java.io.InputStream, param1: java.util.jar.JarOutputStream): void;
					/** @deprecated */
					public removePropertyChangeListener(param0: java.beans.PropertyChangeListener): void;
					/** @deprecated */
					public addPropertyChangeListener(param0: java.beans.PropertyChangeListener): void;
					public properties(): java.util.SortedMap<string,string>;
				}
			}
		}
	}
}

declare module java {
	export module util {
		export module logging {
			export class ConsoleHandler extends java.util.logging.StreamHandler {
				public static class: java.lang.Class<java.util.logging.ConsoleHandler>;
				public close(): void;
				public publish(param0: java.util.logging.LogRecord): void;
				public constructor(param0: java.io.OutputStream, param1: java.util.logging.Formatter);
				public constructor();
			}
		}
	}
}

declare module java {
	export module util {
		export module logging {
			export class ErrorManager extends java.lang.Object {
				public static class: java.lang.Class<java.util.logging.ErrorManager>;
				public static CLOSE_FAILURE: number;
				public static FLUSH_FAILURE: number;
				public static FORMAT_FAILURE: number;
				public static GENERIC_FAILURE: number;
				public static OPEN_FAILURE: number;
				public static WRITE_FAILURE: number;
				public error(param0: string, param1: java.lang.Exception, param2: number): void;
				public constructor();
			}
		}
	}
}

declare module java {
	export module util {
		export module logging {
			export class FileHandler extends java.util.logging.StreamHandler {
				public static class: java.lang.Class<java.util.logging.FileHandler>;
				public close(): void;
				public constructor(param0: string, param1: boolean);
				public constructor(param0: string, param1: number, param2: number);
				public constructor(param0: string, param1: number, param2: number, param3: boolean);
				public publish(param0: java.util.logging.LogRecord): void;
				public constructor(param0: java.io.OutputStream, param1: java.util.logging.Formatter);
				public constructor(param0: string);
				public constructor();
			}
		}
	}
}

declare module java {
	export module util {
		export module logging {
			export class Filter extends java.lang.Object {
				public static class: java.lang.Class<java.util.logging.Filter>;
				/**
				 * Constructs a new instance of the java.util.logging.Filter interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					isLoggable(param0: java.util.logging.LogRecord): boolean;
				});
				public constructor();
				public isLoggable(param0: java.util.logging.LogRecord): boolean;
			}
		}
	}
}

declare module java {
	export module util {
		export module logging {
			export abstract class Formatter extends java.lang.Object {
				public static class: java.lang.Class<java.util.logging.Formatter>;
				public formatMessage(param0: java.util.logging.LogRecord): string;
				public format(param0: java.util.logging.LogRecord): string;
				public getHead(param0: java.util.logging.Handler): string;
				public getTail(param0: java.util.logging.Handler): string;
				public constructor();
			}
		}
	}
}

declare module java {
	export module util {
		export module logging {
			export abstract class Handler extends java.lang.Object {
				public static class: java.lang.Class<java.util.logging.Handler>;
				public getEncoding(): string;
				public close(): void;
				public setFilter(param0: java.util.logging.Filter): void;
				public getErrorManager(): java.util.logging.ErrorManager;
				public publish(param0: java.util.logging.LogRecord): void;
				public getFormatter(): java.util.logging.Formatter;
				public setLevel(param0: java.util.logging.Level): void;
				public constructor();
				public flush(): void;
				public getLevel(): java.util.logging.Level;
				public getFilter(): java.util.logging.Filter;
				public isLoggable(param0: java.util.logging.LogRecord): boolean;
				public setFormatter(param0: java.util.logging.Formatter): void;
				public setErrorManager(param0: java.util.logging.ErrorManager): void;
				public reportError(param0: string, param1: java.lang.Exception, param2: number): void;
				public setEncoding(param0: string): void;
			}
		}
	}
}

declare module java {
	export module util {
		export module logging {
			export class Level extends java.lang.Object implements java.io.Serializable {
				public static class: java.lang.Class<java.util.logging.Level>;
				public static ALL: java.util.logging.Level;
				public static CONFIG: java.util.logging.Level;
				public static FINE: java.util.logging.Level;
				public static FINER: java.util.logging.Level;
				public static FINEST: java.util.logging.Level;
				public static INFO: java.util.logging.Level;
				public static OFF: java.util.logging.Level;
				public static SEVERE: java.util.logging.Level;
				public static WARNING: java.util.logging.Level;
				public constructor(param0: string, param1: number, param2: string);
				public getLocalizedName(): string;
				public hashCode(): number;
				public constructor(param0: string, param1: number);
				public equals(param0: any): boolean;
				public intValue(): number;
				public getName(): string;
				public getResourceBundleName(): string;
				public toString(): string;
				public static parse(param0: string): java.util.logging.Level;
			}
		}
	}
}

declare module java {
	export module util {
		export module logging {
			export class LogManager extends java.lang.Object {
				public static class: java.lang.Class<java.util.logging.LogManager>;
				public static LOGGING_MXBEAN_NAME: string;
				public getLoggerNames(): java.util.Enumeration<string>;
				public static getLogManager(): java.util.logging.LogManager;
				public getLogger(param0: string): java.util.logging.Logger;
				/** @deprecated */
				public addPropertyChangeListener(param0: java.beans.PropertyChangeListener): void;
				public constructor();
				public checkAccess(): void;
				public reset(): void;
				public getProperty(param0: string): string;
				/** @deprecated */
				public removePropertyChangeListener(param0: java.beans.PropertyChangeListener): void;
				public readConfiguration(param0: java.io.InputStream): void;
				public static getLoggingMXBean(): java.util.logging.LoggingMXBean;
				public readConfiguration(): void;
				public addLogger(param0: java.util.logging.Logger): boolean;
			}
		}
	}
}

declare module java {
	export module util {
		export module logging {
			export class LogRecord extends java.lang.Object implements java.io.Serializable {
				public static class: java.lang.Class<java.util.logging.LogRecord>;
				public constructor(param0: java.util.logging.Level, param1: string);
				public setParameters(param0: native.Array<any>): void;
				public getThrown(): java.lang.Throwable;
				public getParameters(): native.Array<any>;
				public getThreadID(): number;
				public setSourceMethodName(param0: string): void;
				public setThreadID(param0: number): void;
				public setThrown(param0: java.lang.Throwable): void;
				public getSourceMethodName(): string;
				public getLevel(): java.util.logging.Level;
				public setSequenceNumber(param0: number): void;
				public setResourceBundleName(param0: string): void;
				public getSourceClassName(): string;
				public setMessage(param0: string): void;
				public getMessage(): string;
				public getMillis(): number;
				public setResourceBundle(param0: java.util.ResourceBundle): void;
				public getResourceBundleName(): string;
				public setLevel(param0: java.util.logging.Level): void;
				public setSourceClassName(param0: string): void;
				public getResourceBundle(): java.util.ResourceBundle;
				public getLoggerName(): string;
				public setMillis(param0: number): void;
				public getSequenceNumber(): number;
				public setLoggerName(param0: string): void;
			}
		}
	}
}

declare module java {
	export module util {
		export module logging {
			export class Logger extends java.lang.Object {
				public static class: java.lang.Class<java.util.logging.Logger>;
				public static GLOBAL_LOGGER_NAME: string;
				public static global: java.util.logging.Logger;
				public config(param0: string): void;
				public logp(param0: java.util.logging.Level, param1: string, param2: string, param3: java.lang.Throwable, param4: any /* any*/): void;
				public warning(param0: string): void;
				public entering(param0: string, param1: string, param2: any): void;
				public log(param0: java.util.logging.Level, param1: string): void;
				public severe(param0: any /* any*/): void;
				public entering(param0: string, param1: string, param2: native.Array<any>): void;
				public log(param0: java.util.logging.Level, param1: java.lang.Throwable, param2: any /* any*/): void;
				public logp(param0: java.util.logging.Level, param1: string, param2: string, param3: any /* any*/): void;
				public getLevel(): java.util.logging.Level;
				public static getLogger(param0: string): java.util.logging.Logger;
				public getFilter(): java.util.logging.Filter;
				public finest(param0: any /* any*/): void;
				public log(param0: java.util.logging.Level, param1: string, param2: any): void;
				public getUseParentHandlers(): boolean;
				public getParent(): java.util.logging.Logger;
				public static getAnonymousLogger(): java.util.logging.Logger;
				public removeHandler(param0: java.util.logging.Handler): void;
				public exiting(param0: string, param1: string, param2: any): void;
				public setFilter(param0: java.util.logging.Filter): void;
				public getHandlers(): native.Array<java.util.logging.Handler>;
				public finer(param0: string): void;
				public getName(): string;
				/** @deprecated */
				public logrb(param0: java.util.logging.Level, param1: string, param2: string, param3: string, param4: string): void;
				public entering(param0: string, param1: string): void;
				public logp(param0: java.util.logging.Level, param1: string, param2: string, param3: string, param4: native.Array<any>): void;
				public info(param0: string): void;
				public static getAnonymousLogger(param0: string): java.util.logging.Logger;
				public isLoggable(param0: java.util.logging.Level): boolean;
				public exiting(param0: string, param1: string): void;
				public log(param0: java.util.logging.Level, param1: any /* any*/): void;
				public finer(param0: any /* any*/): void;
				public throwing(param0: string, param1: string, param2: java.lang.Throwable): void;
				public info(param0: any /* any*/): void;
				public log(param0: java.util.logging.Level, param1: string, param2: java.lang.Throwable): void;
				public log(param0: java.util.logging.LogRecord): void;
				public setUseParentHandlers(param0: boolean): void;
				public log(param0: java.util.logging.Level, param1: string, param2: native.Array<any>): void;
				public addHandler(param0: java.util.logging.Handler): void;
				public setParent(param0: java.util.logging.Logger): void;
				/** @deprecated */
				public logrb(param0: java.util.logging.Level, param1: string, param2: string, param3: string, param4: string, param5: native.Array<any>): void;
				public logrb(param0: java.util.logging.Level, param1: string, param2: string, param3: java.util.ResourceBundle, param4: string, param5: java.lang.Throwable): void;
				public logp(param0: java.util.logging.Level, param1: string, param2: string, param3: string, param4: any): void;
				public logp(param0: java.util.logging.Level, param1: string, param2: string, param3: string, param4: java.lang.Throwable): void;
				/** @deprecated */
				public logrb(param0: java.util.logging.Level, param1: string, param2: string, param3: string, param4: string, param5: java.lang.Throwable): void;
				public static getLogger(param0: string, param1: string): java.util.logging.Logger;
				public constructor(param0: string, param1: string);
				public logp(param0: java.util.logging.Level, param1: string, param2: string, param3: string): void;
				public fine(param0: string): void;
				public finest(param0: string): void;
				public fine(param0: any /* any*/): void;
				public setResourceBundle(param0: java.util.ResourceBundle): void;
				public getResourceBundleName(): string;
				public config(param0: any /* any*/): void;
				public setLevel(param0: java.util.logging.Level): void;
				public static getGlobal(): java.util.logging.Logger;
				public getResourceBundle(): java.util.ResourceBundle;
				public logrb(param0: java.util.logging.Level, param1: string, param2: string, param3: java.util.ResourceBundle, param4: string, param5: native.Array<any>): void;
				public warning(param0: any /* any*/): void;
				public severe(param0: string): void;
				/** @deprecated */
				public logrb(param0: java.util.logging.Level, param1: string, param2: string, param3: string, param4: string, param5: any): void;
			}
		}
	}
}

declare module java {
	export module util {
		export module logging {
			export class LoggingMXBean extends java.lang.Object {
				public static class: java.lang.Class<java.util.logging.LoggingMXBean>;
				/**
				 * Constructs a new instance of the java.util.logging.LoggingMXBean interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getLoggerNames(): java.util.List<string>;
					getLoggerLevel(param0: string): string;
					setLoggerLevel(param0: string, param1: string): void;
					getParentLoggerName(param0: string): string;
				});
				public constructor();
				public getParentLoggerName(param0: string): string;
				public setLoggerLevel(param0: string, param1: string): void;
				public getLoggerLevel(param0: string): string;
				public getLoggerNames(): java.util.List<string>;
			}
		}
	}
}

declare module java {
	export module util {
		export module logging {
			export class LoggingPermission extends java.security.BasicPermission {
				public static class: java.lang.Class<java.util.logging.LoggingPermission>;
				public checkGuard(param0: any): void;
				public constructor(param0: string);
				public constructor(param0: string, param1: string);
			}
		}
	}
}

declare module java {
	export module util {
		export module logging {
			export class MemoryHandler extends java.util.logging.Handler {
				public static class: java.lang.Class<java.util.logging.MemoryHandler>;
				public setPushLevel(param0: java.util.logging.Level): void;
				public close(): void;
				public isLoggable(param0: java.util.logging.LogRecord): boolean;
				public constructor(param0: java.util.logging.Handler, param1: number, param2: java.util.logging.Level);
				public push(): void;
				public publish(param0: java.util.logging.LogRecord): void;
				public getPushLevel(): java.util.logging.Level;
				public constructor();
				public flush(): void;
			}
		}
	}
}

declare module java {
	export module util {
		export module logging {
			export class SimpleFormatter extends java.util.logging.Formatter {
				public static class: java.lang.Class<java.util.logging.SimpleFormatter>;
				public format(param0: java.util.logging.LogRecord): string;
				public constructor();
			}
		}
	}
}

declare module java {
	export module util {
		export module logging {
			export class SocketHandler extends java.util.logging.StreamHandler {
				public static class: java.lang.Class<java.util.logging.SocketHandler>;
				public close(): void;
				public constructor(param0: string, param1: number);
				public publish(param0: java.util.logging.LogRecord): void;
				public constructor(param0: java.io.OutputStream, param1: java.util.logging.Formatter);
				public constructor();
			}
		}
	}
}

declare module java {
	export module util {
		export module logging {
			export class StreamHandler extends java.util.logging.Handler {
				public static class: java.lang.Class<java.util.logging.StreamHandler>;
				public close(): void;
				public isLoggable(param0: java.util.logging.LogRecord): boolean;
				public publish(param0: java.util.logging.LogRecord): void;
				public constructor(param0: java.io.OutputStream, param1: java.util.logging.Formatter);
				public constructor();
				public setOutputStream(param0: java.io.OutputStream): void;
				public setEncoding(param0: string): void;
				public flush(): void;
			}
		}
	}
}

declare module java {
	export module util {
		export module logging {
			export class XMLFormatter extends java.util.logging.Formatter {
				public static class: java.lang.Class<java.util.logging.XMLFormatter>;
				public format(param0: java.util.logging.LogRecord): string;
				public getHead(param0: java.util.logging.Handler): string;
				public getTail(param0: java.util.logging.Handler): string;
				public constructor();
			}
		}
	}
}

declare module java {
	export module util {
		export module prefs {
			export abstract class AbstractPreferences extends java.util.prefs.Preferences {
				public static class: java.lang.Class<java.util.prefs.AbstractPreferences>;
				public lock: any;
				public newNode: boolean;
				public sync(): void;
				public putInt(param0: string, param1: number): void;
				public constructor(param0: java.util.prefs.AbstractPreferences, param1: string);
				public putLong(param0: string, param1: number): void;
				public getSpi(param0: string): string;
				public childrenNames(): native.Array<string>;
				public childSpi(param0: string): java.util.prefs.AbstractPreferences;
				public constructor();
				public getFloat(param0: string, param1: number): number;
				public removeSpi(param0: string): void;
				public flush(): void;
				public keysSpi(): native.Array<string>;
				public getByteArray(param0: string, param1: native.Array<number>): native.Array<number>;
				public flushSpi(): void;
				public putSpi(param0: string, param1: string): void;
				public clear(): void;
				public putDouble(param0: string, param1: number): void;
				public removeNode(): void;
				public put(param0: string, param1: string): void;
				public getDouble(param0: string, param1: number): number;
				public syncSpi(): void;
				public get(param0: string, param1: string): string;
				public addPreferenceChangeListener(param0: java.util.prefs.PreferenceChangeListener): void;
				public cachedChildren(): native.Array<java.util.prefs.AbstractPreferences>;
				public parent(): java.util.prefs.Preferences;
				public absolutePath(): string;
				public removeNodeSpi(): void;
				public isRemoved(): boolean;
				public removeNodeChangeListener(param0: java.util.prefs.NodeChangeListener): void;
				public getBoolean(param0: string, param1: boolean): boolean;
				public childrenNamesSpi(): native.Array<string>;
				public getInt(param0: string, param1: number): number;
				public exportSubtree(param0: java.io.OutputStream): void;
				public toString(): string;
				public nodeExists(param0: string): boolean;
				public putByteArray(param0: string, param1: native.Array<number>): void;
				public removePreferenceChangeListener(param0: java.util.prefs.PreferenceChangeListener): void;
				public exportNode(param0: java.io.OutputStream): void;
				public name(): string;
				public getLong(param0: string, param1: number): number;
				public node(param0: string): java.util.prefs.Preferences;
				public remove(param0: string): void;
				public addNodeChangeListener(param0: java.util.prefs.NodeChangeListener): void;
				public keys(): native.Array<string>;
				public isUserNode(): boolean;
				public putFloat(param0: string, param1: number): void;
				public putBoolean(param0: string, param1: boolean): void;
				public getChild(param0: string): java.util.prefs.AbstractPreferences;
			}
		}
	}
}

declare module java {
	export module util {
		export module prefs {
			export class BackingStoreException extends java.lang.Exception {
				public static class: java.lang.Class<java.util.prefs.BackingStoreException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module util {
		export module prefs {
			export class InvalidPreferencesFormatException extends java.lang.Exception {
				public static class: java.lang.Class<java.util.prefs.InvalidPreferencesFormatException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module util {
		export module prefs {
			export class NodeChangeEvent extends java.util.EventObject {
				public static class: java.lang.Class<java.util.prefs.NodeChangeEvent>;
				public constructor(param0: java.util.prefs.Preferences, param1: java.util.prefs.Preferences);
				public getChild(): java.util.prefs.Preferences;
				public getParent(): java.util.prefs.Preferences;
				public constructor(param0: any);
			}
		}
	}
}

declare module java {
	export module util {
		export module prefs {
			export class NodeChangeListener extends java.lang.Object implements java.util.EventListener {
				public static class: java.lang.Class<java.util.prefs.NodeChangeListener>;
				/**
				 * Constructs a new instance of the java.util.prefs.NodeChangeListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					childAdded(param0: java.util.prefs.NodeChangeEvent): void;
					childRemoved(param0: java.util.prefs.NodeChangeEvent): void;
				});
				public constructor();
				public childAdded(param0: java.util.prefs.NodeChangeEvent): void;
				public childRemoved(param0: java.util.prefs.NodeChangeEvent): void;
			}
		}
	}
}

declare module java {
	export module util {
		export module prefs {
			export class PreferenceChangeEvent extends java.util.EventObject {
				public static class: java.lang.Class<java.util.prefs.PreferenceChangeEvent>;
				public getNode(): java.util.prefs.Preferences;
				public constructor(param0: java.util.prefs.Preferences, param1: string, param2: string);
				public constructor(param0: any);
				public getKey(): string;
				public getNewValue(): string;
			}
		}
	}
}

declare module java {
	export module util {
		export module prefs {
			export class PreferenceChangeListener extends java.lang.Object implements java.util.EventListener {
				public static class: java.lang.Class<java.util.prefs.PreferenceChangeListener>;
				/**
				 * Constructs a new instance of the java.util.prefs.PreferenceChangeListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					preferenceChange(param0: java.util.prefs.PreferenceChangeEvent): void;
				});
				public constructor();
				public preferenceChange(param0: java.util.prefs.PreferenceChangeEvent): void;
			}
		}
	}
}

declare module java {
	export module util {
		export module prefs {
			export abstract class Preferences extends java.lang.Object {
				public static class: java.lang.Class<java.util.prefs.Preferences>;
				public static MAX_KEY_LENGTH: number;
				public static MAX_NAME_LENGTH: number;
				public static MAX_VALUE_LENGTH: number;
				public sync(): void;
				public putInt(param0: string, param1: number): void;
				public static systemNodeForPackage(param0: java.lang.Class<any>): java.util.prefs.Preferences;
				public putLong(param0: string, param1: number): void;
				public childrenNames(): native.Array<string>;
				public constructor();
				public getFloat(param0: string, param1: number): number;
				public flush(): void;
				public static systemRoot(): java.util.prefs.Preferences;
				public getByteArray(param0: string, param1: native.Array<number>): native.Array<number>;
				public clear(): void;
				public putDouble(param0: string, param1: number): void;
				public removeNode(): void;
				public put(param0: string, param1: string): void;
				public getDouble(param0: string, param1: number): number;
				public get(param0: string, param1: string): string;
				public addPreferenceChangeListener(param0: java.util.prefs.PreferenceChangeListener): void;
				public parent(): java.util.prefs.Preferences;
				public absolutePath(): string;
				public removeNodeChangeListener(param0: java.util.prefs.NodeChangeListener): void;
				public static userNodeForPackage(param0: java.lang.Class<any>): java.util.prefs.Preferences;
				public getBoolean(param0: string, param1: boolean): boolean;
				public getInt(param0: string, param1: number): number;
				public exportSubtree(param0: java.io.OutputStream): void;
				public toString(): string;
				public nodeExists(param0: string): boolean;
				public putByteArray(param0: string, param1: native.Array<number>): void;
				public removePreferenceChangeListener(param0: java.util.prefs.PreferenceChangeListener): void;
				public exportNode(param0: java.io.OutputStream): void;
				public name(): string;
				public getLong(param0: string, param1: number): number;
				public node(param0: string): java.util.prefs.Preferences;
				public remove(param0: string): void;
				public addNodeChangeListener(param0: java.util.prefs.NodeChangeListener): void;
				public keys(): native.Array<string>;
				public static userRoot(): java.util.prefs.Preferences;
				public isUserNode(): boolean;
				public putFloat(param0: string, param1: number): void;
				public static importPreferences(param0: java.io.InputStream): void;
				public putBoolean(param0: string, param1: boolean): void;
			}
		}
	}
}

declare module java {
	export module util {
		export module prefs {
			export class PreferencesFactory extends java.lang.Object {
				public static class: java.lang.Class<java.util.prefs.PreferencesFactory>;
				/**
				 * Constructs a new instance of the java.util.prefs.PreferencesFactory interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					systemRoot(): java.util.prefs.Preferences;
					userRoot(): java.util.prefs.Preferences;
				});
				public constructor();
				public systemRoot(): java.util.prefs.Preferences;
				public userRoot(): java.util.prefs.Preferences;
			}
		}
	}
}

declare module java {
	export module util {
		export module regex {
			export class MatchResult extends java.lang.Object {
				public static class: java.lang.Class<java.util.regex.MatchResult>;
				/**
				 * Constructs a new instance of the java.util.regex.MatchResult interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					start(): number;
					start(param0: number): number;
					end(): number;
					end(param0: number): number;
					group(): string;
					group(param0: number): string;
					groupCount(): number;
				});
				public constructor();
				public end(param0: number): number;
				public end(): number;
				public start(): number;
				public group(): string;
				public start(param0: number): number;
				public group(param0: number): string;
				public groupCount(): number;
			}
		}
	}
}

declare module java {
	export module util {
		export module regex {
			export class Matcher extends java.lang.Object implements java.util.regex.MatchResult {
				public static class: java.lang.Class<java.util.regex.Matcher>;
				public pattern(): java.util.regex.Pattern;
				public end(param0: number): number;
				public start(param0: string): number;
				public hasTransparentBounds(): boolean;
				public hitEnd(): boolean;
				public useTransparentBounds(param0: boolean): java.util.regex.Matcher;
				public end(param0: string): number;
				public end(): number;
				public appendTail(param0: java.lang.StringBuffer): java.lang.StringBuffer;
				public replaceFirst(param0: string): string;
				public lookingAt(): boolean;
				public start(param0: number): number;
				public appendReplacement(param0: java.lang.StringBuffer, param1: string): java.util.regex.Matcher;
				public hasAnchoringBounds(): boolean;
				public requireEnd(): boolean;
				public find(param0: number): boolean;
				public reset(): java.util.regex.Matcher;
				public usePattern(param0: java.util.regex.Pattern): java.util.regex.Matcher;
				public find(): boolean;
				public replaceAll(param0: string): string;
				public group(param0: string): string;
				public matches(): boolean;
				public group(): string;
				public region(param0: number, param1: number): java.util.regex.Matcher;
				public start(): number;
				public group(param0: number): string;
				public static quoteReplacement(param0: string): string;
				public regionStart(): number;
				public regionEnd(): number;
				public toString(): string;
				public groupCount(): number;
				public useAnchoringBounds(param0: boolean): java.util.regex.Matcher;
				public reset(param0: string): java.util.regex.Matcher;
				public toMatchResult(): java.util.regex.MatchResult;
			}
		}
	}
}

declare module java {
	export module util {
		export module regex {
			export class Pattern extends java.lang.Object implements java.io.Serializable {
				public static class: java.lang.Class<java.util.regex.Pattern>;
				public static CANON_EQ: number;
				public static CASE_INSENSITIVE: number;
				public static COMMENTS: number;
				public static DOTALL: number;
				public static LITERAL: number;
				public static MULTILINE: number;
				public static UNICODE_CASE: number;
				public static UNICODE_CHARACTER_CLASS: number;
				public static UNIX_LINES: number;
				public static matches(param0: string, param1: string): boolean;
				public static compile(param0: string): java.util.regex.Pattern;
				public splitAsStream(param0: string): java.util.stream.Stream<string>;
				public asPredicate(): any /* any*/;
				public static compile(param0: string, param1: number): java.util.regex.Pattern;
				public pattern(): string;
				public flags(): number;
				public matcher(param0: string): java.util.regex.Matcher;
				public split(param0: string, param1: number): native.Array<string>;
				public split(param0: string): native.Array<string>;
				public toString(): string;
				public static quote(param0: string): string;
			}
		}
	}
}

declare module java {
	export module util {
		export module regex {
			export class PatternSyntaxException extends java.lang.IllegalArgumentException {
				public static class: java.lang.Class<java.util.regex.PatternSyntaxException>;
				public constructor(param0: string, param1: string, param2: number);
				public constructor(param0: string, param1: java.lang.Throwable);
				public getIndex(): number;
				public getDescription(): string;
				public getPattern(): string;
				public getMessage(): string;
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module util {
		export module stream {
			export class BaseStream<T, S>  extends java.lang.AutoCloseable {
				public static class: java.lang.Class<java.util.stream.BaseStream<any,any>>;
				/**
				 * Constructs a new instance of the java.util.stream.BaseStream<any,any> interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					iterator(): java.util.Iterator<any>;
					spliterator(): java.util.Spliterator<any>;
					isParallel(): boolean;
					sequential(): any;
					parallel(): any;
					unordered(): any;
					onClose(param0: java.lang.Runnable): any;
					close(): void;
					close(): void;
				});
				public constructor();
				public close(): void;
				public parallel(): any;
				public spliterator(): java.util.Spliterator<any>;
				public isParallel(): boolean;
				public iterator(): java.util.Iterator<any>;
				public sequential(): any;
				public onClose(param0: java.lang.Runnable): any;
				public unordered(): any;
			}
		}
	}
}

declare module java {
	export module util {
		export module stream {
			export class Collector<T, A, R>  extends java.lang.Object {
				public static class: java.lang.Class<java.util.stream.Collector<any,any,any>>;
				/**
				 * Constructs a new instance of the java.util.stream.Collector<any,any,any> interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					supplier(): any /* any*/;
					accumulator(): any /* any<A,T>*/;
					combiner(): any /* any*/;
					finisher(): any /* any<A,R>*/;
					characteristics(): java.util.Set<java.util.stream.Collector.Characteristics>;
					of(param0: any /* any*/, param1: any /* any*/, param2: any /* any*/, param3: native.Array<java.util.stream.Collector.Characteristics>): java.util.stream.Collector<any,any,any>;
					of(param0: any /* any*/, param1: any /* any*/, param2: any /* any*/, param3: any /* any*/, param4: native.Array<java.util.stream.Collector.Characteristics>): java.util.stream.Collector<any,any,any>;
				});
				public constructor();
				public supplier(): any /* any*/;
				public accumulator(): any /* any<A,T>*/;
				public static of(param0: any /* any*/, param1: any /* any*/, param2: any /* any*/, param3: native.Array<java.util.stream.Collector.Characteristics>): java.util.stream.Collector<any,any,any>;
				public finisher(): any /* any<A,R>*/;
				public static of(param0: any /* any*/, param1: any /* any*/, param2: any /* any*/, param3: any /* any*/, param4: native.Array<java.util.stream.Collector.Characteristics>): java.util.stream.Collector<any,any,any>;
				public characteristics(): java.util.Set<java.util.stream.Collector.Characteristics>;
				public combiner(): any /* any*/;
			}
			export module Collector {
				export class Characteristics {
					public static class: java.lang.Class<java.util.stream.Collector.Characteristics>;
					public static CONCURRENT: java.util.stream.Collector.Characteristics;
					public static UNORDERED: java.util.stream.Collector.Characteristics;
					public static IDENTITY_FINISH: java.util.stream.Collector.Characteristics;
					public static values(): native.Array<java.util.stream.Collector.Characteristics>;
					public static valueOf(param0: string): java.util.stream.Collector.Characteristics;
					public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
				}
			}
		}
	}
}

declare module java {
	export module util {
		export module stream {
			export class Collectors extends java.lang.Object {
				public static class: java.lang.Class<java.util.stream.Collectors>;
				public static summingLong(param0: any /* any*/): java.util.stream.Collector<any,any,any>;
				public static summingDouble(param0: any /* any*/): java.util.stream.Collector<any,any,any>;
				public static groupingByConcurrent(param0: any /* any*/, param1: java.util.stream.Collector<any,any,any>): java.util.stream.Collector<any,any,any>;
				public static toMap(param0: any /* any*/, param1: any /* any*/): java.util.stream.Collector<any,any,any>;
				public static summarizingInt(param0: any /* any*/): java.util.stream.Collector<any,any,any>;
				public static averagingInt(param0: any /* any*/): java.util.stream.Collector<any,any,any>;
				public static toConcurrentMap(param0: any /* any*/, param1: any /* any*/, param2: any /* any*/): java.util.stream.Collector<any,any,any>;
				public static toList(): java.util.stream.Collector<any,any,any>;
				public static joining(): java.util.stream.Collector<string,any,string>;
				public static collectingAndThen(param0: java.util.stream.Collector<any,any,any>, param1: any /* any*/): java.util.stream.Collector<any,any,any>;
				public static reducing(param0: any /* any*/): java.util.stream.Collector<any,any,any>;
				public static mapping(param0: any /* any*/, param1: java.util.stream.Collector<any,any,any>): java.util.stream.Collector<any,any,any>;
				public static minBy(param0: java.util.Comparator<any>): java.util.stream.Collector<any,any,any>;
				public static counting(): java.util.stream.Collector<any,any,any>;
				public static groupingBy(param0: any /* any*/, param1: any /* any*/, param2: java.util.stream.Collector<any,any,any>): java.util.stream.Collector<any,any,any>;
				public static joining(param0: string): java.util.stream.Collector<string,any,string>;
				public static joining(param0: string, param1: string, param2: string): java.util.stream.Collector<string,any,string>;
				public static toConcurrentMap(param0: any /* any*/, param1: any /* any*/, param2: any /* any*/, param3: any /* any*/): java.util.stream.Collector<any,any,any>;
				public static reducing(param0: any, param1: any /* any*/, param2: any /* any*/): java.util.stream.Collector<any,any,any>;
				public static toMap(param0: any /* any*/, param1: any /* any*/, param2: any /* any*/, param3: any /* any*/): java.util.stream.Collector<any,any,any>;
				public static groupingByConcurrent(param0: any /* any*/, param1: any /* any*/, param2: java.util.stream.Collector<any,any,any>): java.util.stream.Collector<any,any,any>;
				public static groupingByConcurrent(param0: any /* any*/): java.util.stream.Collector<any,any,any>;
				public static summarizingLong(param0: any /* any*/): java.util.stream.Collector<any,any,any>;
				public static reducing(param0: any, param1: any /* any*/): java.util.stream.Collector<any,any,any>;
				public static groupingBy(param0: any /* any*/): java.util.stream.Collector<any,any,any>;
				public static groupingBy(param0: any /* any*/, param1: java.util.stream.Collector<any,any,any>): java.util.stream.Collector<any,any,any>;
				public static toSet(): java.util.stream.Collector<any,any,any>;
				public static toConcurrentMap(param0: any /* any*/, param1: any /* any*/): java.util.stream.Collector<any,any,any>;
				public static partitioningBy(param0: any /* any*/, param1: java.util.stream.Collector<any,any,any>): java.util.stream.Collector<any,any,any>;
				public static summingInt(param0: any /* any*/): java.util.stream.Collector<any,any,any>;
				public static toMap(param0: any /* any*/, param1: any /* any*/, param2: any /* any*/): java.util.stream.Collector<any,any,any>;
				public static toCollection(param0: any /* any*/): java.util.stream.Collector<any,any,any>;
				public static maxBy(param0: java.util.Comparator<any>): java.util.stream.Collector<any,any,any>;
				public static averagingDouble(param0: any /* any*/): java.util.stream.Collector<any,any,any>;
				public static averagingLong(param0: any /* any*/): java.util.stream.Collector<any,any,any>;
				public static summarizingDouble(param0: any /* any*/): java.util.stream.Collector<any,any,any>;
				public static partitioningBy(param0: any /* any*/): java.util.stream.Collector<any,any,any>;
			}
		}
	}
}

declare module java {
	export module util {
		export module stream {
			export class DoubleStream extends java.util.stream.BaseStream<java.lang.Double,java.util.stream.DoubleStream> {
				public static class: java.lang.Class<java.util.stream.DoubleStream>;
				/**
				 * Constructs a new instance of the java.util.stream.DoubleStream interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					filter(param0: any /* any*/): java.util.stream.DoubleStream;
					map(param0: any /* any*/): java.util.stream.DoubleStream;
					mapToObj(param0: any /* any*/): java.util.stream.Stream<any>;
					mapToInt(param0: any /* any*/): java.util.stream.IntStream;
					mapToLong(param0: any /* any*/): java.util.stream.LongStream;
					flatMap(param0: any /* any*/): java.util.stream.DoubleStream;
					distinct(): java.util.stream.DoubleStream;
					sorted(): java.util.stream.DoubleStream;
					peek(param0: any /* any*/): java.util.stream.DoubleStream;
					limit(param0: number): java.util.stream.DoubleStream;
					skip(param0: number): java.util.stream.DoubleStream;
					forEach(param0: any /* any*/): void;
					forEachOrdered(param0: any /* any*/): void;
					toArray(): native.Array<number>;
					reduce(param0: number, param1: any /* any*/): number;
					reduce(param0: any /* any*/): java.util.OptionalDouble;
					collect(param0: any /* any*/, param1: any /* any*/, param2: any /* any*/): any;
					sum(): number;
					min(): java.util.OptionalDouble;
					max(): java.util.OptionalDouble;
					count(): number;
					average(): java.util.OptionalDouble;
					summaryStatistics(): java.util.DoubleSummaryStatistics;
					anyMatch(param0: any /* any*/): boolean;
					allMatch(param0: any /* any*/): boolean;
					noneMatch(param0: any /* any*/): boolean;
					findFirst(): java.util.OptionalDouble;
					findAny(): java.util.OptionalDouble;
					boxed(): java.util.stream.Stream<java.lang.Double>;
					sequential(): java.util.stream.DoubleStream;
					parallel(): java.util.stream.DoubleStream;
					iterator(): java.util.PrimitiveIterator.OfDouble;
					spliterator(): java.util.Spliterator.OfDouble;
					builder(): java.util.stream.DoubleStream.Builder;
					empty(): java.util.stream.DoubleStream;
					of(param0: number): java.util.stream.DoubleStream;
					of(param0: native.Array<number>): java.util.stream.DoubleStream;
					iterate(param0: number, param1: any /* any*/): java.util.stream.DoubleStream;
					generate(param0: any /* any*/): java.util.stream.DoubleStream;
					concat(param0: java.util.stream.DoubleStream, param1: java.util.stream.DoubleStream): java.util.stream.DoubleStream;
					parallel(): java.util.stream.BaseStream<any,any>;
					sequential(): java.util.stream.BaseStream<any,any>;
					spliterator(): java.util.Spliterator<any>;
					iterator(): java.util.Iterator<any>;
					iterator(): java.util.Iterator<any>;
					spliterator(): java.util.Spliterator<any>;
					isParallel(): boolean;
					sequential(): any;
					parallel(): any;
					unordered(): any;
					onClose(param0: java.lang.Runnable): any;
					close(): void;
					close(): void;
				});
				public constructor();
				public distinct(): java.util.stream.DoubleStream;
				public min(): java.util.OptionalDouble;
				public static concat(param0: java.util.stream.DoubleStream, param1: java.util.stream.DoubleStream): java.util.stream.DoubleStream;
				public isParallel(): boolean;
				public map(param0: any /* any*/): java.util.stream.DoubleStream;
				public reduce(param0: any /* any*/): java.util.OptionalDouble;
				public sequential(): java.util.stream.DoubleStream;
				public boxed(): java.util.stream.Stream<java.lang.Double>;
				public toArray(): native.Array<number>;
				public findAny(): java.util.OptionalDouble;
				public sequential(): any;
				public allMatch(param0: any /* any*/): boolean;
				public static empty(): java.util.stream.DoubleStream;
				public mapToInt(param0: any /* any*/): java.util.stream.IntStream;
				public noneMatch(param0: any /* any*/): boolean;
				public findFirst(): java.util.OptionalDouble;
				public parallel(): any;
				public static of(param0: number): java.util.stream.DoubleStream;
				public mapToLong(param0: any /* any*/): java.util.stream.LongStream;
				public summaryStatistics(): java.util.DoubleSummaryStatistics;
				public iterator(): java.util.PrimitiveIterator.OfDouble;
				public forEach(param0: any /* any*/): void;
				public reduce(param0: number, param1: any /* any*/): number;
				public skip(param0: number): java.util.stream.DoubleStream;
				public sum(): number;
				public static builder(): java.util.stream.DoubleStream.Builder;
				public limit(param0: number): java.util.stream.DoubleStream;
				public anyMatch(param0: any /* any*/): boolean;
				public mapToObj(param0: any /* any*/): java.util.stream.Stream<any>;
				public close(): void;
				public parallel(): java.util.stream.DoubleStream;
				public spliterator(): java.util.Spliterator<any>;
				public spliterator(): java.util.Spliterator.OfDouble;
				public iterator(): java.util.Iterator<any>;
				public onClose(param0: java.lang.Runnable): any;
				public unordered(): any;
				public sorted(): java.util.stream.DoubleStream;
				public flatMap(param0: any /* any*/): java.util.stream.DoubleStream;
				public average(): java.util.OptionalDouble;
				public static iterate(param0: number, param1: any /* any*/): java.util.stream.DoubleStream;
				public peek(param0: any /* any*/): java.util.stream.DoubleStream;
				public max(): java.util.OptionalDouble;
				public static of(param0: native.Array<number>): java.util.stream.DoubleStream;
				public filter(param0: any /* any*/): java.util.stream.DoubleStream;
				public count(): number;
				public static generate(param0: any /* any*/): java.util.stream.DoubleStream;
				public forEachOrdered(param0: any /* any*/): void;
				public collect(param0: any /* any*/, param1: any /* any*/, param2: any /* any*/): any;
			}
			export module DoubleStream {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<java.util.stream.DoubleStream.Builder>;
					/**
					 * Constructs a new instance of the java.util.stream.DoubleStream$Builder interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						accept(param0: number): void;
						add(param0: number): java.util.stream.DoubleStream.Builder;
						build(): java.util.stream.DoubleStream;
					});
					public constructor();
					public accept(param0: number): void;
					public add(param0: number): java.util.stream.DoubleStream.Builder;
					public build(): java.util.stream.DoubleStream;
				}
			}
		}
	}
}

declare module java {
	export module util {
		export module stream {
			export class IntStream extends java.util.stream.BaseStream<java.lang.Integer,java.util.stream.IntStream> {
				public static class: java.lang.Class<java.util.stream.IntStream>;
				/**
				 * Constructs a new instance of the java.util.stream.IntStream interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					filter(param0: any /* any*/): java.util.stream.IntStream;
					map(param0: any /* any*/): java.util.stream.IntStream;
					mapToObj(param0: any /* any*/): java.util.stream.Stream<any>;
					mapToLong(param0: any /* any*/): java.util.stream.LongStream;
					mapToDouble(param0: any /* any*/): java.util.stream.DoubleStream;
					flatMap(param0: any /* any*/): java.util.stream.IntStream;
					distinct(): java.util.stream.IntStream;
					sorted(): java.util.stream.IntStream;
					peek(param0: any /* any*/): java.util.stream.IntStream;
					limit(param0: number): java.util.stream.IntStream;
					skip(param0: number): java.util.stream.IntStream;
					forEach(param0: any /* any*/): void;
					forEachOrdered(param0: any /* any*/): void;
					toArray(): native.Array<number>;
					reduce(param0: number, param1: any /* any*/): number;
					reduce(param0: any /* any*/): java.util.OptionalInt;
					collect(param0: any /* any*/, param1: any /* any*/, param2: any /* any*/): any;
					sum(): number;
					min(): java.util.OptionalInt;
					max(): java.util.OptionalInt;
					count(): number;
					average(): java.util.OptionalDouble;
					summaryStatistics(): java.util.IntSummaryStatistics;
					anyMatch(param0: any /* any*/): boolean;
					allMatch(param0: any /* any*/): boolean;
					noneMatch(param0: any /* any*/): boolean;
					findFirst(): java.util.OptionalInt;
					findAny(): java.util.OptionalInt;
					asLongStream(): java.util.stream.LongStream;
					asDoubleStream(): java.util.stream.DoubleStream;
					boxed(): java.util.stream.Stream<java.lang.Integer>;
					sequential(): java.util.stream.IntStream;
					parallel(): java.util.stream.IntStream;
					iterator(): java.util.PrimitiveIterator.OfInt;
					spliterator(): java.util.Spliterator.OfInt;
					builder(): java.util.stream.IntStream.Builder;
					empty(): java.util.stream.IntStream;
					of(param0: number): java.util.stream.IntStream;
					of(param0: native.Array<number>): java.util.stream.IntStream;
					iterate(param0: number, param1: any /* any*/): java.util.stream.IntStream;
					generate(param0: any /* any*/): java.util.stream.IntStream;
					range(param0: number, param1: number): java.util.stream.IntStream;
					rangeClosed(param0: number, param1: number): java.util.stream.IntStream;
					concat(param0: java.util.stream.IntStream, param1: java.util.stream.IntStream): java.util.stream.IntStream;
					parallel(): java.util.stream.BaseStream<any,any>;
					sequential(): java.util.stream.BaseStream<any,any>;
					spliterator(): java.util.Spliterator<any>;
					iterator(): java.util.Iterator<any>;
					iterator(): java.util.Iterator<any>;
					spliterator(): java.util.Spliterator<any>;
					isParallel(): boolean;
					sequential(): any;
					parallel(): any;
					unordered(): any;
					onClose(param0: java.lang.Runnable): any;
					close(): void;
					close(): void;
				});
				public constructor();
				public skip(param0: number): java.util.stream.IntStream;
				public asLongStream(): java.util.stream.LongStream;
				public static empty(): java.util.stream.IntStream;
				public limit(param0: number): java.util.stream.IntStream;
				public toArray(): native.Array<number>;
				public sequential(): any;
				public mapToLong(param0: any /* any*/): java.util.stream.LongStream;
				public flatMap(param0: any /* any*/): java.util.stream.IntStream;
				public parallel(): java.util.stream.IntStream;
				public findFirst(): java.util.OptionalInt;
				public sum(): number;
				public reduce(param0: any /* any*/): java.util.OptionalInt;
				public asDoubleStream(): java.util.stream.DoubleStream;
				public close(): void;
				public forEachOrdered(param0: any /* any*/): void;
				public static builder(): java.util.stream.IntStream.Builder;
				public spliterator(): java.util.Spliterator<any>;
				public sequential(): java.util.stream.IntStream;
				public iterator(): java.util.Iterator<any>;
				public iterator(): java.util.PrimitiveIterator.OfInt;
				public peek(param0: any /* any*/): java.util.stream.IntStream;
				public unordered(): any;
				public average(): java.util.OptionalDouble;
				public summaryStatistics(): java.util.IntSummaryStatistics;
				public min(): java.util.OptionalInt;
				public boxed(): java.util.stream.Stream<java.lang.Integer>;
				public static range(param0: number, param1: number): java.util.stream.IntStream;
				public mapToDouble(param0: any /* any*/): java.util.stream.DoubleStream;
				public anyMatch(param0: any /* any*/): boolean;
				public findAny(): java.util.OptionalInt;
				public static generate(param0: any /* any*/): java.util.stream.IntStream;
				public noneMatch(param0: any /* any*/): boolean;
				public isParallel(): boolean;
				public sorted(): java.util.stream.IntStream;
				public static of(param0: native.Array<number>): java.util.stream.IntStream;
				public max(): java.util.OptionalInt;
				public parallel(): any;
				public reduce(param0: number, param1: any /* any*/): number;
				public filter(param0: any /* any*/): java.util.stream.IntStream;
				public forEach(param0: any /* any*/): void;
				public allMatch(param0: any /* any*/): boolean;
				public spliterator(): java.util.Spliterator.OfInt;
				public map(param0: any /* any*/): java.util.stream.IntStream;
				public onClose(param0: java.lang.Runnable): any;
				public collect(param0: any /* any*/, param1: any /* any*/, param2: any /* any*/): any;
				public distinct(): java.util.stream.IntStream;
				public static of(param0: number): java.util.stream.IntStream;
				public static rangeClosed(param0: number, param1: number): java.util.stream.IntStream;
				public static iterate(param0: number, param1: any /* any*/): java.util.stream.IntStream;
				public mapToObj(param0: any /* any*/): java.util.stream.Stream<any>;
				public count(): number;
				public static concat(param0: java.util.stream.IntStream, param1: java.util.stream.IntStream): java.util.stream.IntStream;
			}
			export module IntStream {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<java.util.stream.IntStream.Builder>;
					/**
					 * Constructs a new instance of the java.util.stream.IntStream$Builder interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						accept(param0: number): void;
						add(param0: number): java.util.stream.IntStream.Builder;
						build(): java.util.stream.IntStream;
					});
					public constructor();
					public accept(param0: number): void;
					public build(): java.util.stream.IntStream;
					public add(param0: number): java.util.stream.IntStream.Builder;
				}
			}
		}
	}
}

declare module java {
	export module util {
		export module stream {
			export class LongStream extends java.util.stream.BaseStream<java.lang.Long,java.util.stream.LongStream> {
				public static class: java.lang.Class<java.util.stream.LongStream>;
				/**
				 * Constructs a new instance of the java.util.stream.LongStream interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					filter(param0: any /* any*/): java.util.stream.LongStream;
					map(param0: any /* any*/): java.util.stream.LongStream;
					mapToObj(param0: any /* any*/): java.util.stream.Stream<any>;
					mapToInt(param0: any /* any*/): java.util.stream.IntStream;
					mapToDouble(param0: any /* any*/): java.util.stream.DoubleStream;
					flatMap(param0: any /* any*/): java.util.stream.LongStream;
					distinct(): java.util.stream.LongStream;
					sorted(): java.util.stream.LongStream;
					peek(param0: any /* any*/): java.util.stream.LongStream;
					limit(param0: number): java.util.stream.LongStream;
					skip(param0: number): java.util.stream.LongStream;
					forEach(param0: any /* any*/): void;
					forEachOrdered(param0: any /* any*/): void;
					toArray(): native.Array<number>;
					reduce(param0: number, param1: any /* any*/): number;
					reduce(param0: any /* any*/): java.util.OptionalLong;
					collect(param0: any /* any*/, param1: any /* any*/, param2: any /* any*/): any;
					sum(): number;
					min(): java.util.OptionalLong;
					max(): java.util.OptionalLong;
					count(): number;
					average(): java.util.OptionalDouble;
					summaryStatistics(): java.util.LongSummaryStatistics;
					anyMatch(param0: any /* any*/): boolean;
					allMatch(param0: any /* any*/): boolean;
					noneMatch(param0: any /* any*/): boolean;
					findFirst(): java.util.OptionalLong;
					findAny(): java.util.OptionalLong;
					asDoubleStream(): java.util.stream.DoubleStream;
					boxed(): java.util.stream.Stream<java.lang.Long>;
					sequential(): java.util.stream.LongStream;
					parallel(): java.util.stream.LongStream;
					iterator(): java.util.PrimitiveIterator.OfLong;
					spliterator(): java.util.Spliterator.OfLong;
					builder(): java.util.stream.LongStream.Builder;
					empty(): java.util.stream.LongStream;
					of(param0: number): java.util.stream.LongStream;
					of(param0: native.Array<number>): java.util.stream.LongStream;
					iterate(param0: number, param1: any /* any*/): java.util.stream.LongStream;
					generate(param0: any /* any*/): java.util.stream.LongStream;
					range(param0: number, param1: number): java.util.stream.LongStream;
					rangeClosed(param0: number, param1: number): java.util.stream.LongStream;
					concat(param0: java.util.stream.LongStream, param1: java.util.stream.LongStream): java.util.stream.LongStream;
					parallel(): java.util.stream.BaseStream<any,any>;
					sequential(): java.util.stream.BaseStream<any,any>;
					spliterator(): java.util.Spliterator<any>;
					iterator(): java.util.Iterator<any>;
					iterator(): java.util.Iterator<any>;
					spliterator(): java.util.Spliterator<any>;
					isParallel(): boolean;
					sequential(): any;
					parallel(): any;
					unordered(): any;
					onClose(param0: java.lang.Runnable): any;
					close(): void;
					close(): void;
				});
				public constructor();
				public boxed(): java.util.stream.Stream<java.lang.Long>;
				public spliterator(): java.util.Spliterator.OfLong;
				public summaryStatistics(): java.util.LongSummaryStatistics;
				public peek(param0: any /* any*/): java.util.stream.LongStream;
				public toArray(): native.Array<number>;
				public sequential(): any;
				public max(): java.util.OptionalLong;
				public mapToDouble(param0: any /* any*/): java.util.stream.DoubleStream;
				public collect(param0: any /* any*/, param1: any /* any*/, param2: any /* any*/): any;
				public forEach(param0: any /* any*/): void;
				public sum(): number;
				public static range(param0: number, param1: number): java.util.stream.LongStream;
				public filter(param0: any /* any*/): java.util.stream.LongStream;
				public asDoubleStream(): java.util.stream.DoubleStream;
				public mapToObj(param0: any /* any*/): java.util.stream.Stream<any>;
				public parallel(): java.util.stream.LongStream;
				public close(): void;
				public spliterator(): java.util.Spliterator<any>;
				public reduce(param0: any /* any*/): java.util.OptionalLong;
				public iterator(): java.util.Iterator<any>;
				public unordered(): any;
				public allMatch(param0: any /* any*/): boolean;
				public forEachOrdered(param0: any /* any*/): void;
				public average(): java.util.OptionalDouble;
				public mapToInt(param0: any /* any*/): java.util.stream.IntStream;
				public static iterate(param0: number, param1: any /* any*/): java.util.stream.LongStream;
				public sorted(): java.util.stream.LongStream;
				public distinct(): java.util.stream.LongStream;
				public reduce(param0: number, param1: any /* any*/): number;
				public noneMatch(param0: any /* any*/): boolean;
				public isParallel(): boolean;
				public findFirst(): java.util.OptionalLong;
				public static rangeClosed(param0: number, param1: number): java.util.stream.LongStream;
				public map(param0: any /* any*/): java.util.stream.LongStream;
				public parallel(): any;
				public static generate(param0: any /* any*/): java.util.stream.LongStream;
				public static empty(): java.util.stream.LongStream;
				public flatMap(param0: any /* any*/): java.util.stream.LongStream;
				public iterator(): java.util.PrimitiveIterator.OfLong;
				public static of(param0: number): java.util.stream.LongStream;
				public findAny(): java.util.OptionalLong;
				public onClose(param0: java.lang.Runnable): any;
				public skip(param0: number): java.util.stream.LongStream;
				public static concat(param0: java.util.stream.LongStream, param1: java.util.stream.LongStream): java.util.stream.LongStream;
				public static builder(): java.util.stream.LongStream.Builder;
				public min(): java.util.OptionalLong;
				public anyMatch(param0: any /* any*/): boolean;
				public sequential(): java.util.stream.LongStream;
				public count(): number;
				public limit(param0: number): java.util.stream.LongStream;
				public static of(param0: native.Array<number>): java.util.stream.LongStream;
			}
			export module LongStream {
				export class Builder extends java.lang.Object {
					public static class: java.lang.Class<java.util.stream.LongStream.Builder>;
					/**
					 * Constructs a new instance of the java.util.stream.LongStream$Builder interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						accept(param0: number): void;
						add(param0: number): java.util.stream.LongStream.Builder;
						build(): java.util.stream.LongStream;
					});
					public constructor();
					public build(): java.util.stream.LongStream;
					public accept(param0: number): void;
					public add(param0: number): java.util.stream.LongStream.Builder;
				}
			}
		}
	}
}

declare module java {
	export module util {
		export module stream {
			export class Stream<T>  extends java.util.stream.BaseStream<any,java.util.stream.Stream<any>> {
				public static class: java.lang.Class<java.util.stream.Stream<any>>;
				/**
				 * Constructs a new instance of the java.util.stream.Stream<any> interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					filter(param0: any /* any*/): java.util.stream.Stream<any>;
					map(param0: any /* any*/): java.util.stream.Stream<any>;
					mapToInt(param0: any /* any*/): java.util.stream.IntStream;
					mapToLong(param0: any /* any*/): java.util.stream.LongStream;
					mapToDouble(param0: any /* any*/): java.util.stream.DoubleStream;
					flatMap(param0: any /* any*/): java.util.stream.Stream<any>;
					flatMapToInt(param0: any /* any<any,any>*/): java.util.stream.IntStream;
					flatMapToLong(param0: any /* any<any,any>*/): java.util.stream.LongStream;
					flatMapToDouble(param0: any /* any<any,any>*/): java.util.stream.DoubleStream;
					distinct(): java.util.stream.Stream<any>;
					sorted(): java.util.stream.Stream<any>;
					sorted(param0: java.util.Comparator<any>): java.util.stream.Stream<any>;
					peek(param0: any /* any*/): java.util.stream.Stream<any>;
					limit(param0: number): java.util.stream.Stream<any>;
					skip(param0: number): java.util.stream.Stream<any>;
					forEach(param0: any /* any*/): void;
					forEachOrdered(param0: any /* any*/): void;
					toArray(): native.Array<any>;
					toArray(param0: any /* any*/): native.Array<any>;
					reduce(param0: any, param1: any /* any*/): any;
					reduce(param0: any /* any*/): java.util.Optional<any>;
					reduce(param0: any, param1: any /* any*/, param2: any /* any*/): any;
					collect(param0: any /* any*/, param1: any /* any*/, param2: any /* any*/): any;
					collect(param0: java.util.stream.Collector<any,any,any>): any;
					min(param0: java.util.Comparator<any>): java.util.Optional<any>;
					max(param0: java.util.Comparator<any>): java.util.Optional<any>;
					count(): number;
					anyMatch(param0: any /* any*/): boolean;
					allMatch(param0: any /* any*/): boolean;
					noneMatch(param0: any /* any*/): boolean;
					findFirst(): java.util.Optional<any>;
					findAny(): java.util.Optional<any>;
					builder(): java.util.stream.Stream.Builder<any>;
					empty(): java.util.stream.Stream<any>;
					of(param0: any): java.util.stream.Stream<any>;
					of(param0: native.Array<any>): java.util.stream.Stream<any>;
					iterate(param0: any, param1: any /* any*/): java.util.stream.Stream<any>;
					generate(param0: any /* any*/): java.util.stream.Stream<any>;
					concat(param0: java.util.stream.Stream<any>, param1: java.util.stream.Stream<any>): java.util.stream.Stream<any>;
					iterator(): java.util.Iterator<any>;
					spliterator(): java.util.Spliterator<any>;
					isParallel(): boolean;
					sequential(): any;
					parallel(): any;
					unordered(): any;
					onClose(param0: java.lang.Runnable): any;
					close(): void;
					close(): void;
				});
				public constructor();
				public collect(param0: java.util.stream.Collector<any,any,any>): any;
				public peek(param0: any /* any*/): java.util.stream.Stream<any>;
				public mapToDouble(param0: any /* any*/): java.util.stream.DoubleStream;
				public isParallel(): boolean;
				public mapToLong(param0: any /* any*/): java.util.stream.LongStream;
				public min(param0: java.util.Comparator<any>): java.util.Optional<any>;
				public sequential(): any;
				public flatMapToLong(param0: any /* any<any,any>*/): java.util.stream.LongStream;
				public reduce(param0: any /* any*/): java.util.Optional<any>;
				public toArray(): native.Array<any>;
				public max(param0: java.util.Comparator<any>): java.util.Optional<any>;
				public noneMatch(param0: any /* any*/): boolean;
				public map(param0: any /* any*/): java.util.stream.Stream<any>;
				public parallel(): any;
				public flatMap(param0: any /* any*/): java.util.stream.Stream<any>;
				public distinct(): java.util.stream.Stream<any>;
				public filter(param0: any /* any*/): java.util.stream.Stream<any>;
				public flatMapToDouble(param0: any /* any<any,any>*/): java.util.stream.DoubleStream;
				public sorted(): java.util.stream.Stream<any>;
				public mapToInt(param0: any /* any*/): java.util.stream.IntStream;
				public flatMapToInt(param0: any /* any<any,any>*/): java.util.stream.IntStream;
				public limit(param0: number): java.util.stream.Stream<any>;
				public collect(param0: any /* any*/, param1: any /* any*/, param2: any /* any*/): any;
				public sorted(param0: java.util.Comparator<any>): java.util.stream.Stream<any>;
				public static builder(): java.util.stream.Stream.Builder<any>;
				public close(): void;
				public spliterator(): java.util.Spliterator<any>;
				public findAny(): java.util.Optional<any>;
				public iterator(): java.util.Iterator<any>;
				public toArray(param0: any /* any*/): native.Array<any>;
				public reduce(param0: any, param1: any /* any*/): any;
				public onClose(param0: java.lang.Runnable): any;
				public unordered(): any;
				public allMatch(param0: any /* any*/): boolean;
				public reduce(param0: any, param1: any /* any*/, param2: any /* any*/): any;
				public static empty(): java.util.stream.Stream<any>;
				public static of(param0: any): java.util.stream.Stream<any>;
				public skip(param0: number): java.util.stream.Stream<any>;
				public forEach(param0: any /* any*/): void;
				public static concat(param0: java.util.stream.Stream<any>, param1: java.util.stream.Stream<any>): java.util.stream.Stream<any>;
				public static iterate(param0: any, param1: any /* any*/): java.util.stream.Stream<any>;
				public forEachOrdered(param0: any /* any*/): void;
				public count(): number;
				public static generate(param0: any /* any*/): java.util.stream.Stream<any>;
				public static of(param0: native.Array<any>): java.util.stream.Stream<any>;
				public anyMatch(param0: any /* any*/): boolean;
				public findFirst(): java.util.Optional<any>;
			}
			export module Stream {
				export class Builder<T>  extends java.lang.Object /* any*/ {
					public static class: java.lang.Class<java.util.stream.Stream.Builder<any>>;
					/**
					 * Constructs a new instance of the java.util.stream.Stream$Builder interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						accept(param0: any): void;
						add(param0: any): java.util.stream.Stream.Builder<any>;
						build(): java.util.stream.Stream<any>;
					});
					public constructor();
					public accept(param0: any): void;
					public build(): java.util.stream.Stream<any>;
					public add(param0: any): java.util.stream.Stream.Builder<any>;
				}
			}
		}
	}
}

declare module java {
	export module util {
		export module stream {
			export class StreamSupport extends java.lang.Object {
				public static class: java.lang.Class<java.util.stream.StreamSupport>;
				public static stream(param0: java.util.Spliterator<any>, param1: boolean): java.util.stream.Stream<any>;
				public static longStream(param0: any /* any*/, param1: number, param2: boolean): java.util.stream.LongStream;
				public static doubleStream(param0: java.util.Spliterator.OfDouble, param1: boolean): java.util.stream.DoubleStream;
				public static intStream(param0: any /* any*/, param1: number, param2: boolean): java.util.stream.IntStream;
				public static doubleStream(param0: any /* any*/, param1: number, param2: boolean): java.util.stream.DoubleStream;
				public static stream(param0: any /* any*/, param1: number, param2: boolean): java.util.stream.Stream<any>;
				public static intStream(param0: java.util.Spliterator.OfInt, param1: boolean): java.util.stream.IntStream;
				public static longStream(param0: java.util.Spliterator.OfLong, param1: boolean): java.util.stream.LongStream;
			}
		}
	}
}

declare module java {
	export module util {
		export module zip {
			export class Adler32 extends java.lang.Object implements java.util.zip.Checksum {
				public static class: java.lang.Class<java.util.zip.Adler32>;
				public reset(): void;
				public update(param0: native.Array<number>, param1: number, param2: number): void;
				public update(param0: native.Array<number>): void;
				public update(param0: number): void;
				public update(param0: java.nio.ByteBuffer): void;
				public getValue(): number;
				public constructor();
			}
		}
	}
}

declare module java {
	export module util {
		export module zip {
			export class CRC32 extends java.lang.Object implements java.util.zip.Checksum {
				public static class: java.lang.Class<java.util.zip.CRC32>;
				public reset(): void;
				public update(param0: native.Array<number>, param1: number, param2: number): void;
				public update(param0: native.Array<number>): void;
				public update(param0: number): void;
				public update(param0: java.nio.ByteBuffer): void;
				public getValue(): number;
				public constructor();
			}
		}
	}
}

declare module java {
	export module util {
		export module zip {
			export class CheckedInputStream extends java.io.FilterInputStream {
				public static class: java.lang.Class<java.util.zip.CheckedInputStream>;
				public getChecksum(): java.util.zip.Checksum;
				public read(): number;
				public skip(param0: number): number;
				public close(): void;
				public constructor(param0: java.io.InputStream, param1: java.util.zip.Checksum);
				public read(param0: native.Array<number>): number;
				public read(param0: native.Array<number>, param1: number, param2: number): number;
				public constructor(param0: java.io.InputStream);
				public constructor();
			}
		}
	}
}

declare module java {
	export module util {
		export module zip {
			export class CheckedOutputStream extends java.io.FilterOutputStream {
				public static class: java.lang.Class<java.util.zip.CheckedOutputStream>;
				public getChecksum(): java.util.zip.Checksum;
				public close(): void;
				public constructor(param0: java.io.OutputStream);
				public write(param0: native.Array<number>, param1: number, param2: number): void;
				public write(param0: number): void;
				public write(param0: native.Array<number>): void;
				public constructor(param0: java.io.OutputStream, param1: java.util.zip.Checksum);
				public constructor();
				public flush(): void;
			}
		}
	}
}

declare module java {
	export module util {
		export module zip {
			export class Checksum extends java.lang.Object {
				public static class: java.lang.Class<java.util.zip.Checksum>;
				/**
				 * Constructs a new instance of the java.util.zip.Checksum interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					update(param0: number): void;
					update(param0: native.Array<number>, param1: number, param2: number): void;
					getValue(): number;
					reset(): void;
				});
				public constructor();
				public reset(): void;
				public update(param0: native.Array<number>, param1: number, param2: number): void;
				public update(param0: number): void;
				public getValue(): number;
			}
		}
	}
}

declare module java {
	export module util {
		export module zip {
			export class DataFormatException extends java.lang.Exception {
				public static class: java.lang.Class<java.util.zip.DataFormatException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module util {
		export module zip {
			export class Deflater extends java.lang.Object {
				public static class: java.lang.Class<java.util.zip.Deflater>;
				public static BEST_COMPRESSION: number;
				public static BEST_SPEED: number;
				public static DEFAULT_COMPRESSION: number;
				public static DEFAULT_STRATEGY: number;
				public static DEFLATED: number;
				public static FILTERED: number;
				public static FULL_FLUSH: number;
				public static HUFFMAN_ONLY: number;
				public static NO_COMPRESSION: number;
				public static NO_FLUSH: number;
				public static SYNC_FLUSH: number;
				public setDictionary(param0: native.Array<number>, param1: number, param2: number): void;
				public getAdler(): number;
				public deflate(param0: native.Array<number>, param1: number, param2: number, param3: number): number;
				public getTotalIn(): number;
				public setStrategy(param0: number): void;
				public getTotalOut(): number;
				public finalize(): void;
				public constructor(param0: number, param1: boolean);
				public needsInput(): boolean;
				public getBytesWritten(): number;
				public setLevel(param0: number): void;
				public finish(): void;
				public constructor();
				public setInput(param0: native.Array<number>): void;
				public getBytesRead(): number;
				public end(): void;
				public deflate(param0: native.Array<number>, param1: number, param2: number): number;
				public reset(): void;
				public deflate(param0: native.Array<number>): number;
				public constructor(param0: number);
				public setInput(param0: native.Array<number>, param1: number, param2: number): void;
				public finished(): boolean;
				public setDictionary(param0: native.Array<number>): void;
			}
		}
	}
}

declare module java {
	export module util {
		export module zip {
			export class DeflaterInputStream extends java.io.FilterInputStream {
				public static class: java.lang.Class<java.util.zip.DeflaterInputStream>;
				public buf: native.Array<number>;
				public def: java.util.zip.Deflater;
				public markSupported(): boolean;
				public close(): void;
				public read(param0: native.Array<number>, param1: number, param2: number): number;
				public constructor(param0: java.io.InputStream);
				public constructor();
				public reset(): void;
				public read(): number;
				public skip(param0: number): number;
				public constructor(param0: java.io.InputStream, param1: java.util.zip.Deflater, param2: number);
				public constructor(param0: java.io.InputStream, param1: java.util.zip.Deflater);
				public read(param0: native.Array<number>): number;
				public available(): number;
				public mark(param0: number): void;
			}
		}
	}
}

declare module java {
	export module util {
		export module zip {
			export class DeflaterOutputStream extends java.io.FilterOutputStream {
				public static class: java.lang.Class<java.util.zip.DeflaterOutputStream>;
				public buf: native.Array<number>;
				public def: java.util.zip.Deflater;
				public constructor(param0: java.io.OutputStream, param1: java.util.zip.Deflater, param2: number, param3: boolean);
				public close(): void;
				public constructor(param0: java.io.OutputStream);
				public write(param0: native.Array<number>, param1: number, param2: number): void;
				public write(param0: native.Array<number>): void;
				public finish(): void;
				public deflate(): void;
				public constructor(param0: java.io.OutputStream, param1: boolean);
				public constructor();
				public flush(): void;
				public constructor(param0: java.io.OutputStream, param1: java.util.zip.Deflater, param2: boolean);
				public write(param0: number): void;
				public constructor(param0: java.io.OutputStream, param1: java.util.zip.Deflater, param2: number);
				public constructor(param0: java.io.OutputStream, param1: java.util.zip.Deflater);
			}
		}
	}
}

declare module java {
	export module util {
		export module zip {
			export class GZIPInputStream extends java.util.zip.InflaterInputStream {
				public static class: java.lang.Class<java.util.zip.GZIPInputStream>;
				public static GZIP_MAGIC: number;
				public crc: java.util.zip.CRC32;
				public eos: boolean;
				public constructor(param0: java.io.InputStream, param1: java.util.zip.Inflater, param2: number);
				public read(): number;
				public close(): void;
				public read(param0: native.Array<number>): number;
				public constructor(param0: java.io.InputStream, param1: number);
				public read(param0: native.Array<number>, param1: number, param2: number): number;
				public constructor(param0: java.io.InputStream);
				public constructor(param0: java.io.InputStream, param1: java.util.zip.Inflater);
				public constructor();
			}
		}
	}
}

declare module java {
	export module util {
		export module zip {
			export class GZIPOutputStream extends java.util.zip.DeflaterOutputStream {
				public static class: java.lang.Class<java.util.zip.GZIPOutputStream>;
				public crc: java.util.zip.CRC32;
				public constructor(param0: java.io.OutputStream, param1: java.util.zip.Deflater, param2: number, param3: boolean);
				public close(): void;
				public constructor(param0: java.io.OutputStream);
				public write(param0: native.Array<number>, param1: number, param2: number): void;
				public write(param0: native.Array<number>): void;
				public finish(): void;
				public constructor(param0: java.io.OutputStream, param1: boolean);
				public constructor();
				public flush(): void;
				public constructor(param0: java.io.OutputStream, param1: java.util.zip.Deflater, param2: boolean);
				public write(param0: number): void;
				public constructor(param0: java.io.OutputStream, param1: java.util.zip.Deflater, param2: number);
				public constructor(param0: java.io.OutputStream, param1: number, param2: boolean);
				public constructor(param0: java.io.OutputStream, param1: number);
				public constructor(param0: java.io.OutputStream, param1: java.util.zip.Deflater);
			}
		}
	}
}

declare module java {
	export module util {
		export module zip {
			export class Inflater extends java.lang.Object {
				public static class: java.lang.Class<java.util.zip.Inflater>;
				public setDictionary(param0: native.Array<number>, param1: number, param2: number): void;
				public getAdler(): number;
				public getTotalIn(): number;
				public getRemaining(): number;
				public getTotalOut(): number;
				public finalize(): void;
				public constructor(param0: boolean);
				public needsInput(): boolean;
				public getBytesWritten(): number;
				public inflate(param0: native.Array<number>, param1: number, param2: number): number;
				public constructor();
				public setInput(param0: native.Array<number>): void;
				public getBytesRead(): number;
				public end(): void;
				public reset(): void;
				public needsDictionary(): boolean;
				public inflate(param0: native.Array<number>): number;
				public setInput(param0: native.Array<number>, param1: number, param2: number): void;
				public finished(): boolean;
				public setDictionary(param0: native.Array<number>): void;
			}
		}
	}
}

declare module java {
	export module util {
		export module zip {
			export class InflaterInputStream extends java.io.FilterInputStream {
				public static class: java.lang.Class<java.util.zip.InflaterInputStream>;
				public buf: native.Array<number>;
				public closed: boolean;
				public inf: java.util.zip.Inflater;
				public len: number;
				public constructor(param0: java.io.InputStream, param1: java.util.zip.Inflater, param2: number);
				public markSupported(): boolean;
				public close(): void;
				public read(param0: native.Array<number>, param1: number, param2: number): number;
				public constructor(param0: java.io.InputStream);
				public constructor();
				public constructor(param0: java.io.InputStream, param1: java.util.zip.Inflater);
				public reset(): void;
				public read(): number;
				public skip(param0: number): number;
				public read(param0: native.Array<number>): number;
				public available(): number;
				public fill(): void;
				public mark(param0: number): void;
			}
		}
	}
}

declare module java {
	export module util {
		export module zip {
			export class InflaterOutputStream extends java.io.FilterOutputStream {
				public static class: java.lang.Class<java.util.zip.InflaterOutputStream>;
				public buf: native.Array<number>;
				public inf: java.util.zip.Inflater;
				public close(): void;
				public constructor(param0: java.io.OutputStream);
				public write(param0: native.Array<number>, param1: number, param2: number): void;
				public write(param0: number): void;
				public write(param0: native.Array<number>): void;
				public constructor(param0: java.io.OutputStream, param1: java.util.zip.Inflater);
				public finish(): void;
				public constructor();
				public constructor(param0: java.io.OutputStream, param1: java.util.zip.Inflater, param2: number);
				public flush(): void;
			}
		}
	}
}

declare module java {
	export module util {
		export module zip {
			export class ZipEntry extends java.lang.Object implements java.lang.Cloneable {
				public static class: java.lang.Class<java.util.zip.ZipEntry>;
				public static CENATT: number;
				public static CENATX: number;
				public static CENCOM: number;
				public static CENCRC: number;
				public static CENDSK: number;
				public static CENEXT: number;
				public static CENFLG: number;
				public static CENHDR: number;
				public static CENHOW: number;
				public static CENLEN: number;
				public static CENNAM: number;
				public static CENOFF: number;
				public static CENSIG: number;
				public static CENSIZ: number;
				public static CENTIM: number;
				public static CENVEM: number;
				public static CENVER: number;
				public static DEFLATED: number;
				public static ENDCOM: number;
				public static ENDHDR: number;
				public static ENDOFF: number;
				public static ENDSIG: number;
				public static ENDSIZ: number;
				public static ENDSUB: number;
				public static ENDTOT: number;
				public static EXTCRC: number;
				public static EXTHDR: number;
				public static EXTLEN: number;
				public static EXTSIG: number;
				public static EXTSIZ: number;
				public static LOCCRC: number;
				public static LOCEXT: number;
				public static LOCFLG: number;
				public static LOCHDR: number;
				public static LOCHOW: number;
				public static LOCLEN: number;
				public static LOCNAM: number;
				public static LOCSIG: number;
				public static LOCSIZ: number;
				public static LOCTIM: number;
				public static LOCVER: number;
				public static STORED: number;
				public getCreationTime(): java.nio.file.attribute.FileTime;
				public getExtra(): native.Array<number>;
				public setCompressedSize(param0: number): void;
				public setSize(param0: number): void;
				public constructor(param0: string);
				public getMethod(): number;
				public setExtra(param0: native.Array<number>): void;
				public getSize(): number;
				public hashCode(): number;
				public getCrc(): number;
				public setMethod(param0: number): void;
				public clone(): any;
				public isDirectory(): boolean;
				public getLastAccessTime(): java.nio.file.attribute.FileTime;
				public setTime(param0: number): void;
				public getComment(): string;
				public setLastModifiedTime(param0: java.nio.file.attribute.FileTime): java.util.zip.ZipEntry;
				public setComment(param0: string): void;
				public setLastAccessTime(param0: java.nio.file.attribute.FileTime): java.util.zip.ZipEntry;
				public getCompressedSize(): number;
				public setCreationTime(param0: java.nio.file.attribute.FileTime): java.util.zip.ZipEntry;
				public getName(): string;
				public getLastModifiedTime(): java.nio.file.attribute.FileTime;
				public setCrc(param0: number): void;
				public toString(): string;
				public getTime(): number;
				public constructor(param0: java.util.zip.ZipEntry);
			}
		}
	}
}

declare module java {
	export module util {
		export module zip {
			export class ZipError extends java.lang.InternalError {
				public static class: java.lang.Class<java.util.zip.ZipError>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module util {
		export module zip {
			export class ZipException extends java.io.IOException {
				public static class: java.lang.Class<java.util.zip.ZipException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module java {
	export module util {
		export module zip {
			export class ZipFile extends java.lang.Object implements java.io.Closeable {
				public static class: java.lang.Class<java.util.zip.ZipFile>;
				public static CENATT: number;
				public static CENATX: number;
				public static CENCOM: number;
				public static CENCRC: number;
				public static CENDSK: number;
				public static CENEXT: number;
				public static CENFLG: number;
				public static CENHDR: number;
				public static CENHOW: number;
				public static CENLEN: number;
				public static CENNAM: number;
				public static CENOFF: number;
				public static CENSIG: number;
				public static CENSIZ: number;
				public static CENTIM: number;
				public static CENVEM: number;
				public static CENVER: number;
				public static ENDCOM: number;
				public static ENDHDR: number;
				public static ENDOFF: number;
				public static ENDSIG: number;
				public static ENDSIZ: number;
				public static ENDSUB: number;
				public static ENDTOT: number;
				public static EXTCRC: number;
				public static EXTHDR: number;
				public static EXTLEN: number;
				public static EXTSIG: number;
				public static EXTSIZ: number;
				public static LOCCRC: number;
				public static LOCEXT: number;
				public static LOCFLG: number;
				public static LOCHDR: number;
				public static LOCHOW: number;
				public static LOCLEN: number;
				public static LOCNAM: number;
				public static LOCSIG: number;
				public static LOCSIZ: number;
				public static LOCTIM: number;
				public static LOCVER: number;
				public static OPEN_DELETE: number;
				public static OPEN_READ: number;
				public close(): void;
				public constructor(param0: java.io.File);
				public getEntry(param0: string): java.util.zip.ZipEntry;
				public stream(): java.util.stream.Stream<any>;
				public finalize(): void;
				public getName(): string;
				public entries(): java.util.Enumeration<any>;
				public constructor(param0: string);
				public constructor(param0: string, param1: java.nio.charset.Charset);
				public size(): number;
				public getInputStream(param0: java.util.zip.ZipEntry): java.io.InputStream;
				public constructor(param0: java.io.File, param1: java.nio.charset.Charset);
				public constructor(param0: java.io.File, param1: number);
				public constructor(param0: java.io.File, param1: number, param2: java.nio.charset.Charset);
				public getComment(): string;
			}
		}
	}
}

declare module java {
	export module util {
		export module zip {
			export class ZipInputStream extends java.util.zip.InflaterInputStream {
				public static class: java.lang.Class<java.util.zip.ZipInputStream>;
				public static CENATT: number;
				public static CENATX: number;
				public static CENCOM: number;
				public static CENCRC: number;
				public static CENDSK: number;
				public static CENEXT: number;
				public static CENFLG: number;
				public static CENHDR: number;
				public static CENHOW: number;
				public static CENLEN: number;
				public static CENNAM: number;
				public static CENOFF: number;
				public static CENSIG: number;
				public static CENSIZ: number;
				public static CENTIM: number;
				public static CENVEM: number;
				public static CENVER: number;
				public static ENDCOM: number;
				public static ENDHDR: number;
				public static ENDOFF: number;
				public static ENDSIG: number;
				public static ENDSIZ: number;
				public static ENDSUB: number;
				public static ENDTOT: number;
				public static EXTCRC: number;
				public static EXTHDR: number;
				public static EXTLEN: number;
				public static EXTSIG: number;
				public static EXTSIZ: number;
				public static LOCCRC: number;
				public static LOCEXT: number;
				public static LOCFLG: number;
				public static LOCHDR: number;
				public static LOCHOW: number;
				public static LOCLEN: number;
				public static LOCNAM: number;
				public static LOCSIG: number;
				public static LOCSIZ: number;
				public static LOCTIM: number;
				public static LOCVER: number;
				public constructor(param0: java.io.InputStream, param1: java.util.zip.Inflater, param2: number);
				public close(): void;
				public read(param0: native.Array<number>, param1: number, param2: number): number;
				public closeEntry(): void;
				public createZipEntry(param0: string): java.util.zip.ZipEntry;
				public constructor(param0: java.io.InputStream);
				public constructor(param0: java.io.InputStream, param1: java.util.zip.Inflater);
				public constructor();
				public read(): number;
				public skip(param0: number): number;
				public read(param0: native.Array<number>): number;
				public getNextEntry(): java.util.zip.ZipEntry;
				public available(): number;
				public constructor(param0: java.io.InputStream, param1: java.nio.charset.Charset);
			}
		}
	}
}

declare module java {
	export module util {
		export module zip {
			export class ZipOutputStream extends java.util.zip.DeflaterOutputStream {
				public static class: java.lang.Class<java.util.zip.ZipOutputStream>;
				public static CENATT: number;
				public static CENATX: number;
				public static CENCOM: number;
				public static CENCRC: number;
				public static CENDSK: number;
				public static CENEXT: number;
				public static CENFLG: number;
				public static CENHDR: number;
				public static CENHOW: number;
				public static CENLEN: number;
				public static CENNAM: number;
				public static CENOFF: number;
				public static CENSIG: number;
				public static CENSIZ: number;
				public static CENTIM: number;
				public static CENVEM: number;
				public static CENVER: number;
				public static DEFLATED: number;
				public static ENDCOM: number;
				public static ENDHDR: number;
				public static ENDOFF: number;
				public static ENDSIG: number;
				public static ENDSIZ: number;
				public static ENDSUB: number;
				public static ENDTOT: number;
				public static EXTCRC: number;
				public static EXTHDR: number;
				public static EXTLEN: number;
				public static EXTSIG: number;
				public static EXTSIZ: number;
				public static LOCCRC: number;
				public static LOCEXT: number;
				public static LOCFLG: number;
				public static LOCHDR: number;
				public static LOCHOW: number;
				public static LOCLEN: number;
				public static LOCNAM: number;
				public static LOCSIG: number;
				public static LOCSIZ: number;
				public static LOCTIM: number;
				public static LOCVER: number;
				public static STORED: number;
				public setComment(param0: string): void;
				public constructor(param0: java.io.OutputStream, param1: java.util.zip.Deflater, param2: number, param3: boolean);
				public close(): void;
				public constructor(param0: java.io.OutputStream);
				public constructor(param0: java.io.OutputStream, param1: java.nio.charset.Charset);
				public write(param0: native.Array<number>, param1: number, param2: number): void;
				public write(param0: native.Array<number>): void;
				public setLevel(param0: number): void;
				public closeEntry(): void;
				public finish(): void;
				public constructor(param0: java.io.OutputStream, param1: boolean);
				public constructor();
				public flush(): void;
				public constructor(param0: java.io.OutputStream, param1: java.util.zip.Deflater, param2: boolean);
				public write(param0: number): void;
				public constructor(param0: java.io.OutputStream, param1: java.util.zip.Deflater, param2: number);
				public setMethod(param0: number): void;
				public constructor(param0: java.io.OutputStream, param1: java.util.zip.Deflater);
				public putNextEntry(param0: java.util.zip.ZipEntry): void;
			}
		}
	}
}

declare module javax {
	export module crypto {
		export class AEADBadTagException extends javax.crypto.BadPaddingException {
			public static class: java.lang.Class<javax.crypto.AEADBadTagException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module javax {
	export module crypto {
		export class BadPaddingException extends java.security.GeneralSecurityException {
			public static class: java.lang.Class<javax.crypto.BadPaddingException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module javax {
	export module crypto {
		export class Cipher extends java.lang.Object {
			public static class: java.lang.Class<javax.crypto.Cipher>;
			public static DECRYPT_MODE: number;
			public static ENCRYPT_MODE: number;
			public static PRIVATE_KEY: number;
			public static PUBLIC_KEY: number;
			public static SECRET_KEY: number;
			public static UNWRAP_MODE: number;
			public static WRAP_MODE: number;
			public getParameters(): java.security.AlgorithmParameters;
			public init(param0: number, param1: java.security.Key, param2: java.security.SecureRandom): void;
			public getOutputSize(param0: number): number;
			public updateAAD(param0: native.Array<number>): void;
			public constructor(param0: javax.crypto.CipherSpi, param1: java.security.Provider, param2: string);
			public init(param0: number, param1: java.security.Key, param2: java.security.spec.AlgorithmParameterSpec): void;
			public update(param0: native.Array<number>, param1: number, param2: number): native.Array<number>;
			public static getMaxAllowedKeyLength(param0: string): number;
			public doFinal(): native.Array<number>;
			public init(param0: number, param1: java.security.Key): void;
			public doFinal(param0: native.Array<number>, param1: number, param2: number, param3: native.Array<number>): number;
			public getBlockSize(): number;
			public init(param0: number, param1: java.security.Key, param2: java.security.spec.AlgorithmParameterSpec, param3: java.security.SecureRandom): void;
			public static getInstance(param0: string, param1: java.security.Provider): javax.crypto.Cipher;
			public init(param0: number, param1: java.security.Key, param2: java.security.AlgorithmParameters, param3: java.security.SecureRandom): void;
			public update(param0: native.Array<number>): native.Array<number>;
			public updateAAD(param0: native.Array<number>, param1: number, param2: number): void;
			public getIV(): native.Array<number>;
			public update(param0: java.nio.ByteBuffer, param1: java.nio.ByteBuffer): number;
			public doFinal(param0: native.Array<number>, param1: number, param2: number, param3: native.Array<number>, param4: number): number;
			public static getInstance(param0: string, param1: string): javax.crypto.Cipher;
			public static getInstance(param0: string): javax.crypto.Cipher;
			public doFinal(param0: native.Array<number>): native.Array<number>;
			public static getMaxAllowedParameterSpec(param0: string): java.security.spec.AlgorithmParameterSpec;
			public doFinal(param0: java.nio.ByteBuffer, param1: java.nio.ByteBuffer): number;
			public getProvider(): java.security.Provider;
			public update(param0: native.Array<number>, param1: number, param2: number, param3: native.Array<number>, param4: number): number;
			public wrap(param0: java.security.Key): native.Array<number>;
			public doFinal(param0: native.Array<number>, param1: number): number;
			public getExemptionMechanism(): javax.crypto.ExemptionMechanism;
			public getAlgorithm(): string;
			public updateAAD(param0: java.nio.ByteBuffer): void;
			public update(param0: native.Array<number>, param1: number, param2: number, param3: native.Array<number>): number;
			public doFinal(param0: native.Array<number>, param1: number, param2: number): native.Array<number>;
			public init(param0: number, param1: java.security.cert.Certificate, param2: java.security.SecureRandom): void;
			public init(param0: number, param1: java.security.cert.Certificate): void;
			public init(param0: number, param1: java.security.Key, param2: java.security.AlgorithmParameters): void;
			public unwrap(param0: native.Array<number>, param1: string, param2: number): java.security.Key;
		}
	}
}

declare module javax {
	export module crypto {
		export class CipherInputStream extends java.io.FilterInputStream {
			public static class: java.lang.Class<javax.crypto.CipherInputStream>;
			public markSupported(): boolean;
			public read(param0: native.Array<number>): number;
			public skip(param0: number): number;
			public constructor(param0: java.io.InputStream, param1: javax.crypto.Cipher);
			public constructor(param0: java.io.InputStream);
			public read(param0: native.Array<number>, param1: number, param2: number): number;
			public constructor();
			public close(): void;
			public read(): number;
			public available(): number;
		}
	}
}

declare module javax {
	export module crypto {
		export class CipherOutputStream extends java.io.FilterOutputStream {
			public static class: java.lang.Class<javax.crypto.CipherOutputStream>;
			public flush(): void;
			public constructor(param0: java.io.OutputStream, param1: javax.crypto.Cipher);
			public write(param0: number): void;
			public constructor(param0: java.io.OutputStream);
			public write(param0: native.Array<number>, param1: number, param2: number): void;
			public constructor();
			public write(param0: native.Array<number>): void;
			public close(): void;
		}
	}
}

declare module javax {
	export module crypto {
		export abstract class CipherSpi extends java.lang.Object {
			public static class: java.lang.Class<javax.crypto.CipherSpi>;
			public engineUpdateAAD(param0: native.Array<number>, param1: number, param2: number): void;
			public engineUnwrap(param0: native.Array<number>, param1: string, param2: number): java.security.Key;
			public engineGetKeySize(param0: java.security.Key): number;
			public engineUpdateAAD(param0: java.nio.ByteBuffer): void;
			public engineInit(param0: number, param1: java.security.Key, param2: java.security.spec.AlgorithmParameterSpec, param3: java.security.SecureRandom): void;
			public engineInit(param0: number, param1: java.security.Key, param2: java.security.SecureRandom): void;
			public engineDoFinal(param0: native.Array<number>, param1: number, param2: number, param3: native.Array<number>, param4: number): number;
			public engineUpdate(param0: native.Array<number>, param1: number, param2: number, param3: native.Array<number>, param4: number): number;
			public constructor();
			public engineUpdate(param0: native.Array<number>, param1: number, param2: number): native.Array<number>;
			public engineDoFinal(param0: java.nio.ByteBuffer, param1: java.nio.ByteBuffer): number;
			public engineSetPadding(param0: string): void;
			public engineGetIV(): native.Array<number>;
			public engineWrap(param0: java.security.Key): native.Array<number>;
			public engineUpdate(param0: java.nio.ByteBuffer, param1: java.nio.ByteBuffer): number;
			public engineDoFinal(param0: native.Array<number>, param1: number, param2: number): native.Array<number>;
			public engineGetBlockSize(): number;
			public engineGetOutputSize(param0: number): number;
			public engineInit(param0: number, param1: java.security.Key, param2: java.security.AlgorithmParameters, param3: java.security.SecureRandom): void;
			public engineGetParameters(): java.security.AlgorithmParameters;
			public engineSetMode(param0: string): void;
		}
	}
}

declare module javax {
	export module crypto {
		export class EncryptedPrivateKeyInfo extends java.lang.Object {
			public static class: java.lang.Class<javax.crypto.EncryptedPrivateKeyInfo>;
			public constructor(param0: java.security.AlgorithmParameters, param1: native.Array<number>);
			public getKeySpec(param0: java.security.Key): java.security.spec.PKCS8EncodedKeySpec;
			public constructor(param0: string, param1: native.Array<number>);
			public getKeySpec(param0: java.security.Key, param1: java.security.Provider): java.security.spec.PKCS8EncodedKeySpec;
			public getAlgParameters(): java.security.AlgorithmParameters;
			public getKeySpec(param0: javax.crypto.Cipher): java.security.spec.PKCS8EncodedKeySpec;
			public constructor(param0: native.Array<number>);
			public getAlgName(): string;
			public getKeySpec(param0: java.security.Key, param1: string): java.security.spec.PKCS8EncodedKeySpec;
			public getEncryptedData(): native.Array<number>;
			public getEncoded(): native.Array<number>;
		}
	}
}

declare module javax {
	export module crypto {
		export class ExemptionMechanism extends java.lang.Object {
			public static class: java.lang.Class<javax.crypto.ExemptionMechanism>;
			public init(param0: java.security.Key, param1: java.security.spec.AlgorithmParameterSpec): void;
			public static getInstance(param0: string, param1: string): javax.crypto.ExemptionMechanism;
			public getOutputSize(param0: number): number;
			public static getInstance(param0: string): javax.crypto.ExemptionMechanism;
			public getProvider(): java.security.Provider;
			public isCryptoAllowed(param0: java.security.Key): boolean;
			public genExemptionBlob(param0: native.Array<number>, param1: number): number;
			public constructor(param0: javax.crypto.ExemptionMechanismSpi, param1: java.security.Provider, param2: string);
			public static getInstance(param0: string, param1: java.security.Provider): javax.crypto.ExemptionMechanism;
			public getName(): string;
			public init(param0: java.security.Key): void;
			public genExemptionBlob(param0: native.Array<number>): number;
			public genExemptionBlob(): native.Array<number>;
			public init(param0: java.security.Key, param1: java.security.AlgorithmParameters): void;
		}
	}
}

declare module javax {
	export module crypto {
		export class ExemptionMechanismException extends java.security.GeneralSecurityException {
			public static class: java.lang.Class<javax.crypto.ExemptionMechanismException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module javax {
	export module crypto {
		export abstract class ExemptionMechanismSpi extends java.lang.Object {
			public static class: java.lang.Class<javax.crypto.ExemptionMechanismSpi>;
			public engineInit(param0: java.security.Key, param1: java.security.spec.AlgorithmParameterSpec): void;
			public engineGenExemptionBlob(): native.Array<number>;
			public engineInit(param0: java.security.Key, param1: java.security.AlgorithmParameters): void;
			public engineInit(param0: java.security.Key): void;
			public engineGenExemptionBlob(param0: native.Array<number>, param1: number): number;
			public constructor();
			public engineGetOutputSize(param0: number): number;
		}
	}
}

declare module javax {
	export module crypto {
		export class IllegalBlockSizeException extends java.security.GeneralSecurityException {
			public static class: java.lang.Class<javax.crypto.IllegalBlockSizeException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module javax {
	export module crypto {
		export class KeyAgreement extends java.lang.Object {
			public static class: java.lang.Class<javax.crypto.KeyAgreement>;
			public static getInstance(param0: string, param1: string): javax.crypto.KeyAgreement;
			public init(param0: java.security.Key, param1: java.security.SecureRandom): void;
			public generateSecret(param0: string): javax.crypto.SecretKey;
			public constructor(param0: javax.crypto.KeyAgreementSpi, param1: java.security.Provider, param2: string);
			public init(param0: java.security.Key, param1: java.security.spec.AlgorithmParameterSpec): void;
			public static getInstance(param0: string, param1: java.security.Provider): javax.crypto.KeyAgreement;
			public doPhase(param0: java.security.Key, param1: boolean): java.security.Key;
			public getProvider(): java.security.Provider;
			public generateSecret(): native.Array<number>;
			public init(param0: java.security.Key): void;
			public init(param0: java.security.Key, param1: java.security.spec.AlgorithmParameterSpec, param2: java.security.SecureRandom): void;
			public getAlgorithm(): string;
			public generateSecret(param0: native.Array<number>, param1: number): number;
			public static getInstance(param0: string): javax.crypto.KeyAgreement;
		}
	}
}

declare module javax {
	export module crypto {
		export abstract class KeyAgreementSpi extends java.lang.Object {
			public static class: java.lang.Class<javax.crypto.KeyAgreementSpi>;
			public engineGenerateSecret(param0: string): javax.crypto.SecretKey;
			public constructor();
			public engineGenerateSecret(): native.Array<number>;
			public engineDoPhase(param0: java.security.Key, param1: boolean): java.security.Key;
			public engineGenerateSecret(param0: native.Array<number>, param1: number): number;
			public engineInit(param0: java.security.Key, param1: java.security.SecureRandom): void;
			public engineInit(param0: java.security.Key, param1: java.security.spec.AlgorithmParameterSpec, param2: java.security.SecureRandom): void;
		}
	}
}

declare module javax {
	export module crypto {
		export class KeyGenerator extends java.lang.Object {
			public static class: java.lang.Class<javax.crypto.KeyGenerator>;
			public constructor(param0: javax.crypto.KeyGeneratorSpi, param1: java.security.Provider, param2: string);
			public static getInstance(param0: string, param1: java.security.Provider): javax.crypto.KeyGenerator;
			public init(param0: number, param1: java.security.SecureRandom): void;
			public generateKey(): javax.crypto.SecretKey;
			public init(param0: java.security.spec.AlgorithmParameterSpec): void;
			public getAlgorithm(): string;
			public init(param0: java.security.SecureRandom): void;
			public init(param0: java.security.spec.AlgorithmParameterSpec, param1: java.security.SecureRandom): void;
			public init(param0: number): void;
			public static getInstance(param0: string): javax.crypto.KeyGenerator;
			public static getInstance(param0: string, param1: string): javax.crypto.KeyGenerator;
			public getProvider(): java.security.Provider;
		}
	}
}

declare module javax {
	export module crypto {
		export abstract class KeyGeneratorSpi extends java.lang.Object {
			public static class: java.lang.Class<javax.crypto.KeyGeneratorSpi>;
			public engineInit(param0: java.security.SecureRandom): void;
			public engineInit(param0: java.security.spec.AlgorithmParameterSpec, param1: java.security.SecureRandom): void;
			public engineInit(param0: number, param1: java.security.SecureRandom): void;
			public constructor();
			public engineGenerateKey(): javax.crypto.SecretKey;
		}
	}
}

declare module javax {
	export module crypto {
		export class Mac extends java.lang.Object implements java.lang.Cloneable {
			public static class: java.lang.Class<javax.crypto.Mac>;
			public getMacLength(): number;
			public update(param0: number): void;
			public init(param0: java.security.Key, param1: java.security.spec.AlgorithmParameterSpec): void;
			public static getInstance(param0: string, param1: java.security.Provider): javax.crypto.Mac;
			public update(param0: java.nio.ByteBuffer): void;
			public doFinal(param0: native.Array<number>): native.Array<number>;
			public doFinal(): native.Array<number>;
			public static getInstance(param0: string): javax.crypto.Mac;
			public getProvider(): java.security.Provider;
			public doFinal(param0: native.Array<number>, param1: number): void;
			public constructor(param0: javax.crypto.MacSpi, param1: java.security.Provider, param2: string);
			public update(param0: native.Array<number>): void;
			public clone(): any;
			public static getInstance(param0: string, param1: string): javax.crypto.Mac;
			public init(param0: java.security.Key): void;
			public getAlgorithm(): string;
			public reset(): void;
			public update(param0: native.Array<number>, param1: number, param2: number): void;
		}
	}
}

declare module javax {
	export module crypto {
		export abstract class MacSpi extends java.lang.Object {
			public static class: java.lang.Class<javax.crypto.MacSpi>;
			public engineUpdate(param0: java.nio.ByteBuffer): void;
			public engineInit(param0: java.security.Key, param1: java.security.spec.AlgorithmParameterSpec): void;
			public engineDoFinal(): native.Array<number>;
			public clone(): any;
			public engineUpdate(param0: native.Array<number>, param1: number, param2: number): void;
			public engineUpdate(param0: number): void;
			public engineReset(): void;
			public constructor();
			public engineGetMacLength(): number;
		}
	}
}

declare module javax {
	export module crypto {
		export class NoSuchPaddingException extends java.security.GeneralSecurityException {
			public static class: java.lang.Class<javax.crypto.NoSuchPaddingException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module javax {
	export module crypto {
		export class NullCipher extends javax.crypto.Cipher {
			public static class: java.lang.Class<javax.crypto.NullCipher>;
			public constructor(param0: javax.crypto.CipherSpi, param1: java.security.Provider, param2: string);
			public constructor();
		}
	}
}

declare module javax {
	export module crypto {
		export class SealedObject extends java.lang.Object implements java.io.Serializable {
			public static class: java.lang.Class<javax.crypto.SealedObject>;
			public encodedParams: native.Array<number>;
			public constructor(param0: javax.crypto.SealedObject);
			public constructor(param0: java.io.Serializable, param1: javax.crypto.Cipher);
			public getObject(param0: javax.crypto.Cipher): any;
			public getAlgorithm(): string;
			public getObject(param0: java.security.Key): any;
			public getObject(param0: java.security.Key, param1: string): any;
		}
	}
}

declare module javax {
	export module crypto {
		export class SecretKey extends java.lang.Object implements java.security.Key, javax.security.auth.Destroyable {
			public static class: java.lang.Class<javax.crypto.SecretKey>;
			/**
			 * Constructs a new instance of the javax.crypto.SecretKey interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				getAlgorithm(): string;
				getFormat(): string;
				getEncoded(): native.Array<number>;
				destroy(): void;
				isDestroyed(): boolean;
			});
			public constructor();
			public static serialVersionUID: number;
			public isDestroyed(): boolean;
			public destroy(): void;
			public getAlgorithm(): string;
			public getFormat(): string;
			public getEncoded(): native.Array<number>;
		}
	}
}

declare module javax {
	export module crypto {
		export class SecretKeyFactory extends java.lang.Object {
			public static class: java.lang.Class<javax.crypto.SecretKeyFactory>;
			public translateKey(param0: javax.crypto.SecretKey): javax.crypto.SecretKey;
			public static getInstance(param0: string, param1: java.security.Provider): javax.crypto.SecretKeyFactory;
			public generateSecret(param0: java.security.spec.KeySpec): javax.crypto.SecretKey;
			public static getInstance(param0: string, param1: string): javax.crypto.SecretKeyFactory;
			public getAlgorithm(): string;
			public constructor(param0: javax.crypto.SecretKeyFactorySpi, param1: java.security.Provider, param2: string);
			public static getInstance(param0: string): javax.crypto.SecretKeyFactory;
			public getKeySpec(param0: javax.crypto.SecretKey, param1: java.lang.Class<any>): java.security.spec.KeySpec;
			public getProvider(): java.security.Provider;
		}
	}
}

declare module javax {
	export module crypto {
		export abstract class SecretKeyFactorySpi extends java.lang.Object {
			public static class: java.lang.Class<javax.crypto.SecretKeyFactorySpi>;
			public constructor();
			public engineGetKeySpec(param0: javax.crypto.SecretKey, param1: java.lang.Class<any>): java.security.spec.KeySpec;
			public engineGenerateSecret(param0: java.security.spec.KeySpec): javax.crypto.SecretKey;
			public engineTranslateKey(param0: javax.crypto.SecretKey): javax.crypto.SecretKey;
		}
	}
}

declare module javax {
	export module crypto {
		export class ShortBufferException extends java.security.GeneralSecurityException {
			public static class: java.lang.Class<javax.crypto.ShortBufferException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module javax {
	export module crypto {
		export module interfaces {
			export class DHKey extends java.lang.Object {
				public static class: java.lang.Class<javax.crypto.interfaces.DHKey>;
				/**
				 * Constructs a new instance of the javax.crypto.interfaces.DHKey interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getParams(): javax.crypto.spec.DHParameterSpec;
				});
				public constructor();
				public getParams(): javax.crypto.spec.DHParameterSpec;
			}
		}
	}
}

declare module javax {
	export module crypto {
		export module interfaces {
			export class DHPrivateKey extends java.lang.Object implements javax.crypto.interfaces.DHKey, java.security.PrivateKey {
				public static class: java.lang.Class<javax.crypto.interfaces.DHPrivateKey>;
				/**
				 * Constructs a new instance of the javax.crypto.interfaces.DHPrivateKey interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getX(): java.math.BigInteger;
					getParams(): javax.crypto.spec.DHParameterSpec;
					getAlgorithm(): string;
					getFormat(): string;
					getEncoded(): native.Array<number>;
					destroy(): void;
					isDestroyed(): boolean;
				});
				public constructor();
				public static serialVersionUID: number;
				public getAlgorithm(): string;
				public destroy(): void;
				public getFormat(): string;
				public isDestroyed(): boolean;
				public getParams(): javax.crypto.spec.DHParameterSpec;
				public getEncoded(): native.Array<number>;
				public getX(): java.math.BigInteger;
			}
		}
	}
}

declare module javax {
	export module crypto {
		export module interfaces {
			export class DHPublicKey extends java.lang.Object implements javax.crypto.interfaces.DHKey, java.security.PublicKey {
				public static class: java.lang.Class<javax.crypto.interfaces.DHPublicKey>;
				/**
				 * Constructs a new instance of the javax.crypto.interfaces.DHPublicKey interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getY(): java.math.BigInteger;
					getParams(): javax.crypto.spec.DHParameterSpec;
					getAlgorithm(): string;
					getFormat(): string;
					getEncoded(): native.Array<number>;
				});
				public constructor();
				public static serialVersionUID: number;
				public getAlgorithm(): string;
				public getFormat(): string;
				public getParams(): javax.crypto.spec.DHParameterSpec;
				public getEncoded(): native.Array<number>;
				public getY(): java.math.BigInteger;
			}
		}
	}
}

declare module javax {
	export module crypto {
		export module interfaces {
			export class PBEKey extends java.lang.Object implements javax.crypto.SecretKey {
				public static class: java.lang.Class<javax.crypto.interfaces.PBEKey>;
				/**
				 * Constructs a new instance of the javax.crypto.interfaces.PBEKey interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getPassword(): native.Array<string>;
					getSalt(): native.Array<number>;
					getIterationCount(): number;
					getAlgorithm(): string;
					getFormat(): string;
					getEncoded(): native.Array<number>;
					destroy(): void;
					isDestroyed(): boolean;
				});
				public constructor();
				public static serialVersionUID: number;
				public getIterationCount(): number;
				public getAlgorithm(): string;
				public destroy(): void;
				public getFormat(): string;
				public getPassword(): native.Array<string>;
				public isDestroyed(): boolean;
				public getEncoded(): native.Array<number>;
				public getSalt(): native.Array<number>;
			}
		}
	}
}

declare module javax {
	export module crypto {
		export module spec {
			export class DESKeySpec extends java.lang.Object implements java.security.spec.KeySpec {
				public static class: java.lang.Class<javax.crypto.spec.DESKeySpec>;
				public static DES_KEY_LEN: number;
				public static isWeak(param0: native.Array<number>, param1: number): boolean;
				public constructor(param0: native.Array<number>);
				public constructor(param0: native.Array<number>, param1: number);
				public getKey(): native.Array<number>;
				public static isParityAdjusted(param0: native.Array<number>, param1: number): boolean;
			}
		}
	}
}

declare module javax {
	export module crypto {
		export module spec {
			export class DESedeKeySpec extends java.lang.Object implements java.security.spec.KeySpec {
				public static class: java.lang.Class<javax.crypto.spec.DESedeKeySpec>;
				public static DES_EDE_KEY_LEN: number;
				public constructor(param0: native.Array<number>);
				public constructor(param0: native.Array<number>, param1: number);
				public getKey(): native.Array<number>;
				public static isParityAdjusted(param0: native.Array<number>, param1: number): boolean;
			}
		}
	}
}

declare module javax {
	export module crypto {
		export module spec {
			export class DHGenParameterSpec extends java.lang.Object implements java.security.spec.AlgorithmParameterSpec {
				public static class: java.lang.Class<javax.crypto.spec.DHGenParameterSpec>;
				public constructor(param0: number, param1: number);
				public getExponentSize(): number;
				public getPrimeSize(): number;
			}
		}
	}
}

declare module javax {
	export module crypto {
		export module spec {
			export class DHParameterSpec extends java.lang.Object implements java.security.spec.AlgorithmParameterSpec {
				public static class: java.lang.Class<javax.crypto.spec.DHParameterSpec>;
				public constructor(param0: java.math.BigInteger, param1: java.math.BigInteger);
				public getG(): java.math.BigInteger;
				public getP(): java.math.BigInteger;
				public constructor(param0: java.math.BigInteger, param1: java.math.BigInteger, param2: number);
				public getL(): number;
			}
		}
	}
}

declare module javax {
	export module crypto {
		export module spec {
			export class DHPrivateKeySpec extends java.lang.Object implements java.security.spec.KeySpec {
				public static class: java.lang.Class<javax.crypto.spec.DHPrivateKeySpec>;
				public constructor(param0: java.math.BigInteger, param1: java.math.BigInteger, param2: java.math.BigInteger);
				public getG(): java.math.BigInteger;
				public getX(): java.math.BigInteger;
				public getP(): java.math.BigInteger;
			}
		}
	}
}

declare module javax {
	export module crypto {
		export module spec {
			export class DHPublicKeySpec extends java.lang.Object implements java.security.spec.KeySpec {
				public static class: java.lang.Class<javax.crypto.spec.DHPublicKeySpec>;
				public constructor(param0: java.math.BigInteger, param1: java.math.BigInteger, param2: java.math.BigInteger);
				public getG(): java.math.BigInteger;
				public getY(): java.math.BigInteger;
				public getP(): java.math.BigInteger;
			}
		}
	}
}

declare module javax {
	export module crypto {
		export module spec {
			export class GCMParameterSpec extends java.lang.Object implements java.security.spec.AlgorithmParameterSpec {
				public static class: java.lang.Class<javax.crypto.spec.GCMParameterSpec>;
				public getTLen(): number;
				public getIV(): native.Array<number>;
				public constructor(param0: number, param1: native.Array<number>, param2: number, param3: number);
				public constructor(param0: number, param1: native.Array<number>);
			}
		}
	}
}

declare module javax {
	export module crypto {
		export module spec {
			export class IvParameterSpec extends java.lang.Object implements java.security.spec.AlgorithmParameterSpec {
				public static class: java.lang.Class<javax.crypto.spec.IvParameterSpec>;
				public constructor(param0: native.Array<number>);
				public constructor(param0: native.Array<number>, param1: number, param2: number);
				public getIV(): native.Array<number>;
			}
		}
	}
}

declare module javax {
	export module crypto {
		export module spec {
			export class OAEPParameterSpec extends java.lang.Object implements java.security.spec.AlgorithmParameterSpec {
				public static class: java.lang.Class<javax.crypto.spec.OAEPParameterSpec>;
				public static DEFAULT: javax.crypto.spec.OAEPParameterSpec;
				public getDigestAlgorithm(): string;
				public getMGFAlgorithm(): string;
				public constructor(param0: string, param1: string, param2: java.security.spec.AlgorithmParameterSpec, param3: javax.crypto.spec.PSource);
				public getPSource(): javax.crypto.spec.PSource;
				public getMGFParameters(): java.security.spec.AlgorithmParameterSpec;
			}
		}
	}
}

declare module javax {
	export module crypto {
		export module spec {
			export class PBEKeySpec extends java.lang.Object implements java.security.spec.KeySpec {
				public static class: java.lang.Class<javax.crypto.spec.PBEKeySpec>;
				public getIterationCount(): number;
				public getPassword(): native.Array<string>;
				public constructor(param0: native.Array<string>, param1: native.Array<number>, param2: number, param3: number);
				public constructor(param0: native.Array<string>);
				public clearPassword(): void;
				public getSalt(): native.Array<number>;
				public constructor(param0: native.Array<string>, param1: native.Array<number>, param2: number);
				public getKeyLength(): number;
			}
		}
	}
}

declare module javax {
	export module crypto {
		export module spec {
			export class PBEParameterSpec extends java.lang.Object implements java.security.spec.AlgorithmParameterSpec {
				public static class: java.lang.Class<javax.crypto.spec.PBEParameterSpec>;
				public getIterationCount(): number;
				public constructor(param0: native.Array<number>, param1: number);
				public constructor(param0: native.Array<number>, param1: number, param2: java.security.spec.AlgorithmParameterSpec);
				public getParameterSpec(): java.security.spec.AlgorithmParameterSpec;
				public getSalt(): native.Array<number>;
			}
		}
	}
}

declare module javax {
	export module crypto {
		export module spec {
			export class PSource extends java.lang.Object {
				public static class: java.lang.Class<javax.crypto.spec.PSource>;
				public getAlgorithm(): string;
				public constructor(param0: string);
			}
			export module PSource {
				export class PSpecified extends javax.crypto.spec.PSource {
					public static class: java.lang.Class<javax.crypto.spec.PSource.PSpecified>;
					public static DEFAULT: javax.crypto.spec.PSource.PSpecified;
					public constructor(param0: native.Array<number>);
					public constructor(param0: string);
					public getValue(): native.Array<number>;
				}
			}
		}
	}
}

declare module javax {
	export module crypto {
		export module spec {
			export class RC2ParameterSpec extends java.lang.Object implements java.security.spec.AlgorithmParameterSpec {
				public static class: java.lang.Class<javax.crypto.spec.RC2ParameterSpec>;
				public constructor(param0: number, param1: native.Array<number>, param2: number);
				public getIV(): native.Array<number>;
				public hashCode(): number;
				public getEffectiveKeyBits(): number;
				public equals(param0: any): boolean;
				public constructor(param0: number);
				public constructor(param0: number, param1: native.Array<number>);
			}
		}
	}
}

declare module javax {
	export module crypto {
		export module spec {
			export class RC5ParameterSpec extends java.lang.Object implements java.security.spec.AlgorithmParameterSpec {
				public static class: java.lang.Class<javax.crypto.spec.RC5ParameterSpec>;
				public constructor(param0: number, param1: number, param2: number);
				public constructor(param0: number, param1: number, param2: number, param3: native.Array<number>);
				public getVersion(): number;
				public getIV(): native.Array<number>;
				public hashCode(): number;
				public equals(param0: any): boolean;
				public getWordSize(): number;
				public constructor(param0: number, param1: number, param2: number, param3: native.Array<number>, param4: number);
				public getRounds(): number;
			}
		}
	}
}

declare module javax {
	export module crypto {
		export module spec {
			export class SecretKeySpec extends java.lang.Object implements java.security.spec.KeySpec, javax.crypto.SecretKey {
				public static class: java.lang.Class<javax.crypto.spec.SecretKeySpec>;
				public getAlgorithm(): string;
				public destroy(): void;
				public getFormat(): string;
				public isDestroyed(): boolean;
				public hashCode(): number;
				public constructor(param0: native.Array<number>, param1: string);
				public constructor(param0: native.Array<number>, param1: number, param2: number, param3: string);
				public equals(param0: any): boolean;
				public getEncoded(): native.Array<number>;
			}
		}
	}
}

declare module javax {
	export module microedition {
		export module khronos {
			export module egl {
				export class EGL extends java.lang.Object {
					public static class: java.lang.Class<javax.microedition.khronos.egl.EGL>;
					/**
					 * Constructs a new instance of the javax.microedition.khronos.egl.EGL interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
					});
					public constructor();
				}
			}
		}
	}
}

declare module javax {
	export module microedition {
		export module khronos {
			export module egl {
				export class EGL10 extends java.lang.Object implements javax.microedition.khronos.egl.EGL {
					public static class: java.lang.Class<javax.microedition.khronos.egl.EGL10>;
					/**
					 * Constructs a new instance of the javax.microedition.khronos.egl.EGL10 interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						eglChooseConfig(param0: javax.microedition.khronos.egl.EGLDisplay, param1: native.Array<number>, param2: native.Array<javax.microedition.khronos.egl.EGLConfig>, param3: number, param4: native.Array<number>): boolean;
						eglCopyBuffers(param0: javax.microedition.khronos.egl.EGLDisplay, param1: javax.microedition.khronos.egl.EGLSurface, param2: any): boolean;
						eglCreateContext(param0: javax.microedition.khronos.egl.EGLDisplay, param1: javax.microedition.khronos.egl.EGLConfig, param2: javax.microedition.khronos.egl.EGLContext, param3: native.Array<number>): javax.microedition.khronos.egl.EGLContext;
						eglCreatePbufferSurface(param0: javax.microedition.khronos.egl.EGLDisplay, param1: javax.microedition.khronos.egl.EGLConfig, param2: native.Array<number>): javax.microedition.khronos.egl.EGLSurface;
						eglCreatePixmapSurface(param0: javax.microedition.khronos.egl.EGLDisplay, param1: javax.microedition.khronos.egl.EGLConfig, param2: any, param3: native.Array<number>): javax.microedition.khronos.egl.EGLSurface;
						eglCreateWindowSurface(param0: javax.microedition.khronos.egl.EGLDisplay, param1: javax.microedition.khronos.egl.EGLConfig, param2: any, param3: native.Array<number>): javax.microedition.khronos.egl.EGLSurface;
						eglDestroyContext(param0: javax.microedition.khronos.egl.EGLDisplay, param1: javax.microedition.khronos.egl.EGLContext): boolean;
						eglDestroySurface(param0: javax.microedition.khronos.egl.EGLDisplay, param1: javax.microedition.khronos.egl.EGLSurface): boolean;
						eglGetConfigAttrib(param0: javax.microedition.khronos.egl.EGLDisplay, param1: javax.microedition.khronos.egl.EGLConfig, param2: number, param3: native.Array<number>): boolean;
						eglGetConfigs(param0: javax.microedition.khronos.egl.EGLDisplay, param1: native.Array<javax.microedition.khronos.egl.EGLConfig>, param2: number, param3: native.Array<number>): boolean;
						eglGetCurrentContext(): javax.microedition.khronos.egl.EGLContext;
						eglGetCurrentDisplay(): javax.microedition.khronos.egl.EGLDisplay;
						eglGetCurrentSurface(param0: number): javax.microedition.khronos.egl.EGLSurface;
						eglGetDisplay(param0: any): javax.microedition.khronos.egl.EGLDisplay;
						eglGetError(): number;
						eglInitialize(param0: javax.microedition.khronos.egl.EGLDisplay, param1: native.Array<number>): boolean;
						eglMakeCurrent(param0: javax.microedition.khronos.egl.EGLDisplay, param1: javax.microedition.khronos.egl.EGLSurface, param2: javax.microedition.khronos.egl.EGLSurface, param3: javax.microedition.khronos.egl.EGLContext): boolean;
						eglQueryContext(param0: javax.microedition.khronos.egl.EGLDisplay, param1: javax.microedition.khronos.egl.EGLContext, param2: number, param3: native.Array<number>): boolean;
						eglQueryString(param0: javax.microedition.khronos.egl.EGLDisplay, param1: number): string;
						eglQuerySurface(param0: javax.microedition.khronos.egl.EGLDisplay, param1: javax.microedition.khronos.egl.EGLSurface, param2: number, param3: native.Array<number>): boolean;
						eglSwapBuffers(param0: javax.microedition.khronos.egl.EGLDisplay, param1: javax.microedition.khronos.egl.EGLSurface): boolean;
						eglTerminate(param0: javax.microedition.khronos.egl.EGLDisplay): boolean;
						eglWaitGL(): boolean;
						eglWaitNative(param0: number, param1: any): boolean;
						<clinit>(): void;
					});
					public constructor();
					public static EGL_MAX_PBUFFER_HEIGHT: number;
					public static EGL_BAD_CONFIG: number;
					public static EGL_TRANSPARENT_RED_VALUE: number;
					public static EGL_ALPHA_SIZE: number;
					public static EGL_LUMINANCE_BUFFER: number;
					public static EGL_SAMPLES: number;
					public static EGL_EXTENSIONS: number;
					public static EGL_NO_DISPLAY: javax.microedition.khronos.egl.EGLDisplay;
					public static EGL_VERSION: number;
					public static EGL_TRANSPARENT_GREEN_VALUE: number;
					public static EGL_CONFIG_ID: number;
					public static EGL_LARGEST_PBUFFER: number;
					public static EGL_DEPTH_SIZE: number;
					public static EGL_HEIGHT: number;
					public static EGL_MAX_PBUFFER_WIDTH: number;
					public static EGL_NOT_INITIALIZED: number;
					public static EGL_RENDER_BUFFER: number;
					public static EGL_RED_SIZE: number;
					public static EGL_DONT_CARE: number;
					public static EGL_READ: number;
					public static EGL_BAD_NATIVE_WINDOW: number;
					public static EGL_PIXMAP_BIT: number;
					public static EGL_WIDTH: number;
					public static EGL_STENCIL_SIZE: number;
					public static EGL_SUCCESS: number;
					public static EGL_GREEN_SIZE: number;
					public static EGL_DRAW: number;
					public static EGL_COLORSPACE: number;
					public static EGL_LEVEL: number;
					public static EGL_PBUFFER_BIT: number;
					public static EGL_BAD_SURFACE: number;
					public static EGL_BLUE_SIZE: number;
					public static EGL_RENDERABLE_TYPE: number;
					public static EGL_BAD_ATTRIBUTE: number;
					public static EGL_VENDOR: number;
					public static EGL_BAD_ACCESS: number;
					public static EGL_CORE_NATIVE_ENGINE: number;
					public static EGL_NONE: number;
					public static EGL_VERTICAL_RESOLUTION: number;
					public static EGL_BAD_CURRENT_SURFACE: number;
					public static EGL_COLOR_BUFFER_TYPE: number;
					public static EGL_CONFIG_CAVEAT: number;
					public static EGL_BAD_NATIVE_PIXMAP: number;
					public static EGL_NATIVE_VISUAL_TYPE: number;
					public static EGL_LUMINANCE_SIZE: number;
					public static EGL_NON_CONFORMANT_CONFIG: number;
					public static EGL_BAD_MATCH: number;
					public static EGL_SAMPLE_BUFFERS: number;
					public static EGL_TRANSPARENT_BLUE_VALUE: number;
					public static EGL_PIXEL_ASPECT_RATIO: number;
					public static EGL_SURFACE_TYPE: number;
					public static EGL_TRANSPARENT_TYPE: number;
					public static EGL_ALPHA_FORMAT: number;
					public static EGL_NO_SURFACE: javax.microedition.khronos.egl.EGLSurface;
					public static EGL_WINDOW_BIT: number;
					public static EGL_BAD_ALLOC: number;
					public static EGL_RGB_BUFFER: number;
					public static EGL_ALPHA_MASK_SIZE: number;
					public static EGL_DEFAULT_DISPLAY: any;
					public static EGL_HORIZONTAL_RESOLUTION: number;
					public static EGL_TRANSPARENT_RGB: number;
					public static EGL_MAX_PBUFFER_PIXELS: number;
					public static EGL_SLOW_CONFIG: number;
					public static EGL_SINGLE_BUFFER: number;
					public static EGL_BUFFER_SIZE: number;
					public static EGL_NO_CONTEXT: javax.microedition.khronos.egl.EGLContext;
					public static EGL_NATIVE_RENDERABLE: number;
					public static EGL_BAD_DISPLAY: number;
					public static EGL_BAD_PARAMETER: number;
					public static EGL_BAD_CONTEXT: number;
					public static EGL_NATIVE_VISUAL_ID: number;
					public eglMakeCurrent(param0: javax.microedition.khronos.egl.EGLDisplay, param1: javax.microedition.khronos.egl.EGLSurface, param2: javax.microedition.khronos.egl.EGLSurface, param3: javax.microedition.khronos.egl.EGLContext): boolean;
					public eglSwapBuffers(param0: javax.microedition.khronos.egl.EGLDisplay, param1: javax.microedition.khronos.egl.EGLSurface): boolean;
					public eglWaitNative(param0: number, param1: any): boolean;
					public eglCreateContext(param0: javax.microedition.khronos.egl.EGLDisplay, param1: javax.microedition.khronos.egl.EGLConfig, param2: javax.microedition.khronos.egl.EGLContext, param3: native.Array<number>): javax.microedition.khronos.egl.EGLContext;
					public eglChooseConfig(param0: javax.microedition.khronos.egl.EGLDisplay, param1: native.Array<number>, param2: native.Array<javax.microedition.khronos.egl.EGLConfig>, param3: number, param4: native.Array<number>): boolean;
					public eglTerminate(param0: javax.microedition.khronos.egl.EGLDisplay): boolean;
					public eglQuerySurface(param0: javax.microedition.khronos.egl.EGLDisplay, param1: javax.microedition.khronos.egl.EGLSurface, param2: number, param3: native.Array<number>): boolean;
					public eglGetCurrentDisplay(): javax.microedition.khronos.egl.EGLDisplay;
					public eglQueryContext(param0: javax.microedition.khronos.egl.EGLDisplay, param1: javax.microedition.khronos.egl.EGLContext, param2: number, param3: native.Array<number>): boolean;
					public eglGetConfigs(param0: javax.microedition.khronos.egl.EGLDisplay, param1: native.Array<javax.microedition.khronos.egl.EGLConfig>, param2: number, param3: native.Array<number>): boolean;
					public eglGetError(): number;
					public eglGetCurrentContext(): javax.microedition.khronos.egl.EGLContext;
					public eglGetDisplay(param0: any): javax.microedition.khronos.egl.EGLDisplay;
					public eglGetCurrentSurface(param0: number): javax.microedition.khronos.egl.EGLSurface;
					public eglCreatePbufferSurface(param0: javax.microedition.khronos.egl.EGLDisplay, param1: javax.microedition.khronos.egl.EGLConfig, param2: native.Array<number>): javax.microedition.khronos.egl.EGLSurface;
					public eglCreateWindowSurface(param0: javax.microedition.khronos.egl.EGLDisplay, param1: javax.microedition.khronos.egl.EGLConfig, param2: any, param3: native.Array<number>): javax.microedition.khronos.egl.EGLSurface;
					public eglDestroyContext(param0: javax.microedition.khronos.egl.EGLDisplay, param1: javax.microedition.khronos.egl.EGLContext): boolean;
					public eglDestroySurface(param0: javax.microedition.khronos.egl.EGLDisplay, param1: javax.microedition.khronos.egl.EGLSurface): boolean;
					public eglGetConfigAttrib(param0: javax.microedition.khronos.egl.EGLDisplay, param1: javax.microedition.khronos.egl.EGLConfig, param2: number, param3: native.Array<number>): boolean;
					public eglInitialize(param0: javax.microedition.khronos.egl.EGLDisplay, param1: native.Array<number>): boolean;
					public eglWaitGL(): boolean;
					public eglCopyBuffers(param0: javax.microedition.khronos.egl.EGLDisplay, param1: javax.microedition.khronos.egl.EGLSurface, param2: any): boolean;
					public eglQueryString(param0: javax.microedition.khronos.egl.EGLDisplay, param1: number): string;
					/** @deprecated */
					public eglCreatePixmapSurface(param0: javax.microedition.khronos.egl.EGLDisplay, param1: javax.microedition.khronos.egl.EGLConfig, param2: any, param3: native.Array<number>): javax.microedition.khronos.egl.EGLSurface;
				}
			}
		}
	}
}

declare module javax {
	export module microedition {
		export module khronos {
			export module egl {
				export class EGL11 extends java.lang.Object implements javax.microedition.khronos.egl.EGL10 {
					public static class: java.lang.Class<javax.microedition.khronos.egl.EGL11>;
					/**
					 * Constructs a new instance of the javax.microedition.khronos.egl.EGL11 interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						eglChooseConfig(param0: javax.microedition.khronos.egl.EGLDisplay, param1: native.Array<number>, param2: native.Array<javax.microedition.khronos.egl.EGLConfig>, param3: number, param4: native.Array<number>): boolean;
						eglCopyBuffers(param0: javax.microedition.khronos.egl.EGLDisplay, param1: javax.microedition.khronos.egl.EGLSurface, param2: any): boolean;
						eglCreateContext(param0: javax.microedition.khronos.egl.EGLDisplay, param1: javax.microedition.khronos.egl.EGLConfig, param2: javax.microedition.khronos.egl.EGLContext, param3: native.Array<number>): javax.microedition.khronos.egl.EGLContext;
						eglCreatePbufferSurface(param0: javax.microedition.khronos.egl.EGLDisplay, param1: javax.microedition.khronos.egl.EGLConfig, param2: native.Array<number>): javax.microedition.khronos.egl.EGLSurface;
						eglCreatePixmapSurface(param0: javax.microedition.khronos.egl.EGLDisplay, param1: javax.microedition.khronos.egl.EGLConfig, param2: any, param3: native.Array<number>): javax.microedition.khronos.egl.EGLSurface;
						eglCreateWindowSurface(param0: javax.microedition.khronos.egl.EGLDisplay, param1: javax.microedition.khronos.egl.EGLConfig, param2: any, param3: native.Array<number>): javax.microedition.khronos.egl.EGLSurface;
						eglDestroyContext(param0: javax.microedition.khronos.egl.EGLDisplay, param1: javax.microedition.khronos.egl.EGLContext): boolean;
						eglDestroySurface(param0: javax.microedition.khronos.egl.EGLDisplay, param1: javax.microedition.khronos.egl.EGLSurface): boolean;
						eglGetConfigAttrib(param0: javax.microedition.khronos.egl.EGLDisplay, param1: javax.microedition.khronos.egl.EGLConfig, param2: number, param3: native.Array<number>): boolean;
						eglGetConfigs(param0: javax.microedition.khronos.egl.EGLDisplay, param1: native.Array<javax.microedition.khronos.egl.EGLConfig>, param2: number, param3: native.Array<number>): boolean;
						eglGetCurrentContext(): javax.microedition.khronos.egl.EGLContext;
						eglGetCurrentDisplay(): javax.microedition.khronos.egl.EGLDisplay;
						eglGetCurrentSurface(param0: number): javax.microedition.khronos.egl.EGLSurface;
						eglGetDisplay(param0: any): javax.microedition.khronos.egl.EGLDisplay;
						eglGetError(): number;
						eglInitialize(param0: javax.microedition.khronos.egl.EGLDisplay, param1: native.Array<number>): boolean;
						eglMakeCurrent(param0: javax.microedition.khronos.egl.EGLDisplay, param1: javax.microedition.khronos.egl.EGLSurface, param2: javax.microedition.khronos.egl.EGLSurface, param3: javax.microedition.khronos.egl.EGLContext): boolean;
						eglQueryContext(param0: javax.microedition.khronos.egl.EGLDisplay, param1: javax.microedition.khronos.egl.EGLContext, param2: number, param3: native.Array<number>): boolean;
						eglQueryString(param0: javax.microedition.khronos.egl.EGLDisplay, param1: number): string;
						eglQuerySurface(param0: javax.microedition.khronos.egl.EGLDisplay, param1: javax.microedition.khronos.egl.EGLSurface, param2: number, param3: native.Array<number>): boolean;
						eglSwapBuffers(param0: javax.microedition.khronos.egl.EGLDisplay, param1: javax.microedition.khronos.egl.EGLSurface): boolean;
						eglTerminate(param0: javax.microedition.khronos.egl.EGLDisplay): boolean;
						eglWaitGL(): boolean;
						eglWaitNative(param0: number, param1: any): boolean;
						<clinit>(): void;
					});
					public constructor();
					public static EGL_MAX_PBUFFER_HEIGHT: number;
					public static EGL_BAD_CONFIG: number;
					public static EGL_TRANSPARENT_RED_VALUE: number;
					public static EGL_ALPHA_SIZE: number;
					public static EGL_LUMINANCE_BUFFER: number;
					public static EGL_SAMPLES: number;
					public static EGL_EXTENSIONS: number;
					public static EGL_NO_DISPLAY: javax.microedition.khronos.egl.EGLDisplay;
					public static EGL_VERSION: number;
					public static EGL_TRANSPARENT_GREEN_VALUE: number;
					public static EGL_CONFIG_ID: number;
					public static EGL_LARGEST_PBUFFER: number;
					public static EGL_DEPTH_SIZE: number;
					public static EGL_HEIGHT: number;
					public static EGL_MAX_PBUFFER_WIDTH: number;
					public static EGL_NOT_INITIALIZED: number;
					public static EGL_RENDER_BUFFER: number;
					public static EGL_RED_SIZE: number;
					public static EGL_DONT_CARE: number;
					public static EGL_READ: number;
					public static EGL_BAD_NATIVE_WINDOW: number;
					public static EGL_PIXMAP_BIT: number;
					public static EGL_WIDTH: number;
					public static EGL_STENCIL_SIZE: number;
					public static EGL_SUCCESS: number;
					public static EGL_GREEN_SIZE: number;
					public static EGL_DRAW: number;
					public static EGL_COLORSPACE: number;
					public static EGL_LEVEL: number;
					public static EGL_PBUFFER_BIT: number;
					public static EGL_BAD_SURFACE: number;
					public static EGL_BLUE_SIZE: number;
					public static EGL_RENDERABLE_TYPE: number;
					public static EGL_BAD_ATTRIBUTE: number;
					public static EGL_VENDOR: number;
					public static EGL_BAD_ACCESS: number;
					public static EGL_CORE_NATIVE_ENGINE: number;
					public static EGL_NONE: number;
					public static EGL_VERTICAL_RESOLUTION: number;
					public static EGL_BAD_CURRENT_SURFACE: number;
					public static EGL_COLOR_BUFFER_TYPE: number;
					public static EGL_CONFIG_CAVEAT: number;
					public static EGL_BAD_NATIVE_PIXMAP: number;
					public static EGL_NATIVE_VISUAL_TYPE: number;
					public static EGL_LUMINANCE_SIZE: number;
					public static EGL_NON_CONFORMANT_CONFIG: number;
					public static EGL_CONTEXT_LOST: number;
					public static EGL_BAD_MATCH: number;
					public static EGL_SAMPLE_BUFFERS: number;
					public static EGL_TRANSPARENT_BLUE_VALUE: number;
					public static EGL_PIXEL_ASPECT_RATIO: number;
					public static EGL_SURFACE_TYPE: number;
					public static EGL_TRANSPARENT_TYPE: number;
					public static EGL_ALPHA_FORMAT: number;
					public static EGL_NO_SURFACE: javax.microedition.khronos.egl.EGLSurface;
					public static EGL_WINDOW_BIT: number;
					public static EGL_BAD_ALLOC: number;
					public static EGL_RGB_BUFFER: number;
					public static EGL_ALPHA_MASK_SIZE: number;
					public static EGL_DEFAULT_DISPLAY: any;
					public static EGL_HORIZONTAL_RESOLUTION: number;
					public static EGL_TRANSPARENT_RGB: number;
					public static EGL_MAX_PBUFFER_PIXELS: number;
					public static EGL_SLOW_CONFIG: number;
					public static EGL_SINGLE_BUFFER: number;
					public static EGL_BUFFER_SIZE: number;
					public static EGL_NO_CONTEXT: javax.microedition.khronos.egl.EGLContext;
					public static EGL_NATIVE_RENDERABLE: number;
					public static EGL_BAD_DISPLAY: number;
					public static EGL_BAD_PARAMETER: number;
					public static EGL_BAD_CONTEXT: number;
					public static EGL_NATIVE_VISUAL_ID: number;
					public eglMakeCurrent(param0: javax.microedition.khronos.egl.EGLDisplay, param1: javax.microedition.khronos.egl.EGLSurface, param2: javax.microedition.khronos.egl.EGLSurface, param3: javax.microedition.khronos.egl.EGLContext): boolean;
					public eglSwapBuffers(param0: javax.microedition.khronos.egl.EGLDisplay, param1: javax.microedition.khronos.egl.EGLSurface): boolean;
					public eglWaitNative(param0: number, param1: any): boolean;
					public eglCreateContext(param0: javax.microedition.khronos.egl.EGLDisplay, param1: javax.microedition.khronos.egl.EGLConfig, param2: javax.microedition.khronos.egl.EGLContext, param3: native.Array<number>): javax.microedition.khronos.egl.EGLContext;
					public eglChooseConfig(param0: javax.microedition.khronos.egl.EGLDisplay, param1: native.Array<number>, param2: native.Array<javax.microedition.khronos.egl.EGLConfig>, param3: number, param4: native.Array<number>): boolean;
					public eglTerminate(param0: javax.microedition.khronos.egl.EGLDisplay): boolean;
					public eglQuerySurface(param0: javax.microedition.khronos.egl.EGLDisplay, param1: javax.microedition.khronos.egl.EGLSurface, param2: number, param3: native.Array<number>): boolean;
					public eglGetCurrentDisplay(): javax.microedition.khronos.egl.EGLDisplay;
					public eglQueryContext(param0: javax.microedition.khronos.egl.EGLDisplay, param1: javax.microedition.khronos.egl.EGLContext, param2: number, param3: native.Array<number>): boolean;
					public eglGetConfigs(param0: javax.microedition.khronos.egl.EGLDisplay, param1: native.Array<javax.microedition.khronos.egl.EGLConfig>, param2: number, param3: native.Array<number>): boolean;
					public eglGetError(): number;
					public eglGetCurrentContext(): javax.microedition.khronos.egl.EGLContext;
					public eglGetDisplay(param0: any): javax.microedition.khronos.egl.EGLDisplay;
					public eglGetCurrentSurface(param0: number): javax.microedition.khronos.egl.EGLSurface;
					public eglCreatePbufferSurface(param0: javax.microedition.khronos.egl.EGLDisplay, param1: javax.microedition.khronos.egl.EGLConfig, param2: native.Array<number>): javax.microedition.khronos.egl.EGLSurface;
					public eglCreateWindowSurface(param0: javax.microedition.khronos.egl.EGLDisplay, param1: javax.microedition.khronos.egl.EGLConfig, param2: any, param3: native.Array<number>): javax.microedition.khronos.egl.EGLSurface;
					public eglDestroyContext(param0: javax.microedition.khronos.egl.EGLDisplay, param1: javax.microedition.khronos.egl.EGLContext): boolean;
					public eglDestroySurface(param0: javax.microedition.khronos.egl.EGLDisplay, param1: javax.microedition.khronos.egl.EGLSurface): boolean;
					public eglGetConfigAttrib(param0: javax.microedition.khronos.egl.EGLDisplay, param1: javax.microedition.khronos.egl.EGLConfig, param2: number, param3: native.Array<number>): boolean;
					public eglInitialize(param0: javax.microedition.khronos.egl.EGLDisplay, param1: native.Array<number>): boolean;
					public eglWaitGL(): boolean;
					public eglCopyBuffers(param0: javax.microedition.khronos.egl.EGLDisplay, param1: javax.microedition.khronos.egl.EGLSurface, param2: any): boolean;
					public eglQueryString(param0: javax.microedition.khronos.egl.EGLDisplay, param1: number): string;
					/** @deprecated */
					public eglCreatePixmapSurface(param0: javax.microedition.khronos.egl.EGLDisplay, param1: javax.microedition.khronos.egl.EGLConfig, param2: any, param3: native.Array<number>): javax.microedition.khronos.egl.EGLSurface;
				}
			}
		}
	}
}

declare module javax {
	export module microedition {
		export module khronos {
			export module egl {
				export abstract class EGLConfig extends java.lang.Object {
					public static class: java.lang.Class<javax.microedition.khronos.egl.EGLConfig>;
					public constructor();
				}
			}
		}
	}
}

declare module javax {
	export module microedition {
		export module khronos {
			export module egl {
				export abstract class EGLContext extends java.lang.Object {
					public static class: java.lang.Class<javax.microedition.khronos.egl.EGLContext>;
					public constructor();
					public static getEGL(): javax.microedition.khronos.egl.EGL;
					public getGL(): javax.microedition.khronos.opengles.GL;
				}
			}
		}
	}
}

declare module javax {
	export module microedition {
		export module khronos {
			export module egl {
				export abstract class EGLDisplay extends java.lang.Object {
					public static class: java.lang.Class<javax.microedition.khronos.egl.EGLDisplay>;
					public constructor();
				}
			}
		}
	}
}

declare module javax {
	export module microedition {
		export module khronos {
			export module egl {
				export abstract class EGLSurface extends java.lang.Object {
					public static class: java.lang.Class<javax.microedition.khronos.egl.EGLSurface>;
					public constructor();
				}
			}
		}
	}
}

declare module javax {
	export module microedition {
		export module khronos {
			export module opengles {
				export class GL extends java.lang.Object {
					public static class: java.lang.Class<javax.microedition.khronos.opengles.GL>;
					/**
					 * Constructs a new instance of the javax.microedition.khronos.opengles.GL interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
					});
					public constructor();
				}
			}
		}
	}
}

declare module javax {
	export module microedition {
		export module khronos {
			export module opengles {
				export class GL10 extends java.lang.Object implements javax.microedition.khronos.opengles.GL {
					public static class: java.lang.Class<javax.microedition.khronos.opengles.GL10>;
					/**
					 * Constructs a new instance of the javax.microedition.khronos.opengles.GL10 interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						glActiveTexture(param0: number): void;
						glAlphaFunc(param0: number, param1: number): void;
						glAlphaFuncx(param0: number, param1: number): void;
						glBindTexture(param0: number, param1: number): void;
						glBlendFunc(param0: number, param1: number): void;
						glClear(param0: number): void;
						glClearColor(param0: number, param1: number, param2: number, param3: number): void;
						glClearColorx(param0: number, param1: number, param2: number, param3: number): void;
						glClearDepthf(param0: number): void;
						glClearDepthx(param0: number): void;
						glClearStencil(param0: number): void;
						glClientActiveTexture(param0: number): void;
						glColor4f(param0: number, param1: number, param2: number, param3: number): void;
						glColor4x(param0: number, param1: number, param2: number, param3: number): void;
						glColorMask(param0: boolean, param1: boolean, param2: boolean, param3: boolean): void;
						glColorPointer(param0: number, param1: number, param2: number, param3: java.nio.Buffer): void;
						glCompressedTexImage2D(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: java.nio.Buffer): void;
						glCompressedTexSubImage2D(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number, param8: java.nio.Buffer): void;
						glCopyTexImage2D(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number): void;
						glCopyTexSubImage2D(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number): void;
						glCullFace(param0: number): void;
						glDeleteTextures(param0: number, param1: native.Array<number>, param2: number): void;
						glDeleteTextures(param0: number, param1: java.nio.IntBuffer): void;
						glDepthFunc(param0: number): void;
						glDepthMask(param0: boolean): void;
						glDepthRangef(param0: number, param1: number): void;
						glDepthRangex(param0: number, param1: number): void;
						glDisable(param0: number): void;
						glDisableClientState(param0: number): void;
						glDrawArrays(param0: number, param1: number, param2: number): void;
						glDrawElements(param0: number, param1: number, param2: number, param3: java.nio.Buffer): void;
						glEnable(param0: number): void;
						glEnableClientState(param0: number): void;
						glFinish(): void;
						glFlush(): void;
						glFogf(param0: number, param1: number): void;
						glFogfv(param0: number, param1: native.Array<number>, param2: number): void;
						glFogfv(param0: number, param1: java.nio.FloatBuffer): void;
						glFogx(param0: number, param1: number): void;
						glFogxv(param0: number, param1: native.Array<number>, param2: number): void;
						glFogxv(param0: number, param1: java.nio.IntBuffer): void;
						glFrontFace(param0: number): void;
						glFrustumf(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number): void;
						glFrustumx(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number): void;
						glGenTextures(param0: number, param1: native.Array<number>, param2: number): void;
						glGenTextures(param0: number, param1: java.nio.IntBuffer): void;
						glGetError(): number;
						glGetIntegerv(param0: number, param1: native.Array<number>, param2: number): void;
						glGetIntegerv(param0: number, param1: java.nio.IntBuffer): void;
						glGetString(param0: number): string;
						glHint(param0: number, param1: number): void;
						glLightModelf(param0: number, param1: number): void;
						glLightModelfv(param0: number, param1: native.Array<number>, param2: number): void;
						glLightModelfv(param0: number, param1: java.nio.FloatBuffer): void;
						glLightModelx(param0: number, param1: number): void;
						glLightModelxv(param0: number, param1: native.Array<number>, param2: number): void;
						glLightModelxv(param0: number, param1: java.nio.IntBuffer): void;
						glLightf(param0: number, param1: number, param2: number): void;
						glLightfv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
						glLightfv(param0: number, param1: number, param2: java.nio.FloatBuffer): void;
						glLightx(param0: number, param1: number, param2: number): void;
						glLightxv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
						glLightxv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
						glLineWidth(param0: number): void;
						glLineWidthx(param0: number): void;
						glLoadIdentity(): void;
						glLoadMatrixf(param0: native.Array<number>, param1: number): void;
						glLoadMatrixf(param0: java.nio.FloatBuffer): void;
						glLoadMatrixx(param0: native.Array<number>, param1: number): void;
						glLoadMatrixx(param0: java.nio.IntBuffer): void;
						glLogicOp(param0: number): void;
						glMaterialf(param0: number, param1: number, param2: number): void;
						glMaterialfv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
						glMaterialfv(param0: number, param1: number, param2: java.nio.FloatBuffer): void;
						glMaterialx(param0: number, param1: number, param2: number): void;
						glMaterialxv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
						glMaterialxv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
						glMatrixMode(param0: number): void;
						glMultMatrixf(param0: native.Array<number>, param1: number): void;
						glMultMatrixf(param0: java.nio.FloatBuffer): void;
						glMultMatrixx(param0: native.Array<number>, param1: number): void;
						glMultMatrixx(param0: java.nio.IntBuffer): void;
						glMultiTexCoord4f(param0: number, param1: number, param2: number, param3: number, param4: number): void;
						glMultiTexCoord4x(param0: number, param1: number, param2: number, param3: number, param4: number): void;
						glNormal3f(param0: number, param1: number, param2: number): void;
						glNormal3x(param0: number, param1: number, param2: number): void;
						glNormalPointer(param0: number, param1: number, param2: java.nio.Buffer): void;
						glOrthof(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number): void;
						glOrthox(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number): void;
						glPixelStorei(param0: number, param1: number): void;
						glPointSize(param0: number): void;
						glPointSizex(param0: number): void;
						glPolygonOffset(param0: number, param1: number): void;
						glPolygonOffsetx(param0: number, param1: number): void;
						glPopMatrix(): void;
						glPushMatrix(): void;
						glReadPixels(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: java.nio.Buffer): void;
						glRotatef(param0: number, param1: number, param2: number, param3: number): void;
						glRotatex(param0: number, param1: number, param2: number, param3: number): void;
						glSampleCoverage(param0: number, param1: boolean): void;
						glSampleCoveragex(param0: number, param1: boolean): void;
						glScalef(param0: number, param1: number, param2: number): void;
						glScalex(param0: number, param1: number, param2: number): void;
						glScissor(param0: number, param1: number, param2: number, param3: number): void;
						glShadeModel(param0: number): void;
						glStencilFunc(param0: number, param1: number, param2: number): void;
						glStencilMask(param0: number): void;
						glStencilOp(param0: number, param1: number, param2: number): void;
						glTexCoordPointer(param0: number, param1: number, param2: number, param3: java.nio.Buffer): void;
						glTexEnvf(param0: number, param1: number, param2: number): void;
						glTexEnvfv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
						glTexEnvfv(param0: number, param1: number, param2: java.nio.FloatBuffer): void;
						glTexEnvx(param0: number, param1: number, param2: number): void;
						glTexEnvxv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
						glTexEnvxv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
						glTexImage2D(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number, param8: java.nio.Buffer): void;
						glTexParameterf(param0: number, param1: number, param2: number): void;
						glTexParameterx(param0: number, param1: number, param2: number): void;
						glTexSubImage2D(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number, param8: java.nio.Buffer): void;
						glTranslatef(param0: number, param1: number, param2: number): void;
						glTranslatex(param0: number, param1: number, param2: number): void;
						glVertexPointer(param0: number, param1: number, param2: number, param3: java.nio.Buffer): void;
						glViewport(param0: number, param1: number, param2: number, param3: number): void;
					});
					public constructor();
					public static GL_CULL_FACE: number;
					public static GL_TEXTURE_ENV_COLOR: number;
					public static GL_MAX_PROJECTION_STACK_DEPTH: number;
					public static GL_LINE_STRIP: number;
					public static GL_LUMINANCE: number;
					public static GL_TRUE: number;
					public static GL_DEPTH_TEST: number;
					public static GL_INVALID_OPERATION: number;
					public static GL_DST_COLOR: number;
					public static GL_LESS: number;
					public static GL_TEXTURE_COORD_ARRAY: number;
					public static GL_NO_ERROR: number;
					public static GL_FRONT_AND_BACK: number;
					public static GL_SET: number;
					public static GL_COPY: number;
					public static GL_TEXTURE_WRAP_T: number;
					public static GL_TEXTURE_WRAP_S: number;
					public static GL_ONE: number;
					public static GL_FOG_HINT: number;
					public static GL_LUMINANCE_ALPHA: number;
					public static GL_PALETTE8_RGBA4_OES: number;
					public static GL_XOR: number;
					public static GL_SPOT_CUTOFF: number;
					public static GL_QUADRATIC_ATTENUATION: number;
					public static GL_DECAL: number;
					public static GL_REPLACE: number;
					public static GL_GREATER: number;
					public static GL_FLAT: number;
					public static GL_KEEP: number;
					public static GL_LINEAR_MIPMAP_NEAREST: number;
					public static GL_EXP2: number;
					public static GL_ONE_MINUS_SRC_COLOR: number;
					public static GL_PALETTE4_RGBA8_OES: number;
					public static GL_SCISSOR_TEST: number;
					public static GL_ALIASED_POINT_SIZE_RANGE: number;
					public static GL_CW: number;
					public static GL_LEQUAL: number;
					public static GL_ALIASED_LINE_WIDTH_RANGE: number;
					public static GL_INVALID_ENUM: number;
					public static GL_RED_BITS: number;
					public static GL_CCW: number;
					public static GL_SHORT: number;
					public static GL_ONE_MINUS_DST_COLOR: number;
					public static GL_GREEN_BITS: number;
					public static GL_VENDOR: number;
					public static GL_TEXTURE: number;
					public static GL_ALWAYS: number;
					public static GL_LIGHT_MODEL_AMBIENT: number;
					public static GL_COLOR_BUFFER_BIT: number;
					public static GL_LINE_SMOOTH_HINT: number;
					public static GL_EXP: number;
					public static GL_INVERT: number;
					public static GL_NEAREST: number;
					public static GL_ONE_MINUS_DST_ALPHA: number;
					public static GL_COLOR_MATERIAL: number;
					public static GL_AND_REVERSE: number;
					public static GL_DONT_CARE: number;
					public static GL_FALSE: number;
					public static GL_ALPHA: number;
					public static GL_NEVER: number;
					public static GL_BYTE: number;
					public static GL_ALPHA_TEST: number;
					public static GL_AND: number;
					public static GL_COLOR_ARRAY: number;
					public static GL_COPY_INVERTED: number;
					public static GL_LINE_SMOOTH: number;
					public static GL_EQUAL: number;
					public static GL_BACK: number;
					public static GL_PALETTE8_RGB5_A1_OES: number;
					public static GL_NUM_COMPRESSED_TEXTURE_FORMATS: number;
					public static GL_TRIANGLE_STRIP: number;
					public static GL_SAMPLE_ALPHA_TO_COVERAGE: number;
					public static GL_ONE_MINUS_SRC_ALPHA: number;
					public static GL_LINEAR_ATTENUATION: number;
					public static GL_PALETTE4_RGB5_A1_OES: number;
					public static GL_TEXTURE_ENV_MODE: number;
					public static GL_TRIANGLES: number;
					public static GL_AND_INVERTED: number;
					public static GL_NORMAL_ARRAY: number;
					public static GL_PROJECTION: number;
					public static GL_POSITION: number;
					public static GL_FIXED: number;
					public static GL_DEPTH_BUFFER_BIT: number;
					public static GL_TEXTURE_2D: number;
					public static GL_SHININESS: number;
					public static GL_MAX_TEXTURE_UNITS: number;
					public static GL_OR_INVERTED: number;
					public static GL_NOOP: number;
					public static GL_MAX_TEXTURE_SIZE: number;
					public static GL_PALETTE8_RGBA8_OES: number;
					public static GL_SAMPLE_COVERAGE: number;
					public static GL_EXTENSIONS: number;
					public static GL_OUT_OF_MEMORY: number;
					public static GL_LINEAR: number;
					public static GL_RGBA: number;
					public static GL_NEAREST_MIPMAP_LINEAR: number;
					public static GL_UNSIGNED_SHORT_5_6_5: number;
					public static GL_DEPTH_BITS: number;
					public static GL_UNPACK_ALIGNMENT: number;
					public static GL_SRC_ALPHA_SATURATE: number;
					public static GL_SPOT_EXPONENT: number;
					public static GL_RESCALE_NORMAL: number;
					public static GL_VERTEX_ARRAY: number;
					public static GL_MAX_ELEMENTS_VERTICES: number;
					public static GL_ALPHA_BITS: number;
					public static GL_PERSPECTIVE_CORRECTION_HINT: number;
					public static GL_LIGHTING: number;
					public static GL_TEXTURE20: number;
					public static GL_MAX_VIEWPORT_DIMS: number;
					public static GL_STACK_OVERFLOW: number;
					public static GL_TEXTURE16: number;
					public static GL_LIGHT_MODEL_TWO_SIDE: number;
					public static GL_TEXTURE17: number;
					public static GL_TEXTURE14: number;
					public static GL_TEXTURE15: number;
					public static GL_TEXTURE12: number;
					public static GL_TEXTURE13: number;
					public static GL_TEXTURE10: number;
					public static GL_TEXTURE11: number;
					public static GL_IMPLEMENTATION_COLOR_READ_TYPE_OES: number;
					public static GL_TEXTURE18: number;
					public static GL_FOG_END: number;
					public static GL_TEXTURE19: number;
					public static GL_UNSIGNED_SHORT_4_4_4_4: number;
					public static GL_NEAREST_MIPMAP_NEAREST: number;
					public static GL_TEXTURE30: number;
					public static GL_LINEAR_MIPMAP_LINEAR: number;
					public static GL_TEXTURE31: number;
					public static GL_TEXTURE27: number;
					public static GL_TEXTURE28: number;
					public static GL_FOG_MODE: number;
					public static GL_SPOT_DIRECTION: number;
					public static GL_TEXTURE25: number;
					public static GL_EMISSION: number;
					public static GL_TEXTURE26: number;
					public static GL_TEXTURE23: number;
					public static GL_TEXTURE24: number;
					public static GL_TEXTURE21: number;
					public static GL_TEXTURE22: number;
					public static GL_OR: number;
					public static GL_OR_REVERSE: number;
					public static GL_SPECULAR: number;
					public static GL_TEXTURE29: number;
					public static GL_STENCIL_BUFFER_BIT: number;
					public static GL_LINE_LOOP: number;
					public static GL_SMOOTH: number;
					public static GL_MAX_LIGHTS: number;
					public static GL_SAMPLE_ALPHA_TO_ONE: number;
					public static GL_TRIANGLE_FAN: number;
					public static GL_RENDERER: number;
					public static GL_DIFFUSE: number;
					public static GL_MULTISAMPLE: number;
					public static GL_POINT_SMOOTH_HINT: number;
					public static GL_POINT_SIZE: number;
					public static GL_SMOOTH_LINE_WIDTH_RANGE: number;
					public static GL_PACK_ALIGNMENT: number;
					public static GL_REPEAT: number;
					public static GL_PALETTE4_RGB8_OES: number;
					public static GL_NAND: number;
					public static GL_STENCIL_TEST: number;
					public static GL_ZERO: number;
					public static GL_TEXTURE0: number;
					public static GL_DECR: number;
					public static GL_SMOOTH_POINT_SIZE_RANGE: number;
					public static GL_COLOR_LOGIC_OP: number;
					public static GL_TEXTURE9: number;
					public static GL_UNSIGNED_SHORT: number;
					public static GL_LINES: number;
					public static GL_CLAMP_TO_EDGE: number;
					public static GL_POINTS: number;
					public static GL_POINT_FADE_THRESHOLD_SIZE: number;
					public static GL_TEXTURE3: number;
					public static GL_TEXTURE4: number;
					public static GL_TEXTURE1: number;
					public static GL_TEXTURE2: number;
					public static GL_TEXTURE7: number;
					public static GL_TEXTURE8: number;
					public static GL_TEXTURE5: number;
					public static GL_TEXTURE6: number;
					public static GL_FOG_START: number;
					public static GL_NOTEQUAL: number;
					public static GL_SUBPIXEL_BITS: number;
					public static GL_POLYGON_SMOOTH_HINT: number;
					public static GL_SRC_COLOR: number;
					public static GL_AMBIENT: number;
					public static GL_FRONT: number;
					public static GL_TEXTURE_ENV: number;
					public static GL_FOG: number;
					public static GL_STENCIL_BITS: number;
					public static GL_UNSIGNED_SHORT_5_5_5_1: number;
					public static GL_RGB: number;
					public static GL_NOR: number;
					public static GL_CLEAR: number;
					public static GL_MODELVIEW: number;
					public static GL_PALETTE4_R5_G6_B5_OES: number;
					public static GL_MAX_MODELVIEW_STACK_DEPTH: number;
					public static GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES: number;
					public static GL_FOG_COLOR: number;
					public static GL_EQUIV: number;
					public static GL_FASTEST: number;
					public static GL_SRC_ALPHA: number;
					public static GL_BLEND: number;
					public static GL_PALETTE8_R5_G6_B5_OES: number;
					public static GL_POINT_SMOOTH: number;
					public static GL_PALETTE8_RGB8_OES: number;
					public static GL_CONSTANT_ATTENUATION: number;
					public static GL_MAX_ELEMENTS_INDICES: number;
					public static GL_PALETTE4_RGBA4_OES: number;
					public static GL_INCR: number;
					public static GL_POLYGON_OFFSET_FILL: number;
					public static GL_INVALID_VALUE: number;
					public static GL_LIGHT3: number;
					public static GL_LIGHT2: number;
					public static GL_LIGHT1: number;
					public static GL_LIGHT0: number;
					public static GL_NORMALIZE: number;
					public static GL_LIGHT7: number;
					public static GL_LIGHT6: number;
					public static GL_BLUE_BITS: number;
					public static GL_LIGHT5: number;
					public static GL_AMBIENT_AND_DIFFUSE: number;
					public static GL_LIGHT4: number;
					public static GL_FLOAT: number;
					public static GL_GEQUAL: number;
					public static GL_TEXTURE_MIN_FILTER: number;
					public static GL_NICEST: number;
					public static GL_UNSIGNED_BYTE: number;
					public static GL_TEXTURE_MAG_FILTER: number;
					public static GL_VERSION: number;
					public static GL_ADD: number;
					public static GL_STACK_UNDERFLOW: number;
					public static GL_FOG_DENSITY: number;
					public static GL_DITHER: number;
					public static GL_MAX_TEXTURE_STACK_DEPTH: number;
					public static GL_MODULATE: number;
					public static GL_DST_ALPHA: number;
					public static GL_COMPRESSED_TEXTURE_FORMATS: number;
					public glDrawElements(param0: number, param1: number, param2: number, param3: java.nio.Buffer): void;
					public glEnableClientState(param0: number): void;
					public glLoadMatrixx(param0: native.Array<number>, param1: number): void;
					public glPushMatrix(): void;
					public glScalex(param0: number, param1: number, param2: number): void;
					public glTexEnvx(param0: number, param1: number, param2: number): void;
					public glCopyTexSubImage2D(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number): void;
					public glMultiTexCoord4x(param0: number, param1: number, param2: number, param3: number, param4: number): void;
					public glPolygonOffsetx(param0: number, param1: number): void;
					public glViewport(param0: number, param1: number, param2: number, param3: number): void;
					public glMultMatrixx(param0: java.nio.IntBuffer): void;
					public glLineWidthx(param0: number): void;
					public glPopMatrix(): void;
					public glFogfv(param0: number, param1: native.Array<number>, param2: number): void;
					public glHint(param0: number, param1: number): void;
					public glOrthof(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number): void;
					public glShadeModel(param0: number): void;
					public glFinish(): void;
					public glTexParameterf(param0: number, param1: number, param2: number): void;
					public glScalef(param0: number, param1: number, param2: number): void;
					public glTexEnvf(param0: number, param1: number, param2: number): void;
					public glClearDepthx(param0: number): void;
					public glTexCoordPointer(param0: number, param1: number, param2: number, param3: java.nio.Buffer): void;
					public glLightfv(param0: number, param1: number, param2: java.nio.FloatBuffer): void;
					public glActiveTexture(param0: number): void;
					public glTexParameterx(param0: number, param1: number, param2: number): void;
					public glBindTexture(param0: number, param1: number): void;
					public glFrontFace(param0: number): void;
					public glLoadMatrixf(param0: native.Array<number>, param1: number): void;
					public glClearDepthf(param0: number): void;
					public glCullFace(param0: number): void;
					public glLightxv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
					public glClear(param0: number): void;
					public glMultiTexCoord4f(param0: number, param1: number, param2: number, param3: number, param4: number): void;
					public glOrthox(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number): void;
					public glLightModelf(param0: number, param1: number): void;
					public glGetError(): number;
					public glGenTextures(param0: number, param1: native.Array<number>, param2: number): void;
					public glClearStencil(param0: number): void;
					public glClientActiveTexture(param0: number): void;
					public glSampleCoverage(param0: number, param1: boolean): void;
					public glColorPointer(param0: number, param1: number, param2: number, param3: java.nio.Buffer): void;
					public glDisableClientState(param0: number): void;
					public glLightfv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
					public glMatrixMode(param0: number): void;
					public glLightModelxv(param0: number, param1: native.Array<number>, param2: number): void;
					public glColorMask(param0: boolean, param1: boolean, param2: boolean, param3: boolean): void;
					public glPointSizex(param0: number): void;
					public glRotatef(param0: number, param1: number, param2: number, param3: number): void;
					public glLightModelx(param0: number, param1: number): void;
					public glGetIntegerv(param0: number, param1: java.nio.IntBuffer): void;
					public glMaterialf(param0: number, param1: number, param2: number): void;
					public glNormal3x(param0: number, param1: number, param2: number): void;
					public glTranslatef(param0: number, param1: number, param2: number): void;
					public glCompressedTexSubImage2D(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number, param8: java.nio.Buffer): void;
					public glTexSubImage2D(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number, param8: java.nio.Buffer): void;
					public glRotatex(param0: number, param1: number, param2: number, param3: number): void;
					public glAlphaFunc(param0: number, param1: number): void;
					public glLogicOp(param0: number): void;
					public glDeleteTextures(param0: number, param1: java.nio.IntBuffer): void;
					public glTexEnvfv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
					public glMultMatrixx(param0: native.Array<number>, param1: number): void;
					public glReadPixels(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: java.nio.Buffer): void;
					public glClearColor(param0: number, param1: number, param2: number, param3: number): void;
					public glFogxv(param0: number, param1: java.nio.IntBuffer): void;
					public glLightxv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
					public glMaterialfv(param0: number, param1: number, param2: java.nio.FloatBuffer): void;
					public glNormalPointer(param0: number, param1: number, param2: java.nio.Buffer): void;
					public glDeleteTextures(param0: number, param1: native.Array<number>, param2: number): void;
					public glStencilMask(param0: number): void;
					public glTexImage2D(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number, param8: java.nio.Buffer): void;
					public glColor4x(param0: number, param1: number, param2: number, param3: number): void;
					public glFlush(): void;
					public glTexEnvfv(param0: number, param1: number, param2: java.nio.FloatBuffer): void;
					public glDepthMask(param0: boolean): void;
					public glDepthRangef(param0: number, param1: number): void;
					public glStencilOp(param0: number, param1: number, param2: number): void;
					public glTexEnvxv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
					public glLightx(param0: number, param1: number, param2: number): void;
					public glMaterialxv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
					public glPixelStorei(param0: number, param1: number): void;
					public glEnable(param0: number): void;
					public glTexEnvxv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
					public glVertexPointer(param0: number, param1: number, param2: number, param3: java.nio.Buffer): void;
					public glLightModelfv(param0: number, param1: native.Array<number>, param2: number): void;
					public glGetIntegerv(param0: number, param1: native.Array<number>, param2: number): void;
					public glFogf(param0: number, param1: number): void;
					public glLoadMatrixf(param0: java.nio.FloatBuffer): void;
					public glDepthFunc(param0: number): void;
					public glStencilFunc(param0: number, param1: number, param2: number): void;
					public glClearColorx(param0: number, param1: number, param2: number, param3: number): void;
					public glSampleCoveragex(param0: number, param1: boolean): void;
					public glMultMatrixf(param0: native.Array<number>, param1: number): void;
					public glPointSize(param0: number): void;
					public glLightf(param0: number, param1: number, param2: number): void;
					public glMaterialxv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
					public glCompressedTexImage2D(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: java.nio.Buffer): void;
					public glScissor(param0: number, param1: number, param2: number, param3: number): void;
					public glDisable(param0: number): void;
					public glFogfv(param0: number, param1: java.nio.FloatBuffer): void;
					public glGetString(param0: number): string;
					public glDrawArrays(param0: number, param1: number, param2: number): void;
					public glLineWidth(param0: number): void;
					public glLoadMatrixx(param0: java.nio.IntBuffer): void;
					public glLoadIdentity(): void;
					public glLightModelfv(param0: number, param1: java.nio.FloatBuffer): void;
					public glBlendFunc(param0: number, param1: number): void;
					public glColor4f(param0: number, param1: number, param2: number, param3: number): void;
					public glMaterialfv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
					public glCopyTexImage2D(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number): void;
					public glGenTextures(param0: number, param1: java.nio.IntBuffer): void;
					public glDepthRangex(param0: number, param1: number): void;
					public glPolygonOffset(param0: number, param1: number): void;
					public glMultMatrixf(param0: java.nio.FloatBuffer): void;
					public glTranslatex(param0: number, param1: number, param2: number): void;
					public glFogxv(param0: number, param1: native.Array<number>, param2: number): void;
					public glNormal3f(param0: number, param1: number, param2: number): void;
					public glFrustumf(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number): void;
					public glMaterialx(param0: number, param1: number, param2: number): void;
					public glAlphaFuncx(param0: number, param1: number): void;
					public glFrustumx(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number): void;
					public glFogx(param0: number, param1: number): void;
					public glLightModelxv(param0: number, param1: java.nio.IntBuffer): void;
				}
			}
		}
	}
}

declare module javax {
	export module microedition {
		export module khronos {
			export module opengles {
				export class GL10Ext extends java.lang.Object implements javax.microedition.khronos.opengles.GL {
					public static class: java.lang.Class<javax.microedition.khronos.opengles.GL10Ext>;
					/**
					 * Constructs a new instance of the javax.microedition.khronos.opengles.GL10Ext interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						glQueryMatrixxOES(param0: native.Array<number>, param1: number, param2: native.Array<number>, param3: number): number;
						glQueryMatrixxOES(param0: java.nio.IntBuffer, param1: java.nio.IntBuffer): number;
					});
					public constructor();
					public glQueryMatrixxOES(param0: native.Array<number>, param1: number, param2: native.Array<number>, param3: number): number;
					public glQueryMatrixxOES(param0: java.nio.IntBuffer, param1: java.nio.IntBuffer): number;
				}
			}
		}
	}
}

declare module javax {
	export module microedition {
		export module khronos {
			export module opengles {
				export class GL11 extends java.lang.Object implements javax.microedition.khronos.opengles.GL10 {
					public static class: java.lang.Class<javax.microedition.khronos.opengles.GL11>;
					/**
					 * Constructs a new instance of the javax.microedition.khronos.opengles.GL11 interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						glGetPointerv(param0: number, param1: native.Array<java.nio.Buffer>): void;
						glBindBuffer(param0: number, param1: number): void;
						glBufferData(param0: number, param1: number, param2: java.nio.Buffer, param3: number): void;
						glBufferSubData(param0: number, param1: number, param2: number, param3: java.nio.Buffer): void;
						glClipPlanef(param0: number, param1: native.Array<number>, param2: number): void;
						glClipPlanef(param0: number, param1: java.nio.FloatBuffer): void;
						glClipPlanex(param0: number, param1: native.Array<number>, param2: number): void;
						glClipPlanex(param0: number, param1: java.nio.IntBuffer): void;
						glColor4ub(param0: number, param1: number, param2: number, param3: number): void;
						glColorPointer(param0: number, param1: number, param2: number, param3: number): void;
						glDeleteBuffers(param0: number, param1: native.Array<number>, param2: number): void;
						glDeleteBuffers(param0: number, param1: java.nio.IntBuffer): void;
						glDrawElements(param0: number, param1: number, param2: number, param3: number): void;
						glGenBuffers(param0: number, param1: native.Array<number>, param2: number): void;
						glGenBuffers(param0: number, param1: java.nio.IntBuffer): void;
						glGetBooleanv(param0: number, param1: native.Array<boolean>, param2: number): void;
						glGetBooleanv(param0: number, param1: java.nio.IntBuffer): void;
						glGetBufferParameteriv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
						glGetBufferParameteriv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
						glGetClipPlanef(param0: number, param1: native.Array<number>, param2: number): void;
						glGetClipPlanef(param0: number, param1: java.nio.FloatBuffer): void;
						glGetClipPlanex(param0: number, param1: native.Array<number>, param2: number): void;
						glGetClipPlanex(param0: number, param1: java.nio.IntBuffer): void;
						glGetFixedv(param0: number, param1: native.Array<number>, param2: number): void;
						glGetFixedv(param0: number, param1: java.nio.IntBuffer): void;
						glGetFloatv(param0: number, param1: native.Array<number>, param2: number): void;
						glGetFloatv(param0: number, param1: java.nio.FloatBuffer): void;
						glGetLightfv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
						glGetLightfv(param0: number, param1: number, param2: java.nio.FloatBuffer): void;
						glGetLightxv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
						glGetLightxv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
						glGetMaterialfv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
						glGetMaterialfv(param0: number, param1: number, param2: java.nio.FloatBuffer): void;
						glGetMaterialxv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
						glGetMaterialxv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
						glGetTexEnviv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
						glGetTexEnviv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
						glGetTexEnvxv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
						glGetTexEnvxv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
						glGetTexParameterfv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
						glGetTexParameterfv(param0: number, param1: number, param2: java.nio.FloatBuffer): void;
						glGetTexParameteriv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
						glGetTexParameteriv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
						glGetTexParameterxv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
						glGetTexParameterxv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
						glIsBuffer(param0: number): boolean;
						glIsEnabled(param0: number): boolean;
						glIsTexture(param0: number): boolean;
						glNormalPointer(param0: number, param1: number, param2: number): void;
						glPointParameterf(param0: number, param1: number): void;
						glPointParameterfv(param0: number, param1: native.Array<number>, param2: number): void;
						glPointParameterfv(param0: number, param1: java.nio.FloatBuffer): void;
						glPointParameterx(param0: number, param1: number): void;
						glPointParameterxv(param0: number, param1: native.Array<number>, param2: number): void;
						glPointParameterxv(param0: number, param1: java.nio.IntBuffer): void;
						glPointSizePointerOES(param0: number, param1: number, param2: java.nio.Buffer): void;
						glTexCoordPointer(param0: number, param1: number, param2: number, param3: number): void;
						glTexEnvi(param0: number, param1: number, param2: number): void;
						glTexEnviv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
						glTexEnviv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
						glTexParameterfv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
						glTexParameterfv(param0: number, param1: number, param2: java.nio.FloatBuffer): void;
						glTexParameteri(param0: number, param1: number, param2: number): void;
						glTexParameteriv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
						glTexParameteriv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
						glTexParameterxv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
						glTexParameterxv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
						glVertexPointer(param0: number, param1: number, param2: number, param3: number): void;
						glActiveTexture(param0: number): void;
						glAlphaFunc(param0: number, param1: number): void;
						glAlphaFuncx(param0: number, param1: number): void;
						glBindTexture(param0: number, param1: number): void;
						glBlendFunc(param0: number, param1: number): void;
						glClear(param0: number): void;
						glClearColor(param0: number, param1: number, param2: number, param3: number): void;
						glClearColorx(param0: number, param1: number, param2: number, param3: number): void;
						glClearDepthf(param0: number): void;
						glClearDepthx(param0: number): void;
						glClearStencil(param0: number): void;
						glClientActiveTexture(param0: number): void;
						glColor4f(param0: number, param1: number, param2: number, param3: number): void;
						glColor4x(param0: number, param1: number, param2: number, param3: number): void;
						glColorMask(param0: boolean, param1: boolean, param2: boolean, param3: boolean): void;
						glColorPointer(param0: number, param1: number, param2: number, param3: java.nio.Buffer): void;
						glCompressedTexImage2D(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: java.nio.Buffer): void;
						glCompressedTexSubImage2D(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number, param8: java.nio.Buffer): void;
						glCopyTexImage2D(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number): void;
						glCopyTexSubImage2D(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number): void;
						glCullFace(param0: number): void;
						glDeleteTextures(param0: number, param1: native.Array<number>, param2: number): void;
						glDeleteTextures(param0: number, param1: java.nio.IntBuffer): void;
						glDepthFunc(param0: number): void;
						glDepthMask(param0: boolean): void;
						glDepthRangef(param0: number, param1: number): void;
						glDepthRangex(param0: number, param1: number): void;
						glDisable(param0: number): void;
						glDisableClientState(param0: number): void;
						glDrawArrays(param0: number, param1: number, param2: number): void;
						glDrawElements(param0: number, param1: number, param2: number, param3: java.nio.Buffer): void;
						glEnable(param0: number): void;
						glEnableClientState(param0: number): void;
						glFinish(): void;
						glFlush(): void;
						glFogf(param0: number, param1: number): void;
						glFogfv(param0: number, param1: native.Array<number>, param2: number): void;
						glFogfv(param0: number, param1: java.nio.FloatBuffer): void;
						glFogx(param0: number, param1: number): void;
						glFogxv(param0: number, param1: native.Array<number>, param2: number): void;
						glFogxv(param0: number, param1: java.nio.IntBuffer): void;
						glFrontFace(param0: number): void;
						glFrustumf(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number): void;
						glFrustumx(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number): void;
						glGenTextures(param0: number, param1: native.Array<number>, param2: number): void;
						glGenTextures(param0: number, param1: java.nio.IntBuffer): void;
						glGetError(): number;
						glGetIntegerv(param0: number, param1: native.Array<number>, param2: number): void;
						glGetIntegerv(param0: number, param1: java.nio.IntBuffer): void;
						glGetString(param0: number): string;
						glHint(param0: number, param1: number): void;
						glLightModelf(param0: number, param1: number): void;
						glLightModelfv(param0: number, param1: native.Array<number>, param2: number): void;
						glLightModelfv(param0: number, param1: java.nio.FloatBuffer): void;
						glLightModelx(param0: number, param1: number): void;
						glLightModelxv(param0: number, param1: native.Array<number>, param2: number): void;
						glLightModelxv(param0: number, param1: java.nio.IntBuffer): void;
						glLightf(param0: number, param1: number, param2: number): void;
						glLightfv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
						glLightfv(param0: number, param1: number, param2: java.nio.FloatBuffer): void;
						glLightx(param0: number, param1: number, param2: number): void;
						glLightxv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
						glLightxv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
						glLineWidth(param0: number): void;
						glLineWidthx(param0: number): void;
						glLoadIdentity(): void;
						glLoadMatrixf(param0: native.Array<number>, param1: number): void;
						glLoadMatrixf(param0: java.nio.FloatBuffer): void;
						glLoadMatrixx(param0: native.Array<number>, param1: number): void;
						glLoadMatrixx(param0: java.nio.IntBuffer): void;
						glLogicOp(param0: number): void;
						glMaterialf(param0: number, param1: number, param2: number): void;
						glMaterialfv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
						glMaterialfv(param0: number, param1: number, param2: java.nio.FloatBuffer): void;
						glMaterialx(param0: number, param1: number, param2: number): void;
						glMaterialxv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
						glMaterialxv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
						glMatrixMode(param0: number): void;
						glMultMatrixf(param0: native.Array<number>, param1: number): void;
						glMultMatrixf(param0: java.nio.FloatBuffer): void;
						glMultMatrixx(param0: native.Array<number>, param1: number): void;
						glMultMatrixx(param0: java.nio.IntBuffer): void;
						glMultiTexCoord4f(param0: number, param1: number, param2: number, param3: number, param4: number): void;
						glMultiTexCoord4x(param0: number, param1: number, param2: number, param3: number, param4: number): void;
						glNormal3f(param0: number, param1: number, param2: number): void;
						glNormal3x(param0: number, param1: number, param2: number): void;
						glNormalPointer(param0: number, param1: number, param2: java.nio.Buffer): void;
						glOrthof(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number): void;
						glOrthox(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number): void;
						glPixelStorei(param0: number, param1: number): void;
						glPointSize(param0: number): void;
						glPointSizex(param0: number): void;
						glPolygonOffset(param0: number, param1: number): void;
						glPolygonOffsetx(param0: number, param1: number): void;
						glPopMatrix(): void;
						glPushMatrix(): void;
						glReadPixels(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: java.nio.Buffer): void;
						glRotatef(param0: number, param1: number, param2: number, param3: number): void;
						glRotatex(param0: number, param1: number, param2: number, param3: number): void;
						glSampleCoverage(param0: number, param1: boolean): void;
						glSampleCoveragex(param0: number, param1: boolean): void;
						glScalef(param0: number, param1: number, param2: number): void;
						glScalex(param0: number, param1: number, param2: number): void;
						glScissor(param0: number, param1: number, param2: number, param3: number): void;
						glShadeModel(param0: number): void;
						glStencilFunc(param0: number, param1: number, param2: number): void;
						glStencilMask(param0: number): void;
						glStencilOp(param0: number, param1: number, param2: number): void;
						glTexCoordPointer(param0: number, param1: number, param2: number, param3: java.nio.Buffer): void;
						glTexEnvf(param0: number, param1: number, param2: number): void;
						glTexEnvfv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
						glTexEnvfv(param0: number, param1: number, param2: java.nio.FloatBuffer): void;
						glTexEnvx(param0: number, param1: number, param2: number): void;
						glTexEnvxv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
						glTexEnvxv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
						glTexImage2D(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number, param8: java.nio.Buffer): void;
						glTexParameterf(param0: number, param1: number, param2: number): void;
						glTexParameterx(param0: number, param1: number, param2: number): void;
						glTexSubImage2D(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number, param8: java.nio.Buffer): void;
						glTranslatef(param0: number, param1: number, param2: number): void;
						glTranslatex(param0: number, param1: number, param2: number): void;
						glVertexPointer(param0: number, param1: number, param2: number, param3: java.nio.Buffer): void;
						glViewport(param0: number, param1: number, param2: number, param3: number): void;
					});
					public constructor();
					public static GL_COLOR_ARRAY_POINTER: number;
					public static GL_PREVIOUS: number;
					public static GL_CULL_FACE: number;
					public static GL_TEXTURE_ENV_COLOR: number;
					public static GL_STENCIL_PASS_DEPTH_PASS: number;
					public static GL_MAX_PROJECTION_STACK_DEPTH: number;
					public static GL_PRIMARY_COLOR: number;
					public static GL_LINE_STRIP: number;
					public static GL_LUMINANCE: number;
					public static GL_TRUE: number;
					public static GL_DEPTH_TEST: number;
					public static GL_INVALID_OPERATION: number;
					public static GL_VERTEX_ARRAY_SIZE: number;
					public static GL_DST_COLOR: number;
					public static GL_VIEWPORT: number;
					public static GL_LESS: number;
					public static GL_POLYGON_OFFSET_FACTOR: number;
					public static GL_TEXTURE_COORD_ARRAY: number;
					public static GL_POINT_SIZE_ARRAY_POINTER_OES: number;
					public static GL_OPERAND0_RGB: number;
					public static GL_NO_ERROR: number;
					public static GL_SRC2_RGB: number;
					public static GL_FRONT_AND_BACK: number;
					public static GL_INTERPOLATE: number;
					public static GL_STENCIL_VALUE_MASK: number;
					public static GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES: number;
					public static GL_SET: number;
					public static GL_CURRENT_TEXTURE_COORDS: number;
					public static GL_COPY: number;
					public static GL_DEPTH_CLEAR_VALUE: number;
					public static GL_TEXTURE_WRAP_T: number;
					public static GL_TEXTURE_WRAP_S: number;
					public static GL_ONE: number;
					public static GL_FOG_HINT: number;
					public static GL_LUMINANCE_ALPHA: number;
					public static GL_PALETTE8_RGBA4_OES: number;
					public static GL_XOR: number;
					public static GL_SPOT_CUTOFF: number;
					public static GL_QUADRATIC_ATTENUATION: number;
					public static GL_DECAL: number;
					public static GL_CURRENT_COLOR: number;
					public static GL_REPLACE: number;
					public static GL_GREATER: number;
					public static GL_ELEMENT_ARRAY_BUFFER: number;
					public static GL_DEPTH_FUNC: number;
					public static GL_FLAT: number;
					public static GL_KEEP: number;
					public static GL_LINEAR_MIPMAP_NEAREST: number;
					public static GL_EXP2: number;
					public static GL_ONE_MINUS_SRC_COLOR: number;
					public static GL_PALETTE4_RGBA8_OES: number;
					public static GL_ARRAY_BUFFER_BINDING: number;
					public static GL_SCISSOR_TEST: number;
					public static GL_ALIASED_POINT_SIZE_RANGE: number;
					public static GL_CW: number;
					public static GL_LEQUAL: number;
					public static GL_ALIASED_LINE_WIDTH_RANGE: number;
					public static GL_INVALID_ENUM: number;
					public static GL_RED_BITS: number;
					public static GL_CCW: number;
					public static GL_SHORT: number;
					public static GL_POINT_SIZE_MAX: number;
					public static GL_ONE_MINUS_DST_COLOR: number;
					public static GL_GREEN_BITS: number;
					public static GL_VENDOR: number;
					public static GL_NORMAL_ARRAY_BUFFER_BINDING: number;
					public static GL_TEXTURE: number;
					public static GL_COLOR_ARRAY_SIZE: number;
					public static GL_ALWAYS: number;
					public static GL_LIGHT_MODEL_AMBIENT: number;
					public static GL_COLOR_BUFFER_BIT: number;
					public static GL_LINE_SMOOTH_HINT: number;
					public static GL_SRC2_ALPHA: number;
					public static GL_EXP: number;
					public static GL_MODELVIEW_STACK_DEPTH: number;
					public static GL_STENCIL_REF: number;
					public static GL_INVERT: number;
					public static GL_NEAREST: number;
					public static GL_ONE_MINUS_DST_ALPHA: number;
					public static GL_COLOR_MATERIAL: number;
					public static GL_CURRENT_NORMAL: number;
					public static GL_AND_REVERSE: number;
					public static GL_TEXTURE_COORD_ARRAY_POINTER: number;
					public static GL_SAMPLE_COVERAGE_VALUE: number;
					public static GL_CLIP_PLANE0: number;
					public static GL_DONT_CARE: number;
					public static GL_CLIP_PLANE2: number;
					public static GL_FALSE: number;
					public static GL_CLIP_PLANE1: number;
					public static GL_CLIP_PLANE4: number;
					public static GL_CLIP_PLANE3: number;
					public static GL_GENERATE_MIPMAP_HINT: number;
					public static GL_RGB_SCALE: number;
					public static GL_CLIP_PLANE5: number;
					public static GL_ALPHA: number;
					public static GL_COLOR_ARRAY_BUFFER_BINDING: number;
					public static GL_NEVER: number;
					public static GL_VERTEX_ARRAY_STRIDE: number;
					public static GL_BYTE: number;
					public static GL_ALPHA_TEST: number;
					public static GL_AND: number;
					public static GL_COLOR_ARRAY: number;
					public static GL_CONSTANT: number;
					public static GL_COPY_INVERTED: number;
					public static GL_LINE_SMOOTH: number;
					public static GL_COLOR_ARRAY_STRIDE: number;
					public static GL_EQUAL: number;
					public static GL_BUFFER_USAGE: number;
					public static GL_BACK: number;
					public static GL_PALETTE8_RGB5_A1_OES: number;
					public static GL_COLOR_ARRAY_TYPE: number;
					public static GL_NUM_COMPRESSED_TEXTURE_FORMATS: number;
					public static GL_TRIANGLE_STRIP: number;
					public static GL_DOT3_RGB: number;
					public static GL_SAMPLE_ALPHA_TO_COVERAGE: number;
					public static GL_ONE_MINUS_SRC_ALPHA: number;
					public static GL_ELEMENT_ARRAY_BUFFER_BINDING: number;
					public static GL_LINEAR_ATTENUATION: number;
					public static GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES: number;
					public static GL_PALETTE4_RGB5_A1_OES: number;
					public static GL_TEXTURE_ENV_MODE: number;
					public static GL_ALPHA_TEST_REF: number;
					public static GL_TRIANGLES: number;
					public static GL_MATRIX_MODE: number;
					public static GL_PROJECTION_MATRIX: number;
					public static GL_SRC1_ALPHA: number;
					public static GL_AND_INVERTED: number;
					public static GL_NORMAL_ARRAY: number;
					public static GL_POINT_SIZE_ARRAY_TYPE_OES: number;
					public static GL_PROJECTION: number;
					public static GL_ARRAY_BUFFER: number;
					public static GL_POSITION: number;
					public static GL_FIXED: number;
					public static GL_POINT_DISTANCE_ATTENUATION: number;
					public static GL_DEPTH_BUFFER_BIT: number;
					public static GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING: number;
					public static GL_TEXTURE_2D: number;
					public static GL_VERTEX_ARRAY_TYPE: number;
					public static GL_SHININESS: number;
					public static GL_MAX_TEXTURE_UNITS: number;
					public static GL_OR_INVERTED: number;
					public static GL_NOOP: number;
					public static GL_VERTEX_ARRAY_BUFFER_BINDING: number;
					public static GL_DYNAMIC_DRAW: number;
					public static GL_MAX_TEXTURE_SIZE: number;
					public static GL_PALETTE8_RGBA8_OES: number;
					public static GL_SAMPLE_COVERAGE: number;
					public static GL_EXTENSIONS: number;
					public static GL_OUT_OF_MEMORY: number;
					public static GL_ALPHA_SCALE: number;
					public static GL_LINEAR: number;
					public static GL_RGBA: number;
					public static GL_NEAREST_MIPMAP_LINEAR: number;
					public static GL_UNSIGNED_SHORT_5_6_5: number;
					public static GL_COLOR_WRITEMASK: number;
					public static GL_DEPTH_BITS: number;
					public static GL_UNPACK_ALIGNMENT: number;
					public static GL_SRC_ALPHA_SATURATE: number;
					public static GL_SPOT_EXPONENT: number;
					public static GL_RESCALE_NORMAL: number;
					public static GL_VERTEX_ARRAY: number;
					public static GL_ACTIVE_TEXTURE: number;
					public static GL_MAX_ELEMENTS_VERTICES: number;
					public static GL_TEXTURE_STACK_DEPTH: number;
					public static GL_ALPHA_BITS: number;
					public static GL_PERSPECTIVE_CORRECTION_HINT: number;
					public static GL_LIGHTING: number;
					public static GL_TEXTURE20: number;
					public static GL_MAX_VIEWPORT_DIMS: number;
					public static GL_DOT3_RGBA: number;
					public static GL_STACK_OVERFLOW: number;
					public static GL_BLEND_DST: number;
					public static GL_TEXTURE16: number;
					public static GL_TEXTURE_COORD_ARRAY_STRIDE: number;
					public static GL_LIGHT_MODEL_TWO_SIDE: number;
					public static GL_TEXTURE17: number;
					public static GL_NORMAL_ARRAY_TYPE: number;
					public static GL_TEXTURE14: number;
					public static GL_TEXTURE15: number;
					public static GL_TEXTURE12: number;
					public static GL_TEXTURE13: number;
					public static GL_TEXTURE10: number;
					public static GL_SRC0_ALPHA: number;
					public static GL_TEXTURE11: number;
					public static GL_SUBTRACT: number;
					public static GL_IMPLEMENTATION_COLOR_READ_TYPE_OES: number;
					public static GL_TEXTURE18: number;
					public static GL_COORD_REPLACE_OES: number;
					public static GL_FOG_END: number;
					public static GL_TEXTURE19: number;
					public static GL_UNSIGNED_SHORT_4_4_4_4: number;
					public static GL_BUFFER_ACCESS: number;
					public static GL_TEXTURE_COORD_ARRAY_TYPE: number;
					public static GL_COMBINE: number;
					public static GL_NEAREST_MIPMAP_NEAREST: number;
					public static GL_COLOR_CLEAR_VALUE: number;
					public static GL_TEXTURE30: number;
					public static GL_LINEAR_MIPMAP_LINEAR: number;
					public static GL_TEXTURE31: number;
					public static GL_TEXTURE27: number;
					public static GL_MODELVIEW_MATRIX: number;
					public static GL_TEXTURE28: number;
					public static GL_FOG_MODE: number;
					public static GL_SPOT_DIRECTION: number;
					public static GL_TEXTURE25: number;
					public static GL_EMISSION: number;
					public static GL_TEXTURE26: number;
					public static GL_ALPHA_TEST_FUNC: number;
					public static GL_TEXTURE23: number;
					public static GL_TEXTURE24: number;
					public static GL_TEXTURE21: number;
					public static GL_TEXTURE22: number;
					public static GL_OR: number;
					public static GL_OR_REVERSE: number;
					public static GL_SRC0_RGB: number;
					public static GL_STENCIL_PASS_DEPTH_FAIL: number;
					public static GL_SAMPLE_COVERAGE_INVERT: number;
					public static GL_WRITE_ONLY: number;
					public static GL_SPECULAR: number;
					public static GL_TEXTURE29: number;
					public static GL_STENCIL_BUFFER_BIT: number;
					public static GL_PROJECTION_STACK_DEPTH: number;
					public static GL_DEPTH_WRITEMASK: number;
					public static GL_LINE_LOOP: number;
					public static GL_SMOOTH: number;
					public static GL_LOGIC_OP_MODE: number;
					public static GL_COMBINE_RGB: number;
					public static GL_MAX_LIGHTS: number;
					public static GL_SAMPLE_BUFFERS: number;
					public static GL_SAMPLE_ALPHA_TO_ONE: number;
					public static GL_NORMAL_ARRAY_POINTER: number;
					public static GL_TRIANGLE_FAN: number;
					public static GL_RENDERER: number;
					public static GL_STENCIL_CLEAR_VALUE: number;
					public static GL_DIFFUSE: number;
					public static GL_MULTISAMPLE: number;
					public static GL_OPERAND1_ALPHA: number;
					public static GL_POINT_SMOOTH_HINT: number;
					public static GL_POINT_SIZE: number;
					public static GL_SCISSOR_BOX: number;
					public static GL_BUFFER_SIZE: number;
					public static GL_SMOOTH_LINE_WIDTH_RANGE: number;
					public static GL_PACK_ALIGNMENT: number;
					public static GL_REPEAT: number;
					public static GL_PALETTE4_RGB8_OES: number;
					public static GL_NAND: number;
					public static GL_STENCIL_TEST: number;
					public static GL_ZERO: number;
					public static GL_TEXTURE0: number;
					public static GL_DECR: number;
					public static GL_SMOOTH_POINT_SIZE_RANGE: number;
					public static GL_SHADE_MODEL: number;
					public static GL_FRONT_FACE: number;
					public static GL_BLEND_SRC: number;
					public static GL_COLOR_LOGIC_OP: number;
					public static GL_POLYGON_OFFSET_UNITS: number;
					public static GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES: number;
					public static GL_TEXTURE9: number;
					public static GL_UNSIGNED_SHORT: number;
					public static GL_OPERAND1_RGB: number;
					public static GL_LINES: number;
					public static GL_CLIENT_ACTIVE_TEXTURE: number;
					public static GL_CLAMP_TO_EDGE: number;
					public static GL_POINTS: number;
					public static GL_POINT_FADE_THRESHOLD_SIZE: number;
					public static GL_TEXTURE3: number;
					public static GL_TEXTURE4: number;
					public static GL_TEXTURE1: number;
					public static GL_TEXTURE2: number;
					public static GL_POINT_SIZE_ARRAY_STRIDE_OES: number;
					public static GL_TEXTURE7: number;
					public static GL_TEXTURE8: number;
					public static GL_TEXTURE5: number;
					public static GL_STATIC_DRAW: number;
					public static GL_TEXTURE6: number;
					public static GL_NORMAL_ARRAY_STRIDE: number;
					public static GL_FOG_START: number;
					public static GL_NOTEQUAL: number;
					public static GL_SUBPIXEL_BITS: number;
					public static GL_POLYGON_SMOOTH_HINT: number;
					public static GL_LINE_WIDTH: number;
					public static GL_STENCIL_FAIL: number;
					public static GL_SRC_COLOR: number;
					public static GL_AMBIENT: number;
					public static GL_FRONT: number;
					public static GL_STENCIL_WRITEMASK: number;
					public static GL_TEXTURE_ENV: number;
					public static GL_FOG: number;
					public static GL_TEXTURE_BINDING_2D: number;
					public static GL_STENCIL_BITS: number;
					public static GL_CULL_FACE_MODE: number;
					public static GL_UNSIGNED_SHORT_5_5_5_1: number;
					public static GL_RGB: number;
					public static GL_NOR: number;
					public static GL_OPERAND0_ALPHA: number;
					public static GL_CLEAR: number;
					public static GL_MODELVIEW: number;
					public static GL_PALETTE4_R5_G6_B5_OES: number;
					public static GL_SRC1_RGB: number;
					public static GL_MAX_MODELVIEW_STACK_DEPTH: number;
					public static GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES: number;
					public static GL_POINT_SIZE_MIN: number;
					public static GL_FOG_COLOR: number;
					public static GL_EQUIV: number;
					public static GL_FASTEST: number;
					public static GL_ADD_SIGNED: number;
					public static GL_SRC_ALPHA: number;
					public static GL_COMBINE_ALPHA: number;
					public static GL_BLEND: number;
					public static GL_PALETTE8_R5_G6_B5_OES: number;
					public static GL_POINT_SMOOTH: number;
					public static GL_PALETTE8_RGB8_OES: number;
					public static GL_CONSTANT_ATTENUATION: number;
					public static GL_MAX_ELEMENTS_INDICES: number;
					public static GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES: number;
					public static GL_PALETTE4_RGBA4_OES: number;
					public static GL_INCR: number;
					public static GL_VERTEX_ARRAY_POINTER: number;
					public static GL_POLYGON_OFFSET_FILL: number;
					public static GL_POINT_SPRITE_OES: number;
					public static GL_INVALID_VALUE: number;
					public static GL_LIGHT3: number;
					public static GL_LIGHT2: number;
					public static GL_LIGHT1: number;
					public static GL_LIGHT0: number;
					public static GL_NORMALIZE: number;
					public static GL_LIGHT7: number;
					public static GL_LIGHT6: number;
					public static GL_DEPTH_RANGE: number;
					public static GL_BLUE_BITS: number;
					public static GL_LIGHT5: number;
					public static GL_AMBIENT_AND_DIFFUSE: number;
					public static GL_LIGHT4: number;
					public static GL_FLOAT: number;
					public static GL_MAX_CLIP_PLANES: number;
					public static GL_TEXTURE_MATRIX: number;
					public static GL_GEQUAL: number;
					public static GL_TEXTURE_MIN_FILTER: number;
					public static GL_NICEST: number;
					public static GL_POINT_SIZE_ARRAY_OES: number;
					public static GL_STENCIL_FUNC: number;
					public static GL_UNSIGNED_BYTE: number;
					public static GL_OPERAND2_RGB: number;
					public static GL_TEXTURE_COORD_ARRAY_SIZE: number;
					public static GL_TEXTURE_MAG_FILTER: number;
					public static GL_VERSION: number;
					public static GL_ADD: number;
					public static GL_STACK_UNDERFLOW: number;
					public static GL_FOG_DENSITY: number;
					public static GL_DITHER: number;
					public static GL_GENERATE_MIPMAP: number;
					public static GL_OPERAND2_ALPHA: number;
					public static GL_SAMPLES: number;
					public static GL_MAX_TEXTURE_STACK_DEPTH: number;
					public static GL_MODULATE: number;
					public static GL_DST_ALPHA: number;
					public static GL_COMPRESSED_TEXTURE_FORMATS: number;
					public glDrawElements(param0: number, param1: number, param2: number, param3: java.nio.Buffer): void;
					public glEnableClientState(param0: number): void;
					public glLoadMatrixx(param0: native.Array<number>, param1: number): void;
					public glGenBuffers(param0: number, param1: java.nio.IntBuffer): void;
					public glGetBufferParameteriv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
					public glPushMatrix(): void;
					public glGetLightfv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
					public glScalex(param0: number, param1: number, param2: number): void;
					public glTexParameterxv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
					public glTexEnvx(param0: number, param1: number, param2: number): void;
					public glGetTexEnvxv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
					public glCopyTexSubImage2D(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number): void;
					public glGetTexParameterxv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
					public glClipPlanef(param0: number, param1: java.nio.FloatBuffer): void;
					public glMultiTexCoord4x(param0: number, param1: number, param2: number, param3: number, param4: number): void;
					public glPolygonOffsetx(param0: number, param1: number): void;
					public glViewport(param0: number, param1: number, param2: number, param3: number): void;
					public glGetTexParameterfv(param0: number, param1: number, param2: java.nio.FloatBuffer): void;
					public glPointParameterxv(param0: number, param1: native.Array<number>, param2: number): void;
					public glMultMatrixx(param0: java.nio.IntBuffer): void;
					public glLineWidthx(param0: number): void;
					public glPopMatrix(): void;
					public glColor4ub(param0: number, param1: number, param2: number, param3: number): void;
					public glTexParameteriv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
					public glFogfv(param0: number, param1: native.Array<number>, param2: number): void;
					public glHint(param0: number, param1: number): void;
					public glGetTexParameterfv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
					public glOrthof(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number): void;
					public glShadeModel(param0: number): void;
					public glFinish(): void;
					public glPointParameterf(param0: number, param1: number): void;
					public glTexParameterf(param0: number, param1: number, param2: number): void;
					public glScalef(param0: number, param1: number, param2: number): void;
					public glGetTexParameteriv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
					public glGetLightxv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
					public glTexEnvf(param0: number, param1: number, param2: number): void;
					public glClipPlanef(param0: number, param1: native.Array<number>, param2: number): void;
					public glClearDepthx(param0: number): void;
					public glTexCoordPointer(param0: number, param1: number, param2: number, param3: java.nio.Buffer): void;
					public glLightfv(param0: number, param1: number, param2: java.nio.FloatBuffer): void;
					public glGetTexEnviv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
					public glIsTexture(param0: number): boolean;
					public glActiveTexture(param0: number): void;
					public glTexParameterfv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
					public glTexParameterx(param0: number, param1: number, param2: number): void;
					public glNormalPointer(param0: number, param1: number, param2: number): void;
					public glBindTexture(param0: number, param1: number): void;
					public glFrontFace(param0: number): void;
					public glLoadMatrixf(param0: native.Array<number>, param1: number): void;
					public glGetClipPlanef(param0: number, param1: java.nio.FloatBuffer): void;
					public glIsBuffer(param0: number): boolean;
					public glClearDepthf(param0: number): void;
					public glCullFace(param0: number): void;
					public glBufferData(param0: number, param1: number, param2: java.nio.Buffer, param3: number): void;
					public glClipPlanex(param0: number, param1: native.Array<number>, param2: number): void;
					public glLightxv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
					public glTexParameterxv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
					public glClear(param0: number): void;
					public glMultiTexCoord4f(param0: number, param1: number, param2: number, param3: number, param4: number): void;
					public glOrthox(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number): void;
					public glLightModelf(param0: number, param1: number): void;
					public glGetError(): number;
					public glGenTextures(param0: number, param1: native.Array<number>, param2: number): void;
					public glClearStencil(param0: number): void;
					public glClientActiveTexture(param0: number): void;
					public glSampleCoverage(param0: number, param1: boolean): void;
					public glClipPlanex(param0: number, param1: java.nio.IntBuffer): void;
					public glColorPointer(param0: number, param1: number, param2: number, param3: java.nio.Buffer): void;
					public glDisableClientState(param0: number): void;
					public glLightfv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
					public glMatrixMode(param0: number): void;
					public glPointParameterx(param0: number, param1: number): void;
					public glPointParameterxv(param0: number, param1: java.nio.IntBuffer): void;
					public glPointSizePointerOES(param0: number, param1: number, param2: java.nio.Buffer): void;
					public glLightModelxv(param0: number, param1: native.Array<number>, param2: number): void;
					public glColorMask(param0: boolean, param1: boolean, param2: boolean, param3: boolean): void;
					public glGetMaterialfv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
					public glGetTexEnvxv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
					public glGetBufferParameteriv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
					public glPointSizex(param0: number): void;
					public glRotatef(param0: number, param1: number, param2: number, param3: number): void;
					public glLightModelx(param0: number, param1: number): void;
					public glGetIntegerv(param0: number, param1: java.nio.IntBuffer): void;
					public glGetMaterialxv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
					public glMaterialf(param0: number, param1: number, param2: number): void;
					public glBindBuffer(param0: number, param1: number): void;
					public glTexParameteri(param0: number, param1: number, param2: number): void;
					public glNormal3x(param0: number, param1: number, param2: number): void;
					public glTranslatef(param0: number, param1: number, param2: number): void;
					public glCompressedTexSubImage2D(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number, param8: java.nio.Buffer): void;
					public glTexSubImage2D(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number, param8: java.nio.Buffer): void;
					public glRotatex(param0: number, param1: number, param2: number, param3: number): void;
					public glAlphaFunc(param0: number, param1: number): void;
					public glLogicOp(param0: number): void;
					public glDeleteTextures(param0: number, param1: java.nio.IntBuffer): void;
					public glTexParameteriv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
					public glTexEnvfv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
					public glBufferSubData(param0: number, param1: number, param2: number, param3: java.nio.Buffer): void;
					public glMultMatrixx(param0: native.Array<number>, param1: number): void;
					public glReadPixels(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: java.nio.Buffer): void;
					public glGetFixedv(param0: number, param1: java.nio.IntBuffer): void;
					public glClearColor(param0: number, param1: number, param2: number, param3: number): void;
					public glFogxv(param0: number, param1: java.nio.IntBuffer): void;
					public glLightxv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
					public glMaterialfv(param0: number, param1: number, param2: java.nio.FloatBuffer): void;
					public glGetFloatv(param0: number, param1: native.Array<number>, param2: number): void;
					public glNormalPointer(param0: number, param1: number, param2: java.nio.Buffer): void;
					public glDeleteTextures(param0: number, param1: native.Array<number>, param2: number): void;
					public glStencilMask(param0: number): void;
					public glTexImage2D(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number, param8: java.nio.Buffer): void;
					public glVertexPointer(param0: number, param1: number, param2: number, param3: number): void;
					public glGetTexParameteriv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
					public glColor4x(param0: number, param1: number, param2: number, param3: number): void;
					public glGetBooleanv(param0: number, param1: native.Array<boolean>, param2: number): void;
					public glTexEnviv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
					public glFlush(): void;
					public glTexEnvfv(param0: number, param1: number, param2: java.nio.FloatBuffer): void;
					public glDepthMask(param0: boolean): void;
					public glPointParameterfv(param0: number, param1: java.nio.FloatBuffer): void;
					public glDepthRangef(param0: number, param1: number): void;
					public glStencilOp(param0: number, param1: number, param2: number): void;
					public glTexEnvxv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
					public glLightx(param0: number, param1: number, param2: number): void;
					public glMaterialxv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
					public glPixelStorei(param0: number, param1: number): void;
					public glEnable(param0: number): void;
					public glTexEnvxv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
					public glVertexPointer(param0: number, param1: number, param2: number, param3: java.nio.Buffer): void;
					public glPointParameterfv(param0: number, param1: native.Array<number>, param2: number): void;
					public glTexParameterfv(param0: number, param1: number, param2: java.nio.FloatBuffer): void;
					public glGetTexEnviv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
					public glGenBuffers(param0: number, param1: native.Array<number>, param2: number): void;
					public glLightModelfv(param0: number, param1: native.Array<number>, param2: number): void;
					public glDrawElements(param0: number, param1: number, param2: number, param3: number): void;
					public glGetTexParameterxv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
					public glGetIntegerv(param0: number, param1: native.Array<number>, param2: number): void;
					public glGetMaterialxv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
					public glFogf(param0: number, param1: number): void;
					public glLoadMatrixf(param0: java.nio.FloatBuffer): void;
					public glDepthFunc(param0: number): void;
					public glGetClipPlanef(param0: number, param1: native.Array<number>, param2: number): void;
					public glStencilFunc(param0: number, param1: number, param2: number): void;
					public glClearColorx(param0: number, param1: number, param2: number, param3: number): void;
					public glSampleCoveragex(param0: number, param1: boolean): void;
					public glMultMatrixf(param0: native.Array<number>, param1: number): void;
					public glPointSize(param0: number): void;
					public glLightf(param0: number, param1: number, param2: number): void;
					public glMaterialxv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
					public glGetPointerv(param0: number, param1: native.Array<java.nio.Buffer>): void;
					public glTexCoordPointer(param0: number, param1: number, param2: number, param3: number): void;
					public glCompressedTexImage2D(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: java.nio.Buffer): void;
					public glScissor(param0: number, param1: number, param2: number, param3: number): void;
					public glDisable(param0: number): void;
					public glFogfv(param0: number, param1: java.nio.FloatBuffer): void;
					public glGetString(param0: number): string;
					public glColorPointer(param0: number, param1: number, param2: number, param3: number): void;
					public glDrawArrays(param0: number, param1: number, param2: number): void;
					public glLineWidth(param0: number): void;
					public glIsEnabled(param0: number): boolean;
					public glLoadMatrixx(param0: java.nio.IntBuffer): void;
					public glLoadIdentity(): void;
					public glLightModelfv(param0: number, param1: java.nio.FloatBuffer): void;
					public glGetMaterialfv(param0: number, param1: number, param2: java.nio.FloatBuffer): void;
					public glBlendFunc(param0: number, param1: number): void;
					public glGetClipPlanex(param0: number, param1: native.Array<number>, param2: number): void;
					public glGetClipPlanex(param0: number, param1: java.nio.IntBuffer): void;
					public glGetLightfv(param0: number, param1: number, param2: java.nio.FloatBuffer): void;
					public glGetFixedv(param0: number, param1: native.Array<number>, param2: number): void;
					public glColor4f(param0: number, param1: number, param2: number, param3: number): void;
					public glMaterialfv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
					public glCopyTexImage2D(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number): void;
					public glGenTextures(param0: number, param1: java.nio.IntBuffer): void;
					public glDeleteBuffers(param0: number, param1: java.nio.IntBuffer): void;
					public glTexEnvi(param0: number, param1: number, param2: number): void;
					public glDepthRangex(param0: number, param1: number): void;
					public glPolygonOffset(param0: number, param1: number): void;
					public glMultMatrixf(param0: java.nio.FloatBuffer): void;
					public glGetLightxv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
					public glGetBooleanv(param0: number, param1: java.nio.IntBuffer): void;
					public glTexEnviv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
					public glTranslatex(param0: number, param1: number, param2: number): void;
					public glFogxv(param0: number, param1: native.Array<number>, param2: number): void;
					public glNormal3f(param0: number, param1: number, param2: number): void;
					public glGetFloatv(param0: number, param1: java.nio.FloatBuffer): void;
					public glFrustumf(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number): void;
					public glMaterialx(param0: number, param1: number, param2: number): void;
					public glAlphaFuncx(param0: number, param1: number): void;
					public glFrustumx(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number): void;
					public glFogx(param0: number, param1: number): void;
					public glLightModelxv(param0: number, param1: java.nio.IntBuffer): void;
					public glDeleteBuffers(param0: number, param1: native.Array<number>, param2: number): void;
				}
			}
		}
	}
}

declare module javax {
	export module microedition {
		export module khronos {
			export module opengles {
				export class GL11Ext extends java.lang.Object implements javax.microedition.khronos.opengles.GL {
					public static class: java.lang.Class<javax.microedition.khronos.opengles.GL11Ext>;
					/**
					 * Constructs a new instance of the javax.microedition.khronos.opengles.GL11Ext interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						glTexParameterfv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
						glCurrentPaletteMatrixOES(param0: number): void;
						glDrawTexfOES(param0: number, param1: number, param2: number, param3: number, param4: number): void;
						glDrawTexfvOES(param0: native.Array<number>, param1: number): void;
						glDrawTexfvOES(param0: java.nio.FloatBuffer): void;
						glDrawTexiOES(param0: number, param1: number, param2: number, param3: number, param4: number): void;
						glDrawTexivOES(param0: native.Array<number>, param1: number): void;
						glDrawTexivOES(param0: java.nio.IntBuffer): void;
						glDrawTexsOES(param0: number, param1: number, param2: number, param3: number, param4: number): void;
						glDrawTexsvOES(param0: native.Array<number>, param1: number): void;
						glDrawTexsvOES(param0: java.nio.ShortBuffer): void;
						glDrawTexxOES(param0: number, param1: number, param2: number, param3: number, param4: number): void;
						glDrawTexxvOES(param0: native.Array<number>, param1: number): void;
						glDrawTexxvOES(param0: java.nio.IntBuffer): void;
						glEnable(param0: number): void;
						glEnableClientState(param0: number): void;
						glLoadPaletteFromModelViewMatrixOES(): void;
						glMatrixIndexPointerOES(param0: number, param1: number, param2: number, param3: java.nio.Buffer): void;
						glMatrixIndexPointerOES(param0: number, param1: number, param2: number, param3: number): void;
						glWeightPointerOES(param0: number, param1: number, param2: number, param3: java.nio.Buffer): void;
						glWeightPointerOES(param0: number, param1: number, param2: number, param3: number): void;
					});
					public constructor();
					public static GL_MATRIX_INDEX_ARRAY_OES: number;
					public static GL_WEIGHT_ARRAY_BUFFER_BINDING_OES: number;
					public static GL_WEIGHT_ARRAY_OES: number;
					public static GL_MATRIX_INDEX_ARRAY_TYPE_OES: number;
					public static GL_MATRIX_PALETTE_OES: number;
					public static GL_WEIGHT_ARRAY_POINTER_OES: number;
					public static GL_WEIGHT_ARRAY_TYPE_OES: number;
					public static GL_MAX_PALETTE_MATRICES_OES: number;
					public static GL_MATRIX_INDEX_ARRAY_POINTER_OES: number;
					public static GL_MAX_VERTEX_UNITS_OES: number;
					public static GL_WEIGHT_ARRAY_SIZE_OES: number;
					public static GL_WEIGHT_ARRAY_STRIDE_OES: number;
					public static GL_MATRIX_INDEX_ARRAY_STRIDE_OES: number;
					public static GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES: number;
					public static GL_MATRIX_INDEX_ARRAY_SIZE_OES: number;
					public static GL_TEXTURE_CROP_RECT_OES: number;
					public glEnableClientState(param0: number): void;
					public glMatrixIndexPointerOES(param0: number, param1: number, param2: number, param3: java.nio.Buffer): void;
					public glDrawTexxOES(param0: number, param1: number, param2: number, param3: number, param4: number): void;
					public glDrawTexivOES(param0: java.nio.IntBuffer): void;
					public glDrawTexsvOES(param0: native.Array<number>, param1: number): void;
					public glCurrentPaletteMatrixOES(param0: number): void;
					public glDrawTexivOES(param0: native.Array<number>, param1: number): void;
					public glDrawTexiOES(param0: number, param1: number, param2: number, param3: number, param4: number): void;
					public glDrawTexfvOES(param0: native.Array<number>, param1: number): void;
					public glDrawTexfOES(param0: number, param1: number, param2: number, param3: number, param4: number): void;
					public glDrawTexsOES(param0: number, param1: number, param2: number, param3: number, param4: number): void;
					public glEnable(param0: number): void;
					public glMatrixIndexPointerOES(param0: number, param1: number, param2: number, param3: number): void;
					public glDrawTexxvOES(param0: native.Array<number>, param1: number): void;
					public glLoadPaletteFromModelViewMatrixOES(): void;
					public glWeightPointerOES(param0: number, param1: number, param2: number, param3: java.nio.Buffer): void;
					public glTexParameterfv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
					public glDrawTexfvOES(param0: java.nio.FloatBuffer): void;
					public glDrawTexxvOES(param0: java.nio.IntBuffer): void;
					public glDrawTexsvOES(param0: java.nio.ShortBuffer): void;
					public glWeightPointerOES(param0: number, param1: number, param2: number, param3: number): void;
				}
			}
		}
	}
}

declare module javax {
	export module microedition {
		export module khronos {
			export module opengles {
				export class GL11ExtensionPack extends java.lang.Object implements javax.microedition.khronos.opengles.GL {
					public static class: java.lang.Class<javax.microedition.khronos.opengles.GL11ExtensionPack>;
					/**
					 * Constructs a new instance of the javax.microedition.khronos.opengles.GL11ExtensionPack interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						glBindFramebufferOES(param0: number, param1: number): void;
						glBindRenderbufferOES(param0: number, param1: number): void;
						glBindTexture(param0: number, param1: number): void;
						glBlendEquation(param0: number): void;
						glBlendEquationSeparate(param0: number, param1: number): void;
						glBlendFuncSeparate(param0: number, param1: number, param2: number, param3: number): void;
						glCheckFramebufferStatusOES(param0: number): number;
						glCompressedTexImage2D(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: java.nio.Buffer): void;
						glCopyTexImage2D(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number): void;
						glDeleteFramebuffersOES(param0: number, param1: native.Array<number>, param2: number): void;
						glDeleteFramebuffersOES(param0: number, param1: java.nio.IntBuffer): void;
						glDeleteRenderbuffersOES(param0: number, param1: native.Array<number>, param2: number): void;
						glDeleteRenderbuffersOES(param0: number, param1: java.nio.IntBuffer): void;
						glEnable(param0: number): void;
						glFramebufferRenderbufferOES(param0: number, param1: number, param2: number, param3: number): void;
						glFramebufferTexture2DOES(param0: number, param1: number, param2: number, param3: number, param4: number): void;
						glGenerateMipmapOES(param0: number): void;
						glGenFramebuffersOES(param0: number, param1: native.Array<number>, param2: number): void;
						glGenFramebuffersOES(param0: number, param1: java.nio.IntBuffer): void;
						glGenRenderbuffersOES(param0: number, param1: native.Array<number>, param2: number): void;
						glGenRenderbuffersOES(param0: number, param1: java.nio.IntBuffer): void;
						glGetFramebufferAttachmentParameterivOES(param0: number, param1: number, param2: number, param3: native.Array<number>, param4: number): void;
						glGetFramebufferAttachmentParameterivOES(param0: number, param1: number, param2: number, param3: java.nio.IntBuffer): void;
						glGetIntegerv(param0: number, param1: native.Array<number>, param2: number): void;
						glGetIntegerv(param0: number, param1: java.nio.IntBuffer): void;
						glGetRenderbufferParameterivOES(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
						glGetRenderbufferParameterivOES(param0: number, param1: number, param2: java.nio.IntBuffer): void;
						glGetTexGenfv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
						glGetTexGenfv(param0: number, param1: number, param2: java.nio.FloatBuffer): void;
						glGetTexGeniv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
						glGetTexGeniv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
						glGetTexGenxv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
						glGetTexGenxv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
						glIsFramebufferOES(param0: number): boolean;
						glIsRenderbufferOES(param0: number): boolean;
						glRenderbufferStorageOES(param0: number, param1: number, param2: number, param3: number): void;
						glStencilOp(param0: number, param1: number, param2: number): void;
						glTexEnvf(param0: number, param1: number, param2: number): void;
						glTexEnvfv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
						glTexEnvfv(param0: number, param1: number, param2: java.nio.FloatBuffer): void;
						glTexEnvx(param0: number, param1: number, param2: number): void;
						glTexEnvxv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
						glTexEnvxv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
						glTexGenf(param0: number, param1: number, param2: number): void;
						glTexGenfv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
						glTexGenfv(param0: number, param1: number, param2: java.nio.FloatBuffer): void;
						glTexGeni(param0: number, param1: number, param2: number): void;
						glTexGeniv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
						glTexGeniv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
						glTexGenx(param0: number, param1: number, param2: number): void;
						glTexGenxv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
						glTexGenxv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
						glTexParameterf(param0: number, param1: number, param2: number): void;
					});
					public constructor();
					public static GL_MIRRORED_REPEAT: number;
					public static GL_COLOR_ATTACHMENT10_OES: number;
					public static GL_RGB5_A1: number;
					public static GL_RENDERBUFFER_STENCIL_SIZE_OES: number;
					public static GL_MAX_RENDERBUFFER_SIZE_OES: number;
					public static GL_RENDERBUFFER_BINDING_OES: number;
					public static GL_TEXTURE_GEN_STR: number;
					public static GL_COLOR_ATTACHMENT5_OES: number;
					public static GL_DECR_WRAP: number;
					public static GL_STENCIL_INDEX1_OES: number;
					public static GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES: number;
					public static GL_RENDERBUFFER_INTERNAL_FORMAT_OES: number;
					public static GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES: number;
					public static GL_BLEND_SRC_ALPHA: number;
					public static GL_DEPTH_COMPONENT24: number;
					public static GL_BLEND_EQUATION_ALPHA: number;
					public static GL_BLEND_SRC_RGB: number;
					public static GL_COLOR_ATTACHMENT4_OES: number;
					public static GL_BLEND_DST_ALPHA: number;
					public static GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES: number;
					public static GL_BLEND_DST_RGB: number;
					public static GL_FRAMEBUFFER_BINDING_OES: number;
					public static GL_NORMAL_MAP: number;
					public static GL_COLOR_ATTACHMENT7_OES: number;
					public static GL_TEXTURE_BINDING_CUBE_MAP: number;
					public static GL_REFLECTION_MAP: number;
					public static GL_DEPTH_COMPONENT: number;
					public static GL_DEPTH_ATTACHMENT_OES: number;
					public static GL_RENDERBUFFER_ALPHA_SIZE_OES: number;
					public static GL_COLOR_ATTACHMENT12_OES: number;
					public static GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_OES: number;
					public static GL_BLEND_EQUATION_RGB: number;
					public static GL_TEXTURE_CUBE_MAP_NEGATIVE_X: number;
					public static GL_INCR_WRAP: number;
					public static GL_TEXTURE_CUBE_MAP_NEGATIVE_Y: number;
					public static GL_RENDERBUFFER_DEPTH_SIZE_OES: number;
					public static GL_TEXTURE_CUBE_MAP_NEGATIVE_Z: number;
					public static GL_RENDERBUFFER_OES: number;
					public static GL_DEPTH_COMPONENT16: number;
					public static GL_COLOR_ATTACHMENT11_OES: number;
					public static GL_COLOR_ATTACHMENT6_OES: number;
					public static GL_MAX_COLOR_ATTACHMENTS_OES: number;
					public static GL_RENDERBUFFER_HEIGHT_OES: number;
					public static GL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES: number;
					public static GL_FRAMEBUFFER_OES: number;
					public static GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES: number;
					public static GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES: number;
					public static GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES: number;
					public static GL_TEXTURE_GEN_MODE: number;
					public static GL_FUNC_REVERSE_SUBTRACT: number;
					public static GL_COLOR_ATTACHMENT14_OES: number;
					public static GL_COLOR_ATTACHMENT9_OES: number;
					public static GL_FRAMEBUFFER_UNSUPPORTED_OES: number;
					public static GL_FUNC_SUBTRACT: number;
					public static GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_OES: number;
					public static GL_MAX_CUBE_MAP_TEXTURE_SIZE: number;
					public static GL_BLEND_EQUATION: number;
					public static GL_COLOR_ATTACHMENT0_OES: number;
					public static GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES: number;
					public static GL_TEXTURE_CUBE_MAP_POSITIVE_X: number;
					public static GL_STENCIL_INDEX: number;
					public static GL_STENCIL_INDEX4_OES: number;
					public static GL_TEXTURE_CUBE_MAP_POSITIVE_Z: number;
					public static GL_TEXTURE_CUBE_MAP_POSITIVE_Y: number;
					public static GL_COLOR_ATTACHMENT13_OES: number;
					public static GL_COLOR_ATTACHMENT8_OES: number;
					public static GL_RENDERBUFFER_WIDTH_OES: number;
					public static GL_STENCIL_INDEX8_OES: number;
					public static GL_RENDERBUFFER_RED_SIZE_OES: number;
					public static GL_INVALID_FRAMEBUFFER_OPERATION_OES: number;
					public static GL_FRAMEBUFFER_COMPLETE_OES: number;
					public static GL_RENDERBUFFER_GREEN_SIZE_OES: number;
					public static GL_RGB565_OES: number;
					public static GL_RGBA4: number;
					public static GL_TEXTURE_CUBE_MAP: number;
					public static GL_RGB8: number;
					public static GL_COLOR_ATTACHMENT3_OES: number;
					public static GL_RGBA8: number;
					public static GL_COLOR_ATTACHMENT2_OES: number;
					public static GL_COLOR_ATTACHMENT15_OES: number;
					public static GL_FUNC_ADD: number;
					public static GL_STENCIL_ATTACHMENT_OES: number;
					public static GL_DEPTH_COMPONENT32: number;
					public static GL_RENDERBUFFER_BLUE_SIZE_OES: number;
					public static GL_STR: number;
					public static GL_COLOR_ATTACHMENT1_OES: number;
					public glTexEnvfv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
					public glTexGeni(param0: number, param1: number, param2: number): void;
					public glTexGenfv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
					public glTexEnvx(param0: number, param1: number, param2: number): void;
					public glGenFramebuffersOES(param0: number, param1: native.Array<number>, param2: number): void;
					public glGetTexGenxv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
					public glGetRenderbufferParameterivOES(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
					public glBindRenderbufferOES(param0: number, param1: number): void;
					public glGetTexGenxv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
					public glDeleteRenderbuffersOES(param0: number, param1: native.Array<number>, param2: number): void;
					public glTexGenf(param0: number, param1: number, param2: number): void;
					public glTexGenx(param0: number, param1: number, param2: number): void;
					public glTexGeniv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
					public glIsRenderbufferOES(param0: number): boolean;
					public glGetFramebufferAttachmentParameterivOES(param0: number, param1: number, param2: number, param3: java.nio.IntBuffer): void;
					public glGetTexGenfv(param0: number, param1: number, param2: java.nio.FloatBuffer): void;
					public glTexEnvfv(param0: number, param1: number, param2: java.nio.FloatBuffer): void;
					public glTexParameterf(param0: number, param1: number, param2: number): void;
					public glStencilOp(param0: number, param1: number, param2: number): void;
					public glRenderbufferStorageOES(param0: number, param1: number, param2: number, param3: number): void;
					public glTexEnvxv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
					public glTexEnvf(param0: number, param1: number, param2: number): void;
					public glTexGenxv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
					public glGetRenderbufferParameterivOES(param0: number, param1: number, param2: java.nio.IntBuffer): void;
					public glEnable(param0: number): void;
					public glTexEnvxv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
					public glBlendFuncSeparate(param0: number, param1: number, param2: number, param3: number): void;
					public glGetTexGeniv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
					public glTexGenxv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
					public glBindTexture(param0: number, param1: number): void;
					public glDeleteFramebuffersOES(param0: number, param1: native.Array<number>, param2: number): void;
					public glIsFramebufferOES(param0: number): boolean;
					public glTexGenfv(param0: number, param1: number, param2: java.nio.FloatBuffer): void;
					public glGenRenderbuffersOES(param0: number, param1: native.Array<number>, param2: number): void;
					public glGetIntegerv(param0: number, param1: native.Array<number>, param2: number): void;
					public glFramebufferTexture2DOES(param0: number, param1: number, param2: number, param3: number, param4: number): void;
					public glGetTexGeniv(param0: number, param1: number, param2: java.nio.IntBuffer): void;
					public glBlendEquationSeparate(param0: number, param1: number): void;
					public glFramebufferRenderbufferOES(param0: number, param1: number, param2: number, param3: number): void;
					public glCheckFramebufferStatusOES(param0: number): number;
					public glDeleteRenderbuffersOES(param0: number, param1: java.nio.IntBuffer): void;
					public glCompressedTexImage2D(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: java.nio.Buffer): void;
					public glGenRenderbuffersOES(param0: number, param1: java.nio.IntBuffer): void;
					public glGetTexGenfv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
					public glBindFramebufferOES(param0: number, param1: number): void;
					public glCopyTexImage2D(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number): void;
					public glDeleteFramebuffersOES(param0: number, param1: java.nio.IntBuffer): void;
					public glGetIntegerv(param0: number, param1: java.nio.IntBuffer): void;
					public glGenerateMipmapOES(param0: number): void;
					public glTexGeniv(param0: number, param1: number, param2: native.Array<number>, param3: number): void;
					public glGetFramebufferAttachmentParameterivOES(param0: number, param1: number, param2: number, param3: native.Array<number>, param4: number): void;
					public glGenFramebuffersOES(param0: number, param1: java.nio.IntBuffer): void;
					public glBlendEquation(param0: number): void;
				}
			}
		}
	}
}

declare module javax {
	export module net {
		export abstract class ServerSocketFactory extends java.lang.Object {
			public static class: java.lang.Class<javax.net.ServerSocketFactory>;
			public createServerSocket(): java.net.ServerSocket;
			public createServerSocket(param0: number, param1: number): java.net.ServerSocket;
			public static getDefault(): javax.net.ServerSocketFactory;
			public constructor();
			public createServerSocket(param0: number): java.net.ServerSocket;
			public createServerSocket(param0: number, param1: number, param2: java.net.InetAddress): java.net.ServerSocket;
		}
	}
}

declare module javax {
	export module net {
		export abstract class SocketFactory extends java.lang.Object {
			public static class: java.lang.Class<javax.net.SocketFactory>;
			public createSocket(param0: string, param1: number): java.net.Socket;
			public createSocket(param0: java.net.InetAddress, param1: number): java.net.Socket;
			public constructor();
			public static getDefault(): javax.net.SocketFactory;
			public createSocket(): java.net.Socket;
			public createSocket(param0: java.net.InetAddress, param1: number, param2: java.net.InetAddress, param3: number): java.net.Socket;
			public createSocket(param0: string, param1: number, param2: java.net.InetAddress, param3: number): java.net.Socket;
		}
	}
}

declare module javax {
	export module net {
		export module ssl {
			export class CertPathTrustManagerParameters extends java.lang.Object implements javax.net.ssl.ManagerFactoryParameters {
				public static class: java.lang.Class<javax.net.ssl.CertPathTrustManagerParameters>;
				public constructor(param0: java.security.cert.CertPathParameters);
				public getParameters(): java.security.cert.CertPathParameters;
			}
		}
	}
}

declare module javax {
	export module net {
		export module ssl {
			export abstract class ExtendedSSLSession extends java.lang.Object implements javax.net.ssl.SSLSession {
				public static class: java.lang.Class<javax.net.ssl.ExtendedSSLSession>;
				public getSessionContext(): javax.net.ssl.SSLSessionContext;
				public getLocalPrincipal(): java.security.Principal;
				public getPeerCertificateChain(): native.Array<javax.security.cert.X509Certificate>;
				public getPeerSupportedSignatureAlgorithms(): native.Array<string>;
				public constructor();
				public getValue(param0: string): any;
				public getValueNames(): native.Array<string>;
				public getLocalSupportedSignatureAlgorithms(): native.Array<string>;
				public getPeerPort(): number;
				public getPacketBufferSize(): number;
				public getId(): native.Array<number>;
				public getCreationTime(): number;
				public removeValue(param0: string): void;
				public getRequestedServerNames(): java.util.List<javax.net.ssl.SNIServerName>;
				public getPeerCertificates(): native.Array<java.security.cert.Certificate>;
				public getPeerHost(): string;
				public getApplicationBufferSize(): number;
				public isValid(): boolean;
				public getLocalCertificates(): native.Array<java.security.cert.Certificate>;
				public getLastAccessedTime(): number;
				public invalidate(): void;
				public putValue(param0: string, param1: any): void;
				public getCipherSuite(): string;
				public getProtocol(): string;
				public getPeerPrincipal(): java.security.Principal;
			}
		}
	}
}

declare module javax {
	export module net {
		export module ssl {
			export class HandshakeCompletedEvent extends java.util.EventObject {
				public static class: java.lang.Class<javax.net.ssl.HandshakeCompletedEvent>;
				public getLocalCertificates(): native.Array<java.security.cert.Certificate>;
				public getSocket(): javax.net.ssl.SSLSocket;
				public getSession(): javax.net.ssl.SSLSession;
				public constructor(param0: javax.net.ssl.SSLSocket, param1: javax.net.ssl.SSLSession);
				public getLocalPrincipal(): java.security.Principal;
				public getPeerCertificates(): native.Array<java.security.cert.Certificate>;
				public getPeerCertificateChain(): native.Array<javax.security.cert.X509Certificate>;
				public getCipherSuite(): string;
				public constructor(param0: any);
				public getPeerPrincipal(): java.security.Principal;
			}
		}
	}
}

declare module javax {
	export module net {
		export module ssl {
			export class HandshakeCompletedListener extends java.lang.Object implements java.util.EventListener {
				public static class: java.lang.Class<javax.net.ssl.HandshakeCompletedListener>;
				/**
				 * Constructs a new instance of the javax.net.ssl.HandshakeCompletedListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					handshakeCompleted(param0: javax.net.ssl.HandshakeCompletedEvent): void;
				});
				public constructor();
				public handshakeCompleted(param0: javax.net.ssl.HandshakeCompletedEvent): void;
			}
		}
	}
}

declare module javax {
	export module net {
		export module ssl {
			export class HostnameVerifier extends java.lang.Object {
				public static class: java.lang.Class<javax.net.ssl.HostnameVerifier>;
				/**
				 * Constructs a new instance of the javax.net.ssl.HostnameVerifier interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					verify(param0: string, param1: javax.net.ssl.SSLSession): boolean;
				});
				public constructor();
				public verify(param0: string, param1: javax.net.ssl.SSLSession): boolean;
			}
		}
	}
}

declare module javax {
	export module net {
		export module ssl {
			export abstract class HttpsURLConnection extends java.net.HttpURLConnection {
				public static class: java.lang.Class<javax.net.ssl.HttpsURLConnection>;
				public hostnameVerifier: javax.net.ssl.HostnameVerifier;
				public static getDefaultHostnameVerifier(): javax.net.ssl.HostnameVerifier;
				public getLocalPrincipal(): java.security.Principal;
				public getSSLSocketFactory(): javax.net.ssl.SSLSocketFactory;
				public getHostnameVerifier(): javax.net.ssl.HostnameVerifier;
				public static setDefaultHostnameVerifier(param0: javax.net.ssl.HostnameVerifier): void;
				public getLocalCertificates(): native.Array<java.security.cert.Certificate>;
				public constructor(param0: java.net.URL);
				public setSSLSocketFactory(param0: javax.net.ssl.SSLSocketFactory): void;
				public getCipherSuite(): string;
				public setHostnameVerifier(param0: javax.net.ssl.HostnameVerifier): void;
				public getServerCertificates(): native.Array<java.security.cert.Certificate>;
				public getPeerPrincipal(): java.security.Principal;
				public static setDefaultSSLSocketFactory(param0: javax.net.ssl.SSLSocketFactory): void;
				public static getDefaultSSLSocketFactory(): javax.net.ssl.SSLSocketFactory;
			}
		}
	}
}

declare module javax {
	export module net {
		export module ssl {
			export class KeyManager extends java.lang.Object {
				public static class: java.lang.Class<javax.net.ssl.KeyManager>;
				/**
				 * Constructs a new instance of the javax.net.ssl.KeyManager interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
				});
				public constructor();
			}
		}
	}
}

declare module javax {
	export module net {
		export module ssl {
			export class KeyManagerFactory extends java.lang.Object {
				public static class: java.lang.Class<javax.net.ssl.KeyManagerFactory>;
				public getAlgorithm(): string;
				public static getInstance(param0: string): javax.net.ssl.KeyManagerFactory;
				public static getInstance(param0: string, param1: java.security.Provider): javax.net.ssl.KeyManagerFactory;
				public static getDefaultAlgorithm(): string;
				public constructor(param0: javax.net.ssl.KeyManagerFactorySpi, param1: java.security.Provider, param2: string);
				public init(param0: java.security.KeyStore, param1: native.Array<string>): void;
				public getProvider(): java.security.Provider;
				public init(param0: javax.net.ssl.ManagerFactoryParameters): void;
				public static getInstance(param0: string, param1: string): javax.net.ssl.KeyManagerFactory;
				public getKeyManagers(): native.Array<javax.net.ssl.KeyManager>;
			}
		}
	}
}

declare module javax {
	export module net {
		export module ssl {
			export abstract class KeyManagerFactorySpi extends java.lang.Object {
				public static class: java.lang.Class<javax.net.ssl.KeyManagerFactorySpi>;
				public engineInit(param0: java.security.KeyStore, param1: native.Array<string>): void;
				public engineGetKeyManagers(): native.Array<javax.net.ssl.KeyManager>;
				public engineInit(param0: javax.net.ssl.ManagerFactoryParameters): void;
				public constructor();
			}
		}
	}
}

declare module javax {
	export module net {
		export module ssl {
			export class KeyStoreBuilderParameters extends java.lang.Object implements javax.net.ssl.ManagerFactoryParameters {
				public static class: java.lang.Class<javax.net.ssl.KeyStoreBuilderParameters>;
				public constructor(param0: java.util.List<java.security.KeyStore.Builder>);
				public constructor(param0: java.security.KeyStore.Builder);
				public getParameters(): java.util.List<java.security.KeyStore.Builder>;
			}
		}
	}
}

declare module javax {
	export module net {
		export module ssl {
			export class ManagerFactoryParameters extends java.lang.Object {
				public static class: java.lang.Class<javax.net.ssl.ManagerFactoryParameters>;
				/**
				 * Constructs a new instance of the javax.net.ssl.ManagerFactoryParameters interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
				});
				public constructor();
			}
		}
	}
}

declare module javax {
	export module net {
		export module ssl {
			export class SNIHostName extends javax.net.ssl.SNIServerName {
				public static class: java.lang.Class<javax.net.ssl.SNIHostName>;
				public constructor(param0: native.Array<number>);
				public getAsciiName(): string;
				public hashCode(): number;
				public equals(param0: any): boolean;
				public toString(): string;
				public constructor(param0: number, param1: native.Array<number>);
				public constructor(param0: string);
				public static createSNIMatcher(param0: string): javax.net.ssl.SNIMatcher;
			}
		}
	}
}

declare module javax {
	export module net {
		export module ssl {
			export abstract class SNIMatcher extends java.lang.Object {
				public static class: java.lang.Class<javax.net.ssl.SNIMatcher>;
				public getType(): number;
				public constructor(param0: number);
				public matches(param0: javax.net.ssl.SNIServerName): boolean;
			}
		}
	}
}

declare module javax {
	export module net {
		export module ssl {
			export abstract class SNIServerName extends java.lang.Object {
				public static class: java.lang.Class<javax.net.ssl.SNIServerName>;
				public getType(): number;
				public hashCode(): number;
				public equals(param0: any): boolean;
				public getEncoded(): native.Array<number>;
				public toString(): string;
				public constructor(param0: number, param1: native.Array<number>);
			}
		}
	}
}

declare module javax {
	export module net {
		export module ssl {
			export class SSLContext extends java.lang.Object {
				public static class: java.lang.Class<javax.net.ssl.SSLContext>;
				public getClientSessionContext(): javax.net.ssl.SSLSessionContext;
				public static setDefault(param0: javax.net.ssl.SSLContext): void;
				public createSSLEngine(): javax.net.ssl.SSLEngine;
				public static getInstance(param0: string, param1: string): javax.net.ssl.SSLContext;
				public getSupportedSSLParameters(): javax.net.ssl.SSLParameters;
				public getServerSocketFactory(): javax.net.ssl.SSLServerSocketFactory;
				public static getInstance(param0: string, param1: java.security.Provider): javax.net.ssl.SSLContext;
				public getServerSessionContext(): javax.net.ssl.SSLSessionContext;
				public getProvider(): java.security.Provider;
				public getSocketFactory(): javax.net.ssl.SSLSocketFactory;
				public init(param0: native.Array<javax.net.ssl.KeyManager>, param1: native.Array<javax.net.ssl.TrustManager>, param2: java.security.SecureRandom): void;
				public createSSLEngine(param0: string, param1: number): javax.net.ssl.SSLEngine;
				public constructor(param0: javax.net.ssl.SSLContextSpi, param1: java.security.Provider, param2: string);
				public getDefaultSSLParameters(): javax.net.ssl.SSLParameters;
				public getProtocol(): string;
				public static getDefault(): javax.net.ssl.SSLContext;
				public static getInstance(param0: string): javax.net.ssl.SSLContext;
			}
		}
	}
}

declare module javax {
	export module net {
		export module ssl {
			export abstract class SSLContextSpi extends java.lang.Object {
				public static class: java.lang.Class<javax.net.ssl.SSLContextSpi>;
				public engineInit(param0: native.Array<javax.net.ssl.KeyManager>, param1: native.Array<javax.net.ssl.TrustManager>, param2: java.security.SecureRandom): void;
				public engineGetDefaultSSLParameters(): javax.net.ssl.SSLParameters;
				public engineCreateSSLEngine(param0: string, param1: number): javax.net.ssl.SSLEngine;
				public engineGetClientSessionContext(): javax.net.ssl.SSLSessionContext;
				public engineGetSupportedSSLParameters(): javax.net.ssl.SSLParameters;
				public engineCreateSSLEngine(): javax.net.ssl.SSLEngine;
				public engineGetServerSocketFactory(): javax.net.ssl.SSLServerSocketFactory;
				public engineGetSocketFactory(): javax.net.ssl.SSLSocketFactory;
				public constructor();
				public engineGetServerSessionContext(): javax.net.ssl.SSLSessionContext;
			}
		}
	}
}

declare module javax {
	export module net {
		export module ssl {
			export abstract class SSLEngine extends java.lang.Object {
				public static class: java.lang.Class<javax.net.ssl.SSLEngine>;
				public getNeedClientAuth(): boolean;
				public setUseClientMode(param0: boolean): void;
				public unwrap(param0: java.nio.ByteBuffer, param1: native.Array<java.nio.ByteBuffer>, param2: number, param3: number): javax.net.ssl.SSLEngineResult;
				public setEnabledProtocols(param0: native.Array<string>): void;
				public getSession(): javax.net.ssl.SSLSession;
				public closeInbound(): void;
				public getHandshakeSession(): javax.net.ssl.SSLSession;
				public isInboundDone(): boolean;
				public getSSLParameters(): javax.net.ssl.SSLParameters;
				public setEnabledCipherSuites(param0: native.Array<string>): void;
				public constructor();
				public getEnableSessionCreation(): boolean;
				public getEnabledProtocols(): native.Array<string>;
				public unwrap(param0: java.nio.ByteBuffer, param1: java.nio.ByteBuffer): javax.net.ssl.SSLEngineResult;
				public setWantClientAuth(param0: boolean): void;
				public setEnableSessionCreation(param0: boolean): void;
				public wrap(param0: native.Array<java.nio.ByteBuffer>, param1: java.nio.ByteBuffer): javax.net.ssl.SSLEngineResult;
				public constructor(param0: string, param1: number);
				public isOutboundDone(): boolean;
				public getEnabledCipherSuites(): native.Array<string>;
				public wrap(param0: native.Array<java.nio.ByteBuffer>, param1: number, param2: number, param3: java.nio.ByteBuffer): javax.net.ssl.SSLEngineResult;
				public closeOutbound(): void;
				public getPeerPort(): number;
				public unwrap(param0: java.nio.ByteBuffer, param1: native.Array<java.nio.ByteBuffer>): javax.net.ssl.SSLEngineResult;
				public beginHandshake(): void;
				public wrap(param0: java.nio.ByteBuffer, param1: java.nio.ByteBuffer): javax.net.ssl.SSLEngineResult;
				public setNeedClientAuth(param0: boolean): void;
				public getHandshakeStatus(): javax.net.ssl.SSLEngineResult.HandshakeStatus;
				public setSSLParameters(param0: javax.net.ssl.SSLParameters): void;
				public getPeerHost(): string;
				public getUseClientMode(): boolean;
				public getDelegatedTask(): java.lang.Runnable;
				public getWantClientAuth(): boolean;
				public getSupportedProtocols(): native.Array<string>;
				public getSupportedCipherSuites(): native.Array<string>;
			}
		}
	}
}

declare module javax {
	export module net {
		export module ssl {
			export class SSLEngineResult extends java.lang.Object {
				public static class: java.lang.Class<javax.net.ssl.SSLEngineResult>;
				public bytesProduced(): number;
				public getHandshakeStatus(): javax.net.ssl.SSLEngineResult.HandshakeStatus;
				public getStatus(): javax.net.ssl.SSLEngineResult.Status;
				public constructor(param0: javax.net.ssl.SSLEngineResult.Status, param1: javax.net.ssl.SSLEngineResult.HandshakeStatus, param2: number, param3: number);
				public toString(): string;
				public bytesConsumed(): number;
			}
			export module SSLEngineResult {
				export class HandshakeStatus {
					public static class: java.lang.Class<javax.net.ssl.SSLEngineResult.HandshakeStatus>;
					public static NOT_HANDSHAKING: javax.net.ssl.SSLEngineResult.HandshakeStatus;
					public static FINISHED: javax.net.ssl.SSLEngineResult.HandshakeStatus;
					public static NEED_TASK: javax.net.ssl.SSLEngineResult.HandshakeStatus;
					public static NEED_WRAP: javax.net.ssl.SSLEngineResult.HandshakeStatus;
					public static NEED_UNWRAP: javax.net.ssl.SSLEngineResult.HandshakeStatus;
					public static values(): native.Array<javax.net.ssl.SSLEngineResult.HandshakeStatus>;
					public static valueOf(param0: string): javax.net.ssl.SSLEngineResult.HandshakeStatus;
					public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
				}
				export class Status {
					public static class: java.lang.Class<javax.net.ssl.SSLEngineResult.Status>;
					public static BUFFER_UNDERFLOW: javax.net.ssl.SSLEngineResult.Status;
					public static BUFFER_OVERFLOW: javax.net.ssl.SSLEngineResult.Status;
					public static OK: javax.net.ssl.SSLEngineResult.Status;
					public static CLOSED: javax.net.ssl.SSLEngineResult.Status;
					public static valueOf(param0: string): javax.net.ssl.SSLEngineResult.Status;
					public static values(): native.Array<javax.net.ssl.SSLEngineResult.Status>;
					public static valueOf(param0: java.lang.Class<any>, param1: string): java.lang.Enum<any>;
				}
			}
		}
	}
}

declare module javax {
	export module net {
		export module ssl {
			export class SSLException extends java.io.IOException {
				public static class: java.lang.Class<javax.net.ssl.SSLException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module javax {
	export module net {
		export module ssl {
			export class SSLHandshakeException extends javax.net.ssl.SSLException {
				public static class: java.lang.Class<javax.net.ssl.SSLHandshakeException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module javax {
	export module net {
		export module ssl {
			export class SSLKeyException extends javax.net.ssl.SSLException {
				public static class: java.lang.Class<javax.net.ssl.SSLKeyException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module javax {
	export module net {
		export module ssl {
			export class SSLParameters extends java.lang.Object {
				public static class: java.lang.Class<javax.net.ssl.SSLParameters>;
				public getNeedClientAuth(): boolean;
				public getAlgorithmConstraints(): java.security.AlgorithmConstraints;
				public setNeedClientAuth(param0: boolean): void;
				public setEndpointIdentificationAlgorithm(param0: string): void;
				public getCipherSuites(): native.Array<string>;
				public setAlgorithmConstraints(param0: java.security.AlgorithmConstraints): void;
				public getSNIMatchers(): java.util.Collection<javax.net.ssl.SNIMatcher>;
				public getServerNames(): java.util.List<javax.net.ssl.SNIServerName>;
				public getUseCipherSuitesOrder(): boolean;
				public constructor();
				public getWantClientAuth(): boolean;
				public setSNIMatchers(param0: java.util.Collection<javax.net.ssl.SNIMatcher>): void;
				public setCipherSuites(param0: native.Array<string>): void;
				public setWantClientAuth(param0: boolean): void;
				public setProtocols(param0: native.Array<string>): void;
				public constructor(param0: native.Array<string>, param1: native.Array<string>);
				public constructor(param0: native.Array<string>);
				public getEndpointIdentificationAlgorithm(): string;
				public setUseCipherSuitesOrder(param0: boolean): void;
				public setServerNames(param0: java.util.List<javax.net.ssl.SNIServerName>): void;
				public getProtocols(): native.Array<string>;
			}
		}
	}
}

declare module javax {
	export module net {
		export module ssl {
			export class SSLPeerUnverifiedException extends javax.net.ssl.SSLException {
				public static class: java.lang.Class<javax.net.ssl.SSLPeerUnverifiedException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module javax {
	export module net {
		export module ssl {
			export class SSLPermission extends java.security.BasicPermission {
				public static class: java.lang.Class<javax.net.ssl.SSLPermission>;
				public checkGuard(param0: any): void;
				public constructor(param0: string);
				public constructor(param0: string, param1: string);
			}
		}
	}
}

declare module javax {
	export module net {
		export module ssl {
			export class SSLProtocolException extends javax.net.ssl.SSLException {
				public static class: java.lang.Class<javax.net.ssl.SSLProtocolException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module javax {
	export module net {
		export module ssl {
			export abstract class SSLServerSocket extends java.net.ServerSocket {
				public static class: java.lang.Class<javax.net.ssl.SSLServerSocket>;
				public constructor(param0: number, param1: number);
				public constructor(param0: number, param1: number, param2: java.net.InetAddress);
				public getNeedClientAuth(): boolean;
				public setNeedClientAuth(param0: boolean): void;
				public setUseClientMode(param0: boolean): void;
				public close(): void;
				public setEnabledProtocols(param0: native.Array<string>): void;
				public setSSLParameters(param0: javax.net.ssl.SSLParameters): void;
				public getUseClientMode(): boolean;
				public toString(): string;
				public getSSLParameters(): javax.net.ssl.SSLParameters;
				public setEnabledCipherSuites(param0: native.Array<string>): void;
				public constructor();
				public getEnableSessionCreation(): boolean;
				public getEnabledProtocols(): native.Array<string>;
				public getWantClientAuth(): boolean;
				public setWantClientAuth(param0: boolean): void;
				public setEnableSessionCreation(param0: boolean): void;
				public getEnabledCipherSuites(): native.Array<string>;
				public constructor(param0: number);
				public getSupportedProtocols(): native.Array<string>;
				public getSupportedCipherSuites(): native.Array<string>;
			}
		}
	}
}

declare module javax {
	export module net {
		export module ssl {
			export abstract class SSLServerSocketFactory extends javax.net.ServerSocketFactory {
				public static class: java.lang.Class<javax.net.ssl.SSLServerSocketFactory>;
				public static getDefault(): javax.net.ServerSocketFactory;
				public getDefaultCipherSuites(): native.Array<string>;
				public getSupportedCipherSuites(): native.Array<string>;
				public constructor();
			}
		}
	}
}

declare module javax {
	export module net {
		export module ssl {
			export class SSLSession extends java.lang.Object {
				public static class: java.lang.Class<javax.net.ssl.SSLSession>;
				/**
				 * Constructs a new instance of the javax.net.ssl.SSLSession interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getId(): native.Array<number>;
					getSessionContext(): javax.net.ssl.SSLSessionContext;
					getCreationTime(): number;
					getLastAccessedTime(): number;
					invalidate(): void;
					isValid(): boolean;
					putValue(param0: string, param1: any): void;
					getValue(param0: string): any;
					removeValue(param0: string): void;
					getValueNames(): native.Array<string>;
					getPeerCertificates(): native.Array<java.security.cert.Certificate>;
					getLocalCertificates(): native.Array<java.security.cert.Certificate>;
					getPeerCertificateChain(): native.Array<javax.security.cert.X509Certificate>;
					getPeerPrincipal(): java.security.Principal;
					getLocalPrincipal(): java.security.Principal;
					getCipherSuite(): string;
					getProtocol(): string;
					getPeerHost(): string;
					getPeerPort(): number;
					getPacketBufferSize(): number;
					getApplicationBufferSize(): number;
				});
				public constructor();
				public getId(): native.Array<number>;
				public getCreationTime(): number;
				public removeValue(param0: string): void;
				public getSessionContext(): javax.net.ssl.SSLSessionContext;
				public getLocalPrincipal(): java.security.Principal;
				public getPeerCertificates(): native.Array<java.security.cert.Certificate>;
				public getPeerCertificateChain(): native.Array<javax.security.cert.X509Certificate>;
				public getPeerHost(): string;
				public getApplicationBufferSize(): number;
				public isValid(): boolean;
				public getValue(param0: string): any;
				public getLocalCertificates(): native.Array<java.security.cert.Certificate>;
				public getLastAccessedTime(): number;
				public getValueNames(): native.Array<string>;
				public invalidate(): void;
				public putValue(param0: string, param1: any): void;
				public getCipherSuite(): string;
				public getProtocol(): string;
				public getPeerPrincipal(): java.security.Principal;
				public getPeerPort(): number;
				public getPacketBufferSize(): number;
			}
		}
	}
}

declare module javax {
	export module net {
		export module ssl {
			export class SSLSessionBindingEvent extends java.util.EventObject {
				public static class: java.lang.Class<javax.net.ssl.SSLSessionBindingEvent>;
				public getSession(): javax.net.ssl.SSLSession;
				public constructor(param0: javax.net.ssl.SSLSession, param1: string);
				public getName(): string;
				public constructor(param0: any);
			}
		}
	}
}

declare module javax {
	export module net {
		export module ssl {
			export class SSLSessionBindingListener extends java.lang.Object implements java.util.EventListener {
				public static class: java.lang.Class<javax.net.ssl.SSLSessionBindingListener>;
				/**
				 * Constructs a new instance of the javax.net.ssl.SSLSessionBindingListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					valueBound(param0: javax.net.ssl.SSLSessionBindingEvent): void;
					valueUnbound(param0: javax.net.ssl.SSLSessionBindingEvent): void;
				});
				public constructor();
				public valueBound(param0: javax.net.ssl.SSLSessionBindingEvent): void;
				public valueUnbound(param0: javax.net.ssl.SSLSessionBindingEvent): void;
			}
		}
	}
}

declare module javax {
	export module net {
		export module ssl {
			export class SSLSessionContext extends java.lang.Object {
				public static class: java.lang.Class<javax.net.ssl.SSLSessionContext>;
				/**
				 * Constructs a new instance of the javax.net.ssl.SSLSessionContext interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getSession(param0: native.Array<number>): javax.net.ssl.SSLSession;
					getIds(): java.util.Enumeration<native.Array<number>>;
					setSessionTimeout(param0: number): void;
					getSessionTimeout(): number;
					setSessionCacheSize(param0: number): void;
					getSessionCacheSize(): number;
				});
				public constructor();
				public getSessionCacheSize(): number;
				public getIds(): java.util.Enumeration<native.Array<number>>;
				public setSessionTimeout(param0: number): void;
				public getSession(param0: native.Array<number>): javax.net.ssl.SSLSession;
				public getSessionTimeout(): number;
				public setSessionCacheSize(param0: number): void;
			}
		}
	}
}

declare module javax {
	export module net {
		export module ssl {
			export abstract class SSLSocket extends java.net.Socket {
				public static class: java.lang.Class<javax.net.ssl.SSLSocket>;
				public getNeedClientAuth(): boolean;
				public setUseClientMode(param0: boolean): void;
				public setEnabledProtocols(param0: native.Array<string>): void;
				public getSession(): javax.net.ssl.SSLSession;
				public constructor(param0: java.net.Proxy);
				public getHandshakeSession(): javax.net.ssl.SSLSession;
				public getSSLParameters(): javax.net.ssl.SSLParameters;
				public setEnabledCipherSuites(param0: native.Array<string>): void;
				public constructor();
				public getEnableSessionCreation(): boolean;
				public getEnabledProtocols(): native.Array<string>;
				public setWantClientAuth(param0: boolean): void;
				public setEnableSessionCreation(param0: boolean): void;
				public addHandshakeCompletedListener(param0: javax.net.ssl.HandshakeCompletedListener): void;
				public constructor(param0: string, param1: number);
				public removeHandshakeCompletedListener(param0: javax.net.ssl.HandshakeCompletedListener): void;
				public getEnabledCipherSuites(): native.Array<string>;
				public constructor(param0: string, param1: number, param2: java.net.InetAddress, param3: number);
				public startHandshake(): void;
				public setNeedClientAuth(param0: boolean): void;
				public close(): void;
				public setSSLParameters(param0: javax.net.ssl.SSLParameters): void;
				public constructor(param0: java.net.SocketImpl);
				public getUseClientMode(): boolean;
				public toString(): string;
				/** @deprecated */
				public constructor(param0: java.net.InetAddress, param1: number, param2: boolean);
				public getWantClientAuth(): boolean;
				public constructor(param0: java.net.InetAddress, param1: number, param2: java.net.InetAddress, param3: number);
				public constructor(param0: java.net.InetAddress, param1: number);
				/** @deprecated */
				public constructor(param0: string, param1: number, param2: boolean);
				public getSupportedProtocols(): native.Array<string>;
				public getSupportedCipherSuites(): native.Array<string>;
			}
		}
	}
}

declare module javax {
	export module net {
		export module ssl {
			export abstract class SSLSocketFactory extends javax.net.SocketFactory {
				public static class: java.lang.Class<javax.net.ssl.SSLSocketFactory>;
				public static getDefault(): javax.net.SocketFactory;
				public createSocket(param0: java.net.InetAddress, param1: number, param2: java.net.InetAddress, param3: number): java.net.Socket;
				public createSocket(param0: java.net.Socket, param1: string, param2: number, param3: boolean): java.net.Socket;
				public createSocket(): java.net.Socket;
				public createSocket(param0: string, param1: number, param2: java.net.InetAddress, param3: number): java.net.Socket;
				public getDefaultCipherSuites(): native.Array<string>;
				public createSocket(param0: java.net.InetAddress, param1: number): java.net.Socket;
				public getSupportedCipherSuites(): native.Array<string>;
				public createSocket(param0: string, param1: number): java.net.Socket;
				public constructor();
			}
		}
	}
}

declare module javax {
	export module net {
		export module ssl {
			export class StandardConstants extends java.lang.Object {
				public static class: java.lang.Class<javax.net.ssl.StandardConstants>;
				public static SNI_HOST_NAME: number;
			}
		}
	}
}

declare module javax {
	export module net {
		export module ssl {
			export class TrustManager extends java.lang.Object {
				public static class: java.lang.Class<javax.net.ssl.TrustManager>;
				/**
				 * Constructs a new instance of the javax.net.ssl.TrustManager interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
				});
				public constructor();
			}
		}
	}
}

declare module javax {
	export module net {
		export module ssl {
			export class TrustManagerFactory extends java.lang.Object {
				public static class: java.lang.Class<javax.net.ssl.TrustManagerFactory>;
				public getAlgorithm(): string;
				public static getInstance(param0: string, param1: java.security.Provider): javax.net.ssl.TrustManagerFactory;
				public static getDefaultAlgorithm(): string;
				public constructor(param0: javax.net.ssl.TrustManagerFactorySpi, param1: java.security.Provider, param2: string);
				public static getInstance(param0: string): javax.net.ssl.TrustManagerFactory;
				public getTrustManagers(): native.Array<javax.net.ssl.TrustManager>;
				public static getInstance(param0: string, param1: string): javax.net.ssl.TrustManagerFactory;
				public init(param0: java.security.KeyStore): void;
				public getProvider(): java.security.Provider;
				public init(param0: javax.net.ssl.ManagerFactoryParameters): void;
			}
		}
	}
}

declare module javax {
	export module net {
		export module ssl {
			export abstract class TrustManagerFactorySpi extends java.lang.Object {
				public static class: java.lang.Class<javax.net.ssl.TrustManagerFactorySpi>;
				public engineInit(param0: java.security.KeyStore): void;
				public engineGetTrustManagers(): native.Array<javax.net.ssl.TrustManager>;
				public engineInit(param0: javax.net.ssl.ManagerFactoryParameters): void;
				public constructor();
			}
		}
	}
}

declare module javax {
	export module net {
		export module ssl {
			export abstract class X509ExtendedKeyManager extends java.lang.Object implements javax.net.ssl.X509KeyManager {
				public static class: java.lang.Class<javax.net.ssl.X509ExtendedKeyManager>;
				public getServerAliases(param0: string, param1: native.Array<java.security.Principal>): native.Array<string>;
				public chooseServerAlias(param0: string, param1: native.Array<java.security.Principal>, param2: java.net.Socket): string;
				public chooseEngineServerAlias(param0: string, param1: native.Array<java.security.Principal>, param2: javax.net.ssl.SSLEngine): string;
				public chooseEngineClientAlias(param0: native.Array<string>, param1: native.Array<java.security.Principal>, param2: javax.net.ssl.SSLEngine): string;
				public getPrivateKey(param0: string): java.security.PrivateKey;
				public chooseClientAlias(param0: native.Array<string>, param1: native.Array<java.security.Principal>, param2: java.net.Socket): string;
				public getClientAliases(param0: string, param1: native.Array<java.security.Principal>): native.Array<string>;
				public getCertificateChain(param0: string): native.Array<java.security.cert.X509Certificate>;
				public constructor();
			}
		}
	}
}

declare module javax {
	export module net {
		export module ssl {
			export abstract class X509ExtendedTrustManager extends java.lang.Object implements javax.net.ssl.X509TrustManager {
				public static class: java.lang.Class<javax.net.ssl.X509ExtendedTrustManager>;
				public checkClientTrusted(param0: native.Array<java.security.cert.X509Certificate>, param1: string, param2: javax.net.ssl.SSLEngine): void;
				public checkServerTrusted(param0: native.Array<java.security.cert.X509Certificate>, param1: string, param2: javax.net.ssl.SSLEngine): void;
				public checkClientTrusted(param0: native.Array<java.security.cert.X509Certificate>, param1: string): void;
				public checkClientTrusted(param0: native.Array<java.security.cert.X509Certificate>, param1: string, param2: java.net.Socket): void;
				public checkServerTrusted(param0: native.Array<java.security.cert.X509Certificate>, param1: string): void;
				public checkServerTrusted(param0: native.Array<java.security.cert.X509Certificate>, param1: string, param2: java.net.Socket): void;
				public getAcceptedIssuers(): native.Array<java.security.cert.X509Certificate>;
				public constructor();
			}
		}
	}
}

declare module javax {
	export module net {
		export module ssl {
			export class X509KeyManager extends java.lang.Object implements javax.net.ssl.KeyManager {
				public static class: java.lang.Class<javax.net.ssl.X509KeyManager>;
				/**
				 * Constructs a new instance of the javax.net.ssl.X509KeyManager interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getClientAliases(param0: string, param1: native.Array<java.security.Principal>): native.Array<string>;
					chooseClientAlias(param0: native.Array<string>, param1: native.Array<java.security.Principal>, param2: java.net.Socket): string;
					getServerAliases(param0: string, param1: native.Array<java.security.Principal>): native.Array<string>;
					chooseServerAlias(param0: string, param1: native.Array<java.security.Principal>, param2: java.net.Socket): string;
					getCertificateChain(param0: string): native.Array<java.security.cert.X509Certificate>;
					getPrivateKey(param0: string): java.security.PrivateKey;
				});
				public constructor();
				public getServerAliases(param0: string, param1: native.Array<java.security.Principal>): native.Array<string>;
				public chooseServerAlias(param0: string, param1: native.Array<java.security.Principal>, param2: java.net.Socket): string;
				public getPrivateKey(param0: string): java.security.PrivateKey;
				public chooseClientAlias(param0: native.Array<string>, param1: native.Array<java.security.Principal>, param2: java.net.Socket): string;
				public getClientAliases(param0: string, param1: native.Array<java.security.Principal>): native.Array<string>;
				public getCertificateChain(param0: string): native.Array<java.security.cert.X509Certificate>;
			}
		}
	}
}

declare module javax {
	export module net {
		export module ssl {
			export class X509TrustManager extends java.lang.Object implements javax.net.ssl.TrustManager {
				public static class: java.lang.Class<javax.net.ssl.X509TrustManager>;
				/**
				 * Constructs a new instance of the javax.net.ssl.X509TrustManager interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					checkClientTrusted(param0: native.Array<java.security.cert.X509Certificate>, param1: string): void;
					checkServerTrusted(param0: native.Array<java.security.cert.X509Certificate>, param1: string): void;
					getAcceptedIssuers(): native.Array<java.security.cert.X509Certificate>;
				});
				public constructor();
				public checkClientTrusted(param0: native.Array<java.security.cert.X509Certificate>, param1: string): void;
				public checkServerTrusted(param0: native.Array<java.security.cert.X509Certificate>, param1: string): void;
				public getAcceptedIssuers(): native.Array<java.security.cert.X509Certificate>;
			}
		}
	}
}

declare module javax {
	export module security {
		export module auth {
			export class AuthPermission extends java.security.BasicPermission {
				public static class: java.lang.Class<javax.security.auth.AuthPermission>;
				public checkGuard(param0: any): void;
				public constructor(param0: string);
				public constructor(param0: string, param1: string);
			}
		}
	}
}

declare module javax {
	export module security {
		export module auth {
			export class DestroyFailedException extends java.lang.Exception {
				public static class: java.lang.Class<javax.security.auth.DestroyFailedException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module javax {
	export module security {
		export module auth {
			export class Destroyable extends java.lang.Object {
				public static class: java.lang.Class<javax.security.auth.Destroyable>;
				/**
				 * Constructs a new instance of the javax.security.auth.Destroyable interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					destroy(): void;
					isDestroyed(): boolean;
				});
				public constructor();
				public destroy(): void;
				public isDestroyed(): boolean;
			}
		}
	}
}

declare module javax {
	export module security {
		export module auth {
			export class PrivateCredentialPermission extends java.security.Permission {
				public static class: java.lang.Class<javax.security.auth.PrivateCredentialPermission>;
				public checkGuard(param0: any): void;
				public implies(param0: java.security.Permission): boolean;
				public getCredentialClass(): string;
				public getPrincipals(): native.Array<native.Array<string>>;
				public getActions(): string;
				public constructor(param0: string);
				public constructor(param0: string, param1: string);
			}
		}
	}
}

declare module javax {
	export module security {
		export module auth {
			export class Subject extends java.lang.Object implements java.io.Serializable {
				public static class: java.lang.Class<javax.security.auth.Subject>;
				public static doAs(param0: javax.security.auth.Subject, param1: java.security.PrivilegedExceptionAction<any>): any;
				public static getSubject(param0: java.security.AccessControlContext): javax.security.auth.Subject;
				public getPublicCredentials(param0: java.lang.Class<any>): java.util.Set<any>;
				public setReadOnly(): void;
				public toString(): string;
				public getPrivateCredentials(): java.util.Set<any>;
				public getPrivateCredentials(param0: java.lang.Class<any>): java.util.Set<any>;
				public constructor();
				public static doAsPrivileged(param0: javax.security.auth.Subject, param1: java.security.PrivilegedAction<any>, param2: java.security.AccessControlContext): any;
				public static doAsPrivileged(param0: javax.security.auth.Subject, param1: java.security.PrivilegedExceptionAction<any>, param2: java.security.AccessControlContext): any;
				public constructor(param0: boolean, param1: java.util.Set<any>, param2: java.util.Set<any>, param3: java.util.Set<any>);
				public getPrincipals(): java.util.Set<java.security.Principal>;
				public static doAs(param0: javax.security.auth.Subject, param1: java.security.PrivilegedAction<any>): any;
				public hashCode(): number;
				public isReadOnly(): boolean;
				public getPublicCredentials(): java.util.Set<any>;
				public equals(param0: any): boolean;
				public getPrincipals(param0: java.lang.Class<any>): java.util.Set<any>;
			}
		}
	}
}

declare module javax {
	export module security {
		export module auth {
			export class SubjectDomainCombiner extends java.lang.Object implements java.security.DomainCombiner {
				public static class: java.lang.Class<javax.security.auth.SubjectDomainCombiner>;
				public getSubject(): javax.security.auth.Subject;
				public constructor(param0: javax.security.auth.Subject);
				public combine(param0: native.Array<java.security.ProtectionDomain>, param1: native.Array<java.security.ProtectionDomain>): native.Array<java.security.ProtectionDomain>;
			}
		}
	}
}

declare module javax {
	export module security {
		export module auth {
			export module callback {
				export class Callback extends java.lang.Object {
					public static class: java.lang.Class<javax.security.auth.callback.Callback>;
					/**
					 * Constructs a new instance of the javax.security.auth.callback.Callback interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
					});
					public constructor();
				}
			}
		}
	}
}

declare module javax {
	export module security {
		export module auth {
			export module callback {
				export class CallbackHandler extends java.lang.Object {
					public static class: java.lang.Class<javax.security.auth.callback.CallbackHandler>;
					/**
					 * Constructs a new instance of the javax.security.auth.callback.CallbackHandler interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						handle(param0: native.Array<javax.security.auth.callback.Callback>): void;
					});
					public constructor();
					public handle(param0: native.Array<javax.security.auth.callback.Callback>): void;
				}
			}
		}
	}
}

declare module javax {
	export module security {
		export module auth {
			export module callback {
				export class PasswordCallback extends java.lang.Object implements javax.security.auth.callback.Callback, java.io.Serializable {
					public static class: java.lang.Class<javax.security.auth.callback.PasswordCallback>;
					public getPrompt(): string;
					public isEchoOn(): boolean;
					public clearPassword(): void;
					public constructor(param0: string, param1: boolean);
					public setPassword(param0: native.Array<string>): void;
					public getPassword(): native.Array<string>;
				}
			}
		}
	}
}

declare module javax {
	export module security {
		export module auth {
			export module callback {
				export class UnsupportedCallbackException extends java.lang.Exception {
					public static class: java.lang.Class<javax.security.auth.callback.UnsupportedCallbackException>;
					public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
					public constructor(param0: string, param1: java.lang.Throwable);
					public constructor(param0: string);
					public constructor(param0: java.lang.Throwable);
					public constructor();
					public constructor(param0: javax.security.auth.callback.Callback, param1: string);
					public getCallback(): javax.security.auth.callback.Callback;
					public constructor(param0: javax.security.auth.callback.Callback);
				}
			}
		}
	}
}

declare module javax {
	export module security {
		export module auth {
			export module login {
				export class LoginException extends java.security.GeneralSecurityException {
					public static class: java.lang.Class<javax.security.auth.login.LoginException>;
					public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
					public constructor(param0: string, param1: java.lang.Throwable);
					public constructor(param0: string);
					public constructor(param0: java.lang.Throwable);
					public constructor();
				}
			}
		}
	}
}

declare module javax {
	export module security {
		export module auth {
			export module x500 {
				export class X500Principal extends java.lang.Object implements java.security.Principal, java.io.Serializable {
					public static class: java.lang.Class<javax.security.auth.x500.X500Principal>;
					public static CANONICAL: string;
					public static RFC1779: string;
					public static RFC2253: string;
					public equals(param0: any): boolean;
					public toString(): string;
					public implies(param0: javax.security.auth.Subject): boolean;
					public constructor(param0: native.Array<number>);
					public constructor(param0: string);
					public constructor(param0: string, param1: java.util.Map<string,string>);
					public constructor(param0: java.io.InputStream);
					public getName(param0: string): string;
					public getName(): string;
					public getEncoded(): native.Array<number>;
					public getName(param0: string, param1: java.util.Map<string,string>): string;
					public hashCode(): number;
				}
			}
		}
	}
}

declare module javax {
	export module security {
		export module cert {
			export abstract class Certificate extends java.lang.Object {
				public static class: java.lang.Class<javax.security.cert.Certificate>;
				public verify(param0: java.security.PublicKey, param1: string): void;
				public hashCode(): number;
				public verify(param0: java.security.PublicKey): void;
				public getPublicKey(): java.security.PublicKey;
				public equals(param0: any): boolean;
				public getEncoded(): native.Array<number>;
				public toString(): string;
				public constructor();
			}
		}
	}
}

declare module javax {
	export module security {
		export module cert {
			export class CertificateEncodingException extends javax.security.cert.CertificateException {
				public static class: java.lang.Class<javax.security.cert.CertificateEncodingException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module javax {
	export module security {
		export module cert {
			export class CertificateException extends java.lang.Exception {
				public static class: java.lang.Class<javax.security.cert.CertificateException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module javax {
	export module security {
		export module cert {
			export class CertificateExpiredException extends javax.security.cert.CertificateException {
				public static class: java.lang.Class<javax.security.cert.CertificateExpiredException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module javax {
	export module security {
		export module cert {
			export class CertificateNotYetValidException extends javax.security.cert.CertificateException {
				public static class: java.lang.Class<javax.security.cert.CertificateNotYetValidException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module javax {
	export module security {
		export module cert {
			export class CertificateParsingException extends javax.security.cert.CertificateException {
				public static class: java.lang.Class<javax.security.cert.CertificateParsingException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module javax {
	export module security {
		export module cert {
			export abstract class X509Certificate extends javax.security.cert.Certificate {
				public static class: java.lang.Class<javax.security.cert.X509Certificate>;
				public getSerialNumber(): java.math.BigInteger;
				public getNotBefore(): java.util.Date;
				public getNotAfter(): java.util.Date;
				public static getInstance(param0: java.io.InputStream): javax.security.cert.X509Certificate;
				public static getInstance(param0: native.Array<number>): javax.security.cert.X509Certificate;
				public getSubjectDN(): java.security.Principal;
				public getSigAlgParams(): native.Array<number>;
				public getIssuerDN(): java.security.Principal;
				public constructor();
				public getVersion(): number;
				public checkValidity(): void;
				public getSigAlgName(): string;
				public getSigAlgOID(): string;
				public checkValidity(param0: java.util.Date): void;
			}
		}
	}
}

declare module javax {
	export module sql {
		export class CommonDataSource extends java.lang.Object {
			public static class: java.lang.Class<javax.sql.CommonDataSource>;
			/**
			 * Constructs a new instance of the javax.sql.CommonDataSource interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				getLogWriter(): java.io.PrintWriter;
				setLogWriter(param0: java.io.PrintWriter): void;
				setLoginTimeout(param0: number): void;
				getLoginTimeout(): number;
				getParentLogger(): java.util.logging.Logger;
			});
			public constructor();
			public getLoginTimeout(): number;
			public setLoginTimeout(param0: number): void;
			public getLogWriter(): java.io.PrintWriter;
			public setLogWriter(param0: java.io.PrintWriter): void;
			public getParentLogger(): java.util.logging.Logger;
		}
	}
}

declare module javax {
	export module sql {
		export class ConnectionEvent extends java.util.EventObject {
			public static class: java.lang.Class<javax.sql.ConnectionEvent>;
			public getSQLException(): java.sql.SQLException;
			public constructor(param0: javax.sql.PooledConnection);
			public constructor(param0: javax.sql.PooledConnection, param1: java.sql.SQLException);
			public constructor(param0: any);
		}
	}
}

declare module javax {
	export module sql {
		export class ConnectionEventListener extends java.lang.Object implements java.util.EventListener {
			public static class: java.lang.Class<javax.sql.ConnectionEventListener>;
			/**
			 * Constructs a new instance of the javax.sql.ConnectionEventListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				connectionClosed(param0: javax.sql.ConnectionEvent): void;
				connectionErrorOccurred(param0: javax.sql.ConnectionEvent): void;
			});
			public constructor();
			public connectionClosed(param0: javax.sql.ConnectionEvent): void;
			public connectionErrorOccurred(param0: javax.sql.ConnectionEvent): void;
		}
	}
}

declare module javax {
	export module sql {
		export class ConnectionPoolDataSource extends java.lang.Object implements javax.sql.CommonDataSource {
			public static class: java.lang.Class<javax.sql.ConnectionPoolDataSource>;
			/**
			 * Constructs a new instance of the javax.sql.ConnectionPoolDataSource interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				getPooledConnection(): javax.sql.PooledConnection;
				getPooledConnection(param0: string, param1: string): javax.sql.PooledConnection;
				getLogWriter(): java.io.PrintWriter;
				setLogWriter(param0: java.io.PrintWriter): void;
				setLoginTimeout(param0: number): void;
				getLoginTimeout(): number;
				getParentLogger(): java.util.logging.Logger;
			});
			public constructor();
			public getLoginTimeout(): number;
			public getPooledConnection(param0: string, param1: string): javax.sql.PooledConnection;
			public setLoginTimeout(param0: number): void;
			public getPooledConnection(): javax.sql.PooledConnection;
			public getLogWriter(): java.io.PrintWriter;
			public setLogWriter(param0: java.io.PrintWriter): void;
			public getParentLogger(): java.util.logging.Logger;
		}
	}
}

declare module javax {
	export module sql {
		export class DataSource extends java.lang.Object implements javax.sql.CommonDataSource, java.sql.Wrapper {
			public static class: java.lang.Class<javax.sql.DataSource>;
			/**
			 * Constructs a new instance of the javax.sql.DataSource interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				getConnection(): java.sql.Connection;
				getConnection(param0: string, param1: string): java.sql.Connection;
				getLogWriter(): java.io.PrintWriter;
				setLogWriter(param0: java.io.PrintWriter): void;
				setLoginTimeout(param0: number): void;
				getLoginTimeout(): number;
				getParentLogger(): java.util.logging.Logger;
				unwrap(param0: java.lang.Class<any>): any;
				isWrapperFor(param0: java.lang.Class<any>): boolean;
			});
			public constructor();
			public getLoginTimeout(): number;
			public setLoginTimeout(param0: number): void;
			public getConnection(param0: string, param1: string): java.sql.Connection;
			public isWrapperFor(param0: java.lang.Class<any>): boolean;
			public getConnection(): java.sql.Connection;
			public getLogWriter(): java.io.PrintWriter;
			public unwrap(param0: java.lang.Class<any>): any;
			public setLogWriter(param0: java.io.PrintWriter): void;
			public getParentLogger(): java.util.logging.Logger;
		}
	}
}

declare module javax {
	export module sql {
		export class PooledConnection extends java.lang.Object {
			public static class: java.lang.Class<javax.sql.PooledConnection>;
			/**
			 * Constructs a new instance of the javax.sql.PooledConnection interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				getConnection(): java.sql.Connection;
				close(): void;
				addConnectionEventListener(param0: javax.sql.ConnectionEventListener): void;
				removeConnectionEventListener(param0: javax.sql.ConnectionEventListener): void;
				addStatementEventListener(param0: javax.sql.StatementEventListener): void;
				removeStatementEventListener(param0: javax.sql.StatementEventListener): void;
			});
			public constructor();
			public addConnectionEventListener(param0: javax.sql.ConnectionEventListener): void;
			public removeStatementEventListener(param0: javax.sql.StatementEventListener): void;
			public addStatementEventListener(param0: javax.sql.StatementEventListener): void;
			public getConnection(): java.sql.Connection;
			public removeConnectionEventListener(param0: javax.sql.ConnectionEventListener): void;
			public close(): void;
		}
	}
}

declare module javax {
	export module sql {
		export class RowSet extends java.lang.Object implements java.sql.ResultSet {
			public static class: java.lang.Class<javax.sql.RowSet>;
			/**
			 * Constructs a new instance of the javax.sql.RowSet interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				getUrl(): string;
				setUrl(param0: string): void;
				getDataSourceName(): string;
				setDataSourceName(param0: string): void;
				getUsername(): string;
				setUsername(param0: string): void;
				getPassword(): string;
				setPassword(param0: string): void;
				getTransactionIsolation(): number;
				setTransactionIsolation(param0: number): void;
				getTypeMap(): java.util.Map<string,java.lang.Class<any>>;
				setTypeMap(param0: java.util.Map<string,java.lang.Class<any>>): void;
				getCommand(): string;
				setCommand(param0: string): void;
				isReadOnly(): boolean;
				setReadOnly(param0: boolean): void;
				getMaxFieldSize(): number;
				setMaxFieldSize(param0: number): void;
				getMaxRows(): number;
				setMaxRows(param0: number): void;
				getEscapeProcessing(): boolean;
				setEscapeProcessing(param0: boolean): void;
				getQueryTimeout(): number;
				setQueryTimeout(param0: number): void;
				setType(param0: number): void;
				setConcurrency(param0: number): void;
				setNull(param0: number, param1: number): void;
				setNull(param0: string, param1: number): void;
				setNull(param0: number, param1: number, param2: string): void;
				setNull(param0: string, param1: number, param2: string): void;
				setBoolean(param0: number, param1: boolean): void;
				setBoolean(param0: string, param1: boolean): void;
				setByte(param0: number, param1: number): void;
				setByte(param0: string, param1: number): void;
				setShort(param0: number, param1: number): void;
				setShort(param0: string, param1: number): void;
				setInt(param0: number, param1: number): void;
				setInt(param0: string, param1: number): void;
				setLong(param0: number, param1: number): void;
				setLong(param0: string, param1: number): void;
				setFloat(param0: number, param1: number): void;
				setFloat(param0: string, param1: number): void;
				setDouble(param0: number, param1: number): void;
				setDouble(param0: string, param1: number): void;
				setBigDecimal(param0: number, param1: java.math.BigDecimal): void;
				setBigDecimal(param0: string, param1: java.math.BigDecimal): void;
				setString(param0: number, param1: string): void;
				setString(param0: string, param1: string): void;
				setBytes(param0: number, param1: native.Array<number>): void;
				setBytes(param0: string, param1: native.Array<number>): void;
				setDate(param0: number, param1: java.sql.Date): void;
				setTime(param0: number, param1: java.sql.Time): void;
				setTimestamp(param0: number, param1: java.sql.Timestamp): void;
				setTimestamp(param0: string, param1: java.sql.Timestamp): void;
				setAsciiStream(param0: number, param1: java.io.InputStream, param2: number): void;
				setAsciiStream(param0: string, param1: java.io.InputStream, param2: number): void;
				setBinaryStream(param0: number, param1: java.io.InputStream, param2: number): void;
				setBinaryStream(param0: string, param1: java.io.InputStream, param2: number): void;
				setCharacterStream(param0: number, param1: java.io.Reader, param2: number): void;
				setCharacterStream(param0: string, param1: java.io.Reader, param2: number): void;
				setAsciiStream(param0: number, param1: java.io.InputStream): void;
				setAsciiStream(param0: string, param1: java.io.InputStream): void;
				setBinaryStream(param0: number, param1: java.io.InputStream): void;
				setBinaryStream(param0: string, param1: java.io.InputStream): void;
				setCharacterStream(param0: number, param1: java.io.Reader): void;
				setCharacterStream(param0: string, param1: java.io.Reader): void;
				setNCharacterStream(param0: number, param1: java.io.Reader): void;
				setObject(param0: number, param1: any, param2: number, param3: number): void;
				setObject(param0: string, param1: any, param2: number, param3: number): void;
				setObject(param0: number, param1: any, param2: number): void;
				setObject(param0: string, param1: any, param2: number): void;
				setObject(param0: string, param1: any): void;
				setObject(param0: number, param1: any): void;
				setRef(param0: number, param1: java.sql.Ref): void;
				setBlob(param0: number, param1: java.sql.Blob): void;
				setBlob(param0: number, param1: java.io.InputStream, param2: number): void;
				setBlob(param0: number, param1: java.io.InputStream): void;
				setBlob(param0: string, param1: java.io.InputStream, param2: number): void;
				setBlob(param0: string, param1: java.sql.Blob): void;
				setBlob(param0: string, param1: java.io.InputStream): void;
				setClob(param0: number, param1: java.sql.Clob): void;
				setClob(param0: number, param1: java.io.Reader, param2: number): void;
				setClob(param0: number, param1: java.io.Reader): void;
				setClob(param0: string, param1: java.io.Reader, param2: number): void;
				setClob(param0: string, param1: java.sql.Clob): void;
				setClob(param0: string, param1: java.io.Reader): void;
				setArray(param0: number, param1: java.sql.Array): void;
				setDate(param0: number, param1: java.sql.Date, param2: java.util.Calendar): void;
				setDate(param0: string, param1: java.sql.Date): void;
				setDate(param0: string, param1: java.sql.Date, param2: java.util.Calendar): void;
				setTime(param0: number, param1: java.sql.Time, param2: java.util.Calendar): void;
				setTime(param0: string, param1: java.sql.Time): void;
				setTime(param0: string, param1: java.sql.Time, param2: java.util.Calendar): void;
				setTimestamp(param0: number, param1: java.sql.Timestamp, param2: java.util.Calendar): void;
				setTimestamp(param0: string, param1: java.sql.Timestamp, param2: java.util.Calendar): void;
				clearParameters(): void;
				execute(): void;
				addRowSetListener(param0: javax.sql.RowSetListener): void;
				removeRowSetListener(param0: javax.sql.RowSetListener): void;
				setSQLXML(param0: number, param1: java.sql.SQLXML): void;
				setSQLXML(param0: string, param1: java.sql.SQLXML): void;
				setRowId(param0: number, param1: java.sql.RowId): void;
				setRowId(param0: string, param1: java.sql.RowId): void;
				setNString(param0: number, param1: string): void;
				setNString(param0: string, param1: string): void;
				setNCharacterStream(param0: number, param1: java.io.Reader, param2: number): void;
				setNCharacterStream(param0: string, param1: java.io.Reader, param2: number): void;
				setNCharacterStream(param0: string, param1: java.io.Reader): void;
				setNClob(param0: string, param1: java.sql.NClob): void;
				setNClob(param0: string, param1: java.io.Reader, param2: number): void;
				setNClob(param0: string, param1: java.io.Reader): void;
				setNClob(param0: number, param1: java.io.Reader, param2: number): void;
				setNClob(param0: number, param1: java.sql.NClob): void;
				setNClob(param0: number, param1: java.io.Reader): void;
				setURL(param0: number, param1: java.net.URL): void;
				next(): boolean;
				close(): void;
				wasNull(): boolean;
				getString(param0: number): string;
				getBoolean(param0: number): boolean;
				getByte(param0: number): number;
				getShort(param0: number): number;
				getInt(param0: number): number;
				getLong(param0: number): number;
				getFloat(param0: number): number;
				getDouble(param0: number): number;
				getBigDecimal(param0: number, param1: number): java.math.BigDecimal;
				getBytes(param0: number): native.Array<number>;
				getDate(param0: number): java.sql.Date;
				getTime(param0: number): java.sql.Time;
				getTimestamp(param0: number): java.sql.Timestamp;
				getAsciiStream(param0: number): java.io.InputStream;
				getUnicodeStream(param0: number): java.io.InputStream;
				getBinaryStream(param0: number): java.io.InputStream;
				getString(param0: string): string;
				getBoolean(param0: string): boolean;
				getByte(param0: string): number;
				getShort(param0: string): number;
				getInt(param0: string): number;
				getLong(param0: string): number;
				getFloat(param0: string): number;
				getDouble(param0: string): number;
				getBigDecimal(param0: string, param1: number): java.math.BigDecimal;
				getBytes(param0: string): native.Array<number>;
				getDate(param0: string): java.sql.Date;
				getTime(param0: string): java.sql.Time;
				getTimestamp(param0: string): java.sql.Timestamp;
				getAsciiStream(param0: string): java.io.InputStream;
				getUnicodeStream(param0: string): java.io.InputStream;
				getBinaryStream(param0: string): java.io.InputStream;
				getWarnings(): java.sql.SQLWarning;
				clearWarnings(): void;
				getCursorName(): string;
				getMetaData(): java.sql.ResultSetMetaData;
				getObject(param0: number): any;
				getObject(param0: string): any;
				findColumn(param0: string): number;
				getCharacterStream(param0: number): java.io.Reader;
				getCharacterStream(param0: string): java.io.Reader;
				getBigDecimal(param0: number): java.math.BigDecimal;
				getBigDecimal(param0: string): java.math.BigDecimal;
				isBeforeFirst(): boolean;
				isAfterLast(): boolean;
				isFirst(): boolean;
				isLast(): boolean;
				beforeFirst(): void;
				afterLast(): void;
				first(): boolean;
				last(): boolean;
				getRow(): number;
				absolute(param0: number): boolean;
				relative(param0: number): boolean;
				previous(): boolean;
				setFetchDirection(param0: number): void;
				getFetchDirection(): number;
				setFetchSize(param0: number): void;
				getFetchSize(): number;
				getType(): number;
				getConcurrency(): number;
				rowUpdated(): boolean;
				rowInserted(): boolean;
				rowDeleted(): boolean;
				updateNull(param0: number): void;
				updateBoolean(param0: number, param1: boolean): void;
				updateByte(param0: number, param1: number): void;
				updateShort(param0: number, param1: number): void;
				updateInt(param0: number, param1: number): void;
				updateLong(param0: number, param1: number): void;
				updateFloat(param0: number, param1: number): void;
				updateDouble(param0: number, param1: number): void;
				updateBigDecimal(param0: number, param1: java.math.BigDecimal): void;
				updateString(param0: number, param1: string): void;
				updateBytes(param0: number, param1: native.Array<number>): void;
				updateDate(param0: number, param1: java.sql.Date): void;
				updateTime(param0: number, param1: java.sql.Time): void;
				updateTimestamp(param0: number, param1: java.sql.Timestamp): void;
				updateAsciiStream(param0: number, param1: java.io.InputStream, param2: number): void;
				updateBinaryStream(param0: number, param1: java.io.InputStream, param2: number): void;
				updateCharacterStream(param0: number, param1: java.io.Reader, param2: number): void;
				updateObject(param0: number, param1: any, param2: number): void;
				updateObject(param0: number, param1: any): void;
				updateNull(param0: string): void;
				updateBoolean(param0: string, param1: boolean): void;
				updateByte(param0: string, param1: number): void;
				updateShort(param0: string, param1: number): void;
				updateInt(param0: string, param1: number): void;
				updateLong(param0: string, param1: number): void;
				updateFloat(param0: string, param1: number): void;
				updateDouble(param0: string, param1: number): void;
				updateBigDecimal(param0: string, param1: java.math.BigDecimal): void;
				updateString(param0: string, param1: string): void;
				updateBytes(param0: string, param1: native.Array<number>): void;
				updateDate(param0: string, param1: java.sql.Date): void;
				updateTime(param0: string, param1: java.sql.Time): void;
				updateTimestamp(param0: string, param1: java.sql.Timestamp): void;
				updateAsciiStream(param0: string, param1: java.io.InputStream, param2: number): void;
				updateBinaryStream(param0: string, param1: java.io.InputStream, param2: number): void;
				updateCharacterStream(param0: string, param1: java.io.Reader, param2: number): void;
				updateObject(param0: string, param1: any, param2: number): void;
				updateObject(param0: string, param1: any): void;
				insertRow(): void;
				updateRow(): void;
				deleteRow(): void;
				refreshRow(): void;
				cancelRowUpdates(): void;
				moveToInsertRow(): void;
				moveToCurrentRow(): void;
				getStatement(): java.sql.Statement;
				getObject(param0: number, param1: java.util.Map<string,java.lang.Class<any>>): any;
				getRef(param0: number): java.sql.Ref;
				getBlob(param0: number): java.sql.Blob;
				getClob(param0: number): java.sql.Clob;
				getArray(param0: number): java.sql.Array;
				getObject(param0: string, param1: java.util.Map<string,java.lang.Class<any>>): any;
				getRef(param0: string): java.sql.Ref;
				getBlob(param0: string): java.sql.Blob;
				getClob(param0: string): java.sql.Clob;
				getArray(param0: string): java.sql.Array;
				getDate(param0: number, param1: java.util.Calendar): java.sql.Date;
				getDate(param0: string, param1: java.util.Calendar): java.sql.Date;
				getTime(param0: number, param1: java.util.Calendar): java.sql.Time;
				getTime(param0: string, param1: java.util.Calendar): java.sql.Time;
				getTimestamp(param0: number, param1: java.util.Calendar): java.sql.Timestamp;
				getTimestamp(param0: string, param1: java.util.Calendar): java.sql.Timestamp;
				getURL(param0: number): java.net.URL;
				getURL(param0: string): java.net.URL;
				updateRef(param0: number, param1: java.sql.Ref): void;
				updateRef(param0: string, param1: java.sql.Ref): void;
				updateBlob(param0: number, param1: java.sql.Blob): void;
				updateBlob(param0: string, param1: java.sql.Blob): void;
				updateClob(param0: number, param1: java.sql.Clob): void;
				updateClob(param0: string, param1: java.sql.Clob): void;
				updateArray(param0: number, param1: java.sql.Array): void;
				updateArray(param0: string, param1: java.sql.Array): void;
				getRowId(param0: number): java.sql.RowId;
				getRowId(param0: string): java.sql.RowId;
				updateRowId(param0: number, param1: java.sql.RowId): void;
				updateRowId(param0: string, param1: java.sql.RowId): void;
				getHoldability(): number;
				isClosed(): boolean;
				updateNString(param0: number, param1: string): void;
				updateNString(param0: string, param1: string): void;
				updateNClob(param0: number, param1: java.sql.NClob): void;
				updateNClob(param0: string, param1: java.sql.NClob): void;
				getNClob(param0: number): java.sql.NClob;
				getNClob(param0: string): java.sql.NClob;
				getSQLXML(param0: number): java.sql.SQLXML;
				getSQLXML(param0: string): java.sql.SQLXML;
				updateSQLXML(param0: number, param1: java.sql.SQLXML): void;
				updateSQLXML(param0: string, param1: java.sql.SQLXML): void;
				getNString(param0: number): string;
				getNString(param0: string): string;
				getNCharacterStream(param0: number): java.io.Reader;
				getNCharacterStream(param0: string): java.io.Reader;
				updateNCharacterStream(param0: number, param1: java.io.Reader, param2: number): void;
				updateNCharacterStream(param0: string, param1: java.io.Reader, param2: number): void;
				updateAsciiStream(param0: number, param1: java.io.InputStream, param2: number): void;
				updateBinaryStream(param0: number, param1: java.io.InputStream, param2: number): void;
				updateCharacterStream(param0: number, param1: java.io.Reader, param2: number): void;
				updateAsciiStream(param0: string, param1: java.io.InputStream, param2: number): void;
				updateBinaryStream(param0: string, param1: java.io.InputStream, param2: number): void;
				updateCharacterStream(param0: string, param1: java.io.Reader, param2: number): void;
				updateBlob(param0: number, param1: java.io.InputStream, param2: number): void;
				updateBlob(param0: string, param1: java.io.InputStream, param2: number): void;
				updateClob(param0: number, param1: java.io.Reader, param2: number): void;
				updateClob(param0: string, param1: java.io.Reader, param2: number): void;
				updateNClob(param0: number, param1: java.io.Reader, param2: number): void;
				updateNClob(param0: string, param1: java.io.Reader, param2: number): void;
				updateNCharacterStream(param0: number, param1: java.io.Reader): void;
				updateNCharacterStream(param0: string, param1: java.io.Reader): void;
				updateAsciiStream(param0: number, param1: java.io.InputStream): void;
				updateBinaryStream(param0: number, param1: java.io.InputStream): void;
				updateCharacterStream(param0: number, param1: java.io.Reader): void;
				updateAsciiStream(param0: string, param1: java.io.InputStream): void;
				updateBinaryStream(param0: string, param1: java.io.InputStream): void;
				updateCharacterStream(param0: string, param1: java.io.Reader): void;
				updateBlob(param0: number, param1: java.io.InputStream): void;
				updateBlob(param0: string, param1: java.io.InputStream): void;
				updateClob(param0: number, param1: java.io.Reader): void;
				updateClob(param0: string, param1: java.io.Reader): void;
				updateNClob(param0: number, param1: java.io.Reader): void;
				updateNClob(param0: string, param1: java.io.Reader): void;
				unwrap(param0: java.lang.Class<any>): any;
				isWrapperFor(param0: java.lang.Class<any>): boolean;
				close(): void;
			});
			public constructor();
			public static HOLD_CURSORS_OVER_COMMIT: number;
			public static CLOSE_CURSORS_AT_COMMIT: number;
			public static FETCH_UNKNOWN: number;
			public static FETCH_REVERSE: number;
			public static CONCUR_READ_ONLY: number;
			public static TYPE_SCROLL_SENSITIVE: number;
			public static CONCUR_UPDATABLE: number;
			public static TYPE_FORWARD_ONLY: number;
			public static TYPE_SCROLL_INSENSITIVE: number;
			public static FETCH_FORWARD: number;
			public getAsciiStream(param0: number): java.io.InputStream;
			public setNClob(param0: string, param1: java.io.Reader): void;
			public previous(): boolean;
			public setNString(param0: string, param1: string): void;
			public setBlob(param0: number, param1: java.io.InputStream): void;
			public updateBinaryStream(param0: string, param1: java.io.InputStream, param2: number): void;
			public setByte(param0: number, param1: number): void;
			public setSQLXML(param0: number, param1: java.sql.SQLXML): void;
			public cancelRowUpdates(): void;
			public wasNull(): boolean;
			public updateSQLXML(param0: string, param1: java.sql.SQLXML): void;
			public updateRef(param0: string, param1: java.sql.Ref): void;
			public setNull(param0: string, param1: number, param2: string): void;
			public updateNClob(param0: number, param1: java.io.Reader, param2: number): void;
			public updateCharacterStream(param0: number, param1: java.io.Reader, param2: number): void;
			public getNClob(param0: string): java.sql.NClob;
			public updateArray(param0: string, param1: java.sql.Array): void;
			public setCharacterStream(param0: number, param1: java.io.Reader, param2: number): void;
			public setNCharacterStream(param0: string, param1: java.io.Reader): void;
			public refreshRow(): void;
			public setNClob(param0: number, param1: java.sql.NClob): void;
			public updateTime(param0: number, param1: java.sql.Time): void;
			public updateCharacterStream(param0: string, param1: java.io.Reader): void;
			public setEscapeProcessing(param0: boolean): void;
			public getCursorName(): string;
			public getObject(param0: string): any;
			public setBlob(param0: string, param1: java.io.InputStream): void;
			public getDouble(param0: string): number;
			public last(): boolean;
			public relative(param0: number): boolean;
			/** @deprecated */
			public getBigDecimal(param0: number, param1: number): java.math.BigDecimal;
			public setLong(param0: string, param1: number): void;
			public getType(): number;
			public getRef(param0: number): java.sql.Ref;
			public isClosed(): boolean;
			public getObject(param0: number, param1: java.util.Map<string,java.lang.Class<any>>): any;
			public updateBlob(param0: number, param1: java.sql.Blob): void;
			public setDate(param0: string, param1: java.sql.Date, param2: java.util.Calendar): void;
			public clearParameters(): void;
			public updateNull(param0: number): void;
			public updateAsciiStream(param0: string, param1: java.io.InputStream, param2: number): void;
			public setDate(param0: string, param1: java.sql.Date): void;
			public isLast(): boolean;
			public updateString(param0: string, param1: string): void;
			public getSQLXML(param0: number): java.sql.SQLXML;
			public updateNull(param0: string): void;
			public getPassword(): string;
			public getCharacterStream(param0: number): java.io.Reader;
			public updateBigDecimal(param0: string, param1: java.math.BigDecimal): void;
			public updateClob(param0: number, param1: java.sql.Clob): void;
			public getObject(param0: string, param1: java.util.Map<string,java.lang.Class<any>>): any;
			public getUrl(): string;
			public setUrl(param0: string): void;
			public isFirst(): boolean;
			public updateObject(param0: number, param1: any, param2: number): void;
			public setClob(param0: number, param1: java.io.Reader, param2: number): void;
			public findColumn(param0: string): number;
			public setBytes(param0: number, param1: native.Array<number>): void;
			public getString(param0: string): string;
			public setString(param0: string, param1: string): void;
			public updateNString(param0: number, param1: string): void;
			public setCharacterStream(param0: number, param1: java.io.Reader): void;
			public setTimestamp(param0: number, param1: java.sql.Timestamp): void;
			public setArray(param0: number, param1: java.sql.Array): void;
			public setClob(param0: number, param1: java.io.Reader): void;
			public setTimestamp(param0: string, param1: java.sql.Timestamp, param2: java.util.Calendar): void;
			public getRow(): number;
			public setBlob(param0: number, param1: java.io.InputStream, param2: number): void;
			public rowInserted(): boolean;
			public setDouble(param0: number, param1: number): void;
			public getRowId(param0: string): java.sql.RowId;
			public getArray(param0: number): java.sql.Array;
			public getDate(param0: number): java.sql.Date;
			public setClob(param0: string, param1: java.io.Reader): void;
			public rowDeleted(): boolean;
			public setBlob(param0: string, param1: java.io.InputStream, param2: number): void;
			public updateObject(param0: string, param1: any): void;
			public getTimestamp(param0: string, param1: java.util.Calendar): java.sql.Timestamp;
			public setDouble(param0: string, param1: number): void;
			public updateLong(param0: number, param1: number): void;
			public getBoolean(param0: string): boolean;
			public setNCharacterStream(param0: string, param1: java.io.Reader, param2: number): void;
			public setFloat(param0: number, param1: number): void;
			public setNClob(param0: string, param1: java.io.Reader, param2: number): void;
			public getBigDecimal(param0: number): java.math.BigDecimal;
			public updateBinaryStream(param0: number, param1: java.io.InputStream, param2: number): void;
			public getStatement(): java.sql.Statement;
			public updateNClob(param0: string, param1: java.sql.NClob): void;
			public updateByte(param0: string, param1: number): void;
			public updateNCharacterStream(param0: number, param1: java.io.Reader, param2: number): void;
			public setCommand(param0: string): void;
			public setBlob(param0: string, param1: java.sql.Blob): void;
			public getShort(param0: number): number;
			public setBoolean(param0: number, param1: boolean): void;
			public setShort(param0: string, param1: number): void;
			public getDouble(param0: number): number;
			public getBytes(param0: string): native.Array<number>;
			public getString(param0: number): string;
			public setNull(param0: number, param1: number): void;
			public getFetchDirection(): number;
			public updateAsciiStream(param0: string, param1: java.io.InputStream): void;
			public setTimestamp(param0: number, param1: java.sql.Timestamp, param2: java.util.Calendar): void;
			public setInt(param0: number, param1: number): void;
			public execute(): void;
			public getBinaryStream(param0: number): java.io.InputStream;
			public getTime(param0: string, param1: java.util.Calendar): java.sql.Time;
			public getRowId(param0: number): java.sql.RowId;
			public updateClob(param0: string, param1: java.io.Reader, param2: number): void;
			public setSQLXML(param0: string, param1: java.sql.SQLXML): void;
			public updateBoolean(param0: number, param1: boolean): void;
			public updateTimestamp(param0: number, param1: java.sql.Timestamp): void;
			public updateRef(param0: number, param1: java.sql.Ref): void;
			public isWrapperFor(param0: java.lang.Class<any>): boolean;
			public updateBoolean(param0: string, param1: boolean): void;
			public updateFloat(param0: string, param1: number): void;
			public updateNCharacterStream(param0: string, param1: java.io.Reader, param2: number): void;
			public isBeforeFirst(): boolean;
			public setTime(param0: number, param1: java.sql.Time, param2: java.util.Calendar): void;
			public setTime(param0: string, param1: java.sql.Time, param2: java.util.Calendar): void;
			public updateNClob(param0: string, param1: java.io.Reader): void;
			public updateRow(): void;
			public updateBlob(param0: string, param1: java.io.InputStream): void;
			public updateClob(param0: string, param1: java.io.Reader): void;
			public getHoldability(): number;
			public moveToInsertRow(): void;
			public updateClob(param0: number, param1: java.io.Reader, param2: number): void;
			public updateDouble(param0: string, param1: number): void;
			public setURL(param0: number, param1: java.net.URL): void;
			public getRef(param0: string): java.sql.Ref;
			public moveToCurrentRow(): void;
			public setBigDecimal(param0: number, param1: java.math.BigDecimal): void;
			public setTime(param0: number, param1: java.sql.Time): void;
			public getNString(param0: number): string;
			public setRowId(param0: string, param1: java.sql.RowId): void;
			public getLong(param0: number): number;
			public getTransactionIsolation(): number;
			public getQueryTimeout(): number;
			public updateRowId(param0: number, param1: java.sql.RowId): void;
			public updateNCharacterStream(param0: number, param1: java.io.Reader): void;
			public isReadOnly(): boolean;
			public updateBinaryStream(param0: string, param1: java.io.InputStream): void;
			public updateObject(param0: number, param1: any): void;
			public setAsciiStream(param0: number, param1: java.io.InputStream): void;
			public getClob(param0: string): java.sql.Clob;
			public updateDouble(param0: number, param1: number): void;
			public setLong(param0: number, param1: number): void;
			public setMaxRows(param0: number): void;
			public setNull(param0: number, param1: number, param2: string): void;
			public setObject(param0: number, param1: any, param2: number): void;
			public setBinaryStream(param0: string, param1: java.io.InputStream): void;
			public setCharacterStream(param0: string, param1: java.io.Reader): void;
			public removeRowSetListener(param0: javax.sql.RowSetListener): void;
			public getConcurrency(): number;
			public afterLast(): void;
			public getCommand(): string;
			public clearWarnings(): void;
			public setByte(param0: string, param1: number): void;
			public setAsciiStream(param0: string, param1: java.io.InputStream): void;
			public updateArray(param0: number, param1: java.sql.Array): void;
			public getByte(param0: number): number;
			public getNString(param0: string): string;
			public setQueryTimeout(param0: number): void;
			public setBinaryStream(param0: number, param1: java.io.InputStream): void;
			public setClob(param0: number, param1: java.sql.Clob): void;
			public setNClob(param0: number, param1: java.io.Reader): void;
			public updateBinaryStream(param0: number, param1: java.io.InputStream): void;
			public setMaxFieldSize(param0: number): void;
			public setObject(param0: number, param1: any): void;
			public getFloat(param0: string): number;
			public setFetchSize(param0: number): void;
			public setNString(param0: number, param1: string): void;
			public absolute(param0: number): boolean;
			public setConcurrency(param0: number): void;
			public setNCharacterStream(param0: number, param1: java.io.Reader, param2: number): void;
			public updateNString(param0: string, param1: string): void;
			public getInt(param0: number): number;
			public setNull(param0: string, param1: number): void;
			public setDate(param0: number, param1: java.sql.Date): void;
			public setCharacterStream(param0: string, param1: java.io.Reader, param2: number): void;
			public getMaxRows(): number;
			public updateAsciiStream(param0: number, param1: java.io.InputStream, param2: number): void;
			public updateBytes(param0: string, param1: native.Array<number>): void;
			public setNClob(param0: string, param1: java.sql.NClob): void;
			public getDataSourceName(): string;
			/** @deprecated */
			public getBigDecimal(param0: string, param1: number): java.math.BigDecimal;
			public updateNClob(param0: string, param1: java.io.Reader, param2: number): void;
			public setReadOnly(param0: boolean): void;
			public getMetaData(): java.sql.ResultSetMetaData;
			public updateCharacterStream(param0: string, param1: java.io.Reader, param2: number): void;
			public updateCharacterStream(param0: number, param1: java.io.Reader): void;
			public updateBlob(param0: string, param1: java.sql.Blob): void;
			public getTypeMap(): java.util.Map<string,java.lang.Class<any>>;
			public updateAsciiStream(param0: number, param1: java.io.InputStream): void;
			public updateString(param0: number, param1: string): void;
			/** @deprecated */
			public getUnicodeStream(param0: string): java.io.InputStream;
			public getTimestamp(param0: number, param1: java.util.Calendar): java.sql.Timestamp;
			public setNClob(param0: number, param1: java.io.Reader, param2: number): void;
			public close(): void;
			public setFloat(param0: string, param1: number): void;
			public setDate(param0: number, param1: java.sql.Date, param2: java.util.Calendar): void;
			public setObject(param0: string, param1: any, param2: number): void;
			public getDate(param0: string): java.sql.Date;
			public updateNClob(param0: number, param1: java.sql.NClob): void;
			public updateDate(param0: string, param1: java.sql.Date): void;
			public addRowSetListener(param0: javax.sql.RowSetListener): void;
			public getAsciiStream(param0: string): java.io.InputStream;
			public rowUpdated(): boolean;
			public setTransactionIsolation(param0: number): void;
			public getObject(param0: number): any;
			public getURL(param0: number): java.net.URL;
			public updateSQLXML(param0: number, param1: java.sql.SQLXML): void;
			public setTypeMap(param0: java.util.Map<string,java.lang.Class<any>>): void;
			public setBigDecimal(param0: string, param1: java.math.BigDecimal): void;
			public setDataSourceName(param0: string): void;
			public next(): boolean;
			/** @deprecated */
			public getUnicodeStream(param0: number): java.io.InputStream;
			public getShort(param0: string): number;
			public setBlob(param0: number, param1: java.sql.Blob): void;
			public updateInt(param0: string, param1: number): void;
			public getDate(param0: number, param1: java.util.Calendar): java.sql.Date;
			public setInt(param0: string, param1: number): void;
			public setBoolean(param0: string, param1: boolean): void;
			public insertRow(): void;
			public updateBlob(param0: string, param1: java.io.InputStream, param2: number): void;
			public updateInt(param0: number, param1: number): void;
			public getUsername(): string;
			public getFloat(param0: number): number;
			public updateDate(param0: number, param1: java.sql.Date): void;
			public setType(param0: number): void;
			public setClob(param0: string, param1: java.io.Reader, param2: number): void;
			public updateClob(param0: string, param1: java.sql.Clob): void;
			public updateTime(param0: string, param1: java.sql.Time): void;
			public setObject(param0: number, param1: any, param2: number, param3: number): void;
			public isAfterLast(): boolean;
			public getWarnings(): java.sql.SQLWarning;
			public beforeFirst(): void;
			public updateShort(param0: string, param1: number): void;
			public getBlob(param0: string): java.sql.Blob;
			public updateByte(param0: number, param1: number): void;
			public getCharacterStream(param0: string): java.io.Reader;
			public getSQLXML(param0: string): java.sql.SQLXML;
			public getMaxFieldSize(): number;
			public getTime(param0: number, param1: java.util.Calendar): java.sql.Time;
			public updateBlob(param0: number, param1: java.io.InputStream): void;
			public getFetchSize(): number;
			public getTime(param0: number): java.sql.Time;
			public getLong(param0: string): number;
			public getInt(param0: string): number;
			public getClob(param0: number): java.sql.Clob;
			public getArray(param0: string): java.sql.Array;
			public getByte(param0: string): number;
			public setObject(param0: string, param1: any): void;
			public setRef(param0: number, param1: java.sql.Ref): void;
			public setClob(param0: string, param1: java.sql.Clob): void;
			public updateShort(param0: number, param1: number): void;
			public updateTimestamp(param0: string, param1: java.sql.Timestamp): void;
			public updateFloat(param0: number, param1: number): void;
			public setPassword(param0: string): void;
			public getNCharacterStream(param0: string): java.io.Reader;
			public getBoolean(param0: number): boolean;
			public updateNCharacterStream(param0: string, param1: java.io.Reader): void;
			public setString(param0: number, param1: string): void;
			public updateRowId(param0: string, param1: java.sql.RowId): void;
			public first(): boolean;
			public setRowId(param0: number, param1: java.sql.RowId): void;
			public getBytes(param0: number): native.Array<number>;
			public getTimestamp(param0: string): java.sql.Timestamp;
			public getTime(param0: string): java.sql.Time;
			public setShort(param0: number, param1: number): void;
			public updateBytes(param0: number, param1: native.Array<number>): void;
			public unwrap(param0: java.lang.Class<any>): any;
			public getBlob(param0: number): java.sql.Blob;
			public setTime(param0: string, param1: java.sql.Time): void;
			public setBinaryStream(param0: number, param1: java.io.InputStream, param2: number): void;
			public updateBigDecimal(param0: number, param1: java.math.BigDecimal): void;
			public getDate(param0: string, param1: java.util.Calendar): java.sql.Date;
			public getNClob(param0: number): java.sql.NClob;
			public getURL(param0: string): java.net.URL;
			public updateClob(param0: number, param1: java.io.Reader): void;
			public getEscapeProcessing(): boolean;
			public getTimestamp(param0: number): java.sql.Timestamp;
			public setObject(param0: string, param1: any, param2: number, param3: number): void;
			public getBinaryStream(param0: string): java.io.InputStream;
			public updateNClob(param0: number, param1: java.io.Reader): void;
			public setBinaryStream(param0: string, param1: java.io.InputStream, param2: number): void;
			public setBytes(param0: string, param1: native.Array<number>): void;
			public setNCharacterStream(param0: number, param1: java.io.Reader): void;
			public deleteRow(): void;
			public getNCharacterStream(param0: number): java.io.Reader;
			public setFetchDirection(param0: number): void;
			public updateBlob(param0: number, param1: java.io.InputStream, param2: number): void;
			public getBigDecimal(param0: string): java.math.BigDecimal;
			public setUsername(param0: string): void;
			public setAsciiStream(param0: string, param1: java.io.InputStream, param2: number): void;
			public updateObject(param0: string, param1: any, param2: number): void;
			public setTimestamp(param0: string, param1: java.sql.Timestamp): void;
			public setAsciiStream(param0: number, param1: java.io.InputStream, param2: number): void;
			public updateLong(param0: string, param1: number): void;
		}
	}
}

declare module javax {
	export module sql {
		export class RowSetEvent extends java.util.EventObject {
			public static class: java.lang.Class<javax.sql.RowSetEvent>;
			public constructor(param0: javax.sql.RowSet);
			public constructor(param0: any);
		}
	}
}

declare module javax {
	export module sql {
		export class RowSetInternal extends java.lang.Object {
			public static class: java.lang.Class<javax.sql.RowSetInternal>;
			/**
			 * Constructs a new instance of the javax.sql.RowSetInternal interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				getParams(): native.Array<any>;
				getConnection(): java.sql.Connection;
				setMetaData(param0: javax.sql.RowSetMetaData): void;
				getOriginal(): java.sql.ResultSet;
				getOriginalRow(): java.sql.ResultSet;
			});
			public constructor();
			public getParams(): native.Array<any>;
			public setMetaData(param0: javax.sql.RowSetMetaData): void;
			public getOriginalRow(): java.sql.ResultSet;
			public getOriginal(): java.sql.ResultSet;
			public getConnection(): java.sql.Connection;
		}
	}
}

declare module javax {
	export module sql {
		export class RowSetListener extends java.lang.Object implements java.util.EventListener {
			public static class: java.lang.Class<javax.sql.RowSetListener>;
			/**
			 * Constructs a new instance of the javax.sql.RowSetListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				rowSetChanged(param0: javax.sql.RowSetEvent): void;
				rowChanged(param0: javax.sql.RowSetEvent): void;
				cursorMoved(param0: javax.sql.RowSetEvent): void;
			});
			public constructor();
			public rowSetChanged(param0: javax.sql.RowSetEvent): void;
			public rowChanged(param0: javax.sql.RowSetEvent): void;
			public cursorMoved(param0: javax.sql.RowSetEvent): void;
		}
	}
}

declare module javax {
	export module sql {
		export class RowSetMetaData extends java.lang.Object implements java.sql.ResultSetMetaData {
			public static class: java.lang.Class<javax.sql.RowSetMetaData>;
			/**
			 * Constructs a new instance of the javax.sql.RowSetMetaData interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				setColumnCount(param0: number): void;
				setAutoIncrement(param0: number, param1: boolean): void;
				setCaseSensitive(param0: number, param1: boolean): void;
				setSearchable(param0: number, param1: boolean): void;
				setCurrency(param0: number, param1: boolean): void;
				setNullable(param0: number, param1: number): void;
				setSigned(param0: number, param1: boolean): void;
				setColumnDisplaySize(param0: number, param1: number): void;
				setColumnLabel(param0: number, param1: string): void;
				setColumnName(param0: number, param1: string): void;
				setSchemaName(param0: number, param1: string): void;
				setPrecision(param0: number, param1: number): void;
				setScale(param0: number, param1: number): void;
				setTableName(param0: number, param1: string): void;
				setCatalogName(param0: number, param1: string): void;
				setColumnType(param0: number, param1: number): void;
				setColumnTypeName(param0: number, param1: string): void;
				getColumnCount(): number;
				isAutoIncrement(param0: number): boolean;
				isCaseSensitive(param0: number): boolean;
				isSearchable(param0: number): boolean;
				isCurrency(param0: number): boolean;
				isNullable(param0: number): number;
				isSigned(param0: number): boolean;
				getColumnDisplaySize(param0: number): number;
				getColumnLabel(param0: number): string;
				getColumnName(param0: number): string;
				getSchemaName(param0: number): string;
				getPrecision(param0: number): number;
				getScale(param0: number): number;
				getTableName(param0: number): string;
				getCatalogName(param0: number): string;
				getColumnType(param0: number): number;
				getColumnTypeName(param0: number): string;
				isReadOnly(param0: number): boolean;
				isWritable(param0: number): boolean;
				isDefinitelyWritable(param0: number): boolean;
				getColumnClassName(param0: number): string;
				unwrap(param0: java.lang.Class<any>): any;
				isWrapperFor(param0: java.lang.Class<any>): boolean;
			});
			public constructor();
			public static columnNullableUnknown: number;
			public static columnNullable: number;
			public static columnNoNulls: number;
			public setSchemaName(param0: number, param1: string): void;
			public isCurrency(param0: number): boolean;
			public getColumnType(param0: number): number;
			public setScale(param0: number, param1: number): void;
			public isWrapperFor(param0: java.lang.Class<any>): boolean;
			public setColumnCount(param0: number): void;
			public getColumnDisplaySize(param0: number): number;
			public setPrecision(param0: number, param1: number): void;
			public unwrap(param0: java.lang.Class<any>): any;
			public isSigned(param0: number): boolean;
			public getColumnLabel(param0: number): string;
			public getScale(param0: number): number;
			public setColumnDisplaySize(param0: number, param1: number): void;
			public isDefinitelyWritable(param0: number): boolean;
			public setColumnType(param0: number, param1: number): void;
			public isCaseSensitive(param0: number): boolean;
			public setCaseSensitive(param0: number, param1: boolean): void;
			public isWritable(param0: number): boolean;
			public setTableName(param0: number, param1: string): void;
			public setCatalogName(param0: number, param1: string): void;
			public getColumnCount(): number;
			public getColumnName(param0: number): string;
			public setCurrency(param0: number, param1: boolean): void;
			public getTableName(param0: number): string;
			public isReadOnly(param0: number): boolean;
			public setNullable(param0: number, param1: number): void;
			public setColumnName(param0: number, param1: string): void;
			public getColumnTypeName(param0: number): string;
			public getPrecision(param0: number): number;
			public setSigned(param0: number, param1: boolean): void;
			public isAutoIncrement(param0: number): boolean;
			public setAutoIncrement(param0: number, param1: boolean): void;
			public setSearchable(param0: number, param1: boolean): void;
			public getSchemaName(param0: number): string;
			public isSearchable(param0: number): boolean;
			public getCatalogName(param0: number): string;
			public setColumnTypeName(param0: number, param1: string): void;
			public getColumnClassName(param0: number): string;
			public setColumnLabel(param0: number, param1: string): void;
			public isNullable(param0: number): number;
		}
	}
}

declare module javax {
	export module sql {
		export class RowSetReader extends java.lang.Object {
			public static class: java.lang.Class<javax.sql.RowSetReader>;
			/**
			 * Constructs a new instance of the javax.sql.RowSetReader interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				readData(param0: javax.sql.RowSetInternal): void;
			});
			public constructor();
			public readData(param0: javax.sql.RowSetInternal): void;
		}
	}
}

declare module javax {
	export module sql {
		export class RowSetWriter extends java.lang.Object {
			public static class: java.lang.Class<javax.sql.RowSetWriter>;
			/**
			 * Constructs a new instance of the javax.sql.RowSetWriter interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				writeData(param0: javax.sql.RowSetInternal): boolean;
			});
			public constructor();
			public writeData(param0: javax.sql.RowSetInternal): boolean;
		}
	}
}

declare module javax {
	export module sql {
		export class StatementEvent extends java.util.EventObject {
			public static class: java.lang.Class<javax.sql.StatementEvent>;
			public getSQLException(): java.sql.SQLException;
			public getStatement(): java.sql.PreparedStatement;
			public constructor(param0: javax.sql.PooledConnection, param1: java.sql.PreparedStatement);
			public constructor(param0: any);
			public constructor(param0: javax.sql.PooledConnection, param1: java.sql.PreparedStatement, param2: java.sql.SQLException);
		}
	}
}

declare module javax {
	export module sql {
		export class StatementEventListener extends java.lang.Object implements java.util.EventListener {
			public static class: java.lang.Class<javax.sql.StatementEventListener>;
			/**
			 * Constructs a new instance of the javax.sql.StatementEventListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
			 */
			public constructor(implementation: {
				statementClosed(param0: javax.sql.StatementEvent): void;
				statementErrorOccurred(param0: javax.sql.StatementEvent): void;
			});
			public constructor();
			public statementErrorOccurred(param0: javax.sql.StatementEvent): void;
			public statementClosed(param0: javax.sql.StatementEvent): void;
		}
	}
}

declare module javax {
	export module xml {
		export class XMLConstants extends java.lang.Object {
			public static class: java.lang.Class<javax.xml.XMLConstants>;
			public static DEFAULT_NS_PREFIX: string;
			public static FEATURE_SECURE_PROCESSING: string;
			public static NULL_NS_URI: string;
			public static RELAXNG_NS_URI: string;
			public static W3C_XML_SCHEMA_INSTANCE_NS_URI: string;
			public static W3C_XML_SCHEMA_NS_URI: string;
			public static W3C_XPATH_DATATYPE_NS_URI: string;
			public static XMLNS_ATTRIBUTE: string;
			public static XMLNS_ATTRIBUTE_NS_URI: string;
			public static XML_DTD_NS_URI: string;
			public static XML_NS_PREFIX: string;
			public static XML_NS_URI: string;
		}
	}
}

declare module javax {
	export module xml {
		export module datatype {
			export class DatatypeConfigurationException extends java.lang.Exception {
				public static class: java.lang.Class<javax.xml.datatype.DatatypeConfigurationException>;
				public printStackTrace(param0: java.io.PrintWriter): void;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public printStackTrace(param0: java.io.PrintStream): void;
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
				public printStackTrace(): void;
			}
		}
	}
}

declare module javax {
	export module xml {
		export module datatype {
			export class DatatypeConstants extends java.lang.Object {
				public static class: java.lang.Class<javax.xml.datatype.DatatypeConstants>;
				public static APRIL: number;
				public static AUGUST: number;
				public static DATE: javax.xml.namespace.QName;
				public static DATETIME: javax.xml.namespace.QName;
				public static DAYS: javax.xml.datatype.DatatypeConstants.Field;
				public static DECEMBER: number;
				public static DURATION: javax.xml.namespace.QName;
				public static DURATION_DAYTIME: javax.xml.namespace.QName;
				public static DURATION_YEARMONTH: javax.xml.namespace.QName;
				public static EQUAL: number;
				public static FEBRUARY: number;
				public static FIELD_UNDEFINED: number;
				public static GDAY: javax.xml.namespace.QName;
				public static GMONTH: javax.xml.namespace.QName;
				public static GMONTHDAY: javax.xml.namespace.QName;
				public static GREATER: number;
				public static GYEAR: javax.xml.namespace.QName;
				public static GYEARMONTH: javax.xml.namespace.QName;
				public static HOURS: javax.xml.datatype.DatatypeConstants.Field;
				public static INDETERMINATE: number;
				public static JANUARY: number;
				public static JULY: number;
				public static JUNE: number;
				public static LESSER: number;
				public static MARCH: number;
				public static MAX_TIMEZONE_OFFSET: number;
				public static MAY: number;
				public static MINUTES: javax.xml.datatype.DatatypeConstants.Field;
				public static MIN_TIMEZONE_OFFSET: number;
				public static MONTHS: javax.xml.datatype.DatatypeConstants.Field;
				public static NOVEMBER: number;
				public static OCTOBER: number;
				public static SECONDS: javax.xml.datatype.DatatypeConstants.Field;
				public static SEPTEMBER: number;
				public static TIME: javax.xml.namespace.QName;
				public static YEARS: javax.xml.datatype.DatatypeConstants.Field;
			}
			export module DatatypeConstants {
				export class Field extends java.lang.Object {
					public static class: java.lang.Class<javax.xml.datatype.DatatypeConstants.Field>;
					public toString(): string;
					public getId(): number;
				}
			}
		}
	}
}

declare module javax {
	export module xml {
		export module datatype {
			export abstract class DatatypeFactory extends java.lang.Object {
				public static class: java.lang.Class<javax.xml.datatype.DatatypeFactory>;
				public static DATATYPEFACTORY_IMPLEMENTATION_CLASS: string;
				public static DATATYPEFACTORY_PROPERTY: string;
				public static newInstance(param0: string, param1: java.lang.ClassLoader): javax.xml.datatype.DatatypeFactory;
				public newDurationDayTime(param0: boolean, param1: java.math.BigInteger, param2: java.math.BigInteger, param3: java.math.BigInteger, param4: java.math.BigInteger): javax.xml.datatype.Duration;
				public newXMLGregorianCalendarTime(param0: number, param1: number, param2: number, param3: java.math.BigDecimal, param4: number): javax.xml.datatype.XMLGregorianCalendar;
				public newXMLGregorianCalendar(param0: number, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number): javax.xml.datatype.XMLGregorianCalendar;
				public newDurationDayTime(param0: number): javax.xml.datatype.Duration;
				public newDurationYearMonth(param0: number): javax.xml.datatype.Duration;
				public newDurationYearMonth(param0: boolean, param1: java.math.BigInteger, param2: java.math.BigInteger): javax.xml.datatype.Duration;
				public newXMLGregorianCalendar(param0: java.math.BigInteger, param1: number, param2: number, param3: number, param4: number, param5: number, param6: java.math.BigDecimal, param7: number): javax.xml.datatype.XMLGregorianCalendar;
				public newXMLGregorianCalendar(): javax.xml.datatype.XMLGregorianCalendar;
				public newDurationYearMonth(param0: string): javax.xml.datatype.Duration;
				public constructor();
				public newDurationDayTime(param0: string): javax.xml.datatype.Duration;
				public newXMLGregorianCalendar(param0: string): javax.xml.datatype.XMLGregorianCalendar;
				public newDurationYearMonth(param0: boolean, param1: number, param2: number): javax.xml.datatype.Duration;
				public newDurationDayTime(param0: boolean, param1: number, param2: number, param3: number, param4: number): javax.xml.datatype.Duration;
				public static newInstance(): javax.xml.datatype.DatatypeFactory;
				public newXMLGregorianCalendarTime(param0: number, param1: number, param2: number, param3: number, param4: number): javax.xml.datatype.XMLGregorianCalendar;
				public newDuration(param0: boolean, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number): javax.xml.datatype.Duration;
				public newXMLGregorianCalendarTime(param0: number, param1: number, param2: number, param3: number): javax.xml.datatype.XMLGregorianCalendar;
				public newDuration(param0: number): javax.xml.datatype.Duration;
				public newDuration(param0: string): javax.xml.datatype.Duration;
				public newDuration(param0: boolean, param1: java.math.BigInteger, param2: java.math.BigInteger, param3: java.math.BigInteger, param4: java.math.BigInteger, param5: java.math.BigInteger, param6: java.math.BigDecimal): javax.xml.datatype.Duration;
				public newXMLGregorianCalendarDate(param0: number, param1: number, param2: number, param3: number): javax.xml.datatype.XMLGregorianCalendar;
				public newXMLGregorianCalendar(param0: java.util.GregorianCalendar): javax.xml.datatype.XMLGregorianCalendar;
			}
		}
	}
}

declare module javax {
	export module xml {
		export module datatype {
			export abstract class Duration extends java.lang.Object {
				public static class: java.lang.Class<javax.xml.datatype.Duration>;
				public getXMLSchemaType(): javax.xml.namespace.QName;
				public addTo(param0: java.util.Calendar): void;
				public constructor();
				public isShorterThan(param0: javax.xml.datatype.Duration): boolean;
				public getTimeInMillis(param0: java.util.Calendar): number;
				public isLongerThan(param0: javax.xml.datatype.Duration): boolean;
				public getMinutes(): number;
				public add(param0: javax.xml.datatype.Duration): javax.xml.datatype.Duration;
				public compare(param0: javax.xml.datatype.Duration): number;
				public hashCode(): number;
				public getTimeInMillis(param0: java.util.Date): number;
				public equals(param0: any): boolean;
				public getYears(): number;
				public getMonths(): number;
				public multiply(param0: java.math.BigDecimal): javax.xml.datatype.Duration;
				public getSeconds(): number;
				public negate(): javax.xml.datatype.Duration;
				public getSign(): number;
				public toString(): string;
				public subtract(param0: javax.xml.datatype.Duration): javax.xml.datatype.Duration;
				public normalizeWith(param0: java.util.Calendar): javax.xml.datatype.Duration;
				public addTo(param0: java.util.Date): void;
				public getField(param0: javax.xml.datatype.DatatypeConstants.Field): java.lang.Number;
				public multiply(param0: number): javax.xml.datatype.Duration;
				public getDays(): number;
				public isSet(param0: javax.xml.datatype.DatatypeConstants.Field): boolean;
				public getHours(): number;
			}
		}
	}
}

declare module javax {
	export module xml {
		export module datatype {
			export abstract class XMLGregorianCalendar extends java.lang.Object implements java.lang.Cloneable {
				public static class: java.lang.Class<javax.xml.datatype.XMLGregorianCalendar>;
				public toGregorianCalendar(): java.util.GregorianCalendar;
				public setHour(param0: number): void;
				public getYear(): number;
				public setMinute(param0: number): void;
				public getXMLSchemaType(): javax.xml.namespace.QName;
				public getSecond(): number;
				public setYear(param0: java.math.BigInteger): void;
				public constructor();
				public setSecond(param0: number): void;
				public reset(): void;
				public getHour(): number;
				public compare(param0: javax.xml.datatype.XMLGregorianCalendar): number;
				public add(param0: javax.xml.datatype.Duration): void;
				public hashCode(): number;
				public clear(): void;
				public getMonth(): number;
				public equals(param0: any): boolean;
				public clone(): any;
				public getFractionalSecond(): java.math.BigDecimal;
				public setYear(param0: number): void;
				public setTime(param0: number, param1: number, param2: number, param3: number): void;
				public getMillisecond(): number;
				public toGregorianCalendar(param0: java.util.TimeZone, param1: java.util.Locale, param2: javax.xml.datatype.XMLGregorianCalendar): java.util.GregorianCalendar;
				public setFractionalSecond(param0: java.math.BigDecimal): void;
				public getEon(): java.math.BigInteger;
				public setDay(param0: number): void;
				public setTime(param0: number, param1: number, param2: number, param3: java.math.BigDecimal): void;
				public getTimezone(): number;
				public getTimeZone(param0: number): java.util.TimeZone;
				public toXMLFormat(): string;
				public toString(): string;
				public isValid(): boolean;
				public setMonth(param0: number): void;
				public getEonAndYear(): java.math.BigInteger;
				public setMillisecond(param0: number): void;
				public normalize(): javax.xml.datatype.XMLGregorianCalendar;
				public getDay(): number;
				public setTime(param0: number, param1: number, param2: number): void;
				public setTimezone(param0: number): void;
				public getMinute(): number;
			}
		}
	}
}

declare module javax {
	export module xml {
		export module namespace {
			export class NamespaceContext extends java.lang.Object {
				public static class: java.lang.Class<javax.xml.namespace.NamespaceContext>;
				/**
				 * Constructs a new instance of the javax.xml.namespace.NamespaceContext interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getNamespaceURI(param0: string): string;
					getPrefix(param0: string): string;
					getPrefixes(param0: string): java.util.Iterator<any>;
				});
				public constructor();
				public getPrefixes(param0: string): java.util.Iterator<any>;
				public getPrefix(param0: string): string;
				public getNamespaceURI(param0: string): string;
			}
		}
	}
}

declare module javax {
	export module xml {
		export module namespace {
			export class QName extends java.lang.Object implements java.io.Serializable {
				public static class: java.lang.Class<javax.xml.namespace.QName>;
				public static valueOf(param0: string): javax.xml.namespace.QName;
				public getPrefix(): string;
				public getNamespaceURI(): string;
				public getLocalPart(): string;
				public hashCode(): number;
				public constructor(param0: string, param1: string, param2: string);
				public equals(param0: any): boolean;
				public toString(): string;
				public constructor(param0: string, param1: string);
				public constructor(param0: string);
			}
		}
	}
}

declare module javax {
	export module xml {
		export module parsers {
			export abstract class DocumentBuilder extends java.lang.Object {
				public static class: java.lang.Class<javax.xml.parsers.DocumentBuilder>;
				public isXIncludeAware(): boolean;
				public newDocument(): org.w3c.dom.Document;
				public parse(param0: org.xml.sax.InputSource): org.w3c.dom.Document;
				public getSchema(): javax.xml.validation.Schema;
				public constructor();
				public setEntityResolver(param0: org.xml.sax.EntityResolver): void;
				public parse(param0: java.io.InputStream): org.w3c.dom.Document;
				public setErrorHandler(param0: org.xml.sax.ErrorHandler): void;
				public reset(): void;
				public parse(param0: java.io.File): org.w3c.dom.Document;
				public parse(param0: string): org.w3c.dom.Document;
				public isNamespaceAware(): boolean;
				public getDOMImplementation(): org.w3c.dom.DOMImplementation;
				public parse(param0: java.io.InputStream, param1: string): org.w3c.dom.Document;
				public isValidating(): boolean;
			}
		}
	}
}

declare module javax {
	export module xml {
		export module parsers {
			export abstract class DocumentBuilderFactory extends java.lang.Object {
				public static class: java.lang.Class<javax.xml.parsers.DocumentBuilderFactory>;
				public setIgnoringElementContentWhitespace(param0: boolean): void;
				public isCoalescing(): boolean;
				public isXIncludeAware(): boolean;
				public isIgnoringComments(): boolean;
				public static newInstance(): javax.xml.parsers.DocumentBuilderFactory;
				public setIgnoringComments(param0: boolean): void;
				public getAttribute(param0: string): any;
				public setValidating(param0: boolean): void;
				public getSchema(): javax.xml.validation.Schema;
				public getFeature(param0: string): boolean;
				public setNamespaceAware(param0: boolean): void;
				public setSchema(param0: javax.xml.validation.Schema): void;
				public constructor();
				public isExpandEntityReferences(): boolean;
				public isNamespaceAware(): boolean;
				public static newInstance(param0: string, param1: java.lang.ClassLoader): javax.xml.parsers.DocumentBuilderFactory;
				public setXIncludeAware(param0: boolean): void;
				public setAttribute(param0: string, param1: any): void;
				public newDocumentBuilder(): javax.xml.parsers.DocumentBuilder;
				public isIgnoringElementContentWhitespace(): boolean;
				public setCoalescing(param0: boolean): void;
				public setFeature(param0: string, param1: boolean): void;
				public setExpandEntityReferences(param0: boolean): void;
				public isValidating(): boolean;
			}
		}
	}
}

declare module javax {
	export module xml {
		export module parsers {
			export class FactoryConfigurationError extends java.lang.Error {
				public static class: java.lang.Class<javax.xml.parsers.FactoryConfigurationError>;
				public getException(): java.lang.Exception;
				public constructor(param0: java.lang.Exception, param1: string);
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Exception);
				public getMessage(): string;
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module javax {
	export module xml {
		export module parsers {
			export class ParserConfigurationException extends java.lang.Exception {
				public static class: java.lang.Class<javax.xml.parsers.ParserConfigurationException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module javax {
	export module xml {
		export module parsers {
			export abstract class SAXParser extends java.lang.Object {
				public static class: java.lang.Class<javax.xml.parsers.SAXParser>;
				public isXIncludeAware(): boolean;
				public parse(param0: string, param1: org.xml.sax.HandlerBase): void;
				public getProperty(param0: string): any;
				public getSchema(): javax.xml.validation.Schema;
				public parse(param0: java.io.InputStream, param1: org.xml.sax.helpers.DefaultHandler): void;
				public parse(param0: string, param1: org.xml.sax.helpers.DefaultHandler): void;
				public parse(param0: org.xml.sax.InputSource, param1: org.xml.sax.helpers.DefaultHandler): void;
				public setProperty(param0: string, param1: any): void;
				public parse(param0: java.io.File, param1: org.xml.sax.HandlerBase): void;
				public parse(param0: org.xml.sax.InputSource, param1: org.xml.sax.HandlerBase): void;
				public parse(param0: java.io.InputStream, param1: org.xml.sax.helpers.DefaultHandler, param2: string): void;
				public constructor();
				public reset(): void;
				public parse(param0: java.io.InputStream, param1: org.xml.sax.HandlerBase, param2: string): void;
				public isNamespaceAware(): boolean;
				public parse(param0: java.io.InputStream, param1: org.xml.sax.HandlerBase): void;
				public getXMLReader(): org.xml.sax.XMLReader;
				public getParser(): org.xml.sax.Parser;
				public parse(param0: java.io.File, param1: org.xml.sax.helpers.DefaultHandler): void;
				public isValidating(): boolean;
			}
		}
	}
}

declare module javax {
	export module xml {
		export module parsers {
			export abstract class SAXParserFactory extends java.lang.Object {
				public static class: java.lang.Class<javax.xml.parsers.SAXParserFactory>;
				public isXIncludeAware(): boolean;
				public setValidating(param0: boolean): void;
				public getSchema(): javax.xml.validation.Schema;
				public getFeature(param0: string): boolean;
				public setNamespaceAware(param0: boolean): void;
				public setSchema(param0: javax.xml.validation.Schema): void;
				public constructor();
				public newSAXParser(): javax.xml.parsers.SAXParser;
				public isNamespaceAware(): boolean;
				public setXIncludeAware(param0: boolean): void;
				public static newInstance(param0: string, param1: java.lang.ClassLoader): javax.xml.parsers.SAXParserFactory;
				public static newInstance(): javax.xml.parsers.SAXParserFactory;
				public setFeature(param0: string, param1: boolean): void;
				public isValidating(): boolean;
			}
		}
	}
}

declare module javax {
	export module xml {
		export module transform {
			export class ErrorListener extends java.lang.Object {
				public static class: java.lang.Class<javax.xml.transform.ErrorListener>;
				/**
				 * Constructs a new instance of the javax.xml.transform.ErrorListener interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					warning(param0: javax.xml.transform.TransformerException): void;
					error(param0: javax.xml.transform.TransformerException): void;
					fatalError(param0: javax.xml.transform.TransformerException): void;
				});
				public constructor();
				public error(param0: javax.xml.transform.TransformerException): void;
				public warning(param0: javax.xml.transform.TransformerException): void;
				public fatalError(param0: javax.xml.transform.TransformerException): void;
			}
		}
	}
}

declare module javax {
	export module xml {
		export module transform {
			export class OutputKeys extends java.lang.Object {
				public static class: java.lang.Class<javax.xml.transform.OutputKeys>;
				public static CDATA_SECTION_ELEMENTS: string;
				public static DOCTYPE_PUBLIC: string;
				public static DOCTYPE_SYSTEM: string;
				public static ENCODING: string;
				public static INDENT: string;
				public static MEDIA_TYPE: string;
				public static METHOD: string;
				public static OMIT_XML_DECLARATION: string;
				public static STANDALONE: string;
				public static VERSION: string;
			}
		}
	}
}

declare module javax {
	export module xml {
		export module transform {
			export class Result extends java.lang.Object {
				public static class: java.lang.Class<javax.xml.transform.Result>;
				/**
				 * Constructs a new instance of the javax.xml.transform.Result interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					setSystemId(param0: string): void;
					getSystemId(): string;
				});
				public constructor();
				public static PI_ENABLE_OUTPUT_ESCAPING: string;
				public static PI_DISABLE_OUTPUT_ESCAPING: string;
				public setSystemId(param0: string): void;
				public getSystemId(): string;
			}
		}
	}
}

declare module javax {
	export module xml {
		export module transform {
			export class Source extends java.lang.Object {
				public static class: java.lang.Class<javax.xml.transform.Source>;
				/**
				 * Constructs a new instance of the javax.xml.transform.Source interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					setSystemId(param0: string): void;
					getSystemId(): string;
				});
				public constructor();
				public setSystemId(param0: string): void;
				public getSystemId(): string;
			}
		}
	}
}

declare module javax {
	export module xml {
		export module transform {
			export class SourceLocator extends java.lang.Object {
				public static class: java.lang.Class<javax.xml.transform.SourceLocator>;
				/**
				 * Constructs a new instance of the javax.xml.transform.SourceLocator interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getPublicId(): string;
					getSystemId(): string;
					getLineNumber(): number;
					getColumnNumber(): number;
				});
				public constructor();
				public getPublicId(): string;
				public getLineNumber(): number;
				public getSystemId(): string;
				public getColumnNumber(): number;
			}
		}
	}
}

declare module javax {
	export module xml {
		export module transform {
			export class Templates extends java.lang.Object {
				public static class: java.lang.Class<javax.xml.transform.Templates>;
				/**
				 * Constructs a new instance of the javax.xml.transform.Templates interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					newTransformer(): javax.xml.transform.Transformer;
					getOutputProperties(): java.util.Properties;
				});
				public constructor();
				public getOutputProperties(): java.util.Properties;
				public newTransformer(): javax.xml.transform.Transformer;
			}
		}
	}
}

declare module javax {
	export module xml {
		export module transform {
			export abstract class Transformer extends java.lang.Object {
				public static class: java.lang.Class<javax.xml.transform.Transformer>;
				public getOutputProperties(): java.util.Properties;
				public getOutputProperty(param0: string): string;
				public getErrorListener(): javax.xml.transform.ErrorListener;
				public transform(param0: javax.xml.transform.Source, param1: javax.xml.transform.Result): void;
				public setParameter(param0: string, param1: any): void;
				public constructor();
				public clearParameters(): void;
				public reset(): void;
				public setOutputProperties(param0: java.util.Properties): void;
				public setErrorListener(param0: javax.xml.transform.ErrorListener): void;
				public setURIResolver(param0: javax.xml.transform.URIResolver): void;
				public getParameter(param0: string): any;
				public getURIResolver(): javax.xml.transform.URIResolver;
				public setOutputProperty(param0: string, param1: string): void;
			}
		}
	}
}

declare module javax {
	export module xml {
		export module transform {
			export class TransformerConfigurationException extends javax.xml.transform.TransformerException {
				public static class: java.lang.Class<javax.xml.transform.TransformerConfigurationException>;
				public constructor(param0: string, param1: javax.xml.transform.SourceLocator, param2: java.lang.Throwable);
				public constructor(param0: string, param1: javax.xml.transform.SourceLocator);
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module javax {
	export module xml {
		export module transform {
			export class TransformerException extends java.lang.Exception {
				public static class: java.lang.Class<javax.xml.transform.TransformerException>;
				public setLocator(param0: javax.xml.transform.SourceLocator): void;
				public constructor(param0: string, param1: javax.xml.transform.SourceLocator, param2: java.lang.Throwable);
				public constructor(param0: string, param1: javax.xml.transform.SourceLocator);
				public initCause(param0: java.lang.Throwable): java.lang.Throwable;
				public getLocationAsString(): string;
				public getCause(): java.lang.Throwable;
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public getLocator(): javax.xml.transform.SourceLocator;
				public printStackTrace(param0: java.io.PrintWriter): void;
				public getException(): java.lang.Throwable;
				public getMessageAndLocation(): string;
				public constructor(param0: string, param1: java.lang.Throwable);
				public printStackTrace(param0: java.io.PrintStream): void;
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
				public printStackTrace(): void;
			}
		}
	}
}

declare module javax {
	export module xml {
		export module transform {
			export abstract class TransformerFactory extends java.lang.Object {
				public static class: java.lang.Class<javax.xml.transform.TransformerFactory>;
				public getAttribute(param0: string): any;
				public newTransformer(param0: javax.xml.transform.Source): javax.xml.transform.Transformer;
				public newTemplates(param0: javax.xml.transform.Source): javax.xml.transform.Templates;
				public getAssociatedStylesheet(param0: javax.xml.transform.Source, param1: string, param2: string, param3: string): javax.xml.transform.Source;
				public newTransformer(): javax.xml.transform.Transformer;
				public getErrorListener(): javax.xml.transform.ErrorListener;
				public static newInstance(param0: string, param1: java.lang.ClassLoader): javax.xml.transform.TransformerFactory;
				public getFeature(param0: string): boolean;
				public static newInstance(): javax.xml.transform.TransformerFactory;
				public constructor();
				public setAttribute(param0: string, param1: any): void;
				public setErrorListener(param0: javax.xml.transform.ErrorListener): void;
				public setURIResolver(param0: javax.xml.transform.URIResolver): void;
				public setFeature(param0: string, param1: boolean): void;
				public getURIResolver(): javax.xml.transform.URIResolver;
			}
		}
	}
}

declare module javax {
	export module xml {
		export module transform {
			export class TransformerFactoryConfigurationError extends java.lang.Error {
				public static class: java.lang.Class<javax.xml.transform.TransformerFactoryConfigurationError>;
				public getException(): java.lang.Exception;
				public constructor(param0: java.lang.Exception, param1: string);
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Exception);
				public getMessage(): string;
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module javax {
	export module xml {
		export module transform {
			export class URIResolver extends java.lang.Object {
				public static class: java.lang.Class<javax.xml.transform.URIResolver>;
				/**
				 * Constructs a new instance of the javax.xml.transform.URIResolver interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					resolve(param0: string, param1: string): javax.xml.transform.Source;
				});
				public constructor();
				public resolve(param0: string, param1: string): javax.xml.transform.Source;
			}
		}
	}
}

declare module javax {
	export module xml {
		export module transform {
			export module dom {
				export class DOMLocator extends java.lang.Object implements javax.xml.transform.SourceLocator {
					public static class: java.lang.Class<javax.xml.transform.dom.DOMLocator>;
					/**
					 * Constructs a new instance of the javax.xml.transform.dom.DOMLocator interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						getOriginatingNode(): org.w3c.dom.Node;
						getPublicId(): string;
						getSystemId(): string;
						getLineNumber(): number;
						getColumnNumber(): number;
					});
					public constructor();
					public getLineNumber(): number;
					public getOriginatingNode(): org.w3c.dom.Node;
					public getPublicId(): string;
					public getColumnNumber(): number;
					public getSystemId(): string;
				}
			}
		}
	}
}

declare module javax {
	export module xml {
		export module transform {
			export module dom {
				export class DOMResult extends java.lang.Object implements javax.xml.transform.Result {
					public static class: java.lang.Class<javax.xml.transform.dom.DOMResult>;
					public static FEATURE: string;
					public setNextSibling(param0: org.w3c.dom.Node): void;
					public constructor();
					public constructor(param0: org.w3c.dom.Node, param1: org.w3c.dom.Node);
					public getNextSibling(): org.w3c.dom.Node;
					public constructor(param0: org.w3c.dom.Node);
					public getNode(): org.w3c.dom.Node;
					public constructor(param0: org.w3c.dom.Node, param1: org.w3c.dom.Node, param2: string);
					public setNode(param0: org.w3c.dom.Node): void;
					public setSystemId(param0: string): void;
					public getSystemId(): string;
					public constructor(param0: org.w3c.dom.Node, param1: string);
				}
			}
		}
	}
}

declare module javax {
	export module xml {
		export module transform {
			export module dom {
				export class DOMSource extends java.lang.Object implements javax.xml.transform.Source {
					public static class: java.lang.Class<javax.xml.transform.dom.DOMSource>;
					public static FEATURE: string;
					public constructor();
					public constructor(param0: org.w3c.dom.Node);
					public getNode(): org.w3c.dom.Node;
					public setNode(param0: org.w3c.dom.Node): void;
					public setSystemId(param0: string): void;
					public getSystemId(): string;
					public constructor(param0: org.w3c.dom.Node, param1: string);
				}
			}
		}
	}
}

declare module javax {
	export module xml {
		export module transform {
			export module sax {
				export class SAXResult extends java.lang.Object implements javax.xml.transform.Result {
					public static class: java.lang.Class<javax.xml.transform.sax.SAXResult>;
					public static FEATURE: string;
					public getLexicalHandler(): org.xml.sax.ext.LexicalHandler;
					public constructor();
					public setHandler(param0: org.xml.sax.ContentHandler): void;
					public constructor(param0: org.xml.sax.ContentHandler);
					public getHandler(): org.xml.sax.ContentHandler;
					public setSystemId(param0: string): void;
					public getSystemId(): string;
					public setLexicalHandler(param0: org.xml.sax.ext.LexicalHandler): void;
				}
			}
		}
	}
}

declare module javax {
	export module xml {
		export module transform {
			export module sax {
				export class SAXSource extends java.lang.Object implements javax.xml.transform.Source {
					public static class: java.lang.Class<javax.xml.transform.sax.SAXSource>;
					public static FEATURE: string;
					public getInputSource(): org.xml.sax.InputSource;
					public constructor(param0: org.xml.sax.InputSource);
					public setInputSource(param0: org.xml.sax.InputSource): void;
					public constructor();
					public constructor(param0: org.xml.sax.XMLReader, param1: org.xml.sax.InputSource);
					public getXMLReader(): org.xml.sax.XMLReader;
					public setSystemId(param0: string): void;
					public getSystemId(): string;
					public static sourceToInputSource(param0: javax.xml.transform.Source): org.xml.sax.InputSource;
					public setXMLReader(param0: org.xml.sax.XMLReader): void;
				}
			}
		}
	}
}

declare module javax {
	export module xml {
		export module transform {
			export module sax {
				export abstract class SAXTransformerFactory extends javax.xml.transform.TransformerFactory {
					public static class: java.lang.Class<javax.xml.transform.sax.SAXTransformerFactory>;
					public static FEATURE: string;
					public static FEATURE_XMLFILTER: string;
					public newTransformerHandler(param0: javax.xml.transform.Source): javax.xml.transform.sax.TransformerHandler;
					public newTemplatesHandler(): javax.xml.transform.sax.TemplatesHandler;
					public newXMLFilter(param0: javax.xml.transform.Templates): org.xml.sax.XMLFilter;
					public constructor();
					public newTransformerHandler(param0: javax.xml.transform.Templates): javax.xml.transform.sax.TransformerHandler;
					public newTransformerHandler(): javax.xml.transform.sax.TransformerHandler;
					public newXMLFilter(param0: javax.xml.transform.Source): org.xml.sax.XMLFilter;
				}
			}
		}
	}
}

declare module javax {
	export module xml {
		export module transform {
			export module sax {
				export class TemplatesHandler extends java.lang.Object implements org.xml.sax.ContentHandler {
					public static class: java.lang.Class<javax.xml.transform.sax.TemplatesHandler>;
					/**
					 * Constructs a new instance of the javax.xml.transform.sax.TemplatesHandler interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						getTemplates(): javax.xml.transform.Templates;
						setSystemId(param0: string): void;
						getSystemId(): string;
						setDocumentLocator(param0: org.xml.sax.Locator): void;
						startDocument(): void;
						endDocument(): void;
						startPrefixMapping(param0: string, param1: string): void;
						endPrefixMapping(param0: string): void;
						startElement(param0: string, param1: string, param2: string, param3: org.xml.sax.Attributes): void;
						endElement(param0: string, param1: string, param2: string): void;
						characters(param0: native.Array<string>, param1: number, param2: number): void;
						ignorableWhitespace(param0: native.Array<string>, param1: number, param2: number): void;
						processingInstruction(param0: string, param1: string): void;
						skippedEntity(param0: string): void;
					});
					public constructor();
					public startPrefixMapping(param0: string, param1: string): void;
					public skippedEntity(param0: string): void;
					public endDocument(): void;
					public startElement(param0: string, param1: string, param2: string, param3: org.xml.sax.Attributes): void;
					public endElement(param0: string, param1: string, param2: string): void;
					public characters(param0: native.Array<string>, param1: number, param2: number): void;
					public startDocument(): void;
					public ignorableWhitespace(param0: native.Array<string>, param1: number, param2: number): void;
					public processingInstruction(param0: string, param1: string): void;
					public getTemplates(): javax.xml.transform.Templates;
					public endPrefixMapping(param0: string): void;
					public setSystemId(param0: string): void;
					public getSystemId(): string;
					public setDocumentLocator(param0: org.xml.sax.Locator): void;
				}
			}
		}
	}
}

declare module javax {
	export module xml {
		export module transform {
			export module sax {
				export class TransformerHandler extends java.lang.Object implements org.xml.sax.ContentHandler, org.xml.sax.ext.LexicalHandler, org.xml.sax.DTDHandler {
					public static class: java.lang.Class<javax.xml.transform.sax.TransformerHandler>;
					/**
					 * Constructs a new instance of the javax.xml.transform.sax.TransformerHandler interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						setResult(param0: javax.xml.transform.Result): void;
						setSystemId(param0: string): void;
						getSystemId(): string;
						getTransformer(): javax.xml.transform.Transformer;
						setDocumentLocator(param0: org.xml.sax.Locator): void;
						startDocument(): void;
						endDocument(): void;
						startPrefixMapping(param0: string, param1: string): void;
						endPrefixMapping(param0: string): void;
						startElement(param0: string, param1: string, param2: string, param3: org.xml.sax.Attributes): void;
						endElement(param0: string, param1: string, param2: string): void;
						characters(param0: native.Array<string>, param1: number, param2: number): void;
						ignorableWhitespace(param0: native.Array<string>, param1: number, param2: number): void;
						processingInstruction(param0: string, param1: string): void;
						skippedEntity(param0: string): void;
						startDTD(param0: string, param1: string, param2: string): void;
						endDTD(): void;
						startEntity(param0: string): void;
						endEntity(param0: string): void;
						startCDATA(): void;
						endCDATA(): void;
						comment(param0: native.Array<string>, param1: number, param2: number): void;
						notationDecl(param0: string, param1: string, param2: string): void;
						unparsedEntityDecl(param0: string, param1: string, param2: string, param3: string): void;
					});
					public constructor();
					public comment(param0: native.Array<string>, param1: number, param2: number): void;
					public startPrefixMapping(param0: string, param1: string): void;
					public skippedEntity(param0: string): void;
					public endDTD(): void;
					public endDocument(): void;
					public startElement(param0: string, param1: string, param2: string, param3: org.xml.sax.Attributes): void;
					public endEntity(param0: string): void;
					public endElement(param0: string, param1: string, param2: string): void;
					public startCDATA(): void;
					public startDTD(param0: string, param1: string, param2: string): void;
					public characters(param0: native.Array<string>, param1: number, param2: number): void;
					public startDocument(): void;
					public ignorableWhitespace(param0: native.Array<string>, param1: number, param2: number): void;
					public endCDATA(): void;
					public processingInstruction(param0: string, param1: string): void;
					public endPrefixMapping(param0: string): void;
					public getTransformer(): javax.xml.transform.Transformer;
					public setSystemId(param0: string): void;
					public getSystemId(): string;
					public setResult(param0: javax.xml.transform.Result): void;
					public startEntity(param0: string): void;
					public notationDecl(param0: string, param1: string, param2: string): void;
					public unparsedEntityDecl(param0: string, param1: string, param2: string, param3: string): void;
					public setDocumentLocator(param0: org.xml.sax.Locator): void;
				}
			}
		}
	}
}

declare module javax {
	export module xml {
		export module transform {
			export module stream {
				export class StreamResult extends java.lang.Object implements javax.xml.transform.Result {
					public static class: java.lang.Class<javax.xml.transform.stream.StreamResult>;
					public static FEATURE: string;
					public constructor(param0: java.io.OutputStream);
					public constructor(param0: string);
					public constructor();
					public constructor(param0: java.io.Writer);
					public getOutputStream(): java.io.OutputStream;
					public setSystemId(param0: string): void;
					public getSystemId(): string;
					public setSystemId(param0: java.io.File): void;
					public constructor(param0: java.io.File);
					public getWriter(): java.io.Writer;
					public setOutputStream(param0: java.io.OutputStream): void;
					public setWriter(param0: java.io.Writer): void;
				}
			}
		}
	}
}

declare module javax {
	export module xml {
		export module transform {
			export module stream {
				export class StreamSource extends java.lang.Object implements javax.xml.transform.Source {
					public static class: java.lang.Class<javax.xml.transform.stream.StreamSource>;
					public static FEATURE: string;
					public constructor(param0: java.io.Reader);
					public constructor(param0: string);
					public getPublicId(): string;
					public setPublicId(param0: string): void;
					public constructor(param0: java.io.Reader, param1: string);
					public setSystemId(param0: java.io.File): void;
					public constructor(param0: java.io.InputStream, param1: string);
					public constructor(param0: java.io.InputStream);
					public constructor();
					public getReader(): java.io.Reader;
					public getInputStream(): java.io.InputStream;
					public setReader(param0: java.io.Reader): void;
					public setSystemId(param0: string): void;
					public getSystemId(): string;
					public constructor(param0: java.io.File);
					public setInputStream(param0: java.io.InputStream): void;
				}
			}
		}
	}
}

declare module javax {
	export module xml {
		export module validation {
			export abstract class Schema extends java.lang.Object {
				public static class: java.lang.Class<javax.xml.validation.Schema>;
				public newValidator(): javax.xml.validation.Validator;
				public constructor();
				public newValidatorHandler(): javax.xml.validation.ValidatorHandler;
			}
		}
	}
}

declare module javax {
	export module xml {
		export module validation {
			export abstract class SchemaFactory extends java.lang.Object {
				public static class: java.lang.Class<javax.xml.validation.SchemaFactory>;
				public getResourceResolver(): org.w3c.dom.ls.LSResourceResolver;
				public getProperty(param0: string): any;
				public getFeature(param0: string): boolean;
				public newSchema(param0: java.net.URL): javax.xml.validation.Schema;
				public static newInstance(param0: string): javax.xml.validation.SchemaFactory;
				public static newInstance(param0: string, param1: string, param2: java.lang.ClassLoader): javax.xml.validation.SchemaFactory;
				public setProperty(param0: string, param1: any): void;
				public constructor();
				public setErrorHandler(param0: org.xml.sax.ErrorHandler): void;
				public setResourceResolver(param0: org.w3c.dom.ls.LSResourceResolver): void;
				public newSchema(): javax.xml.validation.Schema;
				public newSchema(param0: javax.xml.transform.Source): javax.xml.validation.Schema;
				public isSchemaLanguageSupported(param0: string): boolean;
				public setFeature(param0: string, param1: boolean): void;
				public newSchema(param0: native.Array<javax.xml.transform.Source>): javax.xml.validation.Schema;
				public newSchema(param0: java.io.File): javax.xml.validation.Schema;
				public getErrorHandler(): org.xml.sax.ErrorHandler;
			}
		}
	}
}

declare module javax {
	export module xml {
		export module validation {
			export abstract class SchemaFactoryLoader extends java.lang.Object {
				public static class: java.lang.Class<javax.xml.validation.SchemaFactoryLoader>;
				public newFactory(param0: string): javax.xml.validation.SchemaFactory;
				public constructor();
			}
		}
	}
}

declare module javax {
	export module xml {
		export module validation {
			export abstract class TypeInfoProvider extends java.lang.Object {
				public static class: java.lang.Class<javax.xml.validation.TypeInfoProvider>;
				public getAttributeTypeInfo(param0: number): org.w3c.dom.TypeInfo;
				public isIdAttribute(param0: number): boolean;
				public getElementTypeInfo(): org.w3c.dom.TypeInfo;
				public isSpecified(param0: number): boolean;
				public constructor();
			}
		}
	}
}

declare module javax {
	export module xml {
		export module validation {
			export abstract class Validator extends java.lang.Object {
				public static class: java.lang.Class<javax.xml.validation.Validator>;
				public setErrorHandler(param0: org.xml.sax.ErrorHandler): void;
				public setResourceResolver(param0: org.w3c.dom.ls.LSResourceResolver): void;
				public reset(): void;
				public validate(param0: javax.xml.transform.Source, param1: javax.xml.transform.Result): void;
				public getResourceResolver(): org.w3c.dom.ls.LSResourceResolver;
				public getProperty(param0: string): any;
				public validate(param0: javax.xml.transform.Source): void;
				public getFeature(param0: string): boolean;
				public setFeature(param0: string, param1: boolean): void;
				public setProperty(param0: string, param1: any): void;
				public constructor();
				public getErrorHandler(): org.xml.sax.ErrorHandler;
			}
		}
	}
}

declare module javax {
	export module xml {
		export module validation {
			export abstract class ValidatorHandler extends java.lang.Object implements org.xml.sax.ContentHandler {
				public static class: java.lang.Class<javax.xml.validation.ValidatorHandler>;
				public getResourceResolver(): org.w3c.dom.ls.LSResourceResolver;
				public getTypeInfoProvider(): javax.xml.validation.TypeInfoProvider;
				public setContentHandler(param0: org.xml.sax.ContentHandler): void;
				public startElement(param0: string, param1: string, param2: string, param3: org.xml.sax.Attributes): void;
				public endElement(param0: string, param1: string, param2: string): void;
				public getProperty(param0: string): any;
				public getFeature(param0: string): boolean;
				public setProperty(param0: string, param1: any): void;
				public processingInstruction(param0: string, param1: string): void;
				public endDocument(): void;
				public characters(param0: native.Array<string>, param1: number, param2: number): void;
				public constructor();
				public skippedEntity(param0: string): void;
				public getContentHandler(): org.xml.sax.ContentHandler;
				public setErrorHandler(param0: org.xml.sax.ErrorHandler): void;
				public setResourceResolver(param0: org.w3c.dom.ls.LSResourceResolver): void;
				public ignorableWhitespace(param0: native.Array<string>, param1: number, param2: number): void;
				public startDocument(): void;
				public setFeature(param0: string, param1: boolean): void;
				public endPrefixMapping(param0: string): void;
				public setDocumentLocator(param0: org.xml.sax.Locator): void;
				public startPrefixMapping(param0: string, param1: string): void;
				public getErrorHandler(): org.xml.sax.ErrorHandler;
			}
		}
	}
}

declare module javax {
	export module xml {
		export module xpath {
			export class XPath extends java.lang.Object {
				public static class: java.lang.Class<javax.xml.xpath.XPath>;
				/**
				 * Constructs a new instance of the javax.xml.xpath.XPath interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					reset(): void;
					setXPathVariableResolver(param0: javax.xml.xpath.XPathVariableResolver): void;
					getXPathVariableResolver(): javax.xml.xpath.XPathVariableResolver;
					setXPathFunctionResolver(param0: javax.xml.xpath.XPathFunctionResolver): void;
					getXPathFunctionResolver(): javax.xml.xpath.XPathFunctionResolver;
					setNamespaceContext(param0: javax.xml.namespace.NamespaceContext): void;
					getNamespaceContext(): javax.xml.namespace.NamespaceContext;
					compile(param0: string): javax.xml.xpath.XPathExpression;
					evaluate(param0: string, param1: any, param2: javax.xml.namespace.QName): any;
					evaluate(param0: string, param1: any): string;
					evaluate(param0: string, param1: org.xml.sax.InputSource, param2: javax.xml.namespace.QName): any;
					evaluate(param0: string, param1: org.xml.sax.InputSource): string;
				});
				public constructor();
				public setNamespaceContext(param0: javax.xml.namespace.NamespaceContext): void;
				public getNamespaceContext(): javax.xml.namespace.NamespaceContext;
				public reset(): void;
				public evaluate(param0: string, param1: any, param2: javax.xml.namespace.QName): any;
				public evaluate(param0: string, param1: org.xml.sax.InputSource, param2: javax.xml.namespace.QName): any;
				public evaluate(param0: string, param1: org.xml.sax.InputSource): string;
				public evaluate(param0: string, param1: any): string;
				public setXPathFunctionResolver(param0: javax.xml.xpath.XPathFunctionResolver): void;
				public getXPathFunctionResolver(): javax.xml.xpath.XPathFunctionResolver;
				public compile(param0: string): javax.xml.xpath.XPathExpression;
				public getXPathVariableResolver(): javax.xml.xpath.XPathVariableResolver;
				public setXPathVariableResolver(param0: javax.xml.xpath.XPathVariableResolver): void;
			}
		}
	}
}

declare module javax {
	export module xml {
		export module xpath {
			export class XPathConstants extends java.lang.Object {
				public static class: java.lang.Class<javax.xml.xpath.XPathConstants>;
				public static BOOLEAN: javax.xml.namespace.QName;
				public static DOM_OBJECT_MODEL: string;
				public static NODE: javax.xml.namespace.QName;
				public static NODESET: javax.xml.namespace.QName;
				public static NUMBER: javax.xml.namespace.QName;
				public static STRING: javax.xml.namespace.QName;
			}
		}
	}
}

declare module javax {
	export module xml {
		export module xpath {
			export class XPathException extends java.lang.Exception {
				public static class: java.lang.Class<javax.xml.xpath.XPathException>;
				public printStackTrace(param0: java.io.PrintWriter): void;
				public constructor(param0: string, param1: java.lang.Throwable);
				public getCause(): java.lang.Throwable;
				public constructor(param0: java.lang.Throwable);
				public printStackTrace(param0: java.io.PrintStream): void;
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
				public printStackTrace(): void;
			}
		}
	}
}

declare module javax {
	export module xml {
		export module xpath {
			export class XPathExpression extends java.lang.Object {
				public static class: java.lang.Class<javax.xml.xpath.XPathExpression>;
				/**
				 * Constructs a new instance of the javax.xml.xpath.XPathExpression interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					evaluate(param0: any, param1: javax.xml.namespace.QName): any;
					evaluate(param0: any): string;
					evaluate(param0: org.xml.sax.InputSource, param1: javax.xml.namespace.QName): any;
					evaluate(param0: org.xml.sax.InputSource): string;
				});
				public constructor();
				public evaluate(param0: org.xml.sax.InputSource): string;
				public evaluate(param0: any): string;
				public evaluate(param0: any, param1: javax.xml.namespace.QName): any;
				public evaluate(param0: org.xml.sax.InputSource, param1: javax.xml.namespace.QName): any;
			}
		}
	}
}

declare module javax {
	export module xml {
		export module xpath {
			export class XPathExpressionException extends javax.xml.xpath.XPathException {
				public static class: java.lang.Class<javax.xml.xpath.XPathExpressionException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module javax {
	export module xml {
		export module xpath {
			export abstract class XPathFactory extends java.lang.Object {
				public static class: java.lang.Class<javax.xml.xpath.XPathFactory>;
				public static DEFAULT_OBJECT_MODEL_URI: string;
				public static DEFAULT_PROPERTY_NAME: string;
				public static newInstance(): javax.xml.xpath.XPathFactory;
				public static newInstance(param0: string): javax.xml.xpath.XPathFactory;
				public setXPathFunctionResolver(param0: javax.xml.xpath.XPathFunctionResolver): void;
				public setFeature(param0: string, param1: boolean): void;
				public getFeature(param0: string): boolean;
				public isObjectModelSupported(param0: string): boolean;
				public newXPath(): javax.xml.xpath.XPath;
				public static newInstance(param0: string, param1: string, param2: java.lang.ClassLoader): javax.xml.xpath.XPathFactory;
				public constructor();
				public setXPathVariableResolver(param0: javax.xml.xpath.XPathVariableResolver): void;
			}
		}
	}
}

declare module javax {
	export module xml {
		export module xpath {
			export class XPathFactoryConfigurationException extends javax.xml.xpath.XPathException {
				public static class: java.lang.Class<javax.xml.xpath.XPathFactoryConfigurationException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module javax {
	export module xml {
		export module xpath {
			export class XPathFunction extends java.lang.Object {
				public static class: java.lang.Class<javax.xml.xpath.XPathFunction>;
				/**
				 * Constructs a new instance of the javax.xml.xpath.XPathFunction interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					evaluate(param0: java.util.List<any>): any;
				});
				public constructor();
				public evaluate(param0: java.util.List<any>): any;
			}
		}
	}
}

declare module javax {
	export module xml {
		export module xpath {
			export class XPathFunctionException extends javax.xml.xpath.XPathExpressionException {
				public static class: java.lang.Class<javax.xml.xpath.XPathFunctionException>;
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module javax {
	export module xml {
		export module xpath {
			export class XPathFunctionResolver extends java.lang.Object {
				public static class: java.lang.Class<javax.xml.xpath.XPathFunctionResolver>;
				/**
				 * Constructs a new instance of the javax.xml.xpath.XPathFunctionResolver interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					resolveFunction(param0: javax.xml.namespace.QName, param1: number): javax.xml.xpath.XPathFunction;
				});
				public constructor();
				public resolveFunction(param0: javax.xml.namespace.QName, param1: number): javax.xml.xpath.XPathFunction;
			}
		}
	}
}

declare module javax {
	export module xml {
		export module xpath {
			export class XPathVariableResolver extends java.lang.Object {
				public static class: java.lang.Class<javax.xml.xpath.XPathVariableResolver>;
				/**
				 * Constructs a new instance of the javax.xml.xpath.XPathVariableResolver interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					resolveVariable(param0: javax.xml.namespace.QName): any;
				});
				public constructor();
				public resolveVariable(param0: javax.xml.namespace.QName): any;
			}
		}
	}
}

declare module org {
	export module apache {
		export module http {
			export module conn {
				export class ConnectTimeoutException extends java.io.InterruptedIOException {
					public static class: java.lang.Class<org.apache.http.conn.ConnectTimeoutException>;
					public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
					public constructor(param0: string, param1: java.lang.Throwable);
					public constructor(param0: string);
					public constructor(param0: java.lang.Throwable);
					public constructor();
				}
			}
		}
	}
}

declare module org {
	export module apache {
		export module http {
			export module conn {
				export module scheme {
					export class HostNameResolver extends java.lang.Object {
						public static class: java.lang.Class<org.apache.http.conn.scheme.HostNameResolver>;
						/**
						 * Constructs a new instance of the org.apache.http.conn.scheme.HostNameResolver interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
						 */
						public constructor(implementation: {
							resolve(param0: string): java.net.InetAddress;
						});
						public constructor();
						public resolve(param0: string): java.net.InetAddress;
					}
				}
			}
		}
	}
}

declare module org {
	export module apache {
		export module http {
			export module conn {
				export module scheme {
					export class LayeredSocketFactory extends java.lang.Object implements org.apache.http.conn.scheme.SocketFactory {
						public static class: java.lang.Class<org.apache.http.conn.scheme.LayeredSocketFactory>;
						/**
						 * Constructs a new instance of the org.apache.http.conn.scheme.LayeredSocketFactory interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
						 */
						public constructor(implementation: {
							createSocket(param0: java.net.Socket, param1: string, param2: number, param3: boolean): java.net.Socket;
							createSocket(): java.net.Socket;
							connectSocket(param0: java.net.Socket, param1: string, param2: number, param3: java.net.InetAddress, param4: number, param5: org.apache.http.params.HttpParams): java.net.Socket;
							isSecure(param0: java.net.Socket): boolean;
						});
						public constructor();
						public connectSocket(param0: java.net.Socket, param1: string, param2: number, param3: java.net.InetAddress, param4: number, param5: org.apache.http.params.HttpParams): java.net.Socket;
						public createSocket(param0: java.net.Socket, param1: string, param2: number, param3: boolean): java.net.Socket;
						public isSecure(param0: java.net.Socket): boolean;
						public createSocket(): java.net.Socket;
					}
				}
			}
		}
	}
}

declare module org {
	export module apache {
		export module http {
			export module conn {
				export module scheme {
					export class SocketFactory extends java.lang.Object {
						public static class: java.lang.Class<org.apache.http.conn.scheme.SocketFactory>;
						/**
						 * Constructs a new instance of the org.apache.http.conn.scheme.SocketFactory interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
						 */
						public constructor(implementation: {
							createSocket(): java.net.Socket;
							connectSocket(param0: java.net.Socket, param1: string, param2: number, param3: java.net.InetAddress, param4: number, param5: org.apache.http.params.HttpParams): java.net.Socket;
							isSecure(param0: java.net.Socket): boolean;
						});
						public constructor();
						public connectSocket(param0: java.net.Socket, param1: string, param2: number, param3: java.net.InetAddress, param4: number, param5: org.apache.http.params.HttpParams): java.net.Socket;
						public isSecure(param0: java.net.Socket): boolean;
						public createSocket(): java.net.Socket;
					}
				}
			}
		}
	}
}

declare module org {
	export module apache {
		export module http {
			export module conn {
				export module ssl {
					export abstract class AbstractVerifier extends java.lang.Object implements org.apache.http.conn.ssl.X509HostnameVerifier {
						public static class: java.lang.Class<org.apache.http.conn.ssl.AbstractVerifier>;
						public static acceptableCountryWildcard(param0: string): boolean;
						public verify(param0: string, param1: native.Array<string>, param2: native.Array<string>): void;
						public verify(param0: string, param1: native.Array<string>, param2: native.Array<string>, param3: boolean): void;
						public constructor();
						public static countDots(param0: string): number;
						public verify(param0: string, param1: javax.net.ssl.SSLSession): boolean;
						public static getDNSSubjectAlts(param0: java.security.cert.X509Certificate): native.Array<string>;
						public verify(param0: string, param1: javax.net.ssl.SSLSocket): void;
						public static getCNs(param0: java.security.cert.X509Certificate): native.Array<string>;
						public verify(param0: string, param1: java.security.cert.X509Certificate): void;
					}
				}
			}
		}
	}
}

declare module org {
	export module apache {
		export module http {
			export module conn {
				export module ssl {
					export class AllowAllHostnameVerifier extends org.apache.http.conn.ssl.AbstractVerifier {
						public static class: java.lang.Class<org.apache.http.conn.ssl.AllowAllHostnameVerifier>;
						public verify(param0: string, param1: native.Array<string>, param2: native.Array<string>): void;
						public verify(param0: string, param1: native.Array<string>, param2: native.Array<string>, param3: boolean): void;
						public constructor();
						public verify(param0: string, param1: javax.net.ssl.SSLSession): boolean;
						public verify(param0: string, param1: javax.net.ssl.SSLSocket): void;
						public toString(): string;
						public verify(param0: string, param1: java.security.cert.X509Certificate): void;
					}
				}
			}
		}
	}
}

declare module org {
	export module apache {
		export module http {
			export module conn {
				export module ssl {
					export class BrowserCompatHostnameVerifier extends org.apache.http.conn.ssl.AbstractVerifier {
						public static class: java.lang.Class<org.apache.http.conn.ssl.BrowserCompatHostnameVerifier>;
						public verify(param0: string, param1: native.Array<string>, param2: native.Array<string>): void;
						public verify(param0: string, param1: native.Array<string>, param2: native.Array<string>, param3: boolean): void;
						public constructor();
						public verify(param0: string, param1: javax.net.ssl.SSLSession): boolean;
						public verify(param0: string, param1: javax.net.ssl.SSLSocket): void;
						public toString(): string;
						public verify(param0: string, param1: java.security.cert.X509Certificate): void;
					}
				}
			}
		}
	}
}

declare module org {
	export module apache {
		export module http {
			export module conn {
				export module ssl {
					export class SSLSocketFactory extends java.lang.Object implements org.apache.http.conn.scheme.LayeredSocketFactory {
						public static class: java.lang.Class<org.apache.http.conn.ssl.SSLSocketFactory>;
						public static ALLOW_ALL_HOSTNAME_VERIFIER: org.apache.http.conn.ssl.X509HostnameVerifier;
						public static BROWSER_COMPATIBLE_HOSTNAME_VERIFIER: org.apache.http.conn.ssl.X509HostnameVerifier;
						public static SSL: string;
						public static SSLV2: string;
						public static STRICT_HOSTNAME_VERIFIER: org.apache.http.conn.ssl.X509HostnameVerifier;
						public static TLS: string;
						public constructor(param0: string, param1: java.security.KeyStore, param2: string, param3: java.security.KeyStore, param4: java.security.SecureRandom, param5: org.apache.http.conn.scheme.HostNameResolver);
						public getHostnameVerifier(): org.apache.http.conn.ssl.X509HostnameVerifier;
						public constructor(param0: java.security.KeyStore);
						public constructor(param0: java.security.KeyStore, param1: string);
						public static getSocketFactory(): org.apache.http.conn.ssl.SSLSocketFactory;
						public connectSocket(param0: java.net.Socket, param1: string, param2: number, param3: java.net.InetAddress, param4: number, param5: org.apache.http.params.HttpParams): java.net.Socket;
						public createSocket(param0: java.net.Socket, param1: string, param2: number, param3: boolean): java.net.Socket;
						public constructor(param0: java.security.KeyStore, param1: string, param2: java.security.KeyStore);
						public isSecure(param0: java.net.Socket): boolean;
						public createSocket(): java.net.Socket;
						public setHostnameVerifier(param0: org.apache.http.conn.ssl.X509HostnameVerifier): void;
					}
				}
			}
		}
	}
}

declare module org {
	export module apache {
		export module http {
			export module conn {
				export module ssl {
					export class StrictHostnameVerifier extends org.apache.http.conn.ssl.AbstractVerifier {
						public static class: java.lang.Class<org.apache.http.conn.ssl.StrictHostnameVerifier>;
						public verify(param0: string, param1: native.Array<string>, param2: native.Array<string>): void;
						public verify(param0: string, param1: native.Array<string>, param2: native.Array<string>, param3: boolean): void;
						public constructor();
						public verify(param0: string, param1: javax.net.ssl.SSLSession): boolean;
						public verify(param0: string, param1: javax.net.ssl.SSLSocket): void;
						public toString(): string;
						public verify(param0: string, param1: java.security.cert.X509Certificate): void;
					}
				}
			}
		}
	}
}

declare module org {
	export module apache {
		export module http {
			export module conn {
				export module ssl {
					export class X509HostnameVerifier extends java.lang.Object implements javax.net.ssl.HostnameVerifier {
						public static class: java.lang.Class<org.apache.http.conn.ssl.X509HostnameVerifier>;
						/**
						 * Constructs a new instance of the org.apache.http.conn.ssl.X509HostnameVerifier interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
						 */
						public constructor(implementation: {
							verify(param0: string, param1: javax.net.ssl.SSLSession): boolean;
							verify(param0: string, param1: javax.net.ssl.SSLSocket): void;
							verify(param0: string, param1: java.security.cert.X509Certificate): void;
							verify(param0: string, param1: native.Array<string>, param2: native.Array<string>): void;
							verify(param0: string, param1: javax.net.ssl.SSLSession): boolean;
						});
						public constructor();
						public verify(param0: string, param1: native.Array<string>, param2: native.Array<string>): void;
						public verify(param0: string, param1: javax.net.ssl.SSLSession): boolean;
						public verify(param0: string, param1: javax.net.ssl.SSLSocket): void;
						public verify(param0: string, param1: java.security.cert.X509Certificate): void;
					}
				}
			}
		}
	}
}

declare module org {
	export module apache {
		export module http {
			export module params {
				export class CoreConnectionPNames extends java.lang.Object {
					public static class: java.lang.Class<org.apache.http.params.CoreConnectionPNames>;
					/**
					 * Constructs a new instance of the org.apache.http.params.CoreConnectionPNames interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
					});
					public constructor();
					public static SO_LINGER: string;
					public static CONNECTION_TIMEOUT: string;
					public static SO_TIMEOUT: string;
					public static SOCKET_BUFFER_SIZE: string;
					public static MAX_HEADER_COUNT: string;
					public static STALE_CONNECTION_CHECK: string;
					public static TCP_NODELAY: string;
					public static MAX_LINE_LENGTH: string;
				}
			}
		}
	}
}

declare module org {
	export module apache {
		export module http {
			export module params {
				export class HttpConnectionParams extends java.lang.Object implements org.apache.http.params.CoreConnectionPNames {
					public static class: java.lang.Class<org.apache.http.params.HttpConnectionParams>;
					public static isStaleCheckingEnabled(param0: org.apache.http.params.HttpParams): boolean;
					public static getTcpNoDelay(param0: org.apache.http.params.HttpParams): boolean;
					public static setTcpNoDelay(param0: org.apache.http.params.HttpParams, param1: boolean): void;
					public static getSoTimeout(param0: org.apache.http.params.HttpParams): number;
					public static setSocketBufferSize(param0: org.apache.http.params.HttpParams, param1: number): void;
					public static getConnectionTimeout(param0: org.apache.http.params.HttpParams): number;
					public static setConnectionTimeout(param0: org.apache.http.params.HttpParams, param1: number): void;
					public static setSoTimeout(param0: org.apache.http.params.HttpParams, param1: number): void;
					public static setLinger(param0: org.apache.http.params.HttpParams, param1: number): void;
					public static getLinger(param0: org.apache.http.params.HttpParams): number;
					public static setStaleCheckingEnabled(param0: org.apache.http.params.HttpParams, param1: boolean): void;
					public static getSocketBufferSize(param0: org.apache.http.params.HttpParams): number;
				}
			}
		}
	}
}

declare module org {
	export module apache {
		export module http {
			export module params {
				export class HttpParams extends java.lang.Object {
					public static class: java.lang.Class<org.apache.http.params.HttpParams>;
					/**
					 * Constructs a new instance of the org.apache.http.params.HttpParams interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						getParameter(param0: string): any;
						setParameter(param0: string, param1: any): org.apache.http.params.HttpParams;
						copy(): org.apache.http.params.HttpParams;
						removeParameter(param0: string): boolean;
						getLongParameter(param0: string, param1: number): number;
						setLongParameter(param0: string, param1: number): org.apache.http.params.HttpParams;
						getIntParameter(param0: string, param1: number): number;
						setIntParameter(param0: string, param1: number): org.apache.http.params.HttpParams;
						getDoubleParameter(param0: string, param1: number): number;
						setDoubleParameter(param0: string, param1: number): org.apache.http.params.HttpParams;
						getBooleanParameter(param0: string, param1: boolean): boolean;
						setBooleanParameter(param0: string, param1: boolean): org.apache.http.params.HttpParams;
						isParameterTrue(param0: string): boolean;
						isParameterFalse(param0: string): boolean;
					});
					public constructor();
					public isParameterFalse(param0: string): boolean;
					public setDoubleParameter(param0: string, param1: number): org.apache.http.params.HttpParams;
					public getIntParameter(param0: string, param1: number): number;
					public setLongParameter(param0: string, param1: number): org.apache.http.params.HttpParams;
					public getParameter(param0: string): any;
					public getLongParameter(param0: string, param1: number): number;
					public isParameterTrue(param0: string): boolean;
					public removeParameter(param0: string): boolean;
					public setParameter(param0: string, param1: any): org.apache.http.params.HttpParams;
					public copy(): org.apache.http.params.HttpParams;
					public setBooleanParameter(param0: string, param1: boolean): org.apache.http.params.HttpParams;
					public setIntParameter(param0: string, param1: number): org.apache.http.params.HttpParams;
					public getDoubleParameter(param0: string, param1: number): number;
					public getBooleanParameter(param0: string, param1: boolean): boolean;
				}
			}
		}
	}
}

declare module org {
	export module json {
		export class JSONArray extends java.lang.Object {
			public static class: java.lang.Class<org.json.JSONArray>;
			public opt(param0: number): any;
			public equals(param0: any): boolean;
			public put(param0: number, param1: any): org.json.JSONArray;
			public remove(param0: number): any;
			public constructor(param0: any);
			public put(param0: number, param1: boolean): org.json.JSONArray;
			public getJSONArray(param0: number): org.json.JSONArray;
			public put(param0: number, param1: number): org.json.JSONArray;
			public get(param0: number): any;
			public toJSONObject(param0: org.json.JSONArray): org.json.JSONObject;
			public constructor(param0: java.util.Collection<any>);
			public put(param0: boolean): org.json.JSONArray;
			public put(param0: any): org.json.JSONArray;
			public constructor(param0: string);
			public isNull(param0: number): boolean;
			public optLong(param0: number, param1: number): number;
			public optString(param0: number): string;
			public optString(param0: number, param1: string): string;
			public getDouble(param0: number): number;
			public getString(param0: number): string;
			public length(): number;
			public optInt(param0: number): number;
			public constructor();
			public optDouble(param0: number, param1: number): number;
			public optJSONArray(param0: number): org.json.JSONArray;
			public optDouble(param0: number): number;
			public constructor(param0: org.json.JSONTokener);
			public getJSONObject(param0: number): org.json.JSONObject;
			public optJSONObject(param0: number): org.json.JSONObject;
			public optLong(param0: number): number;
			public toString(): string;
			public getLong(param0: number): number;
			public join(param0: string): string;
			public optBoolean(param0: number): boolean;
			public optBoolean(param0: number, param1: boolean): boolean;
			public toString(param0: number): string;
			public put(param0: number): org.json.JSONArray;
			public optInt(param0: number, param1: number): number;
			public getBoolean(param0: number): boolean;
			public getInt(param0: number): number;
			public hashCode(): number;
		}
	}
}

declare module org {
	export module json {
		export class JSONException extends java.lang.Exception {
			public static class: java.lang.Class<org.json.JSONException>;
			public constructor(param0: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable);
			public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			public constructor();
			public constructor(param0: string);
		}
	}
}

declare module org {
	export module json {
		export class JSONObject extends java.lang.Object {
			public static class: java.lang.Class<org.json.JSONObject>;
			public static NULL: any;
			public constructor(param0: java.util.Map<any,any>);
			public static quote(param0: string): string;
			public put(param0: string, param1: number): org.json.JSONObject;
			public accumulate(param0: string, param1: any): org.json.JSONObject;
			public isNull(param0: string): boolean;
			public getBoolean(param0: string): boolean;
			public static numberToString(param0: java.lang.Number): string;
			public optJSONObject(param0: string): org.json.JSONObject;
			public getJSONObject(param0: string): org.json.JSONObject;
			public optDouble(param0: string, param1: number): number;
			public optBoolean(param0: string): boolean;
			public optInt(param0: string): number;
			public getJSONArray(param0: string): org.json.JSONArray;
			public opt(param0: string): any;
			public toJSONArray(param0: org.json.JSONArray): org.json.JSONArray;
			public keys(): java.util.Iterator<string>;
			public constructor(param0: string);
			public optLong(param0: string, param1: number): number;
			public put(param0: string, param1: any): org.json.JSONObject;
			public getLong(param0: string): number;
			public putOpt(param0: string, param1: any): org.json.JSONObject;
			public get(param0: string): any;
			public getInt(param0: string): number;
			public optBoolean(param0: string, param1: boolean): boolean;
			public length(): number;
			public optLong(param0: string): number;
			public optJSONArray(param0: string): org.json.JSONArray;
			public static wrap(param0: any): any;
			public getString(param0: string): string;
			public constructor();
			public remove(param0: string): any;
			public constructor(param0: org.json.JSONTokener);
			public optDouble(param0: string): number;
			public toString(): string;
			public put(param0: string, param1: boolean): org.json.JSONObject;
			public getDouble(param0: string): number;
			public optString(param0: string): string;
			public optString(param0: string, param1: string): string;
			public optInt(param0: string, param1: number): number;
			public toString(param0: number): string;
			public names(): org.json.JSONArray;
			public constructor(param0: org.json.JSONObject, param1: native.Array<string>);
			public has(param0: string): boolean;
		}
	}
}

declare module org {
	export module json {
		export class JSONStringer extends java.lang.Object {
			public static class: java.lang.Class<org.json.JSONStringer>;
			public value(param0: number): org.json.JSONStringer;
			public value(param0: boolean): org.json.JSONStringer;
			public key(param0: string): org.json.JSONStringer;
			public toString(): string;
			public object(): org.json.JSONStringer;
			public array(): org.json.JSONStringer;
			public constructor();
			public endArray(): org.json.JSONStringer;
			public endObject(): org.json.JSONStringer;
			public value(param0: any): org.json.JSONStringer;
		}
	}
}

declare module org {
	export module json {
		export class JSONTokener extends java.lang.Object {
			public static class: java.lang.Class<org.json.JSONTokener>;
			public skipTo(param0: string): string;
			public next(param0: string): string;
			public static dehexchar(param0: string): number;
			public syntaxError(param0: string): org.json.JSONException;
			public next(): string;
			public nextTo(param0: string): string;
			public more(): boolean;
			public nextClean(): string;
			public nextString(param0: string): string;
			public toString(): string;
			public back(): void;
			public skipPast(param0: string): void;
			public nextValue(): any;
			public constructor(param0: string);
			public next(param0: number): string;
		}
	}
}

declare module org {
	export module w3c {
		export module dom {
			export class Attr extends java.lang.Object implements org.w3c.dom.Node {
				public static class: java.lang.Class<org.w3c.dom.Attr>;
				/**
				 * Constructs a new instance of the org.w3c.dom.Attr interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getName(): string;
					getSpecified(): boolean;
					getValue(): string;
					setValue(param0: string): void;
					getOwnerElement(): org.w3c.dom.Element;
					getSchemaTypeInfo(): org.w3c.dom.TypeInfo;
					isId(): boolean;
					getNodeName(): string;
					getNodeValue(): string;
					setNodeValue(param0: string): void;
					getNodeType(): number;
					getParentNode(): org.w3c.dom.Node;
					getChildNodes(): org.w3c.dom.NodeList;
					getFirstChild(): org.w3c.dom.Node;
					getLastChild(): org.w3c.dom.Node;
					getPreviousSibling(): org.w3c.dom.Node;
					getNextSibling(): org.w3c.dom.Node;
					getAttributes(): org.w3c.dom.NamedNodeMap;
					getOwnerDocument(): org.w3c.dom.Document;
					insertBefore(param0: org.w3c.dom.Node, param1: org.w3c.dom.Node): org.w3c.dom.Node;
					replaceChild(param0: org.w3c.dom.Node, param1: org.w3c.dom.Node): org.w3c.dom.Node;
					removeChild(param0: org.w3c.dom.Node): org.w3c.dom.Node;
					appendChild(param0: org.w3c.dom.Node): org.w3c.dom.Node;
					hasChildNodes(): boolean;
					cloneNode(param0: boolean): org.w3c.dom.Node;
					normalize(): void;
					isSupported(param0: string, param1: string): boolean;
					getNamespaceURI(): string;
					getPrefix(): string;
					setPrefix(param0: string): void;
					getLocalName(): string;
					hasAttributes(): boolean;
					getBaseURI(): string;
					compareDocumentPosition(param0: org.w3c.dom.Node): number;
					getTextContent(): string;
					setTextContent(param0: string): void;
					isSameNode(param0: org.w3c.dom.Node): boolean;
					lookupPrefix(param0: string): string;
					isDefaultNamespace(param0: string): boolean;
					lookupNamespaceURI(param0: string): string;
					isEqualNode(param0: org.w3c.dom.Node): boolean;
					getFeature(param0: string, param1: string): any;
					setUserData(param0: string, param1: any, param2: org.w3c.dom.UserDataHandler): any;
					getUserData(param0: string): any;
				});
				public constructor();
				public static DOCUMENT_FRAGMENT_NODE: number;
				public static DOCUMENT_TYPE_NODE: number;
				public static ELEMENT_NODE: number;
				public static DOCUMENT_POSITION_FOLLOWING: number;
				public static TEXT_NODE: number;
				public static ATTRIBUTE_NODE: number;
				public static DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: number;
				public static ENTITY_REFERENCE_NODE: number;
				public static NOTATION_NODE: number;
				public static DOCUMENT_NODE: number;
				public static ENTITY_NODE: number;
				public static PROCESSING_INSTRUCTION_NODE: number;
				public static CDATA_SECTION_NODE: number;
				public static COMMENT_NODE: number;
				public static DOCUMENT_POSITION_CONTAINED_BY: number;
				public static DOCUMENT_POSITION_DISCONNECTED: number;
				public static DOCUMENT_POSITION_PRECEDING: number;
				public static DOCUMENT_POSITION_CONTAINS: number;
				public compareDocumentPosition(param0: org.w3c.dom.Node): number;
				public hasChildNodes(): boolean;
				public removeChild(param0: org.w3c.dom.Node): org.w3c.dom.Node;
				public lookupPrefix(param0: string): string;
				public getValue(): string;
				public isDefaultNamespace(param0: string): boolean;
				public getLocalName(): string;
				public getChildNodes(): org.w3c.dom.NodeList;
				public getBaseURI(): string;
				public setValue(param0: string): void;
				public hasAttributes(): boolean;
				public isId(): boolean;
				public normalize(): void;
				public getOwnerDocument(): org.w3c.dom.Document;
				public getOwnerElement(): org.w3c.dom.Element;
				public setNodeValue(param0: string): void;
				public getNamespaceURI(): string;
				public getTextContent(): string;
				public insertBefore(param0: org.w3c.dom.Node, param1: org.w3c.dom.Node): org.w3c.dom.Node;
				public setPrefix(param0: string): void;
				public setUserData(param0: string, param1: any, param2: org.w3c.dom.UserDataHandler): any;
				public getSpecified(): boolean;
				public getNodeType(): number;
				public isSameNode(param0: org.w3c.dom.Node): boolean;
				public getPreviousSibling(): org.w3c.dom.Node;
				public getPrefix(): string;
				public setTextContent(param0: string): void;
				public getAttributes(): org.w3c.dom.NamedNodeMap;
				public appendChild(param0: org.w3c.dom.Node): org.w3c.dom.Node;
				public getName(): string;
				public getSchemaTypeInfo(): org.w3c.dom.TypeInfo;
				public getNodeValue(): string;
				public getFirstChild(): org.w3c.dom.Node;
				public replaceChild(param0: org.w3c.dom.Node, param1: org.w3c.dom.Node): org.w3c.dom.Node;
				public getFeature(param0: string, param1: string): any;
				public getLastChild(): org.w3c.dom.Node;
				public getUserData(param0: string): any;
				public cloneNode(param0: boolean): org.w3c.dom.Node;
				public isEqualNode(param0: org.w3c.dom.Node): boolean;
				public getNextSibling(): org.w3c.dom.Node;
				public lookupNamespaceURI(param0: string): string;
				public getNodeName(): string;
				public getParentNode(): org.w3c.dom.Node;
				public isSupported(param0: string, param1: string): boolean;
			}
		}
	}
}

declare module org {
	export module w3c {
		export module dom {
			export class CDATASection extends java.lang.Object implements org.w3c.dom.Text {
				public static class: java.lang.Class<org.w3c.dom.CDATASection>;
				/**
				 * Constructs a new instance of the org.w3c.dom.CDATASection interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					splitText(param0: number): org.w3c.dom.Text;
					isElementContentWhitespace(): boolean;
					getWholeText(): string;
					replaceWholeText(param0: string): org.w3c.dom.Text;
					getData(): string;
					setData(param0: string): void;
					getLength(): number;
					substringData(param0: number, param1: number): string;
					appendData(param0: string): void;
					insertData(param0: number, param1: string): void;
					deleteData(param0: number, param1: number): void;
					replaceData(param0: number, param1: number, param2: string): void;
					getNodeName(): string;
					getNodeValue(): string;
					setNodeValue(param0: string): void;
					getNodeType(): number;
					getParentNode(): org.w3c.dom.Node;
					getChildNodes(): org.w3c.dom.NodeList;
					getFirstChild(): org.w3c.dom.Node;
					getLastChild(): org.w3c.dom.Node;
					getPreviousSibling(): org.w3c.dom.Node;
					getNextSibling(): org.w3c.dom.Node;
					getAttributes(): org.w3c.dom.NamedNodeMap;
					getOwnerDocument(): org.w3c.dom.Document;
					insertBefore(param0: org.w3c.dom.Node, param1: org.w3c.dom.Node): org.w3c.dom.Node;
					replaceChild(param0: org.w3c.dom.Node, param1: org.w3c.dom.Node): org.w3c.dom.Node;
					removeChild(param0: org.w3c.dom.Node): org.w3c.dom.Node;
					appendChild(param0: org.w3c.dom.Node): org.w3c.dom.Node;
					hasChildNodes(): boolean;
					cloneNode(param0: boolean): org.w3c.dom.Node;
					normalize(): void;
					isSupported(param0: string, param1: string): boolean;
					getNamespaceURI(): string;
					getPrefix(): string;
					setPrefix(param0: string): void;
					getLocalName(): string;
					hasAttributes(): boolean;
					getBaseURI(): string;
					compareDocumentPosition(param0: org.w3c.dom.Node): number;
					getTextContent(): string;
					setTextContent(param0: string): void;
					isSameNode(param0: org.w3c.dom.Node): boolean;
					lookupPrefix(param0: string): string;
					isDefaultNamespace(param0: string): boolean;
					lookupNamespaceURI(param0: string): string;
					isEqualNode(param0: org.w3c.dom.Node): boolean;
					getFeature(param0: string, param1: string): any;
					setUserData(param0: string, param1: any, param2: org.w3c.dom.UserDataHandler): any;
					getUserData(param0: string): any;
				});
				public constructor();
				public static DOCUMENT_FRAGMENT_NODE: number;
				public static DOCUMENT_TYPE_NODE: number;
				public static ELEMENT_NODE: number;
				public static DOCUMENT_POSITION_FOLLOWING: number;
				public static TEXT_NODE: number;
				public static ATTRIBUTE_NODE: number;
				public static DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: number;
				public static ENTITY_REFERENCE_NODE: number;
				public static NOTATION_NODE: number;
				public static DOCUMENT_NODE: number;
				public static ENTITY_NODE: number;
				public static PROCESSING_INSTRUCTION_NODE: number;
				public static CDATA_SECTION_NODE: number;
				public static COMMENT_NODE: number;
				public static DOCUMENT_POSITION_CONTAINED_BY: number;
				public static DOCUMENT_POSITION_DISCONNECTED: number;
				public static DOCUMENT_POSITION_PRECEDING: number;
				public static DOCUMENT_POSITION_CONTAINS: number;
				public compareDocumentPosition(param0: org.w3c.dom.Node): number;
				public splitText(param0: number): org.w3c.dom.Text;
				public removeChild(param0: org.w3c.dom.Node): org.w3c.dom.Node;
				public getWholeText(): string;
				public isDefaultNamespace(param0: string): boolean;
				public appendData(param0: string): void;
				public getChildNodes(): org.w3c.dom.NodeList;
				public normalize(): void;
				public getOwnerDocument(): org.w3c.dom.Document;
				public getNamespaceURI(): string;
				public getTextContent(): string;
				public setPrefix(param0: string): void;
				public setUserData(param0: string, param1: any, param2: org.w3c.dom.UserDataHandler): any;
				public getNodeType(): number;
				public isSameNode(param0: org.w3c.dom.Node): boolean;
				public setTextContent(param0: string): void;
				public getAttributes(): org.w3c.dom.NamedNodeMap;
				public getNodeValue(): string;
				public getFirstChild(): org.w3c.dom.Node;
				public replaceChild(param0: org.w3c.dom.Node, param1: org.w3c.dom.Node): org.w3c.dom.Node;
				public getUserData(param0: string): any;
				public lookupNamespaceURI(param0: string): string;
				public getParentNode(): org.w3c.dom.Node;
				public setData(param0: string): void;
				public hasChildNodes(): boolean;
				public isElementContentWhitespace(): boolean;
				public lookupPrefix(param0: string): string;
				public replaceWholeText(param0: string): org.w3c.dom.Text;
				public getLocalName(): string;
				public substringData(param0: number, param1: number): string;
				public getBaseURI(): string;
				public hasAttributes(): boolean;
				public replaceData(param0: number, param1: number, param2: string): void;
				public setNodeValue(param0: string): void;
				public insertBefore(param0: org.w3c.dom.Node, param1: org.w3c.dom.Node): org.w3c.dom.Node;
				public getPreviousSibling(): org.w3c.dom.Node;
				public getPrefix(): string;
				public insertData(param0: number, param1: string): void;
				public appendChild(param0: org.w3c.dom.Node): org.w3c.dom.Node;
				public getLength(): number;
				public getFeature(param0: string, param1: string): any;
				public getLastChild(): org.w3c.dom.Node;
				public getData(): string;
				public cloneNode(param0: boolean): org.w3c.dom.Node;
				public isEqualNode(param0: org.w3c.dom.Node): boolean;
				public getNextSibling(): org.w3c.dom.Node;
				public deleteData(param0: number, param1: number): void;
				public getNodeName(): string;
				public isSupported(param0: string, param1: string): boolean;
			}
		}
	}
}

declare module org {
	export module w3c {
		export module dom {
			export class CharacterData extends java.lang.Object implements org.w3c.dom.Node {
				public static class: java.lang.Class<org.w3c.dom.CharacterData>;
				/**
				 * Constructs a new instance of the org.w3c.dom.CharacterData interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getData(): string;
					setData(param0: string): void;
					getLength(): number;
					substringData(param0: number, param1: number): string;
					appendData(param0: string): void;
					insertData(param0: number, param1: string): void;
					deleteData(param0: number, param1: number): void;
					replaceData(param0: number, param1: number, param2: string): void;
					getNodeName(): string;
					getNodeValue(): string;
					setNodeValue(param0: string): void;
					getNodeType(): number;
					getParentNode(): org.w3c.dom.Node;
					getChildNodes(): org.w3c.dom.NodeList;
					getFirstChild(): org.w3c.dom.Node;
					getLastChild(): org.w3c.dom.Node;
					getPreviousSibling(): org.w3c.dom.Node;
					getNextSibling(): org.w3c.dom.Node;
					getAttributes(): org.w3c.dom.NamedNodeMap;
					getOwnerDocument(): org.w3c.dom.Document;
					insertBefore(param0: org.w3c.dom.Node, param1: org.w3c.dom.Node): org.w3c.dom.Node;
					replaceChild(param0: org.w3c.dom.Node, param1: org.w3c.dom.Node): org.w3c.dom.Node;
					removeChild(param0: org.w3c.dom.Node): org.w3c.dom.Node;
					appendChild(param0: org.w3c.dom.Node): org.w3c.dom.Node;
					hasChildNodes(): boolean;
					cloneNode(param0: boolean): org.w3c.dom.Node;
					normalize(): void;
					isSupported(param0: string, param1: string): boolean;
					getNamespaceURI(): string;
					getPrefix(): string;
					setPrefix(param0: string): void;
					getLocalName(): string;
					hasAttributes(): boolean;
					getBaseURI(): string;
					compareDocumentPosition(param0: org.w3c.dom.Node): number;
					getTextContent(): string;
					setTextContent(param0: string): void;
					isSameNode(param0: org.w3c.dom.Node): boolean;
					lookupPrefix(param0: string): string;
					isDefaultNamespace(param0: string): boolean;
					lookupNamespaceURI(param0: string): string;
					isEqualNode(param0: org.w3c.dom.Node): boolean;
					getFeature(param0: string, param1: string): any;
					setUserData(param0: string, param1: any, param2: org.w3c.dom.UserDataHandler): any;
					getUserData(param0: string): any;
				});
				public constructor();
				public static DOCUMENT_FRAGMENT_NODE: number;
				public static DOCUMENT_TYPE_NODE: number;
				public static ELEMENT_NODE: number;
				public static DOCUMENT_POSITION_FOLLOWING: number;
				public static TEXT_NODE: number;
				public static ATTRIBUTE_NODE: number;
				public static DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: number;
				public static ENTITY_REFERENCE_NODE: number;
				public static NOTATION_NODE: number;
				public static DOCUMENT_NODE: number;
				public static ENTITY_NODE: number;
				public static PROCESSING_INSTRUCTION_NODE: number;
				public static CDATA_SECTION_NODE: number;
				public static COMMENT_NODE: number;
				public static DOCUMENT_POSITION_CONTAINED_BY: number;
				public static DOCUMENT_POSITION_DISCONNECTED: number;
				public static DOCUMENT_POSITION_PRECEDING: number;
				public static DOCUMENT_POSITION_CONTAINS: number;
				public compareDocumentPosition(param0: org.w3c.dom.Node): number;
				public setData(param0: string): void;
				public hasChildNodes(): boolean;
				public removeChild(param0: org.w3c.dom.Node): org.w3c.dom.Node;
				public lookupPrefix(param0: string): string;
				public isDefaultNamespace(param0: string): boolean;
				public appendData(param0: string): void;
				public getLocalName(): string;
				public substringData(param0: number, param1: number): string;
				public getChildNodes(): org.w3c.dom.NodeList;
				public getBaseURI(): string;
				public hasAttributes(): boolean;
				public replaceData(param0: number, param1: number, param2: string): void;
				public normalize(): void;
				public getOwnerDocument(): org.w3c.dom.Document;
				public setNodeValue(param0: string): void;
				public getNamespaceURI(): string;
				public getTextContent(): string;
				public insertBefore(param0: org.w3c.dom.Node, param1: org.w3c.dom.Node): org.w3c.dom.Node;
				public setPrefix(param0: string): void;
				public setUserData(param0: string, param1: any, param2: org.w3c.dom.UserDataHandler): any;
				public getNodeType(): number;
				public isSameNode(param0: org.w3c.dom.Node): boolean;
				public getPreviousSibling(): org.w3c.dom.Node;
				public getPrefix(): string;
				public insertData(param0: number, param1: string): void;
				public setTextContent(param0: string): void;
				public getAttributes(): org.w3c.dom.NamedNodeMap;
				public appendChild(param0: org.w3c.dom.Node): org.w3c.dom.Node;
				public getNodeValue(): string;
				public getLength(): number;
				public getFirstChild(): org.w3c.dom.Node;
				public replaceChild(param0: org.w3c.dom.Node, param1: org.w3c.dom.Node): org.w3c.dom.Node;
				public getFeature(param0: string, param1: string): any;
				public getLastChild(): org.w3c.dom.Node;
				public getUserData(param0: string): any;
				public getData(): string;
				public cloneNode(param0: boolean): org.w3c.dom.Node;
				public isEqualNode(param0: org.w3c.dom.Node): boolean;
				public getNextSibling(): org.w3c.dom.Node;
				public deleteData(param0: number, param1: number): void;
				public lookupNamespaceURI(param0: string): string;
				public getNodeName(): string;
				public getParentNode(): org.w3c.dom.Node;
				public isSupported(param0: string, param1: string): boolean;
			}
		}
	}
}

declare module org {
	export module w3c {
		export module dom {
			export class Comment extends java.lang.Object implements org.w3c.dom.CharacterData {
				public static class: java.lang.Class<org.w3c.dom.Comment>;
				/**
				 * Constructs a new instance of the org.w3c.dom.Comment interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getData(): string;
					setData(param0: string): void;
					getLength(): number;
					substringData(param0: number, param1: number): string;
					appendData(param0: string): void;
					insertData(param0: number, param1: string): void;
					deleteData(param0: number, param1: number): void;
					replaceData(param0: number, param1: number, param2: string): void;
					getNodeName(): string;
					getNodeValue(): string;
					setNodeValue(param0: string): void;
					getNodeType(): number;
					getParentNode(): org.w3c.dom.Node;
					getChildNodes(): org.w3c.dom.NodeList;
					getFirstChild(): org.w3c.dom.Node;
					getLastChild(): org.w3c.dom.Node;
					getPreviousSibling(): org.w3c.dom.Node;
					getNextSibling(): org.w3c.dom.Node;
					getAttributes(): org.w3c.dom.NamedNodeMap;
					getOwnerDocument(): org.w3c.dom.Document;
					insertBefore(param0: org.w3c.dom.Node, param1: org.w3c.dom.Node): org.w3c.dom.Node;
					replaceChild(param0: org.w3c.dom.Node, param1: org.w3c.dom.Node): org.w3c.dom.Node;
					removeChild(param0: org.w3c.dom.Node): org.w3c.dom.Node;
					appendChild(param0: org.w3c.dom.Node): org.w3c.dom.Node;
					hasChildNodes(): boolean;
					cloneNode(param0: boolean): org.w3c.dom.Node;
					normalize(): void;
					isSupported(param0: string, param1: string): boolean;
					getNamespaceURI(): string;
					getPrefix(): string;
					setPrefix(param0: string): void;
					getLocalName(): string;
					hasAttributes(): boolean;
					getBaseURI(): string;
					compareDocumentPosition(param0: org.w3c.dom.Node): number;
					getTextContent(): string;
					setTextContent(param0: string): void;
					isSameNode(param0: org.w3c.dom.Node): boolean;
					lookupPrefix(param0: string): string;
					isDefaultNamespace(param0: string): boolean;
					lookupNamespaceURI(param0: string): string;
					isEqualNode(param0: org.w3c.dom.Node): boolean;
					getFeature(param0: string, param1: string): any;
					setUserData(param0: string, param1: any, param2: org.w3c.dom.UserDataHandler): any;
					getUserData(param0: string): any;
				});
				public constructor();
				public static DOCUMENT_FRAGMENT_NODE: number;
				public static DOCUMENT_TYPE_NODE: number;
				public static ELEMENT_NODE: number;
				public static DOCUMENT_POSITION_FOLLOWING: number;
				public static TEXT_NODE: number;
				public static ATTRIBUTE_NODE: number;
				public static DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: number;
				public static ENTITY_REFERENCE_NODE: number;
				public static NOTATION_NODE: number;
				public static DOCUMENT_NODE: number;
				public static ENTITY_NODE: number;
				public static PROCESSING_INSTRUCTION_NODE: number;
				public static CDATA_SECTION_NODE: number;
				public static COMMENT_NODE: number;
				public static DOCUMENT_POSITION_CONTAINED_BY: number;
				public static DOCUMENT_POSITION_DISCONNECTED: number;
				public static DOCUMENT_POSITION_PRECEDING: number;
				public static DOCUMENT_POSITION_CONTAINS: number;
				public compareDocumentPosition(param0: org.w3c.dom.Node): number;
				public setData(param0: string): void;
				public hasChildNodes(): boolean;
				public removeChild(param0: org.w3c.dom.Node): org.w3c.dom.Node;
				public lookupPrefix(param0: string): string;
				public isDefaultNamespace(param0: string): boolean;
				public appendData(param0: string): void;
				public getLocalName(): string;
				public substringData(param0: number, param1: number): string;
				public getChildNodes(): org.w3c.dom.NodeList;
				public getBaseURI(): string;
				public hasAttributes(): boolean;
				public replaceData(param0: number, param1: number, param2: string): void;
				public normalize(): void;
				public getOwnerDocument(): org.w3c.dom.Document;
				public setNodeValue(param0: string): void;
				public getNamespaceURI(): string;
				public getTextContent(): string;
				public insertBefore(param0: org.w3c.dom.Node, param1: org.w3c.dom.Node): org.w3c.dom.Node;
				public setPrefix(param0: string): void;
				public setUserData(param0: string, param1: any, param2: org.w3c.dom.UserDataHandler): any;
				public getNodeType(): number;
				public isSameNode(param0: org.w3c.dom.Node): boolean;
				public getPreviousSibling(): org.w3c.dom.Node;
				public getPrefix(): string;
				public insertData(param0: number, param1: string): void;
				public setTextContent(param0: string): void;
				public getAttributes(): org.w3c.dom.NamedNodeMap;
				public appendChild(param0: org.w3c.dom.Node): org.w3c.dom.Node;
				public getNodeValue(): string;
				public getLength(): number;
				public getFirstChild(): org.w3c.dom.Node;
				public replaceChild(param0: org.w3c.dom.Node, param1: org.w3c.dom.Node): org.w3c.dom.Node;
				public getFeature(param0: string, param1: string): any;
				public getLastChild(): org.w3c.dom.Node;
				public getUserData(param0: string): any;
				public getData(): string;
				public cloneNode(param0: boolean): org.w3c.dom.Node;
				public isEqualNode(param0: org.w3c.dom.Node): boolean;
				public getNextSibling(): org.w3c.dom.Node;
				public deleteData(param0: number, param1: number): void;
				public lookupNamespaceURI(param0: string): string;
				public getNodeName(): string;
				public getParentNode(): org.w3c.dom.Node;
				public isSupported(param0: string, param1: string): boolean;
			}
		}
	}
}

declare module org {
	export module w3c {
		export module dom {
			export class DOMConfiguration extends java.lang.Object {
				public static class: java.lang.Class<org.w3c.dom.DOMConfiguration>;
				/**
				 * Constructs a new instance of the org.w3c.dom.DOMConfiguration interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					setParameter(param0: string, param1: any): void;
					getParameter(param0: string): any;
					canSetParameter(param0: string, param1: any): boolean;
					getParameterNames(): org.w3c.dom.DOMStringList;
				});
				public constructor();
				public getParameter(param0: string): any;
				public getParameterNames(): org.w3c.dom.DOMStringList;
				public setParameter(param0: string, param1: any): void;
				public canSetParameter(param0: string, param1: any): boolean;
			}
		}
	}
}

declare module org {
	export module w3c {
		export module dom {
			export class DOMError extends java.lang.Object {
				public static class: java.lang.Class<org.w3c.dom.DOMError>;
				/**
				 * Constructs a new instance of the org.w3c.dom.DOMError interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getSeverity(): number;
					getMessage(): string;
					getType(): string;
					getRelatedException(): any;
					getRelatedData(): any;
					getLocation(): org.w3c.dom.DOMLocator;
				});
				public constructor();
				public static SEVERITY_ERROR: number;
				public static SEVERITY_FATAL_ERROR: number;
				public static SEVERITY_WARNING: number;
				public getType(): string;
				public getLocation(): org.w3c.dom.DOMLocator;
				public getRelatedException(): any;
				public getSeverity(): number;
				public getRelatedData(): any;
				public getMessage(): string;
			}
		}
	}
}

declare module org {
	export module w3c {
		export module dom {
			export class DOMErrorHandler extends java.lang.Object {
				public static class: java.lang.Class<org.w3c.dom.DOMErrorHandler>;
				/**
				 * Constructs a new instance of the org.w3c.dom.DOMErrorHandler interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					handleError(param0: org.w3c.dom.DOMError): boolean;
				});
				public constructor();
				public handleError(param0: org.w3c.dom.DOMError): boolean;
			}
		}
	}
}

declare module org {
	export module w3c {
		export module dom {
			export class DOMException extends java.lang.RuntimeException {
				public static class: java.lang.Class<org.w3c.dom.DOMException>;
				public static DOMSTRING_SIZE_ERR: number;
				public static HIERARCHY_REQUEST_ERR: number;
				public static INDEX_SIZE_ERR: number;
				public static INUSE_ATTRIBUTE_ERR: number;
				public static INVALID_ACCESS_ERR: number;
				public static INVALID_CHARACTER_ERR: number;
				public static INVALID_MODIFICATION_ERR: number;
				public static INVALID_STATE_ERR: number;
				public static NAMESPACE_ERR: number;
				public static NOT_FOUND_ERR: number;
				public static NOT_SUPPORTED_ERR: number;
				public static NO_DATA_ALLOWED_ERR: number;
				public static NO_MODIFICATION_ALLOWED_ERR: number;
				public static SYNTAX_ERR: number;
				public static TYPE_MISMATCH_ERR: number;
				public static VALIDATION_ERR: number;
				public static WRONG_DOCUMENT_ERR: number;
				public code: number;
				public constructor(param0: number, param1: string);
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module org {
	export module w3c {
		export module dom {
			export class DOMImplementation extends java.lang.Object {
				public static class: java.lang.Class<org.w3c.dom.DOMImplementation>;
				/**
				 * Constructs a new instance of the org.w3c.dom.DOMImplementation interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					hasFeature(param0: string, param1: string): boolean;
					createDocumentType(param0: string, param1: string, param2: string): org.w3c.dom.DocumentType;
					createDocument(param0: string, param1: string, param2: org.w3c.dom.DocumentType): org.w3c.dom.Document;
					getFeature(param0: string, param1: string): any;
				});
				public constructor();
				public createDocument(param0: string, param1: string, param2: org.w3c.dom.DocumentType): org.w3c.dom.Document;
				public hasFeature(param0: string, param1: string): boolean;
				public createDocumentType(param0: string, param1: string, param2: string): org.w3c.dom.DocumentType;
				public getFeature(param0: string, param1: string): any;
			}
		}
	}
}

declare module org {
	export module w3c {
		export module dom {
			export class DOMImplementationList extends java.lang.Object {
				public static class: java.lang.Class<org.w3c.dom.DOMImplementationList>;
				/**
				 * Constructs a new instance of the org.w3c.dom.DOMImplementationList interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					item(param0: number): org.w3c.dom.DOMImplementation;
					getLength(): number;
				});
				public constructor();
				public item(param0: number): org.w3c.dom.DOMImplementation;
				public getLength(): number;
			}
		}
	}
}

declare module org {
	export module w3c {
		export module dom {
			export class DOMImplementationSource extends java.lang.Object {
				public static class: java.lang.Class<org.w3c.dom.DOMImplementationSource>;
				/**
				 * Constructs a new instance of the org.w3c.dom.DOMImplementationSource interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getDOMImplementation(param0: string): org.w3c.dom.DOMImplementation;
					getDOMImplementationList(param0: string): org.w3c.dom.DOMImplementationList;
				});
				public constructor();
				public getDOMImplementation(param0: string): org.w3c.dom.DOMImplementation;
				public getDOMImplementationList(param0: string): org.w3c.dom.DOMImplementationList;
			}
		}
	}
}

declare module org {
	export module w3c {
		export module dom {
			export class DOMLocator extends java.lang.Object {
				public static class: java.lang.Class<org.w3c.dom.DOMLocator>;
				/**
				 * Constructs a new instance of the org.w3c.dom.DOMLocator interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getLineNumber(): number;
					getColumnNumber(): number;
					getByteOffset(): number;
					getUtf16Offset(): number;
					getRelatedNode(): org.w3c.dom.Node;
					getUri(): string;
				});
				public constructor();
				public getLineNumber(): number;
				public getUri(): string;
				public getRelatedNode(): org.w3c.dom.Node;
				public getUtf16Offset(): number;
				public getByteOffset(): number;
				public getColumnNumber(): number;
			}
		}
	}
}

declare module org {
	export module w3c {
		export module dom {
			export class DOMStringList extends java.lang.Object {
				public static class: java.lang.Class<org.w3c.dom.DOMStringList>;
				/**
				 * Constructs a new instance of the org.w3c.dom.DOMStringList interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					item(param0: number): string;
					getLength(): number;
					contains(param0: string): boolean;
				});
				public constructor();
				public contains(param0: string): boolean;
				public item(param0: number): string;
				public getLength(): number;
			}
		}
	}
}

declare module org {
	export module w3c {
		export module dom {
			export class Document extends java.lang.Object implements org.w3c.dom.Node {
				public static class: java.lang.Class<org.w3c.dom.Document>;
				/**
				 * Constructs a new instance of the org.w3c.dom.Document interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getDoctype(): org.w3c.dom.DocumentType;
					getImplementation(): org.w3c.dom.DOMImplementation;
					getDocumentElement(): org.w3c.dom.Element;
					createElement(param0: string): org.w3c.dom.Element;
					createDocumentFragment(): org.w3c.dom.DocumentFragment;
					createTextNode(param0: string): org.w3c.dom.Text;
					createComment(param0: string): org.w3c.dom.Comment;
					createCDATASection(param0: string): org.w3c.dom.CDATASection;
					createProcessingInstruction(param0: string, param1: string): org.w3c.dom.ProcessingInstruction;
					createAttribute(param0: string): org.w3c.dom.Attr;
					createEntityReference(param0: string): org.w3c.dom.EntityReference;
					getElementsByTagName(param0: string): org.w3c.dom.NodeList;
					importNode(param0: org.w3c.dom.Node, param1: boolean): org.w3c.dom.Node;
					createElementNS(param0: string, param1: string): org.w3c.dom.Element;
					createAttributeNS(param0: string, param1: string): org.w3c.dom.Attr;
					getElementsByTagNameNS(param0: string, param1: string): org.w3c.dom.NodeList;
					getElementById(param0: string): org.w3c.dom.Element;
					getInputEncoding(): string;
					getXmlEncoding(): string;
					getXmlStandalone(): boolean;
					setXmlStandalone(param0: boolean): void;
					getXmlVersion(): string;
					setXmlVersion(param0: string): void;
					getStrictErrorChecking(): boolean;
					setStrictErrorChecking(param0: boolean): void;
					getDocumentURI(): string;
					setDocumentURI(param0: string): void;
					adoptNode(param0: org.w3c.dom.Node): org.w3c.dom.Node;
					getDomConfig(): org.w3c.dom.DOMConfiguration;
					normalizeDocument(): void;
					renameNode(param0: org.w3c.dom.Node, param1: string, param2: string): org.w3c.dom.Node;
					getNodeName(): string;
					getNodeValue(): string;
					setNodeValue(param0: string): void;
					getNodeType(): number;
					getParentNode(): org.w3c.dom.Node;
					getChildNodes(): org.w3c.dom.NodeList;
					getFirstChild(): org.w3c.dom.Node;
					getLastChild(): org.w3c.dom.Node;
					getPreviousSibling(): org.w3c.dom.Node;
					getNextSibling(): org.w3c.dom.Node;
					getAttributes(): org.w3c.dom.NamedNodeMap;
					getOwnerDocument(): org.w3c.dom.Document;
					insertBefore(param0: org.w3c.dom.Node, param1: org.w3c.dom.Node): org.w3c.dom.Node;
					replaceChild(param0: org.w3c.dom.Node, param1: org.w3c.dom.Node): org.w3c.dom.Node;
					removeChild(param0: org.w3c.dom.Node): org.w3c.dom.Node;
					appendChild(param0: org.w3c.dom.Node): org.w3c.dom.Node;
					hasChildNodes(): boolean;
					cloneNode(param0: boolean): org.w3c.dom.Node;
					normalize(): void;
					isSupported(param0: string, param1: string): boolean;
					getNamespaceURI(): string;
					getPrefix(): string;
					setPrefix(param0: string): void;
					getLocalName(): string;
					hasAttributes(): boolean;
					getBaseURI(): string;
					compareDocumentPosition(param0: org.w3c.dom.Node): number;
					getTextContent(): string;
					setTextContent(param0: string): void;
					isSameNode(param0: org.w3c.dom.Node): boolean;
					lookupPrefix(param0: string): string;
					isDefaultNamespace(param0: string): boolean;
					lookupNamespaceURI(param0: string): string;
					isEqualNode(param0: org.w3c.dom.Node): boolean;
					getFeature(param0: string, param1: string): any;
					setUserData(param0: string, param1: any, param2: org.w3c.dom.UserDataHandler): any;
					getUserData(param0: string): any;
				});
				public constructor();
				public static DOCUMENT_FRAGMENT_NODE: number;
				public static DOCUMENT_TYPE_NODE: number;
				public static ELEMENT_NODE: number;
				public static DOCUMENT_POSITION_FOLLOWING: number;
				public static TEXT_NODE: number;
				public static ATTRIBUTE_NODE: number;
				public static DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: number;
				public static ENTITY_REFERENCE_NODE: number;
				public static NOTATION_NODE: number;
				public static DOCUMENT_NODE: number;
				public static ENTITY_NODE: number;
				public static PROCESSING_INSTRUCTION_NODE: number;
				public static CDATA_SECTION_NODE: number;
				public static COMMENT_NODE: number;
				public static DOCUMENT_POSITION_CONTAINED_BY: number;
				public static DOCUMENT_POSITION_DISCONNECTED: number;
				public static DOCUMENT_POSITION_PRECEDING: number;
				public static DOCUMENT_POSITION_CONTAINS: number;
				public normalizeDocument(): void;
				public importNode(param0: org.w3c.dom.Node, param1: boolean): org.w3c.dom.Node;
				public getXmlEncoding(): string;
				public compareDocumentPosition(param0: org.w3c.dom.Node): number;
				public createDocumentFragment(): org.w3c.dom.DocumentFragment;
				public removeChild(param0: org.w3c.dom.Node): org.w3c.dom.Node;
				public setDocumentURI(param0: string): void;
				public getDomConfig(): org.w3c.dom.DOMConfiguration;
				public isDefaultNamespace(param0: string): boolean;
				public createCDATASection(param0: string): org.w3c.dom.CDATASection;
				public getDoctype(): org.w3c.dom.DocumentType;
				public getChildNodes(): org.w3c.dom.NodeList;
				public getElementsByTagNameNS(param0: string, param1: string): org.w3c.dom.NodeList;
				public normalize(): void;
				public getOwnerDocument(): org.w3c.dom.Document;
				public getNamespaceURI(): string;
				public getTextContent(): string;
				public createElementNS(param0: string, param1: string): org.w3c.dom.Element;
				public setPrefix(param0: string): void;
				public setUserData(param0: string, param1: any, param2: org.w3c.dom.UserDataHandler): any;
				public getNodeType(): number;
				public isSameNode(param0: org.w3c.dom.Node): boolean;
				public getElementById(param0: string): org.w3c.dom.Element;
				public setTextContent(param0: string): void;
				public getXmlStandalone(): boolean;
				public getAttributes(): org.w3c.dom.NamedNodeMap;
				public adoptNode(param0: org.w3c.dom.Node): org.w3c.dom.Node;
				public setXmlStandalone(param0: boolean): void;
				public createEntityReference(param0: string): org.w3c.dom.EntityReference;
				public getNodeValue(): string;
				public getXmlVersion(): string;
				public setStrictErrorChecking(param0: boolean): void;
				public getFirstChild(): org.w3c.dom.Node;
				public replaceChild(param0: org.w3c.dom.Node, param1: org.w3c.dom.Node): org.w3c.dom.Node;
				public getUserData(param0: string): any;
				public getDocumentURI(): string;
				public lookupNamespaceURI(param0: string): string;
				public createComment(param0: string): org.w3c.dom.Comment;
				public getParentNode(): org.w3c.dom.Node;
				public getElementsByTagName(param0: string): org.w3c.dom.NodeList;
				public getInputEncoding(): string;
				public hasChildNodes(): boolean;
				public getImplementation(): org.w3c.dom.DOMImplementation;
				public lookupPrefix(param0: string): string;
				public getLocalName(): string;
				public getBaseURI(): string;
				public hasAttributes(): boolean;
				public setNodeValue(param0: string): void;
				public insertBefore(param0: org.w3c.dom.Node, param1: org.w3c.dom.Node): org.w3c.dom.Node;
				public getDocumentElement(): org.w3c.dom.Element;
				public createAttributeNS(param0: string, param1: string): org.w3c.dom.Attr;
				public getPreviousSibling(): org.w3c.dom.Node;
				public getPrefix(): string;
				public setXmlVersion(param0: string): void;
				public appendChild(param0: org.w3c.dom.Node): org.w3c.dom.Node;
				public getFeature(param0: string, param1: string): any;
				public getLastChild(): org.w3c.dom.Node;
				public createAttribute(param0: string): org.w3c.dom.Attr;
				public createProcessingInstruction(param0: string, param1: string): org.w3c.dom.ProcessingInstruction;
				public getStrictErrorChecking(): boolean;
				public cloneNode(param0: boolean): org.w3c.dom.Node;
				public isEqualNode(param0: org.w3c.dom.Node): boolean;
				public createElement(param0: string): org.w3c.dom.Element;
				public createTextNode(param0: string): org.w3c.dom.Text;
				public getNextSibling(): org.w3c.dom.Node;
				public renameNode(param0: org.w3c.dom.Node, param1: string, param2: string): org.w3c.dom.Node;
				public getNodeName(): string;
				public isSupported(param0: string, param1: string): boolean;
			}
		}
	}
}

declare module org {
	export module w3c {
		export module dom {
			export class DocumentFragment extends java.lang.Object implements org.w3c.dom.Node {
				public static class: java.lang.Class<org.w3c.dom.DocumentFragment>;
				/**
				 * Constructs a new instance of the org.w3c.dom.DocumentFragment interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getNodeName(): string;
					getNodeValue(): string;
					setNodeValue(param0: string): void;
					getNodeType(): number;
					getParentNode(): org.w3c.dom.Node;
					getChildNodes(): org.w3c.dom.NodeList;
					getFirstChild(): org.w3c.dom.Node;
					getLastChild(): org.w3c.dom.Node;
					getPreviousSibling(): org.w3c.dom.Node;
					getNextSibling(): org.w3c.dom.Node;
					getAttributes(): org.w3c.dom.NamedNodeMap;
					getOwnerDocument(): org.w3c.dom.Document;
					insertBefore(param0: org.w3c.dom.Node, param1: org.w3c.dom.Node): org.w3c.dom.Node;
					replaceChild(param0: org.w3c.dom.Node, param1: org.w3c.dom.Node): org.w3c.dom.Node;
					removeChild(param0: org.w3c.dom.Node): org.w3c.dom.Node;
					appendChild(param0: org.w3c.dom.Node): org.w3c.dom.Node;
					hasChildNodes(): boolean;
					cloneNode(param0: boolean): org.w3c.dom.Node;
					normalize(): void;
					isSupported(param0: string, param1: string): boolean;
					getNamespaceURI(): string;
					getPrefix(): string;
					setPrefix(param0: string): void;
					getLocalName(): string;
					hasAttributes(): boolean;
					getBaseURI(): string;
					compareDocumentPosition(param0: org.w3c.dom.Node): number;
					getTextContent(): string;
					setTextContent(param0: string): void;
					isSameNode(param0: org.w3c.dom.Node): boolean;
					lookupPrefix(param0: string): string;
					isDefaultNamespace(param0: string): boolean;
					lookupNamespaceURI(param0: string): string;
					isEqualNode(param0: org.w3c.dom.Node): boolean;
					getFeature(param0: string, param1: string): any;
					setUserData(param0: string, param1: any, param2: org.w3c.dom.UserDataHandler): any;
					getUserData(param0: string): any;
				});
				public constructor();
				public static DOCUMENT_FRAGMENT_NODE: number;
				public static DOCUMENT_TYPE_NODE: number;
				public static ELEMENT_NODE: number;
				public static DOCUMENT_POSITION_FOLLOWING: number;
				public static TEXT_NODE: number;
				public static ATTRIBUTE_NODE: number;
				public static DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: number;
				public static ENTITY_REFERENCE_NODE: number;
				public static NOTATION_NODE: number;
				public static DOCUMENT_NODE: number;
				public static ENTITY_NODE: number;
				public static PROCESSING_INSTRUCTION_NODE: number;
				public static CDATA_SECTION_NODE: number;
				public static COMMENT_NODE: number;
				public static DOCUMENT_POSITION_CONTAINED_BY: number;
				public static DOCUMENT_POSITION_DISCONNECTED: number;
				public static DOCUMENT_POSITION_PRECEDING: number;
				public static DOCUMENT_POSITION_CONTAINS: number;
				public compareDocumentPosition(param0: org.w3c.dom.Node): number;
				public hasChildNodes(): boolean;
				public removeChild(param0: org.w3c.dom.Node): org.w3c.dom.Node;
				public lookupPrefix(param0: string): string;
				public isDefaultNamespace(param0: string): boolean;
				public getLocalName(): string;
				public getChildNodes(): org.w3c.dom.NodeList;
				public getBaseURI(): string;
				public hasAttributes(): boolean;
				public normalize(): void;
				public getOwnerDocument(): org.w3c.dom.Document;
				public setNodeValue(param0: string): void;
				public getNamespaceURI(): string;
				public getTextContent(): string;
				public insertBefore(param0: org.w3c.dom.Node, param1: org.w3c.dom.Node): org.w3c.dom.Node;
				public setPrefix(param0: string): void;
				public setUserData(param0: string, param1: any, param2: org.w3c.dom.UserDataHandler): any;
				public getNodeType(): number;
				public isSameNode(param0: org.w3c.dom.Node): boolean;
				public getPreviousSibling(): org.w3c.dom.Node;
				public getPrefix(): string;
				public setTextContent(param0: string): void;
				public getAttributes(): org.w3c.dom.NamedNodeMap;
				public appendChild(param0: org.w3c.dom.Node): org.w3c.dom.Node;
				public getNodeValue(): string;
				public getFirstChild(): org.w3c.dom.Node;
				public replaceChild(param0: org.w3c.dom.Node, param1: org.w3c.dom.Node): org.w3c.dom.Node;
				public getFeature(param0: string, param1: string): any;
				public getLastChild(): org.w3c.dom.Node;
				public getUserData(param0: string): any;
				public cloneNode(param0: boolean): org.w3c.dom.Node;
				public isEqualNode(param0: org.w3c.dom.Node): boolean;
				public getNextSibling(): org.w3c.dom.Node;
				public lookupNamespaceURI(param0: string): string;
				public getNodeName(): string;
				public getParentNode(): org.w3c.dom.Node;
				public isSupported(param0: string, param1: string): boolean;
			}
		}
	}
}

declare module org {
	export module w3c {
		export module dom {
			export class DocumentType extends java.lang.Object implements org.w3c.dom.Node {
				public static class: java.lang.Class<org.w3c.dom.DocumentType>;
				/**
				 * Constructs a new instance of the org.w3c.dom.DocumentType interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getName(): string;
					getEntities(): org.w3c.dom.NamedNodeMap;
					getNotations(): org.w3c.dom.NamedNodeMap;
					getPublicId(): string;
					getSystemId(): string;
					getInternalSubset(): string;
					getNodeName(): string;
					getNodeValue(): string;
					setNodeValue(param0: string): void;
					getNodeType(): number;
					getParentNode(): org.w3c.dom.Node;
					getChildNodes(): org.w3c.dom.NodeList;
					getFirstChild(): org.w3c.dom.Node;
					getLastChild(): org.w3c.dom.Node;
					getPreviousSibling(): org.w3c.dom.Node;
					getNextSibling(): org.w3c.dom.Node;
					getAttributes(): org.w3c.dom.NamedNodeMap;
					getOwnerDocument(): org.w3c.dom.Document;
					insertBefore(param0: org.w3c.dom.Node, param1: org.w3c.dom.Node): org.w3c.dom.Node;
					replaceChild(param0: org.w3c.dom.Node, param1: org.w3c.dom.Node): org.w3c.dom.Node;
					removeChild(param0: org.w3c.dom.Node): org.w3c.dom.Node;
					appendChild(param0: org.w3c.dom.Node): org.w3c.dom.Node;
					hasChildNodes(): boolean;
					cloneNode(param0: boolean): org.w3c.dom.Node;
					normalize(): void;
					isSupported(param0: string, param1: string): boolean;
					getNamespaceURI(): string;
					getPrefix(): string;
					setPrefix(param0: string): void;
					getLocalName(): string;
					hasAttributes(): boolean;
					getBaseURI(): string;
					compareDocumentPosition(param0: org.w3c.dom.Node): number;
					getTextContent(): string;
					setTextContent(param0: string): void;
					isSameNode(param0: org.w3c.dom.Node): boolean;
					lookupPrefix(param0: string): string;
					isDefaultNamespace(param0: string): boolean;
					lookupNamespaceURI(param0: string): string;
					isEqualNode(param0: org.w3c.dom.Node): boolean;
					getFeature(param0: string, param1: string): any;
					setUserData(param0: string, param1: any, param2: org.w3c.dom.UserDataHandler): any;
					getUserData(param0: string): any;
				});
				public constructor();
				public static DOCUMENT_FRAGMENT_NODE: number;
				public static DOCUMENT_TYPE_NODE: number;
				public static ELEMENT_NODE: number;
				public static DOCUMENT_POSITION_FOLLOWING: number;
				public static TEXT_NODE: number;
				public static ATTRIBUTE_NODE: number;
				public static DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: number;
				public static ENTITY_REFERENCE_NODE: number;
				public static NOTATION_NODE: number;
				public static DOCUMENT_NODE: number;
				public static ENTITY_NODE: number;
				public static PROCESSING_INSTRUCTION_NODE: number;
				public static CDATA_SECTION_NODE: number;
				public static COMMENT_NODE: number;
				public static DOCUMENT_POSITION_CONTAINED_BY: number;
				public static DOCUMENT_POSITION_DISCONNECTED: number;
				public static DOCUMENT_POSITION_PRECEDING: number;
				public static DOCUMENT_POSITION_CONTAINS: number;
				public compareDocumentPosition(param0: org.w3c.dom.Node): number;
				public hasChildNodes(): boolean;
				public removeChild(param0: org.w3c.dom.Node): org.w3c.dom.Node;
				public lookupPrefix(param0: string): string;
				public isDefaultNamespace(param0: string): boolean;
				public getLocalName(): string;
				public getChildNodes(): org.w3c.dom.NodeList;
				public getBaseURI(): string;
				public hasAttributes(): boolean;
				public getPublicId(): string;
				public normalize(): void;
				public getOwnerDocument(): org.w3c.dom.Document;
				public setNodeValue(param0: string): void;
				public getNamespaceURI(): string;
				public getSystemId(): string;
				public getTextContent(): string;
				public insertBefore(param0: org.w3c.dom.Node, param1: org.w3c.dom.Node): org.w3c.dom.Node;
				public setPrefix(param0: string): void;
				public setUserData(param0: string, param1: any, param2: org.w3c.dom.UserDataHandler): any;
				public getInternalSubset(): string;
				public getNotations(): org.w3c.dom.NamedNodeMap;
				public getNodeType(): number;
				public isSameNode(param0: org.w3c.dom.Node): boolean;
				public getPreviousSibling(): org.w3c.dom.Node;
				public getPrefix(): string;
				public setTextContent(param0: string): void;
				public getAttributes(): org.w3c.dom.NamedNodeMap;
				public appendChild(param0: org.w3c.dom.Node): org.w3c.dom.Node;
				public getName(): string;
				public getNodeValue(): string;
				public getFirstChild(): org.w3c.dom.Node;
				public replaceChild(param0: org.w3c.dom.Node, param1: org.w3c.dom.Node): org.w3c.dom.Node;
				public getFeature(param0: string, param1: string): any;
				public getLastChild(): org.w3c.dom.Node;
				public getUserData(param0: string): any;
				public cloneNode(param0: boolean): org.w3c.dom.Node;
				public isEqualNode(param0: org.w3c.dom.Node): boolean;
				public getNextSibling(): org.w3c.dom.Node;
				public lookupNamespaceURI(param0: string): string;
				public getEntities(): org.w3c.dom.NamedNodeMap;
				public getNodeName(): string;
				public getParentNode(): org.w3c.dom.Node;
				public isSupported(param0: string, param1: string): boolean;
			}
		}
	}
}

declare module org {
	export module w3c {
		export module dom {
			export class Element extends java.lang.Object implements org.w3c.dom.Node {
				public static class: java.lang.Class<org.w3c.dom.Element>;
				/**
				 * Constructs a new instance of the org.w3c.dom.Element interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getTagName(): string;
					getAttribute(param0: string): string;
					setAttribute(param0: string, param1: string): void;
					removeAttribute(param0: string): void;
					getAttributeNode(param0: string): org.w3c.dom.Attr;
					setAttributeNode(param0: org.w3c.dom.Attr): org.w3c.dom.Attr;
					removeAttributeNode(param0: org.w3c.dom.Attr): org.w3c.dom.Attr;
					getElementsByTagName(param0: string): org.w3c.dom.NodeList;
					getAttributeNS(param0: string, param1: string): string;
					setAttributeNS(param0: string, param1: string, param2: string): void;
					removeAttributeNS(param0: string, param1: string): void;
					getAttributeNodeNS(param0: string, param1: string): org.w3c.dom.Attr;
					setAttributeNodeNS(param0: org.w3c.dom.Attr): org.w3c.dom.Attr;
					getElementsByTagNameNS(param0: string, param1: string): org.w3c.dom.NodeList;
					hasAttribute(param0: string): boolean;
					hasAttributeNS(param0: string, param1: string): boolean;
					getSchemaTypeInfo(): org.w3c.dom.TypeInfo;
					setIdAttribute(param0: string, param1: boolean): void;
					setIdAttributeNS(param0: string, param1: string, param2: boolean): void;
					setIdAttributeNode(param0: org.w3c.dom.Attr, param1: boolean): void;
					getNodeName(): string;
					getNodeValue(): string;
					setNodeValue(param0: string): void;
					getNodeType(): number;
					getParentNode(): org.w3c.dom.Node;
					getChildNodes(): org.w3c.dom.NodeList;
					getFirstChild(): org.w3c.dom.Node;
					getLastChild(): org.w3c.dom.Node;
					getPreviousSibling(): org.w3c.dom.Node;
					getNextSibling(): org.w3c.dom.Node;
					getAttributes(): org.w3c.dom.NamedNodeMap;
					getOwnerDocument(): org.w3c.dom.Document;
					insertBefore(param0: org.w3c.dom.Node, param1: org.w3c.dom.Node): org.w3c.dom.Node;
					replaceChild(param0: org.w3c.dom.Node, param1: org.w3c.dom.Node): org.w3c.dom.Node;
					removeChild(param0: org.w3c.dom.Node): org.w3c.dom.Node;
					appendChild(param0: org.w3c.dom.Node): org.w3c.dom.Node;
					hasChildNodes(): boolean;
					cloneNode(param0: boolean): org.w3c.dom.Node;
					normalize(): void;
					isSupported(param0: string, param1: string): boolean;
					getNamespaceURI(): string;
					getPrefix(): string;
					setPrefix(param0: string): void;
					getLocalName(): string;
					hasAttributes(): boolean;
					getBaseURI(): string;
					compareDocumentPosition(param0: org.w3c.dom.Node): number;
					getTextContent(): string;
					setTextContent(param0: string): void;
					isSameNode(param0: org.w3c.dom.Node): boolean;
					lookupPrefix(param0: string): string;
					isDefaultNamespace(param0: string): boolean;
					lookupNamespaceURI(param0: string): string;
					isEqualNode(param0: org.w3c.dom.Node): boolean;
					getFeature(param0: string, param1: string): any;
					setUserData(param0: string, param1: any, param2: org.w3c.dom.UserDataHandler): any;
					getUserData(param0: string): any;
				});
				public constructor();
				public static DOCUMENT_FRAGMENT_NODE: number;
				public static DOCUMENT_TYPE_NODE: number;
				public static ELEMENT_NODE: number;
				public static DOCUMENT_POSITION_FOLLOWING: number;
				public static TEXT_NODE: number;
				public static ATTRIBUTE_NODE: number;
				public static DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: number;
				public static ENTITY_REFERENCE_NODE: number;
				public static NOTATION_NODE: number;
				public static DOCUMENT_NODE: number;
				public static ENTITY_NODE: number;
				public static PROCESSING_INSTRUCTION_NODE: number;
				public static CDATA_SECTION_NODE: number;
				public static COMMENT_NODE: number;
				public static DOCUMENT_POSITION_CONTAINED_BY: number;
				public static DOCUMENT_POSITION_DISCONNECTED: number;
				public static DOCUMENT_POSITION_PRECEDING: number;
				public static DOCUMENT_POSITION_CONTAINS: number;
				public setAttributeNode(param0: org.w3c.dom.Attr): org.w3c.dom.Attr;
				public compareDocumentPosition(param0: org.w3c.dom.Node): number;
				public removeChild(param0: org.w3c.dom.Node): org.w3c.dom.Node;
				public isDefaultNamespace(param0: string): boolean;
				public removeAttributeNS(param0: string, param1: string): void;
				public getChildNodes(): org.w3c.dom.NodeList;
				public getElementsByTagNameNS(param0: string, param1: string): org.w3c.dom.NodeList;
				public normalize(): void;
				public getOwnerDocument(): org.w3c.dom.Document;
				public getNamespaceURI(): string;
				public getTextContent(): string;
				public setAttribute(param0: string, param1: string): void;
				public setPrefix(param0: string): void;
				public setUserData(param0: string, param1: any, param2: org.w3c.dom.UserDataHandler): any;
				public getNodeType(): number;
				public isSameNode(param0: org.w3c.dom.Node): boolean;
				public setIdAttribute(param0: string, param1: boolean): void;
				public setTextContent(param0: string): void;
				public getAttributes(): org.w3c.dom.NamedNodeMap;
				public setAttributeNodeNS(param0: org.w3c.dom.Attr): org.w3c.dom.Attr;
				public getAttributeNodeNS(param0: string, param1: string): org.w3c.dom.Attr;
				public getNodeValue(): string;
				public getFirstChild(): org.w3c.dom.Node;
				public replaceChild(param0: org.w3c.dom.Node, param1: org.w3c.dom.Node): org.w3c.dom.Node;
				public getAttribute(param0: string): string;
				public getUserData(param0: string): any;
				public getAttributeNS(param0: string, param1: string): string;
				public getAttributeNode(param0: string): org.w3c.dom.Attr;
				public lookupNamespaceURI(param0: string): string;
				public getParentNode(): org.w3c.dom.Node;
				public getElementsByTagName(param0: string): org.w3c.dom.NodeList;
				public hasAttribute(param0: string): boolean;
				public hasChildNodes(): boolean;
				public lookupPrefix(param0: string): string;
				public getLocalName(): string;
				public getBaseURI(): string;
				public hasAttributes(): boolean;
				public setNodeValue(param0: string): void;
				public insertBefore(param0: org.w3c.dom.Node, param1: org.w3c.dom.Node): org.w3c.dom.Node;
				public setAttributeNS(param0: string, param1: string, param2: string): void;
				public getPreviousSibling(): org.w3c.dom.Node;
				public getPrefix(): string;
				public setIdAttributeNS(param0: string, param1: string, param2: boolean): void;
				public setIdAttributeNode(param0: org.w3c.dom.Attr, param1: boolean): void;
				public appendChild(param0: org.w3c.dom.Node): org.w3c.dom.Node;
				public getSchemaTypeInfo(): org.w3c.dom.TypeInfo;
				public removeAttribute(param0: string): void;
				public getFeature(param0: string, param1: string): any;
				public getLastChild(): org.w3c.dom.Node;
				public cloneNode(param0: boolean): org.w3c.dom.Node;
				public isEqualNode(param0: org.w3c.dom.Node): boolean;
				public getNextSibling(): org.w3c.dom.Node;
				public removeAttributeNode(param0: org.w3c.dom.Attr): org.w3c.dom.Attr;
				public hasAttributeNS(param0: string, param1: string): boolean;
				public getTagName(): string;
				public getNodeName(): string;
				public isSupported(param0: string, param1: string): boolean;
			}
		}
	}
}

declare module org {
	export module w3c {
		export module dom {
			export class Entity extends java.lang.Object implements org.w3c.dom.Node {
				public static class: java.lang.Class<org.w3c.dom.Entity>;
				/**
				 * Constructs a new instance of the org.w3c.dom.Entity interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getPublicId(): string;
					getSystemId(): string;
					getNotationName(): string;
					getInputEncoding(): string;
					getXmlEncoding(): string;
					getXmlVersion(): string;
					getNodeName(): string;
					getNodeValue(): string;
					setNodeValue(param0: string): void;
					getNodeType(): number;
					getParentNode(): org.w3c.dom.Node;
					getChildNodes(): org.w3c.dom.NodeList;
					getFirstChild(): org.w3c.dom.Node;
					getLastChild(): org.w3c.dom.Node;
					getPreviousSibling(): org.w3c.dom.Node;
					getNextSibling(): org.w3c.dom.Node;
					getAttributes(): org.w3c.dom.NamedNodeMap;
					getOwnerDocument(): org.w3c.dom.Document;
					insertBefore(param0: org.w3c.dom.Node, param1: org.w3c.dom.Node): org.w3c.dom.Node;
					replaceChild(param0: org.w3c.dom.Node, param1: org.w3c.dom.Node): org.w3c.dom.Node;
					removeChild(param0: org.w3c.dom.Node): org.w3c.dom.Node;
					appendChild(param0: org.w3c.dom.Node): org.w3c.dom.Node;
					hasChildNodes(): boolean;
					cloneNode(param0: boolean): org.w3c.dom.Node;
					normalize(): void;
					isSupported(param0: string, param1: string): boolean;
					getNamespaceURI(): string;
					getPrefix(): string;
					setPrefix(param0: string): void;
					getLocalName(): string;
					hasAttributes(): boolean;
					getBaseURI(): string;
					compareDocumentPosition(param0: org.w3c.dom.Node): number;
					getTextContent(): string;
					setTextContent(param0: string): void;
					isSameNode(param0: org.w3c.dom.Node): boolean;
					lookupPrefix(param0: string): string;
					isDefaultNamespace(param0: string): boolean;
					lookupNamespaceURI(param0: string): string;
					isEqualNode(param0: org.w3c.dom.Node): boolean;
					getFeature(param0: string, param1: string): any;
					setUserData(param0: string, param1: any, param2: org.w3c.dom.UserDataHandler): any;
					getUserData(param0: string): any;
				});
				public constructor();
				public static DOCUMENT_FRAGMENT_NODE: number;
				public static DOCUMENT_TYPE_NODE: number;
				public static ELEMENT_NODE: number;
				public static DOCUMENT_POSITION_FOLLOWING: number;
				public static TEXT_NODE: number;
				public static ATTRIBUTE_NODE: number;
				public static DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: number;
				public static ENTITY_REFERENCE_NODE: number;
				public static NOTATION_NODE: number;
				public static DOCUMENT_NODE: number;
				public static ENTITY_NODE: number;
				public static PROCESSING_INSTRUCTION_NODE: number;
				public static CDATA_SECTION_NODE: number;
				public static COMMENT_NODE: number;
				public static DOCUMENT_POSITION_CONTAINED_BY: number;
				public static DOCUMENT_POSITION_DISCONNECTED: number;
				public static DOCUMENT_POSITION_PRECEDING: number;
				public static DOCUMENT_POSITION_CONTAINS: number;
				public getInputEncoding(): string;
				public getXmlEncoding(): string;
				public compareDocumentPosition(param0: org.w3c.dom.Node): number;
				public hasChildNodes(): boolean;
				public removeChild(param0: org.w3c.dom.Node): org.w3c.dom.Node;
				public lookupPrefix(param0: string): string;
				public isDefaultNamespace(param0: string): boolean;
				public getLocalName(): string;
				public getChildNodes(): org.w3c.dom.NodeList;
				public getBaseURI(): string;
				public hasAttributes(): boolean;
				public getPublicId(): string;
				public normalize(): void;
				public getOwnerDocument(): org.w3c.dom.Document;
				public setNodeValue(param0: string): void;
				public getNamespaceURI(): string;
				public getSystemId(): string;
				public getTextContent(): string;
				public insertBefore(param0: org.w3c.dom.Node, param1: org.w3c.dom.Node): org.w3c.dom.Node;
				public setPrefix(param0: string): void;
				public setUserData(param0: string, param1: any, param2: org.w3c.dom.UserDataHandler): any;
				public getNodeType(): number;
				public getNotationName(): string;
				public isSameNode(param0: org.w3c.dom.Node): boolean;
				public getPreviousSibling(): org.w3c.dom.Node;
				public getPrefix(): string;
				public setTextContent(param0: string): void;
				public getAttributes(): org.w3c.dom.NamedNodeMap;
				public appendChild(param0: org.w3c.dom.Node): org.w3c.dom.Node;
				public getNodeValue(): string;
				public getXmlVersion(): string;
				public getFirstChild(): org.w3c.dom.Node;
				public replaceChild(param0: org.w3c.dom.Node, param1: org.w3c.dom.Node): org.w3c.dom.Node;
				public getFeature(param0: string, param1: string): any;
				public getLastChild(): org.w3c.dom.Node;
				public getUserData(param0: string): any;
				public cloneNode(param0: boolean): org.w3c.dom.Node;
				public isEqualNode(param0: org.w3c.dom.Node): boolean;
				public getNextSibling(): org.w3c.dom.Node;
				public lookupNamespaceURI(param0: string): string;
				public getNodeName(): string;
				public getParentNode(): org.w3c.dom.Node;
				public isSupported(param0: string, param1: string): boolean;
			}
		}
	}
}

declare module org {
	export module w3c {
		export module dom {
			export class EntityReference extends java.lang.Object implements org.w3c.dom.Node {
				public static class: java.lang.Class<org.w3c.dom.EntityReference>;
				/**
				 * Constructs a new instance of the org.w3c.dom.EntityReference interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getNodeName(): string;
					getNodeValue(): string;
					setNodeValue(param0: string): void;
					getNodeType(): number;
					getParentNode(): org.w3c.dom.Node;
					getChildNodes(): org.w3c.dom.NodeList;
					getFirstChild(): org.w3c.dom.Node;
					getLastChild(): org.w3c.dom.Node;
					getPreviousSibling(): org.w3c.dom.Node;
					getNextSibling(): org.w3c.dom.Node;
					getAttributes(): org.w3c.dom.NamedNodeMap;
					getOwnerDocument(): org.w3c.dom.Document;
					insertBefore(param0: org.w3c.dom.Node, param1: org.w3c.dom.Node): org.w3c.dom.Node;
					replaceChild(param0: org.w3c.dom.Node, param1: org.w3c.dom.Node): org.w3c.dom.Node;
					removeChild(param0: org.w3c.dom.Node): org.w3c.dom.Node;
					appendChild(param0: org.w3c.dom.Node): org.w3c.dom.Node;
					hasChildNodes(): boolean;
					cloneNode(param0: boolean): org.w3c.dom.Node;
					normalize(): void;
					isSupported(param0: string, param1: string): boolean;
					getNamespaceURI(): string;
					getPrefix(): string;
					setPrefix(param0: string): void;
					getLocalName(): string;
					hasAttributes(): boolean;
					getBaseURI(): string;
					compareDocumentPosition(param0: org.w3c.dom.Node): number;
					getTextContent(): string;
					setTextContent(param0: string): void;
					isSameNode(param0: org.w3c.dom.Node): boolean;
					lookupPrefix(param0: string): string;
					isDefaultNamespace(param0: string): boolean;
					lookupNamespaceURI(param0: string): string;
					isEqualNode(param0: org.w3c.dom.Node): boolean;
					getFeature(param0: string, param1: string): any;
					setUserData(param0: string, param1: any, param2: org.w3c.dom.UserDataHandler): any;
					getUserData(param0: string): any;
				});
				public constructor();
				public static DOCUMENT_FRAGMENT_NODE: number;
				public static DOCUMENT_TYPE_NODE: number;
				public static ELEMENT_NODE: number;
				public static DOCUMENT_POSITION_FOLLOWING: number;
				public static TEXT_NODE: number;
				public static ATTRIBUTE_NODE: number;
				public static DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: number;
				public static ENTITY_REFERENCE_NODE: number;
				public static NOTATION_NODE: number;
				public static DOCUMENT_NODE: number;
				public static ENTITY_NODE: number;
				public static PROCESSING_INSTRUCTION_NODE: number;
				public static CDATA_SECTION_NODE: number;
				public static COMMENT_NODE: number;
				public static DOCUMENT_POSITION_CONTAINED_BY: number;
				public static DOCUMENT_POSITION_DISCONNECTED: number;
				public static DOCUMENT_POSITION_PRECEDING: number;
				public static DOCUMENT_POSITION_CONTAINS: number;
				public compareDocumentPosition(param0: org.w3c.dom.Node): number;
				public hasChildNodes(): boolean;
				public removeChild(param0: org.w3c.dom.Node): org.w3c.dom.Node;
				public lookupPrefix(param0: string): string;
				public isDefaultNamespace(param0: string): boolean;
				public getLocalName(): string;
				public getChildNodes(): org.w3c.dom.NodeList;
				public getBaseURI(): string;
				public hasAttributes(): boolean;
				public normalize(): void;
				public getOwnerDocument(): org.w3c.dom.Document;
				public setNodeValue(param0: string): void;
				public getNamespaceURI(): string;
				public getTextContent(): string;
				public insertBefore(param0: org.w3c.dom.Node, param1: org.w3c.dom.Node): org.w3c.dom.Node;
				public setPrefix(param0: string): void;
				public setUserData(param0: string, param1: any, param2: org.w3c.dom.UserDataHandler): any;
				public getNodeType(): number;
				public isSameNode(param0: org.w3c.dom.Node): boolean;
				public getPreviousSibling(): org.w3c.dom.Node;
				public getPrefix(): string;
				public setTextContent(param0: string): void;
				public getAttributes(): org.w3c.dom.NamedNodeMap;
				public appendChild(param0: org.w3c.dom.Node): org.w3c.dom.Node;
				public getNodeValue(): string;
				public getFirstChild(): org.w3c.dom.Node;
				public replaceChild(param0: org.w3c.dom.Node, param1: org.w3c.dom.Node): org.w3c.dom.Node;
				public getFeature(param0: string, param1: string): any;
				public getLastChild(): org.w3c.dom.Node;
				public getUserData(param0: string): any;
				public cloneNode(param0: boolean): org.w3c.dom.Node;
				public isEqualNode(param0: org.w3c.dom.Node): boolean;
				public getNextSibling(): org.w3c.dom.Node;
				public lookupNamespaceURI(param0: string): string;
				public getNodeName(): string;
				public getParentNode(): org.w3c.dom.Node;
				public isSupported(param0: string, param1: string): boolean;
			}
		}
	}
}

declare module org {
	export module w3c {
		export module dom {
			export class NameList extends java.lang.Object {
				public static class: java.lang.Class<org.w3c.dom.NameList>;
				/**
				 * Constructs a new instance of the org.w3c.dom.NameList interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getName(param0: number): string;
					getNamespaceURI(param0: number): string;
					getLength(): number;
					contains(param0: string): boolean;
					containsNS(param0: string, param1: string): boolean;
				});
				public constructor();
				public getName(param0: number): string;
				public contains(param0: string): boolean;
				public getNamespaceURI(param0: number): string;
				public containsNS(param0: string, param1: string): boolean;
				public getLength(): number;
			}
		}
	}
}

declare module org {
	export module w3c {
		export module dom {
			export class NamedNodeMap extends java.lang.Object {
				public static class: java.lang.Class<org.w3c.dom.NamedNodeMap>;
				/**
				 * Constructs a new instance of the org.w3c.dom.NamedNodeMap interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getNamedItem(param0: string): org.w3c.dom.Node;
					setNamedItem(param0: org.w3c.dom.Node): org.w3c.dom.Node;
					removeNamedItem(param0: string): org.w3c.dom.Node;
					item(param0: number): org.w3c.dom.Node;
					getLength(): number;
					getNamedItemNS(param0: string, param1: string): org.w3c.dom.Node;
					setNamedItemNS(param0: org.w3c.dom.Node): org.w3c.dom.Node;
					removeNamedItemNS(param0: string, param1: string): org.w3c.dom.Node;
				});
				public constructor();
				public item(param0: number): org.w3c.dom.Node;
				public setNamedItem(param0: org.w3c.dom.Node): org.w3c.dom.Node;
				public setNamedItemNS(param0: org.w3c.dom.Node): org.w3c.dom.Node;
				public removeNamedItemNS(param0: string, param1: string): org.w3c.dom.Node;
				public removeNamedItem(param0: string): org.w3c.dom.Node;
				public getNamedItemNS(param0: string, param1: string): org.w3c.dom.Node;
				public getLength(): number;
				public getNamedItem(param0: string): org.w3c.dom.Node;
			}
		}
	}
}

declare module org {
	export module w3c {
		export module dom {
			export class Node extends java.lang.Object {
				public static class: java.lang.Class<org.w3c.dom.Node>;
				/**
				 * Constructs a new instance of the org.w3c.dom.Node interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getNodeName(): string;
					getNodeValue(): string;
					setNodeValue(param0: string): void;
					getNodeType(): number;
					getParentNode(): org.w3c.dom.Node;
					getChildNodes(): org.w3c.dom.NodeList;
					getFirstChild(): org.w3c.dom.Node;
					getLastChild(): org.w3c.dom.Node;
					getPreviousSibling(): org.w3c.dom.Node;
					getNextSibling(): org.w3c.dom.Node;
					getAttributes(): org.w3c.dom.NamedNodeMap;
					getOwnerDocument(): org.w3c.dom.Document;
					insertBefore(param0: org.w3c.dom.Node, param1: org.w3c.dom.Node): org.w3c.dom.Node;
					replaceChild(param0: org.w3c.dom.Node, param1: org.w3c.dom.Node): org.w3c.dom.Node;
					removeChild(param0: org.w3c.dom.Node): org.w3c.dom.Node;
					appendChild(param0: org.w3c.dom.Node): org.w3c.dom.Node;
					hasChildNodes(): boolean;
					cloneNode(param0: boolean): org.w3c.dom.Node;
					normalize(): void;
					isSupported(param0: string, param1: string): boolean;
					getNamespaceURI(): string;
					getPrefix(): string;
					setPrefix(param0: string): void;
					getLocalName(): string;
					hasAttributes(): boolean;
					getBaseURI(): string;
					compareDocumentPosition(param0: org.w3c.dom.Node): number;
					getTextContent(): string;
					setTextContent(param0: string): void;
					isSameNode(param0: org.w3c.dom.Node): boolean;
					lookupPrefix(param0: string): string;
					isDefaultNamespace(param0: string): boolean;
					lookupNamespaceURI(param0: string): string;
					isEqualNode(param0: org.w3c.dom.Node): boolean;
					getFeature(param0: string, param1: string): any;
					setUserData(param0: string, param1: any, param2: org.w3c.dom.UserDataHandler): any;
					getUserData(param0: string): any;
				});
				public constructor();
				public static DOCUMENT_FRAGMENT_NODE: number;
				public static DOCUMENT_TYPE_NODE: number;
				public static ELEMENT_NODE: number;
				public static DOCUMENT_POSITION_FOLLOWING: number;
				public static TEXT_NODE: number;
				public static ATTRIBUTE_NODE: number;
				public static DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: number;
				public static ENTITY_REFERENCE_NODE: number;
				public static NOTATION_NODE: number;
				public static DOCUMENT_NODE: number;
				public static ENTITY_NODE: number;
				public static PROCESSING_INSTRUCTION_NODE: number;
				public static CDATA_SECTION_NODE: number;
				public static COMMENT_NODE: number;
				public static DOCUMENT_POSITION_CONTAINED_BY: number;
				public static DOCUMENT_POSITION_DISCONNECTED: number;
				public static DOCUMENT_POSITION_PRECEDING: number;
				public static DOCUMENT_POSITION_CONTAINS: number;
				public compareDocumentPosition(param0: org.w3c.dom.Node): number;
				public hasChildNodes(): boolean;
				public removeChild(param0: org.w3c.dom.Node): org.w3c.dom.Node;
				public lookupPrefix(param0: string): string;
				public isDefaultNamespace(param0: string): boolean;
				public getLocalName(): string;
				public getChildNodes(): org.w3c.dom.NodeList;
				public getBaseURI(): string;
				public hasAttributes(): boolean;
				public normalize(): void;
				public getOwnerDocument(): org.w3c.dom.Document;
				public setNodeValue(param0: string): void;
				public getNamespaceURI(): string;
				public getTextContent(): string;
				public insertBefore(param0: org.w3c.dom.Node, param1: org.w3c.dom.Node): org.w3c.dom.Node;
				public setPrefix(param0: string): void;
				public setUserData(param0: string, param1: any, param2: org.w3c.dom.UserDataHandler): any;
				public getNodeType(): number;
				public isSameNode(param0: org.w3c.dom.Node): boolean;
				public getPreviousSibling(): org.w3c.dom.Node;
				public getPrefix(): string;
				public setTextContent(param0: string): void;
				public getAttributes(): org.w3c.dom.NamedNodeMap;
				public appendChild(param0: org.w3c.dom.Node): org.w3c.dom.Node;
				public getNodeValue(): string;
				public getFirstChild(): org.w3c.dom.Node;
				public replaceChild(param0: org.w3c.dom.Node, param1: org.w3c.dom.Node): org.w3c.dom.Node;
				public getFeature(param0: string, param1: string): any;
				public getLastChild(): org.w3c.dom.Node;
				public getUserData(param0: string): any;
				public cloneNode(param0: boolean): org.w3c.dom.Node;
				public isEqualNode(param0: org.w3c.dom.Node): boolean;
				public getNextSibling(): org.w3c.dom.Node;
				public lookupNamespaceURI(param0: string): string;
				public getNodeName(): string;
				public getParentNode(): org.w3c.dom.Node;
				public isSupported(param0: string, param1: string): boolean;
			}
		}
	}
}

declare module org {
	export module w3c {
		export module dom {
			export class NodeList extends java.lang.Object {
				public static class: java.lang.Class<org.w3c.dom.NodeList>;
				/**
				 * Constructs a new instance of the org.w3c.dom.NodeList interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					item(param0: number): org.w3c.dom.Node;
					getLength(): number;
				});
				public constructor();
				public item(param0: number): org.w3c.dom.Node;
				public getLength(): number;
			}
		}
	}
}

declare module org {
	export module w3c {
		export module dom {
			export class Notation extends java.lang.Object implements org.w3c.dom.Node {
				public static class: java.lang.Class<org.w3c.dom.Notation>;
				/**
				 * Constructs a new instance of the org.w3c.dom.Notation interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getPublicId(): string;
					getSystemId(): string;
					getNodeName(): string;
					getNodeValue(): string;
					setNodeValue(param0: string): void;
					getNodeType(): number;
					getParentNode(): org.w3c.dom.Node;
					getChildNodes(): org.w3c.dom.NodeList;
					getFirstChild(): org.w3c.dom.Node;
					getLastChild(): org.w3c.dom.Node;
					getPreviousSibling(): org.w3c.dom.Node;
					getNextSibling(): org.w3c.dom.Node;
					getAttributes(): org.w3c.dom.NamedNodeMap;
					getOwnerDocument(): org.w3c.dom.Document;
					insertBefore(param0: org.w3c.dom.Node, param1: org.w3c.dom.Node): org.w3c.dom.Node;
					replaceChild(param0: org.w3c.dom.Node, param1: org.w3c.dom.Node): org.w3c.dom.Node;
					removeChild(param0: org.w3c.dom.Node): org.w3c.dom.Node;
					appendChild(param0: org.w3c.dom.Node): org.w3c.dom.Node;
					hasChildNodes(): boolean;
					cloneNode(param0: boolean): org.w3c.dom.Node;
					normalize(): void;
					isSupported(param0: string, param1: string): boolean;
					getNamespaceURI(): string;
					getPrefix(): string;
					setPrefix(param0: string): void;
					getLocalName(): string;
					hasAttributes(): boolean;
					getBaseURI(): string;
					compareDocumentPosition(param0: org.w3c.dom.Node): number;
					getTextContent(): string;
					setTextContent(param0: string): void;
					isSameNode(param0: org.w3c.dom.Node): boolean;
					lookupPrefix(param0: string): string;
					isDefaultNamespace(param0: string): boolean;
					lookupNamespaceURI(param0: string): string;
					isEqualNode(param0: org.w3c.dom.Node): boolean;
					getFeature(param0: string, param1: string): any;
					setUserData(param0: string, param1: any, param2: org.w3c.dom.UserDataHandler): any;
					getUserData(param0: string): any;
				});
				public constructor();
				public static DOCUMENT_FRAGMENT_NODE: number;
				public static DOCUMENT_TYPE_NODE: number;
				public static ELEMENT_NODE: number;
				public static DOCUMENT_POSITION_FOLLOWING: number;
				public static TEXT_NODE: number;
				public static ATTRIBUTE_NODE: number;
				public static DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: number;
				public static ENTITY_REFERENCE_NODE: number;
				public static NOTATION_NODE: number;
				public static DOCUMENT_NODE: number;
				public static ENTITY_NODE: number;
				public static PROCESSING_INSTRUCTION_NODE: number;
				public static CDATA_SECTION_NODE: number;
				public static COMMENT_NODE: number;
				public static DOCUMENT_POSITION_CONTAINED_BY: number;
				public static DOCUMENT_POSITION_DISCONNECTED: number;
				public static DOCUMENT_POSITION_PRECEDING: number;
				public static DOCUMENT_POSITION_CONTAINS: number;
				public compareDocumentPosition(param0: org.w3c.dom.Node): number;
				public hasChildNodes(): boolean;
				public removeChild(param0: org.w3c.dom.Node): org.w3c.dom.Node;
				public lookupPrefix(param0: string): string;
				public isDefaultNamespace(param0: string): boolean;
				public getLocalName(): string;
				public getChildNodes(): org.w3c.dom.NodeList;
				public getBaseURI(): string;
				public hasAttributes(): boolean;
				public getPublicId(): string;
				public normalize(): void;
				public getOwnerDocument(): org.w3c.dom.Document;
				public setNodeValue(param0: string): void;
				public getNamespaceURI(): string;
				public getSystemId(): string;
				public getTextContent(): string;
				public insertBefore(param0: org.w3c.dom.Node, param1: org.w3c.dom.Node): org.w3c.dom.Node;
				public setPrefix(param0: string): void;
				public setUserData(param0: string, param1: any, param2: org.w3c.dom.UserDataHandler): any;
				public getNodeType(): number;
				public isSameNode(param0: org.w3c.dom.Node): boolean;
				public getPreviousSibling(): org.w3c.dom.Node;
				public getPrefix(): string;
				public setTextContent(param0: string): void;
				public getAttributes(): org.w3c.dom.NamedNodeMap;
				public appendChild(param0: org.w3c.dom.Node): org.w3c.dom.Node;
				public getNodeValue(): string;
				public getFirstChild(): org.w3c.dom.Node;
				public replaceChild(param0: org.w3c.dom.Node, param1: org.w3c.dom.Node): org.w3c.dom.Node;
				public getFeature(param0: string, param1: string): any;
				public getLastChild(): org.w3c.dom.Node;
				public getUserData(param0: string): any;
				public cloneNode(param0: boolean): org.w3c.dom.Node;
				public isEqualNode(param0: org.w3c.dom.Node): boolean;
				public getNextSibling(): org.w3c.dom.Node;
				public lookupNamespaceURI(param0: string): string;
				public getNodeName(): string;
				public getParentNode(): org.w3c.dom.Node;
				public isSupported(param0: string, param1: string): boolean;
			}
		}
	}
}

declare module org {
	export module w3c {
		export module dom {
			export class ProcessingInstruction extends java.lang.Object implements org.w3c.dom.Node {
				public static class: java.lang.Class<org.w3c.dom.ProcessingInstruction>;
				/**
				 * Constructs a new instance of the org.w3c.dom.ProcessingInstruction interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getTarget(): string;
					getData(): string;
					setData(param0: string): void;
					getNodeName(): string;
					getNodeValue(): string;
					setNodeValue(param0: string): void;
					getNodeType(): number;
					getParentNode(): org.w3c.dom.Node;
					getChildNodes(): org.w3c.dom.NodeList;
					getFirstChild(): org.w3c.dom.Node;
					getLastChild(): org.w3c.dom.Node;
					getPreviousSibling(): org.w3c.dom.Node;
					getNextSibling(): org.w3c.dom.Node;
					getAttributes(): org.w3c.dom.NamedNodeMap;
					getOwnerDocument(): org.w3c.dom.Document;
					insertBefore(param0: org.w3c.dom.Node, param1: org.w3c.dom.Node): org.w3c.dom.Node;
					replaceChild(param0: org.w3c.dom.Node, param1: org.w3c.dom.Node): org.w3c.dom.Node;
					removeChild(param0: org.w3c.dom.Node): org.w3c.dom.Node;
					appendChild(param0: org.w3c.dom.Node): org.w3c.dom.Node;
					hasChildNodes(): boolean;
					cloneNode(param0: boolean): org.w3c.dom.Node;
					normalize(): void;
					isSupported(param0: string, param1: string): boolean;
					getNamespaceURI(): string;
					getPrefix(): string;
					setPrefix(param0: string): void;
					getLocalName(): string;
					hasAttributes(): boolean;
					getBaseURI(): string;
					compareDocumentPosition(param0: org.w3c.dom.Node): number;
					getTextContent(): string;
					setTextContent(param0: string): void;
					isSameNode(param0: org.w3c.dom.Node): boolean;
					lookupPrefix(param0: string): string;
					isDefaultNamespace(param0: string): boolean;
					lookupNamespaceURI(param0: string): string;
					isEqualNode(param0: org.w3c.dom.Node): boolean;
					getFeature(param0: string, param1: string): any;
					setUserData(param0: string, param1: any, param2: org.w3c.dom.UserDataHandler): any;
					getUserData(param0: string): any;
				});
				public constructor();
				public static DOCUMENT_FRAGMENT_NODE: number;
				public static DOCUMENT_TYPE_NODE: number;
				public static ELEMENT_NODE: number;
				public static DOCUMENT_POSITION_FOLLOWING: number;
				public static TEXT_NODE: number;
				public static ATTRIBUTE_NODE: number;
				public static DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: number;
				public static ENTITY_REFERENCE_NODE: number;
				public static NOTATION_NODE: number;
				public static DOCUMENT_NODE: number;
				public static ENTITY_NODE: number;
				public static PROCESSING_INSTRUCTION_NODE: number;
				public static CDATA_SECTION_NODE: number;
				public static COMMENT_NODE: number;
				public static DOCUMENT_POSITION_CONTAINED_BY: number;
				public static DOCUMENT_POSITION_DISCONNECTED: number;
				public static DOCUMENT_POSITION_PRECEDING: number;
				public static DOCUMENT_POSITION_CONTAINS: number;
				public compareDocumentPosition(param0: org.w3c.dom.Node): number;
				public setData(param0: string): void;
				public hasChildNodes(): boolean;
				public removeChild(param0: org.w3c.dom.Node): org.w3c.dom.Node;
				public lookupPrefix(param0: string): string;
				public isDefaultNamespace(param0: string): boolean;
				public getLocalName(): string;
				public getChildNodes(): org.w3c.dom.NodeList;
				public getBaseURI(): string;
				public hasAttributes(): boolean;
				public normalize(): void;
				public getOwnerDocument(): org.w3c.dom.Document;
				public setNodeValue(param0: string): void;
				public getNamespaceURI(): string;
				public getTextContent(): string;
				public insertBefore(param0: org.w3c.dom.Node, param1: org.w3c.dom.Node): org.w3c.dom.Node;
				public setPrefix(param0: string): void;
				public setUserData(param0: string, param1: any, param2: org.w3c.dom.UserDataHandler): any;
				public getNodeType(): number;
				public isSameNode(param0: org.w3c.dom.Node): boolean;
				public getPreviousSibling(): org.w3c.dom.Node;
				public getPrefix(): string;
				public setTextContent(param0: string): void;
				public getTarget(): string;
				public getAttributes(): org.w3c.dom.NamedNodeMap;
				public appendChild(param0: org.w3c.dom.Node): org.w3c.dom.Node;
				public getNodeValue(): string;
				public getFirstChild(): org.w3c.dom.Node;
				public replaceChild(param0: org.w3c.dom.Node, param1: org.w3c.dom.Node): org.w3c.dom.Node;
				public getFeature(param0: string, param1: string): any;
				public getLastChild(): org.w3c.dom.Node;
				public getUserData(param0: string): any;
				public getData(): string;
				public cloneNode(param0: boolean): org.w3c.dom.Node;
				public isEqualNode(param0: org.w3c.dom.Node): boolean;
				public getNextSibling(): org.w3c.dom.Node;
				public lookupNamespaceURI(param0: string): string;
				public getNodeName(): string;
				public getParentNode(): org.w3c.dom.Node;
				public isSupported(param0: string, param1: string): boolean;
			}
		}
	}
}

declare module org {
	export module w3c {
		export module dom {
			export class Text extends java.lang.Object implements org.w3c.dom.CharacterData {
				public static class: java.lang.Class<org.w3c.dom.Text>;
				/**
				 * Constructs a new instance of the org.w3c.dom.Text interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					splitText(param0: number): org.w3c.dom.Text;
					isElementContentWhitespace(): boolean;
					getWholeText(): string;
					replaceWholeText(param0: string): org.w3c.dom.Text;
					getData(): string;
					setData(param0: string): void;
					getLength(): number;
					substringData(param0: number, param1: number): string;
					appendData(param0: string): void;
					insertData(param0: number, param1: string): void;
					deleteData(param0: number, param1: number): void;
					replaceData(param0: number, param1: number, param2: string): void;
					getNodeName(): string;
					getNodeValue(): string;
					setNodeValue(param0: string): void;
					getNodeType(): number;
					getParentNode(): org.w3c.dom.Node;
					getChildNodes(): org.w3c.dom.NodeList;
					getFirstChild(): org.w3c.dom.Node;
					getLastChild(): org.w3c.dom.Node;
					getPreviousSibling(): org.w3c.dom.Node;
					getNextSibling(): org.w3c.dom.Node;
					getAttributes(): org.w3c.dom.NamedNodeMap;
					getOwnerDocument(): org.w3c.dom.Document;
					insertBefore(param0: org.w3c.dom.Node, param1: org.w3c.dom.Node): org.w3c.dom.Node;
					replaceChild(param0: org.w3c.dom.Node, param1: org.w3c.dom.Node): org.w3c.dom.Node;
					removeChild(param0: org.w3c.dom.Node): org.w3c.dom.Node;
					appendChild(param0: org.w3c.dom.Node): org.w3c.dom.Node;
					hasChildNodes(): boolean;
					cloneNode(param0: boolean): org.w3c.dom.Node;
					normalize(): void;
					isSupported(param0: string, param1: string): boolean;
					getNamespaceURI(): string;
					getPrefix(): string;
					setPrefix(param0: string): void;
					getLocalName(): string;
					hasAttributes(): boolean;
					getBaseURI(): string;
					compareDocumentPosition(param0: org.w3c.dom.Node): number;
					getTextContent(): string;
					setTextContent(param0: string): void;
					isSameNode(param0: org.w3c.dom.Node): boolean;
					lookupPrefix(param0: string): string;
					isDefaultNamespace(param0: string): boolean;
					lookupNamespaceURI(param0: string): string;
					isEqualNode(param0: org.w3c.dom.Node): boolean;
					getFeature(param0: string, param1: string): any;
					setUserData(param0: string, param1: any, param2: org.w3c.dom.UserDataHandler): any;
					getUserData(param0: string): any;
				});
				public constructor();
				public static DOCUMENT_FRAGMENT_NODE: number;
				public static DOCUMENT_TYPE_NODE: number;
				public static ELEMENT_NODE: number;
				public static DOCUMENT_POSITION_FOLLOWING: number;
				public static TEXT_NODE: number;
				public static ATTRIBUTE_NODE: number;
				public static DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: number;
				public static ENTITY_REFERENCE_NODE: number;
				public static NOTATION_NODE: number;
				public static DOCUMENT_NODE: number;
				public static ENTITY_NODE: number;
				public static PROCESSING_INSTRUCTION_NODE: number;
				public static CDATA_SECTION_NODE: number;
				public static COMMENT_NODE: number;
				public static DOCUMENT_POSITION_CONTAINED_BY: number;
				public static DOCUMENT_POSITION_DISCONNECTED: number;
				public static DOCUMENT_POSITION_PRECEDING: number;
				public static DOCUMENT_POSITION_CONTAINS: number;
				public compareDocumentPosition(param0: org.w3c.dom.Node): number;
				public splitText(param0: number): org.w3c.dom.Text;
				public removeChild(param0: org.w3c.dom.Node): org.w3c.dom.Node;
				public getWholeText(): string;
				public isDefaultNamespace(param0: string): boolean;
				public appendData(param0: string): void;
				public getChildNodes(): org.w3c.dom.NodeList;
				public normalize(): void;
				public getOwnerDocument(): org.w3c.dom.Document;
				public getNamespaceURI(): string;
				public getTextContent(): string;
				public setPrefix(param0: string): void;
				public setUserData(param0: string, param1: any, param2: org.w3c.dom.UserDataHandler): any;
				public getNodeType(): number;
				public isSameNode(param0: org.w3c.dom.Node): boolean;
				public setTextContent(param0: string): void;
				public getAttributes(): org.w3c.dom.NamedNodeMap;
				public getNodeValue(): string;
				public getFirstChild(): org.w3c.dom.Node;
				public replaceChild(param0: org.w3c.dom.Node, param1: org.w3c.dom.Node): org.w3c.dom.Node;
				public getUserData(param0: string): any;
				public lookupNamespaceURI(param0: string): string;
				public getParentNode(): org.w3c.dom.Node;
				public setData(param0: string): void;
				public hasChildNodes(): boolean;
				public isElementContentWhitespace(): boolean;
				public lookupPrefix(param0: string): string;
				public replaceWholeText(param0: string): org.w3c.dom.Text;
				public getLocalName(): string;
				public substringData(param0: number, param1: number): string;
				public getBaseURI(): string;
				public hasAttributes(): boolean;
				public replaceData(param0: number, param1: number, param2: string): void;
				public setNodeValue(param0: string): void;
				public insertBefore(param0: org.w3c.dom.Node, param1: org.w3c.dom.Node): org.w3c.dom.Node;
				public getPreviousSibling(): org.w3c.dom.Node;
				public getPrefix(): string;
				public insertData(param0: number, param1: string): void;
				public appendChild(param0: org.w3c.dom.Node): org.w3c.dom.Node;
				public getLength(): number;
				public getFeature(param0: string, param1: string): any;
				public getLastChild(): org.w3c.dom.Node;
				public getData(): string;
				public cloneNode(param0: boolean): org.w3c.dom.Node;
				public isEqualNode(param0: org.w3c.dom.Node): boolean;
				public getNextSibling(): org.w3c.dom.Node;
				public deleteData(param0: number, param1: number): void;
				public getNodeName(): string;
				public isSupported(param0: string, param1: string): boolean;
			}
		}
	}
}

declare module org {
	export module w3c {
		export module dom {
			export class TypeInfo extends java.lang.Object {
				public static class: java.lang.Class<org.w3c.dom.TypeInfo>;
				/**
				 * Constructs a new instance of the org.w3c.dom.TypeInfo interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getTypeName(): string;
					getTypeNamespace(): string;
					isDerivedFrom(param0: string, param1: string, param2: number): boolean;
				});
				public constructor();
				public static DERIVATION_RESTRICTION: number;
				public static DERIVATION_LIST: number;
				public static DERIVATION_UNION: number;
				public static DERIVATION_EXTENSION: number;
				public getTypeName(): string;
				public getTypeNamespace(): string;
				public isDerivedFrom(param0: string, param1: string, param2: number): boolean;
			}
		}
	}
}

declare module org {
	export module w3c {
		export module dom {
			export class UserDataHandler extends java.lang.Object {
				public static class: java.lang.Class<org.w3c.dom.UserDataHandler>;
				/**
				 * Constructs a new instance of the org.w3c.dom.UserDataHandler interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					handle(param0: number, param1: string, param2: any, param3: org.w3c.dom.Node, param4: org.w3c.dom.Node): void;
				});
				public constructor();
				public static NODE_DELETED: number;
				public static NODE_RENAMED: number;
				public static NODE_ADOPTED: number;
				public static NODE_IMPORTED: number;
				public static NODE_CLONED: number;
				public handle(param0: number, param1: string, param2: any, param3: org.w3c.dom.Node, param4: org.w3c.dom.Node): void;
			}
		}
	}
}

declare module org {
	export module w3c {
		export module dom {
			export module ls {
				export class DOMImplementationLS extends java.lang.Object {
					public static class: java.lang.Class<org.w3c.dom.ls.DOMImplementationLS>;
					/**
					 * Constructs a new instance of the org.w3c.dom.ls.DOMImplementationLS interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						createLSParser(param0: number, param1: string): org.w3c.dom.ls.LSParser;
						createLSSerializer(): org.w3c.dom.ls.LSSerializer;
						createLSInput(): org.w3c.dom.ls.LSInput;
						createLSOutput(): org.w3c.dom.ls.LSOutput;
					});
					public constructor();
					public static MODE_SYNCHRONOUS: number;
					public static MODE_ASYNCHRONOUS: number;
					public createLSInput(): org.w3c.dom.ls.LSInput;
					public createLSParser(param0: number, param1: string): org.w3c.dom.ls.LSParser;
					public createLSOutput(): org.w3c.dom.ls.LSOutput;
					public createLSSerializer(): org.w3c.dom.ls.LSSerializer;
				}
			}
		}
	}
}

declare module org {
	export module w3c {
		export module dom {
			export module ls {
				export class LSException extends java.lang.RuntimeException {
					public static class: java.lang.Class<org.w3c.dom.ls.LSException>;
					public static PARSE_ERR: number;
					public static SERIALIZE_ERR: number;
					public code: number;
					public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
					public constructor(param0: string, param1: java.lang.Throwable);
					public constructor(param0: string);
					public constructor(param0: java.lang.Throwable);
					public constructor();
					public constructor(param0: number, param1: string);
				}
			}
		}
	}
}

declare module org {
	export module w3c {
		export module dom {
			export module ls {
				export class LSInput extends java.lang.Object {
					public static class: java.lang.Class<org.w3c.dom.ls.LSInput>;
					/**
					 * Constructs a new instance of the org.w3c.dom.ls.LSInput interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						getCharacterStream(): java.io.Reader;
						setCharacterStream(param0: java.io.Reader): void;
						getByteStream(): java.io.InputStream;
						setByteStream(param0: java.io.InputStream): void;
						getStringData(): string;
						setStringData(param0: string): void;
						getSystemId(): string;
						setSystemId(param0: string): void;
						getPublicId(): string;
						setPublicId(param0: string): void;
						getBaseURI(): string;
						setBaseURI(param0: string): void;
						getEncoding(): string;
						setEncoding(param0: string): void;
						getCertifiedText(): boolean;
						setCertifiedText(param0: boolean): void;
					});
					public constructor();
					public getCharacterStream(): java.io.Reader;
					public setEncoding(param0: string): void;
					public setStringData(param0: string): void;
					public getPublicId(): string;
					public getEncoding(): string;
					public setPublicId(param0: string): void;
					public getCertifiedText(): boolean;
					public getByteStream(): java.io.InputStream;
					public getBaseURI(): string;
					public getStringData(): string;
					public setCertifiedText(param0: boolean): void;
					public setByteStream(param0: java.io.InputStream): void;
					public setBaseURI(param0: string): void;
					public setCharacterStream(param0: java.io.Reader): void;
					public getSystemId(): string;
					public setSystemId(param0: string): void;
				}
			}
		}
	}
}

declare module org {
	export module w3c {
		export module dom {
			export module ls {
				export class LSOutput extends java.lang.Object {
					public static class: java.lang.Class<org.w3c.dom.ls.LSOutput>;
					/**
					 * Constructs a new instance of the org.w3c.dom.ls.LSOutput interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						getCharacterStream(): java.io.Writer;
						setCharacterStream(param0: java.io.Writer): void;
						getByteStream(): java.io.OutputStream;
						setByteStream(param0: java.io.OutputStream): void;
						getSystemId(): string;
						setSystemId(param0: string): void;
						getEncoding(): string;
						setEncoding(param0: string): void;
					});
					public constructor();
					public setByteStream(param0: java.io.OutputStream): void;
					public setEncoding(param0: string): void;
					public getEncoding(): string;
					public getCharacterStream(): java.io.Writer;
					public setCharacterStream(param0: java.io.Writer): void;
					public getSystemId(): string;
					public setSystemId(param0: string): void;
					public getByteStream(): java.io.OutputStream;
				}
			}
		}
	}
}

declare module org {
	export module w3c {
		export module dom {
			export module ls {
				export class LSParser extends java.lang.Object {
					public static class: java.lang.Class<org.w3c.dom.ls.LSParser>;
					/**
					 * Constructs a new instance of the org.w3c.dom.ls.LSParser interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						getDomConfig(): org.w3c.dom.DOMConfiguration;
						getFilter(): org.w3c.dom.ls.LSParserFilter;
						setFilter(param0: org.w3c.dom.ls.LSParserFilter): void;
						getAsync(): boolean;
						getBusy(): boolean;
						parse(param0: org.w3c.dom.ls.LSInput): org.w3c.dom.Document;
						parseURI(param0: string): org.w3c.dom.Document;
						parseWithContext(param0: org.w3c.dom.ls.LSInput, param1: org.w3c.dom.Node, param2: number): org.w3c.dom.Node;
						abort(): void;
					});
					public constructor();
					public static ACTION_REPLACE_CHILDREN: number;
					public static ACTION_INSERT_AFTER: number;
					public static ACTION_INSERT_BEFORE: number;
					public static ACTION_APPEND_AS_CHILDREN: number;
					public static ACTION_REPLACE: number;
					public setFilter(param0: org.w3c.dom.ls.LSParserFilter): void;
					public parse(param0: org.w3c.dom.ls.LSInput): org.w3c.dom.Document;
					public getAsync(): boolean;
					public getDomConfig(): org.w3c.dom.DOMConfiguration;
					public getBusy(): boolean;
					public getFilter(): org.w3c.dom.ls.LSParserFilter;
					public parseWithContext(param0: org.w3c.dom.ls.LSInput, param1: org.w3c.dom.Node, param2: number): org.w3c.dom.Node;
					public abort(): void;
					public parseURI(param0: string): org.w3c.dom.Document;
				}
			}
		}
	}
}

declare module org {
	export module w3c {
		export module dom {
			export module ls {
				export class LSParserFilter extends java.lang.Object {
					public static class: java.lang.Class<org.w3c.dom.ls.LSParserFilter>;
					/**
					 * Constructs a new instance of the org.w3c.dom.ls.LSParserFilter interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						startElement(param0: org.w3c.dom.Element): number;
						acceptNode(param0: org.w3c.dom.Node): number;
						getWhatToShow(): number;
					});
					public constructor();
					public static FILTER_ACCEPT: number;
					public static FILTER_REJECT: number;
					public static FILTER_INTERRUPT: number;
					public static FILTER_SKIP: number;
					public acceptNode(param0: org.w3c.dom.Node): number;
					public getWhatToShow(): number;
					public startElement(param0: org.w3c.dom.Element): number;
				}
			}
		}
	}
}

declare module org {
	export module w3c {
		export module dom {
			export module ls {
				export class LSResourceResolver extends java.lang.Object {
					public static class: java.lang.Class<org.w3c.dom.ls.LSResourceResolver>;
					/**
					 * Constructs a new instance of the org.w3c.dom.ls.LSResourceResolver interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						resolveResource(param0: string, param1: string, param2: string, param3: string, param4: string): org.w3c.dom.ls.LSInput;
					});
					public constructor();
					public resolveResource(param0: string, param1: string, param2: string, param3: string, param4: string): org.w3c.dom.ls.LSInput;
				}
			}
		}
	}
}

declare module org {
	export module w3c {
		export module dom {
			export module ls {
				export class LSSerializer extends java.lang.Object {
					public static class: java.lang.Class<org.w3c.dom.ls.LSSerializer>;
					/**
					 * Constructs a new instance of the org.w3c.dom.ls.LSSerializer interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						getDomConfig(): org.w3c.dom.DOMConfiguration;
						getNewLine(): string;
						setNewLine(param0: string): void;
						write(param0: org.w3c.dom.Node, param1: org.w3c.dom.ls.LSOutput): boolean;
						writeToURI(param0: org.w3c.dom.Node, param1: string): boolean;
						writeToString(param0: org.w3c.dom.Node): string;
					});
					public constructor();
					public writeToURI(param0: org.w3c.dom.Node, param1: string): boolean;
					public setNewLine(param0: string): void;
					public writeToString(param0: org.w3c.dom.Node): string;
					public getNewLine(): string;
					public write(param0: org.w3c.dom.Node, param1: org.w3c.dom.ls.LSOutput): boolean;
					public getDomConfig(): org.w3c.dom.DOMConfiguration;
				}
			}
		}
	}
}

declare module org {
	export module xml {
		export module sax {
			export class AttributeList extends java.lang.Object {
				public static class: java.lang.Class<org.xml.sax.AttributeList>;
				/**
				 * Constructs a new instance of the org.xml.sax.AttributeList interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getLength(): number;
					getName(param0: number): string;
					getType(param0: number): string;
					getValue(param0: number): string;
					getType(param0: string): string;
					getValue(param0: string): string;
				});
				public constructor();
				public getName(param0: number): string;
				public getValue(param0: number): string;
				public getType(param0: number): string;
				public getValue(param0: string): string;
				public getLength(): number;
				public getType(param0: string): string;
			}
		}
	}
}

declare module org {
	export module xml {
		export module sax {
			export class Attributes extends java.lang.Object {
				public static class: java.lang.Class<org.xml.sax.Attributes>;
				/**
				 * Constructs a new instance of the org.xml.sax.Attributes interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getLength(): number;
					getURI(param0: number): string;
					getLocalName(param0: number): string;
					getQName(param0: number): string;
					getType(param0: number): string;
					getValue(param0: number): string;
					getIndex(param0: string, param1: string): number;
					getIndex(param0: string): number;
					getType(param0: string, param1: string): string;
					getType(param0: string): string;
					getValue(param0: string, param1: string): string;
					getValue(param0: string): string;
				});
				public constructor();
				public getURI(param0: number): string;
				public getType(param0: string, param1: string): string;
				public getValue(param0: number): string;
				public getIndex(param0: string): number;
				public getLocalName(param0: number): string;
				public getQName(param0: number): string;
				public getType(param0: number): string;
				public getValue(param0: string, param1: string): string;
				public getIndex(param0: string, param1: string): number;
				public getValue(param0: string): string;
				public getLength(): number;
				public getType(param0: string): string;
			}
		}
	}
}

declare module org {
	export module xml {
		export module sax {
			export class ContentHandler extends java.lang.Object {
				public static class: java.lang.Class<org.xml.sax.ContentHandler>;
				/**
				 * Constructs a new instance of the org.xml.sax.ContentHandler interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					setDocumentLocator(param0: org.xml.sax.Locator): void;
					startDocument(): void;
					endDocument(): void;
					startPrefixMapping(param0: string, param1: string): void;
					endPrefixMapping(param0: string): void;
					startElement(param0: string, param1: string, param2: string, param3: org.xml.sax.Attributes): void;
					endElement(param0: string, param1: string, param2: string): void;
					characters(param0: native.Array<string>, param1: number, param2: number): void;
					ignorableWhitespace(param0: native.Array<string>, param1: number, param2: number): void;
					processingInstruction(param0: string, param1: string): void;
					skippedEntity(param0: string): void;
				});
				public constructor();
				public ignorableWhitespace(param0: native.Array<string>, param1: number, param2: number): void;
				public startElement(param0: string, param1: string, param2: string, param3: org.xml.sax.Attributes): void;
				public endElement(param0: string, param1: string, param2: string): void;
				public startDocument(): void;
				public endPrefixMapping(param0: string): void;
				public processingInstruction(param0: string, param1: string): void;
				public setDocumentLocator(param0: org.xml.sax.Locator): void;
				public endDocument(): void;
				public startPrefixMapping(param0: string, param1: string): void;
				public characters(param0: native.Array<string>, param1: number, param2: number): void;
				public skippedEntity(param0: string): void;
			}
		}
	}
}

declare module org {
	export module xml {
		export module sax {
			export class DTDHandler extends java.lang.Object {
				public static class: java.lang.Class<org.xml.sax.DTDHandler>;
				/**
				 * Constructs a new instance of the org.xml.sax.DTDHandler interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					notationDecl(param0: string, param1: string, param2: string): void;
					unparsedEntityDecl(param0: string, param1: string, param2: string, param3: string): void;
				});
				public constructor();
				public notationDecl(param0: string, param1: string, param2: string): void;
				public unparsedEntityDecl(param0: string, param1: string, param2: string, param3: string): void;
			}
		}
	}
}

declare module org {
	export module xml {
		export module sax {
			export class DocumentHandler extends java.lang.Object {
				public static class: java.lang.Class<org.xml.sax.DocumentHandler>;
				/**
				 * Constructs a new instance of the org.xml.sax.DocumentHandler interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					setDocumentLocator(param0: org.xml.sax.Locator): void;
					startDocument(): void;
					endDocument(): void;
					startElement(param0: string, param1: org.xml.sax.AttributeList): void;
					endElement(param0: string): void;
					characters(param0: native.Array<string>, param1: number, param2: number): void;
					ignorableWhitespace(param0: native.Array<string>, param1: number, param2: number): void;
					processingInstruction(param0: string, param1: string): void;
				});
				public constructor();
				public endElement(param0: string): void;
				public ignorableWhitespace(param0: native.Array<string>, param1: number, param2: number): void;
				public startElement(param0: string, param1: org.xml.sax.AttributeList): void;
				public startDocument(): void;
				public processingInstruction(param0: string, param1: string): void;
				public setDocumentLocator(param0: org.xml.sax.Locator): void;
				public endDocument(): void;
				public characters(param0: native.Array<string>, param1: number, param2: number): void;
			}
		}
	}
}

declare module org {
	export module xml {
		export module sax {
			export class EntityResolver extends java.lang.Object {
				public static class: java.lang.Class<org.xml.sax.EntityResolver>;
				/**
				 * Constructs a new instance of the org.xml.sax.EntityResolver interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					resolveEntity(param0: string, param1: string): org.xml.sax.InputSource;
				});
				public constructor();
				public resolveEntity(param0: string, param1: string): org.xml.sax.InputSource;
			}
		}
	}
}

declare module org {
	export module xml {
		export module sax {
			export class ErrorHandler extends java.lang.Object {
				public static class: java.lang.Class<org.xml.sax.ErrorHandler>;
				/**
				 * Constructs a new instance of the org.xml.sax.ErrorHandler interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					warning(param0: org.xml.sax.SAXParseException): void;
					error(param0: org.xml.sax.SAXParseException): void;
					fatalError(param0: org.xml.sax.SAXParseException): void;
				});
				public constructor();
				public warning(param0: org.xml.sax.SAXParseException): void;
				public fatalError(param0: org.xml.sax.SAXParseException): void;
				public error(param0: org.xml.sax.SAXParseException): void;
			}
		}
	}
}

declare module org {
	export module xml {
		export module sax {
			export class HandlerBase extends java.lang.Object implements org.xml.sax.EntityResolver, org.xml.sax.DTDHandler, org.xml.sax.DocumentHandler, org.xml.sax.ErrorHandler {
				public static class: java.lang.Class<org.xml.sax.HandlerBase>;
				public endElement(param0: string): void;
				public resolveEntity(param0: string, param1: string): org.xml.sax.InputSource;
				public warning(param0: org.xml.sax.SAXParseException): void;
				public error(param0: org.xml.sax.SAXParseException): void;
				public startElement(param0: string, param1: org.xml.sax.AttributeList): void;
				public notationDecl(param0: string, param1: string, param2: string): void;
				public unparsedEntityDecl(param0: string, param1: string, param2: string, param3: string): void;
				public processingInstruction(param0: string, param1: string): void;
				public endDocument(): void;
				public characters(param0: native.Array<string>, param1: number, param2: number): void;
				public constructor();
				public fatalError(param0: org.xml.sax.SAXParseException): void;
				public ignorableWhitespace(param0: native.Array<string>, param1: number, param2: number): void;
				public startDocument(): void;
				public setDocumentLocator(param0: org.xml.sax.Locator): void;
			}
		}
	}
}

declare module org {
	export module xml {
		export module sax {
			export class InputSource extends java.lang.Object {
				public static class: java.lang.Class<org.xml.sax.InputSource>;
				public getEncoding(): string;
				public setCharacterStream(param0: java.io.Reader): void;
				public getCharacterStream(): java.io.Reader;
				public getByteStream(): java.io.InputStream;
				public constructor(param0: java.io.InputStream);
				public constructor(param0: java.io.Reader);
				public constructor(param0: string);
				public constructor();
				public getPublicId(): string;
				public setSystemId(param0: string): void;
				public getSystemId(): string;
				public setByteStream(param0: java.io.InputStream): void;
				public setPublicId(param0: string): void;
				public setEncoding(param0: string): void;
			}
		}
	}
}

declare module org {
	export module xml {
		export module sax {
			export class Locator extends java.lang.Object {
				public static class: java.lang.Class<org.xml.sax.Locator>;
				/**
				 * Constructs a new instance of the org.xml.sax.Locator interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getPublicId(): string;
					getSystemId(): string;
					getLineNumber(): number;
					getColumnNumber(): number;
				});
				public constructor();
				public getPublicId(): string;
				public getLineNumber(): number;
				public getSystemId(): string;
				public getColumnNumber(): number;
			}
		}
	}
}

declare module org {
	export module xml {
		export module sax {
			export class Parser extends java.lang.Object {
				public static class: java.lang.Class<org.xml.sax.Parser>;
				/**
				 * Constructs a new instance of the org.xml.sax.Parser interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					setLocale(param0: java.util.Locale): void;
					setEntityResolver(param0: org.xml.sax.EntityResolver): void;
					setDTDHandler(param0: org.xml.sax.DTDHandler): void;
					setDocumentHandler(param0: org.xml.sax.DocumentHandler): void;
					setErrorHandler(param0: org.xml.sax.ErrorHandler): void;
					parse(param0: org.xml.sax.InputSource): void;
					parse(param0: string): void;
				});
				public constructor();
				public setErrorHandler(param0: org.xml.sax.ErrorHandler): void;
				public parse(param0: org.xml.sax.InputSource): void;
				public parse(param0: string): void;
				public setLocale(param0: java.util.Locale): void;
				public setDTDHandler(param0: org.xml.sax.DTDHandler): void;
				public setDocumentHandler(param0: org.xml.sax.DocumentHandler): void;
				public setEntityResolver(param0: org.xml.sax.EntityResolver): void;
			}
		}
	}
}

declare module org {
	export module xml {
		export module sax {
			export class SAXException extends java.lang.Exception {
				public static class: java.lang.Class<org.xml.sax.SAXException>;
				public getException(): java.lang.Exception;
				public constructor(param0: string, param1: java.lang.Exception);
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Exception);
				public getMessage(): string;
				public toString(): string;
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module org {
	export module xml {
		export module sax {
			export class SAXNotRecognizedException extends org.xml.sax.SAXException {
				public static class: java.lang.Class<org.xml.sax.SAXNotRecognizedException>;
				public constructor(param0: string, param1: java.lang.Exception);
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Exception);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module org {
	export module xml {
		export module sax {
			export class SAXNotSupportedException extends org.xml.sax.SAXException {
				public static class: java.lang.Class<org.xml.sax.SAXNotSupportedException>;
				public constructor(param0: string, param1: java.lang.Exception);
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Exception);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module org {
	export module xml {
		export module sax {
			export class SAXParseException extends org.xml.sax.SAXException {
				public static class: java.lang.Class<org.xml.sax.SAXParseException>;
				public getLineNumber(): number;
				public constructor(param0: string, param1: string, param2: string, param3: number, param4: number, param5: java.lang.Exception);
				public constructor(param0: java.lang.Throwable);
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Exception);
				public getPublicId(): string;
				public constructor(param0: string, param1: string, param2: string, param3: number, param4: number);
				public getSystemId(): string;
				public constructor(param0: string, param1: org.xml.sax.Locator, param2: java.lang.Exception);
				public constructor(param0: string, param1: java.lang.Throwable);
				public constructor(param0: java.lang.Exception);
				public getColumnNumber(): number;
				public constructor(param0: string, param1: org.xml.sax.Locator);
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
			}
		}
	}
}

declare module org {
	export module xml {
		export module sax {
			export class XMLFilter extends java.lang.Object implements org.xml.sax.XMLReader {
				public static class: java.lang.Class<org.xml.sax.XMLFilter>;
				/**
				 * Constructs a new instance of the org.xml.sax.XMLFilter interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					setParent(param0: org.xml.sax.XMLReader): void;
					getParent(): org.xml.sax.XMLReader;
					getFeature(param0: string): boolean;
					setFeature(param0: string, param1: boolean): void;
					getProperty(param0: string): any;
					setProperty(param0: string, param1: any): void;
					setEntityResolver(param0: org.xml.sax.EntityResolver): void;
					getEntityResolver(): org.xml.sax.EntityResolver;
					setDTDHandler(param0: org.xml.sax.DTDHandler): void;
					getDTDHandler(): org.xml.sax.DTDHandler;
					setContentHandler(param0: org.xml.sax.ContentHandler): void;
					getContentHandler(): org.xml.sax.ContentHandler;
					setErrorHandler(param0: org.xml.sax.ErrorHandler): void;
					getErrorHandler(): org.xml.sax.ErrorHandler;
					parse(param0: org.xml.sax.InputSource): void;
					parse(param0: string): void;
				});
				public constructor();
				public setContentHandler(param0: org.xml.sax.ContentHandler): void;
				public setParent(param0: org.xml.sax.XMLReader): void;
				public getProperty(param0: string): any;
				public getEntityResolver(): org.xml.sax.EntityResolver;
				public getFeature(param0: string): boolean;
				public getDTDHandler(): org.xml.sax.DTDHandler;
				public parse(param0: org.xml.sax.InputSource): void;
				public setProperty(param0: string, param1: any): void;
				public setDTDHandler(param0: org.xml.sax.DTDHandler): void;
				public setEntityResolver(param0: org.xml.sax.EntityResolver): void;
				public getContentHandler(): org.xml.sax.ContentHandler;
				public setErrorHandler(param0: org.xml.sax.ErrorHandler): void;
				public setFeature(param0: string, param1: boolean): void;
				public parse(param0: string): void;
				public getParent(): org.xml.sax.XMLReader;
				public getErrorHandler(): org.xml.sax.ErrorHandler;
			}
		}
	}
}

declare module org {
	export module xml {
		export module sax {
			export class XMLReader extends java.lang.Object {
				public static class: java.lang.Class<org.xml.sax.XMLReader>;
				/**
				 * Constructs a new instance of the org.xml.sax.XMLReader interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					getFeature(param0: string): boolean;
					setFeature(param0: string, param1: boolean): void;
					getProperty(param0: string): any;
					setProperty(param0: string, param1: any): void;
					setEntityResolver(param0: org.xml.sax.EntityResolver): void;
					getEntityResolver(): org.xml.sax.EntityResolver;
					setDTDHandler(param0: org.xml.sax.DTDHandler): void;
					getDTDHandler(): org.xml.sax.DTDHandler;
					setContentHandler(param0: org.xml.sax.ContentHandler): void;
					getContentHandler(): org.xml.sax.ContentHandler;
					setErrorHandler(param0: org.xml.sax.ErrorHandler): void;
					getErrorHandler(): org.xml.sax.ErrorHandler;
					parse(param0: org.xml.sax.InputSource): void;
					parse(param0: string): void;
				});
				public constructor();
				public setContentHandler(param0: org.xml.sax.ContentHandler): void;
				public getProperty(param0: string): any;
				public getEntityResolver(): org.xml.sax.EntityResolver;
				public getFeature(param0: string): boolean;
				public getDTDHandler(): org.xml.sax.DTDHandler;
				public parse(param0: org.xml.sax.InputSource): void;
				public setProperty(param0: string, param1: any): void;
				public setDTDHandler(param0: org.xml.sax.DTDHandler): void;
				public setEntityResolver(param0: org.xml.sax.EntityResolver): void;
				public getContentHandler(): org.xml.sax.ContentHandler;
				public setErrorHandler(param0: org.xml.sax.ErrorHandler): void;
				public setFeature(param0: string, param1: boolean): void;
				public parse(param0: string): void;
				public getErrorHandler(): org.xml.sax.ErrorHandler;
			}
		}
	}
}

declare module org {
	export module xml {
		export module sax {
			export module ext {
				export class Attributes2 extends java.lang.Object implements org.xml.sax.Attributes {
					public static class: java.lang.Class<org.xml.sax.ext.Attributes2>;
					/**
					 * Constructs a new instance of the org.xml.sax.ext.Attributes2 interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						isDeclared(param0: number): boolean;
						isDeclared(param0: string): boolean;
						isDeclared(param0: string, param1: string): boolean;
						isSpecified(param0: number): boolean;
						isSpecified(param0: string, param1: string): boolean;
						isSpecified(param0: string): boolean;
						getLength(): number;
						getURI(param0: number): string;
						getLocalName(param0: number): string;
						getQName(param0: number): string;
						getType(param0: number): string;
						getValue(param0: number): string;
						getIndex(param0: string, param1: string): number;
						getIndex(param0: string): number;
						getType(param0: string, param1: string): string;
						getType(param0: string): string;
						getValue(param0: string, param1: string): string;
						getValue(param0: string): string;
					});
					public constructor();
					public isDeclared(param0: string): boolean;
					public getType(param0: string, param1: string): string;
					public isSpecified(param0: number): boolean;
					public getType(param0: number): string;
					public getLength(): number;
					public getValue(param0: string, param1: string): string;
					public getLocalName(param0: number): string;
					public getQName(param0: number): string;
					public isSpecified(param0: string): boolean;
					public isSpecified(param0: string, param1: string): boolean;
					public getType(param0: string): string;
					public isDeclared(param0: string, param1: string): boolean;
					public getURI(param0: number): string;
					public getValue(param0: number): string;
					public getIndex(param0: string): number;
					public getIndex(param0: string, param1: string): number;
					public getValue(param0: string): string;
					public isDeclared(param0: number): boolean;
				}
			}
		}
	}
}

declare module org {
	export module xml {
		export module sax {
			export module ext {
				export class Attributes2Impl extends org.xml.sax.helpers.AttributesImpl implements org.xml.sax.ext.Attributes2 {
					public static class: java.lang.Class<org.xml.sax.ext.Attributes2Impl>;
					public getType(param0: string, param1: string): string;
					public isSpecified(param0: number): boolean;
					public addAttribute(param0: string, param1: string, param2: string, param3: string, param4: string): void;
					public getType(param0: number): string;
					public getLength(): number;
					public constructor(param0: org.xml.sax.Attributes);
					public setSpecified(param0: number, param1: boolean): void;
					public isSpecified(param0: string, param1: string): boolean;
					public setDeclared(param0: number, param1: boolean): void;
					public constructor();
					public removeAttribute(param0: number): void;
					public getURI(param0: number): string;
					public getIndex(param0: string): number;
					public getValue(param0: string): string;
					public isDeclared(param0: string): boolean;
					public getValue(param0: string, param1: string): string;
					public getLocalName(param0: number): string;
					public getQName(param0: number): string;
					public isSpecified(param0: string): boolean;
					public getType(param0: string): string;
					public isDeclared(param0: string, param1: string): boolean;
					public getValue(param0: number): string;
					public setAttributes(param0: org.xml.sax.Attributes): void;
					public getIndex(param0: string, param1: string): number;
					public isDeclared(param0: number): boolean;
				}
			}
		}
	}
}

declare module org {
	export module xml {
		export module sax {
			export module ext {
				export class DeclHandler extends java.lang.Object {
					public static class: java.lang.Class<org.xml.sax.ext.DeclHandler>;
					/**
					 * Constructs a new instance of the org.xml.sax.ext.DeclHandler interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						elementDecl(param0: string, param1: string): void;
						attributeDecl(param0: string, param1: string, param2: string, param3: string, param4: string): void;
						internalEntityDecl(param0: string, param1: string): void;
						externalEntityDecl(param0: string, param1: string, param2: string): void;
					});
					public constructor();
					public attributeDecl(param0: string, param1: string, param2: string, param3: string, param4: string): void;
					public internalEntityDecl(param0: string, param1: string): void;
					public elementDecl(param0: string, param1: string): void;
					public externalEntityDecl(param0: string, param1: string, param2: string): void;
				}
			}
		}
	}
}

declare module org {
	export module xml {
		export module sax {
			export module ext {
				export class DefaultHandler2 extends org.xml.sax.helpers.DefaultHandler implements org.xml.sax.ext.LexicalHandler, org.xml.sax.ext.DeclHandler, org.xml.sax.ext.EntityResolver2 {
					public static class: java.lang.Class<org.xml.sax.ext.DefaultHandler2>;
					public comment(param0: native.Array<string>, param1: number, param2: number): void;
					public startPrefixMapping(param0: string, param1: string): void;
					public skippedEntity(param0: string): void;
					public endDocument(): void;
					public startElement(param0: string, param1: string, param2: string, param3: org.xml.sax.Attributes): void;
					public externalEntityDecl(param0: string, param1: string, param2: string): void;
					public startDTD(param0: string, param1: string, param2: string): void;
					public characters(param0: native.Array<string>, param1: number, param2: number): void;
					public processingInstruction(param0: string, param1: string): void;
					public fatalError(param0: org.xml.sax.SAXParseException): void;
					public constructor();
					public endDTD(): void;
					public getExternalSubset(param0: string, param1: string): org.xml.sax.InputSource;
					public endEntity(param0: string): void;
					public elementDecl(param0: string, param1: string): void;
					public error(param0: org.xml.sax.SAXParseException): void;
					public startCDATA(): void;
					public endElement(param0: string, param1: string, param2: string): void;
					public endCDATA(): void;
					public resolveEntity(param0: string, param1: string): org.xml.sax.InputSource;
					public warning(param0: org.xml.sax.SAXParseException): void;
					public startDocument(): void;
					public ignorableWhitespace(param0: native.Array<string>, param1: number, param2: number): void;
					public attributeDecl(param0: string, param1: string, param2: string, param3: string, param4: string): void;
					public internalEntityDecl(param0: string, param1: string): void;
					public endPrefixMapping(param0: string): void;
					public resolveEntity(param0: string, param1: string, param2: string, param3: string): org.xml.sax.InputSource;
					public startEntity(param0: string): void;
					public notationDecl(param0: string, param1: string, param2: string): void;
					public unparsedEntityDecl(param0: string, param1: string, param2: string, param3: string): void;
					public setDocumentLocator(param0: org.xml.sax.Locator): void;
				}
			}
		}
	}
}

declare module org {
	export module xml {
		export module sax {
			export module ext {
				export class EntityResolver2 extends java.lang.Object implements org.xml.sax.EntityResolver {
					public static class: java.lang.Class<org.xml.sax.ext.EntityResolver2>;
					/**
					 * Constructs a new instance of the org.xml.sax.ext.EntityResolver2 interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						getExternalSubset(param0: string, param1: string): org.xml.sax.InputSource;
						resolveEntity(param0: string, param1: string, param2: string, param3: string): org.xml.sax.InputSource;
						resolveEntity(param0: string, param1: string): org.xml.sax.InputSource;
					});
					public constructor();
					public resolveEntity(param0: string, param1: string): org.xml.sax.InputSource;
					public getExternalSubset(param0: string, param1: string): org.xml.sax.InputSource;
					public resolveEntity(param0: string, param1: string, param2: string, param3: string): org.xml.sax.InputSource;
				}
			}
		}
	}
}

declare module org {
	export module xml {
		export module sax {
			export module ext {
				export class LexicalHandler extends java.lang.Object {
					public static class: java.lang.Class<org.xml.sax.ext.LexicalHandler>;
					/**
					 * Constructs a new instance of the org.xml.sax.ext.LexicalHandler interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						startDTD(param0: string, param1: string, param2: string): void;
						endDTD(): void;
						startEntity(param0: string): void;
						endEntity(param0: string): void;
						startCDATA(): void;
						endCDATA(): void;
						comment(param0: native.Array<string>, param1: number, param2: number): void;
					});
					public constructor();
					public endCDATA(): void;
					public comment(param0: native.Array<string>, param1: number, param2: number): void;
					public endDTD(): void;
					public endEntity(param0: string): void;
					public startCDATA(): void;
					public startEntity(param0: string): void;
					public startDTD(param0: string, param1: string, param2: string): void;
				}
			}
		}
	}
}

declare module org {
	export module xml {
		export module sax {
			export module ext {
				export class Locator2 extends java.lang.Object implements org.xml.sax.Locator {
					public static class: java.lang.Class<org.xml.sax.ext.Locator2>;
					/**
					 * Constructs a new instance of the org.xml.sax.ext.Locator2 interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
					 */
					public constructor(implementation: {
						getXMLVersion(): string;
						getEncoding(): string;
						getPublicId(): string;
						getSystemId(): string;
						getLineNumber(): number;
						getColumnNumber(): number;
					});
					public constructor();
					public getLineNumber(): number;
					public getXMLVersion(): string;
					public getEncoding(): string;
					public getPublicId(): string;
					public getColumnNumber(): number;
					public getSystemId(): string;
				}
			}
		}
	}
}

declare module org {
	export module xml {
		export module sax {
			export module ext {
				export class Locator2Impl extends org.xml.sax.helpers.LocatorImpl implements org.xml.sax.ext.Locator2 {
					public static class: java.lang.Class<org.xml.sax.ext.Locator2Impl>;
					public getLineNumber(): number;
					public constructor(param0: org.xml.sax.Locator);
					public setEncoding(param0: string): void;
					public constructor();
					public getXMLVersion(): string;
					public getEncoding(): string;
					public getPublicId(): string;
					public getColumnNumber(): number;
					public getSystemId(): string;
					public setXMLVersion(param0: string): void;
				}
			}
		}
	}
}

declare module org {
	export module xml {
		export module sax {
			export module helpers {
				export class AttributeListImpl extends java.lang.Object implements org.xml.sax.AttributeList {
					public static class: java.lang.Class<org.xml.sax.helpers.AttributeListImpl>;
					public getType(param0: string): string;
					public constructor(param0: org.xml.sax.AttributeList);
					public constructor();
					public getType(param0: number): string;
					public setAttributeList(param0: org.xml.sax.AttributeList): void;
					public clear(): void;
					public getLength(): number;
					public getValue(param0: number): string;
					public getName(param0: number): string;
					public getValue(param0: string): string;
					public removeAttribute(param0: string): void;
					public addAttribute(param0: string, param1: string, param2: string): void;
				}
			}
		}
	}
}

declare module org {
	export module xml {
		export module sax {
			export module helpers {
				export class AttributesImpl extends java.lang.Object implements org.xml.sax.Attributes {
					public static class: java.lang.Class<org.xml.sax.helpers.AttributesImpl>;
					public setQName(param0: number, param1: string): void;
					public getType(param0: string, param1: string): string;
					public addAttribute(param0: string, param1: string, param2: string, param3: string, param4: string): void;
					public setURI(param0: number, param1: string): void;
					public getType(param0: number): string;
					public setAttribute(param0: number, param1: string, param2: string, param3: string, param4: string, param5: string): void;
					public getLength(): number;
					public getValue(param0: string, param1: string): string;
					public constructor(param0: org.xml.sax.Attributes);
					public setValue(param0: number, param1: string): void;
					public getLocalName(param0: number): string;
					public getQName(param0: number): string;
					public setType(param0: number, param1: string): void;
					public getType(param0: string): string;
					public constructor();
					public removeAttribute(param0: number): void;
					public getURI(param0: number): string;
					public getValue(param0: number): string;
					public getIndex(param0: string): number;
					public clear(): void;
					public setAttributes(param0: org.xml.sax.Attributes): void;
					public getIndex(param0: string, param1: string): number;
					public getValue(param0: string): string;
					public setLocalName(param0: number, param1: string): void;
				}
			}
		}
	}
}

declare module org {
	export module xml {
		export module sax {
			export module helpers {
				export class DefaultHandler extends java.lang.Object implements org.xml.sax.EntityResolver, org.xml.sax.DTDHandler, org.xml.sax.ContentHandler, org.xml.sax.ErrorHandler {
					public static class: java.lang.Class<org.xml.sax.helpers.DefaultHandler>;
					public startPrefixMapping(param0: string, param1: string): void;
					public skippedEntity(param0: string): void;
					public endDocument(): void;
					public startElement(param0: string, param1: string, param2: string, param3: org.xml.sax.Attributes): void;
					public error(param0: org.xml.sax.SAXParseException): void;
					public endElement(param0: string, param1: string, param2: string): void;
					public characters(param0: native.Array<string>, param1: number, param2: number): void;
					public resolveEntity(param0: string, param1: string): org.xml.sax.InputSource;
					public startDocument(): void;
					public ignorableWhitespace(param0: native.Array<string>, param1: number, param2: number): void;
					public warning(param0: org.xml.sax.SAXParseException): void;
					public processingInstruction(param0: string, param1: string): void;
					public endPrefixMapping(param0: string): void;
					public fatalError(param0: org.xml.sax.SAXParseException): void;
					public constructor();
					public notationDecl(param0: string, param1: string, param2: string): void;
					public unparsedEntityDecl(param0: string, param1: string, param2: string, param3: string): void;
					public setDocumentLocator(param0: org.xml.sax.Locator): void;
				}
			}
		}
	}
}

declare module org {
	export module xml {
		export module sax {
			export module helpers {
				export class LocatorImpl extends java.lang.Object implements org.xml.sax.Locator {
					public static class: java.lang.Class<org.xml.sax.helpers.LocatorImpl>;
					public getLineNumber(): number;
					public setColumnNumber(param0: number): void;
					public constructor(param0: org.xml.sax.Locator);
					public constructor();
					public getPublicId(): string;
					public setPublicId(param0: string): void;
					public getColumnNumber(): number;
					public getSystemId(): string;
					public setSystemId(param0: string): void;
					public setLineNumber(param0: number): void;
				}
			}
		}
	}
}

declare module org {
	export module xml {
		export module sax {
			export module helpers {
				export class NamespaceSupport extends java.lang.Object {
					public static class: java.lang.Class<org.xml.sax.helpers.NamespaceSupport>;
					public static NSDECL: string;
					public static XMLNS: string;
					public getURI(param0: string): string;
					public reset(): void;
					public isNamespaceDeclUris(): boolean;
					public getDeclaredPrefixes(): java.util.Enumeration<any>;
					public declarePrefix(param0: string, param1: string): boolean;
					public pushContext(): void;
					public getPrefix(param0: string): string;
					public setNamespaceDeclUris(param0: boolean): void;
					public constructor();
					public getPrefixes(): java.util.Enumeration<any>;
					public popContext(): void;
					public getPrefixes(param0: string): java.util.Enumeration<any>;
					public processName(param0: string, param1: native.Array<string>, param2: boolean): native.Array<string>;
				}
			}
		}
	}
}

declare module org {
	export module xml {
		export module sax {
			export module helpers {
				export class ParserAdapter extends java.lang.Object implements org.xml.sax.XMLReader, org.xml.sax.DocumentHandler {
					public static class: java.lang.Class<org.xml.sax.helpers.ParserAdapter>;
					public parse(param0: string): void;
					public startElement(param0: string, param1: org.xml.sax.AttributeList): void;
					public endElement(param0: string): void;
					public getContentHandler(): org.xml.sax.ContentHandler;
					public setFeature(param0: string, param1: boolean): void;
					public getProperty(param0: string): any;
					public endDocument(): void;
					public setErrorHandler(param0: org.xml.sax.ErrorHandler): void;
					public setDTDHandler(param0: org.xml.sax.DTDHandler): void;
					public constructor(param0: org.xml.sax.Parser);
					public getEntityResolver(): org.xml.sax.EntityResolver;
					public getFeature(param0: string): boolean;
					public characters(param0: native.Array<string>, param1: number, param2: number): void;
					public getDTDHandler(): org.xml.sax.DTDHandler;
					public startDocument(): void;
					public ignorableWhitespace(param0: native.Array<string>, param1: number, param2: number): void;
					public parse(param0: org.xml.sax.InputSource): void;
					public processingInstruction(param0: string, param1: string): void;
					public constructor();
					public setEntityResolver(param0: org.xml.sax.EntityResolver): void;
					public setContentHandler(param0: org.xml.sax.ContentHandler): void;
					public setProperty(param0: string, param1: any): void;
					public getErrorHandler(): org.xml.sax.ErrorHandler;
					public setDocumentLocator(param0: org.xml.sax.Locator): void;
				}
			}
		}
	}
}

declare module org {
	export module xml {
		export module sax {
			export module helpers {
				export class ParserFactory extends java.lang.Object {
					public static class: java.lang.Class<org.xml.sax.helpers.ParserFactory>;
					public static makeParser(): org.xml.sax.Parser;
					public static makeParser(param0: string): org.xml.sax.Parser;
				}
			}
		}
	}
}

declare module org {
	export module xml {
		export module sax {
			export module helpers {
				export class XMLFilterImpl extends java.lang.Object implements org.xml.sax.XMLFilter, org.xml.sax.EntityResolver, org.xml.sax.DTDHandler, org.xml.sax.ContentHandler, org.xml.sax.ErrorHandler {
					public static class: java.lang.Class<org.xml.sax.helpers.XMLFilterImpl>;
					public parse(param0: string): void;
					public startPrefixMapping(param0: string, param1: string): void;
					public skippedEntity(param0: string): void;
					public getContentHandler(): org.xml.sax.ContentHandler;
					public constructor(param0: org.xml.sax.XMLReader);
					public setFeature(param0: string, param1: boolean): void;
					public getParent(): org.xml.sax.XMLReader;
					public endDocument(): void;
					public startElement(param0: string, param1: string, param2: string, param3: org.xml.sax.Attributes): void;
					public setDTDHandler(param0: org.xml.sax.DTDHandler): void;
					public getEntityResolver(): org.xml.sax.EntityResolver;
					public characters(param0: native.Array<string>, param1: number, param2: number): void;
					public getDTDHandler(): org.xml.sax.DTDHandler;
					public processingInstruction(param0: string, param1: string): void;
					public fatalError(param0: org.xml.sax.SAXParseException): void;
					public constructor();
					public setEntityResolver(param0: org.xml.sax.EntityResolver): void;
					public setContentHandler(param0: org.xml.sax.ContentHandler): void;
					public setProperty(param0: string, param1: any): void;
					public setParent(param0: org.xml.sax.XMLReader): void;
					public getProperty(param0: string): any;
					public setErrorHandler(param0: org.xml.sax.ErrorHandler): void;
					public error(param0: org.xml.sax.SAXParseException): void;
					public endElement(param0: string, param1: string, param2: string): void;
					public getFeature(param0: string): boolean;
					public resolveEntity(param0: string, param1: string): org.xml.sax.InputSource;
					public startDocument(): void;
					public ignorableWhitespace(param0: native.Array<string>, param1: number, param2: number): void;
					public warning(param0: org.xml.sax.SAXParseException): void;
					public parse(param0: org.xml.sax.InputSource): void;
					public endPrefixMapping(param0: string): void;
					public notationDecl(param0: string, param1: string, param2: string): void;
					public unparsedEntityDecl(param0: string, param1: string, param2: string, param3: string): void;
					public getErrorHandler(): org.xml.sax.ErrorHandler;
					public setDocumentLocator(param0: org.xml.sax.Locator): void;
				}
			}
		}
	}
}

declare module org {
	export module xml {
		export module sax {
			export module helpers {
				export class XMLReaderAdapter extends java.lang.Object implements org.xml.sax.Parser, org.xml.sax.ContentHandler {
					public static class: java.lang.Class<org.xml.sax.helpers.XMLReaderAdapter>;
					public parse(param0: string): void;
					public startPrefixMapping(param0: string, param1: string): void;
					public skippedEntity(param0: string): void;
					public constructor(param0: org.xml.sax.XMLReader);
					public endDocument(): void;
					public setDocumentHandler(param0: org.xml.sax.DocumentHandler): void;
					public setLocale(param0: java.util.Locale): void;
					public startElement(param0: string, param1: string, param2: string, param3: org.xml.sax.Attributes): void;
					public setErrorHandler(param0: org.xml.sax.ErrorHandler): void;
					public setDTDHandler(param0: org.xml.sax.DTDHandler): void;
					public endElement(param0: string, param1: string, param2: string): void;
					public characters(param0: native.Array<string>, param1: number, param2: number): void;
					public startDocument(): void;
					public ignorableWhitespace(param0: native.Array<string>, param1: number, param2: number): void;
					public parse(param0: org.xml.sax.InputSource): void;
					public processingInstruction(param0: string, param1: string): void;
					public endPrefixMapping(param0: string): void;
					public constructor();
					public setEntityResolver(param0: org.xml.sax.EntityResolver): void;
					public setDocumentLocator(param0: org.xml.sax.Locator): void;
				}
			}
		}
	}
}

declare module org {
	export module xml {
		export module sax {
			export module helpers {
				export class XMLReaderFactory extends java.lang.Object {
					public static class: java.lang.Class<org.xml.sax.helpers.XMLReaderFactory>;
					public static createXMLReader(param0: string): org.xml.sax.XMLReader;
					public static createXMLReader(): org.xml.sax.XMLReader;
				}
			}
		}
	}
}

declare module org {
	export module xmlpull {
		export module v1 {
			export class XmlPullParser extends java.lang.Object {
				public static class: java.lang.Class<org.xmlpull.v1.XmlPullParser>;
				/**
				 * Constructs a new instance of the org.xmlpull.v1.XmlPullParser interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					setFeature(param0: string, param1: boolean): void;
					getFeature(param0: string): boolean;
					setProperty(param0: string, param1: any): void;
					getProperty(param0: string): any;
					setInput(param0: java.io.Reader): void;
					setInput(param0: java.io.InputStream, param1: string): void;
					getInputEncoding(): string;
					defineEntityReplacementText(param0: string, param1: string): void;
					getNamespaceCount(param0: number): number;
					getNamespacePrefix(param0: number): string;
					getNamespaceUri(param0: number): string;
					getNamespace(param0: string): string;
					getDepth(): number;
					getPositionDescription(): string;
					getLineNumber(): number;
					getColumnNumber(): number;
					isWhitespace(): boolean;
					getText(): string;
					getTextCharacters(param0: native.Array<number>): native.Array<string>;
					getNamespace(): string;
					getName(): string;
					getPrefix(): string;
					isEmptyElementTag(): boolean;
					getAttributeCount(): number;
					getAttributeNamespace(param0: number): string;
					getAttributeName(param0: number): string;
					getAttributePrefix(param0: number): string;
					getAttributeType(param0: number): string;
					isAttributeDefault(param0: number): boolean;
					getAttributeValue(param0: number): string;
					getAttributeValue(param0: string, param1: string): string;
					getEventType(): number;
					next(): number;
					nextToken(): number;
					require(param0: number, param1: string, param2: string): void;
					nextText(): string;
					nextTag(): number;
					<clinit>(): void;
				});
				public constructor();
				public static NO_NAMESPACE: string;
				public static TEXT: number;
				public static ENTITY_REF: number;
				public static COMMENT: number;
				public static END_DOCUMENT: number;
				public static DOCDECL: number;
				public static END_TAG: number;
				public static FEATURE_VALIDATION: string;
				public static START_DOCUMENT: number;
				public static CDSECT: number;
				public static IGNORABLE_WHITESPACE: number;
				public static START_TAG: number;
				public static FEATURE_PROCESS_NAMESPACES: string;
				public static TYPES: native.Array<string>;
				public static FEATURE_PROCESS_DOCDECL: string;
				public static PROCESSING_INSTRUCTION: number;
				public static FEATURE_REPORT_NAMESPACE_ATTRIBUTES: string;
				public getInputEncoding(): string;
				public setInput(param0: java.io.Reader): void;
				public getLineNumber(): number;
				public getEventType(): number;
				public getAttributeValue(param0: string, param1: string): string;
				public getProperty(param0: string): any;
				public setInput(param0: java.io.InputStream, param1: string): void;
				public nextTag(): number;
				public getPositionDescription(): string;
				public getAttributeCount(): number;
				public getAttributePrefix(param0: number): string;
				public nextText(): string;
				public getNamespaceUri(param0: number): string;
				public nextToken(): number;
				public getColumnNumber(): number;
				public getAttributeNamespace(param0: number): string;
				public isEmptyElementTag(): boolean;
				public getNamespacePrefix(param0: number): string;
				public getPrefix(): string;
				public require(param0: number, param1: string, param2: string): void;
				public getNamespaceCount(param0: number): number;
				public getAttributeName(param0: number): string;
				public getFeature(param0: string): boolean;
				public setProperty(param0: string, param1: any): void;
				public getName(): string;
				public getNamespace(param0: string): string;
				public getTextCharacters(param0: native.Array<number>): native.Array<string>;
				public getAttributeType(param0: number): string;
				public getText(): string;
				public getAttributeValue(param0: number): string;
				public isAttributeDefault(param0: number): boolean;
				public getNamespace(): string;
				public setFeature(param0: string, param1: boolean): void;
				public defineEntityReplacementText(param0: string, param1: string): void;
				public isWhitespace(): boolean;
				public getDepth(): number;
				public next(): number;
			}
		}
	}
}

declare module org {
	export module xmlpull {
		export module v1 {
			export class XmlPullParserException extends java.lang.Exception {
				public static class: java.lang.Class<org.xmlpull.v1.XmlPullParserException>;
				public column: number;
				public detail: java.lang.Throwable;
				public row: number;
				public getLineNumber(): number;
				public printStackTrace(param0: java.io.PrintWriter): void;
				public getDetail(): java.lang.Throwable;
				public constructor(param0: string, param1: java.lang.Throwable);
				public getColumnNumber(): number;
				public constructor(param0: java.lang.Throwable);
				public printStackTrace(param0: java.io.PrintStream): void;
				public constructor(param0: string);
				public constructor();
				public constructor(param0: string, param1: java.lang.Throwable, param2: boolean, param3: boolean);
				public constructor(param0: string, param1: org.xmlpull.v1.XmlPullParser, param2: java.lang.Throwable);
				public printStackTrace(): void;
			}
		}
	}
}

declare module org {
	export module xmlpull {
		export module v1 {
			export class XmlPullParserFactory extends java.lang.Object {
				public static class: java.lang.Class<org.xmlpull.v1.XmlPullParserFactory>;
				public static PROPERTY_NAME: string;
				public classNamesLocation: string;
				public features: java.util.HashMap<string,java.lang.Boolean>;
				public parserClasses: java.util.ArrayList<any>;
				public serializerClasses: java.util.ArrayList<any>;
				public isNamespaceAware(): boolean;
				public static newInstance(param0: string, param1: java.lang.Class<any>): org.xmlpull.v1.XmlPullParserFactory;
				public setValidating(param0: boolean): void;
				public setFeature(param0: string, param1: boolean): void;
				public getFeature(param0: string): boolean;
				public static newInstance(): org.xmlpull.v1.XmlPullParserFactory;
				public setNamespaceAware(param0: boolean): void;
				public isValidating(): boolean;
				public newPullParser(): org.xmlpull.v1.XmlPullParser;
				public constructor();
				public newSerializer(): org.xmlpull.v1.XmlSerializer;
			}
		}
	}
}

declare module org {
	export module xmlpull {
		export module v1 {
			export class XmlSerializer extends java.lang.Object {
				public static class: java.lang.Class<org.xmlpull.v1.XmlSerializer>;
				/**
				 * Constructs a new instance of the org.xmlpull.v1.XmlSerializer interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
				 */
				public constructor(implementation: {
					setFeature(param0: string, param1: boolean): void;
					getFeature(param0: string): boolean;
					setProperty(param0: string, param1: any): void;
					getProperty(param0: string): any;
					setOutput(param0: java.io.OutputStream, param1: string): void;
					setOutput(param0: java.io.Writer): void;
					startDocument(param0: string, param1: java.lang.Boolean): void;
					endDocument(): void;
					setPrefix(param0: string, param1: string): void;
					getPrefix(param0: string, param1: boolean): string;
					getDepth(): number;
					getNamespace(): string;
					getName(): string;
					startTag(param0: string, param1: string): org.xmlpull.v1.XmlSerializer;
					attribute(param0: string, param1: string, param2: string): org.xmlpull.v1.XmlSerializer;
					endTag(param0: string, param1: string): org.xmlpull.v1.XmlSerializer;
					text(param0: string): org.xmlpull.v1.XmlSerializer;
					text(param0: native.Array<string>, param1: number, param2: number): org.xmlpull.v1.XmlSerializer;
					cdsect(param0: string): void;
					entityRef(param0: string): void;
					processingInstruction(param0: string): void;
					comment(param0: string): void;
					docdecl(param0: string): void;
					ignorableWhitespace(param0: string): void;
					flush(): void;
				});
				public constructor();
				public setOutput(param0: java.io.Writer): void;
				public docdecl(param0: string): void;
				public getProperty(param0: string): any;
				public text(param0: string): org.xmlpull.v1.XmlSerializer;
				public startDocument(param0: string, param1: java.lang.Boolean): void;
				public flush(): void;
				public attribute(param0: string, param1: string, param2: string): org.xmlpull.v1.XmlSerializer;
				public getPrefix(param0: string, param1: boolean): string;
				public setOutput(param0: java.io.OutputStream, param1: string): void;
				public setPrefix(param0: string, param1: string): void;
				public ignorableWhitespace(param0: string): void;
				public getFeature(param0: string): boolean;
				public processingInstruction(param0: string): void;
				public setProperty(param0: string, param1: any): void;
				public getName(): string;
				public cdsect(param0: string): void;
				public endDocument(): void;
				public comment(param0: string): void;
				public endTag(param0: string, param1: string): org.xmlpull.v1.XmlSerializer;
				public text(param0: native.Array<string>, param1: number, param2: number): org.xmlpull.v1.XmlSerializer;
				public getNamespace(): string;
				public setFeature(param0: string, param1: boolean): void;
				public startTag(param0: string, param1: string): org.xmlpull.v1.XmlSerializer;
				public getDepth(): number;
				public entityRef(param0: string): void;
			}
		}
	}
}

declare module org {
	export module xmlpull {
		export module v1 {
			export module sax2 {
				export class Driver extends java.lang.Object implements org.xml.sax.Locator, org.xml.sax.XMLReader, org.xml.sax.Attributes {
					public static class: java.lang.Class<org.xmlpull.v1.sax2.Driver>;
					public static APACHE_DYNAMIC_VALIDATION_FEATURE: string;
					public static APACHE_SCHEMA_VALIDATION_FEATURE: string;
					public static DECLARATION_HANDLER_PROPERTY: string;
					public static LEXICAL_HANDLER_PROPERTY: string;
					public static NAMESPACES_FEATURE: string;
					public static NAMESPACE_PREFIXES_FEATURE: string;
					public static VALIDATION_FEATURE: string;
					public contentHandler: org.xml.sax.ContentHandler;
					public errorHandler: org.xml.sax.ErrorHandler;
					public pp: org.xmlpull.v1.XmlPullParser;
					public systemId: string;
					public parse(param0: string): void;
					public startElement(param0: string, param1: string, param2: string): void;
					public getType(param0: string, param1: string): string;
					public getType(param0: number): string;
					public getContentHandler(): org.xml.sax.ContentHandler;
					public parseSubTree(param0: org.xmlpull.v1.XmlPullParser): void;
					public setFeature(param0: string, param1: boolean): void;
					public getLength(): number;
					public setDTDHandler(param0: org.xml.sax.DTDHandler): void;
					public getEntityResolver(): org.xml.sax.EntityResolver;
					public getDTDHandler(): org.xml.sax.DTDHandler;
					public constructor();
					public getURI(param0: number): string;
					public getIndex(param0: string): number;
					public setEntityResolver(param0: org.xml.sax.EntityResolver): void;
					public getColumnNumber(): number;
					public getValue(param0: string): string;
					public getSystemId(): string;
					public setContentHandler(param0: org.xml.sax.ContentHandler): void;
					public setProperty(param0: string, param1: any): void;
					public getLineNumber(): number;
					public constructor(param0: org.xmlpull.v1.XmlPullParser);
					public getProperty(param0: string): any;
					public getValue(param0: string, param1: string): string;
					public getPublicId(): string;
					public getLocalName(param0: number): string;
					public getQName(param0: number): string;
					public setErrorHandler(param0: org.xml.sax.ErrorHandler): void;
					public getFeature(param0: string): boolean;
					public getType(param0: string): string;
					public parse(param0: org.xml.sax.InputSource): void;
					public getValue(param0: number): string;
					public getIndex(param0: string, param1: string): number;
					public getErrorHandler(): org.xml.sax.ErrorHandler;
				}
			}
		}
	}
}

//Generics information:
//android.accounts.AccountManagerCallback:1
//android.accounts.AccountManagerFuture:1
//android.animation.BidirectionalTypeConverter:2
//android.animation.TypeConverter:2
//android.animation.TypeEvaluator:1
//android.app.FragmentHostCallback:1
//android.app.LoaderManager.LoaderCallbacks:1
//android.companion.DeviceFilter:1
//android.content.AsyncTaskLoader:1
//android.content.ContentProvider.PipeDataWriter:1
//android.content.Loader:1
//android.content.Loader.OnLoadCanceledListener:1
//android.content.Loader.OnLoadCompleteListener:1
//android.database.Observable:1
//android.hardware.camera2.CameraCharacteristics.Key:1
//android.hardware.camera2.CameraMetadata:1
//android.hardware.camera2.CaptureRequest.Key:1
//android.hardware.camera2.CaptureResult.Key:1
//android.icu.text.AlphabeticIndex:1
//android.icu.text.AlphabeticIndex.Bucket:1
//android.icu.text.AlphabeticIndex.ImmutableIndex:1
//android.icu.text.AlphabeticIndex.Record:1
//android.icu.util.Freezable:1
//android.icu.util.Output:1
//android.os.AsyncTask:3
//android.os.Parcelable.ClassLoaderCreator:1
//android.os.Parcelable.Creator:1
//android.os.RemoteCallbackList:1
//android.service.carrier.CarrierMessagingService.ResultCallback:1
//android.text.style.TtsSpan.Builder:1
//android.text.style.TtsSpan.SemioticClassBuilder:1
//android.util.ArrayMap:2
//android.util.ArraySet:1
//android.util.FloatProperty:1
//android.util.IntProperty:1
//android.util.LongSparseArray:1
//android.util.LruCache:2
//android.util.Pair:2
//android.util.Property:2
//android.util.Range:1
//android.util.SparseArray:1
//android.webkit.ValueCallback:1
//android.widget.AdapterView:1
//android.widget.ArrayAdapter:1
//java.lang.Class:1
//java.lang.Comparable:1
//java.lang.Enum:1
//java.lang.InheritableThreadLocal:1
//java.lang.Iterable:1
//java.lang.ThreadLocal:1
//java.lang.ref.PhantomReference:1
//java.lang.ref.Reference:1
//java.lang.ref.ReferenceQueue:1
//java.lang.ref.SoftReference:1
//java.lang.ref.WeakReference:1
//java.lang.reflect.Constructor:1
//java.lang.reflect.TypeVariable:1
//java.net.SocketOption:1
//java.nio.channels.CompletionHandler:2
//java.nio.file.DirectoryStream:1
//java.nio.file.DirectoryStream.Filter:1
//java.nio.file.FileVisitor:1
//java.nio.file.SecureDirectoryStream:1
//java.nio.file.SimpleFileVisitor:1
//java.nio.file.WatchEvent:1
//java.nio.file.WatchEvent.Kind:1
//java.nio.file.attribute.FileAttribute:1
//java.security.PrivilegedAction:1
//java.security.PrivilegedExceptionAction:1
//java.time.chrono.ChronoLocalDateTime:1
//java.time.chrono.ChronoZonedDateTime:1
//java.time.temporal.TemporalQuery:1
//java.util.AbstractCollection:1
//java.util.AbstractList:1
//java.util.AbstractMap:2
//java.util.AbstractMap.SimpleEntry:2
//java.util.AbstractMap.SimpleImmutableEntry:2
//java.util.AbstractQueue:1
//java.util.AbstractSequentialList:1
//java.util.AbstractSet:1
//java.util.ArrayDeque:1
//java.util.ArrayList:1
//java.util.Collection:1
//java.util.Comparator:1
//java.util.Deque:1
//java.util.Dictionary:2
//java.util.EnumMap:2
//java.util.EnumSet:1
//java.util.Enumeration:1
//java.util.EventListenerProxy:1
//java.util.HashMap:2
//java.util.HashSet:1
//java.util.Hashtable:2
//java.util.IdentityHashMap:2
//java.util.Iterator:1
//java.util.LinkedHashMap:2
//java.util.LinkedHashSet:1
//java.util.LinkedList:1
//java.util.List:1
//java.util.ListIterator:1
//java.util.Map:2
//java.util.Map.Entry:2
//java.util.NavigableMap:2
//java.util.NavigableSet:1
//java.util.Optional:1
//java.util.PrimitiveIterator:2
//java.util.PriorityQueue:1
//java.util.Queue:1
//java.util.ServiceLoader:1
//java.util.Set:1
//java.util.SortedMap:2
//java.util.SortedSet:1
//java.util.Spliterator:1
//java.util.Spliterator.OfPrimitive:3
//java.util.Spliterators.AbstractSpliterator:1
//java.util.Stack:1
//java.util.TreeMap:2
//java.util.TreeSet:1
//java.util.Vector:1
//java.util.WeakHashMap:2
//java.util.concurrent.ArrayBlockingQueue:1
//java.util.concurrent.BlockingDeque:1
//java.util.concurrent.BlockingQueue:1
//java.util.concurrent.Callable:1
//java.util.concurrent.CompletableFuture:1
//java.util.concurrent.CompletionService:1
//java.util.concurrent.CompletionStage:1
//java.util.concurrent.ConcurrentHashMap:2
//java.util.concurrent.ConcurrentHashMap.KeySetView:2
//java.util.concurrent.ConcurrentLinkedDeque:1
//java.util.concurrent.ConcurrentLinkedQueue:1
//java.util.concurrent.ConcurrentMap:2
//java.util.concurrent.ConcurrentNavigableMap:2
//java.util.concurrent.ConcurrentSkipListMap:2
//java.util.concurrent.ConcurrentSkipListSet:1
//java.util.concurrent.CopyOnWriteArrayList:1
//java.util.concurrent.CopyOnWriteArraySet:1
//java.util.concurrent.CountedCompleter:1
//java.util.concurrent.DelayQueue:1
//java.util.concurrent.Exchanger:1
//java.util.concurrent.ExecutorCompletionService:1
//java.util.concurrent.ForkJoinTask:1
//java.util.concurrent.Future:1
//java.util.concurrent.FutureTask:1
//java.util.concurrent.LinkedBlockingDeque:1
//java.util.concurrent.LinkedBlockingQueue:1
//java.util.concurrent.LinkedTransferQueue:1
//java.util.concurrent.PriorityBlockingQueue:1
//java.util.concurrent.RecursiveTask:1
//java.util.concurrent.RunnableFuture:1
//java.util.concurrent.RunnableScheduledFuture:1
//java.util.concurrent.ScheduledFuture:1
//java.util.concurrent.SynchronousQueue:1
//java.util.concurrent.TransferQueue:1
//java.util.concurrent.atomic.AtomicIntegerFieldUpdater:1
//java.util.concurrent.atomic.AtomicLongFieldUpdater:1
//java.util.concurrent.atomic.AtomicMarkableReference:1
//java.util.concurrent.atomic.AtomicReference:1
//java.util.concurrent.atomic.AtomicReferenceArray:1
//java.util.concurrent.atomic.AtomicReferenceFieldUpdater:2
//java.util.concurrent.atomic.AtomicStampedReference:1
//java.util.stream.BaseStream:2
//java.util.stream.Collector:3
//java.util.stream.Stream:1
//java.util.stream.Stream.Builder:1

